From e1df0f6f7c0369574184a94acf45285b09e7b623 Mon Sep 17 00:00:00 2001 From: zeruth Date: Wed, 24 Feb 2021 08:08:39 -0500 Subject: [PATCH] chore: rev 194 --- buildSrc/src/main/kotlin/Dependencies.kt | 2 +- .../src/main/java/AbstractArchive.java | 1462 +- .../main/java/AbstractByteArrayCopier.java | 33 +- .../src/main/java/AbstractFont.java | 2123 ++- .../src/main/java/AbstractRasterProvider.java | 81 +- .../src/main/java/AbstractSocket.java | 150 +- .../src/main/java/AbstractSound.java | 11 +- .../src/main/java/AbstractUserComparator.java | 100 +- .../src/main/java/AbstractWorldMapData.java | 768 +- .../src/main/java/AbstractWorldMapIcon.java | 2125 +-- .../src/main/java/AccessFile.java | 228 +- runescape-client/src/main/java/Actor.java | 1131 +- runescape-client/src/main/java/Animation.java | 218 +- .../main/java/ApproximateRouteStrategy.java | 743 +- runescape-client/src/main/java/Archive.java | 787 +- .../src/main/java/ArchiveDisk.java | 603 +- .../src/main/java/ArchiveDiskAction.java | 152 +- .../main/java/ArchiveDiskActionHandler.java | 169 +- .../src/main/java/ArchiveLoader.java | 871 +- .../src/main/java/AttackOption.java | 500 +- .../src/main/java/AudioFilter.java | 253 +- .../src/main/java/BZip2Decompressor.java | 1262 +- .../src/main/java/BZip2State.java | 340 +- .../src/main/java/BoundaryObject.java | 220 +- runescape-client/src/main/java/Bounds.java | 248 +- runescape-client/src/main/java/Buddy.java | 98 +- .../src/main/java/BuddyRankComparator.java | 174 +- runescape-client/src/main/java/Buffer.java | 2044 ++- .../src/main/java/BufferedFile.java | 661 +- .../src/main/java/BufferedNetSocket.java | 175 +- .../src/main/java/BufferedSink.java | 351 +- .../src/main/java/BufferedSource.java | 506 +- .../src/main/java/ByteArrayNode.java | 14 +- .../src/main/java/ByteArrayPool.java | 164 +- runescape-client/src/main/java/Calendar.java | 71 +- runescape-client/src/main/java/Canvas.java | 619 +- .../src/main/java/ChatChannel.java | 367 +- runescape-client/src/main/java/ClanChat.java | 424 +- runescape-client/src/main/java/ClanMate.java | 154 +- runescape-client/src/main/java/Client.java | 11908 ++++++++-------- .../src/main/java/ClientPacket.java | 1214 +- .../src/main/java/ClientPreferences.java | 408 +- runescape-client/src/main/java/Clock.java | 78 +- .../src/main/java/CollisionMap.java | 1011 +- runescape-client/src/main/java/Coord.java | 235 +- runescape-client/src/main/java/Decimator.java | 326 +- .../src/main/java/DefaultsGroup.java | 85 +- .../src/main/java/DemotingHashTable.java | 265 +- .../java/DesktopPlatformInfoProvider.java | 366 +- .../src/main/java/DevicePcmPlayer.java | 199 +- .../main/java/DevicePcmPlayerProvider.java | 116 +- .../src/main/java/DirectByteArrayCopier.java | 224 +- .../src/main/java/DirectWrapper.java | 36 +- runescape-client/src/main/java/DualNode.java | 50 +- .../src/main/java/DualNodeDeque.java | 97 +- .../src/main/java/DynamicObject.java | 347 +- .../src/main/java/EnumComposition.java | 240 +- .../src/main/java/Enumerated.java | 16 +- .../main/java/EvictingDualNodeHashTable.java | 169 +- .../src/main/java/FaceNormal.java | 162 +- .../src/main/java/FileSystem.java | 88 +- .../src/main/java/FloorDecoration.java | 238 +- .../src/main/java/FloorOverlayDefinition.java | 380 +- .../main/java/FloorUnderlayDefinition.java | 351 +- runescape-client/src/main/java/Font.java | 162 +- runescape-client/src/main/java/FontName.java | 826 +- runescape-client/src/main/java/Fonts.java | 129 +- runescape-client/src/main/java/Frames.java | 207 +- runescape-client/src/main/java/Friend.java | 97 +- .../src/main/java/FriendLoginUpdate.java | 70 +- .../src/main/java/FriendSystem.java | 563 +- .../src/main/java/FriendsList.java | 363 +- .../src/main/java/GZipDecompressor.java | 80 +- runescape-client/src/main/java/GameBuild.java | 255 +- .../src/main/java/GameEngine.java | 2752 ++-- .../src/main/java/GameObject.java | 350 +- .../src/main/java/GrandExchangeEvent.java | 227 +- .../src/main/java/GrandExchangeEvents.java | 278 +- .../src/main/java/GrandExchangeOffer.java | 489 +- .../java/GrandExchangeOfferAgeComparator.java | 249 +- .../GrandExchangeOfferNameComparator.java | 321 +- .../GrandExchangeOfferOwnWorldComparator.java | 208 +- ...dExchangeOfferTotalQuantityComparator.java | 142 +- ...GrandExchangeOfferUnitPriceComparator.java | 234 +- .../GrandExchangeOfferWorldComparator.java | 442 +- .../src/main/java/GraphicsDefaults.java | 198 +- .../src/main/java/GraphicsObject.java | 333 +- runescape-client/src/main/java/HealthBar.java | 369 +- .../src/main/java/HealthBarDefinition.java | 618 +- .../src/main/java/HealthBarUpdate.java | 215 +- .../src/main/java/HitSplatDefinition.java | 798 +- .../src/main/java/HorizontalAlignment.java | 461 +- runescape-client/src/main/java/Huffman.java | 576 +- .../src/main/java/IgnoreList.java | 191 +- runescape-client/src/main/java/Ignored.java | 59 +- .../src/main/java/IndexedSprite.java | 462 +- .../src/main/java/Instrument.java | 733 +- .../src/main/java/IntHashTable.java | 82 +- .../src/main/java/IntegerNode.java | 14 +- .../src/main/java/InterfaceParent.java | 110 +- .../src/main/java/Interpreter.java | 217 +- .../src/main/java/InvDefinition.java | 333 +- .../src/main/java/IsaacCipher.java | 448 +- .../src/main/java/ItemComposition.java | 1673 ++- .../src/main/java/ItemContainer.java | 348 +- runescape-client/src/main/java/ItemLayer.java | 210 +- .../src/main/java/IterableDualNodeQueue.java | 223 +- .../java/IterableDualNodeQueueIterator.java | 95 +- .../src/main/java/IterableNodeDeque.java | 377 +- .../IterableNodeDequeDescendingIterator.java | 123 +- .../src/main/java/IterableNodeHashTable.java | 235 +- .../java/IterableNodeHashTableIterator.java | 151 +- .../src/main/java/JagexCache.java | 270 +- .../src/main/java/KeyHandler.java | 443 +- .../src/main/java/KitDefinition.java | 449 +- runescape-client/src/main/java/Language.java | 405 +- runescape-client/src/main/java/Link.java | 44 +- runescape-client/src/main/java/LinkDeque.java | 123 +- runescape-client/src/main/java/Login.java | 375 +- .../src/main/java/LoginPacket.java | 764 +- .../src/main/java/LoginScreenAnimation.java | 1052 +- runescape-client/src/main/java/LoginType.java | 150 +- .../src/main/java/MenuAction.java | 142 +- runescape-client/src/main/java/Message.java | 316 +- runescape-client/src/main/java/Messages.java | 146 +- .../src/main/java/MidiFileReader.java | 431 +- .../src/main/java/MidiPcmStream.java | 2168 +-- .../src/main/java/MilliClock.java | 815 +- runescape-client/src/main/java/ModeWhere.java | 458 +- runescape-client/src/main/java/Model.java | 3442 +++-- runescape-client/src/main/java/ModelData.java | 3454 +++-- .../src/main/java/ModelData0.java | 128 +- .../src/main/java/MouseHandler.java | 479 +- .../src/main/java/MouseRecorder.java | 248 +- .../src/main/java/MouseWheel.java | 16 +- .../src/main/java/MouseWheelHandler.java | 82 +- .../src/main/java/MusicPatch.java | 1073 +- .../src/main/java/MusicPatchNode.java | 268 +- .../src/main/java/MusicPatchNode2.java | 235 +- .../src/main/java/MusicPatchPcmStream.java | 836 +- .../src/main/java/MusicTrack.java | 774 +- runescape-client/src/main/java/NPC.java | 332 +- .../src/main/java/NPCComposition.java | 1062 +- runescape-client/src/main/java/NanoClock.java | 82 +- runescape-client/src/main/java/NetCache.java | 260 +- .../src/main/java/NetFileRequest.java | 75 +- runescape-client/src/main/java/NetSocket.java | 656 +- runescape-client/src/main/java/Node.java | 62 +- runescape-client/src/main/java/NodeDeque.java | 319 +- .../src/main/java/NodeHashTable.java | 197 +- .../src/main/java/ObjectComposition.java | 1899 ++- .../src/main/java/ObjectNode.java | 14 +- .../src/main/java/ObjectSound.java | 287 +- runescape-client/src/main/java/Occluder.java | 614 +- .../src/main/java/PacketBuffer.java | 266 +- .../src/main/java/PacketBufferNode.java | 121 +- .../src/main/java/PacketWriter.java | 688 +- .../src/main/java/ParamComposition.java | 284 +- runescape-client/src/main/java/PcmPlayer.java | 962 +- runescape-client/src/main/java/PcmStream.java | 106 +- .../src/main/java/PcmStreamMixer.java | 335 +- .../src/main/java/PcmStreamMixerListener.java | 24 +- .../src/main/java/PendingSpawn.java | 731 +- .../src/main/java/PlatformInfo.java | 378 +- .../src/main/java/PlatformInfoProvider.java | 16 +- runescape-client/src/main/java/Player.java | 1952 ++- .../src/main/java/PlayerComposition.java | 844 +- .../src/main/java/PlayerProvider.java | 16 - .../src/main/java/PlayerType.java | 237 +- runescape-client/src/main/java/Players.java | 941 +- .../src/main/java/PrivateChatMode.java | 170 +- .../src/main/java/Projectile.java | 964 +- .../src/main/java/RasterProvider.java | 148 +- .../src/main/java/Rasterizer2D.java | 1653 ++- .../src/main/java/Rasterizer3D.java | 6861 +++++---- .../src/main/java/RawPcmStream.java | 3122 ++-- runescape-client/src/main/java/RawSound.java | 94 +- .../src/main/java/ReflectionCheck.java | 159 +- .../src/main/java/Renderable.java | 100 +- .../src/main/java/RouteStrategy.java | 882 +- .../src/main/java/RunException.java | 43 +- runescape-client/src/main/java/Scene.java | 5157 ++++--- .../src/main/java/SceneTileModel.java | 554 +- .../src/main/java/SceneTilePaint.java | 206 +- runescape-client/src/main/java/Script.java | 298 +- .../src/main/java/ScriptEvent.java | 427 +- .../src/main/java/ScriptFrame.java | 244 +- .../src/main/java/SecureRandomCallable.java | 408 +- .../src/main/java/SecureRandomFuture.java | 637 +- .../src/main/java/SequenceDefinition.java | 1527 +- .../src/main/java/ServerPacket.java | 1109 +- runescape-client/src/main/java/Skeleton.java | 197 +- runescape-client/src/main/java/Skills.java | 323 +- .../src/main/java/SoftWrapper.java | 36 +- .../src/main/java/SoundCache.java | 284 +- .../src/main/java/SoundEffect.java | 215 +- .../src/main/java/SoundEnvelope.java | 185 +- .../src/main/java/SoundSystem.java | 243 +- .../main/java/SpotAnimationDefinition.java | 404 +- .../src/main/java/SpriteMask.java | 473 +- .../src/main/java/SpritePixels.java | 3305 ++--- runescape-client/src/main/java/Strings.java | 325 +- .../src/main/java/StructComposition.java | 210 +- .../src/main/java/StudioGame.java | 265 +- runescape-client/src/main/java/Task.java | 54 +- .../src/main/java/TaskHandler.java | 483 +- runescape-client/src/main/java/Texture.java | 439 +- .../src/main/java/TextureLoader.java | 56 +- .../src/main/java/TextureProvider.java | 460 +- runescape-client/src/main/java/Tile.java | 315 +- runescape-client/src/main/java/TileItem.java | 360 +- runescape-client/src/main/java/Tiles.java | 431 +- runescape-client/src/main/java/Timer.java | 305 +- runescape-client/src/main/java/TriBool.java | 73 +- .../src/main/java/UrlRequest.java | 72 +- .../src/main/java/UrlRequester.java | 438 +- runescape-client/src/main/java/User.java | 255 +- .../src/main/java/UserComparator1.java | 44 +- .../src/main/java/UserComparator10.java | 198 +- .../src/main/java/UserComparator2.java | 53 +- .../src/main/java/UserComparator3.java | 181 +- .../src/main/java/UserComparator4.java | 408 +- .../src/main/java/UserComparator5.java | 823 +- .../src/main/java/UserComparator6.java | 106 +- .../src/main/java/UserComparator7.java | 110 +- .../src/main/java/UserComparator8.java | 150 +- .../src/main/java/UserComparator9.java | 161 +- runescape-client/src/main/java/UserList.java | 596 +- runescape-client/src/main/java/Username.java | 468 +- runescape-client/src/main/java/Usernamed.java | 16 +- .../src/main/java/VarbitComposition.java | 201 +- runescape-client/src/main/java/VarcInt.java | 237 +- runescape-client/src/main/java/Varcs.java | 741 +- .../src/main/java/VarpDefinition.java | 139 +- runescape-client/src/main/java/Varps.java | 157 +- .../src/main/java/VertexNormal.java | 182 +- .../src/main/java/VerticalAlignment.java | 90 +- .../src/main/java/ViewportMouse.java | 187 +- .../src/main/java/VorbisCodebook.java | 409 +- .../src/main/java/VorbisFloor.java | 543 +- .../src/main/java/VorbisMapping.java | 62 +- .../src/main/java/VorbisResidue.java | 204 +- .../src/main/java/VorbisSample.java | 1280 +- .../src/main/java/WallDecoration.java | 221 +- runescape-client/src/main/java/Widget.java | 3104 ++-- .../src/main/java/WidgetFillMode.java | 80 +- runescape-client/src/main/java/World.java | 519 +- runescape-client/src/main/java/WorldMap.java | 2838 ++-- .../src/main/java/WorldMapArchiveLoader.java | 176 +- .../src/main/java/WorldMapArea.java | 703 +- .../src/main/java/WorldMapAreaData.java | 192 +- .../src/main/java/WorldMapCacheName.java | 213 +- .../src/main/java/WorldMapData_0.java | 724 +- .../src/main/java/WorldMapData_1.java | 640 +- .../src/main/java/WorldMapDecoration.java | 401 +- .../src/main/java/WorldMapDecorationType.java | 315 +- .../src/main/java/WorldMapElement.java | 727 +- .../src/main/java/WorldMapEvent.java | 190 +- .../src/main/java/WorldMapID.java | 797 +- .../src/main/java/WorldMapIcon_0.java | 290 +- .../src/main/java/WorldMapIcon_1.java | 1271 +- .../src/main/java/WorldMapLabel.java | 286 +- .../src/main/java/WorldMapLabelSize.java | 289 +- .../src/main/java/WorldMapManager.java | 1913 ++- .../src/main/java/WorldMapRectangle.java | 346 +- .../src/main/java/WorldMapRegion.java | 2301 ++- .../src/main/java/WorldMapScaleHandler.java | 1310 +- .../src/main/java/WorldMapSection.java | 86 +- .../src/main/java/WorldMapSection0.java | 760 +- .../src/main/java/WorldMapSection1.java | 487 +- .../src/main/java/WorldMapSection2.java | 443 +- .../src/main/java/WorldMapSectionType.java | 245 +- .../src/main/java/WorldMapSprite.java | 218 +- runescape-client/src/main/java/Wrapper.java | 26 +- runescape-client/src/main/java/class0.java | 26 +- runescape-client/src/main/java/class1.java | 268 +- runescape-client/src/main/java/class10.java | 52 +- runescape-client/src/main/java/class105.java | 166 +- runescape-client/src/main/java/class108.java | 14 + runescape-client/src/main/java/class11.java | 2 +- runescape-client/src/main/java/class12.java | 12 +- runescape-client/src/main/java/class13.java | 457 +- runescape-client/src/main/java/class155.java | 6 +- runescape-client/src/main/java/class169.java | 740 +- runescape-client/src/main/java/class170.java | 2 +- runescape-client/src/main/java/class171.java | 297 +- runescape-client/src/main/java/class182.java | 334 +- runescape-client/src/main/java/class190.java | 2 +- runescape-client/src/main/java/class194.java | 180 +- runescape-client/src/main/java/class195.java | 443 +- runescape-client/src/main/java/class197.java | 102 +- runescape-client/src/main/java/class198.java | 40 +- runescape-client/src/main/java/class2.java | 159 +- runescape-client/src/main/java/class200.java | 126 +- runescape-client/src/main/java/class204.java | 275 +- runescape-client/src/main/java/class206.java | 203 +- runescape-client/src/main/java/class217.java | 45 +- runescape-client/src/main/java/class219.java | 291 +- runescape-client/src/main/java/class22.java | 97 +- runescape-client/src/main/java/class224.java | 108 +- runescape-client/src/main/java/class225.java | 76 +- runescape-client/src/main/java/class227.java | 22 - runescape-client/src/main/java/class228.java | 146 + runescape-client/src/main/java/class23.java | 155 +- runescape-client/src/main/java/class231.java | 289 +- runescape-client/src/main/java/class232.java | 181 +- runescape-client/src/main/java/class234.java | 98 +- runescape-client/src/main/java/class235.java | 16 + runescape-client/src/main/java/class236.java | 83 +- runescape-client/src/main/java/class237.java | 29 +- runescape-client/src/main/java/class238.java | 125 +- runescape-client/src/main/java/class248.java | 334 +- runescape-client/src/main/java/class25.java | 243 +- runescape-client/src/main/java/class258.java | 322 +- runescape-client/src/main/java/class277.java | 59 +- runescape-client/src/main/java/class278.java | 13 - runescape-client/src/main/java/class279.java | 60 - runescape-client/src/main/java/class280.java | 16 - runescape-client/src/main/java/class281.java | 76 + runescape-client/src/main/java/class297.java | 14 +- runescape-client/src/main/java/class298.java | 41 +- runescape-client/src/main/java/class299.java | 32 +- runescape-client/src/main/java/class3.java | 474 +- runescape-client/src/main/java/class300.java | 142 +- runescape-client/src/main/java/class301.java | 13 - runescape-client/src/main/java/class304.java | 122 +- runescape-client/src/main/java/class307.java | 82 +- runescape-client/src/main/java/class308.java | 139 +- runescape-client/src/main/java/class311.java | 113 +- runescape-client/src/main/java/class323.java | 108 +- runescape-client/src/main/java/class330.java | 13 - runescape-client/src/main/java/class336.java | 53 +- runescape-client/src/main/java/class347.java | 26 +- runescape-client/src/main/java/class349.java | 234 +- runescape-client/src/main/java/class350.java | 13 + runescape-client/src/main/java/class39.java | 242 +- runescape-client/src/main/java/class4.java | 228 +- runescape-client/src/main/java/class41.java | 885 +- runescape-client/src/main/java/class5.java | 48 +- runescape-client/src/main/java/class51.java | 601 +- runescape-client/src/main/java/class52.java | 492 +- runescape-client/src/main/java/class56.java | 27 +- runescape-client/src/main/java/class58.java | 424 +- runescape-client/src/main/java/class6.java | 121 +- runescape-client/src/main/java/class60.java | 94 +- runescape-client/src/main/java/class69.java | 174 +- runescape-client/src/main/java/class7.java | 766 +- runescape-client/src/main/java/class8.java | 159 +- runescape-client/src/main/java/class89.java | 161 +- runescape-client/src/main/java/class9.java | 883 +- runescape-client/src/main/java/class90.java | 273 +- runescape-client/src/main/java/class92.java | 59 +- 352 files changed, 83792 insertions(+), 85533 deletions(-) delete mode 100644 runescape-client/src/main/java/PlayerProvider.java create mode 100644 runescape-client/src/main/java/class108.java delete mode 100644 runescape-client/src/main/java/class227.java create mode 100644 runescape-client/src/main/java/class228.java create mode 100644 runescape-client/src/main/java/class235.java delete mode 100644 runescape-client/src/main/java/class278.java delete mode 100644 runescape-client/src/main/java/class279.java delete mode 100644 runescape-client/src/main/java/class280.java create mode 100644 runescape-client/src/main/java/class281.java delete mode 100644 runescape-client/src/main/java/class301.java delete mode 100644 runescape-client/src/main/java/class330.java create mode 100644 runescape-client/src/main/java/class350.java diff --git a/buildSrc/src/main/kotlin/Dependencies.kt b/buildSrc/src/main/kotlin/Dependencies.kt index 551c1f1bb7..c537353a86 100644 --- a/buildSrc/src/main/kotlin/Dependencies.kt +++ b/buildSrc/src/main/kotlin/Dependencies.kt @@ -29,6 +29,6 @@ object ProjectVersions { const val openosrsVersion = "4.0.0" - const val rsversion = 193 + const val rsversion = 194 const val cacheversion = 165 } diff --git a/runescape-client/src/main/java/AbstractArchive.java b/runescape-client/src/main/java/AbstractArchive.java index c3f960b536..b2e58d305e 100644 --- a/runescape-client/src/main/java/AbstractArchive.java +++ b/runescape-client/src/main/java/AbstractArchive.java @@ -4,727 +4,747 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ib") +@ObfuscatedName("ig") @Implements("AbstractArchive") public abstract class AbstractArchive { - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lms;" - ) - @Export("gzipDecompressor") - static GZipDecompressor gzipDecompressor; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -1889999803 - ) - static int field3171; - @ObfuscatedName("hz") - @ObfuscatedGetter( - intValue = -1569410223 - ) - @Export("cameraYaw") - static int cameraYaw; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -561639929 - ) - @Export("groupCount") - int groupCount; - @ObfuscatedName("x") - @Export("groupIds") - int[] groupIds; - @ObfuscatedName("w") - @Export("groupNameHashes") - int[] groupNameHashes; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lmb;" - ) - @Export("groupNameHashTable") - IntHashTable groupNameHashTable; - @ObfuscatedName("j") - @Export("groupCrcs") - int[] groupCrcs; - @ObfuscatedName("n") - @Export("groupVersions") - int[] groupVersions; - @ObfuscatedName("p") - @Export("fileCounts") - int[] fileCounts; - @ObfuscatedName("l") - @Export("fileIds") - int[][] fileIds; - @ObfuscatedName("z") - @Export("fileNameHashes") - int[][] fileNameHashes; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "[Lmb;" - ) - @Export("fileNameHashTables") - IntHashTable[] fileNameHashTables; - @ObfuscatedName("e") - @Export("groups") - Object[] groups; - @ObfuscatedName("m") - @Export("files") - Object[][] files; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 2057340569 - ) - @Export("hash") - public int hash; - @ObfuscatedName("f") - @Export("releaseGroups") - boolean releaseGroups; - @ObfuscatedName("a") - @Export("shallowFiles") - boolean shallowFiles; - - static { - gzipDecompressor = new GZipDecompressor(); // L: 23 - field3171 = 0; // L: 27 - } - - AbstractArchive(boolean var1, boolean var2) { - this.releaseGroups = var1; // L: 32 - this.shallowFiles = var2; // L: 33 - } // L: 34 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "907674687" - ) - @Export("decodeIndex") - void decodeIndex(byte[] var1) { - this.hash = DynamicObject.method2305(var1, var1.length); // L: 37 - Buffer var2 = new Buffer(PrivateChatMode.decompressBytes(var1)); // L: 38 - int var3 = var2.readUnsignedByte(); // L: 39 - if (var3 >= 5 && var3 <= 7) { // L: 40 - if (var3 >= 6) { // L: 41 - var2.readInt(); // L: 42 - } - - int var4 = var2.readUnsignedByte(); // L: 45 - if (var3 >= 7) { // L: 46 - this.groupCount = var2.method5558(); - } else { - this.groupCount = var2.readUnsignedShort(); // L: 47 - } - - int var5 = 0; // L: 48 - int var6 = -1; // L: 49 - this.groupIds = new int[this.groupCount]; // L: 50 - int var7; - if (var3 >= 7) { // L: 51 - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 52 - this.groupIds[var7] = var5 += var2.method5558(); // L: 53 - if (this.groupIds[var7] > var6) { // L: 54 - var6 = this.groupIds[var7]; - } - } - } else { - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 58 - this.groupIds[var7] = var5 += var2.readUnsignedShort(); // L: 59 - if (this.groupIds[var7] > var6) { // L: 60 - var6 = this.groupIds[var7]; - } - } - } - - this.groupCrcs = new int[var6 + 1]; // L: 63 - this.groupVersions = new int[var6 + 1]; // L: 64 - this.fileCounts = new int[var6 + 1]; // L: 65 - this.fileIds = new int[var6 + 1][]; // L: 66 - this.groups = new Object[var6 + 1]; // L: 67 - this.files = new Object[var6 + 1][]; // L: 68 - if (var4 != 0) { // L: 69 - this.groupNameHashes = new int[var6 + 1]; // L: 70 - - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 71 - this.groupNameHashes[this.groupIds[var7]] = var2.readInt(); - } - - this.groupNameHashTable = new IntHashTable(this.groupNameHashes); // L: 72 - } - - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 74 - this.groupCrcs[this.groupIds[var7]] = var2.readInt(); - } - - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 75 - this.groupVersions[this.groupIds[var7]] = var2.readInt(); - } - - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 76 - this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort(); - } - - int var8; - int var9; - int var10; - int var11; - int var12; - if (var3 >= 7) { // L: 77 - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 78 - var8 = this.groupIds[var7]; // L: 79 - var9 = this.fileCounts[var8]; // L: 80 - var5 = 0; // L: 81 - var10 = -1; // L: 82 - this.fileIds[var8] = new int[var9]; // L: 83 - - for (var11 = 0; var11 < var9; ++var11) { // L: 84 - var12 = this.fileIds[var8][var11] = var5 += var2.method5558(); // L: 85 - if (var12 > var10) { // L: 86 - var10 = var12; - } - } - - this.files[var8] = new Object[var10 + 1]; // L: 88 - } - } else { - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 92 - var8 = this.groupIds[var7]; // L: 93 - var9 = this.fileCounts[var8]; // L: 94 - var5 = 0; // L: 95 - var10 = -1; // L: 96 - this.fileIds[var8] = new int[var9]; // L: 97 - - for (var11 = 0; var11 < var9; ++var11) { // L: 98 - var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort(); // L: 99 - if (var12 > var10) { // L: 100 - var10 = var12; - } - } - - this.files[var8] = new Object[var10 + 1]; // L: 102 - } - } - - if (var4 != 0) { // L: 105 - this.fileNameHashes = new int[var6 + 1][]; // L: 106 - this.fileNameHashTables = new IntHashTable[var6 + 1]; // L: 107 - - for (var7 = 0; var7 < this.groupCount; ++var7) { // L: 108 - var8 = this.groupIds[var7]; // L: 109 - var9 = this.fileCounts[var8]; // L: 110 - this.fileNameHashes[var8] = new int[this.files[var8].length]; // L: 111 - - for (var10 = 0; var10 < var9; ++var10) { // L: 112 - this.fileNameHashes[var8][this.fileIds[var8][var10]] = var2.readInt(); - } - - this.fileNameHashTables[var8] = new IntHashTable(this.fileNameHashes[var8]); // L: 113 - } - } - - } else { - throw new RuntimeException(""); - } - } // L: 116 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1807571765" - ) - @Export("loadRegionFromGroup") - void loadRegionFromGroup(int var1) { - } // L: 118 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIS)[B", - garbageValue = "-21068" - ) - @Export("takeFile") - public byte[] takeFile(int var1, int var2) { - return this.takeFileEncrypted(var1, var2, (int[])null); // L: 121 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II[IB)[B", - garbageValue = "-28" - ) - @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) { // L: 125 - if (this.files[var1][var2] == null) { // L: 126 - boolean var4 = this.buildFiles(var1, var3); // L: 127 - if (!var4) { // L: 128 - this.loadGroup(var1); // L: 129 - var4 = this.buildFiles(var1, var3); // L: 130 - if (!var4) { // L: 131 - return null; - } - } - } - - byte[] var5 = GrandExchangeOffer.method188(this.files[var1][var2], false); // L: 134 - if (this.shallowFiles) { - this.files[var1][var2] = null; // L: 135 - } - - return var5; // L: 136 - } else { - return null; - } - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "1736464380" - ) - @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) { // L: 140 - if (this.files[var1][var2] != null) { // L: 141 - return true; - } else if (this.groups[var1] != null) { // L: 142 - return true; - } else { - this.loadGroup(var1); // L: 143 - return this.groups[var1] != null; // L: 144 - } - } else { - return false; // L: 145 - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IS)Z", - garbageValue = "256" - ) - public boolean method4196(int var1) { - if (this.files.length == 1) { // L: 149 - return this.tryLoadFile(0, var1); - } else if (this.files[var1].length == 1) { - return this.tryLoadFile(var1, 0); // L: 150 - } else { - throw new RuntimeException(); // L: 151 - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "1210314032" - ) - @Export("tryLoadGroup") - public boolean tryLoadGroup(int var1) { - if (this.groups[var1] != null) { // L: 155 - return true; - } else { - this.loadGroup(var1); // L: 156 - return this.groups[var1] != null; // L: 157 - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1853187618" - ) - @Export("isFullyLoaded") - public boolean isFullyLoaded() { - boolean var1 = true; // L: 162 - - for (int var2 = 0; var2 < this.groupIds.length; ++var2) { // L: 163 - int var3 = this.groupIds[var2]; // L: 164 - if (this.groups[var3] == null) { // L: 165 - this.loadGroup(var3); // L: 166 - if (this.groups[var3] == null) { // L: 167 - var1 = false; - } - } - } - - return var1; // L: 170 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "2120197275" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - return this.groups[var1] != null ? 100 : 0; // L: 174 175 - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(II)[B", - garbageValue = "601238415" - ) - @Export("takeFileFlat") - public byte[] takeFileFlat(int var1) { - if (this.files.length == 1) { // L: 179 - return this.takeFile(0, var1); - } else if (this.files[var1].length == 1) { - return this.takeFile(var1, 0); // L: 180 - } else { - throw new RuntimeException(); // L: 181 - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(III)[B", - garbageValue = "2110561538" - ) - @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) { // L: 185 - if (this.files[var1][var2] == null) { // L: 186 - boolean var3 = this.buildFiles(var1, (int[])null); // L: 187 - if (!var3) { // L: 188 - this.loadGroup(var1); // L: 189 - var3 = this.buildFiles(var1, (int[])null); // L: 190 - if (!var3) { // L: 191 - return null; - } - } - } - - byte[] var4 = GrandExchangeOffer.method188(this.files[var1][var2], false); // L: 194 - return var4; // L: 195 - } else { - return null; - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IB)[B", - garbageValue = "66" - ) - @Export("getFileFlat") - public byte[] getFileFlat(int var1) { - if (this.files.length == 1) { // L: 199 - return this.getFile(0, var1); - } else if (this.files[var1].length == 1) { - return this.getFile(var1, 0); // L: 200 - } else { - throw new RuntimeException(); // L: 201 - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "786262695" - ) - @Export("loadGroup") - void loadGroup(int var1) { - } // L: 204 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(II)[I", - garbageValue = "-1130356360" - ) - @Export("getGroupFileIds") - public int[] getGroupFileIds(int var1) { - return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; // L: 207 208 210 - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "64" - ) - @Export("getGroupFileCount") - public int getGroupFileCount(int var1) { - return this.files[var1].length; // L: 214 - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1884163104" - ) - @Export("getGroupCount") - public int getGroupCount() { - return this.files.length; // L: 218 - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "3" - ) - @Export("clearGroups") - public void clearGroups() { - for (int var1 = 0; var1 < this.groups.length; ++var1) { // L: 222 - this.groups[var1] = null; - } - - } // L: 223 - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1386061158" - ) - @Export("clearFilesGroup") - public void clearFilesGroup(int var1) { - for (int var2 = 0; var2 < this.files[var1].length; ++var2) { // L: 226 - this.files[var1][var2] = null; - } - - } // L: 227 - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "276266857" - ) - @Export("clearFiles") - public void clearFiles() { - for (int var1 = 0; var1 < this.files.length; ++var1) { // L: 230 - if (this.files[var1] != null) { // L: 231 - for (int var2 = 0; var2 < this.files[var1].length; ++var2) { // L: 232 - this.files[var1][var2] = null; - } - } - } - - } // L: 235 - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(I[IB)Z", - garbageValue = "1" - ) - @Export("buildFiles") - boolean buildFiles(int var1, int[] var2) { - if (this.groups[var1] == null) { // L: 238 - return false; - } else { - int var3 = this.fileCounts[var1]; // L: 239 - int[] var4 = this.fileIds[var1]; // L: 240 - Object[] var5 = this.files[var1]; // L: 241 - boolean var6 = true; // L: 242 - - for (int var7 = 0; var7 < var3; ++var7) { // L: 243 - if (var5[var4[var7]] == null) { // L: 244 - var6 = false; // L: 245 - break; - } - } - - if (var6) { // L: 249 - return true; - } else { - byte[] var21; - if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) { // L: 251 - var21 = GrandExchangeOffer.method188(this.groups[var1], false); // L: 256 - } else { - var21 = GrandExchangeOffer.method188(this.groups[var1], true); // L: 252 - Buffer var8 = new Buffer(var21); // L: 253 - var8.xteaDecrypt(var2, 5, var8.array.length); // L: 254 - } - - byte[] var25 = PrivateChatMode.decompressBytes(var21); // L: 259 - if (this.releaseGroups) { // L: 264 - this.groups[var1] = null; - } - - int var10; - if (var3 > 1) { // L: 265 - int var22 = var25.length; // L: 266 - --var22; // L: 267 - var10 = var25[var22] & 255; - var22 -= var10 * var3 * 4; // L: 268 - Buffer var11 = new Buffer(var25); // L: 269 - int[] var12 = new int[var3]; // L: 270 - var11.offset = var22; // L: 271 - - int var14; - int var15; - for (int var13 = 0; var13 < var10; ++var13) { // L: 272 - var14 = 0; // L: 273 - - for (var15 = 0; var15 < var3; ++var15) { // L: 274 - var14 += var11.readInt(); // L: 275 - var12[var15] += var14; // L: 276 - } - } - - byte[][] var23 = new byte[var3][]; // L: 279 - - for (var14 = 0; var14 < var3; ++var14) { // L: 280 - var23[var14] = new byte[var12[var14]]; // L: 281 - var12[var14] = 0; // L: 282 - } - - var11.offset = var22; // L: 284 - var14 = 0; // L: 285 - - int var17; - for (var15 = 0; var15 < var10; ++var15) { // L: 286 - int var24 = 0; // L: 287 - - for (var17 = 0; var17 < var3; ++var17) { // L: 288 - var24 += var11.readInt(); // L: 289 - System.arraycopy(var25, var14, var23[var17], var12[var17], var24); // L: 290 - var12[var17] += var24; // L: 291 - var14 += var24; // L: 292 - } - } - - for (var15 = 0; var15 < var3; ++var15) { // L: 295 - if (!this.shallowFiles) { // L: 296 - var17 = var4[var15]; // L: 298 - byte[] var19 = var23[var15]; // L: 300 - Object var18; - if (var19 == null) { // L: 302 - var18 = null; // L: 303 - } else if (var19.length > 136) { // L: 306 - DirectByteArrayCopier var20 = new DirectByteArrayCopier(); // L: 308 - var20.set(var19); // L: 309 - var18 = var20; // L: 310 - } else { - var18 = var19; // L: 324 - } - - var5[var17] = var18; // L: 326 - } else { - var5[var4[var15]] = var23[var15]; // L: 328 - } - } - } else if (!this.shallowFiles) { // L: 332 - var10 = var4[0]; // L: 334 - Object var26; - if (var25 == null) { // L: 337 - var26 = null; // L: 338 - } else if (var25.length > 136) { // L: 341 - DirectByteArrayCopier var27 = new DirectByteArrayCopier(); // L: 343 - var27.set(var25); // L: 344 - var26 = var27; // L: 345 - } else { - var26 = var25; // L: 359 - } - - var5[var10] = var26; // L: 361 - } else { - var5[var4[0]] = var25; // L: 363 - } - - return true; // L: 365 - } - } - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)I", - garbageValue = "-2131214347" - ) - @Export("getGroupId") - public int getGroupId(String var1) { - var1 = var1.toLowerCase(); // L: 369 - return this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 370 - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)I", - garbageValue = "1284626629" - ) - @Export("getFileId") - public int getFileId(int var1, String var2) { - var2 = var2.toLowerCase(); // L: 374 - return this.fileNameHashTables[var1].get(JagexCache.hashString(var2)); // L: 375 - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", - garbageValue = "-1088224070" - ) - @Export("isValidFileName") - public boolean isValidFileName(String var1, String var2) { - var1 = var1.toLowerCase(); // L: 379 - var2 = var2.toLowerCase(); // L: 380 - int var3 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 381 - if (var3 < 0) { // L: 382 - return false; - } else { - int var4 = this.fileNameHashTables[var3].get(JagexCache.hashString(var2)); // L: 383 - return var4 >= 0; // L: 384 - } - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;I)[B", - garbageValue = "1559839004" - ) - @Export("takeFileByNames") - public byte[] takeFileByNames(String var1, String var2) { - var1 = var1.toLowerCase(); // L: 389 - var2 = var2.toLowerCase(); // L: 390 - int var3 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 391 - int var4 = this.fileNameHashTables[var3].get(JagexCache.hashString(var2)); // L: 392 - return this.takeFile(var3, var4); // L: 393 - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;B)Z", - garbageValue = "53" - ) - @Export("tryLoadFileByNames") - public boolean tryLoadFileByNames(String var1, String var2) { - var1 = var1.toLowerCase(); // L: 397 - var2 = var2.toLowerCase(); // L: 398 - int var3 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 399 - int var4 = this.fileNameHashTables[var3].get(JagexCache.hashString(var2)); // L: 400 - return this.tryLoadFile(var3, var4); // L: 401 - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)Z", - garbageValue = "113" - ) - @Export("tryLoadGroupByName") - public boolean tryLoadGroupByName(String var1) { - var1 = var1.toLowerCase(); // L: 405 - int var2 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 406 - return this.tryLoadGroup(var2); // L: 407 - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "220365579" - ) - @Export("loadRegionFromName") - public void loadRegionFromName(String var1) { - var1 = var1.toLowerCase(); // L: 411 - int var2 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 412 - if (var2 >= 0) { // L: 413 - this.loadRegionFromGroup(var2); // L: 414 - } - } // L: 415 - - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)I", - garbageValue = "-9837" - ) - @Export("groupLoadPercentByName") - public int groupLoadPercentByName(String var1) { - var1 = var1.toLowerCase(); // L: 418 - int var2 = this.groupNameHashTable.get(JagexCache.hashString(var1)); // L: 419 - return this.groupLoadPercent(var2); // L: 420 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lmg;" + ) + @Export("gzipDecompressor") + static GZipDecompressor gzipDecompressor = new GZipDecompressor(); + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1957180243 + ) + static int field3171 = 0; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -108727695 + ) + @Export("groupCount") + int groupCount; + @ObfuscatedName("d") + @Export("groupIds") + int[] groupIds; + @ObfuscatedName("c") + @Export("groupNameHashes") + int[] groupNameHashes; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lma;" + ) + @Export("groupNameHashTable") + IntHashTable groupNameHashTable; + @ObfuscatedName("h") + @Export("groupCrcs") + int[] groupCrcs; + @ObfuscatedName("z") + @Export("groupVersions") + int[] groupVersions; + @ObfuscatedName("e") + @Export("fileCounts") + int[] fileCounts; + @ObfuscatedName("q") + @Export("fileIds") + int[][] fileIds; + @ObfuscatedName("l") + @Export("fileNameHashes") + int[][] fileNameHashes; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "[Lma;" + ) + @Export("fileNameHashTables") + IntHashTable[] fileNameHashTables; + @ObfuscatedName("b") + @Export("groups") + Object[] groups; + @ObfuscatedName("a") + @Export("files") + Object[][] files; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1729948471 + ) + @Export("hash") + public int hash; + @ObfuscatedName("i") + @Export("releaseGroups") + boolean releaseGroups; + @ObfuscatedName("x") + @Export("shallowFiles") + boolean shallowFiles; + + AbstractArchive(boolean var1, boolean var2) { + this.releaseGroups = var1; + this.shallowFiles = var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BI)V", + garbageValue = "1548060023" + ) + @Export("decodeIndex") + void decodeIndex(byte[] var1) { + this.hash = GrandExchangeOfferOwnWorldComparator.method1380(var1, var1.length); + Buffer var2 = new Buffer(WorldMapDecorationType.decompressBytes(var1)); + int var3 = var2.readUnsignedByte(); + if (var3 >= 5 && var3 <= 7) { + if (var3 >= 6) { + var2.readInt(); + } + + int var4 = var2.readUnsignedByte(); + if (var3 >= 7) { + this.groupCount = var2.method5705(); + } else { + this.groupCount = var2.readUnsignedShort(); + } + + int var5 = 0; + int var6 = -1; + this.groupIds = new int[this.groupCount]; + int var7; + if (var3 >= 7) { + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.method5705(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; + } + } + } else { + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.groupIds[var7] = var5 += var2.readUnsignedShort(); + if (this.groupIds[var7] > var6) { + var6 = this.groupIds[var7]; + } + } + } + + this.groupCrcs = new int[var6 + 1]; + this.groupVersions = new int[var6 + 1]; + this.fileCounts = new int[var6 + 1]; + this.fileIds = new int[var6 + 1][]; + this.groups = new Object[var6 + 1]; + this.files = new Object[var6 + 1][]; + if (var4 != 0) { + this.groupNameHashes = new int[var6 + 1]; + + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.groupNameHashes[this.groupIds[var7]] = var2.readInt(); + } + + this.groupNameHashTable = new IntHashTable(this.groupNameHashes); + } + + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.groupCrcs[this.groupIds[var7]] = var2.readInt(); + } + + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.groupVersions[this.groupIds[var7]] = var2.readInt(); + } + + for(var7 = 0; var7 < this.groupCount; ++var7) { + this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort(); + } + + int var8; + int var9; + int var10; + int var11; + int var12; + if (var3 >= 7) { + for(var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; + + for(var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.method5705(); + if (var12 > var10) { + var10 = var12; + } + } + + this.files[var8] = new Object[var10 + 1]; + } + } else { + for(var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + var5 = 0; + var10 = -1; + this.fileIds[var8] = new int[var9]; + + for(var11 = 0; var11 < var9; ++var11) { + var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort(); + if (var12 > var10) { + var10 = var12; + } + } + + this.files[var8] = new Object[var10 + 1]; + } + } + + if (var4 != 0) { + this.fileNameHashes = new int[var6 + 1][]; + this.fileNameHashTables = new IntHashTable[var6 + 1]; + + for(var7 = 0; var7 < this.groupCount; ++var7) { + var8 = this.groupIds[var7]; + var9 = this.fileCounts[var8]; + this.fileNameHashes[var8] = new int[this.files[var8].length]; + + for(var10 = 0; var10 < var9; ++var10) { + this.fileNameHashes[var8][this.fileIds[var8][var10]] = var2.readInt(); + } + + this.fileNameHashTables[var8] = new IntHashTable(this.fileNameHashes[var8]); + } + } + + } else { + throw new RuntimeException(""); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "31242" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)[B", + garbageValue = "53" + ) + @Export("takeFile") + public byte[] takeFile(int var1, int var2) { + return this.takeFileEncrypted(var1, var2, (int[])null); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II[II)[B", + garbageValue = "-1298768169" + ) + @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 (!var4) { + this.loadGroup(var1); + var4 = this.buildFiles(var1, var3); + if (!var4) { + return null; + } + } + } + + byte[] var5 = ChatChannel.method2405(this.files[var1][var2], false); + if (this.shallowFiles) { + this.files[var1][var2] = null; + } + + return var5; + } else { + return null; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Z", + garbageValue = "-751573419" + ) + @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; + } else if (this.groups[var1] != null) { + return true; + } else { + this.loadGroup(var1); + return this.groups[var1] != null; + } + } else { + return false; + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1147077273" + ) + public boolean method4366(int var1) { + if (this.files.length == 1) { + return this.tryLoadFile(0, var1); + } else if (this.files[var1].length == 1) { + return this.tryLoadFile(var1, 0); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1620003564" + ) + @Export("tryLoadGroup") + public boolean tryLoadGroup(int var1) { + if (this.groups[var1] != null) { + return true; + } else { + this.loadGroup(var1); + return this.groups[var1] != null; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "71" + ) + @Export("isFullyLoaded") + public boolean isFullyLoaded() { + boolean var1 = true; + + for(int var2 = 0; var2 < this.groupIds.length; ++var2) { + int var3 = this.groupIds[var2]; + if (this.groups[var3] == null) { + this.loadGroup(var3); + if (this.groups[var3] == null) { + var1 = false; + } + } + } + + return var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-693356446" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + return this.groups[var1] != null ? 100 : 0; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II)[B", + garbageValue = "1180778193" + ) + @Export("takeFileFlat") + public byte[] takeFileFlat(int var1) { + if (this.files.length == 1) { + return this.takeFile(0, var1); + } else if (this.files[var1].length == 1) { + return this.takeFile(var1, 0); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(III)[B", + garbageValue = "1199791629" + ) + @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 (!var3) { + this.loadGroup(var1); + var3 = this.buildFiles(var1, (int[])null); + if (!var3) { + return null; + } + } + } + + byte[] var4 = ChatChannel.method2405(this.files[var1][var2], false); + return var4; + } else { + return null; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(II)[B", + garbageValue = "-1318442994" + ) + @Export("getFileFlat") + public byte[] getFileFlat(int var1) { + if (this.files.length == 1) { + return this.getFile(0, var1); + } else if (this.files[var1].length == 1) { + return this.getFile(var1, 0); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1209383303" + ) + @Export("loadGroup") + void loadGroup(int var1) { + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(II)[I", + garbageValue = "-325736688" + ) + @Export("getGroupFileIds") + public int[] getGroupFileIds(int var1) { + return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "2092353569" + ) + @Export("getGroupFileCount") + public int getGroupFileCount(int var1) { + return this.files[var1].length; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-379085562" + ) + @Export("getGroupCount") + public int getGroupCount() { + return this.files.length; + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1361507951" + ) + @Export("clearGroups") + public void clearGroups() { + for(int var1 = 0; var1 < this.groups.length; ++var1) { + this.groups[var1] = null; + } + + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1115746573" + ) + @Export("clearFilesGroup") + public void clearFilesGroup(int var1) { + for(int var2 = 0; var2 < this.files[var1].length; ++var2) { + this.files[var1][var2] = null; + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1436245650" + ) + @Export("clearFiles") + public void clearFiles() { + for(int var1 = 0; var1 < this.files.length; ++var1) { + if (this.files[var1] != null) { + for(int var2 = 0; var2 < this.files[var1].length; ++var2) { + this.files[var1][var2] = null; + } + } + } + + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(I[II)Z", + garbageValue = "1632026762" + ) + @Export("buildFiles") + boolean buildFiles(int var1, int[] var2) { + if (this.groups[var1] == null) { + return false; + } else { + int var3 = this.fileCounts[var1]; + int[] var4 = this.fileIds[var1]; + Object[] var5 = this.files[var1]; + boolean var6 = true; + + for(int var7 = 0; var7 < var3; ++var7) { + if (var5[var4[var7]] == null) { + var6 = false; + break; + } + } + + if (var6) { + return true; + } else { + byte[] var18; + if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) { + var18 = ChatChannel.method2405(this.groups[var1], false); + } else { + var18 = ChatChannel.method2405(this.groups[var1], true); + Buffer var8 = new Buffer(var18); + var8.xteaDecrypt(var2, 5, var8.array.length); + } + + byte[] var20 = WorldMapDecorationType.decompressBytes(var18); + if (this.releaseGroups) { + this.groups[var1] = null; + } + + if (var3 > 1) { + int var9 = var20.length; + --var9; + int var10 = var20[var9] & 255; + var9 -= var10 * var3 * 4; + Buffer var11 = new Buffer(var20); + 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[][] var19 = new byte[var3][]; + + for(var14 = 0; var14 < var3; ++var14) { + var19[var14] = new byte[var12[var14]]; + var12[var14] = 0; + } + + var11.offset = var9; + var14 = 0; + + for(var15 = 0; var15 < var10; ++var15) { + int var16 = 0; + + for(int var17 = 0; var17 < var3; ++var17) { + var16 += var11.readInt(); + System.arraycopy(var20, var14, var19[var17], var12[var17], var16); + var12[var17] += var16; + var14 += var16; + } + } + + for(var15 = 0; var15 < var3; ++var15) { + if (!this.shallowFiles) { + var5[var4[var15]] = class92.method2195(var19[var15], false); + } else { + var5[var4[var15]] = var19[var15]; + } + } + } else if (!this.shallowFiles) { + var5[var4[0]] = class92.method2195(var20, false); + } else { + var5[var4[0]] = var20; + } + + return true; + } + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "380978131" + ) + @Export("getGroupId") + public int getGroupId(String var1) { + var1 = var1.toLowerCase(); + return this.groupNameHashTable.get(class225.hashString(var1)); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;I)I", + garbageValue = "-1592351891" + ) + @Export("getFileId") + public int getFileId(int var1, String var2) { + var2 = var2.toLowerCase(); + return this.fileNameHashTables[var1].get(class225.hashString(var2)); + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;I)Z", + garbageValue = "-360297059" + ) + @Export("isValidFileName") + public boolean isValidFileName(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(class225.hashString(var1)); + if (var3 < 0) { + return false; + } else { + int var4 = this.fileNameHashTables[var3].get(class225.hashString(var2)); + return var4 >= 0; + } + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;I)[B", + garbageValue = "-981973425" + ) + @Export("takeFileByNames") + public byte[] takeFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(class225.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(class225.hashString(var2)); + return this.takeFile(var3, var4); + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;B)Z", + garbageValue = "1" + ) + @Export("tryLoadFileByNames") + public boolean tryLoadFileByNames(String var1, String var2) { + var1 = var1.toLowerCase(); + var2 = var2.toLowerCase(); + int var3 = this.groupNameHashTable.get(class225.hashString(var1)); + int var4 = this.fileNameHashTables[var3].get(class225.hashString(var2)); + return this.tryLoadFile(var3, var4); + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)Z", + garbageValue = "-101" + ) + @Export("tryLoadGroupByName") + public boolean tryLoadGroupByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(class225.hashString(var1)); + return this.tryLoadGroup(var2); + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "208562973" + ) + @Export("loadRegionFromName") + public void loadRegionFromName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(class225.hashString(var1)); + if (var2 >= 0) { + this.loadRegionFromGroup(var2); + } + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)I", + garbageValue = "40" + ) + @Export("groupLoadPercentByName") + public int groupLoadPercentByName(String var1) { + var1 = var1.toLowerCase(); + int var2 = this.groupNameHashTable.get(class225.hashString(var1)); + return this.groupLoadPercent(var2); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1365583869" + ) + @Export("isWorldMapEvent") + public static boolean isWorldMapEvent(int var0) { + return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Ljl;", + garbageValue = "-4" + ) + @Export("getParamDefinition") + public static ParamComposition getParamDefinition(int var0) { + ParamComposition var1 = (ParamComposition)ParamComposition.ParamDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = ParamComposition.ParamDefinition_archive.takeFile(11, var0); + var1 = new ParamComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + ParamComposition.ParamDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("km") + @ObfuscatedSignature( + descriptor = "(IIIILlm;Lht;I)V", + garbageValue = "-1045650328" + ) + @Export("drawSpriteOnMinimap") + static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { + if (var4 != null) { + int var6 = Client.camAngleY & 2047; + int var7 = var3 * var3 + var2 * var2; + if (var7 <= 6400) { + int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + if (var7 > 2500) { + var4.method6350(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); + } else { + var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); + } + + } + } + } } diff --git a/runescape-client/src/main/java/AbstractByteArrayCopier.java b/runescape-client/src/main/java/AbstractByteArrayCopier.java index c49c3a35be..261e62d10f 100644 --- a/runescape-client/src/main/java/AbstractByteArrayCopier.java +++ b/runescape-client/src/main/java/AbstractByteArrayCopier.java @@ -3,25 +3,22 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hk") +@ObfuscatedName("hs") @Implements("AbstractByteArrayCopier") public abstract class AbstractByteArrayCopier { - AbstractByteArrayCopier() { - } // L: 4 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)[B", + garbageValue = "1361682252" + ) + @Export("get") + abstract byte[] get(); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)[B", - garbageValue = "-938287989" - ) - @Export("get") - abstract byte[] get(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "-277286562" - ) - @Export("set") - public abstract void set(byte[] var1); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BI)V", + garbageValue = "262833794" + ) + @Export("set") + abstract void set(byte[] var1); } diff --git a/runescape-client/src/main/java/AbstractFont.java b/runescape-client/src/main/java/AbstractFont.java index 4357dd7d83..5389bba147 100644 --- a/runescape-client/src/main/java/AbstractFont.java +++ b/runescape-client/src/main/java/AbstractFont.java @@ -4,1074 +4,1061 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kc") +@ObfuscatedName("ks") @Implements("AbstractFont") public abstract class AbstractFont extends Rasterizer2D { - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("AbstractFont_modIconSprites") - public static IndexedSprite[] AbstractFont_modIconSprites; - @ObfuscatedName("e") - @Export("AbstractFont_strike") - static int AbstractFont_strike; - @ObfuscatedName("m") - @Export("AbstractFont_underline") - static int AbstractFont_underline; - @ObfuscatedName("c") - @Export("AbstractFont_previousShadow") - static int AbstractFont_previousShadow; - @ObfuscatedName("i") - @Export("AbstractFont_shadow") - static int AbstractFont_shadow; - @ObfuscatedName("f") - @Export("AbstractFont_previousColor") - static int AbstractFont_previousColor; - @ObfuscatedName("a") - @Export("AbstractFont_color") - static int AbstractFont_color; - @ObfuscatedName("b") - @Export("AbstractFont_alpha") - static int AbstractFont_alpha; - @ObfuscatedName("y") - @Export("AbstractFont_justificationTotal") - static int AbstractFont_justificationTotal; - @ObfuscatedName("r") - @Export("AbstractFont_justificationCurrent") - static int AbstractFont_justificationCurrent; - @ObfuscatedName("q") - @Export("AbstractFont_random") - static Random AbstractFont_random; - @ObfuscatedName("g") - @Export("AbstractFont_lines") - static String[] AbstractFont_lines; - @ObfuscatedName("h") - @Export("pixels") - byte[][] pixels; - @ObfuscatedName("v") - @Export("advances") - int[] advances; - @ObfuscatedName("x") - @Export("widths") - int[] widths; - @ObfuscatedName("w") - @Export("heights") - int[] heights; - @ObfuscatedName("t") - @Export("leftBearings") - int[] leftBearings; - @ObfuscatedName("j") - @Export("topBearings") - int[] topBearings; - @ObfuscatedName("n") - @Export("ascent") - public int ascent; - @ObfuscatedName("p") - @Export("maxAscent") - public int maxAscent; - @ObfuscatedName("l") - @Export("maxDescent") - public int maxDescent; - @ObfuscatedName("u") - @Export("kerning") - byte[] kerning; - - static { - AbstractFont_strike = -1; // L: 23 - AbstractFont_underline = -1; // L: 24 - AbstractFont_previousShadow = -1; // L: 25 - AbstractFont_shadow = -1; // L: 26 - AbstractFont_previousColor = 0; // L: 27 - AbstractFont_color = 0; // L: 28 - AbstractFont_alpha = 256; // L: 29 - AbstractFont_justificationTotal = 0; // L: 30 - AbstractFont_justificationCurrent = 0; // L: 31 - AbstractFont_random = new Random(); // L: 32 - AbstractFont_lines = new String[100]; // L: 33 - } - - AbstractFont(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { - this.pixels = new byte[256][]; - this.ascent = 0; - this.leftBearings = var2; // L: 36 - this.topBearings = var3; // L: 37 - this.widths = var4; // L: 38 - this.heights = var5; // L: 39 - this.readMetrics(var1); // L: 40 - this.pixels = var7; // L: 41 - int var8 = Integer.MAX_VALUE; // L: 42 - int var9 = Integer.MIN_VALUE; // L: 43 - - for (int var10 = 0; var10 < 256; ++var10) { // L: 44 - if (this.topBearings[var10] < var8 && this.heights[var10] != 0) { // L: 45 - var8 = this.topBearings[var10]; - } - - if (this.topBearings[var10] + this.heights[var10] > var9) { // L: 46 - var9 = this.topBearings[var10] + this.heights[var10]; - } - } - - this.maxAscent = this.ascent - var8; // L: 48 - this.maxDescent = var9 - this.ascent; // L: 49 - } // L: 50 - - AbstractFont(byte[] var1) { - this.pixels = new byte[256][]; // L: 12 - this.ascent = 0; // L: 18 - this.readMetrics(var1); // L: 53 - } // L: 54 - - @ObfuscatedName("h") - @Export("drawGlyph") - abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); - - @ObfuscatedName("v") - @Export("drawGlyphAlpha") - abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); - - @ObfuscatedName("l") - @Export("readMetrics") - void readMetrics(byte[] var1) { - this.advances = new int[256]; // L: 57 - int var2; - if (var1.length == 257) { // L: 58 - for (var2 = 0; var2 < this.advances.length; ++var2) { // L: 59 - this.advances[var2] = var1[var2] & 255; - } - - this.ascent = var1[256] & 255; // L: 60 - } else { - var2 = 0; // L: 63 - - for (int var3 = 0; var3 < 256; ++var3) { // L: 64 - this.advances[var3] = var1[var2++] & 255; - } - - int[] var10 = new int[256]; // L: 65 - int[] var4 = new int[256]; // L: 66 - - int var5; - for (var5 = 0; var5 < 256; ++var5) { // L: 67 - var10[var5] = var1[var2++] & 255; - } - - for (var5 = 0; var5 < 256; ++var5) { // L: 68 - var4[var5] = var1[var2++] & 255; - } - - byte[][] var11 = new byte[256][]; // L: 69 - - int var8; - for (int var6 = 0; var6 < 256; ++var6) { // L: 70 - var11[var6] = new byte[var10[var6]]; // L: 71 - byte var7 = 0; // L: 72 - - for (var8 = 0; var8 < var11[var6].length; ++var8) { // L: 73 - var7 += var1[var2++]; // L: 74 - var11[var6][var8] = var7; // L: 75 - } - } - - byte[][] var12 = new byte[256][]; // L: 78 - - int var13; - for (var13 = 0; var13 < 256; ++var13) { // L: 79 - var12[var13] = new byte[var10[var13]]; // L: 80 - byte var14 = 0; // L: 81 - - for (int var9 = 0; var9 < var12[var13].length; ++var9) { // L: 82 - var14 += var1[var2++]; // L: 83 - var12[var13][var9] = var14; // L: 84 - } - } - - this.kerning = new byte[65536]; // L: 87 - - for (var13 = 0; var13 < 256; ++var13) { // L: 88 - if (var13 != 32 && var13 != 160) { // L: 89 - for (var8 = 0; var8 < 256; ++var8) { // L: 90 - if (var8 != 32 && var8 != 160) { // L: 91 - this.kerning[var8 + (var13 << 8)] = (byte)method5419(var11, var12, var4, this.advances, var10, var13, var8); // L: 92 - } - } - } - } - - this.ascent = var4[32] + var10[32]; // L: 95 - } - - } // L: 97 - - @ObfuscatedName("u") - @Export("charWidth") - int charWidth(char var1) { - if (var1 == 160) { // L: 122 - var1 = ' '; - } - - return this.advances[Varps.charToByteCp1252(var1) & 255]; // L: 123 - } - - @ObfuscatedName("e") - @Export("stringWidth") - public int stringWidth(String var1) { - if (var1 == null) { // L: 127 - return 0; - } else { - int var2 = -1; // L: 128 - int var3 = -1; // L: 129 - int var4 = 0; // L: 130 - - for (int var5 = 0; var5 < var1.length(); ++var5) { // L: 131 - char var6 = var1.charAt(var5); // L: 132 - if (var6 == '<') { // L: 133 - var2 = var5; // L: 134 - } else { - if (var6 == '>' && var2 != -1) { // L: 137 - String var7 = var1.substring(var2 + 1, var5); // L: 138 - var2 = -1; // L: 139 - if (var7.equals("lt")) { // L: 140 - var6 = '<'; - } else { - if (!var7.equals("gt")) { // L: 141 - if (var7.startsWith("img=")) { // L: 142 - try { - int var8 = class279.parseInt(var7.substring(4)); // L: 144 - var4 += AbstractFont_modIconSprites[var8].width; // L: 145 - var3 = -1; // L: 146 - } catch (Exception var10) { // L: 148 - } - } - continue; - } - - var6 = '>'; - } - } - - if (var6 == 160) { // L: 153 - var6 = ' '; - } - - if (var2 == -1) { // L: 154 - var4 += this.advances[(char)(Varps.charToByteCp1252(var6) & 255)]; // L: 155 - if (this.kerning != null && var3 != -1) { // L: 156 - var4 += this.kerning[var6 + (var3 << 8)]; - } - - var3 = var6; // L: 157 - } - } - } - - return var4; // L: 160 - } - } - - @ObfuscatedName("m") - @Export("breakLines") - public int breakLines(String var1, int[] var2, String[] var3) { - if (var1 == null) { // L: 164 - return 0; - } else { - int var4 = 0; // L: 165 - int var5 = 0; // L: 166 - StringBuilder var6 = new StringBuilder(100); // L: 167 - int var7 = -1; // L: 168 - int var8 = 0; // L: 169 - byte var9 = 0; // L: 170 - int var10 = -1; // L: 171 - char var11 = 0; // L: 172 - int var12 = 0; // L: 173 - int var13 = var1.length(); // L: 174 - - for (int var14 = 0; var14 < var13; ++var14) { // L: 175 - char var15 = var1.charAt(var14); // L: 176 - if (var15 == '<') { // L: 177 - var10 = var14; // L: 178 - } else { - if (var15 == '>' && var10 != -1) { // L: 181 - String var16 = var1.substring(var10 + 1, var14); // L: 182 - var10 = -1; // L: 183 - var6.append('<'); // L: 184 - var6.append(var16); // L: 185 - var6.append('>'); // L: 186 - if (var16.equals("br")) { // L: 187 - var3[var12] = var6.toString().substring(var5, var6.length()); // L: 188 - ++var12; // L: 189 - var5 = var6.length(); // L: 190 - var4 = 0; // L: 191 - var7 = -1; // L: 192 - var11 = 0; // L: 193 - } else if (var16.equals("lt")) { // L: 195 - var4 += this.charWidth('<'); // L: 196 - if (this.kerning != null && var11 != -1) { // L: 197 - var4 += this.kerning[(var11 << '\b') + 60]; - } - - var11 = '<'; // L: 198 - } else if (var16.equals("gt")) { // L: 200 - var4 += this.charWidth('>'); // L: 201 - if (this.kerning != null && var11 != -1) { // L: 202 - var4 += this.kerning[(var11 << '\b') + 62]; - } - - var11 = '>'; // L: 203 - } else if (var16.startsWith("img=")) { // L: 205 - try { - int var17 = class279.parseInt(var16.substring(4)); // L: 207 - var4 += AbstractFont_modIconSprites[var17].width; // L: 208 - var11 = 0; // L: 209 - } catch (Exception var20) { // L: 211 - } - } - - var15 = 0; // L: 213 - } - - if (var10 == -1) { // L: 215 - if (var15 != 0) { // L: 216 - var6.append(var15); // L: 217 - var4 += this.charWidth(var15); // L: 218 - if (this.kerning != null && var11 != -1) { // L: 219 - var4 += this.kerning[var15 + (var11 << '\b')]; - } - - var11 = var15; // L: 220 - } - - if (var15 == ' ') { // L: 222 - var7 = var6.length(); // L: 223 - var8 = var4; // L: 224 - var9 = 1; // L: 225 - } - - if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) { // L: 227 - var3[var12] = var6.toString().substring(var5, var7 - var9); // L: 228 - ++var12; // L: 229 - var5 = var7; // L: 230 - var7 = -1; // L: 231 - var4 -= var8; // L: 232 - var11 = 0; // L: 233 - } - - if (var15 == '-') { // L: 235 - var7 = var6.length(); // L: 236 - var8 = var4; // L: 237 - var9 = 0; // L: 238 - } - } - } - } - - String var19 = var6.toString(); // L: 242 - if (var19.length() > var5) { // L: 243 - var3[var12++] = var19.substring(var5, var19.length()); - } - - return var12; // L: 244 - } - } - - @ObfuscatedName("c") - @Export("lineWidth") - public int lineWidth(String var1, int var2) { - int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines); // L: 248 - int var4 = 0; // L: 249 - - for (int var5 = 0; var5 < var3; ++var5) { // L: 250 - int var6 = this.stringWidth(AbstractFont_lines[var5]); // L: 251 - if (var6 > var4) { // L: 252 - var4 = var6; - } - } - - return var4; // L: 254 - } - - @ObfuscatedName("i") - @Export("lineCount") - public int lineCount(String var1, int var2) { - return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); // L: 258 - } - - @ObfuscatedName("y") - @Export("draw") - public void draw(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { // L: 279 - this.reset(var4, var5); // L: 280 - this.draw0(var1, var2, var3); // L: 281 - } - } // L: 282 - - @ObfuscatedName("r") - @Export("drawAlpha") - public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { // L: 285 - this.reset(var4, var5); // L: 286 - AbstractFont_alpha = var6; // L: 287 - this.draw0(var1, var2, var3); // L: 288 - } - } // L: 289 - - @ObfuscatedName("q") - @Export("drawRightAligned") - public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { // L: 292 - this.reset(var4, var5); // L: 293 - this.draw0(var1, var2 - this.stringWidth(var1), var3); // L: 294 - } - } // L: 295 - - @ObfuscatedName("g") - @Export("drawCentered") - public void drawCentered(String var1, int var2, int var3, int var4, int var5) { - if (var1 != null) { // L: 298 - this.reset(var4, var5); // L: 299 - this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3); // L: 300 - } - } // L: 301 - - @ObfuscatedName("o") - @Export("drawLines") - public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - if (var1 == null) { // L: 304 - return 0; - } else { - this.reset(var6, var7); // L: 305 - if (var10 == 0) { // L: 306 - var10 = this.ascent; - } - - int[] var11 = new int[]{var4}; // L: 307 - if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) { // L: 308 - var11 = null; - } - - int var12 = this.breakLines(var1, var11, AbstractFont_lines); // L: 309 - if (var9 == 3 && var12 == 1) { // L: 311 - var9 = 1; - } - - int var13; - int var14; - if (var9 == 0) { // L: 312 - var13 = var3 + this.maxAscent; - } else if (var9 == 1) { // L: 313 - var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent; - } else if (var9 == 2) { // L: 314 - var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1); - } else { - var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1); // L: 316 - if (var14 < 0) { // L: 317 - var14 = 0; - } - - var13 = var3 + var14 + this.maxAscent; // L: 318 - var10 += var14; // L: 319 - } - - for (var14 = 0; var14 < var12; ++var14) { // L: 321 - if (var8 == 0) { - this.draw0(AbstractFont_lines[var14], var2, var13); // L: 322 - } else if (var8 == 1) { // L: 323 - this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13); - } else if (var8 == 2) { // L: 324 - this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13); - } else if (var14 == var12 - 1) { // L: 326 - this.draw0(AbstractFont_lines[var14], var2, var13); - } else { - this.calculateLineJustification(AbstractFont_lines[var14], var4); // L: 328 - this.draw0(AbstractFont_lines[var14], var2, var13); // L: 329 - AbstractFont_justificationTotal = 0; // L: 330 - } - - var13 += var10; // L: 333 - } - - return var12; // L: 335 - } - } - - @ObfuscatedName("an") - @Export("drawCenteredWave") - public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { // L: 339 - this.reset(var4, var5); // L: 340 - int[] var7 = new int[var1.length()]; // L: 341 - - for (int var8 = 0; var8 < var1.length(); ++var8) { // L: 342 - var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D); - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7); // L: 343 - } - } // L: 344 - - @ObfuscatedName("aj") - @Export("drawCenteredWave2") - public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { // L: 347 - this.reset(var4, var5); // L: 348 - int[] var7 = new int[var1.length()]; // L: 349 - int[] var8 = new int[var1.length()]; // L: 350 - - for (int var9 = 0; var9 < var1.length(); ++var9) { // L: 351 - var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D); // L: 352 - var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D); // L: 353 - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8); // L: 355 - } - } // L: 356 - - @ObfuscatedName("ax") - @Export("drawCenteredShake") - public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var1 != null) { // L: 359 - this.reset(var4, var5); // L: 360 - double var8 = 7.0D - (double)var7 / 8.0D; // L: 361 - if (var8 < 0.0D) { // L: 362 - var8 = 0.0D; - } - - int[] var10 = new int[var1.length()]; // L: 363 - - for (int var11 = 0; var11 < var1.length(); ++var11) { // L: 364 - var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8); - } - - this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10); // L: 365 - } - } // L: 366 - - @ObfuscatedName("ag") - @Export("drawRandomAlphaAndSpacing") - public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 != null) { // L: 369 - this.reset(var4, var5); // L: 370 - AbstractFont_random.setSeed((long)var6); // L: 371 - AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31); // L: 372 - int[] var7 = new int[var1.length()]; // L: 373 - int var8 = 0; // L: 374 - - for (int var9 = 0; var9 < var1.length(); ++var9) { // L: 375 - var7[var9] = var8; // L: 376 - if ((AbstractFont_random.nextInt() & 3) == 0) { // L: 377 - ++var8; - } - } - - this.drawWithOffsets0(var1, var2, var3, var7, (int[])null); // L: 379 - } - } // L: 380 - - @ObfuscatedName("au") - @Export("reset") - void reset(int var1, int var2) { - AbstractFont_strike = -1; // L: 383 - AbstractFont_underline = -1; // L: 384 - AbstractFont_previousShadow = var2; // L: 385 - AbstractFont_shadow = var2; - AbstractFont_previousColor = var1; // L: 386 - AbstractFont_color = var1; - AbstractFont_alpha = 256; // L: 387 - AbstractFont_justificationTotal = 0; // L: 388 - AbstractFont_justificationCurrent = 0; // L: 389 - } // L: 390 - - @ObfuscatedName("as") - @Export("decodeTag") - void decodeTag(String var1) { - try { - int var2; - String var3; - if (var1.startsWith("col=")) { // L: 394 - var3 = var1.substring(4); // L: 396 - var2 = World.parseIntCustomRadix(var3, 16, true); // L: 398 - AbstractFont_color = var2; // L: 400 - } else if (var1.equals("/col")) { // L: 402 - AbstractFont_color = AbstractFont_previousColor; - } else if (var1.startsWith("str=")) { // L: 403 - var3 = var1.substring(4); // L: 405 - var2 = World.parseIntCustomRadix(var3, 16, true); // L: 407 - AbstractFont_strike = var2; // L: 409 - } else if (var1.equals("str")) { // L: 411 - AbstractFont_strike = 8388608; - } else if (var1.equals("/str")) { // L: 412 - AbstractFont_strike = -1; - } else if (var1.startsWith("u=")) { // L: 413 - var3 = var1.substring(2); // L: 415 - var2 = World.parseIntCustomRadix(var3, 16, true); // L: 417 - AbstractFont_underline = var2; // L: 419 - } else if (var1.equals("u")) { // L: 421 - AbstractFont_underline = 0; - } else if (var1.equals("/u")) { // L: 422 - AbstractFont_underline = -1; - } else if (var1.startsWith("shad=")) { // L: 423 - var3 = var1.substring(5); // L: 425 - var2 = World.parseIntCustomRadix(var3, 16, true); // L: 427 - AbstractFont_shadow = var2; // L: 429 - } else if (var1.equals("shad")) { // L: 431 - AbstractFont_shadow = 0; - } else if (var1.equals("/shad")) { // L: 432 - AbstractFont_shadow = AbstractFont_previousShadow; - } else if (var1.equals("br")) { - this.reset(AbstractFont_previousColor, AbstractFont_previousShadow); // L: 433 - } - } catch (Exception var5) { // L: 435 - } - - } // L: 436 - - @ObfuscatedName("ae") - @Export("calculateLineJustification") - void calculateLineJustification(String var1, int var2) { - int var3 = 0; // L: 439 - boolean var4 = false; // L: 440 - - for (int var5 = 0; var5 < var1.length(); ++var5) { // L: 441 - char var6 = var1.charAt(var5); // L: 442 - if (var6 == '<') { // L: 443 - var4 = true; - } else if (var6 == '>') { // L: 444 - var4 = false; - } else if (!var4 && var6 == ' ') { // L: 445 - ++var3; - } - } - - if (var3 > 0) { // L: 447 - AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3; - } - - } // L: 448 - - @ObfuscatedName("ac") - @Export("draw0") - void draw0(String var1, int var2, int var3) { - var3 -= this.ascent; // L: 451 - int var4 = -1; // L: 452 - int var5 = -1; // L: 453 - - for (int var6 = 0; var6 < var1.length(); ++var6) { // L: 454 - if (var1.charAt(var6) != 0) { // L: 455 - char var7 = (char)(Varps.charToByteCp1252(var1.charAt(var6)) & 255); // L: 456 - if (var7 == '<') { // L: 457 - var4 = var6; // L: 458 - } else { - int var9; - if (var7 == '>' && var4 != -1) { // L: 461 - String var8 = var1.substring(var4 + 1, var6); // L: 462 - var4 = -1; // L: 463 - if (var8.equals("lt")) { // L: 464 - var7 = '<'; - } else { - if (!var8.equals("gt")) { // L: 465 - if (var8.startsWith("img=")) { // L: 466 - try { - var9 = class279.parseInt(var8.substring(4)); // L: 468 - IndexedSprite var10 = AbstractFont_modIconSprites[var9]; // L: 469 - var10.drawAt(var2, var3 + this.ascent - var10.height); // L: 470 - var2 += var10.width; // L: 471 - var5 = -1; // L: 472 - } catch (Exception var14) { // L: 474 - } - } else { - this.decodeTag(var8); // L: 478 - } - continue; - } - - var7 = '>'; - } - } - - if (var7 == 160) { // L: 482 - var7 = ' '; - } - - if (var4 == -1) { // L: 483 - if (this.kerning != null && var5 != -1) { // L: 484 - var2 += this.kerning[var7 + (var5 << 8)]; - } - - int var12 = this.widths[var7]; // L: 485 - var9 = this.heights[var7]; // L: 486 - if (var7 != ' ') { // L: 487 - if (AbstractFont_alpha == 256) { // L: 488 - if (AbstractFont_shadow != -1) { // L: 489 - 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); // L: 490 - } else { - if (AbstractFont_shadow != -1) { // L: 493 - 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); // L: 494 - } - } else if (AbstractFont_justificationTotal > 0) { // L: 498 - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; // L: 499 - var2 += AbstractFont_justificationCurrent >> 8; // L: 500 - AbstractFont_justificationCurrent &= 255; // L: 501 - } - - int var13 = this.advances[var7]; // L: 504 - if (AbstractFont_strike != -1) { // L: 505 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var13, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { // L: 506 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var13, AbstractFont_underline); - } - - var2 += var13; // L: 507 - var5 = var7; // L: 508 - } - } - } - } - - } // L: 511 - - @ObfuscatedName("ak") - @Export("drawWithOffsets0") - void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) { - var3 -= this.ascent; // L: 514 - int var6 = -1; // L: 515 - int var7 = -1; // L: 516 - int var8 = 0; // L: 517 - - for (int var9 = 0; var9 < var1.length(); ++var9) { // L: 518 - if (var1.charAt(var9) != 0) { // L: 519 - char var10 = (char)(Varps.charToByteCp1252(var1.charAt(var9)) & 255); // L: 520 - if (var10 == '<') { // L: 521 - var6 = var9; // L: 522 - } else { - int var12; - int var13; - int var14; - if (var10 == '>' && var6 != -1) { // L: 525 - String var11 = var1.substring(var6 + 1, var9); // L: 526 - var6 = -1; // L: 527 - if (var11.equals("lt")) { // L: 528 - var10 = '<'; - } else { - if (!var11.equals("gt")) { // L: 529 - if (var11.startsWith("img=")) { // L: 530 - try { - if (var4 != null) { // L: 533 - var12 = var4[var8]; - } else { - var12 = 0; // L: 534 - } - - if (var5 != null) { // L: 536 - var13 = var5[var8]; - } else { - var13 = 0; // L: 537 - } - - ++var8; // L: 538 - var14 = class279.parseInt(var11.substring(4)); // L: 539 - IndexedSprite var15 = AbstractFont_modIconSprites[var14]; // L: 540 - var15.drawAt(var12 + var2, var13 + (var3 + this.ascent - var15.height)); // L: 541 - var2 += var15.width; // L: 542 - var7 = -1; // L: 543 - } catch (Exception var19) { // L: 545 - } - } else { - this.decodeTag(var11); // L: 549 - } - continue; - } - - var10 = '>'; - } - } - - if (var10 == 160) { // L: 553 - var10 = ' '; - } - - if (var6 == -1) { // L: 554 - if (this.kerning != null && var7 != -1) { // L: 555 - var2 += this.kerning[var10 + (var7 << 8)]; - } - - int var17 = this.widths[var10]; // L: 556 - var12 = this.heights[var10]; // L: 557 - if (var4 != null) { // L: 559 - var13 = var4[var8]; - } else { - var13 = 0; // L: 560 - } - - if (var5 != null) { // L: 562 - var14 = var5[var8]; - } else { - var14 = 0; // L: 563 - } - - ++var8; // L: 564 - if (var10 != ' ') { // L: 565 - if (AbstractFont_alpha == 256) { // L: 566 - if (AbstractFont_shadow != -1) { // L: 567 - 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); // L: 568 - } else { - if (AbstractFont_shadow != -1) { // L: 571 - 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); // L: 572 - } - } else if (AbstractFont_justificationTotal > 0) { // L: 576 - AbstractFont_justificationCurrent += AbstractFont_justificationTotal; // L: 577 - var2 += AbstractFont_justificationCurrent >> 8; // L: 578 - AbstractFont_justificationCurrent &= 255; // L: 579 - } - - int var18 = this.advances[var10]; // L: 582 - if (AbstractFont_strike != -1) { // L: 583 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var18, AbstractFont_strike); - } - - if (AbstractFont_underline != -1) { // L: 584 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var18, AbstractFont_underline); - } - - var2 += var18; // L: 585 - var7 = var10; // L: 586 - } - } - } - } - - } // L: 589 - - @ObfuscatedName("z") - static int method5419(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { - int var7 = var2[var5]; // L: 100 - int var8 = var7 + var4[var5]; // L: 101 - int var9 = var2[var6]; // L: 102 - int var10 = var9 + var4[var6]; // L: 103 - int var11 = var7; // L: 104 - if (var9 > var7) { // L: 105 - var11 = var9; - } - - int var12 = var8; // L: 106 - if (var10 < var8) { // L: 107 - var12 = var10; - } - - int var13 = var3[var5]; // L: 108 - if (var3[var6] < var13) { // L: 109 - var13 = var3[var6]; - } - - byte[] var14 = var1[var5]; // L: 110 - byte[] var15 = var0[var6]; // L: 111 - int var16 = var11 - var7; // L: 112 - int var17 = var11 - var9; // L: 113 - - for (int var18 = var11; var18 < var12; ++var18) { // L: 114 - int var19 = var14[var16++] + var15[var17++]; // L: 115 - if (var19 < var13) { // L: 116 - var13 = var19; - } - } - - return -var13; // L: 118 - } - - @ObfuscatedName("f") - @Export("escapeBrackets") - public static String escapeBrackets(String var0) { - int var1 = var0.length(); // L: 262 - int var2 = 0; // L: 263 - - for (int var3 = 0; var3 < var1; ++var3) { // L: 264 - char var4 = var0.charAt(var3); // L: 265 - if (var4 == '<' || var4 == '>') { - var2 += 3; // L: 266 - } - } - - StringBuilder var6 = new StringBuilder(var1 + var2); // L: 268 - - for (int var7 = 0; var7 < var1; ++var7) { // L: 269 - char var5 = var0.charAt(var7); // L: 270 - if (var5 == '<') { - var6.append(""); // L: 271 - } else if (var5 == '>') { // L: 272 - var6.append(""); - } else { - var6.append(var5); // L: 273 - } - } - - return var6.toString(); // L: 275 - } - - @ObfuscatedName("av") - @Export("AbstractFont_drawGlyph") - static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) { - int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 595 - int var7 = Rasterizer2D.Rasterizer2D_width - var3; // L: 596 - int var8 = 0; // L: 597 - int var9 = 0; // L: 598 - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 599 - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 600 - var4 -= var10; // L: 601 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 602 - var9 += var3 * var10; // L: 603 - var6 += var10 * Rasterizer2D.Rasterizer2D_width; // L: 604 - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 606 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 607 - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 608 - var3 -= var10; // L: 609 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 610 - var9 += var10; // L: 611 - var6 += var10; // L: 612 - var8 += var10; // L: 613 - var7 += var10; // L: 614 - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 616 - var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 617 - var3 -= var10; // L: 618 - var8 += var10; // L: 619 - var7 += var10; // L: 620 - } - - if (var3 > 0 && var4 > 0) { // L: 622 - AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8); // L: 623 - } - } // L: 624 - - @ObfuscatedName("aq") - @Export("AbstractFont_placeGlyph") - static void AbstractFont_placeGlyph(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); // L: 627 - var5 = -(var5 & 3); // L: 628 - - for (int var10 = -var6; var10 < 0; ++var10) { // L: 629 - int var11; - for (var11 = var9; var11 < 0; ++var11) { // L: 630 - if (var1[var3++] != 0) { // L: 631 - var0[var4++] = var2; - } else { - ++var4; // L: 632 - } - - if (var1[var3++] != 0) { // L: 633 - var0[var4++] = var2; - } else { - ++var4; // L: 634 - } - - if (var1[var3++] != 0) { // L: 635 - var0[var4++] = var2; - } else { - ++var4; // L: 636 - } - - if (var1[var3++] != 0) { // L: 637 - var0[var4++] = var2; - } else { - ++var4; // L: 638 - } - } - - for (var11 = var5; var11 < 0; ++var11) { // L: 640 - if (var1[var3++] != 0) { // L: 641 - var0[var4++] = var2; - } else { - ++var4; // L: 642 - } - } - - var4 += var7; // L: 644 - var3 += var8; // L: 645 - } - - } // L: 647 - - @ObfuscatedName("ah") - @Export("AbstractFont_drawGlyphAlpha") - static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 650 - int var8 = Rasterizer2D.Rasterizer2D_width - var3; // L: 651 - int var9 = 0; // L: 652 - int var10 = 0; // L: 653 - int var11; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 654 - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 655 - var4 -= var11; // L: 656 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 657 - var10 += var3 * var11; // L: 658 - var7 += var11 * Rasterizer2D.Rasterizer2D_width; // L: 659 - } - - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 661 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 662 - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 663 - var3 -= var11; // L: 664 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 665 - var10 += var11; // L: 666 - var7 += var11; // L: 667 - var9 += var11; // L: 668 - var8 += var11; // L: 669 - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 671 - var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 672 - var3 -= var11; // L: 673 - var9 += var11; // L: 674 - var8 += var11; // L: 675 - } - - if (var3 > 0 && var4 > 0) { // L: 677 - AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6); // L: 678 - } - } // L: 679 - - @ObfuscatedName("am") - @Export("AbstractFont_placeGlyphAlpha") - static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { - var2 = ((var2 & 65280) * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8; // L: 682 - var9 = 256 - var9; // L: 683 - - for (int var10 = -var6; var10 < 0; ++var10) { // L: 684 - for (int var11 = -var5; var11 < 0; ++var11) { // L: 685 - if (var1[var3++] != 0) { // L: 686 - int var12 = var0[var4]; // L: 687 - var0[var4++] = (((var12 & 65280) * var9 & 16711680) + ((var12 & 16711935) * var9 & -16711936) >> 8) + var2; // L: 688 - } else { - ++var4; // L: 690 - } - } - - var4 += var7; // L: 692 - var3 += var8; // L: 693 - } - - } // L: 695 + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("AbstractFont_modIconSprites") + public static IndexedSprite[] AbstractFont_modIconSprites; + @ObfuscatedName("b") + @Export("AbstractFont_strike") + static int AbstractFont_strike = -1; + @ObfuscatedName("a") + @Export("AbstractFont_underline") + static int AbstractFont_underline = -1; + @ObfuscatedName("w") + @Export("AbstractFont_previousShadow") + static int AbstractFont_previousShadow = -1; + @ObfuscatedName("k") + @Export("AbstractFont_shadow") + static int AbstractFont_shadow = -1; + @ObfuscatedName("i") + @Export("AbstractFont_previousColor") + static int AbstractFont_previousColor = 0; + @ObfuscatedName("x") + @Export("AbstractFont_color") + static int AbstractFont_color = 0; + @ObfuscatedName("f") + @Export("AbstractFont_alpha") + static int AbstractFont_alpha = 256; + @ObfuscatedName("g") + @Export("AbstractFont_justificationTotal") + static int AbstractFont_justificationTotal = 0; + @ObfuscatedName("u") + @Export("AbstractFont_justificationCurrent") + static int AbstractFont_justificationCurrent = 0; + @ObfuscatedName("t") + @Export("AbstractFont_random") + static Random AbstractFont_random = new Random(); + @ObfuscatedName("p") + @Export("AbstractFont_lines") + static String[] AbstractFont_lines = new String[100]; + @ObfuscatedName("n") + @Export("pixels") + byte[][] pixels = new byte[256][]; + @ObfuscatedName("v") + @Export("advances") + int[] advances; + @ObfuscatedName("d") + @Export("widths") + int[] widths; + @ObfuscatedName("c") + @Export("heights") + int[] heights; + @ObfuscatedName("y") + @Export("leftBearings") + int[] leftBearings; + @ObfuscatedName("h") + @Export("topBearings") + int[] topBearings; + @ObfuscatedName("z") + @Export("ascent") + public int ascent = 0; + @ObfuscatedName("e") + @Export("maxAscent") + public int maxAscent; + @ObfuscatedName("q") + @Export("maxDescent") + public int maxDescent; + @ObfuscatedName("s") + @Export("kerning") + byte[] kerning; + + AbstractFont(byte[] var1) { + this.readMetrics(var1); + } + + AbstractFont(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { + this.leftBearings = var2; + this.topBearings = var3; + this.widths = var4; + this.heights = var5; + this.readMetrics(var1); + this.pixels = var7; + int var8 = Integer.MAX_VALUE; + int var9 = Integer.MIN_VALUE; + + for(int var10 = 0; var10 < 256; ++var10) { + if (this.topBearings[var10] < var8 && this.heights[var10] != 0) { + var8 = this.topBearings[var10]; + } + + if (this.topBearings[var10] + this.heights[var10] > var9) { + var9 = this.topBearings[var10] + this.heights[var10]; + } + } + + this.maxAscent = this.ascent - var8; + this.maxDescent = var9 - this.ascent; + } + + @ObfuscatedName("n") + @Export("drawGlyph") + abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6); + + @ObfuscatedName("v") + @Export("drawGlyphAlpha") + abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7); + + @ObfuscatedName("q") + @Export("readMetrics") + void readMetrics(byte[] var1) { + this.advances = new int[256]; + int var2; + if (var1.length == 257) { + for(var2 = 0; var2 < this.advances.length; ++var2) { + this.advances[var2] = var1[var2] & 255; + } + + this.ascent = var1[256] & 255; + } else { + var2 = 0; + + for(int var3 = 0; var3 < 256; ++var3) { + this.advances[var3] = var1[var2++] & 255; + } + + int[] var10 = new int[256]; + int[] var4 = new int[256]; + + int var5; + for(var5 = 0; var5 < 256; ++var5) { + var10[var5] = var1[var2++] & 255; + } + + for(var5 = 0; var5 < 256; ++var5) { + var4[var5] = var1[var2++] & 255; + } + + byte[][] var11 = new byte[256][]; + + int var8; + for(int var6 = 0; var6 < 256; ++var6) { + var11[var6] = new byte[var10[var6]]; + byte var7 = 0; + + for(var8 = 0; var8 < var11[var6].length; ++var8) { + var7 += var1[var2++]; + var11[var6][var8] = var7; + } + } + + byte[][] var12 = new byte[256][]; + + int var13; + for(var13 = 0; var13 < 256; ++var13) { + var12[var13] = new byte[var10[var13]]; + byte var14 = 0; + + for(int var9 = 0; var9 < var12[var13].length; ++var9) { + var14 += var1[var2++]; + var12[var13][var9] = var14; + } + } + + this.kerning = new byte[65536]; + + for(var13 = 0; var13 < 256; ++var13) { + if (var13 != 32 && var13 != 160) { + for(var8 = 0; var8 < 256; ++var8) { + if (var8 != 32 && var8 != 160) { + this.kerning[var8 + (var13 << 8)] = (byte)method5543(var11, var12, var4, this.advances, var10, var13, var8); + } + } + } + } + + this.ascent = var4[32] + var10[32]; + } + + } + + @ObfuscatedName("s") + @Export("charWidth") + int charWidth(char var1) { + if (var1 == 160) { + var1 = ' '; + } + + return this.advances[LoginPacket.charToByteCp1252(var1) & 255]; + } + + @ObfuscatedName("b") + @Export("stringWidth") + public int stringWidth(String var1) { + if (var1 == null) { + return 0; + } else { + int var2 = -1; + int var3 = -1; + int var4 = 0; + + for(int var5 = 0; var5 < var1.length(); ++var5) { + 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 = class217.parseInt(var7.substring(4)); + var4 += AbstractFont_modIconSprites[var8].width; + var3 = -1; + } catch (Exception var10) { + ; + } + } + continue; + } + + var6 = '>'; + } + } + + if (var6 == 160) { + var6 = ' '; + } + + if (var2 == -1) { + var4 += this.advances[(char)(LoginPacket.charToByteCp1252(var6) & 255)]; + if (this.kerning != null && var3 != -1) { + var4 += this.kerning[var6 + (var3 << 8)]; + } + + var3 = var6; + } + } + } + + return var4; + } + } + + @ObfuscatedName("a") + @Export("breakLines") + public int breakLines(String var1, int[] var2, String[] var3) { + if (var1 == null) { + return 0; + } else { + int var4 = 0; + int var5 = 0; + StringBuilder var6 = new StringBuilder(100); + int var7 = -1; + int var8 = 0; + byte var9 = 0; + int var10 = -1; + char var11 = 0; + int var12 = 0; + int var13 = var1.length(); + + for(int var14 = 0; var14 < var13; ++var14) { + 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 << 8) + 60]; + } + + var11 = '<'; + } else if (var16.equals("gt")) { + var4 += this.charWidth('>'); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[(var11 << 8) + 62]; + } + + var11 = '>'; + } else if (var16.startsWith("img=")) { + try { + int var17 = class217.parseInt(var16.substring(4)); + var4 += AbstractFont_modIconSprites[var17].width; + var11 = 0; + } catch (Exception var20) { + ; + } + } + + var15 = 0; + } + + if (var10 == -1) { + if (var15 != 0) { + var6.append(var15); + var4 += this.charWidth(var15); + if (this.kerning != null && var11 != -1) { + var4 += this.kerning[var15 + (var11 << 8)]; + } + + 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; + } + } + } + } + + String var19 = var6.toString(); + if (var19.length() > var5) { + var3[var12++] = var19.substring(var5, var19.length()); + } + + return var12; + } + } + + @ObfuscatedName("w") + @Export("lineWidth") + public int lineWidth(String var1, int var2) { + int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines); + int var4 = 0; + + for(int var5 = 0; var5 < var3; ++var5) { + int var6 = this.stringWidth(AbstractFont_lines[var5]); + if (var6 > var4) { + var4 = var6; + } + } + + return var4; + } + + @ObfuscatedName("k") + @Export("lineCount") + public int lineCount(String var1, int var2) { + return this.breakLines(var1, new int[]{var2}, AbstractFont_lines); + } + + @ObfuscatedName("x") + @Export("draw") + public void draw(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2, var3); + } + } + + @ObfuscatedName("g") + @Export("drawAlpha") + public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + AbstractFont_alpha = var6; + this.draw0(var1, var2, var3); + } + } + + @ObfuscatedName("u") + @Export("drawRightAligned") + public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2 - this.stringWidth(var1), var3); + } + } + + @ObfuscatedName("t") + @Export("drawCentered") + public void drawCentered(String var1, int var2, int var3, int var4, int var5) { + if (var1 != null) { + this.reset(var4, var5); + this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3); + } + } + + @ObfuscatedName("p") + @Export("drawLines") + public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + if (var1 == null) { + return 0; + } else { + this.reset(var6, var7); + if (var10 == 0) { + var10 = this.ascent; + } + + int[] var11 = new int[]{var4}; + if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) { + var11 = null; + } + + int var12 = this.breakLines(var1, var11, AbstractFont_lines); + if (var9 == 3 && var12 == 1) { + var9 = 1; + } + + int var13; + int var14; + if (var9 == 0) { + var13 = var3 + this.maxAscent; + } else if (var9 == 1) { + var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent; + } else if (var9 == 2) { + var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1); + } else { + var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1); + if (var14 < 0) { + var14 = 0; + } + + var13 = var3 + var14 + this.maxAscent; + var10 += var14; + } + + for(var14 = 0; var14 < var12; ++var14) { + if (var8 == 0) { + this.draw0(AbstractFont_lines[var14], var2, var13); + } else if (var8 == 1) { + this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13); + } else if (var8 == 2) { + this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13); + } else if (var14 == var12 - 1) { + this.draw0(AbstractFont_lines[var14], var2, var13); + } else { + this.calculateLineJustification(AbstractFont_lines[var14], var4); + this.draw0(AbstractFont_lines[var14], var2, var13); + AbstractFont_justificationTotal = 0; + } + + var13 += var10; + } + + return var12; + } + } + + @ObfuscatedName("o") + @Export("drawCenteredWave") + public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + int[] var7 = new int[var1.length()]; + + for(int var8 = 0; var8 < var1.length(); ++var8) { + var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7); + } + } + + @ObfuscatedName("ay") + @Export("drawCenteredWave2") + public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + int[] var7 = new int[var1.length()]; + int[] var8 = new int[var1.length()]; + + for(int var9 = 0; var9 < var1.length(); ++var9) { + var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D); + var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8); + } + } + + @ObfuscatedName("am") + @Export("drawCenteredShake") + public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var1 != null) { + this.reset(var4, var5); + double var8 = 7.0D - (double)var7 / 8.0D; + if (var8 < 0.0D) { + var8 = 0.0D; + } + + int[] var10 = new int[var1.length()]; + + for(int var11 = 0; var11 < var1.length(); ++var11) { + var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8); + } + + this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10); + } + } + + @ObfuscatedName("ag") + @Export("drawRandomAlphaAndSpacing") + public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 != null) { + this.reset(var4, var5); + AbstractFont_random.setSeed((long)var6); + AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31); + int[] var7 = new int[var1.length()]; + int var8 = 0; + + for(int var9 = 0; var9 < var1.length(); ++var9) { + var7[var9] = var8; + if ((AbstractFont_random.nextInt() & 3) == 0) { + ++var8; + } + } + + this.drawWithOffsets0(var1, var2, var3, var7, (int[])null); + } + } + + @ObfuscatedName("ae") + @Export("reset") + void reset(int var1, int var2) { + AbstractFont_strike = -1; + AbstractFont_underline = -1; + AbstractFont_previousShadow = var2; + AbstractFont_shadow = var2; + AbstractFont_previousColor = var1; + AbstractFont_color = var1; + AbstractFont_alpha = 256; + AbstractFont_justificationTotal = 0; + AbstractFont_justificationCurrent = 0; + } + + @ObfuscatedName("ac") + @Export("decodeTag") + void decodeTag(String var1) { + try { + int var2; + String var3; + if (var1.startsWith("col=")) { + var3 = var1.substring(4); + var2 = LoginScreenAnimation.parseIntCustomRadix(var3, 16, true); + AbstractFont_color = var2; + } else if (var1.equals("/col")) { + AbstractFont_color = AbstractFont_previousColor; + } else if (var1.startsWith("str=")) { + var3 = var1.substring(4); + var2 = LoginScreenAnimation.parseIntCustomRadix(var3, 16, true); + AbstractFont_strike = var2; + } else if (var1.equals("str")) { + AbstractFont_strike = 8388608; + } else if (var1.equals("/str")) { + AbstractFont_strike = -1; + } else if (var1.startsWith("u=")) { + var3 = var1.substring(2); + var2 = LoginScreenAnimation.parseIntCustomRadix(var3, 16, true); + AbstractFont_underline = var2; + } else if (var1.equals("u")) { + AbstractFont_underline = 0; + } else if (var1.equals("/u")) { + AbstractFont_underline = -1; + } else if (var1.startsWith("shad=")) { + var3 = var1.substring(5); + var2 = LoginScreenAnimation.parseIntCustomRadix(var3, 16, true); + AbstractFont_shadow = var2; + } else if (var1.equals("shad")) { + AbstractFont_shadow = 0; + } else if (var1.equals("/shad")) { + AbstractFont_shadow = AbstractFont_previousShadow; + } else if (var1.equals("br")) { + this.reset(AbstractFont_previousColor, AbstractFont_previousShadow); + } + } catch (Exception var5) { + ; + } + + } + + @ObfuscatedName("aq") + @Export("calculateLineJustification") + void calculateLineJustification(String var1, int var2) { + int var3 = 0; + boolean var4 = false; + + for(int var5 = 0; var5 < var1.length(); ++var5) { + char var6 = var1.charAt(var5); + if (var6 == '<') { + var4 = true; + } else if (var6 == '>') { + var4 = false; + } else if (!var4 && var6 == ' ') { + ++var3; + } + } + + if (var3 > 0) { + AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3; + } + + } + + @ObfuscatedName("at") + @Export("draw0") + void draw0(String var1, int var2, int var3) { + var3 -= this.ascent; + int var4 = -1; + int var5 = -1; + + for(int var6 = 0; var6 < var1.length(); ++var6) { + if (var1.charAt(var6) != 0) { + char var7 = (char)(LoginPacket.charToByteCp1252(var1.charAt(var6)) & 255); + if (var7 == '<') { + var4 = var6; + } 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 = class217.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; + } + } + } + } + + } + + @ObfuscatedName("ak") + @Export("drawWithOffsets0") + void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) { + var3 -= this.ascent; + int var6 = -1; + int var7 = -1; + int var8 = 0; + + for(int var9 = 0; var9 < var1.length(); ++var9) { + if (var1.charAt(var9) != 0) { + char var10 = (char)(LoginPacket.charToByteCp1252(var1.charAt(var9)) & 255); + if (var10 == '<') { + var6 = var9; + } 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 = class217.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]; + if (var4 != null) { + var13 = var4[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; + } + } + } + } + + } + + @ObfuscatedName("l") + static int method5543(byte[][] var0, byte[][] var1, int[] var2, int[] var3, int[] var4, int var5, int var6) { + int var7 = var2[var5]; + int var8 = var7 + var4[var5]; + int var9 = var2[var6]; + int var10 = var9 + var4[var6]; + int var11 = var7; + if (var9 > var7) { + var11 = var9; + } + + int var12 = var8; + if (var10 < var8) { + var12 = var10; + } + + int var13 = var3[var5]; + if (var3[var6] < var13) { + var13 = var3[var6]; + } + + byte[] var14 = var1[var5]; + byte[] var15 = var0[var6]; + int var16 = var11 - var7; + int var17 = var11 - var9; + + for(int var18 = var11; var18 < var12; ++var18) { + int var19 = var14[var16++] + var15[var17++]; + if (var19 < var13) { + var13 = var19; + } + } + + return -var13; + } + + @ObfuscatedName("i") + @Export("escapeBrackets") + public static String escapeBrackets(String var0) { + int var1 = var0.length(); + int var2 = 0; + + for(int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 == '<' || var4 == '>') { + var2 += 3; + } + } + + StringBuilder var6 = new StringBuilder(var1 + var2); + + for(int var7 = 0; var7 < var1; ++var7) { + char var5 = var0.charAt(var7); + if (var5 == '<') { + var6.append(""); + } else if (var5 == '>') { + var6.append(""); + } else { + var6.append(var5); + } + } + + return var6.toString(); + } + + @ObfuscatedName("ax") + @Export("AbstractFont_drawGlyph") + static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var7 = Rasterizer2D.Rasterizer2D_width - var3; + int var8 = 0; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var9 += var3 * var10; + var6 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var9 += var10; + var6 += var10; + var8 += var10; + var7 += var10; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var10; + var8 += var10; + var7 += var10; + } + + if (var3 > 0 && var4 > 0) { + AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8); + } + } + + @ObfuscatedName("ar") + @Export("AbstractFont_placeGlyph") + static void AbstractFont_placeGlyph(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + for(var11 = var9; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for(var11 = var5; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("al") + @Export("AbstractFont_drawGlyphAlpha") + static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var8 = Rasterizer2D.Rasterizer2D_width - var3; + int var9 = 0; + int var10 = 0; + int var11; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var11; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var10 += var3 * var11; + var7 += var11 * Rasterizer2D.Rasterizer2D_width; + } + + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var11; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var10 += var11; + var7 += var11; + var9 += var11; + var8 += var11; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var11; + var9 += var11; + var8 += var11; + } + + if (var3 > 0 && var4 > 0) { + AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6); + } + } + + @ObfuscatedName("aa") + @Export("AbstractFont_placeGlyphAlpha") + static void AbstractFont_placeGlyphAlpha(int[] var0, byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + var2 = ((var2 & '\uff00') * var9 & 16711680) + (var9 * (var2 & 16711935) & -16711936) >> 8; + var9 = 256 - var9; + + for(int var10 = -var6; var10 < 0; ++var10) { + for(int var11 = -var5; var11 < 0; ++var11) { + if (var1[var3++] != 0) { + int var12 = var0[var4]; + var0[var4++] = (((var12 & '\uff00') * var9 & 16711680) + ((var12 & 16711935) * var9 & -16711936) >> 8) + var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } } diff --git a/runescape-client/src/main/java/AbstractRasterProvider.java b/runescape-client/src/main/java/AbstractRasterProvider.java index 32aad9e108..a6e1e09a1c 100644 --- a/runescape-client/src/main/java/AbstractRasterProvider.java +++ b/runescape-client/src/main/java/AbstractRasterProvider.java @@ -4,51 +4,48 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lu") +@ObfuscatedName("lc") @Implements("AbstractRasterProvider") public abstract class AbstractRasterProvider { - @ObfuscatedName("x") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1111630003 - ) - @Export("width") - public int width; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1276876573 - ) - @Export("height") - public int height; + @ObfuscatedName("d") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1159583033 + ) + @Export("width") + public int width; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1839293839 + ) + @Export("height") + public int height; - protected AbstractRasterProvider() { - } // L: 8 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "2060006654" + ) + @Export("drawFull") + public abstract void drawFull(int var1, int var2); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1343964035" - ) - @Export("drawFull") - public abstract void drawFull(int var1, int var2); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-1656973228" + ) + @Export("draw") + public abstract void draw(int var1, int var2, int var3, int var4); - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIIIB)V", - garbageValue = "-8" - ) - @Export("draw") - public abstract void draw(int var1, int var2, int var3, int var4); - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1374263653" - ) - @Export("apply") - public final void apply() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.width, this.height); // L: 11 - } // L: 12 + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1592611264" + ) + @Export("apply") + public final void apply() { + Rasterizer2D.Rasterizer2D_replace(this.pixels, this.width, this.height); + } } diff --git a/runescape-client/src/main/java/AbstractSocket.java b/runescape-client/src/main/java/AbstractSocket.java index 252ad60795..ac20e09f5a 100644 --- a/runescape-client/src/main/java/AbstractSocket.java +++ b/runescape-client/src/main/java/AbstractSocket.java @@ -4,70 +4,108 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lr") +@ObfuscatedName("ls") @Implements("AbstractSocket") public abstract class AbstractSocket { - protected AbstractSocket() { - } // L: 7 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "136255387" + ) + @Export("close") + public abstract void close(); - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-10" - ) - @Export("close") - public abstract void close(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-29" + ) + @Export("readUnsignedByte") + public abstract int readUnsignedByte() throws IOException; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "0" - ) - @Export("readUnsignedByte") - public abstract int readUnsignedByte() throws IOException; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + @Export("available") + public abstract int available() throws IOException; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1974658106" - ) - @Export("available") - public abstract int available() throws IOException; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1621767276" + ) + @Export("isAvailable") + public abstract boolean isAvailable(int var1) throws IOException; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-7" - ) - @Export("isAvailable") - public abstract boolean isAvailable(int var1) throws IOException; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BIIB)I", + garbageValue = "-127" + ) + @Export("read") + public abstract int read(byte[] var1, int var2, int var3) throws IOException; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "([BIIB)I", - garbageValue = "98" - ) - @Export("read") - public abstract int read(byte[] var1, int var2, int var3) throws IOException; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "1032488862" + ) + @Export("write") + public abstract void write(byte[] var1, int var2, int var3) throws IOException; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "-2028715299" - ) - @Export("write") - public abstract void write(byte[] var1, int var2, int var3) throws IOException; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/String;[SIII)V", + garbageValue = "-632113899" + ) + @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; - @ObfuscatedName("lp") - @ObfuscatedSignature( - descriptor = "([BIB)V", - garbageValue = "66" - ) - static void method5846(byte[] var0, int var1) { - if (Client.randomDatData == null) { // L: 11134 - Client.randomDatData = new byte[24]; - } + 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; + } + } - class311.writeRandomDat(var0, var1, Client.randomDatData, 0, 24); // L: 11135 - } // L: 11136 + 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); + } + + } + + @ObfuscatedName("fd") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "0" + ) + @Export("playSong") + static void playSong(int var0) { + if (var0 == -1 && !Client.field899) { + ScriptEvent.method1272(); + } else if (var0 != -1 && var0 != Client.currentTrackGroupId && WorldMapSectionType.clientPreferences.musicVolume != 0 && !Client.field899) { + GrandExchangeOfferOwnWorldComparator.method1376(2, UrlRequester.archive6, var0, 0, WorldMapSectionType.clientPreferences.musicVolume, false); + } + + Client.currentTrackGroupId = var0; + } } diff --git a/runescape-client/src/main/java/AbstractSound.java b/runescape-client/src/main/java/AbstractSound.java index e222097258..32b26345f6 100644 --- a/runescape-client/src/main/java/AbstractSound.java +++ b/runescape-client/src/main/java/AbstractSound.java @@ -2,13 +2,10 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dg") +@ObfuscatedName("dn") @Implements("AbstractSound") public abstract class AbstractSound extends Node { - @ObfuscatedName("j") - @Export("position") - int position; - - AbstractSound() { - } // L: 10 + @ObfuscatedName("h") + @Export("position") + int position; } diff --git a/runescape-client/src/main/java/AbstractUserComparator.java b/runescape-client/src/main/java/AbstractUserComparator.java index ff458fa665..7ffa87260f 100644 --- a/runescape-client/src/main/java/AbstractUserComparator.java +++ b/runescape-client/src/main/java/AbstractUserComparator.java @@ -5,54 +5,68 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jr") +@ObfuscatedName("jh") @Implements("AbstractUserComparator") public abstract class AbstractUserComparator implements Comparator { - @ObfuscatedName("sn") - @ObfuscatedSignature( - descriptor = "Lf;" - ) - @Export("grandExchangeEvents") - static GrandExchangeEvents grandExchangeEvents; - @ObfuscatedName("lr") - @ObfuscatedGetter( - intValue = 1436616639 - ) - @Export("menuX") - static int menuX; - @ObfuscatedName("v") - @Export("nextComparator") - Comparator nextComparator; + @ObfuscatedName("lf") + @ObfuscatedGetter( + intValue = -1144052371 + ) + @Export("menuY") + static int menuY; + @ObfuscatedName("v") + @Export("nextComparator") + Comparator nextComparator; - protected AbstractUserComparator() { - } // L: 8 + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/util/Comparator;I)V", + garbageValue = "1135766594" + ) + @Export("addComparator") + final void addComparator(Comparator var1) { + if (this.nextComparator == null) { + this.nextComparator = var1; + } else if (this.nextComparator instanceof AbstractUserComparator) { + ((AbstractUserComparator)this.nextComparator).addComparator(var1); + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Ljava/util/Comparator;I)V", - garbageValue = "118963424" - ) - @Export("addComparator") - final void addComparator(Comparator var1) { - if (this.nextComparator == null) { // L: 11 - this.nextComparator = var1; // L: 12 - } else if (this.nextComparator instanceof AbstractUserComparator) { // L: 14 - ((AbstractUserComparator)this.nextComparator).addComparator(var1); // L: 15 - } + } - } // L: 17 + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(Ljn;Ljn;B)I", + garbageValue = "0" + ) + @Export("compareUser") + protected final int compareUser(User var1, User var2) { + return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Lju;Lju;I)I", - garbageValue = "-204379903" - ) - @Export("compareUser") - protected final int compareUser(User var1, User var2) { - return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2); // L: 20 21 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 25 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Lis;", + garbageValue = "1543064609" + ) + @Export("SpotAnimationDefinition_get") + public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { + SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); + var1 = new SpotAnimationDefinition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/AbstractWorldMapData.java b/runescape-client/src/main/java/AbstractWorldMapData.java index 1fdac0b116..0b7780e6ba 100644 --- a/runescape-client/src/main/java/AbstractWorldMapData.java +++ b/runescape-client/src/main/java/AbstractWorldMapData.java @@ -1,303 +1,531 @@ +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InvalidClassException; +import java.io.ObjectInputStream; +import java.io.OptionalDataException; +import java.io.StreamCorruptedException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.LinkedList; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("au") +@ObfuscatedName("ac") @Implements("AbstractWorldMapData") public abstract class AbstractWorldMapData { - @ObfuscatedName("qy") - @ObfuscatedSignature( - descriptor = "Ldp;" - ) - @Export("pcmPlayer0") - static PcmPlayer pcmPlayer0; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1489291855 - ) - @Export("regionXLow") - int regionXLow; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -731202711 - ) - @Export("regionYLow") - int regionYLow; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -2091565261 - ) - @Export("regionX") - int regionX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 756401157 - ) - @Export("regionY") - int regionY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1229904609 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1992018845 - ) - @Export("planes") - int planes; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1735670735 - ) - @Export("groupId") - int groupId; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 789122507 - ) - @Export("fileId") - int fileId; - @ObfuscatedName("l") - @Export("floorUnderlayIds") - short[][][] floorUnderlayIds; - @ObfuscatedName("z") - @Export("floorOverlayIds") - short[][][] floorOverlayIds; - @ObfuscatedName("u") - byte[][][] field178; - @ObfuscatedName("e") - byte[][][] field177; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "[[[[Lak;" - ) - @Export("decorations") - WorldMapDecoration[][][][] decorations; - @ObfuscatedName("c") - boolean field190; - @ObfuscatedName("i") - boolean field191; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1175220224 + ) + @Export("regionXLow") + int regionXLow; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1957990400 + ) + @Export("regionYLow") + int regionYLow; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -226026385 + ) + @Export("regionX") + int regionX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 2108441199 + ) + @Export("regionY") + int regionY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -351352557 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 754636665 + ) + @Export("planes") + int planes; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1785019245 + ) + @Export("groupId") + int groupId = -1; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1849711777 + ) + @Export("fileId") + int fileId = -1; + @ObfuscatedName("q") + @Export("floorUnderlayIds") + short[][][] floorUnderlayIds; + @ObfuscatedName("l") + @Export("floorOverlayIds") + short[][][] floorOverlayIds; + @ObfuscatedName("s") + byte[][][] field193; + @ObfuscatedName("b") + byte[][][] field204; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "[[[[Lax;" + ) + @Export("decorations") + WorldMapDecoration[][][][] decorations; + @ObfuscatedName("w") + boolean field203; + @ObfuscatedName("k") + boolean field207; - AbstractWorldMapData() { - this.groupId = -1; // L: 14 - this.fileId = -1; // L: 15 - new LinkedList(); - this.field190 = false; // L: 26 - this.field191 = false; // L: 27 - } // L: 29 + AbstractWorldMapData() { + new LinkedList(); + this.field203 = false; + this.field207 = false; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1878970684" - ) - @Export("readGeography") - abstract void readGeography(Buffer var1); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "36" + ) + @Export("readGeography") + abstract void readGeography(Buffer var1); - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1422551454" - ) - @Export("isFullyLoaded") - boolean isFullyLoaded() { - return this.field190 && this.field191; // L: 32 - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "16711935" + ) + @Export("isFullyLoaded") + boolean isFullyLoaded() { + return this.field203 && this.field207; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lib;I)V", - garbageValue = "-1133283231" - ) - @Export("loadGeography") - void loadGeography(AbstractArchive var1) { - if (!this.isFullyLoaded()) { // L: 36 - byte[] var2 = var1.takeFile(this.groupId, this.fileId); // L: 37 - if (var2 != null) { // L: 38 - this.readGeography(new Buffer(var2)); // L: 39 - this.field190 = true; // L: 40 - this.field191 = true; // L: 41 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lig;B)V", + garbageValue = "116" + ) + @Export("loadGeography") + void loadGeography(AbstractArchive var1) { + if (!this.isFullyLoaded()) { + byte[] var2 = var1.takeFile(this.groupId, this.fileId); + if (var2 != null) { + this.readGeography(new Buffer(var2)); + this.field203 = true; + this.field207 = true; + } - } - } // L: 43 + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "8" - ) - @Export("reset") - void reset() { - this.floorUnderlayIds = null; // L: 46 - this.floorOverlayIds = null; // L: 47 - this.field178 = null; // L: 48 - this.field177 = null; // L: 49 - this.decorations = null; // L: 50 - this.field190 = false; // L: 51 - this.field191 = false; // L: 52 - } // L: 53 + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-59" + ) + @Export("reset") + void reset() { + this.floorUnderlayIds = null; + this.floorOverlayIds = null; + this.field193 = null; + this.field204 = null; + this.decorations = null; + this.field203 = false; + this.field207 = false; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(IILkj;I)V", - garbageValue = "-734499768" - ) - @Export("readTile") - void readTile(int var1, int var2, Buffer var3) { - int var4 = var3.readUnsignedByte(); // L: 56 - if (var4 != 0) { // L: 57 - if ((var4 & 1) != 0) { // L: 60 - this.method306(var1, var2, var3, var4); // L: 61 - } else { - this.method314(var1, var2, var3, var4); // L: 64 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IILkx;I)V", + garbageValue = "-1493570847" + ) + @Export("readTile") + void readTile(int var1, int var2, Buffer var3) { + int var4 = var3.readUnsignedByte(); + if (var4 != 0) { + if ((var4 & 1) != 0) { + this.method327(var1, var2, var3, var4); + } else { + this.method328(var1, var2, var3, var4); + } - } - } // L: 58 66 + } + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IILkj;II)V", - garbageValue = "732495103" - ) - void method306(int var1, int var2, Buffer var3, int var4) { - boolean var5 = (var4 & 2) != 0; // L: 69 - if (var5) { // L: 70 - this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); // L: 71 - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IILkx;IB)V", + garbageValue = "20" + ) + void method327(int var1, int var2, Buffer var3, int var4) { + boolean var5 = (var4 & 2) != 0; + if (var5) { + this.floorOverlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + } - this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); // L: 73 - } // L: 74 + this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(IILkj;II)V", - garbageValue = "-550064835" - ) - void method314(int var1, int var2, Buffer var3, int var4) { - int var5 = ((var4 & 24) >> 3) + 1; // L: 77 - boolean var6 = (var4 & 2) != 0; // L: 78 - boolean var7 = (var4 & 4) != 0; // L: 79 - this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); // L: 80 - int var8; - int var9; - int var11; - if (var6) { // L: 81 - var8 = var3.readUnsignedByte(); // L: 82 + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(IILkx;II)V", + garbageValue = "78729378" + ) + void method328(int var1, int var2, Buffer var3, int var4) { + int var5 = ((var4 & 24) >> 3) + 1; + boolean var6 = (var4 & 2) != 0; + boolean var7 = (var4 & 4) != 0; + this.floorUnderlayIds[0][var1][var2] = (short)var3.readUnsignedByte(); + int var8; + int var9; + int var11; + if (var6) { + var8 = var3.readUnsignedByte(); - for (var9 = 0; var9 < var8; ++var9) { // L: 83 - int var14 = var3.readUnsignedByte(); // L: 84 - if (var14 != 0) { // L: 85 - this.floorOverlayIds[var9][var1][var2] = (short)var14; // L: 86 - var11 = var3.readUnsignedByte(); // L: 87 - this.field178[var9][var1][var2] = (byte)(var11 >> 2); // L: 88 - this.field177[var9][var1][var2] = (byte)(var11 & 3); // L: 89 - } - } - } + for(var9 = 0; var9 < var8; ++var9) { + int var14 = var3.readUnsignedByte(); + if (var14 != 0) { + this.floorOverlayIds[var9][var1][var2] = (short)var14; + var11 = var3.readUnsignedByte(); + this.field193[var9][var1][var2] = (byte)(var11 >> 2); + this.field204[var9][var1][var2] = (byte)(var11 & 3); + } + } + } - if (var7) { // L: 93 - for (var8 = 0; var8 < var5; ++var8) { // L: 94 - var9 = var3.readUnsignedByte(); // L: 95 - if (var9 != 0) { // L: 96 - WorldMapDecoration[] var10 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9]; // L: 99 + if (var7) { + for(var8 = 0; var8 < var5; ++var8) { + var9 = var3.readUnsignedByte(); + if (var9 != 0) { + WorldMapDecoration[] var10 = this.decorations[var8][var1][var2] = new WorldMapDecoration[var9]; - for (var11 = 0; var11 < var9; ++var11) { // L: 100 - int var12 = var3.method5559(); // L: 101 - int var13 = var3.readUnsignedByte(); // L: 102 - var10[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); // L: 103 - } - } - } - } + for(var11 = 0; var11 < var9; ++var11) { + int var12 = var3.method5833(); + int var13 = var3.readUnsignedByte(); + var10[var11] = new WorldMapDecoration(var12, var13 >> 2, var13 & 3); + } + } + } + } - } // L: 107 + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1451993074" - ) - @Export("getRegionX") - int getRegionX() { - return this.regionX; // L: 112 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-75109979" + ) + @Export("getRegionX") + int getRegionX() { + return this.regionX; + } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "11679" - ) - @Export("getRegionY") - int getRegionY() { - return this.regionY; // L: 116 - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2014407853" + ) + @Export("getRegionY") + int getRegionY() { + return this.regionY; + } - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-970565394" - ) - static int method328(int var0, Script var1, boolean var2) { - Widget var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1306 - if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { // L: 1307 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ServerPacket.Widget_unpackTargetMask(FaceNormal.getWidgetFlags(var3)); // L: 1308 - return 1; // L: 1309 - } else if (var0 != ScriptOpcodes.IF_GETOP) { // L: 1311 - if (var0 == ScriptOpcodes.IF_GETOPBASE) { // L: 1318 - if (var3.dataText == null) { // L: 1319 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; // L: 1320 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;Ljava/lang/String;I)V", + garbageValue = "1967773856" + ) + @Export("addGameMessage") + static void addGameMessage(int var0, String var1, String var2) { + PlatformInfo.addChatMessage(var0, var1, var2, (String)null); + } - return 1; // L: 1321 - } else { - return 2; // L: 1323 - } - } else { - int var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1312 - --var4; // L: 1313 - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { // L: 1314 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; // L: 1315 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1751033687" + ) + public static int method342() { + return ViewportMouse.ViewportMouse_entityCount; + } - return 1; // L: 1316 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkd;I)V", + garbageValue = "352611015" + ) + @Export("performReflectionCheck") + public static void performReflectionCheck(PacketBuffer var0) { + ReflectionCheck var1 = (ReflectionCheck)class105.reflectionChecks.last(); + if (var1 != null) { + int var2 = var0.offset; + var0.writeInt(var1.id); - @ObfuscatedName("ky") - @ObfuscatedSignature( - descriptor = "(IIIILlm;Lho;I)V", - garbageValue = "-942051498" - ) - @Export("worldToMinimap") - static final void worldToMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { - int var6 = var3 * var3 + var2 * var2; // L: 10964 - if (var6 > 4225 && var6 < 90000) { // L: 10965 - int var7 = Client.camAngleY & 2047; // L: 10966 - int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; // L: 10967 - int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; // L: 10968 - int var10 = var9 * var2 + var3 * var8 >> 16; // L: 10969 - int var11 = var3 * var9 - var8 * var2 >> 16; // L: 10970 - double var12 = Math.atan2((double)var10, (double)var11); // L: 10971 - int var14 = var5.width / 2 - 25; // L: 10972 - int var15 = (int)(Math.sin(var12) * (double)var14); // L: 10973 - int var16 = (int)(Math.cos(var12) * (double)var14); // L: 10974 - byte var17 = 20; // L: 10975 - ViewportMouse.redHintArrowSpritePixels.method6189(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); // L: 10976 - } else { - class25.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); // L: 10978 - } + for(int var3 = 0; var3 < var1.size; ++var3) { + if (var1.creationErrors[var3] != 0) { + var0.writeByte(var1.creationErrors[var3]); + } else { + try { + int var4 = var1.operations[var3]; + Field var5; + int var6; + if (var4 == 0) { + var5 = var1.fields[var3]; + var6 = Reflection.getInt(var5, (Object)null); + var0.writeByte(0); + var0.writeInt(var6); + } else if (var4 == 1) { + var5 = var1.fields[var3]; + Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); + var0.writeByte(0); + } else if (var4 == 2) { + var5 = var1.fields[var3]; + var6 = var5.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } - } // L: 10979 + Method var25; + if (var4 != 3) { + if (var4 == 4) { + var25 = var1.methods[var3]; + var6 = var25.getModifiers(); + var0.writeByte(0); + var0.writeInt(var6); + } + } else { + var25 = var1.methods[var3]; + byte[][] var10 = var1.arguments[var3]; + Object[] var7 = new Object[var10.length]; + + for(int var8 = 0; var8 < var10.length; ++var8) { + ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); + var7[var8] = var9.readObject(); + } + + Object var11 = Reflection.invoke(var25, (Object)null, var7); + if (var11 == null) { + var0.writeByte(0); + } else if (var11 instanceof Number) { + var0.writeByte(1); + var0.writeLong(((Number)var11).longValue()); + } else if (var11 instanceof String) { + var0.writeByte(2); + var0.writeStringCp1252NullTerminated((String)var11); + } else { + var0.writeByte(4); + } + } + } catch (ClassNotFoundException var13) { + var0.writeByte(-10); + } catch (InvalidClassException var14) { + var0.writeByte(-11); + } catch (StreamCorruptedException var15) { + var0.writeByte(-12); + } catch (OptionalDataException var16) { + var0.writeByte(-13); + } catch (IllegalAccessException var17) { + var0.writeByte(-14); + } catch (IllegalArgumentException var18) { + var0.writeByte(-15); + } catch (InvocationTargetException var19) { + var0.writeByte(-16); + } catch (SecurityException var20) { + var0.writeByte(-17); + } catch (IOException var21) { + var0.writeByte(-18); + } catch (NullPointerException var22) { + var0.writeByte(-19); + } catch (Exception var23) { + var0.writeByte(-20); + } catch (Throwable var24) { + var0.writeByte(-21); + } + } + } + + var0.writeCrc(var2); + var1.remove(); + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1250443961" + ) + static int method350(int var0, Script var1, boolean var2) { + boolean var3 = true; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var4 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var3 = false; + } else { + var4 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } + + int var11; + if (var0 == ScriptOpcodes.CC_SETOP) { + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + var4.setAction(var11, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + return 1; + } else { + --Interpreter.Interpreter_stringStackSize; + return 1; + } + } else { + int var6; + if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { + Interpreter.Interpreter_intStackSize -= 2; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.parent = ArchiveLoader.getWidgetChild(var11, var6); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { + var4.isScrollBar = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { + var4.dragZoneSize = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { + var4.dragThreshold = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { + var4.dataText = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { + var4.spellActionName = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { + var4.actions = null; + return 1; + } else if (var0 == 1308) { + var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 1309) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else { + int var7; + byte[] var8; + if (var0 != ScriptOpcodes.CC_SETOPKEY) { + byte var5; + if (var0 == ScriptOpcodes.CC_SETOPTKEY) { + Interpreter.Interpreter_intStackSize -= 2; + var5 = 10; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; + byte[] var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; + TaskHandler.Widget_setKey(var4, var5, var8, var9); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { + Interpreter.Interpreter_intStackSize -= 3; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (var11 >= 0 && var11 <= 9) { + WorldMapRegion.Widget_setKeyRate(var4, var11, var6, var7); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { + var5 = 10; + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapRegion.Widget_setKeyRate(var4, var5, var6, var7); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { + --Interpreter.Interpreter_intStackSize; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] - 1; + if (var11 >= 0 && var11 <= 9) { + WorldMapIcon_0.Widget_setKeyIgnoreHeld(var4, var11); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { + var5 = 10; + WorldMapIcon_0.Widget_setKeyIgnoreHeld(var4, var5); + return 1; + } else { + return 2; + } + } else { + byte[] var10 = null; + var8 = null; + if (var3) { + Interpreter.Interpreter_intStackSize -= 10; + + for(var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize] >= 0; var7 += 2) { + ; + } + + if (var7 > 0) { + var10 = new byte[var7 / 2]; + var8 = new byte[var7 / 2]; + + for(var7 -= 2; var7 >= 0; var7 -= 2) { + var10[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize]; + var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + Interpreter.Interpreter_intStackSize + 1]; + } + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]}; + var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]}; + } + + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] - 1; + if (var7 >= 0 && var7 <= 9) { + TaskHandler.Widget_setKey(var4, var7, var10, var8); + return 1; + } else { + throw new RuntimeException(); + } + } + } + } + } + + @ObfuscatedName("iu") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1407692443" + ) + static void method352() { + for(int var0 = 0; var0 < Client.menuOptionsCount; ++var0) { + if (AbstractWorldMapIcon.method685(Client.menuOpcodes[var0])) { + if (var0 < Client.menuOptionsCount - 1) { + for(int var1 = var0; var1 < Client.menuOptionsCount - 1; ++var1) { + Client.menuActions[var1] = Client.menuActions[var1 + 1]; + Client.menuTargets[var1] = Client.menuTargets[var1 + 1]; + Client.menuOpcodes[var1] = Client.menuOpcodes[var1 + 1]; + Client.menuIdentifiers[var1] = Client.menuIdentifiers[var1 + 1]; + Client.menuArguments1[var1] = Client.menuArguments1[var1 + 1]; + Client.menuArguments2[var1] = Client.menuArguments2[var1 + 1]; + Client.menuShiftClick[var1] = Client.menuShiftClick[var1 + 1]; + } + } + + --var0; + --Client.menuOptionsCount; + } + } + + class41.method650(); + } } diff --git a/runescape-client/src/main/java/AbstractWorldMapIcon.java b/runescape-client/src/main/java/AbstractWorldMapIcon.java index c3ab085c59..20eca10db4 100644 --- a/runescape-client/src/main/java/AbstractWorldMapIcon.java +++ b/runescape-client/src/main/java/AbstractWorldMapIcon.java @@ -5,868 +5,1269 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ap") +@ObfuscatedName("aj") @Implements("AbstractWorldMapIcon") public abstract class AbstractWorldMapIcon { - @ObfuscatedName("hq") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("headIconHintSprites") - static SpritePixels[] headIconHintSpritePixels; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("coord2") - public final Coord coord2; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("coord1") - public final Coord coord1; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1559041635 - ) - @Export("screenX") - int screenX; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 314803859 - ) - @Export("screenY") - int screenY; - - @ObfuscatedSignature( - descriptor = "(Lhs;Lhs;)V" - ) - AbstractWorldMapIcon(Coord var1, Coord var2) { - this.coord1 = var1; // L: 13 - this.coord2 = var2; // L: 14 - } // L: 15 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-359753179" - ) - @Export("getElement") - public abstract int getElement(); - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Lah;", - garbageValue = "1889474780" - ) - @Export("getLabel") - abstract WorldMapLabel getLabel(); - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-79" - ) - @Export("getSubWidth") - abstract int getSubWidth(); - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1082591682" - ) - @Export("getSubHeight") - abstract int getSubHeight(); - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "8588195" - ) - @Export("fitsScreen") - boolean fitsScreen(int var1, int var2) { - if (this.elementFitsScreen(var1, var2)) { // L: 18 - return true; // L: 19 - } else { - return this.labelFitsScreen(var1, var2); // L: 21 - } - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1161567228" - ) - @Export("hasValidElement") - boolean hasValidElement() { - return this.getElement() >= 0; // L: 33 - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "762931724" - ) - @Export("elementFitsScreen") - boolean elementFitsScreen(int var1, int var2) { - if (!this.hasValidElement()) { // L: 37 - return false; - } else { - WorldMapElement var3 = UserComparator10.WorldMapElement_get(this.getElement()); // L: 38 - int var4 = this.getSubWidth(); // L: 39 - int var5 = this.getSubHeight(); // L: 40 - switch(var3.horizontalAlignment.value) { // L: 41 - case 0: - if (var1 < this.screenX || var1 >= var4 + this.screenX) { // L: 44 - return false; - } - break; - case 1: - if (var1 >= this.screenX - var4 / 2 && var1 <= var4 / 2 + this.screenX) { // L: 49 - break; - } - - return false; - case 2: - if (var1 <= this.screenX - var4 || var1 > this.screenX) { // L: 54 - return false; - } - } - - switch(var3.verticalAlignment.value) { // L: 58 - case 0: - if (var2 < this.screenY || var2 >= var5 + this.screenY) { // L: 66 - return false; - } - break; - case 1: - if (var2 <= this.screenY - var5 || var2 > this.screenY) { // L: 61 - return false; - } - break; - case 2: - if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { // L: 71 - return false; - } - } - - return true; // L: 75 - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "-373903296" - ) - @Export("labelFitsScreen") - boolean labelFitsScreen(int var1, int var2) { - WorldMapLabel var3 = this.getLabel(); // L: 79 - if (var3 == null) { // L: 80 - return false; // L: 81 - } else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) { // L: 83 - return var2 >= this.screenY && var2 <= var3.height + this.screenY; // L: 84 - } else { - return false; // L: 85 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Ljb;", - garbageValue = "5" - ) - @Export("StructDefinition_getStructDefinition") - public static StructComposition StructDefinition_getStructDefinition(int var0) { - StructComposition var1 = (StructComposition) StructComposition.StructDefinition_cached.get((long)var0); // L: 23 - if (var1 != null) { // L: 24 - return var1; - } else { - byte[] var2 = StructComposition.StructDefinition_archive.takeFile(34, var0); // L: 25 - var1 = new StructComposition(); // L: 26 - if (var2 != null) { // L: 27 - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); // L: 28 - StructComposition.StructDefinition_cached.put(var1, (long)var0); // L: 29 - return var1; // L: 30 - } - } - - @ObfuscatedName("n") - static boolean method657(long var0) { - return (int)(var0 >>> 16 & 1L) == 1; // L: 73 - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "339234172" - ) - @Export("Login_promptCredentials") - static void Login_promptCredentials(boolean var0) { - Login.Login_response1 = ""; // L: 879 - Login.Login_response2 = "Enter your username/email & password."; // L: 880 - Login.Login_response3 = ""; // L: 881 - Login.loginIndex = 2; // L: 882 - if (var0) { // L: 883 - Login.Login_password = ""; - } - - class219.method4009(); // L: 884 - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { // L: 886 - Login.currentLoginField = 1; // L: 887 - } else { - Login.currentLoginField = 0; // L: 890 - } - - } // L: 893 - - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1273056667" - ) - static int method656(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.LOGOUT) { // L: 3243 - Client.logoutTimer = 250; // L: 3244 - return 1; // L: 3245 - } else if (var0 != 5631 && var0 != 5633) { // L: 3247 - if (var0 == 5632) { // L: 3251 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 26; // L: 3252 - return 1; // L: 3253 - } else { - return 2; // L: 3255 - } - } else { - Interpreter.Interpreter_stringStackSize -= 2; // L: 3248 - return 1; // L: 3249 - } - } - - @ObfuscatedName("hj") - @ObfuscatedSignature( - descriptor = "(Lcx;IIIIII)V", - garbageValue = "-970580745" - ) - @Export("drawActor2d") - static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { - if (var0 != null && var0.isVisible()) { // L: 4819 - if (var0 instanceof NPC) { // L: 4820 - NPCComposition var6 = ((NPC)var0).definition; // L: 4821 - if (var6.transforms != null) { // L: 4822 - var6 = var6.transform(); - } - - if (var6 == null) { // L: 4823 - return; - } - } - - int var75 = Players.Players_count; // L: 4825 - int[] var7 = Players.Players_indices; // L: 4826 - byte var8 = 0; // L: 4827 - if (var1 < var75 && var0.playerCycle == Client.cycle && class3.method42((Player)var0)) { // L: 4828 - Player var9 = (Player)var0; // L: 4829 - if (var1 < var75) { // L: 4830 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4831 - AbstractFont var10 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); // L: 4832 - byte var11 = 9; // L: 4833 - var10.drawCentered(var9.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var11, 16777215, 0); // L: 4834 - var8 = 18; // L: 4835 - } - } - - int var76 = -2; // L: 4838 - int var15; - int var22; - int var23; - if (!var0.healthBars.method4840()) { // L: 4839 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4840 - - for (HealthBar var87 = (HealthBar)var0.healthBars.last(); var87 != null; var87 = (HealthBar)var0.healthBars.previous()) { // L: 4841 - HealthBarUpdate var79 = var87.get(Client.cycle); // L: 4842 - if (var79 == null) { // L: 4843 - if (var87.isEmpty()) { // L: 4901 - var87.remove(); - } - } else { - HealthBarDefinition var80 = var87.definition; // L: 4844 - SpritePixels var13 = var80.getBackSprite(); // L: 4845 - SpritePixels var81 = var80.getFrontSprite(); // L: 4846 - int var82 = 0; // L: 4848 - if (var13 != null && var81 != null) { // L: 4849 - if (var80.widthPadding * 2 < var81.subWidth) { // L: 4850 - var82 = var80.widthPadding; - } - - var15 = var81.subWidth - var82 * 2; // L: 4851 - } else { - var15 = var80.width; // L: 4853 - } - - int var17 = 255; // L: 4854 - boolean var83 = true; // L: 4855 - int var84 = Client.cycle - var79.cycle; // L: 4856 - int var85 = var15 * var79.health2 / var80.width; // L: 4857 - int var86; - int var93; - if (var79.cycleOffset > var84) { // L: 4858 - var86 = var80.field3307 == 0 ? 0 : var80.field3307 * (var84 / var80.field3307); // L: 4859 - var22 = var15 * var79.health / var80.width; // L: 4860 - var93 = var86 * (var85 - var22) / var79.cycleOffset + var22; // L: 4861 - } else { - var93 = var85; // L: 4864 - var86 = var79.cycleOffset + var80.int5 - var84; // L: 4865 - if (var80.int3 >= 0) { // L: 4866 - var17 = (var86 << 8) / (var80.int5 - var80.int3); - } - } - - if (var79.health2 > 0 && var93 < 1) { // L: 4868 - var93 = 1; - } - - if (var13 != null && var81 != null) { // L: 4869 - if (var93 == var15) { // L: 4870 - var93 += var82 * 2; - } else { - var93 += var82; // L: 4871 - } - - var86 = var13.subHeight; // L: 4872 - var76 += var86; // L: 4873 - var22 = var2 + Client.viewportTempX - (var15 >> 1); // L: 4874 - var23 = var3 + Client.viewportTempY - var76; // L: 4875 - var22 -= var82; // L: 4876 - if (var17 >= 0 && var17 < 255) { // L: 4877 - var13.drawTransAt(var22, var23, var17); // L: 4878 - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var23 + var86); // L: 4879 - var81.drawTransAt(var22, var23, var17); // L: 4880 - } else { - var13.drawTransBgAt(var22, var23); // L: 4883 - Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var93 + var22, var86 + var23); // L: 4884 - var81.drawTransBgAt(var22, var23); // L: 4885 - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); // L: 4887 - var76 += 2; // L: 4888 - } else { - var76 += 5; // L: 4891 - if (Client.viewportTempX > -1) { // L: 4892 - var86 = var2 + Client.viewportTempX - (var15 >> 1); // L: 4893 - var22 = var3 + Client.viewportTempY - var76; // L: 4894 - Rasterizer2D.Rasterizer2D_fillRectangle(var86, var22, var93, 5, 65280); // L: 4895 - Rasterizer2D.Rasterizer2D_fillRectangle(var86 + var93, var22, var15 - var93, 5, 16711680); // L: 4896 - } - - var76 += 2; // L: 4898 - } - } - } - } - - if (var76 == -2) { // L: 4904 - var76 += 7; - } - - var76 += var8; // L: 4905 - if (var1 < var75) { // L: 4906 - Player var88 = (Player)var0; // L: 4907 - if (var88.isHidden) { // L: 4908 - return; - } - - if (var88.headIconPk != -1 || var88.headIconPrayer != -1) { // L: 4909 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4910 - if (Client.viewportTempX > -1) { // L: 4911 - if (var88.headIconPk != -1) { // L: 4912 - var76 += 25; // L: 4913 - Message.headIconPkSpritePixels[var88.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); // L: 4914 - } - - if (var88.headIconPrayer != -1) { // L: 4916 - var76 += 25; // L: 4917 - Client.headIconPrayerSpritePixels[var88.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); // L: 4918 - } - } - } - - if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { // L: 4922 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4923 - if (Client.viewportTempX > -1) { // L: 4924 - var76 += headIconHintSpritePixels[1].subHeight; // L: 4925 - headIconHintSpritePixels[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var76); // L: 4926 - } - } - } else { - NPCComposition var89 = ((NPC)var0).definition; // L: 4931 - if (var89.transforms != null) { // L: 4932 - var89 = var89.transform(); - } - - if (var89.headIconPrayer >= 0 && var89.headIconPrayer < Client.headIconPrayerSpritePixels.length) { // L: 4933 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4934 - if (Client.viewportTempX > -1) { // L: 4935 - Client.headIconPrayerSpritePixels[var89.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); // L: 4936 - } - } - - if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { // L: 4939 - GrandExchangeEvents.method144(var0, var0.defaultHeight + 15); // L: 4940 - if (Client.viewportTempX > -1) { // L: 4941 - headIconHintSpritePixels[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); - } - } - } - - if (var0.overheadText != null && (var1 >= var75 || !var0.field953 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { // L: 4944 4945 - GrandExchangeEvents.method144(var0, var0.defaultHeight); // L: 4946 - if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { // L: 4947 - Client.overheadTextXOffsets[Client.overheadTextCount] = GrandExchangeOfferTotalQuantityComparator.fontBold12.stringWidth(var0.overheadText) / 2; // L: 4948 - Client.overheadTextAscents[Client.overheadTextCount] = GrandExchangeOfferTotalQuantityComparator.fontBold12.ascent; // L: 4949 - Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; // L: 4950 - Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; // L: 4951 - Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; // L: 4952 - Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; // L: 4953 - Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; // L: 4954 - Client.overheadText[Client.overheadTextCount] = var0.overheadText; // L: 4955 - ++Client.overheadTextCount; // L: 4956 - } - } - - for (int var77 = 0; var77 < 4; ++var77) { // L: 4960 - int var90 = var0.hitSplatCycles[var77]; // L: 4961 - int var12 = var0.hitSplatTypes[var77]; // L: 4962 - HitSplatDefinition var91 = null; // L: 4963 - int var14 = 0; // L: 4964 - if (var12 >= 0) { // L: 4965 - if (var90 <= Client.cycle) { // L: 4966 - continue; - } - - var91 = class198.method3697(var0.hitSplatTypes[var77]); // L: 4967 - var14 = var91.field3364; // L: 4968 - if (var91 != null && var91.transforms != null) { // L: 4969 - var91 = var91.transform(); // L: 4970 - if (var91 == null) { // L: 4971 - var0.hitSplatCycles[var77] = -1; // L: 4972 - continue; // L: 4973 - } - } - } else if (var90 < 0) { // L: 4977 - continue; - } - - var15 = var0.hitSplatTypes2[var77]; // L: 4978 - HitSplatDefinition var16 = null; // L: 4979 - if (var15 >= 0) { // L: 4980 - var16 = class198.method3697(var15); // L: 4981 - if (var16 != null && var16.transforms != null) { // L: 4982 - var16 = var16.transform(); - } - } - - if (var90 - var14 <= Client.cycle) { // L: 4984 - if (var91 == null) { // L: 4985 - var0.hitSplatCycles[var77] = -1; // L: 4986 - } else { - GrandExchangeEvents.method144(var0, var0.defaultHeight / 2); // L: 4989 - if (Client.viewportTempX > -1) { // L: 4990 - if (var77 == 1) { // L: 4992 - Client.viewportTempY -= 20; // L: 4993 - } - - if (var77 == 2) { // L: 4995 - Client.viewportTempX -= 15; // L: 4996 - Client.viewportTempY -= 10; // L: 4997 - } - - if (var77 == 3) { // L: 4999 - Client.viewportTempX += 15; // L: 5000 - Client.viewportTempY -= 10; // L: 5001 - } - - SpritePixels var18 = null; // L: 5003 - SpritePixels var19 = null; // L: 5004 - SpritePixels var20 = null; // L: 5005 - SpritePixels var21 = null; // L: 5006 - var22 = 0; // L: 5007 - var23 = 0; // L: 5008 - int var24 = 0; // L: 5009 - int var25 = 0; // L: 5010 - int var26 = 0; // L: 5011 - int var27 = 0; // L: 5012 - int var28 = 0; // L: 5013 - int var29 = 0; // L: 5014 - SpritePixels var30 = null; // L: 5015 - SpritePixels var31 = null; // L: 5016 - SpritePixels var32 = null; // L: 5017 - SpritePixels var33 = null; // L: 5018 - int var34 = 0; // L: 5019 - int var35 = 0; // L: 5020 - int var36 = 0; // L: 5021 - int var37 = 0; // L: 5022 - int var38 = 0; // L: 5023 - int var39 = 0; // L: 5024 - int var40 = 0; // L: 5025 - int var41 = 0; // L: 5026 - int var42 = 0; // L: 5027 - var18 = var91.method4583(); // L: 5028 - int var43; - if (var18 != null) { // L: 5029 - var22 = var18.subWidth; // L: 5030 - var43 = var18.subHeight; // L: 5031 - if (var43 > var42) { // L: 5032 - var42 = var43; - } - - var26 = var18.xOffset; // L: 5033 - } - - var19 = var91.method4578(); // L: 5035 - if (var19 != null) { // L: 5036 - var23 = var19.subWidth; // L: 5037 - var43 = var19.subHeight; // L: 5038 - if (var43 > var42) { // L: 5039 - var42 = var43; - } - - var27 = var19.xOffset; // L: 5040 - } - - var20 = var91.method4587(); // L: 5042 - if (var20 != null) { // L: 5043 - var24 = var20.subWidth; // L: 5044 - var43 = var20.subHeight; // L: 5045 - if (var43 > var42) { // L: 5046 - var42 = var43; - } - - var28 = var20.xOffset; // L: 5047 - } - - var21 = var91.method4585(); // L: 5049 - if (var21 != null) { // L: 5050 - var25 = var21.subWidth; // L: 5051 - var43 = var21.subHeight; // L: 5052 - if (var43 > var42) { // L: 5053 - var42 = var43; - } - - var29 = var21.xOffset; // L: 5054 - } - - if (var16 != null) { // L: 5056 - var30 = var16.method4583(); // L: 5057 - if (var30 != null) { // L: 5058 - var34 = var30.subWidth; // L: 5059 - var43 = var30.subHeight; // L: 5060 - if (var43 > var42) { // L: 5061 - var42 = var43; - } - - var38 = var30.xOffset; // L: 5062 - } - - var31 = var16.method4578(); // L: 5064 - if (var31 != null) { // L: 5065 - var35 = var31.subWidth; // L: 5066 - var43 = var31.subHeight; // L: 5067 - if (var43 > var42) { // L: 5068 - var42 = var43; - } - - var39 = var31.xOffset; // L: 5069 - } - - var32 = var16.method4587(); // L: 5071 - if (var32 != null) { // L: 5072 - var36 = var32.subWidth; // L: 5073 - var43 = var32.subHeight; // L: 5074 - if (var43 > var42) { // L: 5075 - var42 = var43; - } - - var40 = var32.xOffset; // L: 5076 - } - - var33 = var16.method4585(); // L: 5078 - if (var33 != null) { // L: 5079 - var37 = var33.subWidth; // L: 5080 - var43 = var33.subHeight; // L: 5081 - if (var43 > var42) { // L: 5082 - var42 = var43; - } - - var41 = var33.xOffset; // L: 5083 - } - } - - Font var78 = var91.getFont(); // L: 5088 - if (var78 == null) { // L: 5089 - var78 = class297.fontPlain11; - } - - Font var44; - if (var16 != null) { // L: 5090 - var44 = var16.getFont(); // L: 5091 - if (var44 == null) { // L: 5092 - var44 = class297.fontPlain11; - } - } else { - var44 = class297.fontPlain11; // L: 5094 - } - - String var45 = null; // L: 5095 - String var46 = null; // L: 5096 - boolean var47 = false; // L: 5097 - int var48 = 0; // L: 5098 - var45 = var91.getString(var0.hitSplatValues[var77]); // L: 5099 - int var92 = var78.stringWidth(var45); // L: 5100 - if (var16 != null) { // L: 5101 - var46 = var16.getString(var0.hitSplatValues2[var77]); // L: 5102 - var48 = var44.stringWidth(var46); // L: 5103 - } - - int var49 = 0; // L: 5105 - int var50 = 0; // L: 5106 - if (var23 > 0) { // L: 5107 - if (var20 == null && var21 == null) { // L: 5108 - var49 = 1; // L: 5109 - } else { - var49 = var92 / var23 + 1; - } - } - - if (var16 != null && var35 > 0) { // L: 5111 5112 - if (var32 == null && var33 == null) { // L: 5113 - var50 = 1; // L: 5114 - } else { - var50 = var48 / var35 + 1; - } - } - - int var51 = 0; // L: 5117 - int var52 = var51; // L: 5118 - if (var22 > 0) { // L: 5119 - var51 += var22; - } - - var51 += 2; // L: 5120 - int var53 = var51; // L: 5121 - if (var24 > 0) { // L: 5122 - var51 += var24; - } - - int var54 = var51; // L: 5123 - int var55 = var51; // L: 5124 - int var56; - if (var23 > 0) { // L: 5125 - var56 = var23 * var49; // L: 5126 - var51 += var56; // L: 5127 - var55 += (var56 - var92) / 2; // L: 5128 - } else { - var51 += var92; // L: 5131 - } - - var56 = var51; // L: 5133 - if (var25 > 0) { // L: 5134 - var51 += var25; - } - - int var57 = 0; // L: 5135 - int var58 = 0; // L: 5136 - int var59 = 0; // L: 5137 - int var60 = 0; // L: 5138 - int var61 = 0; // L: 5139 - int var62; - if (var16 != null) { // L: 5140 - var51 += 2; // L: 5141 - var57 = var51; // L: 5142 - if (var34 > 0) { // L: 5143 - var51 += var34; - } - - var51 += 2; // L: 5144 - var58 = var51; // L: 5145 - if (var36 > 0) { // L: 5146 - var51 += var36; - } - - var59 = var51; // L: 5147 - var61 = var51; // L: 5148 - if (var35 > 0) { // L: 5149 - var62 = var50 * var35; // L: 5150 - var51 += var62; // L: 5151 - var61 += (var62 - var48) / 2; // L: 5152 - } else { - var51 += var48; // L: 5155 - } - - var60 = var51; // L: 5157 - if (var37 > 0) { // L: 5158 - var51 += var37; - } - } - - var62 = var0.hitSplatCycles[var77] - Client.cycle; // L: 5160 - int var63 = var91.field3377 - var62 * var91.field3377 / var91.field3364; // L: 5161 - int var64 = var62 * var91.field3353 / var91.field3364 + -var91.field3353; // L: 5162 - int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1)); // L: 5163 - int var66 = var3 + Client.viewportTempY - 12 + var64; // L: 5164 - int var67 = var66; // L: 5165 - int var68 = var42 + var66; // L: 5166 - int var69 = var66 + var91.field3374 + 15; // L: 5167 - int var70 = var69 - var78.maxAscent; // L: 5168 - int var71 = var69 + var78.maxDescent; // L: 5169 - if (var70 < var66) { // L: 5170 - var67 = var70; - } - - if (var71 > var68) { // L: 5171 - var68 = var71; - } - - int var72 = 0; // L: 5172 - int var73; - int var74; - if (var16 != null) { // L: 5173 - var72 = var66 + var16.field3374 + 15; // L: 5174 - var73 = var72 - var44.maxAscent; // L: 5175 - var74 = var72 + var44.maxDescent; // L: 5176 - if (var73 < var67) { // L: 5177 - ; - } - - if (var74 > var68) { // L: 5178 - ; - } - } - - var73 = 255; // L: 5180 - if (var91.field3378 >= 0) { // L: 5181 - var73 = (var62 << 8) / (var91.field3364 - var91.field3378); - } - - if (var73 >= 0 && var73 < 255) { // L: 5182 - if (var18 != null) { // L: 5183 - var18.drawTransAt(var52 + var65 - var26, var66, var73); - } - - if (var20 != null) { // L: 5184 - var20.drawTransAt(var53 + var65 - var28, var66, var73); - } - - if (var19 != null) { // L: 5185 - for (var74 = 0; var74 < var49; ++var74) { // L: 5186 - var19.drawTransAt(var74 * var23 + (var54 + var65 - var27), var66, var73); // L: 5187 - } - } - - if (var21 != null) { // L: 5190 - var21.drawTransAt(var65 + var56 - var29, var66, var73); - } - - var78.drawAlpha(var45, var65 + var55, var69, var91.textColor, 0, var73); // L: 5191 - if (var16 != null) { // L: 5192 - if (var30 != null) { // L: 5193 - var30.drawTransAt(var57 + var65 - var38, var66, var73); - } - - if (var32 != null) { // L: 5194 - var32.drawTransAt(var58 + var65 - var40, var66, var73); - } - - if (var31 != null) { // L: 5195 - for (var74 = 0; var74 < var50; ++var74) { // L: 5196 - var31.drawTransAt(var35 * var74 + (var59 + var65 - var39), var66, var73); // L: 5197 - } - } - - if (var33 != null) { // L: 5200 - var33.drawTransAt(var65 + var60 - var41, var66, var73); - } - - var44.drawAlpha(var46, var65 + var61, var72, var16.textColor, 0, var73); // L: 5201 - } - } else { - if (var18 != null) { // L: 5205 - var18.drawTransBgAt(var52 + var65 - var26, var66); - } - - if (var20 != null) { // L: 5206 - var20.drawTransBgAt(var53 + var65 - var28, var66); - } - - if (var19 != null) { // L: 5207 - for (var74 = 0; var74 < var49; ++var74) { // L: 5208 - var19.drawTransBgAt(var74 * var23 + (var65 + var54 - var27), var66); // L: 5209 - } - } - - if (var21 != null) { // L: 5212 - var21.drawTransBgAt(var56 + var65 - var29, var66); - } - - var78.draw(var45, var65 + var55, var69, var91.textColor | -16777216, 0); // L: 5213 - if (var16 != null) { // L: 5214 - if (var30 != null) { // L: 5215 - var30.drawTransBgAt(var65 + var57 - var38, var66); - } - - if (var32 != null) { // L: 5216 - var32.drawTransBgAt(var65 + var58 - var40, var66); - } - - if (var31 != null) { // L: 5217 - for (var74 = 0; var74 < var50; ++var74) { // L: 5218 - var31.drawTransBgAt(var35 * var74 + (var59 + var65 - var39), var66); // L: 5219 - } - } - - if (var33 != null) { // L: 5222 - var33.drawTransBgAt(var65 + var60 - var41, var66); - } - - var44.draw(var46, var65 + var61, var72, var16.textColor | -16777216, 0); // L: 5223 - } - } - } - } - } - } - - } - } // L: 5228 - - @ObfuscatedName("ld") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZB)Ljava/lang/String;", - garbageValue = "11" - ) - static String method632(String var0, boolean var1) { - String var2 = var1 ? "https://" : "http://"; // L: 11071 - if (Client.gameBuild == 1) { // L: 11072 - var0 = var0 + "-wtrc"; - } else if (Client.gameBuild == 2) { // L: 11073 - var0 = var0 + "-wtqa"; - } else if (Client.gameBuild == 3) { // L: 11074 - var0 = var0 + "-wtwip"; - } else if (Client.gameBuild == 5) { // L: 11075 - var0 = var0 + "-wti"; - } else if (Client.gameBuild == 4) { // L: 11076 - var0 = "local"; - } - - String var3 = ""; // L: 11077 - if (WorldMapSection1.field317 != null) { // L: 11078 - var3 = "/p=" + WorldMapSection1.field317; - } - - String var4 = "runescape.com"; // L: 11079 - return var2 + var0 + "." + var4 + "/l=" + WorldMapScaleHandler.clientLanguage + "/a=" + MidiPcmStream.field2455 + var3 + "/"; // L: 11080 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("coord2") + public final Coord coord2; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("coord1") + public final Coord coord1; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -945361989 + ) + @Export("screenX") + int screenX; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1326787305 + ) + @Export("screenY") + int screenY; + + @ObfuscatedSignature( + descriptor = "(Lhd;Lhd;)V" + ) + AbstractWorldMapIcon(Coord var1, Coord var2) { + this.coord1 = var1; + this.coord2 = var2; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "7" + ) + @Export("getElement") + public abstract int getElement(); + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(S)Laa;", + garbageValue = "31041" + ) + @Export("getLabel") + abstract WorldMapLabel getLabel(); + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-413607837" + ) + @Export("getSubWidth") + abstract int getSubWidth(); + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1875187157" + ) + @Export("getSubHeight") + abstract int getSubHeight(); + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "8" + ) + @Export("fitsScreen") + boolean fitsScreen(int var1, int var2) { + if (this.elementFitsScreen(var1, var2)) { + return true; + } else { + return this.labelFitsScreen(var1, var2); + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "0" + ) + @Export("hasValidElement") + boolean hasValidElement() { + return this.getElement() >= 0; + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-24" + ) + @Export("elementFitsScreen") + boolean elementFitsScreen(int var1, int var2) { + if (!this.hasValidElement()) { + return false; + } else { + WorldMapElement var3 = InvDefinition.WorldMapElement_get(this.getElement()); + int var4 = this.getSubWidth(); + int var5 = this.getSubHeight(); + switch(var3.horizontalAlignment.value) { + case 0: + if (var1 <= this.screenX - var4 || var1 > this.screenX) { + return false; + } + break; + case 1: + if (var1 >= this.screenX && var1 < var4 + this.screenX) { + break; + } + + return false; + case 2: + if (var1 < this.screenX - var4 / 2 || var1 > var4 / 2 + this.screenX) { + return false; + } + } + + switch(var3.verticalAlignment.value) { + case 0: + if (var2 > this.screenY - var5 && var2 <= this.screenY) { + break; + } + + return false; + case 1: + if (var2 >= this.screenY && var2 < var5 + this.screenY) { + break; + } + + return false; + case 2: + if (var2 < this.screenY - var5 / 2 || var2 > var5 / 2 + this.screenY) { + return false; + } + } + + return true; + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(III)Z", + garbageValue = "1453906321" + ) + @Export("labelFitsScreen") + boolean labelFitsScreen(int var1, int var2) { + WorldMapLabel var3 = this.getLabel(); + if (var3 == null) { + return false; + } else if (var1 >= this.screenX - var3.width / 2 && var1 <= var3.width / 2 + this.screenX) { + return var2 >= this.screenY && var2 <= var3.height + this.screenY; + } else { + return false; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "2147435814" + ) + public static int method710(int var0) { + return class25.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var0]); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1537886729" + ) + static int method713(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETHIDE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETLAYER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("gr") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-83873281" + ) + static final int method712() { + if (WorldMapSectionType.clientPreferences.roofsHidden) { + return class90.Client_plane; + } else { + int var0 = 3; + if (KeyHandler.cameraPitch < 310) { + label167: { + int var1; + int var2; + if (Client.oculusOrbState == 1) { + var1 = HealthBarUpdate.oculusOrbFocalPointX >> 7; + var2 = ApproximateRouteStrategy.oculusOrbFocalPointY >> 7; + } else { + var1 = UserComparator9.localPlayer.x >> 7; + var2 = UserComparator9.localPlayer.y >> 7; + } + + int var3 = SecureRandomFuture.cameraX >> 7; + int var4 = ObjectSound.cameraZ >> 7; + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + if (var1 >= 0 && var2 >= 0 && var1 < 104 && var2 < 104) { + if ((Tiles.Tiles_renderFlags[class90.Client_plane][var3][var4] & 4) != 0) { + var0 = class90.Client_plane; + } + + int var5; + if (var1 > var3) { + var5 = var1 - var3; + } else { + var5 = var3 - var1; + } + + int var6; + if (var2 > var4) { + var6 = var2 - var4; + } else { + var6 = var4 - var2; + } + + int var7; + int var8; + if (var5 > var6) { + var7 = var6 * 65536 / var5; + var8 = 32768; + + while(true) { + if (var1 == var3) { + break label167; + } + + if (var3 < var1) { + ++var3; + } else if (var3 > var1) { + --var3; + } + + if ((Tiles.Tiles_renderFlags[class90.Client_plane][var3][var4] & 4) != 0) { + var0 = class90.Client_plane; + } + + var8 += var7; + if (var8 >= 65536) { + var8 -= 65536; + if (var4 < var2) { + ++var4; + } else if (var4 > var2) { + --var4; + } + + if ((Tiles.Tiles_renderFlags[class90.Client_plane][var3][var4] & 4) != 0) { + var0 = class90.Client_plane; + } + } + } + } else { + if (var6 > 0) { + var7 = var5 * 65536 / var6; + var8 = 32768; + + while(var4 != var2) { + if (var4 < var2) { + ++var4; + } else if (var4 > var2) { + --var4; + } + + if ((Tiles.Tiles_renderFlags[class90.Client_plane][var3][var4] & 4) != 0) { + var0 = class90.Client_plane; + } + + var8 += var7; + if (var8 >= 65536) { + var8 -= 65536; + if (var3 < var1) { + ++var3; + } else if (var3 > var1) { + --var3; + } + + if ((Tiles.Tiles_renderFlags[class90.Client_plane][var3][var4] & 4) != 0) { + var0 = class90.Client_plane; + } + } + } + } + break label167; + } + } + + return class90.Client_plane; + } + + return class90.Client_plane; + } + } + + if (UserComparator9.localPlayer.x >= 0 && UserComparator9.localPlayer.y >= 0 && UserComparator9.localPlayer.x < 13312 && UserComparator9.localPlayer.y < 13312) { + if ((Tiles.Tiles_renderFlags[class90.Client_plane][UserComparator9.localPlayer.x >> 7][UserComparator9.localPlayer.y >> 7] & 4) != 0) { + var0 = class90.Client_plane; + } + + return var0; + } else { + return class90.Client_plane; + } + } + } + + @ObfuscatedName("hk") + @ObfuscatedSignature( + descriptor = "(IIIILjava/lang/String;Ljava/lang/String;IIB)V", + garbageValue = "58" + ) + @Export("menuAction") + static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { + if (var2 >= 2000) { + var2 -= 2000; + } + + PacketBufferNode var8; + if (var2 == 1) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2247, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(KeyHandler.selectedItemId); + var8.packetBuffer.method5725(var3); + var8.packetBuffer.method5725(class195.selectedItemSlot); + var8.packetBuffer.writeShortLE(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.method5876(ClientPacket.selectedItemWidget); + Client.packetWriter.addNode(var8); + } else if (var2 == 2) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2309, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5883(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5781(MidiPcmStream.selectedSpellWidget); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + var8.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + var8.packetBuffer.writeShortLE(GrandExchangeOfferNameComparator.baseX * 64 + var0); + Client.packetWriter.addNode(var8); + } else if (var2 == 3) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2323, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5725(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5725(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + } else if (var2 == 4) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2307, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5725(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(GrandExchangeOfferNameComparator.baseX * 64 + var0); + Client.packetWriter.addNode(var8); + } else if (var2 == 5) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2324, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.writeIntME(NetCache.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + } else if (var2 == 6) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2246, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2271, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5781(ClientPacket.selectedItemWidget); + var9.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShort(KeyHandler.selectedItemId); + var9.packetBuffer.method5725(var3); + var9.packetBuffer.writeShort(class195.selectedItemSlot); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2267, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(var3); + var9.packetBuffer.writeInt(MidiPcmStream.selectedSpellWidget); + var9.packetBuffer.writeShort(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2236, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5883(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5725(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2235, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2292, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5725(var3); + var9.packetBuffer.method5883(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5725(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2312, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeIntME(var3); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var9); + } + } 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2265, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5876(ClientPacket.selectedItemWidget); + var9.packetBuffer.method5725(class195.selectedItemSlot); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.writeShortLE(KeyHandler.selectedItemId); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2325, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(var3); + var9.packetBuffer.writeIntME(Client.selectedSpellChildIndex); + var9.packetBuffer.method5876(MidiPcmStream.selectedSpellWidget); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShort(KeyHandler.selectedItemId); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + var8.packetBuffer.writeIntME(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.method5883(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(class195.selectedItemSlot); + var8.packetBuffer.method5876(ClientPacket.selectedItemWidget); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2266, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5725(Client.selectedSpellChildIndex); + var8.packetBuffer.method5736(MidiPcmStream.selectedSpellWidget); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + var8.packetBuffer.writeShort(GrandExchangeOfferNameComparator.baseX * 64 + var0); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2282, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5725(var3); + var8.packetBuffer.writeShort(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.method5778(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.method5725(var3); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2287, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeShortLE(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeShortLE(GrandExchangeOfferNameComparator.baseX * 64 + var0); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + var8.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.method5725(GrandExchangeOfferNameComparator.baseX * 64 + var0); + 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(NetCache.baseY * 64 + var1); + var8.packetBuffer.writeIntME(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(var8); + } else if (var2 == 23) { + if (Client.isMenuOpen) { + MilliClock.scene.setViewportWalking(); + } else { + MilliClock.scene.menuOpen(class90.Client_plane, var0, var1, true); + } + } else { + PacketBufferNode var11; + Widget var16; + if (var2 == 24) { + var16 = class237.getWidget(var1); + boolean var12 = true; + if (var16.contentType > 0) { + var12 = WorldMapLabelSize.method254(var16); + } + + if (var12) { + var11 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var11); + } + } else { + if (var2 == 25) { + var16 = ArchiveLoader.getWidgetChild(var1, var0); + if (var16 != null) { + WorldMapSection2.Widget_runOnTargetLeave(); + ArchiveDisk.selectSpell(var1, var0, MusicPatch.Widget_unpackTargetMask(class60.getWidgetFlags(var16)), var16.itemId); + Client.isItemSelected = 0; + Client.selectedSpellActionName = Player.Widget_getSpellActionName(var16); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + if (var16.isIf3) { + Client.selectedSpellName = var16.dataText + FileSystem.colorStartTag(16777215); + } else { + Client.selectedSpellName = FileSystem.colorStartTag(65280) + var16.spellName + FileSystem.colorStartTag(16777215); + } + } + + return; + } + + if (var2 == 26) { + ModeWhere.method3878(); + } else { + int var10; + Widget var14; + if (var2 == 28) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = class237.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var10 = var14.cs1Instructions[0][1]; + Varps.Varps_main[var10] = 1 - Varps.Varps_main[var10]; + changeGameOptions(var10); + } + } else if (var2 == 29) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + Client.packetWriter.addNode(var8); + var14 = class237.getWidget(var1); + if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { + var10 = var14.cs1Instructions[0][1]; + if (Varps.Varps_main[var10] != var14.cs1ComparisonValues[0]) { + Varps.Varps_main[var10] = var14.cs1ComparisonValues[0]; + changeGameOptions(var10); + } + } + } else if (var2 == 30) { + if (Client.meslayerContinueWidget == null) { + class25.resumePauseWidget(var1, var0); + Client.meslayerContinueWidget = ArchiveLoader.getWidgetChild(var1, var0); + IsaacCipher.invalidateWidget(Client.meslayerContinueWidget); + } + } else if (var2 == 31) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2330, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5781(ClientPacket.selectedItemWidget); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeIntME(KeyHandler.selectedItemId); + var8.packetBuffer.writeShort(class195.selectedItemSlot); + var8.packetBuffer.method5876(var1); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 32) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2284, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.method5876(MidiPcmStream.selectedSpellWidget); + var8.packetBuffer.method5736(var1); + var8.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 33) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5781(var1); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeShortLE(var0); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 34) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2251, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.method5781(var1); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 35) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2316, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 36) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2318, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.method5725(var3); + var8.packetBuffer.method5876(var1); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 37) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5736(var1); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.writeIntME(var0); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else { + if (var2 == 38) { + WorldMapSection2.Widget_runOnTargetLeave(); + var16 = class237.getWidget(var1); + Client.isItemSelected = 1; + class195.selectedItemSlot = var0; + ClientPacket.selectedItemWidget = var1; + KeyHandler.selectedItemId = var3; + IsaacCipher.invalidateWidget(var16); + Client.selectedItemName = FileSystem.colorStartTag(16748608) + class281.ItemDefinition_get(var3).name + FileSystem.colorStartTag(16777215); + if (Client.selectedItemName == null) { + Client.selectedItemName = "null"; + } + + return; + } + + if (var2 == 39) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2255, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5876(var1); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 40) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2294, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeInt(var1); + var8.packetBuffer.method5725(var3); + var8.packetBuffer.method5725(var0); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 41) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2232, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5876(var1); + var8.packetBuffer.writeIntME(var0); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 42) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2281, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5725(var0); + var8.packetBuffer.writeShort(var3); + var8.packetBuffer.method5736(var1); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + } else if (var2 == 43) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2297, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var0); + var8.packetBuffer.method5736(var1); + var8.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var8); + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = 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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2313, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2242, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2278, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.method5725(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2275, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShortLE(var3); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2233, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5725(var3); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeShort(var3); + var9.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2308, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5883(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(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 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2327, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5931(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var9.packetBuffer.writeShortLE(var3); + Client.packetWriter.addNode(var9); + } + } else { + label637: { + if (var2 != 57) { + if (var2 == 58) { + var16 = ArchiveLoader.getWidgetChild(var1, var0); + if (var16 != null) { + var9 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2244, Client.packetWriter.isaacCipher); + var9.packetBuffer.writeInt(MidiPcmStream.selectedSpellWidget); + var9.packetBuffer.writeIntME(var16.itemId); + var9.packetBuffer.method5725(Client.field821); + var9.packetBuffer.writeIntME(var0); + var9.packetBuffer.method5876(var1); + var9.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); + Client.packetWriter.addNode(var9); + } + break label637; + } + + if (var2 == 1001) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + Client.destinationX = var0; + Client.destinationY = var1; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2288, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(GrandExchangeOfferNameComparator.baseX * 64 + var0); + var8.packetBuffer.writeIntME(var3); + var8.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); + var8.packetBuffer.method5725(NetCache.baseY * 64 + var1); + Client.packetWriter.addNode(var8); + break label637; + } + + if (var2 == 1002) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeIntME(var3); + Client.packetWriter.addNode(var8); + break label637; + } + + if (var2 == 1003) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var13 = Client.npcs[var3]; + if (var13 != null) { + NPCComposition var17 = var13.definition; + if (var17.transforms != null) { + var17 = var17.transform(); + } + + if (var17 != null) { + var11 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeShort(var17.id); + Client.packetWriter.addNode(var11); + } + } + break label637; + } + + if (var2 == 1004) { + Client.mouseCrossX = var6; + Client.mouseCrossY = var7; + Client.mouseCrossColor = 2; + Client.mouseCrossState = 0; + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2333, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5725(var3); + Client.packetWriter.addNode(var8); + break label637; + } + + if (var2 == 1005) { + var16 = class237.getWidget(var1); + if (var16 != null && var16.itemQuantities[var0] >= 100000) { + AbstractWorldMapData.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + class281.ItemDefinition_get(var3).name); + } else { + var9 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2333, Client.packetWriter.isaacCipher); + var9.packetBuffer.method5725(var3); + Client.packetWriter.addNode(var9); + } + + Client.field770 = 0; + WorldMapSprite.field260 = class237.getWidget(var1); + Client.field931 = var0; + break label637; + } + + if (var2 != 1007) { + if (var2 == 1012 || var2 == 1008 || var2 == 1011 || var2 == 1009 || var2 == 1010) { + SoundSystem.worldMap.worldMapMenuAction(var2, var3, new Coord(var0), new Coord(var1)); + } + break label637; + } + } + + var16 = ArchiveLoader.getWidgetChild(var1, var0); + if (var16 != null) { + ApproximateRouteStrategy.widgetDefaultMenuAction(var3, var1, var0, var16.itemId, var5); + } + } + } + } + } + } + } + } + } + + if (Client.isItemSelected != 0) { + Client.isItemSelected = 0; + IsaacCipher.invalidateWidget(class237.getWidget(ClientPacket.selectedItemWidget)); + } + + if (Client.isSpellSelected) { + WorldMapSection2.Widget_runOnTargetLeave(); + } + + if (WorldMapSprite.field260 != null && Client.field770 == 0) { + IsaacCipher.invalidateWidget(WorldMapSprite.field260); + } + + } + + @ObfuscatedName("im") + @ObfuscatedSignature( + descriptor = "(IB)Z", + garbageValue = "24" + ) + static boolean method685(int var0) { + return var0 == 57 || var0 == 58 || var0 == 1007 || var0 == 25 || var0 == 30; + } + + @ObfuscatedName("jb") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "90" + ) + @Export("changeGameOptions") + static final void changeGameOptions(int var0) { + class219.method4171(); + + for(ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.obj != null) { + var1.set(); + } + } + + int var3 = class204.VarpDefinition_get(var0).type; + if (var3 != 0) { + int var2 = Varps.Varps_main[var0]; + if (var3 == 1) { + if (var2 == 1) { + Decimator.method2707(0.9D); + } + + if (var2 == 2) { + Decimator.method2707(0.8D); + } + + if (var2 == 3) { + Decimator.method2707(0.7D); + } + + if (var2 == 4) { + Decimator.method2707(0.6D); + } + } + + if (var3 == 3) { + if (var2 == 0) { + class194.method3820(255); + } + + if (var2 == 1) { + class194.method3820(192); + } + + if (var2 == 2) { + class194.method3820(128); + } + + if (var2 == 3) { + class194.method3820(64); + } + + if (var2 == 4) { + class194.method3820(0); + } + } + + if (var3 == 4) { + if (var2 == 0) { + class171.method3641(127); + } + + if (var2 == 1) { + class171.method3641(96); + } + + if (var2 == 2) { + class171.method3641(64); + } + + if (var2 == 3) { + class171.method3641(32); + } + + if (var2 == 4) { + class171.method3641(0); + } + } + + if (var3 == 5) { + Client.leftClickOpensMenu = var2; + } + + if (var3 == 6) { + Client.chatEffects = var2; + } + + if (var3 == 9) { + Client.field829 = var2; + } + + if (var3 == 10) { + if (var2 == 0) { + WorldMapData_1.method810(127); + } + + if (var2 == 1) { + WorldMapData_1.method810(96); + } + + if (var2 == 2) { + WorldMapData_1.method810(64); + } + + if (var2 == 3) { + WorldMapData_1.method810(32); + } + + if (var2 == 4) { + WorldMapData_1.method810(0); + } + } + + if (var3 == 17) { + Client.followerIndex = var2 & '\uffff'; + } + + if (var3 == 18) { + Client.playerAttackOption = (AttackOption)InterfaceParent.findEnumerated(ApproximateRouteStrategy.method1310(), var2); + if (Client.playerAttackOption == null) { + Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + if (var3 == 19) { + if (var2 == -1) { + Client.combatTargetPlayerIndex = -1; + } else { + Client.combatTargetPlayerIndex = var2 & 2047; + } + } + + if (var3 == 22) { + Client.npcAttackOption = (AttackOption)InterfaceParent.findEnumerated(ApproximateRouteStrategy.method1310(), var2); + if (Client.npcAttackOption == null) { + Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; + } + } + + } + } } diff --git a/runescape-client/src/main/java/AccessFile.java b/runescape-client/src/main/java/AccessFile.java index d071dcdc85..45362c673c 100644 --- a/runescape-client/src/main/java/AccessFile.java +++ b/runescape-client/src/main/java/AccessFile.java @@ -9,136 +9,134 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("my") +@ObfuscatedName("mc") @Implements("AccessFile") public final class AccessFile { - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - static IndexedSprite field4101; - @ObfuscatedName("h") - @Export("file") - RandomAccessFile file; - @ObfuscatedName("v") - @ObfuscatedGetter( - longValue = -7380330136847105263L - ) - @Export("maxSize") - final long maxSize; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = -1174371793280964259L - ) - @Export("offset") - long offset; + @ObfuscatedName("bt") + static String field4100; + @ObfuscatedName("n") + @Export("file") + RandomAccessFile file; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = -2650488931214741245L + ) + @Export("maxSize") + final long maxSize; + @ObfuscatedName("d") + @ObfuscatedGetter( + longValue = 961611975907817877L + ) + @Export("offset") + long offset; - public AccessFile(File var1, String var2, long var3) throws IOException { - if (var3 == -1L) { // L: 11 - var3 = Long.MAX_VALUE; - } + public AccessFile(File var1, String var2, long var3) throws IOException { + if (var3 == -1L) { + var3 = Long.MAX_VALUE; + } - if (var1.length() > var3) { // L: 12 - var1.delete(); // L: 13 - } + if (var1.length() > var3) { + var1.delete(); + } - this.file = new RandomAccessFile(var1, var2); // L: 15 - this.maxSize = var3; // L: 16 - this.offset = 0L; // L: 17 - int var5 = this.file.read(); // L: 18 - if (var5 != -1 && !var2.equals("r")) { // L: 19 - this.file.seek(0L); // L: 20 - this.file.write(var5); // L: 21 - } + this.file = new RandomAccessFile(var1, var2); + this.maxSize = var3; + this.offset = 0L; + int var5 = this.file.read(); + if (var5 != -1 && !var2.equals("r")) { + this.file.seek(0L); + this.file.write(var5); + } - this.file.seek(0L); // L: 23 - } // L: 24 + this.file.seek(0L); + } - @ObfuscatedName("h") - @Export("seek") - final void seek(long var1) throws IOException { - this.file.seek(var1); // L: 27 - this.offset = var1; // L: 28 - } // L: 29 + @ObfuscatedName("n") + @Export("seek") + final void seek(long var1) throws IOException { + this.file.seek(var1); + this.offset = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "65432301" - ) - @Export("write") - public final void write(byte[] var1, int var2, int var3) throws IOException { - if (this.offset + (long)var3 > this.maxSize) { // L: 32 - this.file.seek(this.maxSize); // L: 33 - this.file.write(1); // L: 34 - throw new EOFException(); // L: 35 - } else { - this.file.write(var1, var2, var3); // L: 37 - this.offset += (long)var3; // L: 38 - } - } // L: 39 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "1425903826" + ) + @Export("write") + public final void write(byte[] var1, int var2, int var3) throws IOException { + if ((long)var3 + this.offset > this.maxSize) { + this.file.seek(this.maxSize); + this.file.write(1); + throw new EOFException(); + } else { + this.file.write(var1, var2, var3); + this.offset += (long)var3; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "0" - ) - @Export("close") - public final void close() throws IOException { - this.closeSync(false); // L: 42 - } // L: 43 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-64" + ) + @Export("close") + public final void close() throws IOException { + this.closeSync(false); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "1712398850" - ) - @Export("closeSync") - public final void closeSync(boolean var1) throws IOException { - if (this.file != null) { // L: 46 - if (var1) { // L: 47 - try { - this.file.getFD().sync(); // L: 49 - } catch (SyncFailedException var3) { // L: 51 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(ZB)V", + garbageValue = "-49" + ) + @Export("closeSync") + public final void closeSync(boolean var1) throws IOException { + if (this.file != null) { + if (var1) { + try { + this.file.getFD().sync(); + } catch (SyncFailedException var3) { + ; + } + } - this.file.close(); // L: 53 - this.file = null; // L: 54 - } + this.file.close(); + this.file = null; + } - } // L: 56 + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)J", - garbageValue = "-829870446" - ) - @Export("length") - public final long length() throws IOException { - return this.file.length(); // L: 59 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)J", + garbageValue = "29" + ) + @Export("length") + public final long length() throws IOException { + return this.file.length(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "-660560166" - ) - @Export("read") - public final int read(byte[] var1, int var2, int var3) throws IOException { - int var4 = this.file.read(var1, var2, var3); // L: 63 - if (var4 > 0) { - this.offset += (long)var4; // L: 64 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "([BIII)I", + garbageValue = "425130802" + ) + @Export("read") + public final int read(byte[] var1, int var2, int var3) throws IOException { + int var4 = this.file.read(var1, var2, var3); + if (var4 > 0) { + this.offset += (long)var4; + } - return var4; // L: 65 - } + return var4; + } - protected void finalize() throws Throwable { - if (this.file != null) { // L: 69 - System.out.println(""); // L: 70 - this.close(); // L: 71 - } + protected void finalize() throws Throwable { + if (this.file != null) { + System.out.println(""); + this.close(); + } - } // L: 73 + } } diff --git a/runescape-client/src/main/java/Actor.java b/runescape-client/src/main/java/Actor.java index 580d028e2e..1c6bc11864 100644 --- a/runescape-client/src/main/java/Actor.java +++ b/runescape-client/src/main/java/Actor.java @@ -1,631 +1,578 @@ +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cx") +@ObfuscatedName("cv") @Implements("Actor") -public abstract class Actor extends Renderable -{ - @ObfuscatedName("hg") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("mapDotSprites") - static SpritePixels[] mapDotSprites; - @ObfuscatedName("an") - @Export("isWalking") - boolean isWalking; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -164376935 - ) - @Export("x") - int x; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1393247939 - ) - @Export("y") - int y; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -1676669577 - ) - @Export("rotation") - int rotation; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -824647789 - ) - int field941; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -545590403 - ) - @Export("playerCycle") - int playerCycle; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1349814771 - ) - @Export("idleSequence") - int idleSequence; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 1202521559 - ) - @Export("turnLeftSequence") - int turnLeftSequence; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 514642555 - ) - @Export("turnRightSequence") - int turnRightSequence; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 211635629 - ) - @Export("walkSequence") - int walkSequence; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 1470742753 - ) - @Export("walkBackSequence") - int walkBackSequence; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 1189589409 - ) - @Export("walkLeftSequence") - int walkLeftSequence; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -225179451 - ) - @Export("walkRightSequence") - int walkRightSequence; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -547384873 - ) - @Export("runSequence") - int runSequence; - @ObfuscatedName("ap") - @Export("overheadText") - String overheadText; - @ObfuscatedName("ad") - @Export("isAutoChatting") - boolean isAutoChatting; - @ObfuscatedName("ai") - boolean field953; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -1570740193 - ) - @Export("overheadTextCyclesRemaining") - int overheadTextCyclesRemaining; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1034227111 - ) - @Export("overheadTextColor") - int overheadTextColor; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -150751555 - ) - @Export("overheadTextEffect") - int overheadTextEffect; - @ObfuscatedName("az") - @Export("hitSplatCount") - byte hitSplatCount; - @ObfuscatedName("at") - @Export("hitSplatTypes") - int[] hitSplatTypes; - @ObfuscatedName("bh") - @Export("hitSplatValues") - int[] hitSplatValues; - @ObfuscatedName("by") - @Export("hitSplatCycles") - int[] hitSplatCycles; - @ObfuscatedName("bs") - @Export("hitSplatTypes2") - int[] hitSplatTypes2; - @ObfuscatedName("br") - @Export("hitSplatValues2") - int[] hitSplatValues2; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Ljn;" - ) - @Export("healthBars") - IterableNodeDeque healthBars; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = 1378723849 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("bf") - @Export("false0") - boolean false0; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = 1723621713 - ) - int field959; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 66905399 - ) - @Export("movementSequence") - int movementSequence; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = 1817256849 - ) - @Export("movementFrame") - int movementFrame; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = -2112770449 - ) - @Export("movementFrameCycle") - int movementFrameCycle; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 2008675691 - ) - @Export("sequence") - int sequence; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = 1716773013 - ) - @Export("sequenceFrame") - int sequenceFrame; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = -1725354425 - ) - @Export("sequenceFrameCycle") - int sequenceFrameCycle; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = 772627963 - ) - @Export("sequenceDelay") - int sequenceDelay; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -1988310499 - ) - int field974; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = 1707465321 - ) - @Export("spotAnimation") - int spotAnimation; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 2143799121 - ) - @Export("spotAnimationFrame") - int spotAnimationFrame; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = -1610783339 - ) - @Export("spotAnimationFrameCycle") - int spotAnimationFrameCycle; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = -11622765 - ) - int field978; - @ObfuscatedName("bv") - @ObfuscatedGetter( - intValue = 843591835 - ) - int field979; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = 450740853 - ) - int field981; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = -222499745 - ) - int field958; - @ObfuscatedName("bq") - @ObfuscatedGetter( - intValue = -730625153 - ) - int field982; - @ObfuscatedName("be") - @ObfuscatedGetter( - intValue = -447390819 - ) - int field956; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = -556199195 - ) - int field984; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = -1930886253 - ) - int field973; - @ObfuscatedName("ci") - @ObfuscatedGetter( - intValue = 287969781 - ) - int field986; - @ObfuscatedName("cj") - @ObfuscatedGetter( - intValue = 1778031273 - ) - @Export("npcCycle") - int npcCycle; - @ObfuscatedName("ca") - @ObfuscatedGetter( - intValue = 197743289 - ) - @Export("defaultHeight") - int defaultHeight; - @ObfuscatedName("cd") - @ObfuscatedGetter( - intValue = 1792117497 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = 494801965 - ) - int field954; - @ObfuscatedName("cz") - @ObfuscatedGetter( - intValue = -87751045 - ) - int field940; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = -835146171 - ) - @Export("pathLength") - int pathLength; - @ObfuscatedName("ce") - @Export("pathX") - int[] pathX; - @ObfuscatedName("cb") - @Export("pathY") - int[] pathY; - @ObfuscatedName("cf") - @Export("pathTraversed") - byte[] pathTraversed; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 541721127 - ) - int field963; - @ObfuscatedName("ch") - @ObfuscatedGetter( - intValue = -884102379 - ) - int field996; +public abstract class Actor extends Renderable { + @ObfuscatedName("hs") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("modIconSprites") + static IndexedSprite[] modIconSprites; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 136172069 + ) + @Export("x") + int x; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -1402910771 + ) + @Export("y") + int y; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -1011628117 + ) + @Export("rotation") + int rotation; + @ObfuscatedName("at") + @Export("isWalking") + boolean isWalking = false; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -477017185 + ) + int field1007 = 1; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = 1508823583 + ) + @Export("playerCycle") + int playerCycle; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 1984168657 + ) + @Export("idleSequence") + int idleSequence = -1; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 845088399 + ) + @Export("turnLeftSequence") + int turnLeftSequence = -1; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -1336726555 + ) + @Export("turnRightSequence") + int turnRightSequence = -1; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -1451963771 + ) + @Export("walkSequence") + int walkSequence = -1; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = 2000722135 + ) + @Export("walkBackSequence") + int walkBackSequence = -1; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 207993293 + ) + @Export("walkLeftSequence") + int walkLeftSequence = -1; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 1423094315 + ) + @Export("walkRightSequence") + int walkRightSequence = -1; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 1748919145 + ) + @Export("runSequence") + int runSequence = -1; + @ObfuscatedName("aj") + @Export("overheadText") + String overheadText = null; + @ObfuscatedName("an") + @Export("isAutoChatting") + boolean isAutoChatting; + @ObfuscatedName("ai") + boolean field968 = false; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = -263246735 + ) + @Export("overheadTextCyclesRemaining") + int overheadTextCyclesRemaining = 100; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 1742046101 + ) + @Export("overheadTextColor") + int overheadTextColor = 0; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = -815377649 + ) + @Export("overheadTextEffect") + int overheadTextEffect = 0; + @ObfuscatedName("av") + @Export("hitSplatCount") + byte hitSplatCount = 0; + @ObfuscatedName("ao") + @Export("hitSplatTypes") + int[] hitSplatTypes = new int[4]; + @ObfuscatedName("bj") + @Export("hitSplatValues") + int[] hitSplatValues = new int[4]; + @ObfuscatedName("bn") + @Export("hitSplatCycles") + int[] hitSplatCycles = new int[4]; + @ObfuscatedName("bi") + @Export("hitSplatTypes2") + int[] hitSplatTypes2 = new int[4]; + @ObfuscatedName("bp") + @Export("hitSplatValues2") + int[] hitSplatValues2 = new int[4]; + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Ljv;" + ) + @Export("healthBars") + IterableNodeDeque healthBars = new IterableNodeDeque(); + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = -1403434087 + ) + @Export("targetIndex") + int targetIndex = -1; + @ObfuscatedName("bx") + @Export("false0") + boolean false0 = false; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = 1507873993 + ) + int field981 = -1; + @ObfuscatedName("bw") + @ObfuscatedGetter( + intValue = -203452431 + ) + @Export("movementSequence") + int movementSequence = -1; + @ObfuscatedName("bv") + @ObfuscatedGetter( + intValue = -1749828811 + ) + @Export("movementFrame") + int movementFrame = 0; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = -1321307133 + ) + @Export("movementFrameCycle") + int movementFrameCycle = 0; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = -1530341969 + ) + @Export("sequence") + int sequence = -1; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -1363131469 + ) + @Export("sequenceFrame") + int sequenceFrame = 0; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = 2014778209 + ) + @Export("sequenceFrameCycle") + int sequenceFrameCycle = 0; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = -1060389691 + ) + @Export("sequenceDelay") + int sequenceDelay = 0; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = 1582636697 + ) + int field973 = 0; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = -1271026177 + ) + @Export("spotAnimation") + int spotAnimation = -1; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -416499547 + ) + @Export("spotAnimationFrame") + int spotAnimationFrame = 0; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = 1172946753 + ) + @Export("spotAnimationFrameCycle") + int spotAnimationFrameCycle = 0; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = 1898700159 + ) + int field993; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = -2097471137 + ) + int field994; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -1384002081 + ) + int field992; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = -2137511937 + ) + int field996; + @ObfuscatedName("bk") + @ObfuscatedGetter( + intValue = -2030426109 + ) + int field952; + @ObfuscatedName("bu") + @ObfuscatedGetter( + intValue = -593176361 + ) + int field998; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 798187101 + ) + int field999; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = 145719275 + ) + int field1000; + @ObfuscatedName("cd") + @ObfuscatedGetter( + intValue = 423082639 + ) + int field1001; + @ObfuscatedName("cq") + @ObfuscatedGetter( + intValue = -724191925 + ) + @Export("npcCycle") + int npcCycle = 0; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -250505211 + ) + @Export("defaultHeight") + int defaultHeight = 200; + @ObfuscatedName("cf") + @ObfuscatedGetter( + intValue = 373581305 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("cp") + @ObfuscatedGetter( + intValue = -1380674587 + ) + int field957 = 0; + @ObfuscatedName("ck") + @ObfuscatedGetter( + intValue = -1991830867 + ) + int field1006 = 32; + @ObfuscatedName("cn") + @ObfuscatedGetter( + intValue = 1201240635 + ) + @Export("pathLength") + int pathLength = 0; + @ObfuscatedName("cj") + @Export("pathX") + int[] pathX = new int[10]; + @ObfuscatedName("cr") + @Export("pathY") + int[] pathY = new int[10]; + @ObfuscatedName("ca") + @Export("pathTraversed") + byte[] pathTraversed = new byte[10]; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = 349923111 + ) + int field989 = 0; + @ObfuscatedName("cs") + @ObfuscatedGetter( + intValue = -1293926575 + ) + int field1012 = 0; - Actor() { - this.isWalking = false; // L: 13 - this.field941 = 1; // L: 14 - this.idleSequence = -1; // L: 16 - this.turnLeftSequence = -1; // L: 17 - this.turnRightSequence = -1; // L: 18 - this.walkSequence = -1; // L: 19 - this.walkBackSequence = -1; // L: 20 - this.walkLeftSequence = -1; // L: 21 - this.walkRightSequence = -1; // L: 22 - this.runSequence = -1; // L: 23 - this.overheadText = null; // L: 24 - this.field953 = false; // L: 26 - this.overheadTextCyclesRemaining = 100; // L: 27 - this.overheadTextColor = 0; // L: 28 - this.overheadTextEffect = 0; // L: 29 - this.hitSplatCount = 0; // L: 31 - this.hitSplatTypes = new int[4]; // L: 32 - this.hitSplatValues = new int[4]; // L: 33 - this.hitSplatCycles = new int[4]; // L: 34 - this.hitSplatTypes2 = new int[4]; // L: 35 - this.hitSplatValues2 = new int[4]; // L: 36 - this.healthBars = new IterableNodeDeque(); // L: 37 - this.targetIndex = -1; // L: 38 - this.false0 = false; // L: 39 - this.field959 = -1; // L: 40 - this.movementSequence = -1; // L: 41 - this.movementFrame = 0; // L: 42 - this.movementFrameCycle = 0; // L: 43 - this.sequence = -1; // L: 44 - this.sequenceFrame = 0; // L: 45 - this.sequenceFrameCycle = 0; // L: 46 - this.sequenceDelay = 0; // L: 47 - this.field974 = 0; // L: 48 - this.spotAnimation = -1; // L: 49 - this.spotAnimationFrame = 0; // L: 50 - this.spotAnimationFrameCycle = 0; // L: 51 - this.npcCycle = 0; // L: 61 - this.defaultHeight = 200; // L: 62 - this.field954 = 0; // L: 64 - this.field940 = 32; // L: 65 - this.pathLength = 0; // L: 66 - this.pathX = new int[10]; // L: 67 - this.pathY = new int[10]; // L: 68 - this.pathTraversed = new byte[10]; // L: 69 - this.field963 = 0; // L: 70 - this.field996 = 0; // L: 71 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-251916247" + ) + @Export("isVisible") + boolean isVisible() { + return false; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1661589479" - ) - @Export("isVisible") - boolean isVisible() { - return false; // L: 81 - } + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1387787360" + ) + final void method1848() { + this.pathLength = 0; + this.field1012 = 0; + } - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-874125335" - ) - final void method1803() { - this.pathLength = 0; // L: 76 - this.field996 = 0; // L: 77 - } // L: 78 + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "(IIIIIIB)V", + garbageValue = "104" + ) + @Export("addHitSplat") + final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = true; + boolean var8 = true; - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "794886398" - ) - @Export("addHitSplat") - final void addHitSplat(int var1, int var2, int var3, int var4, int var5, int var6) { - boolean var7 = true; - boolean var8 = true; + int var9; + for(var9 = 0; var9 < 4; ++var9) { + if (this.hitSplatCycles[var9] > var5) { + var7 = false; + } else { + var8 = false; + } + } - int var9; - for (var9 = 0; var9 < 4; ++var9) { - if (this.hitSplatCycles[var9] > var5) { - var7 = false; - } else { - var8 = false; - } - } + var9 = -1; + int var10 = -1; + int var11 = 0; + if (var1 >= 0) { + HitSplatDefinition var12 = ScriptFrame.method1222(var1); + var10 = var12.field3375; + var11 = var12.field3364; + } - var9 = -1; // L: 91 - int var10 = -1; // L: 92 - int var11 = 0; // L: 93 - if (var1 >= 0) { // L: 94 - HitSplatDefinition var12 = class198.method3697(var1); // L: 95 - var10 = var12.field3373; // L: 96 - var11 = var12.field3364; // L: 97 - } + int var14; + if (var8) { + if (var10 == -1) { + return; + } - int var14; - if (var8) { // L: 99 - if (var10 == -1) { // L: 100 - return; - } + var9 = 0; + var14 = 0; + if (var10 == 0) { + var14 = this.hitSplatCycles[0]; + } else if (var10 == 1) { + var14 = this.hitSplatValues[0]; + } - var9 = 0; // L: 101 - var14 = 0; // L: 102 - if (var10 == 0) { // L: 103 - var14 = this.hitSplatCycles[0]; - } else if (var10 == 1) { // L: 104 - var14 = this.hitSplatValues[0]; - } + for(int var13 = 1; var13 < 4; ++var13) { + if (var10 == 0) { + if (this.hitSplatCycles[var13] < var14) { + var9 = var13; + var14 = this.hitSplatCycles[var13]; + } + } else if (var10 == 1 && this.hitSplatValues[var13] < var14) { + var9 = var13; + var14 = this.hitSplatValues[var13]; + } + } - for (int var13 = 1; var13 < 4; ++var13) { // L: 105 - if (var10 == 0) { // L: 106 - if (this.hitSplatCycles[var13] < var14) { // L: 107 - var9 = var13; // L: 108 - var14 = this.hitSplatCycles[var13]; // L: 109 - } - } else if (var10 == 1 && this.hitSplatValues[var13] < var14) { - var9 = var13; - var14 = this.hitSplatValues[var13]; - } - } + if (var10 == 1 && var14 >= var2) { + return; + } + } else { + if (var7) { + this.hitSplatCount = 0; + } - if (var10 == 1 && var14 >= var2) { - return; - } - } else { - if (var7) { - this.hitSplatCount = 0; - } + for(var14 = 0; var14 < 4; ++var14) { + byte var15 = this.hitSplatCount; + this.hitSplatCount = (byte)((this.hitSplatCount + 1) % 4); + if (this.hitSplatCycles[var15] <= var5) { + var9 = var15; + break; + } + } + } - for (var14 = 0; var14 < 4; ++var14) { - byte var15 = this.hitSplatCount; - this.hitSplatCount = (byte)((this.hitSplatCount + 1) % 4); - if (this.hitSplatCycles[var15] <= var5) { - var9 = var15; - break; - } - } - } + if (var9 >= 0) { + this.hitSplatTypes[var9] = var1; + this.hitSplatValues[var9] = var2; + this.hitSplatTypes2[var9] = var3; + this.hitSplatValues2[var9] = var4; + this.hitSplatCycles[var9] = var5 + var11 + var6; + } + } - if (var9 >= 0) { - this.hitSplatTypes[var9] = var1; // L: 133 - this.hitSplatValues[var9] = var2; // L: 134 - this.hitSplatTypes2[var9] = var3; // L: 135 - this.hitSplatValues2[var9] = var4; - this.hitSplatCycles[var9] = var5 + var11 + var6; - } - } + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(IIIIIIB)V", + garbageValue = "0" + ) + @Export("addHealthBar") + final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { + HealthBarDefinition var8 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var7; + if (var8 != null) { + var7 = var8; + } else { + byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var8 = new HealthBarDefinition(); + if (var9 != null) { + var8.decode(new Buffer(var9)); + } - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "-1554709476" - ) - @Export("addHealthBar") - final void addHealthBar(int var1, int var2, int var3, int var4, int var5, int var6) { - HealthBarDefinition var7 = HealthBarUpdate.method1826(var1); - HealthBar var8 = null; - HealthBar var9 = null; - int var10 = var7.int2; - int var11 = 0; + HealthBarDefinition.HealthBarDefinition_cached.put(var8, (long)var1); + var7 = var8; + } - HealthBar var12; - for (var12 = (HealthBar)this.healthBars.last(); var12 != null; var12 = (HealthBar)this.healthBars.previous()) { - ++var11; - if (var12.definition.field3313 == var7.field3313) { // L: 148 - var12.put(var2 + var4, var5, var6, var3); - return; // L: 150 - } + var8 = var7; + HealthBar var14 = null; + HealthBar var10 = null; + int var11 = var7.int2; + int var12 = 0; - if (var12.definition.int1 <= var7.int1) { // L: 152 - var8 = var12; - } + HealthBar var13; + for(var13 = (HealthBar)this.healthBars.last(); var13 != null; var13 = (HealthBar)this.healthBars.previous()) { + ++var12; + if (var13.definition.field3312 == var8.field3312) { + var13.put(var2 + var4, var5, var6, var3); + return; + } - if (var12.definition.int2 > var10) { // L: 153 - var9 = var12; // L: 154 - var10 = var12.definition.int2; // L: 155 - } - } + if (var13.definition.int1 <= var8.int1) { + var14 = var13; + } - if (var9 != null || var11 < 4) { // L: 158 - var12 = new HealthBar(var7); // L: 159 - if (var8 == null) { // L: 160 - this.healthBars.addLast(var12); - } else { - IterableNodeDeque.IterableNodeDeque_addBefore(var12, var8); // L: 161 - } + if (var13.definition.int2 > var11) { + var10 = var13; + var11 = var13.definition.int2; + } + } - var12.put(var2 + var4, var5, var6, var3); // L: 162 - if (var11 >= 4) { // L: 163 - var9.remove(); - } + if (var10 != null || var12 < 4) { + var13 = new HealthBar(var8); + if (var14 == null) { + this.healthBars.addLast(var13); + } else { + IterableNodeDeque.IterableNodeDeque_addBefore(var13, var14); + } - } - } // L: 164 + var13.put(var2 + var4, var5, var6, var3); + if (var12 >= 4) { + var10.remove(); + } - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-324524490" - ) - @Export("removeHealthBar") - final void removeHealthBar(int var1) { - HealthBarDefinition var2 = HealthBarUpdate.method1826(var1); // L: 167 + } + } - for (HealthBar var3 = (HealthBar)this.healthBars.last(); var3 != null; var3 = (HealthBar)this.healthBars.previous()) { // L: 168 - if (var2 == var3.definition) { // L: 169 - var3.remove(); // L: 170 - return; // L: 171 - } - } + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "24" + ) + @Export("removeHealthBar") + final void removeHealthBar(int var1) { + HealthBarDefinition var3 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var1); + HealthBarDefinition var2; + if (var3 != null) { + var2 = var3; + } else { + byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, var1); + var3 = new HealthBarDefinition(); + if (var4 != null) { + var3.decode(new Buffer(var4)); + } - } // L: 174 + HealthBarDefinition.HealthBarDefinition_cached.put(var3, (long)var1); + var2 = var3; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;ZLku;I)V", - garbageValue = "411546609" - ) - public static void method1821(AbstractArchive var0, AbstractArchive var1, boolean var2, Font var3) { - NPC.ItemDefinition_archive = var0; // L: 84 - VertexNormal.ItemDefinition_modelArchive = var1; // L: 85 - ItemComposition.ItemDefinition_inMembersWorld = var2; // L: 86 - Varcs.ItemDefinition_fileCount = NPC.ItemDefinition_archive.getGroupFileCount(10); // L: 87 - ItemComposition.ItemDefinition_fontPlain11 = var3; // L: 88 - } // L: 89 + var3 = var2; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([BB)Lcs;", - garbageValue = "0" - ) - @Export("newScript") - static Script newScript(byte[] var0) { - Script var1 = new Script(); // L: 111 - Buffer var2 = new Buffer(var0); // L: 112 - var2.offset = var2.array.length - 2; // L: 113 - int var3 = var2.readUnsignedShort(); // L: 114 - int var4 = var2.array.length - 2 - var3 - 12; // L: 115 - var2.offset = var4; // L: 116 - int var5 = var2.readInt(); // L: 117 - var1.localIntCount = var2.readUnsignedShort(); // L: 118 - var1.localStringCount = var2.readUnsignedShort(); // L: 119 - var1.intArgumentCount = var2.readUnsignedShort(); // L: 120 - var1.stringArgumentCount = var2.readUnsignedShort(); // L: 121 - int var6 = var2.readUnsignedByte(); // L: 122 - int var7; - int var8; - if (var6 > 0) { // L: 123 - var1.switches = var1.newIterableNodeHashTable(var6); // L: 124 + for(HealthBar var5 = (HealthBar)this.healthBars.last(); var5 != null; var5 = (HealthBar)this.healthBars.previous()) { + if (var3 == var5.definition) { + var5.remove(); + return; + } + } - for (var7 = 0; var7 < var6; ++var7) { // L: 125 - var8 = var2.readUnsignedShort(); // L: 126 - IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? World.method1870(var8) : 1); // L: 127 - var1.switches[var7] = var9; // L: 128 + } - while (var8-- > 0) { // L: 129 - int var10 = var2.readInt(); // L: 130 - int var11 = var2.readInt(); // L: 131 - var9.put(new IntegerNode(var11), (long)var10); // L: 132 - } - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "424984717" + ) + public static void method1867(boolean var0) { + if (class297.NetCache_socket != null) { + try { + Buffer var1 = new Buffer(4); + var1.writeByte(var0 ? 2 : 3); + var1.writeMedium(0); + class297.NetCache_socket.write(var1.array, 0, 4); + } catch (IOException var4) { + try { + class297.NetCache_socket.close(); + } catch (Exception var3) { + ; + } - var2.offset = 0; // L: 136 - var2.readStringCp1252NullTerminatedOrNull(); // L: 137 - var1.opcodes = new int[var5]; // L: 138 - var1.intOperands = new int[var5]; // L: 139 - var1.stringOperands = new String[var5]; // L: 140 + ++NetCache.NetCache_ioExceptions; + class297.NetCache_socket = null; + } - for (var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { // L: 141 142 147 - var8 = var2.readUnsignedShort(); // L: 143 - if (var8 == 3) { // L: 144 - var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); - } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { // L: 145 - var1.intOperands[var7] = var2.readInt(); - } else { - var1.intOperands[var7] = var2.readUnsignedByte(); // L: 146 - } - } + } + } - return var1; // L: 149 - } + @ObfuscatedName("fu") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1068788857" + ) + static final void method1868() { + int[] var0 = Players.Players_indices; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1653526163" - ) - static void method1819(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 72 - if (var1 != null) { - var1.remove(); // L: 74 - } - } // L: 73 75 + int var1; + for(var1 = 0; var1 < Players.Players_count; ++var1) { + Player var4 = Client.players[var0[var1]]; + if (var4 != null && var4.overheadTextCyclesRemaining > 0) { + --var4.overheadTextCyclesRemaining; + if (var4.overheadTextCyclesRemaining == 0) { + var4.overheadText = null; + } + } + } - @ObfuscatedName("fe") - @ObfuscatedSignature( - descriptor = "(I)Lma;", - garbageValue = "-1640183017" - ) - @Export("getWorldMap") - static WorldMap getWorldMap() { - return WorldMapRectangle.worldMap; // L: 663 - } + for(var1 = 0; var1 < Client.npcCount; ++var1) { + int var2 = Client.npcIndices[var1]; + NPC var3 = Client.npcs[var2]; + if (var3 != null && var3.overheadTextCyclesRemaining > 0) { + --var3.overheadTextCyclesRemaining; + if (var3.overheadTextCyclesRemaining == 0) { + var3.overheadText = null; + } + } + } + + } } diff --git a/runescape-client/src/main/java/Animation.java b/runescape-client/src/main/java/Animation.java index e49575d713..0ca95fd2d9 100644 --- a/runescape-client/src/main/java/Animation.java +++ b/runescape-client/src/main/java/Animation.java @@ -3,130 +3,120 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eu") +@ObfuscatedName("eg") @Implements("Animation") public class Animation { - @ObfuscatedName("h") - static int[] field1657; - @ObfuscatedName("v") - static int[] field1651; - @ObfuscatedName("x") - static int[] field1652; - @ObfuscatedName("w") - static int[] field1659; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lej;" - ) - @Export("skeleton") - Skeleton skeleton; - @ObfuscatedName("j") - @Export("transformCount") - int transformCount; - @ObfuscatedName("n") - @Export("transformSkeletonLabels") - int[] transformSkeletonLabels; - @ObfuscatedName("p") - @Export("transformXs") - int[] transformXs; - @ObfuscatedName("l") - @Export("transformYs") - int[] transformYs; - @ObfuscatedName("z") - @Export("transformZs") - int[] transformZs; - @ObfuscatedName("u") - @Export("hasAlphaTransform") - boolean hasAlphaTransform; + @ObfuscatedName("n") + static int[] field1655 = new int[500]; + @ObfuscatedName("v") + static int[] field1650 = new int[500]; + @ObfuscatedName("d") + static int[] field1651 = new int[500]; + @ObfuscatedName("c") + static int[] field1652 = new int[500]; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lev;" + ) + @Export("skeleton") + Skeleton skeleton = null; + @ObfuscatedName("h") + @Export("transformCount") + int transformCount = -1; + @ObfuscatedName("z") + @Export("transformSkeletonLabels") + int[] transformSkeletonLabels; + @ObfuscatedName("e") + @Export("transformXs") + int[] transformXs; + @ObfuscatedName("q") + @Export("transformYs") + int[] transformYs; + @ObfuscatedName("l") + @Export("transformZs") + int[] transformZs; + @ObfuscatedName("s") + @Export("hasAlphaTransform") + boolean hasAlphaTransform = false; - static { - field1657 = new int[500]; // L: 8 - field1651 = new int[500]; // L: 9 - field1652 = new int[500]; // L: 10 - field1659 = new int[500]; // L: 11 - } + @ObfuscatedSignature( + descriptor = "([BLev;)V" + ) + Animation(byte[] var1, Skeleton var2) { + this.skeleton = var2; + Buffer var3 = new Buffer(var1); + Buffer var4 = new Buffer(var1); + var3.offset = 2; + int var5 = var3.readUnsignedByte(); + int var6 = -1; + int var7 = 0; + var4.offset = var5 + var3.offset; - @ObfuscatedSignature( - descriptor = "([BLej;)V" - ) - Animation(byte[] var1, Skeleton var2) { - this.skeleton = null; // L: 12 - this.transformCount = -1; // L: 13 - this.hasAlphaTransform = false; // L: 18 - this.skeleton = var2; // L: 21 - Buffer var3 = new Buffer(var1); // L: 22 - Buffer var4 = new Buffer(var1); // L: 23 - var3.offset = 2; // L: 24 - int var5 = var3.readUnsignedByte(); // L: 25 - int var6 = -1; // L: 26 - int var7 = 0; // L: 27 - var4.offset = var5 + var3.offset; // L: 28 + int var8; + for(var8 = 0; var8 < var5; ++var8) { + int var9 = var3.readUnsignedByte(); + if (var9 > 0) { + if (this.skeleton.transformTypes[var8] != 0) { + for(int var10 = var8 - 1; var10 > var6; --var10) { + if (this.skeleton.transformTypes[var10] == 0) { + field1655[var7] = var10; + field1650[var7] = 0; + field1651[var7] = 0; + field1652[var7] = 0; + ++var7; + break; + } + } + } - int var8; - for (var8 = 0; var8 < var5; ++var8) { // L: 29 - int var9 = var3.readUnsignedByte(); // L: 30 - if (var9 > 0) { // L: 31 - if (this.skeleton.transformTypes[var8] != 0) { // L: 32 - for (int var10 = var8 - 1; var10 > var6; --var10) { // L: 33 - if (this.skeleton.transformTypes[var10] == 0) { // L: 34 - field1657[var7] = var10; // L: 35 - field1651[var7] = 0; // L: 36 - field1652[var7] = 0; // L: 37 - field1659[var7] = 0; // L: 38 - ++var7; // L: 39 - break; - } - } - } + field1655[var7] = var8; + short var11 = 0; + if (this.skeleton.transformTypes[var8] == 3) { + var11 = 128; + } - field1657[var7] = var8; // L: 44 - short var11 = 0; // L: 45 - if (this.skeleton.transformTypes[var8] == 3) { // L: 46 - var11 = 128; - } + if ((var9 & 1) != 0) { + field1650[var7] = var4.readShortSmart(); + } else { + field1650[var7] = var11; + } - if ((var9 & 1) != 0) { // L: 47 - field1651[var7] = var4.readShortSmart(); - } else { - field1651[var7] = var11; // L: 48 - } + if ((var9 & 2) != 0) { + field1651[var7] = var4.readShortSmart(); + } else { + field1651[var7] = var11; + } - if ((var9 & 2) != 0) { // L: 49 - field1652[var7] = var4.readShortSmart(); - } else { - field1652[var7] = var11; // L: 50 - } + if ((var9 & 4) != 0) { + field1652[var7] = var4.readShortSmart(); + } else { + field1652[var7] = var11; + } - if ((var9 & 4) != 0) { // L: 51 - field1659[var7] = var4.readShortSmart(); - } else { - field1659[var7] = var11; // L: 52 - } + var6 = var8; + ++var7; + if (this.skeleton.transformTypes[var8] == 5) { + this.hasAlphaTransform = true; + } + } + } - var6 = var8; // L: 53 - ++var7; // L: 54 - if (this.skeleton.transformTypes[var8] == 5) { // L: 55 - this.hasAlphaTransform = true; - } - } - } + if (var1.length != var4.offset) { + throw new RuntimeException(); + } else { + this.transformCount = var7; + this.transformSkeletonLabels = new int[var7]; + this.transformXs = new int[var7]; + this.transformYs = new int[var7]; + this.transformZs = new int[var7]; - if (var1.length != var4.offset) { // L: 58 - throw new RuntimeException(); // L: 59 - } else { - this.transformCount = var7; // L: 61 - this.transformSkeletonLabels = new int[var7]; // L: 62 - this.transformXs = new int[var7]; // L: 63 - this.transformYs = new int[var7]; // L: 64 - this.transformZs = new int[var7]; // L: 65 + for(var8 = 0; var8 < var7; ++var8) { + this.transformSkeletonLabels[var8] = field1655[var8]; + this.transformXs[var8] = field1650[var8]; + this.transformYs[var8] = field1651[var8]; + this.transformZs[var8] = field1652[var8]; + } - for (var8 = 0; var8 < var7; ++var8) { // L: 66 - this.transformSkeletonLabels[var8] = field1657[var8]; // L: 67 - this.transformXs[var8] = field1651[var8]; // L: 68 - this.transformYs[var8] = field1652[var8]; // L: 69 - this.transformZs[var8] = field1659[var8]; // L: 70 - } - - } - } // L: 72 + } + } } diff --git a/runescape-client/src/main/java/ApproximateRouteStrategy.java b/runescape-client/src/main/java/ApproximateRouteStrategy.java index 7e35b2f083..58667f9617 100644 --- a/runescape-client/src/main/java/ApproximateRouteStrategy.java +++ b/runescape-client/src/main/java/ApproximateRouteStrategy.java @@ -1,5 +1,6 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; @@ -7,393 +8,419 @@ import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("ba") @Implements("ApproximateRouteStrategy") public class ApproximateRouteStrategy extends RouteStrategy { - ApproximateRouteStrategy() { - } // L: 11273 + @ObfuscatedName("iv") + @ObfuscatedGetter( + intValue = -1513110219 + ) + @Export("oculusOrbFocalPointY") + static int oculusOrbFocalPointY; + @ObfuscatedName("ls") + @ObfuscatedGetter( + intValue = 318238525 + ) + @Export("menuX") + static int menuX; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIILfo;B)Z", - garbageValue = "104" - ) - @Export("hasArrived") - public boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { - return var2 == super.approxDestinationX && var3 == super.approxDestinationY; // L: 11276 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIILfe;I)Z", + garbageValue = "1148121553" + ) + @Export("hasArrived") + public boolean hasArrived(int var1, int var2, int var3, CollisionMap var4) { + return var2 == super.approxDestinationX && var3 == super.approxDestinationY; + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1846731136" - ) - static int method1302(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.FRIEND_COUNT) { // L: 1971 - if (MilliClock.friendSystem.field1069 == 0) { // L: 1972 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -2; - } else if (MilliClock.friendSystem.field1069 == 1) { // L: 1973 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MilliClock.friendSystem.friendsList.getSize(); // L: 1974 - } + @ObfuscatedName("n") + @Export("sleepExact") + public static final void sleepExact(long var0) { + if (var0 > 0L) { + if (0L == var0 % 10L) { + long var2 = var0 - 1L; - return 1; // L: 1975 - } else { - int var3; - if (var0 == ScriptOpcodes.FRIEND_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1978 - if (MilliClock.friendSystem.method1939() && var3 >= 0 && var3 < MilliClock.friendSystem.friendsList.getSize()) { // L: 1979 - Friend var8 = (Friend)MilliClock.friendSystem.friendsList.get(var3); // L: 1980 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getName(); // L: 1981 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getPreviousName(); // L: 1982 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1985 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1986 - } + try { + Thread.sleep(var2); + } catch (InterruptedException var8) { + ; + } - return 1; // L: 1988 - } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1991 - if (MilliClock.friendSystem.method1939() && var3 >= 0 && var3 < MilliClock.friendSystem.friendsList.getSize()) { // L: 1992 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ((Buddy)MilliClock.friendSystem.friendsList.get(var3)).world; // L: 1993 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1995 - } + try { + Thread.sleep(1L); + } catch (InterruptedException var7) { + ; + } + } else { + try { + Thread.sleep(var0); + } catch (InterruptedException var6) { + ; + } + } - return 1; // L: 1996 - } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1999 - if (MilliClock.friendSystem.method1939() && var3 >= 0 && var3 < MilliClock.friendSystem.friendsList.getSize()) { // L: 2000 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ((Buddy)MilliClock.friendSystem.friendsList.get(var3)).rank; // L: 2001 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2003 - } + } + } - return 1; // L: 2004 - } else { - String var5; - if (var0 == ScriptOpcodes.FRIEND_SETRANK) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2007 - int var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2008 - GrandExchangeOfferOwnWorldComparator.method1359(var5, var6); // L: 2009 - return 1; // L: 2010 - } else if (var0 == ScriptOpcodes.FRIEND_ADD) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2013 - MilliClock.friendSystem.addFriend(var5); // L: 2014 - return 1; // L: 2015 - } else if (var0 == ScriptOpcodes.FRIEND_DEL) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2018 - MilliClock.friendSystem.removeFriend(var5); // L: 2019 - return 1; // L: 2020 - } else if (var0 == ScriptOpcodes.IGNORE_ADD) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2023 - MilliClock.friendSystem.addIgnore(var5); // L: 2024 - return 1; // L: 2025 - } else if (var0 == ScriptOpcodes.IGNORE_DEL) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2028 - MilliClock.friendSystem.removeIgnore(var5); // L: 2029 - return 1; // L: 2030 - } else if (var0 == ScriptOpcodes.FRIEND_TEST) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2033 - var5 = class22.method220(var5); // L: 2034 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MilliClock.friendSystem.isFriended(new Username(var5, GrandExchangeOfferUnitPriceComparator.loginType), false) ? 1 : 0; // L: 2035 - return 1; // L: 2036 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { - if (WorldMapArea.clanChat != null) { // L: 2039 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapArea.clanChat.name; // L: 2040 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2042 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lci;", + garbageValue = "-915685508" + ) + static AttackOption[] method1310() { + return new AttackOption[]{AttackOption.AttackOption_hidden, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_leftClickWhereAvailable, AttackOption.AttackOption_dependsOnCombatLevels}; + } - return 1; // L: 2043 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { - if (WorldMapArea.clanChat != null) { // L: 2046 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = WorldMapArea.clanChat.getSize(); // L: 2047 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2049 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)Lly;", + garbageValue = "-1904582422" + ) + public static IndexedSprite method1304() { + IndexedSprite var0 = new IndexedSprite(); + var0.width = class336.SpriteBuffer_spriteWidth; + var0.height = class336.SpriteBuffer_spriteHeight; + var0.xOffset = class105.SpriteBuffer_xOffsets[0]; + var0.yOffset = class336.SpriteBuffer_yOffsets[0]; + var0.subWidth = class336.SpriteBuffer_spriteWidths[0]; + var0.subHeight = class225.SpriteBuffer_spriteHeights[0]; + var0.palette = HorizontalAlignment.SpriteBuffer_spritePalette; + var0.pixels = class2.SpriteBuffer_pixels[0]; + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + return var0; + } - return 1; // L: 2050 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2053 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize()) { // L: 2054 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapArea.clanChat.get(var3).getUsername().getName(); // L: 2055 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2057 - } + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "-109" + ) + static int method1313(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.SOUND_SYNTH) { + Interpreter.Interpreter_intStackSize -= 3; + class58.queueSoundEffect(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_SONG) { + AbstractSocket.playSong(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { + Interpreter.Interpreter_intStackSize -= 2; + NPC.method2180(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + return 1; + } else { + int var3; + if (var0 == 3203) { + var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize], 0), 100); + class194.method3820(Math.round(2.55F * (float)var3)); + return 1; + } else if (var0 == 3204) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Math.round((float)WorldMapSectionType.clientPreferences.musicVolume / 2.55F); + return 1; + } else if (var0 == 3205) { + var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize], 0), 100); + class171.method3641(Math.round(1.27F * (float)var3)); + return 1; + } else if (var0 == 3206) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Math.round((float)WorldMapSectionType.clientPreferences.soundEffectsVolume / 1.27F); + return 1; + } else if (var0 == 3207) { + var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize], 0), 100); + WorldMapData_1.method810(Math.round((float)var3 * 1.27F)); + return 1; + } else if (var0 == 3208) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Math.round((float)WorldMapSectionType.clientPreferences.areaSoundEffectsVolume / 1.27F); + return 1; + } else { + return 2; + } + } + } - return 1; // L: 2058 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2061 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize()) { // L: 2062 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.clanChat.get(var3)).getWorld(); // L: 2063 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2065 - } + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "-107" + ) + static int method1315(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { + Interpreter.Interpreter_intStackSize -= 2; + Client.field779 = (short)Canvas.method935(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]); + if (Client.field779 <= 0) { + Client.field779 = 256; + } - return 1; // L: 2066 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2069 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize()) { // L: 2070 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.clanChat.get(var3)).rank; // L: 2071 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2073 - } + Client.field913 = (short)Canvas.method935(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + if (Client.field913 <= 0) { + Client.field913 = 256; + } - return 1; // L: 2074 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = WorldMapArea.clanChat != null ? WorldMapArea.clanChat.minKick : 0; // L: 2077 - return 1; // L: 2078 - } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2081 - Tiles.clanKickUser(var5); // L: 2082 - return 1; // L: 2083 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = WorldMapArea.clanChat != null ? WorldMapArea.clanChat.rank * 120160835 * 1015634539 : 0; // L: 2086 - return 1; // L: 2087 - } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2090 - Varcs.Clan_joinChat(var5); // L: 2091 - return 1; // L: 2092 - } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { - BZip2State.Clan_leaveChat(); // L: 2095 - return 1; // L: 2096 - } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { - if (!MilliClock.friendSystem.method1939()) { // L: 2099 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MilliClock.friendSystem.ignoreList.getSize(); // L: 2100 - } + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { + Interpreter.Interpreter_intStackSize -= 2; + Client.zoomHeight = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (Client.zoomHeight <= 0) { + Client.zoomHeight = 256; + } - return 1; // L: 2101 - } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2104 - if (MilliClock.friendSystem.method1939() && var3 >= 0 && var3 < MilliClock.friendSystem.ignoreList.getSize()) { // L: 2105 - Ignored var4 = (Ignored)MilliClock.friendSystem.ignoreList.get(var3); // L: 2106 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getName(); // L: 2107 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousName(); // L: 2108 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2111 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2112 - } + Client.zoomWidth = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (Client.zoomWidth <= 0) { + Client.zoomWidth = 320; + } - return 1; // L: 2114 - } else if (var0 == ScriptOpcodes.IGNORE_TEST) { - var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2117 - var5 = class22.method220(var5); // L: 2118 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MilliClock.friendSystem.isIgnored(new Username(var5, GrandExchangeOfferUnitPriceComparator.loginType)) ? 1 : 0; // L: 2119 - return 1; // L: 2120 - } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2123 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize() && WorldMapArea.clanChat.get(var3).getUsername().equals(PlayerComposition.localPlayer.username)) { // L: 2124 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 2125 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2127 - } + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { + Interpreter.Interpreter_intStackSize -= 4; + Client.field916 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (Client.field916 <= 0) { + Client.field916 = 1; + } - return 1; // L: 2128 - } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { - if (WorldMapArea.clanChat != null && WorldMapArea.clanChat.owner != null) { // L: 2131 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapArea.clanChat.owner; // L: 2132 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2134 - } + Client.field690 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (Client.field690 <= 0) { + Client.field690 = 32767; + } else if (Client.field690 < Client.field916) { + Client.field690 = Client.field916; + } - return 1; // L: 2135 - } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2138 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize() && ((ClanMate)WorldMapArea.clanChat.get(var3)).isFriend()) { // L: 2139 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 2140 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2142 - } + Client.field918 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (Client.field918 <= 0) { + Client.field918 = 1; + } - return 1; // L: 2143 - } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { - if (var0 == 3628) { - MilliClock.friendSystem.friendsList.removeComparator(); // L: 2154 - return 1; // L: 2155 - } else { - boolean var7; - if (var0 == 3629) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2158 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator1(var7)); // L: 2159 - return 1; // L: 2160 - } else if (var0 == 3630) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2163 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator2(var7)); // L: 2164 - return 1; // L: 2165 - } else if (var0 == 3631) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2168 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator3(var7)); // L: 2169 - return 1; // L: 2170 - } else if (var0 == 3632) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2173 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator4(var7)); // L: 2174 - return 1; // L: 2175 - } else if (var0 == 3633) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2178 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator5(var7)); // L: 2179 - return 1; // L: 2180 - } else if (var0 == 3634) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2183 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator6(var7)); // L: 2184 - return 1; // L: 2185 - } else if (var0 == 3635) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2188 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator7(var7)); // L: 2189 - return 1; // L: 2190 - } else if (var0 == 3636) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2193 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator8(var7)); // L: 2194 - return 1; // L: 2195 - } else if (var0 == 3637) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2198 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator9(var7)); // L: 2199 - return 1; // L: 2200 - } else if (var0 == 3638) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2203 - MilliClock.friendSystem.friendsList.addComparator(new UserComparator10(var7)); // L: 2204 - return 1; // L: 2205 - } else if (var0 == 3639) { - MilliClock.friendSystem.friendsList.sort(); // L: 2208 - return 1; // L: 2209 - } else if (var0 == 3640) { - MilliClock.friendSystem.ignoreList.removeComparator(); // L: 2212 - return 1; // L: 2213 - } else if (var0 == 3641) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2216 - MilliClock.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); // L: 2217 - return 1; // L: 2218 - } else if (var0 == 3642) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2221 - MilliClock.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); // L: 2222 - return 1; // L: 2223 - } else if (var0 == 3643) { - MilliClock.friendSystem.ignoreList.sort(); // L: 2226 - return 1; // L: 2227 - } else if (var0 == 3644) { - if (WorldMapArea.clanChat != null) { // L: 2230 - WorldMapArea.clanChat.removeComparator(); // L: 2231 - } + Client.field846 = (short)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + if (Client.field846 <= 0) { + Client.field846 = 32767; + } else if (Client.field846 < Client.field918) { + Client.field846 = Client.field918; + } - return 1; // L: 2233 - } else if (var0 == 3645) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2236 - if (WorldMapArea.clanChat != null) { // L: 2237 - WorldMapArea.clanChat.addComparator(new UserComparator1(var7)); // L: 2238 - } + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { + if (Client.viewportWidget != null) { + MenuAction.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.viewportWidth; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.viewportHeight; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } - return 1; // L: 2240 - } else if (var0 == 3646) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2243 - if (WorldMapArea.clanChat != null) { // L: 2244 - WorldMapArea.clanChat.addComparator(new UserComparator2(var7)); // L: 2245 - } + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.zoomHeight; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.zoomWidth; + return 1; + } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FileSystem.method3709(Client.field779); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FileSystem.method3709(Client.field913); + return 1; + } else if (var0 == 6220) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6221) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 6222) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + return 1; + } else if (var0 == 6223) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class25.canvasHeight; + return 1; + } else { + return 2; + } + } - return 1; // L: 2247 - } else if (var0 == 3647) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2250 - if (WorldMapArea.clanChat != null) { // L: 2251 - WorldMapArea.clanChat.addComparator(new UserComparator3(var7)); // L: 2252 - } + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "1969316699" + ) + public static int method1314(String var0) { + return var0.length() + 2; + } - return 1; // L: 2254 - } else if (var0 == 3648) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2257 - if (WorldMapArea.clanChat != null) { // L: 2258 - WorldMapArea.clanChat.addComparator(new UserComparator4(var7)); // L: 2259 - } + @ObfuscatedName("iz") + @ObfuscatedSignature( + descriptor = "(IIIILjava/lang/String;B)V", + garbageValue = "45" + ) + @Export("widgetDefaultMenuAction") + static void widgetDefaultMenuAction(int var0, int var1, int var2, int var3, String var4) { + Widget var5 = ArchiveLoader.getWidgetChild(var1, var2); + if (var5 != null) { + if (var5.onOp != null) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var5; + var6.opIndex = var0; + var6.targetName = var4; + var6.args = var5.onOp; + PacketWriter.runScriptEvent(var6); + } - return 1; // L: 2261 - } else if (var0 == 3649) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2264 - if (WorldMapArea.clanChat != null) { // L: 2265 - WorldMapArea.clanChat.addComparator(new UserComparator5(var7)); // L: 2266 - } + boolean var8 = true; + if (var5.contentType > 0) { + var8 = WorldMapLabelSize.method254(var5); + } - return 1; // L: 2268 - } else if (var0 == 3650) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2271 - if (WorldMapArea.clanChat != null) { // L: 2272 - WorldMapArea.clanChat.addComparator(new UserComparator6(var7)); // L: 2273 - } + if (var8) { + if (MidiPcmStream.method3972(class60.getWidgetFlags(var5), var0 - 1)) { + PacketBufferNode var7; + if (var0 == 1) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2320, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2275 - } else if (var0 == 3651) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2278 - if (WorldMapArea.clanChat != null) { // L: 2279 - WorldMapArea.clanChat.addComparator(new UserComparator7(var7)); // L: 2280 - } + if (var0 == 2) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2291, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2282 - } else if (var0 == 3652) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2285 - if (WorldMapArea.clanChat != null) { // L: 2286 - WorldMapArea.clanChat.addComparator(new UserComparator8(var7)); // L: 2287 - } + if (var0 == 3) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2326, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2289 - } else if (var0 == 3653) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2292 - if (WorldMapArea.clanChat != null) { // L: 2293 - WorldMapArea.clanChat.addComparator(new UserComparator9(var7)); // L: 2294 - } + if (var0 == 4) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2296 - } else if (var0 == 3654) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2299 - if (WorldMapArea.clanChat != null) { // L: 2300 - WorldMapArea.clanChat.addComparator(new UserComparator10(var7)); // L: 2301 - } + if (var0 == 5) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2254, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2303 - } else if (var0 == 3655) { - if (WorldMapArea.clanChat != null) { // L: 2306 - WorldMapArea.clanChat.sort(); // L: 2307 - } + if (var0 == 6) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2280, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2309 - } else if (var0 == 3656) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2312 - MilliClock.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); // L: 2313 - return 1; // L: 2314 - } else if (var0 == 3657) { - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2317 - if (WorldMapArea.clanChat != null) { // L: 2318 - WorldMapArea.clanChat.addComparator(new BuddyRankComparator(var7)); // L: 2319 - } + if (var0 == 7) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2258, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2321 - } else { - return 2; // L: 2323 - } - } - } else { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2146 - if (WorldMapArea.clanChat != null && var3 < WorldMapArea.clanChat.getSize() && ((ClanMate)WorldMapArea.clanChat.get(var3)).isIgnored()) { // L: 2147 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 2148 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2150 - } + if (var0 == 8) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2328, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - return 1; // L: 2151 - } - } - } - } + if (var0 == 9) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2253, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } - @ObfuscatedName("ip") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1035519670" - ) - @Export("addCancelMenuEntry") - static void addCancelMenuEntry() { - Client.menuOptionsCount = 0; // L: 7313 - Client.isMenuOpen = false; // L: 7314 - Client.menuActions[0] = "Cancel"; // L: 7316 - Client.menuTargets[0] = ""; // L: 7317 - Client.menuOpcodes[0] = 1006; // L: 7318 - Client.menuShiftClick[0] = false; // L: 7319 - Client.menuOptionsCount = 1; // L: 7320 - } // L: 7321 + if (var0 == 10) { + var7 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2300, Client.packetWriter.isaacCipher); + var7.packetBuffer.writeInt(var1); + var7.packetBuffer.writeShort(var2); + var7.packetBuffer.writeShort(var3); + Client.packetWriter.addNode(var7); + } + + } + } + } + } + + @ObfuscatedName("jt") + @ObfuscatedSignature( + descriptor = "([Lhz;II)V", + garbageValue = "-1753877400" + ) + @Export("drawModelComponents") + static final void drawModelComponents(Widget[] var0, int var1) { + for(int var2 = 0; var2 < var0.length; ++var2) { + Widget var3 = var0[var2]; + if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !DevicePcmPlayerProvider.isComponentHidden(var3))) { + int var5; + if (var3.type == 0) { + if (!var3.isIf3 && DevicePcmPlayerProvider.isComponentHidden(var3) && var3 != Canvas.mousedOverWidgetIf1) { + continue; + } + + drawModelComponents(var0, var3.id); + if (var3.children != null) { + drawModelComponents(var3.children, var3.id); + } + + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + var5 = var4.group; + if (WorldMapCacheName.loadInterface(var5)) { + drawModelComponents(DefaultsGroup.Widget_interfaceComponents[var5], -1); + } + } + } + + if (var3.type == 6) { + if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { + boolean var7 = GrandExchangeOfferWorldComparator.runCs1(var3); + if (var7) { + var5 = var3.sequenceId2; + } else { + var5 = var3.sequenceId; + } + + if (var5 != -1) { + SequenceDefinition var6 = InterfaceParent.SequenceDefinition_get(var5); + + for(var3.modelFrameCycle += Client.field808; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; IsaacCipher.invalidateWidget(var3)) { + var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; + ++var3.modelFrame; + if (var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame -= var6.frameCount; + if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { + var3.modelFrame = 0; + } + } + } + } + } + + if (var3.field2649 != 0 && !var3.isIf3) { + int var8 = var3.field2649 >> 16; + var5 = var3.field2649 << 16 >> 16; + var8 *= Client.field808; + var5 *= Client.field808; + var3.modelAngleX = var8 + var3.modelAngleX & 2047; + var3.modelAngleY = var5 + var3.modelAngleY & 2047; + IsaacCipher.invalidateWidget(var3); + } + } + } + } + + } } diff --git a/runescape-client/src/main/java/Archive.java b/runescape-client/src/main/java/Archive.java index 7ea83a718a..4747dda0f8 100644 --- a/runescape-client/src/main/java/Archive.java +++ b/runescape-client/src/main/java/Archive.java @@ -5,449 +5,448 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("il") +@ObfuscatedName("iy") @Implements("Archive") public class Archive extends AbstractArchive { - @ObfuscatedName("ax") - @Export("Archive_crc") - static CRC32 Archive_crc; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Llx;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Llx;" - ) - @Export("masterDisk") - ArchiveDisk masterDisk; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -238698165 - ) - @Export("index") - int index; - @ObfuscatedName("d") - volatile boolean field3185; - @ObfuscatedName("an") - boolean field3192; - @ObfuscatedName("aj") - @Export("validGroups") - volatile boolean[] validGroups; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 490839009 - ) - @Export("indexCrc") - int indexCrc; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1466147075 - ) - @Export("indexVersion") - int indexVersion; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1342642221 - ) - int field3191; + @ObfuscatedName("ag") + @Export("Archive_crc") + static CRC32 Archive_crc = new CRC32(); + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Llu;" + ) + @Export("archiveDisk") + ArchiveDisk archiveDisk; + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Llu;" + ) + @Export("masterDisk") + ArchiveDisk masterDisk; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 985029217 + ) + @Export("index") + int index; + @ObfuscatedName("j") + volatile boolean field3192 = false; + @ObfuscatedName("ay") + boolean field3196 = false; + @ObfuscatedName("am") + @Export("validGroups") + volatile boolean[] validGroups; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1841826013 + ) + @Export("indexCrc") + int indexCrc; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 650586757 + ) + @Export("indexVersion") + int indexVersion; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 292662723 + ) + int field3200 = -1; - static { - Archive_crc = new CRC32(); // L: 17 - } + @ObfuscatedSignature( + descriptor = "(Llu;Llu;IZZZ)V" + ) + public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { + super(var4, var5); + this.archiveDisk = var1; + this.masterDisk = var2; + this.index = var3; + this.field3196 = var6; + int var8 = this.index; + if (SoundSystem.NetCache_reference != null) { + SoundSystem.NetCache_reference.offset = var8 * 8 + 5; + int var9 = SoundSystem.NetCache_reference.readInt(); + int var10 = SoundSystem.NetCache_reference.readInt(); + this.loadIndex(var9, var10); + } else { + WorldMapSectionType.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); + NetCache.NetCache_archives[var8] = this; + } - @ObfuscatedSignature( - descriptor = "(Llx;Llx;IZZZ)V" - ) - public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) { - super(var4, var5); // L: 23 - this.field3185 = false; // L: 14 - this.field3192 = false; // L: 15 - this.field3191 = -1; // L: 20 - this.archiveDisk = var1; // L: 24 - this.masterDisk = var2; // L: 25 - this.index = var3; // L: 26 - this.field3192 = var6; // L: 27 - int var8 = this.index; // L: 29 - if (WorldMapLabel.NetCache_reference != null) { // L: 31 - WorldMapLabel.NetCache_reference.offset = var8 * 8 + 5; // L: 32 - int var9 = WorldMapLabel.NetCache_reference.readInt(); // L: 33 - int var10 = WorldMapLabel.NetCache_reference.readInt(); // L: 34 - this.loadIndex(var9, var10); // L: 35 - } else { - Widget.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true); // L: 38 - NetCache.NetCache_archives[var8] = this; // L: 39 - } + } - } // L: 41 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "31242" + ) + @Export("loadRegionFromGroup") + void loadRegionFromGroup(int var1) { + AttackOption.method2202(this.index, var1); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1807571765" - ) - @Export("loadRegionFromGroup") - void loadRegionFromGroup(int var1) { - int var2 = this.index; // L: 66 - long var3 = (long)((var2 << 16) + var1); // L: 68 - NetFileRequest var5 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var3); // L: 69 - if (var5 != null) { // L: 70 - NetCache.NetCache_pendingWritesQueue.addLast(var5); // L: 71 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-693356446" + ) + @Export("groupLoadPercent") + int groupLoadPercent(int var1) { + if (super.groups[var1] != null) { + return 100; + } else if (this.validGroups[var1]) { + return 100; + } else { + int var3 = this.index; + long var4 = (long)((var3 << 16) + var1); + int var2; + if (SecureRandomCallable.NetCache_currentResponse != null && var4 == SecureRandomCallable.NetCache_currentResponse.key) { + var2 = NetCache.NetCache_responseArchiveBuffer.offset * 99 / (NetCache.NetCache_responseArchiveBuffer.array.length - SecureRandomCallable.NetCache_currentResponse.padding) + 1; + } else { + var2 = 0; + } - } // L: 73 + return var2; + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "2120197275" - ) - @Export("groupLoadPercent") - int groupLoadPercent(int var1) { - if (super.groups[var1] != null) { // L: 277 - return 100; - } else if (this.validGroups[var1]) { // L: 278 - return 100; - } else { - int var3 = this.index; // L: 280 - long var4 = (long)((var3 << 16) + var1); // L: 282 - int var2; - if (NetCache.NetCache_currentResponse != null && NetCache.NetCache_currentResponse.key == var4) { // L: 283 - var2 = class206.NetCache_responseArchiveBuffer.offset * 99 / (class206.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1; // L: 287 - } else { - var2 = 0; // L: 284 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1209383303" + ) + @Export("loadGroup") + void loadGroup(int var1) { + if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { + ArchiveDisk var2 = this.archiveDisk; + byte[] var4 = null; + NodeDeque var5 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + for(ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { + if ((long)var1 == var6.key && var2 == var6.archiveDisk && var6.type == 0) { + var4 = var6.data; + break; + } + } + } - return var2; // L: 289 - } - } + if (var4 != null) { + this.load(var2, var1, var4, true); + } else { + byte[] var9 = var2.read(var1); + this.load(var2, var1, var9, true); + } + } else { + WorldMapSectionType.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "786262695" - ) - @Export("loadGroup") - void loadGroup(int var1) { - if (this.archiveDisk != null && this.validGroups != null && this.validGroups[var1]) { // L: 76 - ArchiveDisk var2 = this.archiveDisk; // L: 77 - byte[] var4 = null; // L: 80 - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { // L: 81 - for (ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { // L: 82 - if (var6.key == (long)var1 && var2 == var6.archiveDisk && var6.type == 0) { // L: 83 - var4 = var6.data; // L: 84 - break; // L: 85 - } - } - } + } - if (var4 != null) { // L: 89 - this.load(var2, var1, var4, true); // L: 90 - } else { - byte[] var5 = var2.read(var1); // L: 93 - this.load(var2, var1, var5, true); // L: 94 - } - } else { - Widget.requestNetFile(this, this.index, var1, super.groupCrcs[var1], (byte)2, true); // L: 97 - } + @ObfuscatedName("co") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1775407691" + ) + public boolean method4461() { + return this.field3192; + } - } // L: 98 + @ObfuscatedName("cx") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "6696" + ) + @Export("percentage") + public int percentage() { + if (this.field3192) { + return 100; + } else if (super.groups != null) { + return 99; + } else { + int var2 = this.index; + long var3 = (long)(var2 + 16711680); + int var1; + if (SecureRandomCallable.NetCache_currentResponse != null && var3 == SecureRandomCallable.NetCache_currentResponse.key) { + var1 = NetCache.NetCache_responseArchiveBuffer.offset * 99 / (NetCache.NetCache_responseArchiveBuffer.array.length - SecureRandomCallable.NetCache_currentResponse.padding) + 1; + } else { + var1 = 0; + } - @ObfuscatedName("cv") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "2" - ) - public boolean method4304() { - return this.field3185; // L: 44 - } + int var5 = var1; + if (var1 >= 100) { + var5 = 99; + } - @ObfuscatedName("cs") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "564971922" - ) - @Export("percentage") - public int percentage() { - if (this.field3185) { // L: 48 - return 100; - } else if (super.groups != null) { // L: 49 - return 99; - } else { - int var2 = this.index; // L: 51 - long var3 = (long)(var2 + 16711680); // L: 53 - int var1; - if (NetCache.NetCache_currentResponse != null && NetCache.NetCache_currentResponse.key == var3) { // L: 54 - var1 = class206.NetCache_responseArchiveBuffer.offset * 99 / (class206.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding) + 1; // L: 58 - } else { - var1 = 0; // L: 55 - } + return var5; + } + } - int var5 = var1; // L: 60 - if (var1 >= 100) { // L: 61 - var5 = 99; - } + @ObfuscatedName("cg") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "1" + ) + @Export("loadIndex") + public void loadIndex(int var1, int var2) { + this.indexCrc = var1; + this.indexVersion = var2; + if (this.masterDisk != null) { + int var3 = this.index; + ArchiveDisk var4 = this.masterDisk; + byte[] var6 = null; + NodeDeque var7 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + for(ArchiveDiskAction var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var8 != null; var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { + if (var8.key == (long)var3 && var4 == var8.archiveDisk && var8.type == 0) { + var6 = var8.data; + break; + } + } + } - return var5; // L: 62 - } - } + if (var6 != null) { + this.load(var4, var3, var6, true); + } else { + byte[] var11 = var4.read(var3); + this.load(var4, var3, var11, true); + } + } else { + WorldMapSectionType.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + } - @ObfuscatedName("cn") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1317908799" - ) - @Export("loadIndex") - public void loadIndex(int var1, int var2) { - this.indexCrc = var1; // L: 101 - this.indexVersion = var2; // L: 102 - if (this.masterDisk != null) { // L: 103 - int var3 = this.index; // L: 104 - ArchiveDisk var4 = this.masterDisk; // L: 105 - byte[] var6 = null; // L: 108 - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { // L: 109 - for (ArchiveDiskAction var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var8 != null; var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) { // L: 110 - if ((long)var3 == var8.key && var4 == var8.archiveDisk && var8.type == 0) { // L: 111 - var6 = var8.data; // L: 112 - break; // L: 113 - } - } - } + } - if (var6 != null) { // L: 117 - this.load(var4, var3, var6, true); // L: 118 - } else { - byte[] var7 = var4.read(var3); // L: 121 - this.load(var4, var3, var7, true); // L: 122 - } - } else { - Widget.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); // L: 125 - } + @ObfuscatedName("ch") + @ObfuscatedSignature( + descriptor = "(I[BZZI)V", + garbageValue = "1626411173" + ) + @Export("write") + public void write(int var1, byte[] var2, boolean var3, boolean var4) { + if (var3) { + if (this.field3192) { + throw new RuntimeException(); + } - } // L: 126 + if (this.masterDisk != null) { + int var5 = this.index; + ArchiveDisk var6 = this.masterDisk; + ArchiveDiskAction var7 = new ArchiveDiskAction(); + var7.type = 0; + var7.key = (long)var5; + var7.data = var2; + var7.archiveDisk = var6; + NodeDeque var8 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var7); + } - @ObfuscatedName("co") - @ObfuscatedSignature( - descriptor = "(I[BZZI)V", - garbageValue = "1890692" - ) - @Export("write") - public void write(int var1, byte[] var2, boolean var3, boolean var4) { - if (var3) { // L: 129 - if (this.field3185) { // L: 130 - throw new RuntimeException(); // L: 131 - } + Object var21 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3187 == 0) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); + } - if (this.masterDisk != null) { // L: 133 - KeyHandler.method872(this.index, var2, this.masterDisk); - } + ArchiveDiskActionHandler.field3187 = 600; + } + } - this.decodeIndex(var2); // L: 134 - this.loadAllLocal(); // L: 135 - } else { - var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8); // L: 138 - var2[var2.length - 1] = (byte)super.groupVersions[var1]; // L: 139 - if (this.archiveDisk != null) { // L: 140 - KeyHandler.method872(var1, var2, this.archiveDisk); // L: 141 - this.validGroups[var1] = true; // L: 142 - } + this.decodeIndex(var2); + this.loadAllLocal(); + } else { + var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8); + var2[var2.length - 1] = (byte)super.groupVersions[var1]; + if (this.archiveDisk != null) { + ArchiveDisk var13 = this.archiveDisk; + ArchiveDiskAction var18 = new ArchiveDiskAction(); + var18.type = 0; + var18.key = (long)var1; + var18.data = var2; + var18.archiveDisk = var13; + NodeDeque var19 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var18); + } - if (var4) { // L: 144 - Object[] var5 = super.groups; // L: 145 - Object var7; - if (var2 == null) { // L: 149 - var7 = null; // L: 150 - } else if (var2.length > 136) { // L: 153 - DirectByteArrayCopier var8 = new DirectByteArrayCopier(); // L: 155 - var8.set(var2); // L: 156 - var7 = var8; // L: 157 - } else { - var7 = var2; // L: 171 - } + Object var20 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3187 == 0) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); + } - var5[var1] = var7; // L: 173 - } - } + ArchiveDiskActionHandler.field3187 = 600; + } - } // L: 176 + this.validGroups[var1] = true; + } - @ObfuscatedName("dh") - @ObfuscatedSignature( - descriptor = "(Llx;I[BZI)V", - garbageValue = "1276790127" - ) - @Export("load") - void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { - int var5; - if (var1 == this.masterDisk) { // L: 179 - if (this.field3185) { // L: 180 - throw new RuntimeException(); // L: 181 - } + if (var4) { + super.groups[var1] = class92.method2195(var2, false); + } + } - if (var3 == null) { // L: 183 - Widget.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); // L: 184 - return; // L: 185 - } + } - Archive_crc.reset(); // L: 187 - Archive_crc.update(var3, 0, var3.length); // L: 188 - var5 = (int)Archive_crc.getValue(); // L: 189 - if (var5 != this.indexCrc) { // L: 190 - Widget.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); // L: 191 - return; // L: 192 - } + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "(Llu;I[BZI)V", + garbageValue = "-2146867560" + ) + @Export("load") + public void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) { + int var5; + if (var1 == this.masterDisk) { + if (this.field3192) { + throw new RuntimeException(); + } - Buffer var11 = new Buffer(PrivateChatMode.decompressBytes(var3)); // L: 194 - int var12 = var11.readUnsignedByte(); // L: 195 - if (var12 != 5 && var12 != 6) { // L: 196 - throw new RuntimeException(var12 + "," + this.index + "," + var2); - } + if (var3 == null) { + WorldMapSectionType.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } - int var8 = 0; // L: 197 - if (var12 >= 6) { // L: 198 - var8 = var11.readInt(); - } + Archive_crc.reset(); + Archive_crc.update(var3, 0, var3.length); + var5 = (int)Archive_crc.getValue(); + if (var5 != this.indexCrc) { + WorldMapSectionType.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } - if (var8 != this.indexVersion) { // L: 199 - Widget.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); // L: 200 - return; // L: 201 - } + Buffer var9 = new Buffer(WorldMapDecorationType.decompressBytes(var3)); + int var7 = var9.readUnsignedByte(); + if (var7 != 5 && var7 != 6) { + throw new RuntimeException(var7 + "," + this.index + "," + var2); + } - this.decodeIndex(var3); // L: 203 - this.loadAllLocal(); // L: 204 - } else { - if (!var4 && var2 == this.field3191) { // L: 207 - this.field3185 = true; // L: 208 - } + int var8 = 0; + if (var7 >= 6) { + var8 = var9.readInt(); + } - if (var3 == null || var3.length <= 2) { // L: 210 - this.validGroups[var2] = false; // L: 211 - if (this.field3192 || var4) { // L: 212 - Widget.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); - } + if (var8 != this.indexVersion) { + WorldMapSectionType.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true); + return; + } - return; // L: 213 - } + this.decodeIndex(var3); + this.loadAllLocal(); + } else { + if (!var4 && var2 == this.field3200) { + this.field3192 = true; + } - Archive_crc.reset(); // L: 215 - Archive_crc.update(var3, 0, var3.length - 2); // L: 216 - var5 = (int)Archive_crc.getValue(); // L: 217 - int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255); // L: 218 - if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) { // L: 219 - this.validGroups[var2] = false; // L: 220 - if (this.field3192 || var4) { // L: 221 - Widget.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); - } + if (var3 == null || var3.length <= 2) { + this.validGroups[var2] = false; + if (this.field3196 || var4) { + WorldMapSectionType.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + } - return; // L: 222 - } + return; + } - this.validGroups[var2] = true; // L: 224 - if (var4) { // L: 225 - Object[] var7 = super.groups; // L: 226 - Object var9; - if (var3 == null) { // L: 230 - var9 = null; // L: 231 - } else if (var3.length > 136) { // L: 234 - DirectByteArrayCopier var10 = new DirectByteArrayCopier(); // L: 236 - var10.set(var3); // L: 237 - var9 = var10; // L: 238 - } else { - var9 = var3; // L: 252 - } + Archive_crc.reset(); + Archive_crc.update(var3, 0, var3.length - 2); + var5 = (int)Archive_crc.getValue(); + int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255); + if (var5 != super.groupCrcs[var2] || var6 != super.groupVersions[var2]) { + this.validGroups[var2] = false; + if (this.field3196 || var4) { + WorldMapSectionType.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4); + } - var7[var2] = var9; // L: 254 - } - } + return; + } - } // L: 257 + this.validGroups[var2] = true; + if (var4) { + super.groups[var2] = class92.method2195(var3, false); + } + } - @ObfuscatedName("dl") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-457246550" - ) - @Export("loadAllLocal") - void loadAllLocal() { - this.validGroups = new boolean[super.groups.length]; // L: 260 + } - int var1; - for (var1 = 0; var1 < this.validGroups.length; ++var1) { // L: 261 - this.validGroups[var1] = false; - } + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1754503913" + ) + @Export("loadAllLocal") + void loadAllLocal() { + this.validGroups = new boolean[super.groups.length]; - if (this.archiveDisk == null) { // L: 262 - this.field3185 = true; // L: 263 - } else { - this.field3191 = -1; // L: 266 + int var1; + for(var1 = 0; var1 < this.validGroups.length; ++var1) { + this.validGroups[var1] = false; + } - for (var1 = 0; var1 < this.validGroups.length; ++var1) { // L: 267 - if (super.fileCounts[var1] > 0) { // L: 268 - Skills.method4147(var1, this.archiveDisk, this); // L: 269 - this.field3191 = var1; // L: 270 - } - } + if (this.archiveDisk == null) { + this.field3192 = true; + } else { + this.field3200 = -1; - if (this.field3191 == -1) { // L: 273 - this.field3185 = true; - } + for(var1 = 0; var1 < this.validGroups.length; ++var1) { + if (super.fileCounts[var1] > 0) { + Tiles.method1218(var1, this.archiveDisk, this); + this.field3200 = var1; + } + } - } - } // L: 264 274 + if (this.field3200 == -1) { + this.field3192 = true; + } - @ObfuscatedName("du") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-215383381" - ) - public boolean method4319(int var1) { - return this.validGroups[var1]; // L: 293 - } + } + } - @ObfuscatedName("de") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "2" - ) - public boolean method4305(int var1) { - return this.getGroupFileIds(var1) != null; // L: 297 - } + @ObfuscatedName("ct") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-321850782" + ) + public boolean method4470(int var1) { + return this.validGroups[var1]; + } - @ObfuscatedName("dw") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1590832710" - ) - @Export("loadPercent") - public int loadPercent() { - int var1 = 0; // L: 301 - int var2 = 0; // L: 302 + @ObfuscatedName("dx") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "106266787" + ) + public boolean method4471(int var1) { + return this.getGroupFileIds(var1) != null; + } - int var3; - for (var3 = 0; var3 < super.groups.length; ++var3) { // L: 303 - if (super.fileCounts[var3] > 0) { // L: 304 - var1 += 100; // L: 305 - var2 += this.groupLoadPercent(var3); // L: 306 - } - } + @ObfuscatedName("do") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "2024354781" + ) + @Export("loadPercent") + public int loadPercent() { + int var1 = 0; + int var2 = 0; - if (var1 == 0) { // L: 309 - return 100; - } else { - var3 = var2 * 100 / var1; // L: 310 - return var3; // L: 311 - } - } + int var3; + for(var3 = 0; var3 < super.groups.length; ++var3) { + if (super.fileCounts[var3] > 0) { + var1 += 100; + var2 += this.groupLoadPercent(var3); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1996112671" - ) - @Export("isWorldMapEvent") - public static boolean isWorldMapEvent(int var0) { - return var0 == 10 || var0 == 11 || var0 == 12 || var0 == 13 || var0 == 14 || var0 == 15 || var0 == 16 || var0 == 17; // L: 19 - } + if (var1 == 0) { + return 100; + } else { + var3 = var2 * 100 / var1; + return var3; + } + } } diff --git a/runescape-client/src/main/java/ArchiveDisk.java b/runescape-client/src/main/java/ArchiveDisk.java index 4721e9111f..551d4e381e 100644 --- a/runescape-client/src/main/java/ArchiveDisk.java +++ b/runescape-client/src/main/java/ArchiveDisk.java @@ -6,331 +6,350 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lx") +@ObfuscatedName("lu") @Implements("ArchiveDisk") public final class ArchiveDisk { - @ObfuscatedName("h") - @Export("ArchiveDisk_buffer") - static byte[] ArchiveDisk_buffer; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lmz;" - ) - @Export("datFile") - BufferedFile datFile; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lmz;" - ) - @Export("idxFile") - BufferedFile idxFile; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 267421513 - ) - @Export("archive") - int archive; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1751631577 - ) - @Export("maxEntrySize") - int maxEntrySize; + @ObfuscatedName("n") + @Export("ArchiveDisk_buffer") + static byte[] ArchiveDisk_buffer = new byte[520]; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + @Export("datFile") + BufferedFile datFile = null; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + @Export("idxFile") + BufferedFile idxFile = null; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1046439635 + ) + @Export("archive") + int archive; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 189362565 + ) + @Export("maxEntrySize") + int maxEntrySize = 65000; - static { - ArchiveDisk_buffer = new byte[520]; // L: 7 - } + @ObfuscatedSignature( + descriptor = "(ILme;Lme;I)V" + ) + public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { + this.archive = var1; + this.datFile = var2; + this.idxFile = var3; + this.maxEntrySize = var4; + } - @ObfuscatedSignature( - descriptor = "(ILmz;Lmz;I)V" - ) - public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) { - this.datFile = null; // L: 8 - this.idxFile = null; // L: 9 - this.maxEntrySize = 65000; // L: 11 - this.archive = var1; // L: 14 - this.datFile = var2; // L: 15 - this.idxFile = var3; // L: 16 - this.maxEntrySize = var4; // L: 17 - } // L: 18 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)[B", + garbageValue = "-776815620" + ) + @Export("read") + public byte[] read(int var1) { + BufferedFile var2 = this.datFile; + synchronized(this.datFile) { + try { + Object var10000; + if (this.idxFile.length() < (long)(var1 * 6 + 6)) { + var10000 = null; + return (byte[])var10000; + } else { + 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; + } else if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) { + var10000 = null; + return (byte[])var10000; + } else { + byte[] var5 = new byte[var3]; + int var6 = 0; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)[B", - garbageValue = "361670705" - ) - @Export("read") - public byte[] read(int var1) { - synchronized(this.datFile) { // L: 21 - try { - Object var10000; - if (this.idxFile.length() < (long)(var1 * 6 + 6)) { // L: 23 - var10000 = null; - return (byte[])var10000; - } else { - this.idxFile.seek((long)(var1 * 6)); // L: 24 - this.idxFile.read(ArchiveDisk_buffer, 0, 6); // L: 25 - int var3 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8); // L: 26 - int var4 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); // L: 27 - if (var3 < 0 || var3 > this.maxEntrySize) { // L: 28 - var10000 = null; - return (byte[])var10000; - } else if (var4 <= 0 || (long)var4 > this.datFile.length() / 520L) { // L: 29 - var10000 = null; - return (byte[])var10000; - } else { - byte[] var5 = new byte[var3]; // L: 30 - int var6 = 0; // L: 31 + for(int var7 = 0; var6 < var3; ++var7) { + if (var4 == 0) { + var10000 = null; + return (byte[])var10000; + } - for (int var7 = 0; var6 < var3; ++var7) { // L: 32 33 65 - if (var4 == 0) { // L: 34 - var10000 = null; - return (byte[])var10000; - } + this.datFile.seek(520L * (long)var4); + int var8 = var3 - var6; + int var9; + int var10; + int var11; + int var12; + byte var13; + if (var1 > 65535) { + if (var8 > 510) { + var8 = 510; + } - this.datFile.seek((long)var4 * 520L); // L: 35 - int var8 = var3 - var6; // L: 36 - int var9; - int var10; - int var11; - int var12; - byte var13; - if (var1 > 65535) { // L: 42 - if (var8 > 510) { // L: 43 - var8 = 510; - } + var13 = 10; + this.datFile.read(ArchiveDisk_buffer, 0, var13 + var8); + var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); + var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); + var12 = ArchiveDisk_buffer[9] & 255; + } else { + if (var8 > 512) { + var8 = 512; + } - var13 = 10; // L: 44 - this.datFile.read(ArchiveDisk_buffer, 0, var13 + var8); // L: 45 - var9 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); // L: 46 - var10 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); // L: 47 - var11 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); // L: 48 - var12 = ArchiveDisk_buffer[9] & 255; // L: 49 - } else { - if (var8 > 512) { // L: 52 - var8 = 512; - } + var13 = 8; + this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); + var9 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); + var10 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var11 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); + var12 = ArchiveDisk_buffer[7] & 255; + } - var13 = 8; // L: 53 - this.datFile.read(ArchiveDisk_buffer, 0, var8 + var13); // L: 54 - var9 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); // L: 55 - var10 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); // L: 56 - var11 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); // L: 57 - var12 = ArchiveDisk_buffer[7] & 255; // L: 58 - } + if (var9 != var1 || var7 != var10 || var12 != this.archive) { + var10000 = null; + return (byte[])var10000; + } - if (var9 != var1 || var7 != var10 || var12 != this.archive) { // L: 60 - var10000 = null; - return (byte[])var10000; - } + if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { + var10000 = null; + return (byte[])var10000; + } - if (var11 < 0 || (long)var11 > this.datFile.length() / 520L) { // L: 61 - var10000 = null; - return (byte[])var10000; - } + int var14 = var8 + var13; - int var14 = var13 + var8; // L: 62 + for(int var15 = var13; var15 < var14; ++var15) { + var5[var6++] = ArchiveDisk_buffer[var15]; + } - for (int var15 = var13; var15 < var14; ++var15) { // L: 63 - var5[var6++] = ArchiveDisk_buffer[var15]; - } + var4 = var11; + } - var4 = var11; // L: 64 - } + byte[] var20 = var5; + return var20; + } + } + } catch (IOException var18) { + return null; + } + } + } - byte[] var20 = var5; - return var20; // L: 67 - } - } - } catch (IOException var18) { // L: 69 - return null; // L: 70 - } - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I[BIB)Z", + garbageValue = "119" + ) + @Export("write") + public boolean write(int var1, byte[] var2, int var3) { + BufferedFile var4 = this.datFile; + 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); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I[BII)Z", - garbageValue = "-315140896" - ) - @Export("write") - public boolean write(int var1, byte[] var2, int var3) { - synchronized(this.datFile) { // L: 76 - if (var3 >= 0 && var3 <= this.maxEntrySize) { // L: 77 - boolean var5 = this.write0(var1, var2, var3, true); // L: 80 - if (!var5) { - var5 = this.write0(var1, var2, var3, false); // L: 81 - } + return var5; + } else { + throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); + } + } + } - return var5; // L: 82 - } else { - throw new IllegalArgumentException("" + this.archive + ',' + var1 + ',' + var3); // L: 78 - } - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I[BIZI)Z", + garbageValue = "-559665246" + ) + @Export("write0") + boolean write0(int var1, byte[] var2, int var3, boolean var4) { + BufferedFile var5 = this.datFile; + synchronized(this.datFile) { + try { + int var6; + boolean var10000; + if (var4) { + if (this.idxFile.length() < (long)(var1 * 6 + 6)) { + var10000 = false; + return var10000; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I[BIZI)Z", - garbageValue = "-1633261977" - ) - @Export("write0") - boolean write0(int var1, byte[] var2, int var3, boolean var4) { - synchronized(this.datFile) { // L: 87 - try { - int var6; - boolean var10000; - if (var4) { // L: 90 - if (this.idxFile.length() < (long)(var1 * 6 + 6)) { // L: 91 - var10000 = false; - return var10000; - } + 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; + } + } else { + var6 = (int)((this.datFile.length() + 519L) / 520L); + if (var6 == 0) { + var6 = 1; + } + } - this.idxFile.seek((long)(var1 * 6)); // L: 92 - this.idxFile.read(ArchiveDisk_buffer, 0, 6); // L: 93 - var6 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8); // L: 94 - if (var6 <= 0 || (long)var6 > this.datFile.length() / 520L) { // L: 95 - var10000 = false; - return var10000; - } - } else { - var6 = (int)((this.datFile.length() + 519L) / 520L); // L: 98 - if (var6 == 0) { // L: 99 - var6 = 1; - } - } + ArchiveDisk_buffer[0] = (byte)(var3 >> 16); + ArchiveDisk_buffer[1] = (byte)(var3 >> 8); + ArchiveDisk_buffer[2] = (byte)var3; + ArchiveDisk_buffer[3] = (byte)(var6 >> 16); + ArchiveDisk_buffer[4] = (byte)(var6 >> 8); + ArchiveDisk_buffer[5] = (byte)var6; + this.idxFile.seek((long)(var1 * 6)); + this.idxFile.write(ArchiveDisk_buffer, 0, 6); + int var7 = 0; + int var8 = 0; - ArchiveDisk_buffer[0] = (byte)(var3 >> 16); // L: 101 - ArchiveDisk_buffer[1] = (byte)(var3 >> 8); // L: 102 - ArchiveDisk_buffer[2] = (byte)var3; // L: 103 - ArchiveDisk_buffer[3] = (byte)(var6 >> 16); // L: 104 - ArchiveDisk_buffer[4] = (byte)(var6 >> 8); // L: 105 - ArchiveDisk_buffer[5] = (byte)var6; // L: 106 - this.idxFile.seek((long)(var1 * 6)); // L: 107 - this.idxFile.write(ArchiveDisk_buffer, 0, 6); // L: 108 - int var7 = 0; // L: 109 - int var8 = 0; // L: 110 + while(true) { + if (var7 < var3) { + label169: { + int var9 = 0; + int var10; + if (var4) { + this.datFile.seek((long)var6 * 520L); + int var11; + int var12; + if (var1 > 65535) { + try { + this.datFile.read(ArchiveDisk_buffer, 0, 10); + } catch (EOFException var17) { + break label169; + } - while (true) { - if (var7 < var3) { // L: 111 - label170: { - int var9 = 0; // L: 112 - int var10; - if (var4) { // L: 113 - this.datFile.seek(520L * (long)var6); // L: 114 - int var11; - int var12; - if (var1 > 65535) { // L: 118 - try { - this.datFile.read(ArchiveDisk_buffer, 0, 10); // L: 120 - } catch (EOFException var17) { // L: 122 - break label170; // L: 123 - } + var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var11 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); + var9 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); + var12 = ArchiveDisk_buffer[9] & 255; + } else { + try { + this.datFile.read(ArchiveDisk_buffer, 0, 8); + } catch (EOFException var16) { + break label169; + } - var10 = ((ArchiveDisk_buffer[1] & 255) << 16) + ((ArchiveDisk_buffer[0] & 255) << 24) + (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); // L: 125 - var11 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[4] & 255) << 8); // L: 126 - var9 = (ArchiveDisk_buffer[8] & 255) + ((ArchiveDisk_buffer[7] & 255) << 8) + ((ArchiveDisk_buffer[6] & 255) << 16); // L: 127 - var12 = ArchiveDisk_buffer[9] & 255; // L: 128 - } else { - try { - this.datFile.read(ArchiveDisk_buffer, 0, 8); // L: 132 - } catch (EOFException var16) { // L: 134 - break label170; // L: 135 - } + var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); + var11 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); + var9 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); + var12 = ArchiveDisk_buffer[7] & 255; + } - var10 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8); // L: 137 - var11 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8); // L: 138 - var9 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255); // L: 139 - var12 = ArchiveDisk_buffer[7] & 255; // L: 140 - } + if (var10 != var1 || var11 != var8 || var12 != this.archive) { + var10000 = false; + return var10000; + } - if (var10 != var1 || var8 != var11 || var12 != this.archive) { // L: 142 - var10000 = false; - return var10000; - } + if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { + var10000 = false; + return var10000; + } + } - if (var9 < 0 || (long)var9 > this.datFile.length() / 520L) { // L: 143 - var10000 = false; - return var10000; - } - } + if (var9 == 0) { + var4 = false; + var9 = (int)((this.datFile.length() + 519L) / 520L); + if (var9 == 0) { + ++var9; + } - if (var9 == 0) { // L: 145 - var4 = false; // L: 146 - var9 = (int)((this.datFile.length() + 519L) / 520L); // L: 147 - if (var9 == 0) { // L: 148 - ++var9; - } + if (var9 == var6) { + ++var9; + } + } - if (var9 == var6) { // L: 149 - ++var9; - } - } + if (var1 > 65535) { + if (var3 - var7 <= 510) { + var9 = 0; + } - if (var1 > 65535) { // L: 151 - if (var3 - var7 <= 510) { // L: 152 - var9 = 0; - } + ArchiveDisk_buffer[0] = (byte)(var1 >> 24); + ArchiveDisk_buffer[1] = (byte)(var1 >> 16); + ArchiveDisk_buffer[2] = (byte)(var1 >> 8); + ArchiveDisk_buffer[3] = (byte)var1; + ArchiveDisk_buffer[4] = (byte)(var8 >> 8); + ArchiveDisk_buffer[5] = (byte)var8; + ArchiveDisk_buffer[6] = (byte)(var9 >> 16); + ArchiveDisk_buffer[7] = (byte)(var9 >> 8); + ArchiveDisk_buffer[8] = (byte)var9; + ArchiveDisk_buffer[9] = (byte)this.archive; + this.datFile.seek(520L * (long)var6); + this.datFile.write(ArchiveDisk_buffer, 0, 10); + var10 = var3 - var7; + if (var10 > 510) { + var10 = 510; + } - ArchiveDisk_buffer[0] = (byte)(var1 >> 24); // L: 153 - ArchiveDisk_buffer[1] = (byte)(var1 >> 16); // L: 154 - ArchiveDisk_buffer[2] = (byte)(var1 >> 8); // L: 155 - ArchiveDisk_buffer[3] = (byte)var1; // L: 156 - ArchiveDisk_buffer[4] = (byte)(var8 >> 8); // L: 157 - ArchiveDisk_buffer[5] = (byte)var8; // L: 158 - ArchiveDisk_buffer[6] = (byte)(var9 >> 16); // L: 159 - ArchiveDisk_buffer[7] = (byte)(var9 >> 8); // L: 160 - ArchiveDisk_buffer[8] = (byte)var9; // L: 161 - ArchiveDisk_buffer[9] = (byte)this.archive; // L: 162 - this.datFile.seek(520L * (long)var6); // L: 163 - this.datFile.write(ArchiveDisk_buffer, 0, 10); // L: 164 - var10 = var3 - var7; // L: 165 - if (var10 > 510) { // L: 166 - var10 = 510; - } + this.datFile.write(var2, var7, var10); + var7 += var10; + } else { + if (var3 - var7 <= 512) { + var9 = 0; + } - this.datFile.write(var2, var7, var10); // L: 167 - var7 += var10; // L: 168 - } else { - if (var3 - var7 <= 512) { // L: 171 - var9 = 0; - } + ArchiveDisk_buffer[0] = (byte)(var1 >> 8); + ArchiveDisk_buffer[1] = (byte)var1; + ArchiveDisk_buffer[2] = (byte)(var8 >> 8); + ArchiveDisk_buffer[3] = (byte)var8; + ArchiveDisk_buffer[4] = (byte)(var9 >> 16); + ArchiveDisk_buffer[5] = (byte)(var9 >> 8); + ArchiveDisk_buffer[6] = (byte)var9; + ArchiveDisk_buffer[7] = (byte)this.archive; + this.datFile.seek(520L * (long)var6); + this.datFile.write(ArchiveDisk_buffer, 0, 8); + var10 = var3 - var7; + if (var10 > 512) { + var10 = 512; + } - ArchiveDisk_buffer[0] = (byte)(var1 >> 8); // L: 172 - ArchiveDisk_buffer[1] = (byte)var1; // L: 173 - ArchiveDisk_buffer[2] = (byte)(var8 >> 8); // L: 174 - ArchiveDisk_buffer[3] = (byte)var8; // L: 175 - ArchiveDisk_buffer[4] = (byte)(var9 >> 16); // L: 176 - ArchiveDisk_buffer[5] = (byte)(var9 >> 8); // L: 177 - ArchiveDisk_buffer[6] = (byte)var9; // L: 178 - ArchiveDisk_buffer[7] = (byte)this.archive; // L: 179 - this.datFile.seek(520L * (long)var6); // L: 180 - this.datFile.write(ArchiveDisk_buffer, 0, 8); // L: 181 - var10 = var3 - var7; // L: 182 - if (var10 > 512) { // L: 183 - var10 = 512; - } + this.datFile.write(var2, var7, var10); + var7 += var10; + } - this.datFile.write(var2, var7, var10); // L: 184 - var7 += var10; // L: 185 - } + var6 = var9; + ++var8; + continue; + } + } - var6 = var9; // L: 187 - ++var8; // L: 188 - continue; // L: 189 - } - } + var10000 = true; + return var10000; + } + } catch (IOException var18) { + return false; + } + } + } - var10000 = true; // L: 190 - return var10000; - } - } catch (IOException var18) { // L: 192 - return false; // L: 193 - } - } - } + public String toString() { + return "" + this.archive; + } - public String toString() { - return "" + this.archive; // L: 198 - } + @ObfuscatedName("iq") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "1245945625" + ) + @Export("selectSpell") + static void selectSpell(int var0, int var1, int var2, int var3) { + Widget var4 = ArchiveLoader.getWidgetChild(var0, var1); + if (var4 != null && var4.onTargetEnter != null) { + ScriptEvent var5 = new ScriptEvent(); + var5.widget = var4; + var5.args = var4.onTargetEnter; + PacketWriter.runScriptEvent(var5); + } + + Client.field821 = var3; + Client.isSpellSelected = true; + MidiPcmStream.selectedSpellWidget = var0; + Client.selectedSpellChildIndex = var1; + GrandExchangeOfferNameComparator.selectedSpellFlags = var2; + IsaacCipher.invalidateWidget(var4); + } } diff --git a/runescape-client/src/main/java/ArchiveDiskAction.java b/runescape-client/src/main/java/ArchiveDiskAction.java index 653204e934..108f4c23d6 100644 --- a/runescape-client/src/main/java/ArchiveDiskAction.java +++ b/runescape-client/src/main/java/ArchiveDiskAction.java @@ -4,129 +4,37 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ih") +@ObfuscatedName("ik") @Implements("ArchiveDiskAction") public class ArchiveDiskAction extends Node { - @ObfuscatedName("ef") - @ObfuscatedGetter( - intValue = -1581352901 - ) - @Export("port3") - static int port3; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1633576263 - ) - @Export("type") - int type; - @ObfuscatedName("v") - @Export("data") - byte[] data; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Llx;" - ) - @Export("archiveDisk") - ArchiveDisk archiveDisk; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive") - Archive archive; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 543287365 + ) + @Export("type") + int type; + @ObfuscatedName("v") + @Export("data") + public byte[] data; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llu;" + ) + @Export("archiveDisk") + public ArchiveDisk archiveDisk; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive") + public Archive archive; - ArchiveDiskAction() { - } // L: 12 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Z", - garbageValue = "-222972673" - ) - @Export("isNumber") - public static boolean isNumber(CharSequence var0) { - boolean var2 = false; // L: 37 - boolean var3 = false; // L: 38 - int var4 = 0; // L: 39 - int var5 = var0.length(); // L: 40 - int var6 = 0; - - boolean var1; - while (true) { - if (var6 >= var5) { - var1 = var3; // L: 70 - break; - } - - label84: { - char var7 = var0.charAt(var6); // L: 42 - if (var6 == 0) { // L: 43 - if (var7 == '-') { // L: 44 - var2 = true; // L: 45 - break label84; - } - - if (var7 == '+') { // L: 48 - break label84; - } - } - - int var9; - if (var7 >= '0' && var7 <= '9') { // L: 50 - var9 = var7 - '0'; - } else if (var7 >= 'A' && var7 <= 'Z') { // L: 51 - var9 = var7 - '7'; - } else { - if (var7 < 'a' || var7 > 'z') { // L: 52 - var1 = false; // L: 54 - break; - } - - var9 = var7 - 'W'; - } - - if (var9 >= 10) { // L: 57 - var1 = false; // L: 58 - break; // L: 59 - } - - if (var2) { // L: 61 - var9 = -var9; - } - - int var8 = var9 + var4 * 10; // L: 62 - if (var4 != var8 / 10) { // L: 63 - var1 = false; // L: 64 - break; - } - - var4 = var8; // L: 67 - var3 = true; // L: 68 - } - - ++var6; // L: 41 - } - - return var1; // L: 72 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(IB)Lep;", - garbageValue = "16" - ) - @Export("getFrames") - static Frames getFrames(int var0) { - Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); // L: 187 - if (var1 != null) { // L: 188 - return var1; - } else { - var1 = UserComparator4.method3470(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); // L: 189 - if (var1 != null) { // L: 190 - SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); - } - - return var1; // L: 191 - } - } + @ObfuscatedName("gx") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "126" + ) + static boolean method4359() { + return (Client.drawPlayerNames & 8) != 0; + } } diff --git a/runescape-client/src/main/java/ArchiveDiskActionHandler.java b/runescape-client/src/main/java/ArchiveDiskActionHandler.java index fb642872f6..5b0a40246d 100644 --- a/runescape-client/src/main/java/ArchiveDiskActionHandler.java +++ b/runescape-client/src/main/java/ArchiveDiskActionHandler.java @@ -4,107 +4,84 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ij") +@ObfuscatedName("if") @Implements("ArchiveDiskActionHandler") public class ArchiveDiskActionHandler implements Runnable { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("ArchiveDiskActionHandler_requestQueue") - static NodeDeque ArchiveDiskActionHandler_requestQueue; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("ArchiveDiskActionHandler_responseQueue") - static NodeDeque ArchiveDiskActionHandler_responseQueue; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -39259267 - ) - public static int field3178; - @ObfuscatedName("w") - @Export("ArchiveDiskActionHandler_lock") - public static Object ArchiveDiskActionHandler_lock; - @ObfuscatedName("u") - @Export("Tiles_saturation") - static int[] Tiles_saturation; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("ArchiveDiskActionHandler_requestQueue") + public static NodeDeque ArchiveDiskActionHandler_requestQueue = new NodeDeque(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("ArchiveDiskActionHandler_responseQueue") + public static NodeDeque ArchiveDiskActionHandler_responseQueue = new NodeDeque(); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1788680015 + ) + public static int field3187 = 0; + @ObfuscatedName("c") + @Export("ArchiveDiskActionHandler_lock") + public static Object ArchiveDiskActionHandler_lock = new Object(); + @ObfuscatedName("y") + @Export("ArchiveDiskActionHandler_thread") + static Thread ArchiveDiskActionHandler_thread; - static { - ArchiveDiskActionHandler_requestQueue = new NodeDeque(); // L: 9 - ArchiveDiskActionHandler_responseQueue = new NodeDeque(); // L: 10 - field3178 = 0; // L: 11 - ArchiveDiskActionHandler_lock = new Object(); - } // L: 12 + public void run() { + try { + while(true) { + NodeDeque var2 = ArchiveDiskActionHandler_requestQueue; + ArchiveDiskAction var1; + synchronized(ArchiveDiskActionHandler_requestQueue) { + var1 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); + } - ArchiveDiskActionHandler() { - } + Object var14; + if (var1 != null) { + if (var1.type == 0) { + var1.archiveDisk.write((int)var1.key, var1.data, var1.data.length); + var2 = ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler_requestQueue) { + var1.remove(); + } + } else if (var1.type == 1) { + var1.data = var1.archiveDisk.read((int)var1.key); + var2 = ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler_responseQueue.addFirst(var1); + } + } - public void run() { - try { - while (true) { - ArchiveDiskAction var1; - synchronized(ArchiveDiskActionHandler_requestQueue) { // L: 76 - var1 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last(); // L: 77 - } // L: 78 + var14 = ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler_lock) { + if (field3187 <= 1) { + field3187 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } - if (var1 != null) { // L: 79 - if (var1.type == 0) { // L: 80 - var1.archiveDisk.write((int)var1.key, var1.data, var1.data.length); // L: 81 - synchronized(ArchiveDiskActionHandler_requestQueue) { // L: 82 - var1.remove(); // L: 83 - } // L: 84 - } else if (var1.type == 1) { // L: 86 - var1.data = var1.archiveDisk.read((int)var1.key); // L: 87 - synchronized(ArchiveDiskActionHandler_requestQueue) { // L: 88 - ArchiveDiskActionHandler_responseQueue.addFirst(var1); // L: 89 - } // L: 90 - } + field3187 = 600; + } + } else { + ApproximateRouteStrategy.sleepExact(100L); + var14 = ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler_lock) { + if (field3187 <= 1) { + field3187 = 0; + ArchiveDiskActionHandler_lock.notifyAll(); + return; + } - synchronized(ArchiveDiskActionHandler_lock) { // L: 92 - if (field3178 <= 1) { // L: 93 - field3178 = 0; // L: 94 - ArchiveDiskActionHandler_lock.notifyAll(); // L: 95 - return; // L: 96 - } - - field3178 = 600; // L: 98 - } - } else { - class236.sleepExact(100L); // L: 102 - synchronized(ArchiveDiskActionHandler_lock) { // L: 103 - if (field3178 <= 1) { // L: 104 - field3178 = 0; // L: 105 - ArchiveDiskActionHandler_lock.notifyAll(); // L: 106 - return; // L: 107 - } - - --field3178; // L: 109 - } - } - } - } catch (Exception var13) { // L: 114 - PlayerComposition.RunException_sendStackTrace((String)null, var13); // L: 115 - } - } // L: 117 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(DDII)[D", - garbageValue = "961736597" - ) - public static double[] method4294(double var0, double var2, int var4) { - int var5 = var4 * 2 + 1; // L: 13 - double[] var6 = new double[var5]; // L: 14 - int var7 = -var4; - - for (int var8 = 0; var7 <= var4; ++var8) { - double var11 = FriendSystem.method1972(((double)var7 - var0) / var2) / var2; // L: 20 - var6[var8] = var11; // L: 22 - ++var7; // L: 15 - } - - return var6; // L: 24 - } + --field3187; + } + } + } + } catch (Exception var13) { + SequenceDefinition.RunException_sendStackTrace((String)null, var13); + } + } } diff --git a/runescape-client/src/main/java/ArchiveLoader.java b/runescape-client/src/main/java/ArchiveLoader.java index 347f638dcb..9ce6879951 100644 --- a/runescape-client/src/main/java/ArchiveLoader.java +++ b/runescape-client/src/main/java/ArchiveLoader.java @@ -4,782 +4,101 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bo") +@ObfuscatedName("bm") @Implements("ArchiveLoader") public class ArchiveLoader { - @ObfuscatedName("gx") - @ObfuscatedSignature( - descriptor = "Leo;" - ) - @Export("scene") - static Scene scene; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive") - final Archive archive; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1464759987 - ) - @Export("groupCount") - final int groupCount; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -722850475 - ) - @Export("loadedCount") - int loadedCount; - - @ObfuscatedSignature( - descriptor = "(Lil;Ljava/lang/String;)V" - ) - ArchiveLoader(Archive var1, String var2) { - this.loadedCount = 0; // L: 9 - this.archive = var1; // L: 12 - this.groupCount = var1.getGroupCount(); // L: 13 - } // L: 14 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1844563500" - ) - @Export("isLoaded") - boolean isLoaded() { - this.loadedCount = 0; - - for (int var1 = 0; var1 < this.groupCount; ++var1) { // L: 18 - if (!this.archive.method4305(var1) || this.archive.method4319(var1)) { - ++this.loadedCount; - } - } - - return this.loadedCount >= this.groupCount; - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lmu;I)I", - garbageValue = "-737934411" - ) - static final int method1232(LoginType var0) { - if (var0 == null) { // L: 16 - return 12; // L: 17 - } else { - switch(var0.field4067) { // L: 19 - case 2: - return 20; // L: 21 - default: - return 12; - } - } - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BIII)Ljava/lang/String;", - garbageValue = "919177129" - ) - public static String method1229(byte[] var0, int var1, int var2) { - StringBuilder var3 = new StringBuilder(); // L: 58 - - for (int var4 = var1; var4 < var2 + var1; var4 += 3) { // L: 59 - int var5 = var0[var4] & 255; // L: 60 - var3.append(class300.field3695[var5 >>> 2]); // L: 61 - if (var4 < var2 - 1) { // L: 62 - int var6 = var0[var4 + 1] & 255; // L: 63 - var3.append(class300.field3695[(var5 & 3) << 4 | var6 >>> 4]); // L: 64 - if (var4 < var2 - 2) { // L: 65 - int var7 = var0[var4 + 2] & 255; // L: 66 - var3.append(class300.field3695[(var6 & 15) << 2 | var7 >>> 6]).append(class300.field3695[var7 & 63]); // L: 67 - } else { - var3.append(class300.field3695[(var6 & 15) << 2]).append("="); // L: 69 - } - } else { - var3.append(class300.field3695[(var5 & 3) << 4]).append("=="); // L: 71 - } - } - - return var3.toString(); // L: 73 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Lio;", - garbageValue = "-12" - ) - public static GameBuild method1225(int var0) { - GameBuild[] var1 = class1.method11(); // L: 23 - - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 24 - GameBuild var3 = var1[var2]; // L: 25 - if (var0 == var3.buildId) { - return var3; // L: 27 - } - } - - return null; // L: 31 - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Lku;Lku;Lku;I)V", - garbageValue = "1414133310" - ) - @Export("drawTitle") - static void drawTitle(Font var0, Font var1, Font var2) { - Login.xPadding = (IgnoreList.canvasWidth - 765) / 2; // L: 960 - Login.loginBoxX = Login.xPadding + 202; // L: 961 - Login.loginBoxCenter = Login.loginBoxX + 180; // L: 962 - byte var3; - int var4; - int var9; - int var11; - int var26; - int var27; - int var32; - int var39; - if (Login.worldSelectOpen) { // L: 963 - if (class301.worldSelectBackSpritePixels == null) { // L: 965 - class301.worldSelectBackSpritePixels = class280.method5008(Messages.archive8, "sl_back", ""); - } - - if (class90.worldSelectFlagSprites == null) { // L: 966 - class90.worldSelectFlagSprites = class89.method2123(Messages.archive8, "sl_flags", ""); - } - - if (WorldMapSectionType.worldSelectArrows == null) { // L: 967 - WorldMapSectionType.worldSelectArrows = class89.method2123(Messages.archive8, "sl_arrows", ""); - } - - if (class349.worldSelectStars == null) { // L: 968 - class349.worldSelectStars = class89.method2123(Messages.archive8, "sl_stars", ""); - } - - if (VerticalAlignment.worldSelectLeftSprite == null) { // L: 969 - VerticalAlignment.worldSelectLeftSprite = class51.SpriteBuffer_getIndexedSpriteByName(Messages.archive8, "leftarrow", ""); - } - - if (class8.worldSelectRightSprite == null) { // L: 970 - class8.worldSelectRightSprite = class51.SpriteBuffer_getIndexedSpriteByName(Messages.archive8, "rightarrow", ""); - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0); // L: 971 - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624); // L: 972 - Rasterizer2D.Rasterizer2D_fillRectangleGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513); // L: 973 - var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); // L: 974 - if (class349.worldSelectStars != null) { // L: 975 - class349.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); // L: 976 - var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); // L: 977 - class349.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); // L: 978 - var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); // L: 979 - } - - int var40; - if (WorldMapSectionType.worldSelectArrows != null) { // L: 981 - var32 = Login.xPadding + 280; // L: 982 - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { // L: 983 - WorldMapSectionType.worldSelectArrows[2].drawAt(var32, 4); - } else { - WorldMapSectionType.worldSelectArrows[0].drawAt(var32, 4); // L: 984 - } - - if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { // L: 985 - WorldMapSectionType.worldSelectArrows[3].drawAt(var32 + 15, 4); - } else { - WorldMapSectionType.worldSelectArrows[1].drawAt(var32 + 15, 4); // L: 986 - } - - var0.draw("World", var32 + 32, 17, 16777215, -1); // L: 987 - var4 = Login.xPadding + 390; // L: 988 - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { // L: 989 - WorldMapSectionType.worldSelectArrows[2].drawAt(var4, 4); - } else { - WorldMapSectionType.worldSelectArrows[0].drawAt(var4, 4); // L: 990 - } - - if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { // L: 991 - WorldMapSectionType.worldSelectArrows[3].drawAt(var4 + 15, 4); - } else { - WorldMapSectionType.worldSelectArrows[1].drawAt(var4 + 15, 4); // L: 992 - } - - var0.draw("Players", var4 + 32, 17, 16777215, -1); // L: 993 - var40 = Login.xPadding + 500; // L: 994 - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { // L: 995 - WorldMapSectionType.worldSelectArrows[2].drawAt(var40, 4); - } else { - WorldMapSectionType.worldSelectArrows[0].drawAt(var40, 4); // L: 996 - } - - if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { // L: 997 - WorldMapSectionType.worldSelectArrows[3].drawAt(var40 + 15, 4); - } else { - WorldMapSectionType.worldSelectArrows[1].drawAt(var40 + 15, 4); // L: 998 - } - - var0.draw("Location", var40 + 32, 17, 16777215, -1); // L: 999 - var27 = Login.xPadding + 610; // L: 1000 - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { // L: 1001 - WorldMapSectionType.worldSelectArrows[2].drawAt(var27, 4); - } else { - WorldMapSectionType.worldSelectArrows[0].drawAt(var27, 4); // L: 1002 - } - - if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { // L: 1003 - WorldMapSectionType.worldSelectArrows[3].drawAt(var27 + 15, 4); - } else { - WorldMapSectionType.worldSelectArrows[1].drawAt(var27 + 15, 4); // L: 1004 - } - - var0.draw("Type", var27 + 32, 17, 16777215, -1); // L: 1005 - } - - Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); // L: 1007 - var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); // L: 1008 - Login.hoveredWorldIndex = -1; // L: 1009 - if (class301.worldSelectBackSpritePixels != null) { // L: 1010 - var3 = 88; // L: 1011 - byte var34 = 19; // L: 1012 - var40 = 765 / (var3 + 1) - 1; // L: 1013 - var27 = 480 / (var34 + 1); // L: 1014 - - do { - var39 = var27; // L: 1016 - var26 = var40; // L: 1017 - if (var27 * (var40 - 1) >= World.World_count) { // L: 1018 - --var40; - } - - if (var40 * (var27 - 1) >= World.World_count) { // L: 1019 - --var27; - } - - if (var40 * (var27 - 1) >= World.World_count) { // L: 1020 - --var27; - } - } while(var39 != var27 || var26 != var40); // L: 1021 - - var39 = (765 - var3 * var40) / (var40 + 1); // L: 1023 - if (var39 > 5) { // L: 1024 - var39 = 5; - } - - var26 = (480 - var34 * var27) / (var27 + 1); // L: 1025 - if (var26 > 5) { // L: 1026 - var26 = 5; - } - - var9 = (765 - var40 * var3 - var39 * (var40 - 1)) / 2; // L: 1027 - int var29 = (480 - var27 * var34 - var26 * (var27 - 1)) / 2; // L: 1028 - var11 = (var27 + World.World_count - 1) / var27; // L: 1029 - Login.worldSelectPagesCount = var11 - var40; // L: 1030 - if (VerticalAlignment.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { // L: 1031 - VerticalAlignment.worldSelectLeftSprite.drawAt(8, ModelData0.canvasHeight / 2 - VerticalAlignment.worldSelectLeftSprite.subHeight / 2); // L: 1032 - } - - if (class8.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { // L: 1034 - class8.worldSelectRightSprite.drawAt(IgnoreList.canvasWidth - class8.worldSelectRightSprite.subWidth - 8, ModelData0.canvasHeight / 2 - class8.worldSelectRightSprite.subHeight / 2); // L: 1035 - } - - int var36 = var29 + 23; // L: 1037 - int var13 = var9 + Login.xPadding; // L: 1038 - int var14 = 0; // L: 1039 - boolean var15 = false; // L: 1040 - int var16 = Login.worldSelectPage; // L: 1041 - - int var17; - for (var17 = var16 * var27; var17 < World.World_count && var16 - Login.worldSelectPage < var40; ++var17) { // L: 1042 1043 - World var18 = World.World_worlds[var17]; // L: 1046 - boolean var19 = true; // L: 1047 - String var20 = Integer.toString(var18.population); // L: 1048 - if (var18.population == -1) { // L: 1049 - var20 = "OFF"; // L: 1050 - var19 = false; // L: 1051 - } else if (var18.population > 1980) { // L: 1053 - var20 = "FULL"; // L: 1054 - var19 = false; // L: 1055 - } - - int var22 = 0; // L: 1058 - byte var21; - if (var18.isBeta()) { // L: 1059 - if (var18.isMembersOnly()) { // L: 1060 - var21 = 7; - } else { - var21 = 6; // L: 1061 - } - } else if (var18.isDeadman()) { // L: 1063 - var22 = 16711680; // L: 1064 - if (var18.isMembersOnly()) { // L: 1065 - var21 = 5; - } else { - var21 = 4; // L: 1066 - } - } else if (var18.method1845()) { // L: 1068 - if (var18.isMembersOnly()) { // L: 1069 - var21 = 9; - } else { - var21 = 8; // L: 1070 - } - } else if (var18.isPvp()) { // L: 1072 - if (var18.isMembersOnly()) { // L: 1073 - var21 = 3; - } else { - var21 = 2; // L: 1074 - } - } else if (var18.isMembersOnly()) { // L: 1077 - var21 = 1; - } else { - var21 = 0; // L: 1078 - } - - if (MouseHandler.MouseHandler_x >= var13 && MouseHandler.MouseHandler_y >= var36 && MouseHandler.MouseHandler_x < var13 + var3 && MouseHandler.MouseHandler_y < var34 + var36 && var19) { // L: 1080 - Login.hoveredWorldIndex = var17; // L: 1081 - class301.worldSelectBackSpritePixels[var21].drawTransOverlayAt(var13, var36, 128, 16777215); // L: 1082 - var15 = true; // L: 1083 - } else { - class301.worldSelectBackSpritePixels[var21].drawAt(var13, var36); // L: 1085 - } - - if (class90.worldSelectFlagSprites != null) { // L: 1086 - class90.worldSelectFlagSprites[(var18.isMembersOnly() ? 8 : 0) + var18.location].drawAt(var13 + 29, var36); - } - - var0.drawCentered(Integer.toString(var18.id), var13 + 15, var34 / 2 + var36 + 5, var22, -1); // L: 1087 - var1.drawCentered(var20, var13 + 60, var34 / 2 + var36 + 5, 268435455, -1); // L: 1088 - var36 = var36 + var34 + var26; // L: 1089 - ++var14; // L: 1090 - if (var14 >= var27) { - var36 = var29 + 23; // L: 1091 - var13 = var13 + var39 + var3; // L: 1092 - var14 = 0; // L: 1093 - ++var16; // L: 1094 - } - } - - if (var15) { // L: 1097 - var17 = var1.stringWidth(World.World_worlds[Login.hoveredWorldIndex].activity) + 6; // L: 1098 - int var30 = var1.ascent + 8; // L: 1099 - int var37 = MouseHandler.MouseHandler_y + 25; // L: 1100 - if (var37 + var30 > 480) { // L: 1101 - var37 = MouseHandler.MouseHandler_y - 25 - var30; // L: 1102 - } - - Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var17 / 2, var37, var17, var30, 16777120); // L: 1104 - Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var17 / 2, var37, var17, var30, 0); // L: 1105 - var1.drawCentered(World.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var37 + var1.ascent + 4, 0, -1); // L: 1106 - } - } - - WorldMapIcon_0.rasterProvider.drawFull(0, 0); // L: 1109 - } else { - class25.leftTitleSprite.drawAt(Login.xPadding, 0); // L: 1113 - class224.rightTitleSprite.drawAt(Login.xPadding + 382, 0); // L: 1114 - class224.logoSprite.drawAt(Login.xPadding + 382 - class224.logoSprite.subWidth / 2, 18); // L: 1115 - if (Client.gameState == 0 || Client.gameState == 5) { // L: 1116 - var3 = 20; // L: 1117 - var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var3, 16777215, -1); // L: 1118 - var4 = 253 - var3; // L: 1119 - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var4, 304, 34, 9179409); // L: 1120 - Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var4 + 1, 302, 32, 0); // L: 1121 - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var4 + 2, Login.Login_loadingPercent * 3, 30, 9179409); // L: 1122 - Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150 + Login.Login_loadingPercent * 3, var4 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); // L: 1123 - var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var3, 16777215, -1); // L: 1124 - } - - String var5; - String var7; - String var8; - char[] var10; - short var31; - short var33; - if (Client.gameState == 20) { // L: 1126 - WorldMapEvent.titleboxSprite.drawAt(Login.loginBoxX + 180 - WorldMapEvent.titleboxSprite.subWidth / 2, 271 - WorldMapEvent.titleboxSprite.subHeight / 2); // L: 1127 - var31 = 201; // L: 1128 - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); // L: 1129 - var32 = var31 + 15; // L: 1130 - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1131 - var32 += 15; // L: 1132 - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1133 - var32 += 15; // L: 1134 - var32 += 7; // L: 1135 - if (Login.loginIndex != 4) { // L: 1136 - var0.draw("Login: ", Login.loginBoxX + 180 - 110, var32, 16777215, 0); // L: 1137 - var33 = 200; // L: 1138 - - for (var5 = LoginPacket.method3674(); var0.stringWidth(var5) > var33; var5 = var5.substring(0, var5.length() - 1)) { // L: 1139 1140 1141 - } - - var0.draw(AbstractFont.escapeBrackets(var5), Login.loginBoxX + 180 - 70, var32, 16777215, 0); // L: 1143 - var32 += 15; // L: 1144 - var7 = Login.Login_password; // L: 1146 - var9 = var7.length(); // L: 1149 - var10 = new char[var9]; // L: 1151 - - for (var11 = 0; var11 < var9; ++var11) { // L: 1152 - var10[var11] = '*'; - } - - var8 = new String(var10); // L: 1153 - - for (var8 = var8; var0.stringWidth(var8) > var33; var8 = var8.substring(1)) { // L: 1157 1158 1159 - } - - var0.draw("Password: " + var8, Login.loginBoxX + 180 - 108, var32, 16777215, 0); // L: 1161 - var32 += 15; // L: 1162 - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { // L: 1165 - WorldMapEvent.titleboxSprite.drawAt(Login.loginBoxX, 171); // L: 1166 - short var23; - if (Login.loginIndex == 0) { // L: 1167 - var31 = 251; // L: 1168 - var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var31, 16776960, 0); // L: 1169 - var32 = var31 + 30; // L: 1170 - var4 = Login.loginBoxX + 180 - 80; // L: 1171 - var23 = 291; // L: 1172 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1173 - var0.drawLines("New User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); // L: 1174 - var4 = Login.loginBoxX + 180 + 80; // L: 1175 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1176 - var0.drawLines("Existing User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); // L: 1177 - } else if (Login.loginIndex == 1) { // L: 1179 - var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); // L: 1180 - var31 = 236; // L: 1181 - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); // L: 1182 - var32 = var31 + 15; // L: 1183 - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1184 - var32 += 15; // L: 1185 - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1186 - var32 += 15; // L: 1187 - var4 = Login.loginBoxX + 180 - 80; // L: 1188 - var23 = 321; // L: 1189 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1190 - var0.drawCentered("Continue", var4, var23 + 5, 16777215, 0); // L: 1191 - var4 = Login.loginBoxX + 180 + 80; // L: 1192 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1193 - var0.drawCentered("Cancel", var4, var23 + 5, 16777215, 0); // L: 1194 - } else { - short var12; - IndexedSprite var35; - if (Login.loginIndex == 2) { // L: 1196 - var31 = 201; // L: 1197 - var0.drawCentered(Login.Login_response1, Login.loginBoxCenter, var31, 16776960, 0); // L: 1198 - var32 = var31 + 15; // L: 1199 - var0.drawCentered(Login.Login_response2, Login.loginBoxCenter, var32, 16776960, 0); // L: 1200 - var32 += 15; // L: 1201 - var0.drawCentered(Login.Login_response3, Login.loginBoxCenter, var32, 16776960, 0); // L: 1202 - var32 += 15; // L: 1203 - var32 += 7; // L: 1204 - var0.draw("Login: ", Login.loginBoxCenter - 110, var32, 16777215, 0); // L: 1205 - var33 = 200; // L: 1206 - - for (var5 = LoginPacket.method3674(); var0.stringWidth(var5) > var33; var5 = var5.substring(1)) { // L: 1207 1208 1209 - } - - var0.draw(AbstractFont.escapeBrackets(var5) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? class23.colorStartTag(16776960) + "|" : ""), Login.loginBoxCenter - 70, var32, 16777215, 0); // L: 1211 - var32 += 15; // L: 1212 - var7 = Login.Login_password; // L: 1214 - var9 = var7.length(); // L: 1217 - var10 = new char[var9]; // L: 1219 - - for (var11 = 0; var11 < var9; ++var11) { // L: 1220 - var10[var11] = '*'; - } - - var8 = new String(var10); // L: 1221 - - for (var8 = var8; var0.stringWidth(var8) > var33; var8 = var8.substring(1)) { // L: 1225 1226 1227 - } - - var0.draw("Password: " + var8 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? class23.colorStartTag(16776960) + "|" : ""), Login.loginBoxCenter - 108, var32, 16777215, 0); // L: 1229 - var32 += 15; // L: 1230 - var31 = 277; // L: 1231 - var9 = Login.loginBoxCenter + -117; // L: 1232 - var35 = Strings.method4158(Client.Login_isUsernameRemembered, Login.field1192); // L: 1233 - var35.drawAt(var9, var31); // L: 1234 - var9 = var9 + var35.subWidth + 5; // L: 1235 - var1.draw("Remember username", var9, var31 + 13, 16776960, 0); // L: 1236 - var9 = Login.loginBoxCenter + 24; // L: 1237 - var35 = Strings.method4158(Timer.clientPreferences.hideUsername, Login.field1180); // L: 1238 - var35.drawAt(var9, var31); // L: 1239 - var9 = var9 + var35.subWidth + 5; // L: 1240 - var1.draw("Hide username", var9, var31 + 13, 16776960, 0); // L: 1241 - var32 = var31 + 15; // L: 1242 - var11 = Login.loginBoxCenter - 80; // L: 1243 - var12 = 321; // L: 1244 - Login.titlebuttonSprite.drawAt(var11 - 73, var12 - 20); // L: 1245 - var0.drawCentered("Login", var11, var12 + 5, 16777215, 0); // L: 1246 - var11 = Login.loginBoxCenter + 80; // L: 1247 - Login.titlebuttonSprite.drawAt(var11 - 73, var12 - 20); // L: 1248 - var0.drawCentered("Cancel", var11, var12 + 5, 16777215, 0); // L: 1249 - var31 = 357; // L: 1250 - switch(Login.field1190) { // L: 1251 - case 2: - class22.field107 = "Having trouble logging in?"; // L: 1253 - break; - default: - class22.field107 = "Can't login? Click here."; // L: 1256 - } - - GameEngine.field481 = new Bounds(Login.loginBoxCenter, var31, var1.stringWidth(class22.field107), 11); // L: 1259 - GrandExchangeOfferOwnWorldComparator.field643 = new Bounds(Login.loginBoxCenter, var31, var1.stringWidth("Still having trouble logging in?"), 11); // L: 1260 - var1.drawCentered(class22.field107, Login.loginBoxCenter, var31, 16777215, 0); // L: 1261 - } else if (Login.loginIndex == 3) { // L: 1263 - var31 = 201; // L: 1264 - var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var31, 16776960, 0); // L: 1265 - var32 = var31 + 20; // L: 1266 - var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1267 - var32 += 15; // L: 1268 - var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1269 - var32 += 15; // L: 1270 - var4 = Login.loginBoxX + 180; // L: 1271 - var23 = 276; // L: 1272 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1273 - var2.drawCentered("Try again", var4, var23 + 5, 16777215, 0); // L: 1274 - var4 = Login.loginBoxX + 180; // L: 1275 - var23 = 326; // L: 1276 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1277 - var2.drawCentered("Forgotten password?", var4, var23 + 5, 16777215, 0); // L: 1278 - } else if (Login.loginIndex == 4) { // L: 1280 - var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); // L: 1281 - var31 = 236; // L: 1282 - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); // L: 1283 - var32 = var31 + 15; // L: 1284 - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1285 - var32 += 15; // L: 1286 - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1287 - var32 += 15; // L: 1288 - var5 = "PIN: "; // L: 1290 - var7 = SecureRandomCallable.otp; // L: 1292 - var9 = var7.length(); // L: 1295 - var10 = new char[var9]; // L: 1297 - - for (var11 = 0; var11 < var9; ++var11) { // L: 1298 - var10[var11] = '*'; - } - - var8 = new String(var10); // L: 1299 - var0.draw(var5 + var8 + (Client.cycle % 40 < 20 ? class23.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var32, 16777215, 0); // L: 1303 - var32 -= 8; // L: 1304 - var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var32, 16776960, 0); // L: 1305 - var32 += 15; // L: 1306 - var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var32, 16776960, 0); // L: 1307 - var26 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; // L: 1308 - var9 = var32 - var0.ascent; // L: 1309 - if (Login.field1200) { // L: 1311 - var35 = ItemContainer.options_buttons_2Sprite; // L: 1312 - } else { - var35 = DirectByteArrayCopier.options_buttons_0Sprite; // L: 1315 - } - - var35.drawAt(var26, var9); // L: 1317 - var32 += 15; // L: 1318 - var11 = Login.loginBoxX + 180 - 80; // L: 1319 - var12 = 321; // L: 1320 - Login.titlebuttonSprite.drawAt(var11 - 73, var12 - 20); // L: 1321 - var0.drawCentered("Continue", var11, var12 + 5, 16777215, 0); // L: 1322 - var11 = Login.loginBoxX + 180 + 80; // L: 1323 - Login.titlebuttonSprite.drawAt(var11 - 73, var12 - 20); // L: 1324 - var0.drawCentered("Cancel", var11, var12 + 5, 16777215, 0); // L: 1325 - var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var12 + 36, 255, 0); // L: 1326 - } else if (Login.loginIndex == 5) { // L: 1328 - var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); // L: 1329 - var31 = 221; // L: 1330 - var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); // L: 1331 - var32 = var31 + 15; // L: 1332 - var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1333 - var32 += 15; // L: 1334 - var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1335 - var32 += 15; // L: 1336 - var32 += 14; // L: 1337 - var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var32, 16777215, 0); // L: 1338 - var33 = 174; // L: 1339 - - for (var5 = LoginPacket.method3674(); var0.stringWidth(var5) > var33; var5 = var5.substring(1)) { // L: 1340 1341 1342 - } - - var0.draw(AbstractFont.escapeBrackets(var5) + (Client.cycle % 40 < 20 ? class23.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var32, 16777215, 0); // L: 1344 - var32 += 15; // L: 1345 - var27 = Login.loginBoxX + 180 - 80; // L: 1346 - short var25 = 321; // L: 1347 - Login.titlebuttonSprite.drawAt(var27 - 73, var25 - 20); // L: 1348 - var0.drawCentered("Recover", var27, var25 + 5, 16777215, 0); // L: 1349 - var27 = Login.loginBoxX + 180 + 80; // L: 1350 - Login.titlebuttonSprite.drawAt(var27 - 73, var25 - 20); // L: 1351 - var0.drawCentered("Back", var27, var25 + 5, 16777215, 0); // L: 1352 - var25 = 356; // L: 1353 - var1.drawCentered("Still having trouble logging in?", Login.loginBoxCenter, var25, 268435455, 0); // L: 1354 - } else if (Login.loginIndex == 6) { // L: 1356 - var31 = 201; // L: 1357 - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16776960, 0); // L: 1358 - var32 = var31 + 15; // L: 1359 - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1360 - var32 += 15; // L: 1361 - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1362 - var32 += 15; // L: 1363 - var4 = Login.loginBoxX + 180; // L: 1364 - var23 = 321; // L: 1365 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1366 - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); // L: 1367 - } else if (Login.loginIndex == 7) { // L: 1369 - var31 = 216; // L: 1370 - var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var31, 16776960, 0); // L: 1371 - var32 = var31 + 15; // L: 1372 - var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1373 - var32 += 15; // L: 1374 - var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1375 - var32 += 15; // L: 1376 - var4 = Login.loginBoxX + 180 - 80; // L: 1377 - var23 = 321; // L: 1378 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1379 - var0.drawCentered("Set Date of Birth", var4, var23 + 5, 16777215, 0); // L: 1380 - var4 = Login.loginBoxX + 180 + 80; // L: 1381 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1382 - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); // L: 1383 - } else if (Login.loginIndex == 8) { // L: 1385 - var31 = 216; // L: 1386 - var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var31, 16776960, 0); // L: 1387 - var32 = var31 + 15; // L: 1388 - var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1389 - var32 += 15; // L: 1390 - var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var32, 16776960, 0); // L: 1391 - var32 += 15; // L: 1392 - var4 = Login.loginBoxX + 180 - 80; // L: 1393 - var23 = 321; // L: 1394 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1395 - var0.drawCentered("Privacy Policy", var4, var23 + 5, 16777215, 0); // L: 1396 - var4 = Login.loginBoxX + 180 + 80; // L: 1397 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1398 - var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); // L: 1399 - } else if (Login.loginIndex == 12) { // L: 1401 - var31 = 201; // L: 1402 - String var24 = ""; // L: 1403 - var5 = ""; // L: 1404 - String var6 = ""; // L: 1405 - switch(Login.field1199) { // L: 1406 - case 0: - var24 = "Your account has been disabled."; // L: 1409 - var5 = Strings.field3011; // L: 1410 - var6 = ""; // L: 1411 - break; - case 1: - var24 = "Account locked as we suspect it has been stolen."; // L: 1416 - var5 = Strings.field2877; // L: 1417 - var6 = ""; // L: 1418 - break; // L: 1419 - default: - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 1423 - } - - var0.drawCentered(var24, Login.loginBoxX + 180, var31, 16776960, 0); // L: 1427 - var32 = var31 + 15; // L: 1428 - var2.drawCentered(var5, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1429 - var32 += 15; // L: 1430 - var2.drawCentered(var6, Login.loginBoxX + 180, var32, 16776960, 0); // L: 1431 - var32 += 15; // L: 1432 - var39 = Login.loginBoxX + 180; // L: 1433 - short var41 = 276; // L: 1434 - Login.titlebuttonSprite.drawAt(var39 - 73, var41 - 20); // L: 1435 - var0.drawCentered("Support Page", var39, var41 + 5, 16777215, 0); // L: 1436 - var39 = Login.loginBoxX + 180; // L: 1437 - var41 = 326; // L: 1438 - Login.titlebuttonSprite.drawAt(var39 - 73, var41 - 20); // L: 1439 - var0.drawCentered("Back", var39, var41 + 5, 16777215, 0); // L: 1440 - } else if (Login.loginIndex == 24) { // L: 1442 - var31 = 221; // L: 1443 - var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var31, 16777215, 0); // L: 1444 - var32 = var31 + 15; // L: 1445 - var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1446 - var32 += 15; // L: 1447 - var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var32, 16777215, 0); // L: 1448 - var32 += 15; // L: 1449 - var4 = Login.loginBoxX + 180; // L: 1450 - var23 = 301; // L: 1451 - Login.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); // L: 1452 - var0.drawCentered("Ok", var4, var23 + 5, 16777215, 0); // L: 1453 - } - } - } - - if (Client.gameState >= 10) { // L: 1456 - int[] var28 = new int[4]; // L: 1457 - Rasterizer2D.Rasterizer2D_getClipArray(var28); // L: 1458 - Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, ModelData0.canvasHeight); // L: 1459 - class1.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); // L: 1460 - class1.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); // L: 1461 - Rasterizer2D.Rasterizer2D_setClipArray(var28); // L: 1462 - } - - Login.title_muteSprite[Timer.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); // L: 1464 - if (Client.gameState > 5 && Language.Language_EN == WorldMapScaleHandler.clientLanguage) { // L: 1465 - if (class9.field42 != null) { // L: 1466 - var32 = Login.xPadding + 5; // L: 1467 - var33 = 463; // L: 1468 - byte var38 = 100; // L: 1469 - byte var42 = 35; // L: 1470 - class9.field42.drawAt(var32, var33); // L: 1471 - var0.drawCentered("World" + " " + Client.worldId, var38 / 2 + var32, var42 / 2 + var33 - 2, 16777215, 0); // L: 1472 - if (World.World_request != null) { // L: 1473 - var1.drawCentered("Loading...", var38 / 2 + var32, var42 / 2 + var33 + 12, 16777215, 0); - } else { - var1.drawCentered("Click to switch", var38 / 2 + var32, var42 / 2 + var33 + 12, 16777215, 0); // L: 1474 - } - } else { - class9.field42 = class51.SpriteBuffer_getIndexedSpriteByName(Messages.archive8, "sl_button", ""); // L: 1477 - } - } - - } - } // L: 1111 1480 - - @ObfuscatedName("hr") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIII)V", - garbageValue = "-2003250230" - ) - @Export("updatePendingSpawn") - static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - PendingSpawn var9 = null; // L: 6916 - - for (PendingSpawn var10 = (PendingSpawn)Client.pendingSpawns.last(); var10 != null; var10 = (PendingSpawn)Client.pendingSpawns.previous()) { // L: 6917 6918 6923 - if (var0 == var10.plane && var10.x == var1 && var2 == var10.y && var3 == var10.type) { // L: 6919 - var9 = var10; // L: 6920 - break; - } - } - - if (var9 == null) { // L: 6925 - var9 = new PendingSpawn(); // L: 6926 - var9.plane = var0; // L: 6927 - var9.type = var3; // L: 6928 - var9.x = var1; // L: 6929 - var9.y = var2; // L: 6930 - class7.method86(var9); // L: 6931 - Client.pendingSpawns.addFirst(var9); // L: 6932 - } - - var9.id = var4; // L: 6934 - var9.field933 = var5; // L: 6935 - var9.orientation = var6; // L: 6936 - var9.delay = var7; // L: 6937 - var9.hitpoints = var8; // L: 6938 - } // L: 6939 - - @ObfuscatedName("iu") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "636889033" - ) - static String method1230(int var0) { - if (var0 < 0) { // L: 8555 - return ""; - } else { - return Client.menuTargets[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargets[var0] : Client.menuActions[var0]; // L: 8556 8557 - } - } + @ObfuscatedName("pq") + @ObfuscatedSignature( + descriptor = "Lld;" + ) + @Export("privateChatMode") + static PrivateChatMode privateChatMode; + @ObfuscatedName("en") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive19") + static Archive archive19; + @ObfuscatedName("hn") + @ObfuscatedGetter( + intValue = -1907995143 + ) + @Export("cameraY") + static int cameraY; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive") + final Archive archive; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 265251349 + ) + @Export("groupCount") + final int groupCount; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 134465937 + ) + @Export("loadedCount") + int loadedCount = 0; + + @ObfuscatedSignature( + descriptor = "(Liy;Ljava/lang/String;)V" + ) + ArchiveLoader(Archive var1, String var2) { + this.archive = var1; + this.groupCount = var1.getGroupCount(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "979008130" + ) + @Export("isLoaded") + boolean isLoaded() { + this.loadedCount = 0; + + for(int var1 = 0; var1 < this.groupCount; ++var1) { + if (!this.archive.method4471(var1) || this.archive.method4470(var1)) { + ++this.loadedCount; + } + } + + return this.loadedCount >= this.groupCount; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(III)Lhz;", + garbageValue = "-326621995" + ) + @Export("getWidgetChild") + public static Widget getWidgetChild(int var0, int var1) { + Widget var2 = class237.getWidget(var0); + if (var1 == -1) { + return var2; + } else { + return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "2065603382" + ) + static final int method1237(int var0, int var1) { + int var2 = class60.method972(var0 + '넵', 91923 + var1, 4) - 128 + (class60.method972(10294 + var0, var1 + '鎽', 2) - 128 >> 1) + (class60.method972(var0, var1, 1) - 128 >> 2); + var2 = (int)(0.3D * (double)var2) + 35; + if (var2 < 10) { + var2 = 10; + } else if (var2 > 60) { + var2 = 60; + } + + return var2; + } } diff --git a/runescape-client/src/main/java/AttackOption.java b/runescape-client/src/main/java/AttackOption.java index 58fe1e5e04..a10a3eb303 100644 --- a/runescape-client/src/main/java/AttackOption.java +++ b/runescape-client/src/main/java/AttackOption.java @@ -1,446 +1,82 @@ -import java.awt.Desktop; -import java.awt.Desktop.Action; -import java.net.URI; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cw") +@ObfuscatedName("ci") @Implements("AttackOption") public enum AttackOption implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("AttackOption_dependsOnCombatLevels") - AttackOption_dependsOnCombatLevels(0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("AttackOption_alwaysRightClick") - AttackOption_alwaysRightClick(1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("AttackOption_leftClickWhereAvailable") - AttackOption_leftClickWhereAvailable(2), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("AttackOption_hidden") - AttackOption_hidden(3); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("AttackOption_dependsOnCombatLevels") + AttackOption_dependsOnCombatLevels(0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("AttackOption_alwaysRightClick") + AttackOption_alwaysRightClick(1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("AttackOption_leftClickWhereAvailable") + AttackOption_leftClickWhereAvailable(2), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("AttackOption_hidden") + AttackOption_hidden(3); - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - static StudioGame field1174; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1169656951 - ) - @Export("id") - final int id; + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "Lli;" + ) + static Bounds field1190; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1405127233 + ) + @Export("id") + final int id; - AttackOption(int var3) { - this.id = var3; // L: 11231 - } // L: 11232 + AttackOption(int var3) { + this.id = var3; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 11235 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZZI)V", - garbageValue = "262935584" - ) - @Export("openURL") - public static void openURL(String var0, boolean var1, boolean var2) { - if (var1) { // L: 23 - if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { // L: 24 - try { - Desktop.getDesktop().browse(new URI(var0)); // L: 26 - return; // L: 47 - } catch (Exception var4) { - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIII)J", + garbageValue = "-265115329" + ) + static long method2203(int var0, int var1, int var2) { + return (long)(var2 << 16 | var0 << 8 | var1); + } - if (class60.field439.startsWith("win")) { - ScriptEvent.method1260(var0, 0); - } else if (class60.field439.startsWith("mac")) { - class13.method131(var0, 1, "openjs"); // L: 38 - } else { - ScriptEvent.method1260(var0, 2); // L: 41 - } - } else { - ScriptEvent.method1260(var0, 3); // L: 44 - } - - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lbb;II)V", - garbageValue = "1453741363" - ) - @Export("runScript") - static void runScript(ScriptEvent var0, int var1) { - Object[] var2 = var0.args; // L: 103 - Script var3; - int var17; - if (Archive.isWorldMapEvent(var0.type)) { // L: 105 - Script.worldMapEvent = (WorldMapEvent)var2[0]; // L: 106 - WorldMapElement var4 = UserComparator10.WorldMapElement_get(Script.worldMapEvent.mapElement); // L: 107 - var3 = TileItem.getWorldMapScript(var0.type, var4.objectId, var4.category); // L: 108 - } else { - var17 = (Integer)var2[0]; // L: 111 - var3 = ChatChannel.getScript(var17); // L: 112 - } - - if (var3 != null) { // L: 114 - VarcInt.Interpreter_intStackSize = 0; // L: 117 - Interpreter.Interpreter_stringStackSize = 0; // L: 118 - var17 = -1; // L: 119 - int[] var5 = var3.opcodes; // L: 120 - int[] var6 = var3.intOperands; // L: 121 - byte var7 = -1; // L: 122 - Interpreter.Interpreter_frameDepth = 0; // L: 123 - Interpreter.field1104 = false; // L: 124 - - try { - int var10; - try { - InterfaceParent.Interpreter_intLocals = new int[var3.localIntCount]; // L: 126 - int var8 = 0; // L: 127 - Username.Interpreter_stringLocals = new String[var3.localStringCount]; // L: 128 - int var9 = 0; // L: 129 - - int var11; - String var18; - for (var10 = 1; var10 < var2.length; ++var10) { // L: 130 - if (var2[var10] instanceof Integer) { // L: 131 - var11 = (Integer)var2[var10]; // L: 132 - if (var11 == -2147483647) { // L: 133 - var11 = var0.mouseX; - } - - if (var11 == -2147483646) { // L: 134 - var11 = var0.mouseY; - } - - if (var11 == -2147483645) { // L: 135 - var11 = var0.widget != null ? var0.widget.id * -437932207 * 653064625 : -1; - } - - if (var11 == -2147483644) { // L: 136 - var11 = var0.opIndex; - } - - if (var11 == -2147483643) { // L: 137 - var11 = var0.widget != null ? var0.widget.childIndex * 951345111 * 2098332647 : -1; - } - - if (var11 == -2147483642) { // L: 138 - var11 = var0.dragTarget != null ? var0.dragTarget.id * -437932207 * 653064625 : -1; - } - - if (var11 == -2147483641) { // L: 139 - var11 = var0.dragTarget != null ? var0.dragTarget.childIndex * 951345111 * 2098332647 : -1; - } - - if (var11 == -2147483640) { // L: 140 - var11 = var0.keyTyped; - } - - if (var11 == -2147483639) { // L: 141 - var11 = var0.keyPressed; - } - - InterfaceParent.Interpreter_intLocals[var8++] = var11; // L: 142 - } else if (var2[var10] instanceof String) { // L: 144 - var18 = (String)var2[var10]; // L: 145 - if (var18.equals("event_opbase")) { // L: 146 - var18 = var0.targetName; - } - - Username.Interpreter_stringLocals[var9++] = var18; // L: 147 - } - } - - var10 = 0; // L: 151 - Interpreter.field1097 = var0.field569; // L: 152 - - while (true) { - ++var10; // L: 154 - if (var10 > var1) { // L: 155 - throw new RuntimeException(); - } - - ++var17; // L: 156 - int var29 = var5[var17]; - int var20; - if (var29 >= 100) { // L: 157 - boolean var32; - if (var3.intOperands[var17] == 1) { // L: 355 - var32 = true; - } else { - var32 = false; // L: 356 - } - - var20 = FaceNormal.method3345(var29, var3, var32); // L: 357 - switch(var20) { // L: 358 - case 0: - return; - case 1: - default: - break; - case 2: - throw new IllegalStateException(); // L: 363 - } - } else if (var29 == 0) { // L: 158 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6[var17]; // L: 159 - } else if (var29 == ScriptOpcodes.GET_VARP) { // L: 162 - var11 = var6[var17]; // L: 163 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; // L: 164 - } else if (var29 == ScriptOpcodes.SET_VARP) { // L: 167 - var11 = var6[var17]; // L: 168 - Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 169 - Script.changeGameOptions(var11); // L: 170 - } else if (var29 == ScriptOpcodes.SCONST) { // L: 173 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; // L: 174 - } else if (var29 == ScriptOpcodes.JUMP) { // L: 177 - var17 += var6[var17]; // L: 178 - } else if (var29 == ScriptOpcodes.IF_ICMPNE) { // L: 181 - VarcInt.Interpreter_intStackSize -= 2; // L: 182 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 183 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { // L: 186 - VarcInt.Interpreter_intStackSize -= 2; // L: 187 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 188 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPLT) { // L: 191 - VarcInt.Interpreter_intStackSize -= 2; // L: 192 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 193 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGT) { // L: 196 - VarcInt.Interpreter_intStackSize -= 2; // L: 197 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 198 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.RETURN) { // L: 201 - if (Interpreter.Interpreter_frameDepth == 0) { // L: 202 - return; - } - - ScriptFrame var34 = Interpreter.Interpreter_frames[--Interpreter.Interpreter_frameDepth]; // L: 203 - var3 = var34.script; // L: 204 - var5 = var3.opcodes; // L: 205 - var6 = var3.intOperands; // L: 206 - var17 = var34.pc; // L: 207 - InterfaceParent.Interpreter_intLocals = var34.intLocals; // L: 208 - Username.Interpreter_stringLocals = var34.stringLocals; // L: 209 - } else if (var29 == ScriptOpcodes.GET_VARBIT) { // L: 212 - var11 = var6[var17]; // L: 213 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Coord.getVarbit(var11); // L: 214 - } else if (var29 == ScriptOpcodes.SET_VARBIT) { // L: 217 - var11 = var6[var17]; // L: 218 - KitDefinition.method4491(var11, Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 219 - } else if (var29 == ScriptOpcodes.IF_ICMPLE) { // L: 222 - VarcInt.Interpreter_intStackSize -= 2; // L: 223 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 224 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.IF_ICMPGE) { // L: 227 - VarcInt.Interpreter_intStackSize -= 2; // L: 228 - if (Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]) { // L: 229 - var17 += var6[var17]; - } - } else if (var29 == ScriptOpcodes.ILOAD) { // L: 232 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = InterfaceParent.Interpreter_intLocals[var6[var17]]; // L: 233 - } else if (var29 == ScriptOpcodes.ISTORE) { // L: 236 - InterfaceParent.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 237 - } else if (var29 == ScriptOpcodes.SLOAD) { // L: 240 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Username.Interpreter_stringLocals[var6[var17]]; // L: 241 - } else if (var29 == ScriptOpcodes.SSTORE) { // L: 244 - Username.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 245 - } else if (var29 == ScriptOpcodes.JOIN_STRING) { // L: 248 - var11 = var6[var17]; // L: 249 - Interpreter.Interpreter_stringStackSize -= var11; // L: 250 - String var31 = class90.method2125(Interpreter.Interpreter_stringStack, Interpreter.Interpreter_stringStackSize, var11); // L: 251 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var31; // L: 252 - } else if (var29 == ScriptOpcodes.POP_INT) { // L: 255 - --VarcInt.Interpreter_intStackSize; // L: 256 - } else if (var29 == ScriptOpcodes.POP_STRING) { // L: 259 - --Interpreter.Interpreter_stringStackSize; // L: 260 - } else { - int var15; - if (var29 != ScriptOpcodes.INVOKE) { // L: 263 - if (var29 == ScriptOpcodes.GET_VARC_INT) { // L: 286 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Varcs.varcs.getInt(var6[var17]); // L: 287 - } else if (var29 == ScriptOpcodes.SET_VARC_INT) { // L: 290 - Varcs.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 291 - } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { // L: 294 - var11 = var6[var17] >> 16; // L: 295 - var20 = var6[var17] & 65535; // L: 296 - int var21 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 297 - if (var21 < 0 || var21 > 5000) { // L: 298 - throw new RuntimeException(); // L: 299 - } - - Interpreter.Interpreter_arrayLengths[var11] = var21; // L: 301 - byte var22 = -1; // L: 302 - if (var20 == 105) { // L: 303 - var22 = 0; - } - - for (var15 = 0; var15 < var21; ++var15) { // L: 304 - Interpreter.Interpreter_arrays[var11][var15] = var22; - } - } else if (var29 == ScriptOpcodes.GET_ARRAY_INT) { // L: 307 - var11 = var6[var17]; // L: 308 - var20 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 309 - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { // L: 310 - throw new RuntimeException(); // L: 311 - } - - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; // L: 313 - } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { // L: 316 - var11 = var6[var17]; // L: 317 - VarcInt.Interpreter_intStackSize -= 2; // L: 318 - var20 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 319 - if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { // L: 320 - throw new RuntimeException(); // L: 321 - } - - Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 323 - } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { // L: 326 - var18 = Varcs.varcs.getStringOld(var6[var17]); // L: 327 - if (var18 == null) { // L: 328 - var18 = "null"; - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; // L: 329 - } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { // L: 332 - Varcs.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); // L: 333 - } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { // L: 336 - var18 = Varcs.varcs.getString(var6[var17]); // L: 337 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; // L: 338 - } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { // L: 341 - Varcs.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); // L: 342 - } else { - if (var29 != ScriptOpcodes.SWITCH) { // L: 345 - throw new IllegalStateException(); // L: 351 - } - - IterableNodeHashTable var33 = var3.switches[var6[var17]]; // L: 346 - IntegerNode var30 = (IntegerNode)var33.get((long)Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 347 - if (var30 != null) { // L: 348 - var17 += var30.integer; - } - } - } else { - var11 = var6[var17]; // L: 264 - Script var12 = ChatChannel.getScript(var11); // L: 265 - int[] var13 = new int[var12.localIntCount]; // L: 266 - String[] var14 = new String[var12.localStringCount]; // L: 267 - - for (var15 = 0; var15 < var12.intArgumentCount; ++var15) { // L: 268 - var13[var15] = Interpreter.Interpreter_intStack[var15 + (VarcInt.Interpreter_intStackSize - var12.intArgumentCount)]; - } - - for (var15 = 0; var15 < var12.stringArgumentCount; ++var15) { // L: 269 - var14[var15] = Interpreter.Interpreter_stringStack[var15 + (Interpreter.Interpreter_stringStackSize - var12.stringArgumentCount)]; - } - - VarcInt.Interpreter_intStackSize -= var12.intArgumentCount; // L: 270 - Interpreter.Interpreter_stringStackSize -= var12.stringArgumentCount; // L: 271 - ScriptFrame var19 = new ScriptFrame(); // L: 272 - var19.script = var3; // L: 273 - var19.pc = var17; // L: 274 - var19.intLocals = InterfaceParent.Interpreter_intLocals; // L: 275 - var19.stringLocals = Username.Interpreter_stringLocals; // L: 276 - Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; // L: 277 - var3 = var12; // L: 278 - var5 = var12.opcodes; // L: 279 - var6 = var12.intOperands; // L: 280 - var17 = -1; // L: 281 - InterfaceParent.Interpreter_intLocals = var13; // L: 282 - Username.Interpreter_stringLocals = var14; // L: 283 - } - } - } - } catch (Exception var27) { // L: 371 - StringBuilder var24 = new StringBuilder(30); // L: 373 - var24.append("").append(var3.key).append(" "); // L: 374 - - for (var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { // L: 375 - var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); - } - - var24.append("").append(var7); // L: 376 - PlayerComposition.RunException_sendStackTrace(var24.toString(), var27); // L: 377 - } - } finally { - if (Interpreter.field1104) { // L: 381 - Interpreter.field1103 = true; // L: 382 - ServerPacket.method3664(); // L: 383 - Interpreter.field1103 = false; // L: 384 - Interpreter.field1104 = false; // L: 385 - } - - } - } - } // L: 115 388 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)Ljava/lang/String;", - garbageValue = "23" - ) - public static String method2135(Buffer var0) { - String var1; - try { - int var2 = var0.readUShortSmart(); // L: 29 - if (var2 > 32767) { // L: 30 - var2 = 32767; - } - - byte[] var3 = new byte[var2]; // L: 31 - var0.offset += class219.huffman.decompress(var0.array, var0.offset, var3, 0, var2); // L: 32 - String var4 = Clock.decodeStringCp1252(var3, 0, var2); // L: 33 - var1 = var4; // L: 34 - } catch (Exception var6) { // L: 36 - var1 = "Cabbage"; // L: 37 - } - - return var1; // L: 40 - } - - @ObfuscatedName("gq") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1150447373" - ) - static void method2138() { - if (PlayerComposition.localPlayer.x >> 7 == Client.destinationX && PlayerComposition.localPlayer.y >> 7 == Client.destinationY) { // L: 4702 - Client.destinationX = 0; // L: 4703 - } - - } // L: 4705 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "2128325059" + ) + static void method2202(int var0, int var1) { + long var2 = (long)((var0 << 16) + var1); + NetFileRequest var4 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var2); + if (var4 != null) { + NetCache.NetCache_pendingWritesQueue.addLast(var4); + } + } } diff --git a/runescape-client/src/main/java/AudioFilter.java b/runescape-client/src/main/java/AudioFilter.java index d101b8c60d..9eb20c8a66 100644 --- a/runescape-client/src/main/java/AudioFilter.java +++ b/runescape-client/src/main/java/AudioFilter.java @@ -3,157 +3,140 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("da") +@ObfuscatedName("de") @Implements("AudioFilter") public class AudioFilter { - @ObfuscatedName("j") - static float[][] field1499; - @ObfuscatedName("n") - @Export("coefficients") - static int[][] coefficients; - @ObfuscatedName("p") - static float field1501; - @ObfuscatedName("l") - @Export("forwardMultiplier") - static int forwardMultiplier; - @ObfuscatedName("h") - @Export("pairs") - int[] pairs; - @ObfuscatedName("x") - int[][][] field1495; - @ObfuscatedName("w") - int[][][] field1497; - @ObfuscatedName("t") - int[] field1498; + @ObfuscatedName("h") + static float[][] field1499 = new float[2][8]; + @ObfuscatedName("z") + @Export("coefficients") + static int[][] coefficients = new int[2][8]; + @ObfuscatedName("e") + static float field1505; + @ObfuscatedName("q") + @Export("forwardMultiplier") + static int forwardMultiplier; + @ObfuscatedName("n") + @Export("pairs") + int[] pairs = new int[2]; + @ObfuscatedName("d") + int[][][] field1500 = new int[2][2][4]; + @ObfuscatedName("c") + int[][][] field1501 = new int[2][2][4]; + @ObfuscatedName("y") + int[] field1503 = new int[2]; - static { - field1499 = new float[2][8]; // L: 13 - coefficients = new int[2][8]; // L: 14 - } + @ObfuscatedName("n") + float method2850(int var1, int var2, float var3) { + float var4 = (float)this.field1501[var1][0][var2] + var3 * (float)(this.field1501[var1][1][var2] - this.field1501[var1][0][var2]); + var4 *= 0.0015258789F; + return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); + } - AudioFilter() { - this.pairs = new int[2]; // L: 8 - this.field1495 = new int[2][2][4]; // L: 10 - this.field1497 = new int[2][2][4]; // L: 11 - this.field1498 = new int[2]; // L: 12 - } // L: 21 + @ObfuscatedName("d") + float method2852(int var1, int var2, float var3) { + float var4 = (float)this.field1500[var1][0][var2] + var3 * (float)(this.field1500[var1][1][var2] - this.field1500[var1][0][var2]); + var4 *= 1.2207031E-4F; + return normalize(var4); + } - @ObfuscatedName("h") - float method2768(int var1, int var2, float var3) { - float var4 = (float)this.field1497[var1][0][var2] + var3 * (float)(this.field1497[var1][1][var2] - this.field1497[var1][0][var2]); // L: 24 - var4 *= 0.0015258789F; // L: 25 - return 1.0F - (float)Math.pow(10.0D, (double)(-var4 / 20.0F)); // L: 26 - } + @ObfuscatedName("c") + @Export("compute") + int compute(int var1, float var2) { + float var3; + if (var1 == 0) { + var3 = (float)this.field1503[0] + (float)(this.field1503[1] - this.field1503[0]) * var2; + var3 *= 0.0030517578F; + field1505 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); + forwardMultiplier = (int)(field1505 * 65536.0F); + } - @ObfuscatedName("x") - float method2770(int var1, int var2, float var3) { - float var4 = (float)this.field1495[var1][0][var2] + var3 * (float)(this.field1495[var1][1][var2] - this.field1495[var1][0][var2]); // L: 35 - var4 *= 1.2207031E-4F; // L: 36 - return normalize(var4); // L: 37 - } + if (this.pairs[var1] == 0) { + return 0; + } else { + var3 = this.method2850(var1, 0, var2); + field1499[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2852(var1, 0, var2)); + field1499[var1][1] = var3 * var3; - @ObfuscatedName("w") - @Export("compute") - int compute(int var1, float var2) { - float var3; - if (var1 == 0) { // L: 41 - var3 = (float)this.field1498[0] + (float)(this.field1498[1] - this.field1498[0]) * var2; // L: 42 - var3 *= 0.0030517578F; // L: 43 - field1501 = (float)Math.pow(0.1D, (double)(var3 / 20.0F)); // L: 44 - forwardMultiplier = (int)(field1501 * 65536.0F); // L: 45 - } + int var4; + for(var4 = 1; var4 < this.pairs[var1]; ++var4) { + var3 = this.method2850(var1, var4, var2); + float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2852(var1, var4, var2)); + float var6 = var3 * var3; + field1499[var1][var4 * 2 + 1] = field1499[var1][var4 * 2 - 1] * var6; + field1499[var1][var4 * 2] = field1499[var1][var4 * 2 - 1] * var5 + field1499[var1][var4 * 2 - 2] * var6; - if (this.pairs[var1] == 0) { // L: 47 - return 0; - } else { - var3 = this.method2768(var1, 0, var2); // L: 48 - field1499[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method2770(var1, 0, var2)); // L: 49 - field1499[var1][1] = var3 * var3; // L: 50 + for(int var7 = var4 * 2 - 1; var7 >= 2; --var7) { + field1499[var1][var7] += field1499[var1][var7 - 1] * var5 + field1499[var1][var7 - 2] * var6; + } - float[] var10000; - int var4; - for (var4 = 1; var4 < this.pairs[var1]; ++var4) { // L: 51 - var3 = this.method2768(var1, var4, var2); // L: 52 - float var5 = -2.0F * var3 * (float)Math.cos((double)this.method2770(var1, var4, var2)); // L: 53 - float var6 = var3 * var3; // L: 54 - field1499[var1][var4 * 2 + 1] = field1499[var1][var4 * 2 - 1] * var6; // L: 55 - field1499[var1][var4 * 2] = field1499[var1][var4 * 2 - 1] * var5 + field1499[var1][var4 * 2 - 2] * var6; // L: 56 + field1499[var1][1] += field1499[var1][0] * var5 + var6; + field1499[var1][0] += var5; + } - for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) { // L: 57 - var10000 = field1499[var1]; - var10000[var7] += field1499[var1][var7 - 1] * var5 + field1499[var1][var7 - 2] * var6; - } + if (var1 == 0) { + for(var4 = 0; var4 < this.pairs[0] * 2; ++var4) { + field1499[0][var4] *= field1505; + } + } - var10000 = field1499[var1]; // L: 58 - var10000[1] += field1499[var1][0] * var5 + var6; - var10000 = field1499[var1]; // L: 59 - var10000[0] += var5; - } + for(var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { + coefficients[var1][var4] = (int)(field1499[var1][var4] * 65536.0F); + } - if (var1 == 0) { // L: 61 - for (var4 = 0; var4 < this.pairs[0] * 2; ++var4) { - var10000 = field1499[0]; - var10000[var4] *= field1501; - } - } + return this.pairs[var1] * 2; + } + } - for (var4 = 0; var4 < this.pairs[var1] * 2; ++var4) { // L: 62 - coefficients[var1][var4] = (int)(field1499[var1][var4] * 65536.0F); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;Lds;)V" + ) + final void method2854(Buffer var1, SoundEnvelope var2) { + int var3 = var1.readUnsignedByte(); + this.pairs[0] = var3 >> 4; + this.pairs[1] = var3 & 15; + if (var3 != 0) { + this.field1503[0] = var1.readUnsignedShort(); + this.field1503[1] = var1.readUnsignedShort(); + int var7 = var1.readUnsignedByte(); - return this.pairs[var1] * 2; // L: 63 - } - } + int var5; + int var6; + for(var5 = 0; var5 < 2; ++var5) { + for(var6 = 0; var6 < this.pairs[var5]; ++var6) { + this.field1500[var5][0][var6] = var1.readUnsignedShort(); + this.field1501[var5][0][var6] = var1.readUnsignedShort(); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;Ldr;)V" - ) - final void method2772(Buffer var1, SoundEnvelope var2) { - int var3 = var1.readUnsignedByte(); // L: 67 - this.pairs[0] = var3 >> 4; // L: 68 - this.pairs[1] = var3 & 15; // L: 69 - if (var3 != 0) { // L: 70 - this.field1498[0] = var1.readUnsignedShort(); // L: 71 - this.field1498[1] = var1.readUnsignedShort(); // L: 72 - int var7 = var1.readUnsignedByte(); // L: 73 + for(var5 = 0; var5 < 2; ++var5) { + for(var6 = 0; var6 < this.pairs[var5]; ++var6) { + if ((var7 & 1 << var5 * 4 << var6) != 0) { + this.field1500[var5][1][var6] = var1.readUnsignedShort(); + this.field1501[var5][1][var6] = var1.readUnsignedShort(); + } else { + this.field1500[var5][1][var6] = this.field1500[var5][0][var6]; + this.field1501[var5][1][var6] = this.field1501[var5][0][var6]; + } + } + } - int var5; - int var6; - for (var5 = 0; var5 < 2; ++var5) { // L: 74 - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { // L: 75 - this.field1495[var5][0][var6] = var1.readUnsignedShort(); // L: 76 - this.field1497[var5][0][var6] = var1.readUnsignedShort(); // L: 77 - } - } + if (var7 != 0 || this.field1503[1] != this.field1503[0]) { + var2.decodeSegments(var1); + } + } else { + int[] var4 = this.field1503; + this.field1503[1] = 0; + var4[0] = 0; + } - for (var5 = 0; var5 < 2; ++var5) { // L: 80 - for (var6 = 0; var6 < this.pairs[var5]; ++var6) { // L: 81 - if ((var7 & 1 << var5 * 4 << var6) != 0) { // L: 82 - this.field1495[var5][1][var6] = var1.readUnsignedShort(); // L: 83 - this.field1497[var5][1][var6] = var1.readUnsignedShort(); // L: 84 - } else { - this.field1495[var5][1][var6] = this.field1495[var5][0][var6]; // L: 87 - this.field1497[var5][1][var6] = this.field1497[var5][0][var6]; // L: 88 - } - } - } + } - if (var7 != 0 || this.field1498[1] != this.field1498[0]) { // L: 92 - var2.decodeSegments(var1); - } - } else { - int[] var4 = this.field1498; // L: 95 - this.field1498[1] = 0; // L: 96 - var4[0] = 0; // L: 97 - } - - } // L: 99 - - @ObfuscatedName("v") - @Export("normalize") - static float normalize(float var0) { - float var1 = 32.703197F * (float)Math.pow(2.0D, (double)var0); // L: 30 - return var1 * 3.1415927F / 11025.0F; // L: 31 - } + @ObfuscatedName("v") + @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/BZip2Decompressor.java b/runescape-client/src/main/java/BZip2Decompressor.java index bba89a31b6..3fbd323930 100644 --- a/runescape-client/src/main/java/BZip2Decompressor.java +++ b/runescape-client/src/main/java/BZip2Decompressor.java @@ -3,638 +3,636 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lk") +@ObfuscatedName("lh") @Implements("BZip2Decompressor") public final class BZip2Decompressor { - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lli;" - ) - @Export("BZip2Decompressor_state") - static BZip2State BZip2Decompressor_state; - - static { - BZip2Decompressor_state = new BZip2State(); // L: 13 - } - - @ObfuscatedName("h") - @Export("BZip2Decompressor_decompress") - public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { - synchronized(BZip2Decompressor_state) { // L: 20 - BZip2Decompressor_state.inputArray = var2; // L: 21 - BZip2Decompressor_state.nextByte = var4; // L: 22 - BZip2Decompressor_state.outputArray = var0; // L: 23 - BZip2Decompressor_state.next_out = 0; // L: 24 - BZip2Decompressor_state.outputLength = var1; // L: 25 - BZip2Decompressor_state.bsLive = 0; // L: 26 - BZip2Decompressor_state.bsBuff = 0; // L: 27 - BZip2Decompressor_state.nextBit_unused = 0; // L: 28 - BZip2Decompressor_state.field3772 = 0; // L: 29 - BZip2Decompressor_decompress(BZip2Decompressor_state); // L: 30 - var1 -= BZip2Decompressor_state.outputLength; // L: 31 - BZip2Decompressor_state.inputArray = null; // L: 32 - BZip2Decompressor_state.outputArray = null; // L: 33 - return var1; // L: 34 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lli;)V" - ) - static void method5845(BZip2State var0) { - byte var2 = var0.out_char; // L: 40 - int var3 = var0.su_rNToGo; // L: 41 - int var4 = var0.nblocks_used; // L: 42 - int var5 = var0.su_ch2; // L: 43 - int[] var6 = ItemLayer.BZip2Decompressor_block; // L: 44 - int var7 = var0.field3779; // L: 45 - byte[] var8 = var0.outputArray; // L: 46 - int var9 = var0.next_out; // L: 47 - int var10 = var0.outputLength; // L: 48 - int var12 = var0.field3797 + 1; // L: 50 - - label70: - while (true) { - if (var3 > 0) { // L: 53 - while (true) { - if (var10 == 0) { // L: 55 - break label70; - } - - if (var3 == 1) { // L: 56 - if (var10 == 0) { // L: 62 - var3 = 1; // L: 63 - break label70; - } - - var8[var9] = var2; // L: 66 - ++var9; // L: 67 - --var10; // L: 68 - break; - } - - var8[var9] = var2; // L: 57 - --var3; // L: 58 - ++var9; // L: 59 - --var10; // L: 60 - } - } - - while (var4 != var12) { // L: 71 - var2 = (byte)var5; // L: 75 - var7 = var6[var7]; // L: 76 - byte var1 = (byte)var7; // L: 77 - var7 >>= 8; // L: 78 - ++var4; // L: 79 - if (var1 != var5) { // L: 80 - var5 = var1; // L: 81 - if (var10 == 0) { // L: 82 - var3 = 1; // L: 83 - break label70; // L: 84 - } - - var8[var9] = var2; // L: 86 - ++var9; // L: 87 - --var10; // L: 88 - } else { - if (var4 != var12) { // L: 91 - var3 = 2; // L: 103 - var7 = var6[var7]; // L: 104 - var1 = (byte)var7; // L: 105 - var7 >>= 8; // L: 106 - ++var4; // L: 107 - if (var4 != var12) { // L: 108 - if (var1 != var5) { // L: 109 - var5 = var1; // L: 110 - } else { - var3 = 3; // L: 113 - var7 = var6[var7]; // L: 114 - var1 = (byte)var7; // L: 115 - var7 >>= 8; // L: 116 - ++var4; // L: 117 - if (var4 != var12) { // L: 118 - if (var1 != var5) { // L: 119 - var5 = var1; // L: 120 - } else { - var7 = var6[var7]; // L: 123 - var1 = (byte)var7; // L: 124 - var7 >>= 8; // L: 125 - ++var4; // L: 126 - var3 = (var1 & 255) + 4; // L: 127 - var7 = var6[var7]; // L: 128 - var5 = (byte)var7; // L: 129 - var7 >>= 8; // L: 130 - ++var4; // L: 131 - } - } - } - } - continue label70; - } - - if (var10 == 0) { // L: 92 - var3 = 1; // L: 93 - break label70; // L: 94 - } - - var8[var9] = var2; // L: 96 - ++var9; // L: 97 - --var10; // L: 98 - } - } - - var3 = 0; // L: 72 - break; // L: 73 - } - - int var13 = var0.field3772; // L: 133 - var0.field3772 += var10 - var10; // L: 134 - if (var0.field3772 < var13) { // L: 135 - } - - var0.out_char = var2; // L: 136 - var0.su_rNToGo = var3; // L: 137 - var0.nblocks_used = var4; // L: 138 - var0.su_ch2 = var5; // L: 139 - ItemLayer.BZip2Decompressor_block = var6; // L: 140 - var0.field3779 = var7; // L: 141 - var0.outputArray = var8; // L: 142 - var0.next_out = var9; // L: 143 - var0.outputLength = var10; // L: 144 - } // L: 145 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lli;)V" - ) - @Export("BZip2Decompressor_decompress") - static void BZip2Decompressor_decompress(BZip2State var0) { - boolean var4 = false; // L: 151 - boolean var5 = false; // L: 152 - boolean var6 = false; // L: 153 - boolean var7 = false; // L: 154 - boolean var8 = false; // L: 155 - boolean var9 = false; // L: 156 - boolean var10 = false; // L: 157 - boolean var11 = false; // L: 158 - boolean var12 = false; // L: 159 - boolean var13 = false; // L: 160 - boolean var14 = false; // L: 161 - boolean var15 = false; // L: 162 - boolean var16 = false; // L: 163 - boolean var17 = false; // L: 164 - boolean var18 = false; // L: 165 - boolean var19 = false; // L: 166 - boolean var20 = false; // L: 167 - boolean var21 = false; // L: 168 - int var22 = 0; // L: 169 - int[] var23 = null; // L: 170 - int[] var24 = null; // L: 171 - int[] var25 = null; // L: 172 - var0.blockSize100k = -1205153797; // L: 173 - if (ItemLayer.BZip2Decompressor_block == null) { // L: 174 - ItemLayer.BZip2Decompressor_block = new int[var0.blockSize100k * 1124970976]; - } - - boolean var26 = true; // L: 175 - - while (true) { - while (var26) { - byte var1 = BZip2Decompressor_readNextByte(var0); // L: 177 - if (var1 == 23) { // L: 178 - return; - } - - var1 = BZip2Decompressor_readNextByte(var0); // L: 179 - var1 = BZip2Decompressor_readNextByte(var0); // L: 180 - var1 = BZip2Decompressor_readNextByte(var0); // L: 181 - var1 = BZip2Decompressor_readNextByte(var0); // L: 182 - var1 = BZip2Decompressor_readNextByte(var0); // L: 183 - var1 = BZip2Decompressor_readNextByte(var0); // L: 184 - var1 = BZip2Decompressor_readNextByte(var0); // L: 185 - var1 = BZip2Decompressor_readNextByte(var0); // L: 186 - var1 = BZip2Decompressor_readNextByte(var0); // L: 187 - var1 = BZip2Decompressor_readNextBit(var0); // L: 188 - if (var1 != 0) { // L: 189 - } - - var0.originalPointer = 0; // L: 191 - var1 = BZip2Decompressor_readNextByte(var0); // L: 192 - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; // L: 193 - var1 = BZip2Decompressor_readNextByte(var0); // L: 194 - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; // L: 195 - var1 = BZip2Decompressor_readNextByte(var0); // L: 196 - var0.originalPointer = var0.originalPointer << 8 | var1 & 255; // L: 197 - - int var36; - for (var36 = 0; var36 < 16; ++var36) { // L: 198 - var1 = BZip2Decompressor_readNextBit(var0); // L: 199 - if (var1 == 1) { // L: 200 - var0.inUse16[var36] = true; - } else { - var0.inUse16[var36] = false; // L: 201 - } - } - - for (var36 = 0; var36 < 256; ++var36) { // L: 203 - var0.inUse[var36] = false; - } - - int var37; - for (var36 = 0; var36 < 16; ++var36) { // L: 204 - if (var0.inUse16[var36]) { // L: 205 - for (var37 = 0; var37 < 16; ++var37) { // L: 206 - var1 = BZip2Decompressor_readNextBit(var0); // L: 207 - if (var1 == 1) { // L: 208 - var0.inUse[var37 + var36 * 16] = true; - } - } - } - } - - makeMaps(var0); // L: 212 - int var39 = var0.nInUse + 2; // L: 213 - int var40 = BZip2Decompressor_readBits(3, var0); // L: 214 - int var41 = BZip2Decompressor_readBits(15, var0); // L: 215 - - for (var36 = 0; var36 < var41; ++var36) { // L: 216 - var37 = 0; // L: 217 - - while (true) { - var1 = BZip2Decompressor_readNextBit(var0); // L: 219 - if (var1 == 0) { // L: 220 - var0.selectorMtf[var36] = (byte)var37; // L: 223 - break; - } - - ++var37; // L: 221 - } - } - - byte[] var27 = new byte[6]; // L: 226 - - byte var29; - for (var29 = 0; var29 < var40; var27[var29] = var29++) { // L: 229 - } - - for (var36 = 0; var36 < var41; ++var36) { // L: 230 - var29 = var0.selectorMtf[var36]; // L: 231 - - byte var28; - for (var28 = var27[var29]; var29 > 0; --var29) { // L: 232 233 235 - var27[var29] = var27[var29 - 1]; // L: 234 - } - - var27[0] = var28; // L: 237 - var0.selector[var36] = var28; // L: 238 - } - - int var38; - for (var38 = 0; var38 < var40; ++var38) { // L: 241 - int var50 = BZip2Decompressor_readBits(5, var0); // L: 242 - - for (var36 = 0; var36 < var39; ++var36) { // L: 243 - while (true) { - var1 = BZip2Decompressor_readNextBit(var0); // L: 245 - if (var1 == 0) { // L: 246 - var0.temp_charArray2d[var38][var36] = (byte)var50; // L: 251 - break; - } - - var1 = BZip2Decompressor_readNextBit(var0); // L: 247 - if (var1 == 0) { // L: 248 - ++var50; - } else { - --var50; // L: 249 - } - } - } - } - - for (var38 = 0; var38 < var40; ++var38) { // L: 254 - byte var2 = 32; // L: 255 - byte var3 = 0; // L: 256 - - for (var36 = 0; var36 < var39; ++var36) { // L: 257 - if (var0.temp_charArray2d[var38][var36] > var3) { // L: 258 - var3 = var0.temp_charArray2d[var38][var36]; - } - - if (var0.temp_charArray2d[var38][var36] < var2) { // L: 259 - var2 = var0.temp_charArray2d[var38][var36]; - } - } - - BZip2Decompressor_createHuffmanTables(var0.limit[var38], var0.base[var38], var0.perm[var38], var0.temp_charArray2d[var38], var2, var3, var39); // L: 261 - var0.minLens[var38] = var2; // L: 262 - } - - int var42 = var0.nInUse + 1; // L: 264 - int var43 = -1; // L: 265 - byte var44 = 0; // L: 266 - - for (var36 = 0; var36 <= 255; ++var36) { // L: 267 - var0.unzftab[var36] = 0; - } - - int var56 = 4095; // L: 272 - - int var35; - int var55; - for (var35 = 15; var35 >= 0; --var35) { // L: 273 - for (var55 = 15; var55 >= 0; --var55) { // L: 274 - var0.ll8[var56] = (byte)(var55 + var35 * 16); // L: 275 - --var56; // L: 276 - } - - var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; // L: 278 - } - - int var47 = 0; // L: 281 - byte var54; - if (var44 == 0) { // L: 282 - ++var43; // L: 283 - var44 = 50; // L: 284 - var54 = var0.selector[var43]; // L: 285 - var22 = var0.minLens[var54]; // L: 286 - var23 = var0.limit[var54]; // L: 287 - var25 = var0.perm[var54]; // L: 288 - var24 = var0.base[var54]; // L: 289 - } - - int var45 = var44 - 1; // L: 291 - int var51 = var22; // L: 292 - - int var52; - byte var53; - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { // L: 293 295 298 - ++var51; // L: 296 - var53 = BZip2Decompressor_readNextBit(var0); // L: 297 - } - - int var46 = var25[var52 - var24[var51]]; // L: 300 - - while (true) { - int[] var10000; - int var10002; - while (var46 != var42) { // L: 302 - if (var46 != 0 && var46 != 1) { // L: 303 - int var33 = var46 - 1; // L: 349 - int var30; - if (var33 < 16) { // L: 350 - var30 = var0.getAndMoveToFrontDecode_yy[0]; // L: 351 - - for (var1 = var0.ll8[var30 + var33]; var33 > 3; var33 -= 4) { // L: 352 353 359 - int var34 = var30 + var33; // L: 354 - var0.ll8[var34] = var0.ll8[var34 - 1]; // L: 355 - var0.ll8[var34 - 1] = var0.ll8[var34 - 2]; // L: 356 - var0.ll8[var34 - 2] = var0.ll8[var34 - 3]; // L: 357 - var0.ll8[var34 - 3] = var0.ll8[var34 - 4]; // L: 358 - } - - while (var33 > 0) { // L: 361 - var0.ll8[var30 + var33] = var0.ll8[var30 + var33 - 1]; // L: 362 - --var33; // L: 363 - } - - var0.ll8[var30] = var1; // L: 365 - } else { - int var31 = var33 / 16; // L: 368 - int var32 = var33 % 16; // L: 369 - var30 = var0.getAndMoveToFrontDecode_yy[var31] + var32; // L: 370 - - for (var1 = var0.ll8[var30]; var30 > var0.getAndMoveToFrontDecode_yy[var31]; --var30) { // L: 371 372 374 - var0.ll8[var30] = var0.ll8[var30 - 1]; // L: 373 - } - - for (var10002 = var0.getAndMoveToFrontDecode_yy[var31]++; var31 > 0; --var31) { // L: 376 377 380 - var10002 = var0.getAndMoveToFrontDecode_yy[var31]--; // L: 378 - var0.ll8[var0.getAndMoveToFrontDecode_yy[var31]] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var31 - 1] + 16 - 1]; // L: 379 - } - - var10002 = var0.getAndMoveToFrontDecode_yy[0]--; // L: 382 - var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] = var1; // L: 383 - if (var0.getAndMoveToFrontDecode_yy[0] == 0) { // L: 384 - var56 = 4095; // L: 385 - - for (var35 = 15; var35 >= 0; --var35) { // L: 386 - for (var55 = 15; var55 >= 0; --var55) { // L: 387 - var0.ll8[var56] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var35] + var55]; // L: 388 - --var56; // L: 389 - } - - var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; // L: 391 - } - } - } - - var10002 = var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]++; // L: 396 - ItemLayer.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; // L: 397 - ++var47; // L: 398 - if (var45 == 0) { // L: 399 - ++var43; // L: 400 - var45 = 50; // L: 401 - var54 = var0.selector[var43]; // L: 402 - var22 = var0.minLens[var54]; // L: 403 - var23 = var0.limit[var54]; // L: 404 - var25 = var0.perm[var54]; // L: 405 - var24 = var0.base[var54]; // L: 406 - } - - --var45; // L: 408 - var51 = var22; // L: 409 - - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { // L: 410 412 415 - ++var51; // L: 413 - var53 = BZip2Decompressor_readNextBit(var0); // L: 414 - } - - var46 = var25[var52 - var24[var51]]; // L: 417 - } else { - int var48 = -1; // L: 304 - int var49 = 1; // L: 305 - - do { - if (var46 == 0) { // L: 307 - var48 += var49; - } else if (var46 == 1) { // L: 308 - var48 += var49 * 2; - } - - var49 *= 2; // L: 309 - if (var45 == 0) { // L: 310 - ++var43; // L: 311 - var45 = 50; // L: 312 - var54 = var0.selector[var43]; // L: 313 - var22 = var0.minLens[var54]; // L: 314 - var23 = var0.limit[var54]; // L: 315 - var25 = var0.perm[var54]; // L: 316 - var24 = var0.base[var54]; // L: 317 - } - - --var45; // L: 319 - var51 = var22; // L: 320 - - for (var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { // L: 321 323 326 - ++var51; // L: 324 - var53 = BZip2Decompressor_readNextBit(var0); // L: 325 - } - - var46 = var25[var52 - var24[var51]]; // L: 328 - } while(var46 == 0 || var46 == 1); // L: 329 - - ++var48; // L: 330 - var1 = var0.seqToUnseq[var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] & 255]; // L: 331 - var10000 = var0.unzftab; // L: 332 - - for (var10000[var1 & 255] += var48; var48 > 0; --var48) { // L: 333 336 - ItemLayer.BZip2Decompressor_block[var47] = var1 & 255; // L: 334 - ++var47; // L: 335 - } - } - } - - var0.su_rNToGo = 0; // L: 421 - var0.out_char = 0; // L: 422 - var0.cftab[0] = 0; // L: 423 - - for (var36 = 1; var36 <= 256; ++var36) { // L: 424 - var0.cftab[var36] = var0.unzftab[var36 - 1]; - } - - for (var36 = 1; var36 <= 256; ++var36) { // L: 425 - var10000 = var0.cftab; - var10000[var36] += var0.cftab[var36 - 1]; - } - - for (var36 = 0; var36 < var47; ++var36) { // L: 426 - var1 = (byte)(ItemLayer.BZip2Decompressor_block[var36] & 255); // L: 427 - var10000 = ItemLayer.BZip2Decompressor_block; // L: 428 - int var10001 = var0.cftab[var1 & 255]; - var10000[var10001] |= var36 << 8; - var10002 = var0.cftab[var1 & 255]++; // L: 429 - } - - var0.field3779 = ItemLayer.BZip2Decompressor_block[var0.originalPointer] >> 8; // L: 431 - var0.nblocks_used = 0; // L: 432 - var0.field3779 = ItemLayer.BZip2Decompressor_block[var0.field3779]; // L: 433 - var0.su_ch2 = (byte)(var0.field3779 & 255); // L: 434 - var0.field3779 >>= 8; // L: 436 - ++var0.nblocks_used; // L: 437 - var0.field3797 = var47; // L: 438 - method5845(var0); // L: 439 - if (var0.field3797 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { // L: 440 - var26 = true; - break; - } - - var26 = false; // L: 441 - break; - } - } - - return; // L: 443 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lli;)B" - ) - @Export("BZip2Decompressor_readNextByte") - static byte BZip2Decompressor_readNextByte(BZip2State var0) { - return (byte)BZip2Decompressor_readBits(8, var0); // L: 447 - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lli;)B" - ) - @Export("BZip2Decompressor_readNextBit") - static byte BZip2Decompressor_readNextBit(BZip2State var0) { - return (byte)BZip2Decompressor_readBits(1, var0); // L: 451 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(ILli;)I" - ) - @Export("BZip2Decompressor_readBits") - static int BZip2Decompressor_readBits(int var0, BZip2State var1) { - while (var1.bsLive < var0) { // L: 456 - var1.bsBuff = var1.bsBuff << 8 | var1.inputArray[var1.nextByte] & 255; // L: 462 - var1.bsLive += 8; // L: 463 - ++var1.nextByte; // L: 464 - ++var1.nextBit_unused; // L: 465 - if (var1.nextBit_unused == 0) { // L: 466 - } - } - - int var2 = var1.bsBuff >> var1.bsLive - var0 & (1 << var0) - 1; // L: 458 - var1.bsLive -= var0; // L: 459 - return var2; // L: 460 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lli;)V" - ) - @Export("makeMaps") - static void makeMaps(BZip2State var0) { - var0.nInUse = 0; // L: 472 - - for (int var1 = 0; var1 < 256; ++var1) { // L: 473 - if (var0.inUse[var1]) { // L: 474 - var0.seqToUnseq[var0.nInUse] = (byte)var1; // L: 475 - ++var0.nInUse; // L: 476 - } - } - - } // L: 479 - - @ObfuscatedName("p") - @Export("BZip2Decompressor_createHuffmanTables") - static void BZip2Decompressor_createHuffmanTables(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) { - int var7 = 0; // L: 486 - - int var8; - for (var8 = var4; var8 <= var5; ++var8) { // L: 487 - for (int var9 = 0; var9 < var6; ++var9) { // L: 488 - if (var8 == var3[var9]) { // L: 489 - var2[var7] = var9; // L: 490 - ++var7; // L: 491 - } - } - } - - for (var8 = 0; var8 < 23; ++var8) { // L: 495 - var1[var8] = 0; - } - - for (var8 = 0; var8 < var6; ++var8) { // L: 496 - ++var1[var3[var8] + 1]; - } - - for (var8 = 1; var8 < 23; ++var8) { // L: 497 - var1[var8] += var1[var8 - 1]; - } - - for (var8 = 0; var8 < 23; ++var8) { // L: 498 - var0[var8] = 0; - } - - int var10 = 0; // L: 499 - - for (var8 = var4; var8 <= var5; ++var8) { // L: 500 - var10 += var1[var8 + 1] - var1[var8]; // L: 501 - var0[var8] = var10 - 1; // L: 502 - var10 <<= 1; // L: 503 - } - - for (var8 = var4 + 1; var8 <= var5; ++var8) { // L: 505 - var1[var8] = (var0[var8 - 1] + 1 << 1) - var1[var8]; // L: 506 - } - - } // L: 508 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Llx;" + ) + @Export("BZip2Decompressor_state") + static BZip2State BZip2Decompressor_state = new BZip2State(); + + @ObfuscatedName("n") + @Export("BZip2Decompressor_decompress") + public static int BZip2Decompressor_decompress(byte[] var0, int var1, byte[] var2, int var3, int var4) { + BZip2State var5 = BZip2Decompressor_state; + synchronized(BZip2Decompressor_state) { + BZip2Decompressor_state.inputArray = var2; + BZip2Decompressor_state.nextByte = var4; + BZip2Decompressor_state.outputArray = var0; + BZip2Decompressor_state.next_out = 0; + BZip2Decompressor_state.outputLength = var1; + BZip2Decompressor_state.bsLive = 0; + BZip2Decompressor_state.bsBuff = 0; + BZip2Decompressor_state.nextBit_unused = 0; + BZip2Decompressor_state.field3760 = 0; + BZip2Decompressor_decompress(BZip2Decompressor_state); + var1 -= BZip2Decompressor_state.outputLength; + BZip2Decompressor_state.inputArray = null; + BZip2Decompressor_state.outputArray = null; + return var1; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Llx;)V" + ) + static void method5984(BZip2State var0) { + byte var2 = var0.out_char; + int var3 = var0.su_rNToGo; + int var4 = var0.nblocks_used; + int var5 = var0.su_ch2; + int[] var6 = BZip2State.BZip2Decompressor_block; + int var7 = var0.field3776; + byte[] var8 = var0.outputArray; + int var9 = var0.next_out; + int var10 = var0.outputLength; + int var12 = var0.field3769 + 1; + + label70: + while(true) { + if (var3 > 0) { + while(true) { + if (var10 == 0) { + break label70; + } + + if (var3 == 1) { + if (var10 == 0) { + var3 = 1; + break label70; + } + + var8[var9] = var2; + ++var9; + --var10; + break; + } + + var8[var9] = var2; + --var3; + ++var9; + --var10; + } + } + + while(var4 != var12) { + var2 = (byte)var5; + var7 = var6[var7]; + byte var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var1 != var5) { + var5 = var1; + if (var10 == 0) { + var3 = 1; + break label70; + } + + var8[var9] = var2; + ++var9; + --var10; + } else { + if (var4 != var12) { + var3 = 2; + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var4 != var12) { + if (var1 != var5) { + var5 = var1; + } else { + var3 = 3; + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + if (var4 != var12) { + if (var1 != var5) { + var5 = var1; + } else { + var7 = var6[var7]; + var1 = (byte)var7; + var7 >>= 8; + ++var4; + var3 = (var1 & 255) + 4; + var7 = var6[var7]; + var5 = (byte)var7; + var7 >>= 8; + ++var4; + } + } + } + } + continue label70; + } + + if (var10 == 0) { + var3 = 1; + break label70; + } + + var8[var9] = var2; + ++var9; + --var10; + } + } + + var3 = 0; + break; + } + + int var13 = var0.field3760; + var0.field3760 += var10 - var10; + if (var0.field3760 < var13) { + ; + } + + var0.out_char = var2; + var0.su_rNToGo = var3; + var0.nblocks_used = var4; + var0.su_ch2 = var5; + BZip2State.BZip2Decompressor_block = var6; + var0.field3776 = var7; + var0.outputArray = var8; + var0.next_out = var9; + var0.outputLength = var10; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Llx;)V" + ) + @Export("BZip2Decompressor_decompress") + static void BZip2Decompressor_decompress(BZip2State var0) { + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + boolean var9 = false; + boolean var10 = false; + boolean var11 = false; + boolean var12 = false; + boolean var13 = false; + boolean var14 = false; + boolean var15 = false; + boolean var16 = false; + boolean var17 = false; + boolean var18 = false; + boolean var19 = false; + boolean var20 = false; + boolean var21 = false; + int var22 = 0; + int[] var23 = null; + int[] var24 = null; + int[] var25 = null; + var0.blockSize100k = 1410065408; + if (BZip2State.BZip2Decompressor_block == null) { + BZip2State.BZip2Decompressor_block = new int[var0.blockSize100k * 100000]; + } + + boolean var26 = true; + + while(true) { + while(var26) { + byte var1 = BZip2Decompressor_readNextByte(var0); + if (var1 == 23) { + return; + } + + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextByte(var0); + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 != 0) { + ; + } + + var0.originalPointer = 0; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + var1 = BZip2Decompressor_readNextByte(var0); + var0.originalPointer = var0.originalPointer << 8 | var1 & 255; + + int var36; + for(var36 = 0; var36 < 16; ++var36) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 1) { + var0.inUse16[var36] = true; + } else { + var0.inUse16[var36] = false; + } + } + + for(var36 = 0; var36 < 256; ++var36) { + var0.inUse[var36] = false; + } + + int var37; + for(var36 = 0; var36 < 16; ++var36) { + if (var0.inUse16[var36]) { + for(var37 = 0; var37 < 16; ++var37) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 1) { + var0.inUse[var37 + var36 * 16] = true; + } + } + } + } + + makeMaps(var0); + int var39 = var0.nInUse + 2; + int var40 = BZip2Decompressor_readBits(3, var0); + int var41 = BZip2Decompressor_readBits(15, var0); + + for(var36 = 0; var36 < var41; ++var36) { + var37 = 0; + + while(true) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + var0.selectorMtf[var36] = (byte)var37; + break; + } + + ++var37; + } + } + + byte[] var27 = new byte[6]; + + byte var29; + for(var29 = 0; var29 < var40; var27[var29] = var29++) { + ; + } + + for(var36 = 0; var36 < var41; ++var36) { + var29 = var0.selectorMtf[var36]; + + byte var28; + for(var28 = var27[var29]; var29 > 0; --var29) { + var27[var29] = var27[var29 - 1]; + } + + var27[0] = var28; + var0.selector[var36] = var28; + } + + int var38; + for(var38 = 0; var38 < var40; ++var38) { + int var50 = BZip2Decompressor_readBits(5, var0); + + for(var36 = 0; var36 < var39; ++var36) { + while(true) { + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + var0.temp_charArray2d[var38][var36] = (byte)var50; + break; + } + + var1 = BZip2Decompressor_readNextBit(var0); + if (var1 == 0) { + ++var50; + } else { + --var50; + } + } + } + } + + for(var38 = 0; var38 < var40; ++var38) { + byte var2 = 32; + byte var3 = 0; + + for(var36 = 0; var36 < var39; ++var36) { + if (var0.temp_charArray2d[var38][var36] > var3) { + var3 = var0.temp_charArray2d[var38][var36]; + } + + if (var0.temp_charArray2d[var38][var36] < var2) { + var2 = var0.temp_charArray2d[var38][var36]; + } + } + + BZip2Decompressor_createHuffmanTables(var0.limit[var38], var0.base[var38], var0.perm[var38], var0.temp_charArray2d[var38], var2, var3, var39); + var0.minLens[var38] = var2; + } + + int var42 = var0.nInUse + 1; + int var43 = -1; + byte var44 = 0; + + for(var36 = 0; var36 <= 255; ++var36) { + var0.unzftab[var36] = 0; + } + + int var56 = 4095; + + int var35; + int var55; + for(var35 = 15; var35 >= 0; --var35) { + for(var55 = 15; var55 >= 0; --var55) { + var0.ll8[var56] = (byte)(var55 + var35 * 16); + --var56; + } + + var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; + } + + int var47 = 0; + byte var54; + if (var44 == 0) { + ++var43; + var44 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + int var45 = var44 - 1; + int var51 = var22; + + int var52; + byte var53; + for(var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + int var46 = var25[var52 - var24[var51]]; + + while(true) { + while(var46 != var42) { + if (var46 != 0 && var46 != 1) { + int var33 = var46 - 1; + int var30; + if (var33 < 16) { + var30 = var0.getAndMoveToFrontDecode_yy[0]; + + for(var1 = var0.ll8[var30 + var33]; var33 > 3; var33 -= 4) { + int var34 = var30 + var33; + var0.ll8[var34] = var0.ll8[var34 - 1]; + var0.ll8[var34 - 1] = var0.ll8[var34 - 2]; + var0.ll8[var34 - 2] = var0.ll8[var34 - 3]; + var0.ll8[var34 - 3] = var0.ll8[var34 - 4]; + } + + while(var33 > 0) { + var0.ll8[var30 + var33] = var0.ll8[var30 + var33 - 1]; + --var33; + } + + var0.ll8[var30] = var1; + } else { + int var31 = var33 / 16; + int var32 = var33 % 16; + var30 = var0.getAndMoveToFrontDecode_yy[var31] + var32; + + for(var1 = var0.ll8[var30]; var30 > var0.getAndMoveToFrontDecode_yy[var31]; --var30) { + var0.ll8[var30] = var0.ll8[var30 - 1]; + } + + ++var0.getAndMoveToFrontDecode_yy[var31]; + + while(var31 > 0) { + --var0.getAndMoveToFrontDecode_yy[var31]; + var0.ll8[var0.getAndMoveToFrontDecode_yy[var31]] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var31 - 1] + 16 - 1]; + --var31; + } + + --var0.getAndMoveToFrontDecode_yy[0]; + var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] = var1; + if (var0.getAndMoveToFrontDecode_yy[0] == 0) { + var56 = 4095; + + for(var35 = 15; var35 >= 0; --var35) { + for(var55 = 15; var55 >= 0; --var55) { + var0.ll8[var56] = var0.ll8[var0.getAndMoveToFrontDecode_yy[var35] + var55]; + --var56; + } + + var0.getAndMoveToFrontDecode_yy[var35] = var56 + 1; + } + } + } + + ++var0.unzftab[var0.seqToUnseq[var1 & 255] & 255]; + BZip2State.BZip2Decompressor_block[var47] = var0.seqToUnseq[var1 & 255] & 255; + ++var47; + if (var45 == 0) { + ++var43; + var45 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + --var45; + var51 = var22; + + for(var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + var46 = var25[var52 - var24[var51]]; + } else { + int var48 = -1; + int var49 = 1; + + do { + if (var46 == 0) { + var48 += var49; + } else if (var46 == 1) { + var48 += var49 * 2; + } + + var49 *= 2; + if (var45 == 0) { + ++var43; + var45 = 50; + var54 = var0.selector[var43]; + var22 = var0.minLens[var54]; + var23 = var0.limit[var54]; + var25 = var0.perm[var54]; + var24 = var0.base[var54]; + } + + --var45; + var51 = var22; + + for(var52 = BZip2Decompressor_readBits(var22, var0); var52 > var23[var51]; var52 = var52 << 1 | var53) { + ++var51; + var53 = BZip2Decompressor_readNextBit(var0); + } + + var46 = var25[var52 - var24[var51]]; + } while(var46 == 0 || var46 == 1); + + ++var48; + var1 = var0.seqToUnseq[var0.ll8[var0.getAndMoveToFrontDecode_yy[0]] & 255]; + + for(var0.unzftab[var1 & 255] += var48; var48 > 0; --var48) { + BZip2State.BZip2Decompressor_block[var47] = var1 & 255; + ++var47; + } + } + } + + var0.su_rNToGo = 0; + var0.out_char = 0; + var0.cftab[0] = 0; + + for(var36 = 1; var36 <= 256; ++var36) { + var0.cftab[var36] = var0.unzftab[var36 - 1]; + } + + for(var36 = 1; var36 <= 256; ++var36) { + var0.cftab[var36] += var0.cftab[var36 - 1]; + } + + for(var36 = 0; var36 < var47; ++var36) { + var1 = (byte)(BZip2State.BZip2Decompressor_block[var36] & 255); + BZip2State.BZip2Decompressor_block[var0.cftab[var1 & 255]] |= var36 << 8; + ++var0.cftab[var1 & 255]; + } + + var0.field3776 = BZip2State.BZip2Decompressor_block[var0.originalPointer] >> 8; + var0.nblocks_used = 0; + var0.field3776 = BZip2State.BZip2Decompressor_block[var0.field3776]; + var0.su_ch2 = (byte)(var0.field3776 & 255); + var0.field3776 >>= 8; + ++var0.nblocks_used; + var0.field3769 = var47; + method5984(var0); + if (var0.field3769 + 1 == var0.nblocks_used && var0.su_rNToGo == 0) { + var26 = true; + break; + } + + var26 = false; + break; + } + } + + return; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Llx;)B" + ) + @Export("BZip2Decompressor_readNextByte") + static byte BZip2Decompressor_readNextByte(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(8, var0); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Llx;)B" + ) + @Export("BZip2Decompressor_readNextBit") + static byte BZip2Decompressor_readNextBit(BZip2State var0) { + return (byte)BZip2Decompressor_readBits(1, var0); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(ILlx;)I" + ) + @Export("BZip2Decompressor_readBits") + static int BZip2Decompressor_readBits(int var0, BZip2State var1) { + while(var1.bsLive < var0) { + var1.bsBuff = var1.bsBuff << 8 | var1.inputArray[var1.nextByte] & 255; + var1.bsLive += 8; + ++var1.nextByte; + ++var1.nextBit_unused; + if (var1.nextBit_unused == 0) { + ; + } + } + + int var2 = var1.bsBuff >> var1.bsLive - var0 & (1 << var0) - 1; + var1.bsLive -= var0; + return var2; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Llx;)V" + ) + @Export("makeMaps") + static void makeMaps(BZip2State var0) { + var0.nInUse = 0; + + for(int var1 = 0; var1 < 256; ++var1) { + if (var0.inUse[var1]) { + var0.seqToUnseq[var0.nInUse] = (byte)var1; + ++var0.nInUse; + } + } + + } + + @ObfuscatedName("e") + @Export("BZip2Decompressor_createHuffmanTables") + static void BZip2Decompressor_createHuffmanTables(int[] var0, int[] var1, int[] var2, byte[] var3, int var4, int var5, int var6) { + int var7 = 0; + + int var8; + for(var8 = var4; var8 <= var5; ++var8) { + for(int var9 = 0; var9 < var6; ++var9) { + if (var8 == var3[var9]) { + var2[var7] = var9; + ++var7; + } + } + } + + for(var8 = 0; var8 < 23; ++var8) { + var1[var8] = 0; + } + + for(var8 = 0; var8 < var6; ++var8) { + ++var1[var3[var8] + 1]; + } + + for(var8 = 1; var8 < 23; ++var8) { + var1[var8] += var1[var8 - 1]; + } + + for(var8 = 0; var8 < 23; ++var8) { + var0[var8] = 0; + } + + int var10 = 0; + + for(var8 = var4; var8 <= var5; ++var8) { + var10 += var1[var8 + 1] - var1[var8]; + var0[var8] = var10 - 1; + var10 <<= 1; + } + + for(var8 = var4 + 1; var8 <= var5; ++var8) { + var1[var8] = (var0[var8 - 1] + 1 << 1) - var1[var8]; + } + + } } diff --git a/runescape-client/src/main/java/BZip2State.java b/runescape-client/src/main/java/BZip2State.java index cfd130c75c..d7f8a5d646 100644 --- a/runescape-client/src/main/java/BZip2State.java +++ b/runescape-client/src/main/java/BZip2State.java @@ -2,193 +2,161 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("li") +@ObfuscatedName("lx") @Implements("BZip2State") public final class BZip2State { - @ObfuscatedName("h") - final int field3765; - @ObfuscatedName("v") - final int field3761; - @ObfuscatedName("x") - final int field3762; - @ObfuscatedName("w") - final int field3769; - @ObfuscatedName("t") - final int field3783; - @ObfuscatedName("j") - final int field3793; - @ObfuscatedName("n") - @Export("inputArray") - byte[] inputArray; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 2048002917 - ) - @Export("nextByte") - int nextByte; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1387110715 - ) - @Export("nextBit_unused") - int nextBit_unused; - @ObfuscatedName("z") - @Export("outputArray") - byte[] outputArray; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -124829371 - ) - @Export("next_out") - int next_out; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 990524105 - ) - @Export("outputLength") - int outputLength; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1359867971 - ) - int field3772; - @ObfuscatedName("c") - @Export("out_char") - byte out_char; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 370207757 - ) - @Export("su_rNToGo") - int su_rNToGo; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1851938871 - ) - @Export("bsBuff") - int bsBuff; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -487654005 - ) - @Export("bsLive") - int bsLive; - @ObfuscatedName("b") - @Export("blockSize100k") - int blockSize100k; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -1325444151 - ) - @Export("originalPointer") - int originalPointer; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1685477849 - ) - int field3779; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1899062287 - ) - @Export("su_ch2") - int su_ch2; - @ObfuscatedName("g") - @Export("unzftab") - int[] unzftab; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 995488429 - ) - @Export("nblocks_used") - int nblocks_used; - @ObfuscatedName("o") - @Export("cftab") - int[] cftab; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -1840218043 - ) - @Export("nInUse") - int nInUse; - @ObfuscatedName("an") - @Export("inUse") - boolean[] inUse; - @ObfuscatedName("aj") - @Export("inUse16") - boolean[] inUse16; - @ObfuscatedName("ax") - @Export("seqToUnseq") - byte[] seqToUnseq; - @ObfuscatedName("ag") - @Export("ll8") - byte[] ll8; - @ObfuscatedName("au") - @Export("getAndMoveToFrontDecode_yy") - int[] getAndMoveToFrontDecode_yy; - @ObfuscatedName("as") - @Export("selector") - byte[] selector; - @ObfuscatedName("ae") - @Export("selectorMtf") - byte[] selectorMtf; - @ObfuscatedName("ac") - @Export("temp_charArray2d") - byte[][] temp_charArray2d; - @ObfuscatedName("ak") - @Export("limit") - int[][] limit; - @ObfuscatedName("av") - @Export("base") - int[][] base; - @ObfuscatedName("aq") - @Export("perm") - int[][] perm; - @ObfuscatedName("ah") - @Export("minLens") - int[] minLens; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -1908981277 - ) - int field3797; - - BZip2State() { - this.field3765 = 4096; // L: 4 - this.field3761 = 16; // L: 5 - this.field3762 = 258; // L: 6 - this.field3769 = 6; // L: 7 - this.field3783 = 50; // L: 8 - this.field3793 = 18002; // L: 9 - this.nextByte = 0; // L: 11 - this.next_out = 0; // L: 14 - this.unzftab = new int[256]; // L: 25 - this.cftab = new int[257]; // L: 27 - this.inUse = new boolean[256]; // L: 30 - this.inUse16 = new boolean[16]; // L: 31 - this.seqToUnseq = new byte[256]; // L: 32 - this.ll8 = new byte[4096]; // L: 33 - this.getAndMoveToFrontDecode_yy = new int[16]; // L: 34 - this.selector = new byte[18002]; // L: 35 - this.selectorMtf = new byte[18002]; // L: 36 - this.temp_charArray2d = new byte[6][258]; // L: 37 - this.limit = new int[6][258]; // L: 38 - this.base = new int[6][258]; // L: 39 - this.perm = new int[6][258]; // L: 40 - this.minLens = new int[6]; // L: 41 - } // L: 44 - - @ObfuscatedName("le") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-244499356" - ) - @Export("Clan_leaveChat") - static final void Clan_leaveChat() { - PacketBufferNode var0 = ItemContainer.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher); // L: 11039 - var0.packetBuffer.writeByte(0); // L: 11040 - Client.packetWriter.addNode(var0); // L: 11041 - } // L: 11042 + @ObfuscatedName("o") + @Export("BZip2Decompressor_block") + static int[] BZip2Decompressor_block; + @ObfuscatedName("n") + final int field3779 = 4096; + @ObfuscatedName("v") + final int field3761 = 16; + @ObfuscatedName("d") + final int field3759 = 258; + @ObfuscatedName("c") + final int field3758 = 6; + @ObfuscatedName("y") + final int field3782 = 50; + @ObfuscatedName("h") + final int field3762 = 18002; + @ObfuscatedName("z") + @Export("inputArray") + byte[] inputArray; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1653811455 + ) + @Export("nextByte") + int nextByte = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -392129599 + ) + @Export("nextBit_unused") + int nextBit_unused; + @ObfuscatedName("l") + @Export("outputArray") + byte[] outputArray; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -588771909 + ) + @Export("next_out") + int next_out = 0; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1459583845 + ) + @Export("outputLength") + int outputLength; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1081351471 + ) + int field3760; + @ObfuscatedName("w") + @Export("out_char") + byte out_char; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1567479605 + ) + @Export("su_rNToGo") + int su_rNToGo; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1589512339 + ) + @Export("bsBuff") + int bsBuff; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -113350235 + ) + @Export("bsLive") + int bsLive; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -635399168 + ) + @Export("blockSize100k") + int blockSize100k; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1608445671 + ) + @Export("originalPointer") + int originalPointer; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 1888817527 + ) + int field3776; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 2102774435 + ) + @Export("su_ch2") + int su_ch2; + @ObfuscatedName("p") + @Export("unzftab") + int[] unzftab = new int[256]; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -305344593 + ) + @Export("nblocks_used") + int nblocks_used; + @ObfuscatedName("r") + @Export("cftab") + int[] cftab = new int[257]; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 471183687 + ) + @Export("nInUse") + int nInUse; + @ObfuscatedName("ay") + @Export("inUse") + boolean[] inUse = new boolean[256]; + @ObfuscatedName("am") + @Export("inUse16") + boolean[] inUse16 = new boolean[16]; + @ObfuscatedName("ag") + @Export("seqToUnseq") + byte[] seqToUnseq = new byte[256]; + @ObfuscatedName("ae") + @Export("ll8") + byte[] ll8 = new byte[4096]; + @ObfuscatedName("ac") + @Export("getAndMoveToFrontDecode_yy") + int[] getAndMoveToFrontDecode_yy = new int[16]; + @ObfuscatedName("aq") + @Export("selector") + byte[] selector = new byte[18002]; + @ObfuscatedName("at") + @Export("selectorMtf") + byte[] selectorMtf = new byte[18002]; + @ObfuscatedName("ak") + @Export("temp_charArray2d") + byte[][] temp_charArray2d = new byte[6][258]; + @ObfuscatedName("ax") + @Export("limit") + int[][] limit = new int[6][258]; + @ObfuscatedName("ar") + @Export("base") + int[][] base = new int[6][258]; + @ObfuscatedName("al") + @Export("perm") + int[][] perm = new int[6][258]; + @ObfuscatedName("aa") + @Export("minLens") + int[] minLens = new int[6]; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -255221635 + ) + int field3769; } diff --git a/runescape-client/src/main/java/BoundaryObject.java b/runescape-client/src/main/java/BoundaryObject.java index 252f63edac..ded226a5d0 100644 --- a/runescape-client/src/main/java/BoundaryObject.java +++ b/runescape-client/src/main/java/BoundaryObject.java @@ -4,123 +4,119 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ev") +@ObfuscatedName("ee") @Implements("BoundaryObject") public final class BoundaryObject { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 787394595 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1840852053 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1985466901 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -760967019 - ) - @Export("orientationA") - int orientationA; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1039727293 - ) - @Export("orientationB") - int orientationB; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity1") - public Renderable renderable1; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity2") - public Renderable renderable2; - @ObfuscatedName("p") - @ObfuscatedGetter( - longValue = 6107262315709824135L - ) - @Export("tag") - public long tag; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 582235775 - ) - @Export("flags") - int flags; + @ObfuscatedName("jn") + @ObfuscatedSignature( + descriptor = "Lda;" + ) + @Export("textureProvider") + static TextureProvider textureProvider; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1837784551 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 324986435 + ) + @Export("x") + int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 392241551 + ) + @Export("y") + int y; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1347087127 + ) + @Export("orientationA") + int orientationA; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1198661661 + ) + @Export("orientationB") + int orientationB; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable1") + public Renderable renderable1; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable2") + public Renderable renderable2; + @ObfuscatedName("e") + @ObfuscatedGetter( + longValue = -5322685038188485543L + ) + @Export("tag") + public long tag = 0L; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 898643669 + ) + @Export("flags") + int flags = 0; - BoundaryObject() { - this.tag = 0L; - this.flags = 0; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;IIB)[Lly;", + garbageValue = "0" + ) + public static IndexedSprite[] method3420(AbstractArchive var0, int var1, int var2) { + byte[] var4 = var0.takeFile(var1, var2); + boolean var3; + if (var4 == null) { + var3 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var4); + var3 = true; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "-2018740830" - ) - public static String method3343(CharSequence var0) { - int var1 = var0.length(); // L: 11 - StringBuilder var2 = new StringBuilder(var1); // L: 12 + if (!var3) { + return null; + } else { + IndexedSprite[] var5 = new IndexedSprite[class336.SpriteBuffer_spriteCount]; - for (int var3 = 0; var3 < var1; ++var3) { // L: 13 - char var4 = var0.charAt(var3); // L: 14 - if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { // L: 15 - if (var4 == ' ') { // L: 16 - var2.append('+'); - } else { - byte var5 = Varps.charToByteCp1252(var4); // L: 18 - var2.append('%'); // L: 19 - int var6 = var5 >> 4 & 15; // L: 20 - if (var6 >= 10) { // L: 21 - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); // L: 22 - } + for(int var6 = 0; var6 < class336.SpriteBuffer_spriteCount; ++var6) { + IndexedSprite var7 = var5[var6] = new IndexedSprite(); + var7.width = class336.SpriteBuffer_spriteWidth; + var7.height = class336.SpriteBuffer_spriteHeight; + var7.xOffset = class105.SpriteBuffer_xOffsets[var6]; + var7.yOffset = class336.SpriteBuffer_yOffsets[var6]; + var7.subWidth = class336.SpriteBuffer_spriteWidths[var6]; + var7.subHeight = class225.SpriteBuffer_spriteHeights[var6]; + var7.palette = HorizontalAlignment.SpriteBuffer_spritePalette; + var7.pixels = class2.SpriteBuffer_pixels[var6]; + } - var6 = var5 & 15; // L: 23 - if (var6 >= 10) { // L: 24 - var2.append((char)(var6 + 55)); - } else { - var2.append((char)(var6 + 48)); - } - } - } else { - var2.append(var4); - } - } + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + return var5; + } + } - return var2.toString(); // L: 28 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-57" - ) - public static boolean method3342(int var0) { - return var0 == WorldMapDecorationType.field2766.id; // L: 46 - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "14" - ) - public static boolean method3341(int var0) { - return (var0 >> 29 & 1) != 0; // L: 25 - } + @ObfuscatedName("gj") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "33" + ) + @Export("getWindowedMode") + static int getWindowedMode() { + return Client.isResizable ? 2 : 1; + } } diff --git a/runescape-client/src/main/java/Bounds.java b/runescape-client/src/main/java/Bounds.java index abcb2a631c..9ff2976d6c 100644 --- a/runescape-client/src/main/java/Bounds.java +++ b/runescape-client/src/main/java/Bounds.java @@ -4,146 +4,146 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lc") +@ObfuscatedName("li") @Implements("Bounds") public class Bounds { - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("Widget_fontsArchive") - public static AbstractArchive Widget_fontsArchive; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1090758865 - ) - @Export("lowX") - public int lowX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 518192471 - ) - @Export("lowY") - public int lowY; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 620953543 - ) - @Export("highX") - public int highX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1803324609 - ) - @Export("highY") - public int highY; + @ObfuscatedName("e") + @Export("ItemDefinition_inMembersWorld") + public static boolean ItemDefinition_inMembersWorld; + @ObfuscatedName("gs") + @Export("xteaKeys") + static int[][] xteaKeys; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1970300391 + ) + @Export("lowX") + public int lowX; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2105661203 + ) + @Export("lowY") + public int lowY; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1049215037 + ) + @Export("highX") + public int highX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1664972525 + ) + @Export("highY") + public int highY; - public Bounds(int var1, int var2, int var3, int var4) { - this.setLow(var1, var2); // L: 14 - this.setHigh(var3, var4); // L: 15 - } // L: 16 + public Bounds(int var1, int var2, int var3, int var4) { + this.setLow(var1, var2); + this.setHigh(var3, var4); + } - public Bounds(int var1, int var2) { - this(0, 0, var1, var2); // L: 10 - } // L: 11 + public Bounds(int var1, int var2) { + this(0, 0, var1, var2); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1764840928" - ) - @Export("setLow") - public void setLow(int var1, int var2) { - this.lowX = var1; // L: 19 - this.lowY = var2; // L: 20 - } // L: 21 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-91" + ) + @Export("setLow") + public void setLow(int var1, int var2) { + this.lowX = var1; + this.lowY = var2; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1587228886" - ) - @Export("setHigh") - public void setHigh(int var1, int var2) { - this.highX = var1; // L: 24 - this.highY = var2; // L: 25 - } // L: 26 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "82" + ) + @Export("setHigh") + public void setHigh(int var1, int var2) { + this.highX = var1; + this.highY = var2; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Llc;Llc;I)V", - garbageValue = "-769796699" - ) - public void method6014(Bounds var1, Bounds var2) { - this.method6015(var1, var2); // L: 33 - this.method6024(var1, var2); // L: 34 - } // L: 35 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lli;Lli;B)V", + garbageValue = "16" + ) + public void method6182(Bounds var1, Bounds var2) { + this.method6193(var1, var2); + this.method6179(var1, var2); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Llc;Llc;I)V", - garbageValue = "-1678302488" - ) - void method6015(Bounds var1, Bounds var2) { - var2.lowX = this.lowX; // L: 38 - var2.highX = this.highX; // L: 39 - if (this.lowX < var1.lowX) { // L: 40 - var2.highX = (var2.highX * 1575555575 - (var1.lowX * 1575555575 - this.lowX * 1575555575)) * 620953543; // L: 41 - var2.lowX = var1.lowX; // L: 42 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lli;Lli;I)V", + garbageValue = "102469843" + ) + void method6193(Bounds var1, Bounds var2) { + var2.lowX = this.lowX; + var2.highX = this.highX; + if (this.lowX < var1.lowX) { + var2.highX -= var1.lowX - this.lowX; + var2.lowX = var1.lowX; + } - if (var2.method6017() > var1.method6017()) { // L: 44 - var2.highX -= var2.method6017() - var1.method6017(); // L: 45 - } + if (var2.method6185() > var1.method6185()) { + var2.highX -= var2.method6185() - var1.method6185(); + } - if (var2.highX < 0) { // L: 47 - var2.highX = 0; - } + if (var2.highX < 0) { + var2.highX = 0; + } - } // L: 48 + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Llc;Llc;I)V", - garbageValue = "394854704" - ) - void method6024(Bounds var1, Bounds var2) { - var2.lowY = this.lowY; // L: 51 - var2.highY = this.highY; // L: 52 - if (this.lowY < var1.lowY) { // L: 53 - var2.highY = (var2.highY * 1547305793 - (var1.lowY * 1547305793 - this.lowY * 1547305793)) * 1803324609; // L: 54 - var2.lowY = var1.lowY; // L: 55 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lli;Lli;I)V", + garbageValue = "1821841742" + ) + void method6179(Bounds var1, Bounds var2) { + var2.lowY = this.lowY; + var2.highY = this.highY; + if (this.lowY < var1.lowY) { + var2.highY -= var1.lowY - this.lowY; + var2.lowY = var1.lowY; + } - if (var2.method6018() > var1.method6018()) { // L: 57 - var2.highY -= var2.method6018() - var1.method6018(); // L: 58 - } + if (var2.method6186() > var1.method6186()) { + var2.highY -= var2.method6186() - var1.method6186(); + } - if (var2.highY < 0) { // L: 60 - var2.highY = 0; - } + if (var2.highY < 0) { + var2.highY = 0; + } - } // L: 61 + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1901002144" - ) - int method6017() { - return this.highX + this.lowX; // L: 64 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "16777215" + ) + int method6185() { + return this.highX + this.lowX; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "924077669" - ) - int method6018() { - return this.lowY + this.highY; // L: 68 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "57" + ) + int method6186() { + return this.highY + this.lowY; + } - public String toString() { - return null; // L: 29 - } + public String toString() { + return null; + } } diff --git a/runescape-client/src/main/java/Buddy.java b/runescape-client/src/main/java/Buddy.java index 7e74ec5005..eb5eb958d8 100644 --- a/runescape-client/src/main/java/Buddy.java +++ b/runescape-client/src/main/java/Buddy.java @@ -4,60 +4,56 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kz") +@ObfuscatedName("ky") @Implements("Buddy") public class Buddy extends User { - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1856185425 - ) - @Export("world") - public int world; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 503110863 - ) - @Export("int2") - public int int2; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 368633443 - ) - @Export("rank") - public int rank; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1026270323 + ) + @Export("world") + public int world = -1; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 975938315 + ) + @Export("int2") + public int int2; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1192937939 + ) + @Export("rank") + public int rank; - Buddy() { - this.world = -1; // L: 4 - } // L: 8 + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "741820969" + ) + @Export("set") + void set(int var1, int var2) { + this.world = var1; + this.int2 = var2; + } - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1333742475" - ) - @Export("set") - void set(int var1, int var2) { - this.world = var1; // L: 11 - this.int2 = var2; // L: 12 - } // L: 13 + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-50" + ) + @Export("getWorld") + public int getWorld() { + return this.world; + } - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1196815789" - ) - @Export("getWorld") - public int getWorld() { - return this.world; // L: 16 - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "323903236" - ) - @Export("hasWorld") - public boolean hasWorld() { - return this.world > 0; // L: 20 - } + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "292513341" + ) + @Export("hasWorld") + public boolean hasWorld() { + return this.world > 0; + } } diff --git a/runescape-client/src/main/java/BuddyRankComparator.java b/runescape-client/src/main/java/BuddyRankComparator.java index 0364fde8c1..0b8b777212 100644 --- a/runescape-client/src/main/java/BuddyRankComparator.java +++ b/runescape-client/src/main/java/BuddyRankComparator.java @@ -2,82 +2,118 @@ 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("fm") +@ObfuscatedName("fy") @Implements("BuddyRankComparator") public class BuddyRankComparator extends AbstractUserComparator { - @ObfuscatedName("da") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive7") - static Archive archive7; - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public BuddyRankComparator(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public BuddyRankComparator(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "1171495407" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var2.rank != var1.rank) { // L: 14 - return this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank; // L: 15 - } else { - return this.compareUser(var1, var2); // L: 17 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;B)I", + garbageValue = "-42" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var2.rank != var1.rank) { + return this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank; + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 21 - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("ih") - @ObfuscatedSignature( - descriptor = "(IIS)V", - garbageValue = "9125" - ) - static void method3522(int var0, int var1) { - int var2 = GrandExchangeOfferTotalQuantityComparator.fontBold12.stringWidth("Choose Option"); // L: 7440 + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "1" + ) + static int method3622(int var0, Script var1, boolean var2) { + Widget var6; + if (var0 != ScriptOpcodes.CC_CALLONRESIZE && var0 != ScriptOpcodes.IF_CALLONRESIZE) { + int var4; + if (var0 == 1928) { + var6 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var4 >= 1 && var4 <= 10) { + ApproximateRouteStrategy.widgetDefaultMenuAction(var4, var6.id, var6.childIndex, var6.itemId, ""); + return 1; + } else { + throw new RuntimeException(); + } + } else if (var0 == 2928) { + Interpreter.Interpreter_intStackSize -= 3; + int var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (var5 >= 1 && var5 <= 10) { + ApproximateRouteStrategy.widgetDefaultMenuAction(var5, var3, var4, class237.getWidget(var3).itemId, ""); + return 1; + } else { + throw new RuntimeException(); + } + } else { + return 2; + } + } else if (Interpreter.field1123 >= 10) { + throw new RuntimeException(); + } else { + if (var0 >= 2000) { + var6 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var6 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } - int var3; - int var4; - for (var3 = 0; var3 < Client.menuOptionsCount; ++var3) { // L: 7441 - var4 = GrandExchangeOfferTotalQuantityComparator.fontBold12.stringWidth(ArchiveLoader.method1230(var3)); // L: 7442 - if (var4 > var2) { // L: 7443 - var2 = var4; - } - } + if (var6.onResize == null) { + return 0; + } else { + ScriptEvent var7 = new ScriptEvent(); + var7.widget = var6; + var7.args = var6.onResize; + var7.field593 = Interpreter.field1123 + 1; + Client.scriptEvents.addFirst(var7); + return 1; + } + } + } - var2 += 8; // L: 7445 - var3 = Client.menuOptionsCount * 15 + 22; // L: 7446 - var4 = var0 - var2 / 2; // L: 7447 - if (var2 + var4 > IgnoreList.canvasWidth) { // L: 7448 - var4 = IgnoreList.canvasWidth - var2; - } - - if (var4 < 0) { // L: 7449 - var4 = 0; - } - - int var5 = var1; // L: 7450 - if (var3 + var1 > ModelData0.canvasHeight) { // L: 7451 - var5 = ModelData0.canvasHeight - var3; - } - - if (var5 < 0) { // L: 7452 - var5 = 0; - } - - AbstractUserComparator.menuX = var4; // L: 7453 - DynamicObject.menuY = var5; // L: 7454 - Occluder.menuWidth = var2; // L: 7455 - class182.menuHeight = Client.menuOptionsCount * 15 + 22; // L: 7456 - } // L: 7457 + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-866624945" + ) + static int method3621(int var0, Script var1, boolean var2) { + Widget var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.x; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.y; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.width; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.height; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETHIDE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETLAYER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.parentId; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Buffer.java b/runescape-client/src/main/java/Buffer.java index 3672f23a09..f591111887 100644 --- a/runescape-client/src/main/java/Buffer.java +++ b/runescape-client/src/main/java/Buffer.java @@ -5,1040 +5,1016 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kj") +@ObfuscatedName("kx") @Implements("Buffer") public class Buffer extends Node { - @ObfuscatedName("p") - @Export("crc32Table") - static int[] crc32Table; - @ObfuscatedName("z") - @Export("crc64Table") - static long[] crc64Table; - @ObfuscatedName("j") - @Export("array") - public byte[] array; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -889542651 - ) - @Export("offset") - public int offset; - - static { - crc32Table = new int[256]; // L: 14 - - int var2; - for (int var1 = 0; var1 < 256; ++var1) { // L: 19 - int var4 = var1; // L: 20 - - for (var2 = 0; var2 < 8; ++var2) { // L: 21 - if ((var4 & 1) == 1) { // L: 22 - var4 = var4 >>> 1 ^ -306674912; - } else { - var4 >>>= 1; // L: 23 - } - } - - crc32Table[var1] = var4; // L: 25 - } - - crc64Table = new long[256]; // L: 29 - - for (var2 = 0; var2 < 256; ++var2) { // L: 34 - long var0 = (long)var2; // L: 35 - - for (int var3 = 0; var3 < 8; ++var3) { // L: 36 - if ((var0 & 1L) == 1L) { // L: 37 - var0 = var0 >>> 1 ^ -3932672073523589310L; - } else { - var0 >>>= 1; // L: 38 - } - } - - crc64Table[var2] = var0; // L: 40 - } - - } // L: 42 - - public Buffer(int var1) { - this.array = class25.ByteArrayPool_getArray(var1); // L: 58 - this.offset = 0; // L: 59 - } // L: 60 - - public Buffer(byte[] var1) { - this.array = var1; // L: 63 - this.offset = 0; // L: 64 - } // L: 65 - - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "118" - ) - @Export("releaseArray") - public void releaseArray() { - if (this.array != null) { // L: 68 - Tile.ByteArrayPool_release(this.array); - } - - this.array = null; // L: 69 - } // L: 70 - - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-124" - ) - @Export("writeByte") - public void writeByte(int var1) { - this.array[++this.offset - 1] = (byte)var1; // L: 73 - } // L: 74 - - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-96" - ) - @Export("writeShort") - public void writeShort(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 77 - this.array[++this.offset - 1] = (byte)var1; // L: 78 - } // L: 79 - - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "1" - ) - @Export("writeMedium") - public void writeMedium(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 82 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 83 - this.array[++this.offset - 1] = (byte)var1; // L: 84 - } // L: 85 - - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-37" - ) - @Export("writeInt") - public void writeInt(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 24); // L: 88 - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 89 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 90 - this.array[++this.offset - 1] = (byte)var1; // L: 91 - } // L: 92 - - @ObfuscatedName("af") - @Export("writeLongMedium") - public void writeLongMedium(long var1) { - this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); // L: 95 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); // L: 96 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); // L: 97 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); // L: 98 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); // L: 99 - this.array[++this.offset - 1] = (byte)((int)var1); // L: 100 - } // L: 101 - - @ObfuscatedName("ar") - @Export("writeLong") - public void writeLong(long var1) { - this.array[++this.offset - 1] = (byte)((int)(var1 >> 56)); // L: 104 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 48)); // L: 105 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); // L: 106 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); // L: 107 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); // L: 108 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); // L: 109 - this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); // L: 110 - this.array[++this.offset - 1] = (byte)((int)var1); // L: 111 - } // L: 112 - - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "115" - ) - @Export("writeBoolean") - public void writeBoolean(boolean var1) { - this.writeByte(var1 ? 1 : 0); // L: 115 - } // L: 116 - - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1748540705" - ) - @Export("writeStringCp1252NullTerminated") - public void writeStringCp1252NullTerminated(String var1) { - int var2 = var1.indexOf(0); // L: 123 - if (var2 >= 0) { // L: 124 - throw new IllegalArgumentException(""); - } else { - this.offset += WorldMapManager.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); // L: 125 - this.array[++this.offset - 1] = 0; // L: 126 - } - } // L: 127 - - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "1" - ) - @Export("writeStringCp1252NullCircumfixed") - public void writeStringCp1252NullCircumfixed(String var1) { - int var2 = var1.indexOf(0); // L: 134 - if (var2 >= 0) { // L: 135 - throw new IllegalArgumentException(""); - } else { - this.array[++this.offset - 1] = 0; // L: 136 - this.offset += WorldMapManager.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); // L: 137 - this.array[++this.offset - 1] = 0; // L: 138 - } - } // L: 139 - - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)V", - garbageValue = "707162171" - ) - @Export("writeCESU8") - public void writeCESU8(CharSequence var1) { - int var2 = UserComparator5.method3500(var1); // L: 142 - this.array[++this.offset - 1] = 0; // L: 143 - this.writeVarInt(var2); // L: 144 - int var3 = this.offset * -1182276403; // L: 145 - byte[] var5 = this.array; // L: 147 - int var6 = this.offset; // L: 148 - int var7 = var1.length(); // L: 150 - int var8 = var6; // L: 151 - - for (int var9 = 0; var9 < var7; ++var9) { // L: 152 - char var10 = var1.charAt(var9); // L: 153 - if (var10 <= 127) { // L: 154 - var5[var8++] = (byte)var10; // L: 155 - } else if (var10 <= 2047) { // L: 157 - var5[var8++] = (byte)(192 | var10 >> 6); // L: 158 - var5[var8++] = (byte)(128 | var10 & '?'); // L: 159 - } else { - var5[var8++] = (byte)(224 | var10 >> '\f'); // L: 162 - var5[var8++] = (byte)(128 | var10 >> 6 & 63); // L: 163 - var5[var8++] = (byte)(128 | var10 & '?'); // L: 164 - } - } - - int var4 = var8 - var6; // L: 167 - this.offset = (var3 + var4 * -1182276403) * -889542651; // L: 169 - } // L: 170 - - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "1585895405" - ) - @Export("writeBytes") - public void writeBytes(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { // L: 173 - this.array[++this.offset - 1] = var1[var4]; - } - - } // L: 174 - - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-1843609104" - ) - public void method5536(Buffer var1) { - this.writeBytes(var1.array, 0, var1.offset); // L: 177 - } // L: 178 - - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1998350841" - ) - @Export("writeLengthInt") - public void writeLengthInt(int var1) { - if (var1 < 0) { // L: 181 - throw new IllegalArgumentException(); // L: 182 - } else { - this.array[this.offset - var1 - 4] = (byte)(var1 >> 24); // L: 184 - this.array[this.offset - var1 - 3] = (byte)(var1 >> 16); // L: 185 - this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); // L: 186 - this.array[this.offset - var1 - 1] = (byte)var1; // L: 187 - } - } // L: 188 - - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-50" - ) - @Export("writeLengthShort") - public void writeLengthShort(int var1) { - if (var1 >= 0 && var1 <= 65535) { // L: 191 - this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); // L: 194 - this.array[this.offset - var1 - 1] = (byte)var1; // L: 195 - } else { - throw new IllegalArgumentException(); // L: 192 - } - } // L: 196 - - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1378695030" - ) - @Export("writeLengthByte") - public void writeLengthByte(int var1) { - if (var1 >= 0 && var1 <= 255) { // L: 199 - this.array[this.offset - var1 - 1] = (byte)var1; // L: 202 - } else { - throw new IllegalArgumentException(); // L: 200 - } - } // L: 203 - - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "2062071032" - ) - @Export("writeSmartByteShort") - public void writeSmartByteShort(int var1) { - if (var1 >= 0 && var1 < 128) { // L: 206 - this.writeByte(var1); // L: 207 - } else if (var1 >= 0 && var1 < 32768) { // L: 210 - this.writeShort(var1 + 32768); // L: 211 - } else { - throw new IllegalArgumentException(); // L: 214 - } - } // L: 208 212 - - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1932364447" - ) - @Export("writeVarInt") - public void writeVarInt(int var1) { - if ((var1 & -128) != 0) { // L: 218 - if ((var1 & -16384) != 0) { // L: 219 - if ((var1 & -2097152) != 0) { // L: 220 - if ((var1 & -268435456) != 0) { // L: 221 - this.writeByte(var1 >>> 28 | 128); - } - - this.writeByte(var1 >>> 21 | 128); // L: 222 - } - - this.writeByte(var1 >>> 14 | 128); // L: 224 - } - - this.writeByte(var1 >>> 7 | 128); // L: 226 - } - - this.writeByte(var1 & 127); // L: 228 - } // L: 229 - - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-35" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() { - return this.array[++this.offset - 1] & 255; // L: 232 - } - - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "(B)B", - garbageValue = "0" - ) - @Export("readByte") - public byte readByte() { - return this.array[++this.offset - 1]; // L: 236 - } - - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1104623987" - ) - @Export("readUnsignedShort") - public int readUnsignedShort() { - this.offset += 2; // L: 240 - return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); // L: 241 - } - - @ObfuscatedName("bw") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "6226" - ) - @Export("readShort") - public int readShort() { - this.offset += 2; // L: 245 - int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); // L: 246 - if (var1 > 32767) { // L: 247 - var1 -= 65536; - } - - return var1; // L: 248 - } - - @ObfuscatedName("bo") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "239" - ) - @Export("readMedium") - public int readMedium() { - this.offset += 3; // L: 252 - return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); // L: 253 - } - - @ObfuscatedName("bj") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "111775970" - ) - @Export("readInt") - public int readInt() { - this.offset += 4; // L: 257 - return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24); // L: 258 - } - - @ObfuscatedName("bu") - @ObfuscatedSignature( - descriptor = "(I)J", - garbageValue = "-1452316601" - ) - @Export("readLong") - public long readLong() { - long var1 = (long)this.readInt() & 4294967295L; // L: 262 - long var3 = (long)this.readInt() & 4294967295L; // L: 263 - return var3 + (var1 << 32); // L: 264 - } - - @ObfuscatedName("bt") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1305798677" - ) - @Export("readBoolean") - public boolean readBoolean() { - return (this.readUnsignedByte() & 1) == 1; // L: 268 - } - - @ObfuscatedName("bb") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "186780327" - ) - @Export("readStringCp1252NullTerminatedOrNull") - public String readStringCp1252NullTerminatedOrNull() { - if (this.array[this.offset] == 0) { // L: 272 - ++this.offset; // L: 273 - return null; // L: 274 - } else { - return this.readStringCp1252NullTerminated(); // L: 276 - } - } - - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "1398193536" - ) - @Export("readStringCp1252NullTerminated") - public String readStringCp1252NullTerminated() { - int var1 = this.offset; // L: 280 - - while (this.array[++this.offset - 1] != 0) { // L: 281 - } - - int var2 = this.offset - var1 - 1; // L: 282 - return var2 == 0 ? "" : Clock.decodeStringCp1252(this.array, var1, var2); // L: 283 284 - } - - @ObfuscatedName("bg") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-519852136" - ) - @Export("readStringCp1252NullCircumfixed") - public String readStringCp1252NullCircumfixed() { - byte var1 = this.array[++this.offset - 1]; // L: 288 - if (var1 != 0) { // L: 289 - throw new IllegalStateException(""); - } else { - int var2 = this.offset; // L: 290 - - while (this.array[++this.offset - 1] != 0) { // L: 291 - } - - int var3 = this.offset - var2 - 1; // L: 292 - return var3 == 0 ? "" : Clock.decodeStringCp1252(this.array, var2, var3); // L: 293 294 - } - } - - @ObfuscatedName("ba") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "-33" - ) - @Export("readCESU8") - public String readCESU8() { - byte var1 = this.array[++this.offset - 1]; // L: 298 - if (var1 != 0) { // L: 299 - throw new IllegalStateException(""); - } else { - int var2 = this.readVarInt(); // L: 300 - if (var2 + this.offset > this.array.length) { - throw new IllegalStateException(""); // L: 301 - } else { - String var3 = class39.method591(this.array, this.offset, var2); // L: 302 - this.offset += var2; // L: 303 - return var3; // L: 304 - } - } - } - - @ObfuscatedName("bq") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "1075075180" - ) - @Export("readBytes") - public void readBytes(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - var1[var4] = this.array[++this.offset - 1]; // L: 308 - } - - } // L: 309 - - @ObfuscatedName("be") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "130333316" - ) - @Export("readShortSmart") - public int readShortSmart() { - int var1 = this.array[this.offset] & 255; // L: 312 - return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - 49152; // L: 313 314 - } - - @ObfuscatedName("bp") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "772809583" - ) - @Export("readUShortSmart") - public int readUShortSmart() { - int var1 = this.array[this.offset] & 255; // L: 318 - return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - 32768; // L: 319 320 - } - - @ObfuscatedName("cx") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-561534600" - ) - public int method5557() { - int var1 = 0; // L: 324 - - int var2; - for (var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { // L: 325 326 328 - var1 += 32767; // L: 327 - } - - var1 += var2; // L: 330 - return var1; // L: 331 - } - - @ObfuscatedName("ci") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "661695765" - ) - public int method5558() { - return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); // L: 335 336 - } - - @ObfuscatedName("cj") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "1005" - ) - public int method5559() { - if (this.array[this.offset] < 0) { // L: 340 - return this.readInt() & Integer.MAX_VALUE; - } else { - int var1 = this.readUnsignedShort(); // L: 341 - return var1 == 32767 ? -1 : var1; // L: 342 - } - } - - @ObfuscatedName("ca") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-120" - ) - @Export("readVarInt") - public int readVarInt() { - byte var1 = this.array[++this.offset - 1]; // L: 347 - - int var2; - for (var2 = 0; var1 < 0; var1 = this.array[++this.offset - 1]) { // L: 348 349 351 - var2 = (var2 | var1 & 127) << 7; // L: 350 - } - - return var2 | var1; // L: 353 - } - - @ObfuscatedName("cd") - @ObfuscatedSignature( - descriptor = "([IB)V", - garbageValue = "0" - ) - @Export("xteaEncryptAll") - public void xteaEncryptAll(int[] var1) { - int var2 = this.offset / 8; // L: 357 - this.offset = 0; // L: 358 - - for (int var3 = 0; var3 < var2; ++var3) { // L: 359 - int var4 = this.readInt(); // L: 360 - int var5 = this.readInt(); // L: 361 - int var6 = 0; // L: 362 - int var7 = -1640531527; // L: 363 - - for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) { // L: 364 365 368 - var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]; // L: 366 - var6 += var7; // L: 367 - } - - this.offset -= 8; // L: 370 - this.writeInt(var4); // L: 371 - this.writeInt(var5); // L: 372 - } - - } // L: 374 - - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "([II)V", - garbageValue = "847845555" - ) - @Export("xteaDecryptAll") - public void xteaDecryptAll(int[] var1) { - int var2 = this.offset / 8; // L: 377 - this.offset = 0; // L: 378 - - for (int var3 = 0; var3 < var2; ++var3) { // L: 379 - int var4 = this.readInt(); // L: 380 - int var5 = this.readInt(); // L: 381 - int var6 = -957401312; // L: 382 - int var7 = -1640531527; // L: 383 - - for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) { // L: 384 385 388 - var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6; // L: 386 - var6 -= var7; // L: 387 - } - - this.offset -= 8; // L: 390 - this.writeInt(var4); // L: 391 - this.writeInt(var5); // L: 392 - } - - } // L: 394 - - @ObfuscatedName("cz") - @ObfuscatedSignature( - descriptor = "([IIII)V", - garbageValue = "-362295115" - ) - @Export("xteaEncrypt") - public void xteaEncrypt(int[] var1, int var2, int var3) { - int var4 = this.offset; // L: 397 - this.offset = var2; // L: 398 - int var5 = (var3 - var2) / 8; // L: 399 - - for (int var6 = 0; var6 < var5; ++var6) { // L: 400 - int var7 = this.readInt(); // L: 401 - int var8 = this.readInt(); // L: 402 - int var9 = 0; // L: 403 - int var10 = -1640531527; // L: 404 - - for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) { // L: 405 406 409 - var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]; // L: 407 - var9 += var10; // L: 408 - } - - this.offset -= 8; // L: 411 - this.writeInt(var7); // L: 412 - this.writeInt(var8); // L: 413 - } - - this.offset = var4; // L: 415 - } // L: 416 - - @ObfuscatedName("cc") - @ObfuscatedSignature( - descriptor = "([IIII)V", - garbageValue = "-1521995814" - ) - @Export("xteaDecrypt") - public void xteaDecrypt(int[] var1, int var2, int var3) { - int var4 = this.offset; // L: 419 - this.offset = var2; // L: 420 - int var5 = (var3 - var2) / 8; // L: 421 - - for (int var6 = 0; var6 < var5; ++var6) { // L: 422 - int var7 = this.readInt(); // L: 423 - int var8 = this.readInt(); // L: 424 - int var9 = -957401312; // L: 425 - int var10 = -1640531527; // L: 426 - - for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) { // L: 427 428 431 - var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9; // L: 429 - var9 -= var10; // L: 430 - } - - this.offset -= 8; // L: 433 - this.writeInt(var7); // L: 434 - this.writeInt(var8); // L: 435 - } - - this.offset = var4; // L: 437 - } // L: 438 - - @ObfuscatedName("ce") - @ObfuscatedSignature( - descriptor = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", - garbageValue = "-1385542565" - ) - @Export("encryptRsa") - public void encryptRsa(BigInteger var1, BigInteger var2) { - int var3 = this.offset; // L: 441 - this.offset = 0; // L: 442 - byte[] var4 = new byte[var3]; // L: 443 - this.readBytes(var4, 0, var3); // L: 444 - BigInteger var5 = new BigInteger(var4); // L: 445 - BigInteger var6 = var5.modPow(var1, var2); // L: 446 - byte[] var7 = var6.toByteArray(); // L: 447 - this.offset = 0; // L: 448 - this.writeShort(var7.length); // L: 449 - this.writeBytes(var7, 0, var7.length); // L: 450 - } // L: 451 - - @ObfuscatedName("cb") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "1467040648" - ) - @Export("writeCrc") - public int writeCrc(int var1) { - int var2 = WorldMapRectangle.method334(this.array, var1, this.offset); // L: 454 - this.writeInt(var2); // L: 455 - return var2; // L: 456 - } - - @ObfuscatedName("cf") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-340939132" - ) - @Export("checkCrc") - public boolean checkCrc() { - this.offset -= 4; // L: 460 - int var1 = WorldMapRectangle.method334(this.array, 0, this.offset); // L: 461 - int var2 = this.readInt(); // L: 462 - return var2 == var1; // L: 463 - } - - @ObfuscatedName("cr") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1712020733" - ) - public void method5568(int var1) { - this.array[++this.offset - 1] = (byte)(var1 + 128); // L: 468 - } // L: 469 - - @ObfuscatedName("ch") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "859798564" - ) - public void method5569(int var1) { - this.array[++this.offset - 1] = (byte)(0 - var1); // L: 472 - } // L: 473 - - @ObfuscatedName("cq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1493586164" - ) - @Export("writeIntME") - public void writeIntME(int var1) { - this.array[++this.offset - 1] = (byte)(128 - var1); // L: 476 - } // L: 477 - - @ObfuscatedName("cl") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-512224346" - ) - public int method5571() { - return this.array[++this.offset - 1] - 128 & 255; // L: 480 - } - - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1946834755" - ) - public int method5572() { - return 0 - this.array[++this.offset - 1] & 255; // L: 484 - } - - @ObfuscatedName("cp") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-50" - ) - public int method5573() { - return 128 - this.array[++this.offset - 1] & 255; // L: 488 - } - - @ObfuscatedName("cu") - @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "-498797750" - ) - public byte method5645() { - return (byte)(this.array[++this.offset - 1] - 128); // L: 492 - } - - @ObfuscatedName("ct") - @ObfuscatedSignature( - descriptor = "(B)B", - garbageValue = "4" - ) - public byte method5661() { - return (byte)(0 - this.array[++this.offset - 1]); // L: 496 - } - - @ObfuscatedName("ck") - @ObfuscatedSignature( - descriptor = "(I)B", - garbageValue = "1416440254" - ) - public byte method5665() { - return (byte)(128 - this.array[++this.offset - 1]); // L: 500 - } - - @ObfuscatedName("cy") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "505043972" - ) - public void method5739(int var1) { - this.array[++this.offset - 1] = (byte)var1; // L: 504 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 505 - } // L: 506 - - @ObfuscatedName("cg") - @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "-17430" - ) - public void method5578(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 509 - this.array[++this.offset - 1] = (byte)(var1 + 128); // L: 510 - } // L: 511 - - @ObfuscatedName("cv") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1133202553" - ) - @Export("writeShortLE") - public void writeShortLE(int var1) { - this.array[++this.offset - 1] = (byte)(var1 + 128); // L: 514 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 515 - } // L: 516 - - @ObfuscatedName("cs") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1856185425" - ) - public int method5580() { - this.offset += 2; // L: 519 - return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); // L: 520 - } - - @ObfuscatedName("cn") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1597569596" - ) - public int method5539() { - this.offset += 2; // L: 524 - return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); // L: 525 - } - - @ObfuscatedName("co") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "468907616" - ) - public int method5582() { - this.offset += 2; // L: 529 - return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); // L: 530 - } - - @ObfuscatedName("dh") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "12" - ) - public int method5583() { - this.offset += 2; // L: 534 - int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); // L: 535 - if (var1 > 32767) { // L: 536 - var1 -= 65536; - } - - return var1; // L: 537 - } - - @ObfuscatedName("dl") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "581527575" - ) - public int method5584() { - this.offset += 2; // L: 541 - int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); // L: 542 - if (var1 > 32767) { // L: 543 - var1 -= 65536; - } - - return var1; // L: 544 - } - - @ObfuscatedName("du") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1773890421" - ) - public void method5585(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 548 - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 549 - this.array[++this.offset - 1] = (byte)var1; // L: 550 - } // L: 551 - - @ObfuscatedName("de") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1643414296" - ) - public int method5586() { - this.offset += 3; // L: 554 - return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 2] & 255); // L: 555 - } - - @ObfuscatedName("dw") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-3" - ) - public void method5587(int var1) { - this.array[++this.offset - 1] = (byte)var1; // L: 559 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 560 - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 561 - this.array[++this.offset - 1] = (byte)(var1 >> 24); // L: 562 - } // L: 563 - - @ObfuscatedName("db") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "0" - ) - public void method5588(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 566 - this.array[++this.offset - 1] = (byte)var1; // L: 567 - this.array[++this.offset - 1] = (byte)(var1 >> 24); // L: 568 - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 569 - } // L: 570 - - @ObfuscatedName("dq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "570132050" - ) - public void method5718(int var1) { - this.array[++this.offset - 1] = (byte)(var1 >> 16); // L: 573 - this.array[++this.offset - 1] = (byte)(var1 >> 24); // L: 574 - this.array[++this.offset - 1] = (byte)var1; // L: 575 - this.array[++this.offset - 1] = (byte)(var1 >> 8); // L: 576 - } // L: 577 - - @ObfuscatedName("dx") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-380994417" - ) - public int method5643() { - this.offset += 4; // L: 580 - return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24); // L: 581 - } - - @ObfuscatedName("df") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "4556" - ) - public int method5591() { - this.offset += 4; // L: 585 - return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16); // L: 586 - } - - @ObfuscatedName("dm") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-554811296" - ) - public int method5592() { - this.offset += 4; // L: 590 - return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24); // L: 591 - } - - @ObfuscatedName("dp") - @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "15" - ) - public void method5593(byte[] var1, int var2, int var3) { - for (int var4 = var3 + var2 - 1; var4 >= var2; --var4) { // L: 595 - var1[var4] = this.array[++this.offset - 1]; - } - - } // L: 596 - - @ObfuscatedName("dr") - @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "-110" - ) - public void method5733(byte[] var1, int var2, int var3) { - for (int var4 = var2; var4 < var3 + var2; ++var4) { - var1[var4] = (byte)(this.array[++this.offset - 1] - 128); // L: 599 - } - - } // L: 600 + @ObfuscatedName("e") + @Export("crc32Table") + static int[] crc32Table = new int[256]; + @ObfuscatedName("l") + @Export("crc64Table") + static long[] crc64Table; + @ObfuscatedName("h") + @Export("array") + public byte[] array; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1025364431 + ) + @Export("offset") + public int offset; + + static { + int var2; + for(int var1 = 0; var1 < 256; ++var1) { + int var4 = var1; + + for(var2 = 0; var2 < 8; ++var2) { + if ((var4 & 1) == 1) { + var4 = var4 >>> 1 ^ -306674912; + } else { + var4 >>>= 1; + } + } + + crc32Table[var1] = var4; + } + + crc64Table = new long[256]; + + for(var2 = 0; var2 < 256; ++var2) { + long var0 = (long)var2; + + for(int var3 = 0; var3 < 8; ++var3) { + if ((var0 & 1L) == 1L) { + var0 = var0 >>> 1 ^ -3932672073523589310L; + } else { + var0 >>>= 1; + } + } + + crc64Table[var2] = var0; + } + + } + + public Buffer(int var1) { + this.array = class23.ByteArrayPool_getArray(var1); + this.offset = 0; + } + + public Buffer(byte[] var1) { + this.array = var1; + this.offset = 0; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1006665451" + ) + @Export("releaseArray") + public void releaseArray() { + if (this.array != null) { + GrandExchangeOfferWorldComparator.ByteArrayPool_release(this.array); + } + + this.array = null; + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-725228990" + ) + @Export("writeByte") + public void writeByte(int var1) { + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-631854152" + ) + @Export("writeShort") + public void writeShort(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1328174191" + ) + @Export("writeMedium") + public void writeMedium(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1001765065" + ) + @Export("writeInt") + public void writeInt(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + } + + @ObfuscatedName("bj") + @Export("writeLongMedium") + public void writeLongMedium(long var1) { + this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); + this.array[++this.offset - 1] = (byte)((int)var1); + } + + @ObfuscatedName("bn") + @Export("writeLong") + public void writeLong(long var1) { + this.array[++this.offset - 1] = (byte)((int)(var1 >> 56)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 48)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 40)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 32)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 24)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 16)); + this.array[++this.offset - 1] = (byte)((int)(var1 >> 8)); + this.array[++this.offset - 1] = (byte)((int)var1); + } + + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "(ZB)V", + garbageValue = "73" + ) + @Export("writeBoolean") + public void writeBoolean(boolean var1) { + this.writeByte(var1 ? 1 : 0); + } + + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "1281175721" + ) + @Export("writeStringCp1252NullTerminated") + public void writeStringCp1252NullTerminated(String var1) { + int var2 = var1.indexOf(0); + if (var2 >= 0) { + throw new IllegalArgumentException(""); + } else { + this.offset += ObjectComposition.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-2045020739" + ) + @Export("writeStringCp1252NullCircumfixed") + public void writeStringCp1252NullCircumfixed(String var1) { + int var2 = var1.indexOf(0); + if (var2 >= 0) { + throw new IllegalArgumentException(""); + } else { + this.array[++this.offset - 1] = 0; + this.offset += ObjectComposition.encodeStringCp1252(var1, 0, var1.length(), this.array, this.offset); + this.array[++this.offset - 1] = 0; + } + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)V", + garbageValue = "-507866074" + ) + @Export("writeCESU8") + public void writeCESU8(CharSequence var1) { + int var3 = var1.length(); + int var4 = 0; + + for(int var5 = 0; var5 < var3; ++var5) { + char var6 = var1.charAt(var5); + if (var6 <= 127) { + ++var4; + } else if (var6 <= 2047) { + var4 += 2; + } else { + var4 += 3; + } + } + + this.array[++this.offset - 1] = 0; + this.writeVarInt(var4); + this.offset += class277.method5192(this.array, this.offset, var1); + } + + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "-491759097" + ) + @Export("writeBytes") + public void writeBytes(byte[] var1, int var2, int var3) { + for(int var4 = var2; var4 < var3 + var2; ++var4) { + this.array[++this.offset - 1] = var1[var4]; + } + + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-891045829" + ) + public void method5683(Buffer var1) { + this.writeBytes(var1.array, 0, var1.offset); + } + + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1107107708" + ) + @Export("writeLengthInt") + public void writeLengthInt(int var1) { + if (var1 < 0) { + throw new IllegalArgumentException(); + } else { + this.array[this.offset - var1 - 4] = (byte)(var1 >> 24); + this.array[this.offset - var1 - 3] = (byte)(var1 >> 16); + this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); + this.array[this.offset - var1 - 1] = (byte)var1; + } + } + + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1934189526" + ) + @Export("writeLengthShort") + public void writeLengthShort(int var1) { + if (var1 >= 0 && var1 <= 65535) { + this.array[this.offset - var1 - 2] = (byte)(var1 >> 8); + this.array[this.offset - var1 - 1] = (byte)var1; + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-2132929022" + ) + @Export("writeLengthByte") + public void writeLengthByte(int var1) { + if (var1 >= 0 && var1 <= 255) { + this.array[this.offset - var1 - 1] = (byte)var1; + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-415253670" + ) + @Export("writeSmartByteShort") + public void writeSmartByteShort(int var1) { + if (var1 >= 0 && var1 < 128) { + this.writeByte(var1); + } else if (var1 >= 0 && var1 < 32768) { + this.writeShort(var1 + '耀'); + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "7069" + ) + @Export("writeVarInt") + public void writeVarInt(int var1) { + if ((var1 & -128) != 0) { + if ((var1 & -16384) != 0) { + if ((var1 & -2097152) != 0) { + if ((var1 & -268435456) != 0) { + this.writeByte(var1 >>> 28 | 128); + } + + this.writeByte(var1 >>> 21 | 128); + } + + this.writeByte(var1 >>> 14 | 128); + } + + this.writeByte(var1 >>> 7 | 128); + } + + this.writeByte(var1 & 127); + } + + @ObfuscatedName("bm") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1432126117" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() { + return this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("bf") + @ObfuscatedSignature( + descriptor = "(B)B", + garbageValue = "-16" + ) + @Export("readByte") + public byte readByte() { + return this.array[++this.offset - 1]; + } + + @ObfuscatedName("be") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "225678000" + ) + @Export("readUnsignedShort") + public int readUnsignedShort() { + this.offset += 2; + return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("bs") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "912230375" + ) + @Export("readShort") + public int readShort() { + this.offset += 2; + int var1 = (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("by") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-105" + ) + @Export("readMedium") + public int readMedium() { + this.offset += 3; + return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("bb") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "95" + ) + @Export("readInt") + public int readInt() { + this.offset += 4; + return ((this.array[this.offset - 3] & 255) << 16) + (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 2] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 24); + } + + @ObfuscatedName("bd") + @ObfuscatedSignature( + descriptor = "(B)J", + garbageValue = "68" + ) + @Export("readLong") + public long readLong() { + long var1 = (long)this.readInt() & 4294967295L; + long var3 = (long)this.readInt() & 4294967295L; + return (var1 << 32) + var3; + } + + @ObfuscatedName("ba") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1996547816" + ) + @Export("readBoolean") + public boolean readBoolean() { + return (this.readUnsignedByte() & 1) == 1; + } + + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "2074077507" + ) + @Export("readStringCp1252NullTerminatedOrNull") + public String readStringCp1252NullTerminatedOrNull() { + if (this.array[this.offset] == 0) { + ++this.offset; + return null; + } else { + return this.readStringCp1252NullTerminated(); + } + } + + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "2017763528" + ) + @Export("readStringCp1252NullTerminated") + public String readStringCp1252NullTerminated() { + int var1 = this.offset; + + while(this.array[++this.offset - 1] != 0) { + ; + } + + int var2 = this.offset - var1 - 1; + return var2 == 0 ? "" : VertexNormal.decodeStringCp1252(this.array, var1, var2); + } + + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "586537561" + ) + @Export("readStringCp1252NullCircumfixed") + public String readStringCp1252NullCircumfixed() { + byte var1 = this.array[++this.offset - 1]; + if (var1 != 0) { + throw new IllegalStateException(""); + } else { + int var2 = this.offset; + + while(this.array[++this.offset - 1] != 0) { + ; + } + + int var3 = this.offset - var2 - 1; + return var3 == 0 ? "" : VertexNormal.decodeStringCp1252(this.array, var2, var3); + } + } + + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "(S)Ljava/lang/String;", + garbageValue = "8221" + ) + @Export("readCESU8") + public String readCESU8() { + byte var1 = this.array[++this.offset - 1]; + if (var1 != 0) { + throw new IllegalStateException(""); + } else { + int var2 = this.readVarInt(); + String var3 = Strings.method4327(this.array, this.offset, var2); + this.offset += var2; + return var3; + } + } + + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "-199927912" + ) + @Export("readBytes") + public void readBytes(byte[] var1, int var2, int var3) { + for(int var4 = var2; var4 < var3 + var2; ++var4) { + var1[var4] = this.array[++this.offset - 1]; + } + + } + + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1063921109" + ) + @Export("readShortSmart") + public int readShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() - 64 : this.readUnsignedShort() - '쀀'; + } + + @ObfuscatedName("cb") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "342141969" + ) + @Export("readUShortSmart") + public int readUShortSmart() { + int var1 = this.array[this.offset] & 255; + return var1 < 128 ? this.readUnsignedByte() : this.readUnsignedShort() - '耀'; + } + + @ObfuscatedName("cf") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1617877263" + ) + public int method5704() { + int var1 = 0; + + int var2; + for(var2 = this.readUShortSmart(); var2 == 32767; var2 = this.readUShortSmart()) { + var1 += 32767; + } + + var1 += var2; + return var1; + } + + @ObfuscatedName("cp") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "87" + ) + public int method5705() { + return this.array[this.offset] < 0 ? this.readInt() & Integer.MAX_VALUE : this.readUnsignedShort(); + } + + @ObfuscatedName("ck") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1318332981" + ) + public int method5833() { + if (this.array[this.offset] < 0) { + return this.readInt() & Integer.MAX_VALUE; + } else { + int var1 = this.readUnsignedShort(); + return var1 == 32767 ? -1 : var1; + } + } + + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2047096049" + ) + @Export("readVarInt") + public int readVarInt() { + byte var1 = this.array[++this.offset - 1]; + + int var2; + for(var2 = 0; var1 < 0; var1 = this.array[++this.offset - 1]) { + var2 = (var2 | var1 & 127) << 7; + } + + return var2 | var1; + } + + @ObfuscatedName("cj") + @ObfuscatedSignature( + descriptor = "([II)V", + garbageValue = "-105213348" + ) + @Export("xteaEncryptAll") + public void xteaEncryptAll(int[] var1) { + int var2 = this.offset / 8; + this.offset = 0; + + for(int var3 = 0; var3 < var2; ++var3) { + int var4 = this.readInt(); + int var5 = this.readInt(); + int var6 = 0; + int var7 = -1640531527; + + for(int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) { + var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]; + var6 += var7; + } + + this.offset -= 8; + this.writeInt(var4); + this.writeInt(var5); + } + + } + + @ObfuscatedName("cr") + @ObfuscatedSignature( + descriptor = "([II)V", + garbageValue = "2106116366" + ) + @Export("xteaDecryptAll") + public void xteaDecryptAll(int[] var1) { + int var2 = this.offset / 8; + this.offset = 0; + + for(int var3 = 0; var3 < var2; ++var3) { + int var4 = this.readInt(); + int var5 = this.readInt(); + int var6 = -957401312; + int var7 = -1640531527; + + for(int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) { + var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6; + var6 -= var7; + } + + this.offset -= 8; + this.writeInt(var4); + this.writeInt(var5); + } + + } + + @ObfuscatedName("ca") + @ObfuscatedSignature( + descriptor = "([IIIB)V", + garbageValue = "6" + ) + @Export("xteaEncrypt") + public void xteaEncrypt(int[] var1, int var2, int var3) { + int var4 = this.offset; + this.offset = var2; + int var5 = (var3 - var2) / 8; + + for(int var6 = 0; var6 < var5; ++var6) { + int var7 = this.readInt(); + int var8 = this.readInt(); + int var9 = 0; + int var10 = -1640531527; + + for(int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) { + var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]; + var9 += var10; + } + + this.offset -= 8; + this.writeInt(var7); + this.writeInt(var8); + } + + this.offset = var4; + } + + @ObfuscatedName("cz") + @ObfuscatedSignature( + descriptor = "([IIII)V", + garbageValue = "-1639907144" + ) + @Export("xteaDecrypt") + public void xteaDecrypt(int[] var1, int var2, int var3) { + int var4 = this.offset; + this.offset = var2; + int var5 = (var3 - var2) / 8; + + for(int var6 = 0; var6 < var5; ++var6) { + int var7 = this.readInt(); + int var8 = this.readInt(); + int var9 = -957401312; + int var10 = -1640531527; + + for(int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) { + var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9; + var9 -= var10; + } + + this.offset -= 8; + this.writeInt(var7); + this.writeInt(var8); + } + + this.offset = var4; + } + + @ObfuscatedName("cs") + @ObfuscatedSignature( + descriptor = "(Ljava/math/BigInteger;Ljava/math/BigInteger;I)V", + garbageValue = "-1400886376" + ) + @Export("encryptRsa") + public void encryptRsa(BigInteger var1, BigInteger var2) { + int var3 = this.offset; + this.offset = 0; + byte[] var4 = new byte[var3]; + this.readBytes(var4, 0, var3); + BigInteger var5 = new BigInteger(var4); + BigInteger var6 = var5.modPow(var1, var2); + byte[] var7 = var6.toByteArray(); + this.offset = 0; + this.writeShort(var7.length); + this.writeBytes(var7, 0, var7.length); + } + + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "1855873704" + ) + @Export("writeCrc") + public int writeCrc(int var1) { + int var2 = Player.method1317(this.array, var1, this.offset); + this.writeInt(var2); + return var2; + } + + @ObfuscatedName("cu") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "483943428" + ) + @Export("checkCrc") + public boolean checkCrc() { + this.offset -= 4; + int var1 = Player.method1317(this.array, 0, this.offset); + int var2 = this.readInt(); + return var2 == var1; + } + + @ObfuscatedName("ci") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "110714256" + ) + public void method5883(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("cy") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1893210682" + ) + public void method5778(int var1) { + this.array[++this.offset - 1] = (byte)(0 - var1); + } + + @ObfuscatedName("cm") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-72732516" + ) + public void method5931(int var1) { + this.array[++this.offset - 1] = (byte)(128 - var1); + } + + @ObfuscatedName("cc") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-35" + ) + public int method5776() { + return this.array[++this.offset - 1] - 128 & 255; + } + + @ObfuscatedName("co") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1293461120" + ) + public int method5717() { + return 0 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("cx") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1006009212" + ) + public int method5720() { + return 128 - this.array[++this.offset - 1] & 255; + } + + @ObfuscatedName("cg") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "-2124530748" + ) + public byte method5721() { + return (byte)(this.array[++this.offset - 1] - 128); + } + + @ObfuscatedName("ch") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "1450651314" + ) + public byte method5722() { + return (byte)(0 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "(I)B", + garbageValue = "-362009311" + ) + public byte method5747() { + return (byte)(128 - this.array[++this.offset - 1]); + } + + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1910800344" + ) + @Export("writeShortLE") + public void writeShortLE(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("ct") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1801053391" + ) + public void method5725(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 + 128); + } + + @ObfuscatedName("dx") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "1" + ) + @Export("writeIntME") + public void writeIntME(int var1) { + this.array[++this.offset - 1] = (byte)(var1 + 128); + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("do") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "2146834071" + ) + public int method5727() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); + } + + @ObfuscatedName("du") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-211808457" + ) + public int method5728() { + this.offset += 2; + return (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + } + + @ObfuscatedName("di") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "-25877" + ) + public int method5729() { + this.offset += 2; + return ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] - 128 & 255); + } + + @ObfuscatedName("dk") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "114" + ) + public int method5730() { + this.offset += 2; + int var1 = ((this.array[this.offset - 1] & 255) << 8) + (this.array[this.offset - 2] & 255); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("dd") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "38246618" + ) + public int method5731() { + this.offset += 2; + int var1 = (this.array[this.offset - 1] - 128 & 255) + ((this.array[this.offset - 2] & 255) << 8); + if (var1 > 32767) { + var1 -= 65536; + } + + return var1; + } + + @ObfuscatedName("db") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "166926488" + ) + public void method5732(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("dl") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-25" + ) + public int method5788() { + this.offset += 3; + return (this.array[this.offset - 1] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16); + } + + @ObfuscatedName("dm") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "115" + ) + public void method5781(int var1) { + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 24); + } + + @ObfuscatedName("dj") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "99" + ) + public void method5876(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 8); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)(var1 >> 16); + } + + @ObfuscatedName("dh") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "2087038458" + ) + public void method5736(int var1) { + this.array[++this.offset - 1] = (byte)(var1 >> 16); + this.array[++this.offset - 1] = (byte)(var1 >> 24); + this.array[++this.offset - 1] = (byte)var1; + this.array[++this.offset - 1] = (byte)(var1 >> 8); + } + + @ObfuscatedName("ds") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1781461165" + ) + public int method5895() { + this.offset += 4; + return (this.array[this.offset - 4] & 255) + ((this.array[this.offset - 3] & 255) << 8) + ((this.array[this.offset - 2] & 255) << 16) + ((this.array[this.offset - 1] & 255) << 24); + } + + @ObfuscatedName("dp") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1616505089" + ) + public int method5738() { + this.offset += 4; + return ((this.array[this.offset - 2] & 255) << 24) + ((this.array[this.offset - 4] & 255) << 8) + (this.array[this.offset - 3] & 255) + ((this.array[this.offset - 1] & 255) << 16); + } + + @ObfuscatedName("dy") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "331427137" + ) + public int method5739() { + this.offset += 4; + return ((this.array[this.offset - 1] & 255) << 8) + ((this.array[this.offset - 4] & 255) << 16) + (this.array[this.offset - 2] & 255) + ((this.array[this.offset - 3] & 255) << 24); + } + + @ObfuscatedName("dv") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "2003375492" + ) + public void method5740(byte[] var1, int var2, int var3) { + for(int var4 = var3 + var2 - 1; var4 >= var2; --var4) { + var1[var4] = this.array[++this.offset - 1]; + } + + } } diff --git a/runescape-client/src/main/java/BufferedFile.java b/runescape-client/src/main/java/BufferedFile.java index e7565eebf7..4e878c8bad 100644 --- a/runescape-client/src/main/java/BufferedFile.java +++ b/runescape-client/src/main/java/BufferedFile.java @@ -6,380 +6,377 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mz") +@ObfuscatedName("me") @Implements("BufferedFile") public class BufferedFile { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lmy;" - ) - @Export("accessFile") - AccessFile accessFile; - @ObfuscatedName("x") - @Export("readBuffer") - byte[] readBuffer; - @ObfuscatedName("w") - @ObfuscatedGetter( - longValue = -3809167848781087131L - ) - @Export("readBufferOffset") - long readBufferOffset; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -892196381 - ) - @Export("readBufferLength") - int readBufferLength; - @ObfuscatedName("j") - @Export("writeBuffer") - byte[] writeBuffer; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = 3089120726843536533L - ) - @Export("writeBufferOffset") - long writeBufferOffset; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 958797773 - ) - @Export("writeBufferLength") - int writeBufferLength; - @ObfuscatedName("l") - @ObfuscatedGetter( - longValue = 6318426131394785269L - ) - @Export("offset") - long offset; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = 3544528644384408479L - ) - @Export("fileLength") - long fileLength; - @ObfuscatedName("u") - @ObfuscatedGetter( - longValue = -710356214362963941L - ) - @Export("length") - long length; - @ObfuscatedName("e") - @ObfuscatedGetter( - longValue = 2332608899819250659L - ) - @Export("fileOffset") - long fileOffset; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lmc;" + ) + @Export("accessFile") + AccessFile accessFile; + @ObfuscatedName("d") + @Export("readBuffer") + byte[] readBuffer; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = -568041888096714247L + ) + @Export("readBufferOffset") + long readBufferOffset = -1L; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1358972217 + ) + @Export("readBufferLength") + int readBufferLength; + @ObfuscatedName("h") + @Export("writeBuffer") + byte[] writeBuffer; + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = -1257746194059994169L + ) + @Export("writeBufferOffset") + long writeBufferOffset = -1L; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1100235419 + ) + @Export("writeBufferLength") + int writeBufferLength = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + longValue = 4142092645769618095L + ) + @Export("offset") + long offset; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = -2886354147678367329L + ) + @Export("fileLength") + long fileLength; + @ObfuscatedName("s") + @ObfuscatedGetter( + longValue = -4295221967998641937L + ) + @Export("length") + long length; + @ObfuscatedName("b") + @ObfuscatedGetter( + longValue = -6786211717248859979L + ) + @Export("fileOffset") + long fileOffset; - @ObfuscatedSignature( - descriptor = "(Lmy;II)V" - ) - public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { - this.readBufferOffset = -1L; // L: 9 - this.writeBufferOffset = -1L; // L: 12 - this.writeBufferLength = 0; // L: 13 - this.accessFile = var1; // L: 20 - this.length = this.fileLength = var1.length(); // L: 21 - this.readBuffer = new byte[var2]; // L: 22 - this.writeBuffer = new byte[var3]; // L: 23 - this.offset = 0L; // L: 24 - } // L: 25 + @ObfuscatedSignature( + descriptor = "(Lmc;II)V" + ) + public BufferedFile(AccessFile var1, int var2, int var3) throws IOException { + this.accessFile = var1; + this.length = this.fileLength = var1.length(); + this.readBuffer = new byte[var2]; + this.writeBuffer = new byte[var3]; + this.offset = 0L; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1667711867" - ) - @Export("close") - public void close() throws IOException { - this.flush(); // L: 28 - this.accessFile.close(); // L: 29 - } // L: 30 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "2" + ) + @Export("close") + public void close() throws IOException { + this.flush(); + this.accessFile.close(); + } - @ObfuscatedName("v") - @Export("seek") - public void seek(long var1) throws IOException { - if (var1 < 0L) { // L: 33 - throw new IOException(""); - } else { - this.offset = var1; // L: 34 - } - } // L: 35 + @ObfuscatedName("v") + @Export("seek") + public void seek(long var1) throws IOException { + if (var1 < 0L) { + throw new IOException(""); + } else { + this.offset = var1; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)J", - garbageValue = "-878696422" - ) - @Export("length") - public long length() { - return this.length; // L: 38 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)J", + garbageValue = "657819457" + ) + @Export("length") + public long length() { + return this.length; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "([BB)V", - garbageValue = "61" - ) - @Export("readFully") - public void readFully(byte[] var1) throws IOException { - this.read(var1, 0, var1.length); // L: 42 - } // L: 43 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "([BS)V", + garbageValue = "29514" + ) + @Export("readFully") + public void readFully(byte[] var1) throws IOException { + this.read(var1, 0, var1.length); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "-707431061" - ) - @Export("read") - public void read(byte[] var1, int var2, int var3) throws IOException { - try { - if (var3 + var2 > var1.length) { // L: 47 - throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "1136295656" + ) + @Export("read") + public void read(byte[] var1, int var2, int var3) throws IOException { + try { + if (var3 + var2 > var1.length) { + throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length); + } - if (-1L != this.writeBufferOffset && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= (long)this.writeBufferLength + this.writeBufferOffset) { // L: 48 - System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); // L: 49 - this.offset += (long)var3; // L: 50 - return; // L: 51 - } + if (this.writeBufferOffset != -1L && this.offset >= this.writeBufferOffset && (long)var3 + this.offset <= (long)this.writeBufferLength + this.writeBufferOffset) { + System.arraycopy(this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var1, var2, var3); + this.offset += (long)var3; + return; + } - long var4 = this.offset; // L: 53 - int var7 = var3; // L: 55 - int var8; - if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { // L: 56 - var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset)); // L: 57 - if (var8 > var3) { // L: 58 - var8 = var3; - } + long var4 = this.offset; + int var7 = var3; + int var8; + if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { + var8 = (int)((long)this.readBufferLength - (this.offset - this.readBufferOffset)); + if (var8 > var3) { + var8 = var3; + } - System.arraycopy(this.readBuffer, (int)(this.offset - this.readBufferOffset), var1, var2, var8); // L: 59 - this.offset += (long)var8; // L: 60 - var2 += var8; // L: 61 - var3 -= var8; // L: 62 - } + System.arraycopy(this.readBuffer, (int)(this.offset - this.readBufferOffset), var1, var2, var8); + this.offset += (long)var8; + var2 += var8; + var3 -= var8; + } - if (var3 > this.readBuffer.length) { // L: 64 - this.accessFile.seek(this.offset); // L: 65 + if (var3 > this.readBuffer.length) { + this.accessFile.seek(this.offset); - for (this.fileOffset = this.offset; var3 > 0; var3 -= var8) { // L: 66 67 73 - var8 = this.accessFile.read(var1, var2, var3); // L: 68 - if (var8 == -1) { // L: 69 - break; - } + for(this.fileOffset = this.offset; var3 > 0; var3 -= var8) { + var8 = this.accessFile.read(var1, var2, var3); + if (var8 == -1) { + break; + } - this.fileOffset += (long)var8; // L: 70 - this.offset += (long)var8; // L: 71 - var2 += var8; // L: 72 - } - } else if (var3 > 0) { // L: 76 - this.load(); // L: 77 - var8 = var3; // L: 78 - if (var3 > this.readBufferLength) { // L: 79 - var8 = this.readBufferLength; - } + this.fileOffset += (long)var8; + this.offset += (long)var8; + var2 += var8; + } + } else if (var3 > 0) { + this.load(); + var8 = var3; + if (var3 > this.readBufferLength) { + var8 = this.readBufferLength; + } - System.arraycopy(this.readBuffer, 0, var1, var2, var8); // L: 80 - var2 += var8; // L: 81 - var3 -= var8; // L: 82 - this.offset += (long)var8; // L: 83 - } + System.arraycopy(this.readBuffer, 0, var1, var2, var8); + var2 += var8; + var3 -= var8; + this.offset += (long)var8; + } - if (-1L != this.writeBufferOffset) { // L: 85 - if (this.writeBufferOffset > this.offset && var3 > 0) { // L: 86 - var8 = var2 + (int)(this.writeBufferOffset - this.offset); // L: 87 - if (var8 > var3 + var2) { // L: 88 - var8 = var3 + var2; - } + if (-1L != this.writeBufferOffset) { + if (this.writeBufferOffset > this.offset && var3 > 0) { + var8 = var2 + (int)(this.writeBufferOffset - this.offset); + if (var8 > var3 + var2) { + var8 = var3 + var2; + } - while (var2 < var8) { // L: 89 - var1[var2++] = 0; // L: 90 - --var3; // L: 91 - ++this.offset; // L: 92 - } - } + while(var2 < var8) { + var1[var2++] = 0; + --var3; + ++this.offset; + } + } - long var13 = -1L; // L: 95 - long var10 = -1L; // L: 96 - if (this.writeBufferOffset >= var4 && this.writeBufferOffset < var4 + (long)var7) { // L: 97 - var13 = this.writeBufferOffset; // L: 98 - } else if (var4 >= this.writeBufferOffset && var4 < this.writeBufferOffset + (long)this.writeBufferLength) { // L: 100 - var13 = var4; // L: 101 - } + long var13 = -1L; + long var10 = -1L; + if (this.writeBufferOffset >= var4 && this.writeBufferOffset < var4 + (long)var7) { + var13 = this.writeBufferOffset; + } else if (var4 >= this.writeBufferOffset && var4 < this.writeBufferOffset + (long)this.writeBufferLength) { + var13 = var4; + } - if (this.writeBufferOffset + (long)this.writeBufferLength > var4 && this.writeBufferOffset + (long)this.writeBufferLength <= var4 + (long)var7) { // L: 103 - var10 = (long)this.writeBufferLength + this.writeBufferOffset; // L: 104 - } else if (var4 + (long)var7 > this.writeBufferOffset && (long)var7 + var4 <= (long)this.writeBufferLength + this.writeBufferOffset) { // L: 106 - var10 = (long)var7 + var4; // L: 107 - } + if ((long)this.writeBufferLength + this.writeBufferOffset > var4 && (long)this.writeBufferLength + this.writeBufferOffset <= (long)var7 + var4) { + var10 = (long)this.writeBufferLength + this.writeBufferOffset; + } else if ((long)var7 + var4 > this.writeBufferOffset && var4 + (long)var7 <= this.writeBufferOffset + (long)this.writeBufferLength) { + var10 = var4 + (long)var7; + } - if (var13 > -1L && var10 > var13) { // L: 109 - int var12 = (int)(var10 - var13); // L: 110 - System.arraycopy(this.writeBuffer, (int)(var13 - this.writeBufferOffset), var1, (int)(var13 - var4) + var2, var12); // L: 111 - if (var10 > this.offset) { // L: 112 - var3 = (int)((long)var3 - (var10 - this.offset)); // L: 113 - this.offset = var10; // L: 114 - } - } - } - } catch (IOException var16) { // L: 120 - this.fileOffset = -1L; // L: 121 - throw var16; // L: 122 - } + if (var13 > -1L && var10 > var13) { + int var12 = (int)(var10 - var13); + System.arraycopy(this.writeBuffer, (int)(var13 - this.writeBufferOffset), var1, (int)(var13 - var4) + var2, var12); + if (var10 > this.offset) { + var3 = (int)((long)var3 - (var10 - this.offset)); + this.offset = var10; + } + } + } + } catch (IOException var16) { + this.fileOffset = -1L; + throw var16; + } - if (var3 > 0) { // L: 124 - throw new EOFException(); - } - } // L: 125 + if (var3 > 0) { + throw new EOFException(); + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1871269663" - ) - @Export("load") - void load() throws IOException { - this.readBufferLength = 0; // L: 128 - if (this.fileOffset != this.offset) { // L: 129 - this.accessFile.seek(this.offset); // L: 130 - this.fileOffset = this.offset; // L: 131 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-711377457" + ) + @Export("load") + void load() throws IOException { + this.readBufferLength = 0; + if (this.offset != this.fileOffset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } - int var2; - for (this.readBufferOffset = this.offset; this.readBufferLength < this.readBuffer.length; this.readBufferLength += var2) { // L: 133 134 140 - int var1 = this.readBuffer.length - this.readBufferLength; // L: 135 - if (var1 > 200000000) { // L: 136 - var1 = 200000000; - } + int var2; + for(this.readBufferOffset = this.offset; this.readBufferLength < this.readBuffer.length; this.readBufferLength += var2) { + int var1 = this.readBuffer.length - this.readBufferLength; + if (var1 > 200000000) { + var1 = 200000000; + } - var2 = this.accessFile.read(this.readBuffer, this.readBufferLength, var1); // L: 137 - if (var2 == -1) { // L: 138 - break; - } + var2 = this.accessFile.read(this.readBuffer, this.readBufferLength, var1); + if (var2 == -1) { + break; + } - this.fileOffset += (long)var2; // L: 139 - } + this.fileOffset += (long)var2; + } - } // L: 142 + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIIB)V", - garbageValue = "65" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - try { - if ((long)var3 + this.offset > this.length) { // L: 146 - this.length = this.offset + (long)var3; - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "2039046126" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + try { + if (this.offset + (long)var3 > this.length) { + this.length = this.offset + (long)var3; + } - if (this.writeBufferOffset != -1L && (this.offset < this.writeBufferOffset || this.offset > this.writeBufferOffset + (long)this.writeBufferLength)) { // L: 147 - this.flush(); // L: 148 - } + if (this.writeBufferOffset != -1L && (this.offset < this.writeBufferOffset || this.offset > (long)this.writeBufferLength + this.writeBufferOffset)) { + this.flush(); + } - if (this.writeBufferOffset != -1L && (long)var3 + this.offset > this.writeBufferOffset + (long)this.writeBuffer.length) { // L: 150 - int var4 = (int)((long)this.writeBuffer.length - (this.offset - this.writeBufferOffset)); // L: 151 - System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4); // L: 152 - this.offset += (long)var4; // L: 153 - var2 += var4; // L: 154 - var3 -= var4; // L: 155 - this.writeBufferLength = this.writeBuffer.length; // L: 156 - this.flush(); // L: 157 - } + if (this.writeBufferOffset != -1L && (long)var3 + this.offset > this.writeBufferOffset + (long)this.writeBuffer.length) { + int var4 = (int)((long)this.writeBuffer.length - (this.offset - this.writeBufferOffset)); + System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var4); + this.offset += (long)var4; + var2 += var4; + var3 -= var4; + this.writeBufferLength = this.writeBuffer.length; + this.flush(); + } - if (var3 <= this.writeBuffer.length) { // L: 159 - if (var3 > 0) { // L: 188 - if (this.writeBufferOffset == -1L) { // L: 189 - this.writeBufferOffset = this.offset; - } + if (var3 <= this.writeBuffer.length) { + if (var3 > 0) { + if (this.writeBufferOffset == -1L) { + this.writeBufferOffset = this.offset; + } - System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var3); // L: 190 - this.offset += (long)var3; // L: 191 - if (this.offset - this.writeBufferOffset > (long)this.writeBufferLength) { // L: 192 - this.writeBufferLength = (int)(this.offset - this.writeBufferOffset); - } + System.arraycopy(var1, var2, this.writeBuffer, (int)(this.offset - this.writeBufferOffset), var3); + this.offset += (long)var3; + if (this.offset - this.writeBufferOffset > (long)this.writeBufferLength) { + this.writeBufferLength = (int)(this.offset - this.writeBufferOffset); + } - } - } else { - if (this.offset != this.fileOffset) { // L: 160 - this.accessFile.seek(this.offset); // L: 161 - this.fileOffset = this.offset; // L: 162 - } + } + } else { + if (this.fileOffset != this.offset) { + this.accessFile.seek(this.offset); + this.fileOffset = this.offset; + } - this.accessFile.write(var1, var2, var3); // L: 164 - this.fileOffset += (long)var3; // L: 165 - if (this.fileOffset > this.fileLength) { // L: 166 - this.fileLength = this.fileOffset; - } + this.accessFile.write(var1, var2, var3); + this.fileOffset += (long)var3; + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } - long var9 = -1L; // L: 167 - long var6 = -1L; // L: 168 - if (this.offset >= this.readBufferOffset && this.offset < this.readBufferOffset + (long)this.readBufferLength) { // L: 169 - var9 = this.offset; // L: 170 - } else if (this.readBufferOffset >= this.offset && this.readBufferOffset < this.offset + (long)var3) { // L: 172 - var9 = this.readBufferOffset; // L: 173 - } + long var9 = -1L; + long var6 = -1L; + if (this.offset >= this.readBufferOffset && this.offset < (long)this.readBufferLength + this.readBufferOffset) { + var9 = this.offset; + } else if (this.readBufferOffset >= this.offset && this.readBufferOffset < this.offset + (long)var3) { + var9 = this.readBufferOffset; + } - if (this.offset + (long)var3 > this.readBufferOffset && (long)var3 + this.offset <= this.readBufferOffset + (long)this.readBufferLength) { // L: 175 - var6 = this.offset + (long)var3; // L: 176 - } else if ((long)this.readBufferLength + this.readBufferOffset > this.offset && (long)this.readBufferLength + this.readBufferOffset <= this.offset + (long)var3) { // L: 178 - var6 = (long)this.readBufferLength + this.readBufferOffset; // L: 179 - } + if ((long)var3 + this.offset > this.readBufferOffset && this.offset + (long)var3 <= (long)this.readBufferLength + this.readBufferOffset) { + var6 = (long)var3 + this.offset; + } else if (this.readBufferOffset + (long)this.readBufferLength > this.offset && (long)this.readBufferLength + this.readBufferOffset <= this.offset + (long)var3) { + var6 = this.readBufferOffset + (long)this.readBufferLength; + } - if (var9 > -1L && var6 > var9) { // L: 181 - int var8 = (int)(var6 - var9); // L: 182 - System.arraycopy(var1, (int)(var9 + (long)var2 - this.offset), this.readBuffer, (int)(var9 - this.readBufferOffset), var8); // L: 183 - } + if (var9 > -1L && var6 > var9) { + int var8 = (int)(var6 - var9); + System.arraycopy(var1, (int)(var9 + (long)var2 - this.offset), this.readBuffer, (int)(var9 - this.readBufferOffset), var8); + } - this.offset += (long)var3; // L: 185 - } - } catch (IOException var12) { // L: 196 - this.fileOffset = -1L; // L: 197 - throw var12; // L: 198 - } - } // L: 186 193 200 + this.offset += (long)var3; + } + } catch (IOException var12) { + this.fileOffset = -1L; + throw var12; + } + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1956599640" - ) - @Export("flush") - void flush() throws IOException { - if (-1L != this.writeBufferOffset) { // L: 203 - if (this.writeBufferOffset != this.fileOffset) { // L: 204 - this.accessFile.seek(this.writeBufferOffset); // L: 205 - this.fileOffset = this.writeBufferOffset; // L: 206 - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-31" + ) + @Export("flush") + void flush() throws IOException { + if (this.writeBufferOffset != -1L) { + if (this.writeBufferOffset != this.fileOffset) { + this.accessFile.seek(this.writeBufferOffset); + this.fileOffset = this.writeBufferOffset; + } - this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); // L: 208 - this.fileOffset += (long)this.writeBufferLength * 1815493559466328065L; // L: 209 - if (this.fileOffset > this.fileLength) { // L: 210 - this.fileLength = this.fileOffset; - } + this.accessFile.write(this.writeBuffer, 0, this.writeBufferLength); + this.fileOffset += 1100235419L * (long)(this.writeBufferLength * -1570188397); + if (this.fileOffset > this.fileLength) { + this.fileLength = this.fileOffset; + } - long var1 = -1L; // L: 211 - long var3 = -1L; // L: 212 - if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < (long)this.readBufferLength + this.readBufferOffset) { // L: 213 - var1 = this.writeBufferOffset; // L: 214 - } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < (long)this.writeBufferLength + this.writeBufferOffset) { // L: 216 - var1 = this.readBufferOffset; // L: 217 - } + long var1 = -1L; + long var3 = -1L; + if (this.writeBufferOffset >= this.readBufferOffset && this.writeBufferOffset < (long)this.readBufferLength + this.readBufferOffset) { + var1 = this.writeBufferOffset; + } else if (this.readBufferOffset >= this.writeBufferOffset && this.readBufferOffset < this.writeBufferOffset + (long)this.writeBufferLength) { + var1 = this.readBufferOffset; + } - if ((long)this.writeBufferLength + this.writeBufferOffset > this.readBufferOffset && this.writeBufferOffset + (long)this.writeBufferLength <= (long)this.readBufferLength + this.readBufferOffset) { // L: 219 - var3 = this.writeBufferOffset + (long)this.writeBufferLength; // L: 220 - } else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && this.readBufferOffset + (long)this.readBufferLength <= (long)this.writeBufferLength + this.writeBufferOffset) { // L: 222 - var3 = this.readBufferOffset + (long)this.readBufferLength; // L: 223 - } + if (this.writeBufferOffset + (long)this.writeBufferLength > this.readBufferOffset && this.writeBufferOffset + (long)this.writeBufferLength <= this.readBufferOffset + (long)this.readBufferLength) { + var3 = this.writeBufferOffset + (long)this.writeBufferLength; + } else if (this.readBufferOffset + (long)this.readBufferLength > this.writeBufferOffset && (long)this.readBufferLength + this.readBufferOffset <= this.writeBufferOffset + (long)this.writeBufferLength) { + var3 = (long)this.readBufferLength + this.readBufferOffset; + } - if (var1 > -1L && var3 > var1) { // L: 225 - int var5 = (int)(var3 - var1); // L: 226 - System.arraycopy(this.writeBuffer, (int)(var1 - this.writeBufferOffset), this.readBuffer, (int)(var1 - this.readBufferOffset), var5); // L: 227 - } + if (var1 > -1L && var3 > var1) { + int var5 = (int)(var3 - var1); + System.arraycopy(this.writeBuffer, (int)(var1 - this.writeBufferOffset), this.readBuffer, (int)(var1 - this.readBufferOffset), var5); + } - this.writeBufferOffset = -1L; // L: 229 - this.writeBufferLength = 0; // L: 230 - } + this.writeBufferOffset = -1L; + this.writeBufferLength = 0; + } - } // L: 232 + } } diff --git a/runescape-client/src/main/java/BufferedNetSocket.java b/runescape-client/src/main/java/BufferedNetSocket.java index 28842b6cc3..aaec96ce75 100644 --- a/runescape-client/src/main/java/BufferedNetSocket.java +++ b/runescape-client/src/main/java/BufferedNetSocket.java @@ -5,103 +5,104 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("le") +@ObfuscatedName("lf") @Implements("BufferedNetSocket") public class BufferedNetSocket extends AbstractSocket { - @ObfuscatedName("h") - @Export("socket") - Socket socket; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llg;" - ) - @Export("source") - BufferedSource source; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Llf;" - ) - @Export("sink") - BufferedSink sink; + @ObfuscatedName("n") + @Export("socket") + Socket socket; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lll;" + ) + @Export("source") + BufferedSource source; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llt;" + ) + @Export("sink") + BufferedSink sink; - BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { - this.socket = var1; // L: 12 - this.socket.setSoTimeout(30000); // L: 13 - this.socket.setTcpNoDelay(true); // L: 14 - this.socket.setReceiveBufferSize(65536); // L: 15 - this.socket.setSendBufferSize(65536); // L: 16 - this.source = new BufferedSource(this.socket.getInputStream(), var2); // L: 17 - this.sink = new BufferedSink(this.socket.getOutputStream(), var3); // L: 18 - } // L: 19 + BufferedNetSocket(Socket var1, int var2, int var3) throws IOException { + this.socket = var1; + this.socket.setSoTimeout(30000); + this.socket.setTcpNoDelay(true); + this.socket.setReceiveBufferSize(65536); + this.socket.setSendBufferSize(65536); + this.source = new BufferedSource(this.socket.getInputStream(), var2); + this.sink = new BufferedSink(this.socket.getOutputStream(), var3); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-10" - ) - @Export("close") - public void close() { - this.sink.close(); // L: 42 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "136255387" + ) + @Export("close") + public void close() { + this.sink.close(); - try { - this.socket.close(); // L: 44 - } catch (IOException var2) { // L: 46 - } + try { + this.socket.close(); + } catch (IOException var2) { + ; + } - this.source.close(); // L: 47 - } // L: 48 + this.source.close(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "0" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.source.readUnsignedByte(); // L: 30 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-29" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.source.readUnsignedByte(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1974658106" - ) - @Export("available") - public int available() throws IOException { - return this.source.available(); // L: 26 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + @Export("available") + public int available() throws IOException { + return this.source.available(); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-7" - ) - @Export("isAvailable") - public boolean isAvailable(int var1) throws IOException { - return this.source.isAvailable(var1); // L: 22 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1621767276" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + return this.source.isAvailable(var1); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "([BIIB)I", - garbageValue = "98" - ) - @Export("read") - public int read(byte[] var1, int var2, int var3) throws IOException { - return this.source.read(var1, var2, var3); // L: 34 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BIIB)I", + garbageValue = "-127" + ) + @Export("read") + public int read(byte[] var1, int var2, int var3) throws IOException { + return this.source.read(var1, var2, var3); + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "-2028715299" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - this.sink.write(var1, var2, var3); // L: 38 - } // L: 39 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "1032488862" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.sink.write(var1, var2, var3); + } - protected void finalize() { - this.close(); // L: 51 - } // L: 52 + protected void finalize() { + this.close(); + } } diff --git a/runescape-client/src/main/java/BufferedSink.java b/runescape-client/src/main/java/BufferedSink.java index 603b663490..cbf44b54c9 100644 --- a/runescape-client/src/main/java/BufferedSink.java +++ b/runescape-client/src/main/java/BufferedSink.java @@ -6,204 +6,195 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lf") +@ObfuscatedName("lt") @Implements("BufferedSink") public class BufferedSink implements Runnable { - @ObfuscatedName("h") - @Export("thread") - Thread thread; - @ObfuscatedName("v") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1531309645 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 821195077 - ) - @Export("position") - int position; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1617449547 - ) - @Export("limit") - int limit; - @ObfuscatedName("n") - @Export("exception") - IOException exception; - @ObfuscatedName("p") - @Export("closed") - boolean closed; + @ObfuscatedName("n") + @Export("thread") + Thread thread; + @ObfuscatedName("v") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1750886899 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("c") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1446346341 + ) + @Export("position") + int position = 0; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -51603125 + ) + @Export("limit") + int limit = 0; + @ObfuscatedName("z") + @Export("exception") + IOException exception; + @ObfuscatedName("e") + @Export("closed") + boolean closed; - BufferedSink(OutputStream var1, int var2) { - this.position = 0; // L: 186 - this.limit = 0; // L: 187 - this.outputStream = var1; // L: 192 - this.capacity = var2 + 1; // L: 193 - this.buffer = new byte[this.capacity]; // L: 194 - this.thread = new Thread(this); // L: 195 - this.thread.setDaemon(true); // L: 196 - this.thread.start(); // L: 197 - } // L: 198 + BufferedSink(OutputStream var1, int var2) { + this.outputStream = var1; + this.capacity = var2 + 1; + this.buffer = new byte[this.capacity]; + this.thread = new Thread(this); + this.thread.setDaemon(true); + this.thread.start(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1898190098" - ) - @Export("isClosed") - boolean isClosed() { - if (this.closed) { // L: 201 - try { - this.outputStream.close(); // L: 203 - if (this.exception == null) { - this.exception = new IOException(""); // L: 204 - } - } catch (IOException var2) { // L: 206 - if (this.exception == null) { // L: 207 - this.exception = new IOException(var2); - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1300767817" + ) + @Export("isClosed") + boolean isClosed() { + if (this.closed) { + try { + this.outputStream.close(); + if (this.exception == null) { + this.exception = new IOException(""); + } + } catch (IOException var2) { + if (this.exception == null) { + this.exception = new IOException(var2); + } + } - return true; // L: 209 - } else { - return false; // L: 211 - } - } + return true; + } else { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "1673669386" - ) - @Export("write") - void write(byte[] var1, int var2, int var3) throws IOException { - if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { // L: 261 - synchronized(this) { // L: 262 - if (this.exception != null) { // L: 263 - throw new IOException(this.exception.toString()); - } else { - int var5; - if (this.position <= this.limit) { // L: 265 - var5 = this.capacity - this.limit + this.position - 1; - } else { - var5 = this.position - this.limit - 1; // L: 266 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "([BIIB)V", + garbageValue = "52" + ) + @Export("write") + void write(byte[] var1, int var2, int var3) throws IOException { + if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { + synchronized(this) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + int var5; + if (this.position <= this.limit) { + var5 = this.capacity - this.limit + this.position - 1; + } else { + var5 = this.position - this.limit - 1; + } - if (var5 < var3) { // L: 267 - throw new IOException(""); - } else { - if (var3 + this.limit <= this.capacity) { // L: 268 - System.arraycopy(var1, var2, this.buffer, this.limit, var3); // L: 269 - } else { - int var6 = this.capacity - this.limit; // L: 272 - System.arraycopy(var1, var2, this.buffer, this.limit, var6); // L: 273 - System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6); // L: 274 - } + if (var5 < var3) { + throw new IOException(""); + } else { + if (var3 + this.limit <= this.capacity) { + System.arraycopy(var1, var2, this.buffer, this.limit, var3); + } else { + int var6 = this.capacity - this.limit; + System.arraycopy(var1, var2, this.buffer, this.limit, var6); + System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6); + } - this.limit = (var3 + this.limit) % this.capacity; // L: 276 - this.notifyAll(); // L: 277 - } - } - } - } else { - throw new IOException(); - } - } // L: 279 + this.limit = (var3 + this.limit) % this.capacity; + this.notifyAll(); + } + } + } + } else { + throw new IOException(); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "8" - ) - @Export("close") - void close() { - synchronized(this) { // L: 282 - this.closed = true; // L: 283 - this.notifyAll(); // L: 284 - } // L: 285 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1796941473" + ) + @Export("close") + void close() { + synchronized(this) { + this.closed = true; + this.notifyAll(); + } - try { - this.thread.join(); // L: 287 - } catch (InterruptedException var3) { // L: 289 - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + ; + } - } // L: 290 + } - public void run() { - do { - int var1; - synchronized(this) { // L: 217 - while (true) { - if (this.exception != null) { // L: 219 - return; - } + public void run() { + do { + int var1; + synchronized(this) { + while(true) { + if (this.exception != null) { + return; + } - if (this.position <= this.limit) { // L: 220 - var1 = this.limit - this.position; - } else { - var1 = this.capacity - this.position + this.limit; // L: 221 - } + if (this.position <= this.limit) { + var1 = this.limit - this.position; + } else { + var1 = this.capacity - this.position + this.limit; + } - if (var1 > 0) { // L: 222 - break; - } + if (var1 > 0) { + break; + } - try { - this.outputStream.flush(); // L: 224 - } catch (IOException var11) { // L: 226 - this.exception = var11; // L: 227 - return; // L: 228 - } + try { + this.outputStream.flush(); + } catch (IOException var11) { + this.exception = var11; + return; + } - if (this.isClosed()) { // L: 230 - return; - } + if (this.isClosed()) { + return; + } - try { - this.wait(); // L: 232 - } catch (InterruptedException var12) { // L: 234 - } - } - } + try { + this.wait(); + } catch (InterruptedException var12) { + ; + } + } + } - try { - if (var1 + this.position <= this.capacity) { // L: 238 - this.outputStream.write(this.buffer, this.position, var1); // L: 239 - } else { - int var7 = this.capacity - this.position; // L: 242 - this.outputStream.write(this.buffer, this.position, var7); // L: 243 - this.outputStream.write(this.buffer, 0, var1 - var7); // L: 244 - } - } catch (IOException var10) { // L: 247 - IOException var2 = var10; - synchronized(this) { // L: 248 - this.exception = var2; // L: 249 - return; // L: 250 - } - } + try { + if (var1 + this.position <= this.capacity) { + this.outputStream.write(this.buffer, this.position, var1); + } else { + int var7 = this.capacity - this.position; + this.outputStream.write(this.buffer, this.position, var7); + this.outputStream.write(this.buffer, 0, var1 - var7); + } + } catch (IOException var10) { + IOException var2 = var10; + synchronized(this) { + this.exception = var2; + return; + } + } - synchronized(this) { // L: 253 - this.position = (var1 + this.position) % this.capacity; // L: 254 - } // L: 255 - } while(!this.isClosed()); // L: 256 + synchronized(this) { + this.position = (var1 + this.position) % this.capacity; + } + } while(!this.isClosed()); - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)[Lp;", - garbageValue = "248442350" - ) - public static class7[] method5889() { - return new class7[]{class7.field25}; // L: 12 - } + } } diff --git a/runescape-client/src/main/java/BufferedSource.java b/runescape-client/src/main/java/BufferedSource.java index 10ecfa73cc..8132b160b1 100644 --- a/runescape-client/src/main/java/BufferedSource.java +++ b/runescape-client/src/main/java/BufferedSource.java @@ -7,240 +7,318 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lg") +@ObfuscatedName("ll") @Implements("BufferedSource") public class BufferedSource implements Runnable { - @ObfuscatedName("h") - @Export("thread") - Thread thread; - @ObfuscatedName("v") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -95991525 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @Export("buffer") - byte[] buffer; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1946581003 - ) - @Export("position") - int position; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 30764979 - ) - @Export("limit") - int limit; - @ObfuscatedName("n") - @Export("exception") - IOException exception; + @ObfuscatedName("n") + @Export("thread") + Thread thread; + @ObfuscatedName("v") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1953404091 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("c") + @Export("buffer") + byte[] buffer; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -2146586711 + ) + @Export("position") + int position = 0; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 2116402287 + ) + @Export("limit") + int limit = 0; + @ObfuscatedName("z") + @Export("exception") + IOException exception; - BufferedSource(InputStream var1, int var2) { - this.position = 0; // L: 59 - this.limit = 0; // L: 60 - this.inputStream = var1; // L: 64 - this.capacity = var2 + 1; // L: 65 - this.buffer = new byte[this.capacity]; // L: 66 - this.thread = new Thread(this); // L: 67 - this.thread.setDaemon(true); // L: 68 - this.thread.start(); // L: 69 - } // L: 70 + BufferedSource(InputStream var1, int var2) { + this.inputStream = var1; + this.capacity = var2 + 1; + this.buffer = new byte[this.capacity]; + this.thread = new Thread(this); + this.thread.setDaemon(true); + this.thread.start(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-2116238538" - ) - @Export("isAvailable") - boolean isAvailable(int var1) throws IOException { - if (var1 == 0) { // L: 106 - return true; - } else if (var1 > 0 && var1 < this.capacity) { // L: 107 - synchronized(this) { // L: 108 - int var3; - if (this.position <= this.limit) { // L: 110 - var3 = this.limit - this.position; - } else { - var3 = this.capacity - this.position + this.limit; // L: 111 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1444651631" + ) + @Export("isAvailable") + boolean isAvailable(int var1) throws IOException { + if (var1 == 0) { + return true; + } else if (var1 > 0 && var1 < this.capacity) { + synchronized(this) { + int var3; + if (this.position <= this.limit) { + var3 = this.limit - this.position; + } else { + var3 = this.capacity - this.position + this.limit; + } - if (var3 < var1) { // L: 112 - if (this.exception != null) { // L: 113 - throw new IOException(this.exception.toString()); - } else { - this.notifyAll(); // L: 114 - return false; // L: 115 - } - } else { - return true; // L: 117 - } - } - } else { - throw new IOException(); - } - } + if (var3 < var1) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + this.notifyAll(); + return false; + } + } else { + return true; + } + } + } else { + throw new IOException(); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "405355900" - ) - @Export("available") - int available() throws IOException { - synchronized(this) { // L: 122 - int var2; - if (this.position <= this.limit) { // L: 124 - var2 = this.limit - this.position; - } else { - var2 = this.capacity - this.position + this.limit; // L: 125 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "5789" + ) + @Export("available") + int available() throws IOException { + synchronized(this) { + int var2; + if (this.position <= this.limit) { + var2 = this.limit - this.position; + } else { + var2 = this.capacity - this.position + this.limit; + } - if (var2 <= 0 && this.exception != null) { // L: 126 - throw new IOException(this.exception.toString()); // L: 127 - } else { - this.notifyAll(); // L: 129 - return var2; // L: 130 - } - } - } + if (var2 <= 0 && this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + this.notifyAll(); + return var2; + } + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1222346600" - ) - @Export("readUnsignedByte") - int readUnsignedByte() throws IOException { - synchronized(this) { // L: 135 - if (this.position == this.limit) { // L: 136 - if (this.exception != null) { // L: 137 - throw new IOException(this.exception.toString()); - } else { - return -1; // L: 138 - } - } else { - int var2 = this.buffer[this.position] & 255; // L: 140 - this.position = (this.position + 1) % this.capacity; // L: 141 - this.notifyAll(); // L: 142 - return var2; // L: 143 - } - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1306188380" + ) + @Export("readUnsignedByte") + int readUnsignedByte() throws IOException { + synchronized(this) { + if (this.limit == this.position) { + if (this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + return -1; + } + } else { + int var2 = this.buffer[this.position] & 255; + this.position = (this.position + 1) % this.capacity; + this.notifyAll(); + return var2; + } + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "([BIIB)I", - garbageValue = "30" - ) - @Export("read") - int read(byte[] var1, int var2, int var3) throws IOException { - if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { // L: 148 - synchronized(this) { // L: 149 - int var5; - if (this.position <= this.limit) { // L: 151 - var5 = this.limit - this.position; - } else { - var5 = this.capacity - this.position + this.limit; // L: 152 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "([BIII)I", + garbageValue = "255172200" + ) + @Export("read") + int read(byte[] var1, int var2, int var3) throws IOException { + if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) { + synchronized(this) { + int var5; + if (this.position <= this.limit) { + var5 = this.limit - this.position; + } else { + var5 = this.capacity - this.position + this.limit; + } - if (var3 > var5) { // L: 153 - var3 = var5; - } + if (var3 > var5) { + var3 = var5; + } - if (var3 == 0 && this.exception != null) { // L: 154 - throw new IOException(this.exception.toString()); - } else { - if (var3 + this.position <= this.capacity) { // L: 155 - System.arraycopy(this.buffer, this.position, var1, var2, var3); // L: 156 - } else { - int var6 = this.capacity - this.position; // L: 159 - System.arraycopy(this.buffer, this.position, var1, var2, var6); // L: 160 - System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6); // L: 161 - } + if (var3 == 0 && this.exception != null) { + throw new IOException(this.exception.toString()); + } else { + if (var3 + this.position <= this.capacity) { + System.arraycopy(this.buffer, this.position, var1, var2, var3); + } else { + int var6 = this.capacity - this.position; + System.arraycopy(this.buffer, this.position, var1, var2, var6); + System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6); + } - this.position = (var3 + this.position) % this.capacity; // L: 163 - this.notifyAll(); // L: 164 - return var3; // L: 165 - } - } - } else { - throw new IOException(); - } - } + this.position = (var3 + this.position) % this.capacity; + this.notifyAll(); + return var3; + } + } + } else { + throw new IOException(); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "180" - ) - @Export("close") - void close() { - synchronized(this) { // L: 170 - if (this.exception == null) { - this.exception = new IOException(""); // L: 171 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-489650908" + ) + @Export("close") + void close() { + synchronized(this) { + if (this.exception == null) { + this.exception = new IOException(""); + } - this.notifyAll(); // L: 172 - } + this.notifyAll(); + } - try { - this.thread.join(); // L: 175 - } catch (InterruptedException var3) { // L: 177 - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + ; + } - } // L: 178 + } - public void run() { - while (true) { - int var1; - synchronized(this) { // L: 75 - while (true) { - if (this.exception != null) { // L: 77 - return; - } + public void run() { + while(true) { + int var1; + synchronized(this) { + while(true) { + if (this.exception != null) { + return; + } - if (this.position == 0) { // L: 78 - var1 = this.capacity - this.limit - 1; - } else if (this.position <= this.limit) { // L: 79 - var1 = this.capacity - this.limit; - } else { - var1 = this.position - this.limit - 1; // L: 80 - } + if (this.position == 0) { + var1 = this.capacity - this.limit - 1; + } else if (this.position <= this.limit) { + var1 = this.capacity - this.limit; + } else { + var1 = this.position - this.limit - 1; + } - if (var1 > 0) { // L: 81 - break; - } + if (var1 > 0) { + break; + } - try { - this.wait(); // L: 83 - } catch (InterruptedException var10) { // L: 85 - } - } - } + try { + this.wait(); + } catch (InterruptedException var10) { + ; + } + } + } - int var7; - try { - var7 = this.inputStream.read(this.buffer, this.limit, var1); // L: 90 - if (var7 == -1) { - throw new EOFException(); // L: 91 - } - } catch (IOException var11) { // L: 93 - IOException var3 = var11; - synchronized(this) { // L: 94 - this.exception = var3; // L: 95 - return; // L: 96 - } - } + int var7; + try { + var7 = this.inputStream.read(this.buffer, this.limit, var1); + if (var7 == -1) { + throw new EOFException(); + } + } catch (IOException var11) { + IOException var3 = var11; + synchronized(this) { + this.exception = var3; + return; + } + } - synchronized(this) { // L: 99 - this.limit = (var7 + this.limit) % this.capacity; // L: 100 - } // L: 101 - } - } + synchronized(this) { + this.limit = (var7 + this.limit) % this.capacity; + } + } + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lig;III)Llm;", + garbageValue = "34379622" + ) + @Export("SpriteBuffer_getSprite") + public static SpritePixels SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { + byte[] var4 = var0.takeFile(var1, var2); + boolean var3; + if (var4 == null) { + var3 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var4); + var3 = true; + } + + if (!var3) { + return null; + } else { + SpritePixels var5 = new SpritePixels(); + var5.width = class336.SpriteBuffer_spriteWidth; + var5.height = class336.SpriteBuffer_spriteHeight; + var5.xOffset = class105.SpriteBuffer_xOffsets[0]; + var5.yOffset = class336.SpriteBuffer_yOffsets[0]; + var5.subWidth = class336.SpriteBuffer_spriteWidths[0]; + var5.subHeight = class225.SpriteBuffer_spriteHeights[0]; + int var6 = var5.subHeight * var5.subWidth; + byte[] var7 = class2.SpriteBuffer_pixels[0]; + var5.pixels = new int[var6]; + + for(int var8 = 0; var8 < var6; ++var8) { + var5.pixels[var8] = HorizontalAlignment.SpriteBuffer_spritePalette[var7[var8] & 255]; + } + + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + return var5; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)[Llm;", + garbageValue = "49" + ) + static SpritePixels[] method6103() { + SpritePixels[] var0 = new SpritePixels[class336.SpriteBuffer_spriteCount]; + + for(int var1 = 0; var1 < class336.SpriteBuffer_spriteCount; ++var1) { + SpritePixels var2 = var0[var1] = new SpritePixels(); + var2.width = class336.SpriteBuffer_spriteWidth; + var2.height = class336.SpriteBuffer_spriteHeight; + var2.xOffset = class105.SpriteBuffer_xOffsets[var1]; + var2.yOffset = class336.SpriteBuffer_yOffsets[var1]; + var2.subWidth = class336.SpriteBuffer_spriteWidths[var1]; + var2.subHeight = class225.SpriteBuffer_spriteHeights[var1]; + int var3 = var2.subHeight * var2.subWidth; + byte[] var4 = class2.SpriteBuffer_pixels[var1]; + var2.pixels = new int[var3]; + + for(int var5 = 0; var5 < var3; ++var5) { + var2.pixels[var5] = HorizontalAlignment.SpriteBuffer_spritePalette[var4[var5] & 255]; + } + } + + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + return var0; + } } diff --git a/runescape-client/src/main/java/ByteArrayNode.java b/runescape-client/src/main/java/ByteArrayNode.java index e4f36625b7..66e778b786 100644 --- a/runescape-client/src/main/java/ByteArrayNode.java +++ b/runescape-client/src/main/java/ByteArrayNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("gg") +@ObfuscatedName("gt") @Implements("ByteArrayNode") public class ByteArrayNode extends Node { - @ObfuscatedName("h") - @Export("byteArray") - public byte[] byteArray; + @ObfuscatedName("n") + @Export("byteArray") + public byte[] byteArray; - public ByteArrayNode(byte[] var1) { - this.byteArray = var1; // L: 7 - } // L: 8 + public ByteArrayNode(byte[] var1) { + this.byteArray = var1; + } } diff --git a/runescape-client/src/main/java/ByteArrayPool.java b/runescape-client/src/main/java/ByteArrayPool.java index 53a21baca4..7f7169c393 100644 --- a/runescape-client/src/main/java/ByteArrayPool.java +++ b/runescape-client/src/main/java/ByteArrayPool.java @@ -4,94 +4,92 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lt") +@ObfuscatedName("lk") @Implements("ByteArrayPool") public class ByteArrayPool { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 400072039 - ) - @Export("ByteArrayPool_smallCount") - static int ByteArrayPool_smallCount; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -692172719 - ) - @Export("ByteArrayPool_mediumCount") - static int ByteArrayPool_mediumCount; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -774539929 - ) - @Export("ByteArrayPool_largeCount") - static int ByteArrayPool_largeCount; - @ObfuscatedName("w") - @Export("ByteArrayPool_small") - static byte[][] ByteArrayPool_small; - @ObfuscatedName("t") - @Export("ByteArrayPool_medium") - static byte[][] ByteArrayPool_medium; - @ObfuscatedName("j") - @Export("ByteArrayPool_large") - static byte[][] ByteArrayPool_large; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1247159051 + ) + @Export("ByteArrayPool_smallCount") + static int ByteArrayPool_smallCount = 0; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1859253651 + ) + @Export("ByteArrayPool_mediumCount") + static int ByteArrayPool_mediumCount = 0; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 282212251 + ) + @Export("ByteArrayPool_largeCount") + static int ByteArrayPool_largeCount = 0; + @ObfuscatedName("c") + @Export("ByteArrayPool_small") + static byte[][] ByteArrayPool_small = new byte[1000][]; + @ObfuscatedName("y") + @Export("ByteArrayPool_medium") + static byte[][] ByteArrayPool_medium = new byte[250][]; + @ObfuscatedName("h") + @Export("ByteArrayPool_large") + static byte[][] ByteArrayPool_large = new byte[50][]; + @ObfuscatedName("q") + @Export("ByteArrayPool_arrays") + static byte[][][] ByteArrayPool_arrays; - static { - ByteArrayPool_smallCount = 0; // L: 4 - ByteArrayPool_mediumCount = 0; // L: 5 - ByteArrayPool_largeCount = 0; // L: 6 - ByteArrayPool_small = new byte[1000][]; // L: 7 - ByteArrayPool_medium = new byte[250][]; // L: 8 - ByteArrayPool_large = new byte[50][]; // L: 9 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IZI)[B", + garbageValue = "-1630315856" + ) + @Export("ByteArrayPool_getArrayBool") + static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { + byte[] var4; + if (var0 != 100) { + if (var0 < 100) { + ; + } + } else if (ByteArrayPool_smallCount > 0) { + var4 = ByteArrayPool_small[--ByteArrayPool_smallCount]; + ByteArrayPool_small[ByteArrayPool_smallCount] = null; + return var4; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IZB)[B", - garbageValue = "1" - ) - @Export("ByteArrayPool_getArrayBool") - static synchronized byte[] ByteArrayPool_getArrayBool(int var0, boolean var1) { - byte[] var4; - if (var0 != 100) { // L: 20 - if (var0 < 100) { - } - } else if (ByteArrayPool_smallCount > 0) { - var4 = ByteArrayPool_small[--ByteArrayPool_smallCount]; // L: 21 - ByteArrayPool_small[ByteArrayPool_smallCount] = null; // L: 22 - return var4; // L: 23 - } + if (var0 != 5000) { + if (var0 < 5000) { + ; + } + } else if (ByteArrayPool_mediumCount > 0) { + var4 = ByteArrayPool_medium[--ByteArrayPool_mediumCount]; + ByteArrayPool_medium[ByteArrayPool_mediumCount] = null; + return var4; + } - if (var0 != 5000) { // L: 25 - if (var0 < 5000) { - } - } else if (ByteArrayPool_mediumCount > 0) { - var4 = ByteArrayPool_medium[--ByteArrayPool_mediumCount]; // L: 26 - ByteArrayPool_medium[ByteArrayPool_mediumCount] = null; // L: 27 - return var4; // L: 28 - } + if (var0 != 30000) { + if (var0 < 30000) { + ; + } + } else if (ByteArrayPool_largeCount > 0) { + var4 = ByteArrayPool_large[--ByteArrayPool_largeCount]; + ByteArrayPool_large[ByteArrayPool_largeCount] = null; + return var4; + } - if (var0 != 30000) { // L: 30 - if (var0 < 30000) { - } - } else if (ByteArrayPool_largeCount > 0) { - var4 = ByteArrayPool_large[--ByteArrayPool_largeCount]; // L: 31 - ByteArrayPool_large[ByteArrayPool_largeCount] = null; // L: 32 - return var4; // L: 33 - } + if (ByteArrayPool_arrays != null) { + for(int var2 = 0; var2 < TriBool.ByteArrayPool_alternativeSizes.length; ++var2) { + if (TriBool.ByteArrayPool_alternativeSizes[var2] != var0) { + if (var0 < TriBool.ByteArrayPool_alternativeSizes[var2]) { + ; + } + } else if (class225.ByteArrayPool_altSizeArrayCounts[var2] > 0) { + byte[] var3 = ByteArrayPool_arrays[var2][--class225.ByteArrayPool_altSizeArrayCounts[var2]]; + ByteArrayPool_arrays[var2][class225.ByteArrayPool_altSizeArrayCounts[var2]] = null; + return var3; + } + } + } - if (class23.ByteArrayPool_arrays != null) { // L: 35 - for (int var2 = 0; var2 < SoundCache.ByteArrayPool_alternativeSizes.length; ++var2) { // L: 36 - if (SoundCache.ByteArrayPool_alternativeSizes[var2] != var0) { // L: 37 - if (var0 < SoundCache.ByteArrayPool_alternativeSizes[var2]) { - } - } else if (JagexCache.ByteArrayPool_altSizeArrayCounts[var2] > 0) { - byte[] var3 = class23.ByteArrayPool_arrays[var2][--JagexCache.ByteArrayPool_altSizeArrayCounts[var2]]; // L: 38 - class23.ByteArrayPool_arrays[var2][JagexCache.ByteArrayPool_altSizeArrayCounts[var2]] = null; // L: 39 - return var3; // L: 40 - } - } - } - - return new byte[var0]; // L: 53 - } + return new byte[var0]; + } } diff --git a/runescape-client/src/main/java/Calendar.java b/runescape-client/src/main/java/Calendar.java index af1a38bb24..9659075f2c 100644 --- a/runescape-client/src/main/java/Calendar.java +++ b/runescape-client/src/main/java/Calendar.java @@ -4,49 +4,40 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hj") +@ObfuscatedName("hc") @Implements("Calendar") public class Calendar { - @ObfuscatedName("h") - @Export("MONTH_NAMES_ENGLISH_GERMAN") - static final String[][] MONTH_NAMES_ENGLISH_GERMAN; - @ObfuscatedName("v") - @Export("DAYS_OF_THE_WEEK") - static final String[] DAYS_OF_THE_WEEK; - @ObfuscatedName("x") - @Export("Calendar_calendar") - static java.util.Calendar Calendar_calendar; + @ObfuscatedName("n") + @Export("MONTH_NAMES_ENGLISH_GERMAN") + public static final String[][] MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}}; + @ObfuscatedName("v") + @Export("DAYS_OF_THE_WEEK") + public static final String[] DAYS_OF_THE_WEEK = new String[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; + @ObfuscatedName("d") + @Export("Calendar_calendar") + public static java.util.Calendar Calendar_calendar; - static { - MONTH_NAMES_ENGLISH_GERMAN = new String[][]{{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"}, {"jan", "fév", "mars", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc"}, {"jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez"}, {"jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"}, {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}, {"ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic"}}; // L: 7 - DAYS_OF_THE_WEEK = new String[]{"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // L: 17 - java.util.Calendar.getInstance(); // L: 21 - Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); // L: 22 - } // L: 23 + static { + java.util.Calendar.getInstance(); + Calendar_calendar = java.util.Calendar.getInstance(TimeZone.getTimeZone("GMT")); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1496948542" - ) - static final void method3985() { - Object var10000 = null; // L: 112 - String var0 = "Your friend list is full. Max of 200 for free users, and 400 for members"; - class234.addGameMessage(30, "", var0); // L: 114 - } // L: 116 + @ObfuscatedName("lh") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-1734349622" + ) + static String method4153(String var0) { + PlayerType[] var1 = class69.PlayerType_values(); - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "75" - ) - @Export("Messages_getNextChatID") - static int Messages_getNextChatID(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); // L: 77 - if (var1 == null) { // L: 78 - return -1; - } else { - return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; // L: 79 80 - } - } + for(int var2 = 0; var2 < var1.length; ++var2) { + PlayerType var3 = var1[var2]; + if (var3.modIcon != -1 && var0.startsWith(UserComparator10.method3580(var3.modIcon))) { + var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); + break; + } + } + + return var0; + } } diff --git a/runescape-client/src/main/java/Canvas.java b/runescape-client/src/main/java/Canvas.java index 26d20936c1..e4e6ea612e 100644 --- a/runescape-client/src/main/java/Canvas.java +++ b/runescape-client/src/main/java/Canvas.java @@ -1,565 +1,92 @@ import java.awt.Component; import java.awt.Graphics; -import java.awt.Image; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bx") +@ObfuscatedName("bq") @Implements("Canvas") public final class Canvas extends java.awt.Canvas { - @ObfuscatedName("ak") - static Image field425; - @ObfuscatedName("h") - @Export("component") - Component component; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = 2077405845 + ) + static int field439; + @ObfuscatedName("lz") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("mousedOverWidgetIf1") + static Widget mousedOverWidgetIf1; + @ObfuscatedName("n") + @Export("component") + Component component; - Canvas(Component var1) { - this.component = var1; // L: 11 - } // L: 12 + Canvas(Component var1) { + this.component = var1; + } - public final void update(Graphics var1) { - this.component.update(var1); // L: 15 - } // L: 16 + public final void update(Graphics var1) { + this.component.update(var1); + } - public final void paint(Graphics var1) { - this.component.paint(var1); // L: 19 - } // L: 20 + public final void paint(Graphics var1) { + this.component.paint(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;Lib;I)V", - garbageValue = "1765160595" - ) - public static void method912(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - HitSplatDefinition.HitSplatDefinition_archive = var0; // L: 46 - HitSplatDefinition.field3354 = var1; // L: 47 - HitSplatDefinition.HitSplatDefinition_fontsArchive = var2; - } + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-866196004" + ) + static int method935(int var0) { + return (int)Math.pow(2.0D, (double)(7.0F + (float)var0 / 256.0F)); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "1227984661" - ) - @Export("Messages_getHistorySize") - static int Messages_getHistorySize(int var0) { - ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); // L: 48 - return var1 == null ? 0 : var1.size(); // L: 49 50 - } + @ObfuscatedName("hc") + @ObfuscatedSignature( + descriptor = "(IIIIIIIIII)V", + garbageValue = "-614885261" + ) + @Export("updatePendingSpawn") + static final void updatePendingSpawn(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + PendingSpawn var9 = null; - @ObfuscatedName("fh") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "17" - ) - @Export("load") - static void load() { - int var12; - if (Client.titleLoadingStage == 0) { // L: 1726 - ArchiveLoader.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); // L: 1727 + 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) { + var9 = var10; + break; + } + } - for (var12 = 0; var12 < 4; ++var12) { // L: 1728 - Client.collisionMaps[var12] = new CollisionMap(104, 104); - } + if (var9 == null) { + var9 = new PendingSpawn(); + var9.plane = var0; + var9.type = var3; + var9.x = var1; + var9.y = var2; + WorldMapElement.method4592(var9); + Client.pendingSpawns.addFirst(var9); + } - class25.sceneMinimapSprite = new SpritePixels(512, 512); // L: 1729 - Login.Login_loadingText = "Starting game engine..."; // L: 1730 - Login.Login_loadingPercent = 5; // L: 1731 - Client.titleLoadingStage = 20; // L: 1732 - } else if (Client.titleLoadingStage == 20) { // L: 1735 - Login.Login_loadingText = "Prepared visibility map"; // L: 1736 - Login.Login_loadingPercent = 10; // L: 1737 - Client.titleLoadingStage = 30; // L: 1738 - } else if (Client.titleLoadingStage == 30) { // L: 1741 - SceneTilePaint.archive0 = WorldMapCacheName.newArchive(0, false, true, true); // L: 1742 - WorldMapSprite.archive1 = WorldMapCacheName.newArchive(1, false, true, true); // L: 1743 - DynamicObject.archive2 = WorldMapCacheName.newArchive(2, true, false, true); // L: 1744 - class330.archive3 = WorldMapCacheName.newArchive(3, false, true, true); // L: 1745 - class227.archive4 = WorldMapCacheName.newArchive(4, false, true, true); // L: 1746 - GameEngine.archive5 = WorldMapCacheName.newArchive(5, true, true, true); // L: 1747 - class217.archive6 = WorldMapCacheName.newArchive(6, true, true, true); // L: 1748 - BuddyRankComparator.archive7 = WorldMapCacheName.newArchive(7, false, true, true); // L: 1749 - Messages.archive8 = WorldMapCacheName.newArchive(8, false, true, true); // L: 1750 - GrandExchangeOfferUnitPriceComparator.archive9 = WorldMapCacheName.newArchive(9, false, true, true); // L: 1751 - class92.archive10 = WorldMapCacheName.newArchive(10, false, true, true); // L: 1752 - ItemContainer.archive11 = WorldMapCacheName.newArchive(11, false, true, true); // L: 1753 - PacketBufferNode.archive12 = WorldMapCacheName.newArchive(12, false, true, true); // L: 1754 - GrandExchangeOfferUnitPriceComparator.archive13 = WorldMapCacheName.newArchive(13, true, false, true); // L: 1755 - FontName.archive14 = WorldMapCacheName.newArchive(14, false, true, true); // L: 1756 - Client.archive15 = WorldMapCacheName.newArchive(15, false, true, true); // L: 1757 - class169.archive17 = WorldMapCacheName.newArchive(17, true, true, true); // L: 1758 - class41.archive18 = WorldMapCacheName.newArchive(18, false, true, true); // L: 1759 - class195.archive19 = WorldMapCacheName.newArchive(19, false, true, true); // L: 1760 - NetFileRequest.archive20 = WorldMapCacheName.newArchive(20, false, true, true); // L: 1761 - Login.Login_loadingText = "Connecting to update server"; // L: 1762 - Login.Login_loadingPercent = 20; // L: 1763 - Client.titleLoadingStage = 40; // L: 1764 - } else if (Client.titleLoadingStage == 40) { // L: 1767 - byte var23 = 0; // L: 1768 - var12 = var23 + SceneTilePaint.archive0.percentage() * 4 / 100; // L: 1769 - var12 += WorldMapSprite.archive1.percentage() * 4 / 100; // L: 1770 - var12 += DynamicObject.archive2.percentage() * 2 / 100; // L: 1771 - var12 += class330.archive3.percentage() * 2 / 100; // L: 1772 - var12 += class227.archive4.percentage() * 6 / 100; // L: 1773 - var12 += GameEngine.archive5.percentage() * 4 / 100; // L: 1774 - var12 += class217.archive6.percentage() * 2 / 100; // L: 1775 - var12 += BuddyRankComparator.archive7.percentage() * 56 / 100; // L: 1776 - var12 += Messages.archive8.percentage() * 2 / 100; // L: 1777 - var12 += GrandExchangeOfferUnitPriceComparator.archive9.percentage() * 2 / 100; // L: 1778 - var12 += class92.archive10.percentage() * 2 / 100; // L: 1779 - var12 += ItemContainer.archive11.percentage() * 2 / 100; // L: 1780 - var12 += PacketBufferNode.archive12.percentage() * 2 / 100; // L: 1781 - var12 += GrandExchangeOfferUnitPriceComparator.archive13.percentage() * 2 / 100; // L: 1782 - var12 += FontName.archive14.percentage() * 2 / 100; // L: 1783 - var12 += Client.archive15.percentage() * 2 / 100; // L: 1784 - var12 += class195.archive19.percentage() / 100; // L: 1785 - var12 += class41.archive18.percentage() / 100; // L: 1786 - var12 += NetFileRequest.archive20.percentage() / 100; // L: 1787 - var12 += class169.archive17.method4304() && class169.archive17.isFullyLoaded() ? 1 : 0; // L: 1788 - if (var12 != 100) { // L: 1789 - if (var12 != 0) { // L: 1790 - Login.Login_loadingText = "Checking for updates - " + var12 + "%"; - } + var9.id = var4; + var9.field948 = var5; + var9.orientation = var6; + var9.delay = var7; + var9.hitpoints = var8; + } - Login.Login_loadingPercent = 30; // L: 1791 - } else { - UserComparator4.method3469(SceneTilePaint.archive0, "Animations"); // L: 1794 - UserComparator4.method3469(WorldMapSprite.archive1, "Skeletons"); // L: 1795 - UserComparator4.method3469(class227.archive4, "Sound FX"); // L: 1796 - UserComparator4.method3469(GameEngine.archive5, "Maps"); // L: 1797 - UserComparator4.method3469(class217.archive6, "Music Tracks"); // L: 1798 - UserComparator4.method3469(BuddyRankComparator.archive7, "Models"); // L: 1799 - UserComparator4.method3469(Messages.archive8, "Sprites"); // L: 1800 - UserComparator4.method3469(ItemContainer.archive11, "Music Jingles"); // L: 1801 - UserComparator4.method3469(FontName.archive14, "Music Samples"); // L: 1802 - UserComparator4.method3469(Client.archive15, "Music Patches"); // L: 1803 - UserComparator4.method3469(class195.archive19, "World Map"); // L: 1804 - UserComparator4.method3469(class41.archive18, "World Map Geography"); // L: 1805 - UserComparator4.method3469(NetFileRequest.archive20, "World Map Ground"); // L: 1806 - WorldMapManager.spriteIds = new GraphicsDefaults(); // L: 1807 - WorldMapManager.spriteIds.decode(class169.archive17); // L: 1808 - Login.Login_loadingText = "Loaded update list"; // L: 1809 - Login.Login_loadingPercent = 30; // L: 1810 - Client.titleLoadingStage = 45; // L: 1811 - } - } else { - Archive var2; - Archive var16; - Archive var21; - if (Client.titleLoadingStage == 45) { // L: 1814 - WorldMapIcon_0.method270(22050, !Client.isLowDetail, 2); // L: 1815 - MidiPcmStream var20 = new MidiPcmStream(); // L: 1816 - var20.method3759(9, 128); // L: 1817 - AbstractWorldMapData.pcmPlayer0 = UserComparator6.method3526(GameEngine.taskHandler, 0, 22050); // L: 1818 - AbstractWorldMapData.pcmPlayer0.setStream(var20); // L: 1819 - var21 = Client.archive15; // L: 1820 - var2 = FontName.archive14; // L: 1821 - var16 = class227.archive4; // L: 1822 - class206.musicPatchesArchive = var21; // L: 1824 - class206.musicSamplesArchive = var2; // L: 1825 - class206.soundEffectsArchive = var16; // L: 1826 - class206.midiPcmStream = var20; // L: 1827 - FriendLoginUpdate.pcmPlayer1 = UserComparator6.method3526(GameEngine.taskHandler, 1, 2048); // L: 1829 - WorldMapManager.pcmStreamMixer = new PcmStreamMixer(); // L: 1830 - FriendLoginUpdate.pcmPlayer1.setStream(WorldMapManager.pcmStreamMixer); // L: 1831 - ItemLayer.decimator = new Decimator(22050, PcmPlayer.field1443); // L: 1832 - Login.Login_loadingText = "Prepared sound engine"; // L: 1833 - Login.Login_loadingPercent = 35; // L: 1834 - Client.titleLoadingStage = 50; // L: 1835 - WorldMapLabel.WorldMapElement_fonts = new Fonts(Messages.archive8, GrandExchangeOfferUnitPriceComparator.archive13); // L: 1836 - } else if (Client.titleLoadingStage == 50) { // L: 1839 - var12 = FontName.method5353().length; // L: 1840 - Client.fontsMap = WorldMapLabel.WorldMapElement_fonts.createMap(FontName.method5353()); // L: 1841 - if (Client.fontsMap.size() < var12) { // L: 1842 - Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var12 + "%"; // L: 1843 - Login.Login_loadingPercent = 40; // L: 1844 - } else { - class297.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); // L: 1847 - WorldMapLabelSize.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); // L: 1848 - GrandExchangeOfferTotalQuantityComparator.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); // L: 1849 - class58.platformInfo = Client.platformInfoProvider.get(); // L: 1850 - Login.Login_loadingText = "Loaded fonts"; // L: 1851 - Login.Login_loadingPercent = 40; // L: 1852 - Client.titleLoadingStage = 60; // L: 1853 - } - } else { - int var3; - int var15; - if (Client.titleLoadingStage == 60) { // L: 1856 - var21 = class92.archive10; // L: 1858 - var2 = Messages.archive8; // L: 1859 - var3 = 0; // L: 1861 - if (var21.tryLoadFileByNames("title.jpg", "")) { // L: 1862 - ++var3; - } - - if (var2.tryLoadFileByNames("logo", "")) { // L: 1863 - ++var3; - } - - if (var2.tryLoadFileByNames("logo_deadman_mode", "")) { // L: 1864 - ++var3; - } - - if (var2.tryLoadFileByNames("logo_seasonal_mode", "")) { // L: 1865 - ++var3; - } - - if (var2.tryLoadFileByNames("titlebox", "")) { // L: 1866 - ++var3; - } - - if (var2.tryLoadFileByNames("titlebutton", "")) { // L: 1867 - ++var3; - } - - if (var2.tryLoadFileByNames("runes", "")) { // L: 1868 - ++var3; - } - - if (var2.tryLoadFileByNames("title_mute", "")) { // L: 1869 - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,0", "")) { // L: 1870 - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,2", "")) { // L: 1871 - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,4", "")) { // L: 1872 - ++var3; - } - - if (var2.tryLoadFileByNames("options_radio_buttons,6", "")) { // L: 1873 - ++var3; - } - - var2.tryLoadFileByNames("sl_back", ""); // L: 1874 - var2.tryLoadFileByNames("sl_flags", ""); // L: 1875 - var2.tryLoadFileByNames("sl_arrows", ""); // L: 1876 - var2.tryLoadFileByNames("sl_stars", ""); // L: 1877 - var2.tryLoadFileByNames("sl_button", ""); // L: 1878 - var15 = DynamicObject.method2304(); // L: 1882 - if (var3 < var15) { // L: 1883 - Login.Login_loadingText = "Loading title screen - " + var3 * 100 / var15 + "%"; // L: 1884 - Login.Login_loadingPercent = 50; // L: 1885 - } else { - Login.Login_loadingText = "Loaded title screen"; // L: 1888 - Login.Login_loadingPercent = 50; // L: 1889 - WorldMapCacheName.updateGameState(5); // L: 1890 - Client.titleLoadingStage = 70; // L: 1891 - } - } else if (Client.titleLoadingStage == 70) { // L: 1894 - if (!DynamicObject.archive2.isFullyLoaded()) { // L: 1895 - Login.Login_loadingText = "Loading config - " + DynamicObject.archive2.loadPercent() + "%"; // L: 1896 - Login.Login_loadingPercent = 60; // L: 1897 - } else { - MouseHandler.method1157(DynamicObject.archive2); // L: 1900 - Archive var19 = DynamicObject.archive2; // L: 1901 - FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var19; // L: 1903 - var21 = DynamicObject.archive2; // L: 1905 - var2 = BuddyRankComparator.archive7; // L: 1906 - KitDefinition.KitDefinition_archive = var21; // L: 1908 - class227.KitDefinition_modelsArchive = var2; // L: 1909 - KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); // L: 1910 - var16 = DynamicObject.archive2; // L: 1912 - Archive var4 = BuddyRankComparator.archive7; // L: 1913 - boolean var17 = Client.isLowDetail; // L: 1914 - ObjectComposition.ObjectDefinition_archive = var16; // L: 1916 - ObjectComposition.ObjectDefinition_modelsArchive = var4; // L: 1917 - ObjectComposition.ObjectDefinition_isLowDetail = var17; // L: 1918 - World.method1849(DynamicObject.archive2, BuddyRankComparator.archive7); // L: 1920 - ParamComposition.method4526(DynamicObject.archive2); // L: 1921 - Actor.method1821(DynamicObject.archive2, BuddyRankComparator.archive7, Client.isMembersWorld, class297.fontPlain11); // L: 1922 - PcmPlayer.method2538(DynamicObject.archive2, SceneTilePaint.archive0, WorldMapSprite.archive1); // L: 1923 - ModelData0.method3331(DynamicObject.archive2, BuddyRankComparator.archive7); // L: 1924 - class200.method3712(DynamicObject.archive2); // L: 1925 - Archive var18 = DynamicObject.archive2; // L: 1926 - class1.VarpDefinition_archive = var18; // L: 1928 - VarpDefinition.VarpDefinition_fileCount = class1.VarpDefinition_archive.getGroupFileCount(16); // L: 1929 - Archive var22 = class330.archive3; // L: 1931 - Archive var8 = BuddyRankComparator.archive7; // L: 1932 - Archive var9 = Messages.archive8; // L: 1933 - Archive var10 = GrandExchangeOfferUnitPriceComparator.archive13; // L: 1934 - class58.Widget_archive = var22; // L: 1936 - GrandExchangeOfferWorldComparator.Widget_modelsArchive = var8; // L: 1937 - class1.Widget_spritesArchive = var9; // L: 1938 - Bounds.Widget_fontsArchive = var10; // L: 1939 - class9.Widget_interfaceComponents = new Widget[class58.Widget_archive.getGroupCount()][]; // L: 1940 - class195.Widget_loadedInterfaces = new boolean[class58.Widget_archive.getGroupCount()]; // L: 1941 - Archive var11 = DynamicObject.archive2; // L: 1943 - InvDefinition.InvDefinition_archive = var11; // L: 1945 - StructComposition.method4545(DynamicObject.archive2); // L: 1947 - ModelData0.method3330(DynamicObject.archive2); // L: 1948 - class13.method129(DynamicObject.archive2); // L: 1949 - Varcs.varcs = new Varcs(); // L: 1950 - method912(DynamicObject.archive2, Messages.archive8, GrandExchangeOfferUnitPriceComparator.archive13); // L: 1951 - ServerPacket.method3669(DynamicObject.archive2, Messages.archive8); // L: 1952 - class219.method4010(DynamicObject.archive2, Messages.archive8); // L: 1953 - Login.Login_loadingText = "Loaded config"; // L: 1954 - Login.Login_loadingPercent = 60; // L: 1955 - Client.titleLoadingStage = 80; // L: 1956 - } - } else if (Client.titleLoadingStage == 80) { // L: 1959 - var12 = 0; // L: 1960 - if (UrlRequester.compass == null) { // L: 1961 - UrlRequester.compass = Skills.SpriteBuffer_getSprite(Messages.archive8, WorldMapManager.spriteIds.compass, 0); - } else { - ++var12; // L: 1962 - } - - if (ViewportMouse.redHintArrowSpritePixels == null) { // L: 1963 - ViewportMouse.redHintArrowSpritePixels = Skills.SpriteBuffer_getSprite(Messages.archive8, WorldMapManager.spriteIds.field3845, 0); - } else { - ++var12; // L: 1964 - } - - IndexedSprite[] var1; - IndexedSprite[] var5; - int var6; - IndexedSprite var7; - if (WorldMapRegion.mapSceneSprites == null) { // L: 1965 - var2 = Messages.archive8; // L: 1967 - var3 = WorldMapManager.spriteIds.mapScenes; // L: 1968 - if (!class304.method5363(var2, var3, 0)) { // L: 1970 - var1 = null; // L: 1971 - } else { - var5 = new IndexedSprite[class336.SpriteBuffer_spriteCount]; // L: 1976 - - for (var6 = 0; var6 < class336.SpriteBuffer_spriteCount; ++var6) { // L: 1977 - var7 = var5[var6] = new IndexedSprite(); // L: 1978 - var7.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 1979 - var7.height = class336.SpriteBuffer_spriteHeight; // L: 1980 - var7.xOffset = class336.SpriteBuffer_xOffsets[var6]; // L: 1981 - var7.yOffset = class336.SpriteBuffer_yOffsets[var6]; // L: 1982 - var7.subWidth = class336.SpriteBuffer_spriteWidths[var6]; // L: 1983 - var7.subHeight = class336.SpriteBuffer_spriteHeights[var6]; // L: 1984 - var7.palette = class336.SpriteBuffer_spritePalette; // L: 1985 - var7.pixels = GrandExchangeEvents.SpriteBuffer_pixels[var6]; // L: 1986 - } - - class336.SpriteBuffer_xOffsets = null; // L: 1989 - class336.SpriteBuffer_yOffsets = null; // L: 1990 - class336.SpriteBuffer_spriteWidths = null; // L: 1991 - class336.SpriteBuffer_spriteHeights = null; // L: 1992 - class336.SpriteBuffer_spritePalette = null; // L: 1993 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 1994 - var1 = var5; // L: 1998 - } - - WorldMapRegion.mapSceneSprites = var1; // L: 2000 - } else { - ++var12; // L: 2002 - } - - if (Message.headIconPkSpritePixels == null) { // L: 2003 - Message.headIconPkSpritePixels = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.headIconsPk, 0); - } else { - ++var12; // L: 2004 - } - - if (Client.headIconPrayerSpritePixels == null) { // L: 2005 - Client.headIconPrayerSpritePixels = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.field3844, 0); - } else { - ++var12; // L: 2006 - } - - if (AbstractWorldMapIcon.headIconHintSpritePixels == null) { // L: 2007 - AbstractWorldMapIcon.headIconHintSpritePixels = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.field3843, 0); - } else { - ++var12; // L: 2008 - } - - if (GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels == null) { // L: 2009 - GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.field3846, 0); - } else { - ++var12; // L: 2010 - } - - if (GrandExchangeOfferAgeComparator.crossSprites == null) { // L: 2011 - GrandExchangeOfferAgeComparator.crossSprites = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.field3847, 0); - } else { - ++var12; // L: 2012 - } - - if (Actor.mapDotSprites == null) { // L: 2013 - Actor.mapDotSprites = ClientPreferences.method1918(Messages.archive8, WorldMapManager.spriteIds.field3848, 0); - } else { - ++var12; // L: 2014 - } - - if (InterfaceParent.scrollBarSprites == null) { // L: 2015 - var2 = Messages.archive8; // L: 2017 - var3 = WorldMapManager.spriteIds.field3849; // L: 2018 - if (!class304.method5363(var2, var3, 0)) { // L: 2020 - var1 = null; // L: 2021 - } else { - var5 = new IndexedSprite[class336.SpriteBuffer_spriteCount]; // L: 2026 - - for (var6 = 0; var6 < class336.SpriteBuffer_spriteCount; ++var6) { // L: 2027 - var7 = var5[var6] = new IndexedSprite(); // L: 2028 - var7.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 2029 - var7.height = class336.SpriteBuffer_spriteHeight; // L: 2030 - var7.xOffset = class336.SpriteBuffer_xOffsets[var6]; // L: 2031 - var7.yOffset = class336.SpriteBuffer_yOffsets[var6]; // L: 2032 - var7.subWidth = class336.SpriteBuffer_spriteWidths[var6]; // L: 2033 - var7.subHeight = class336.SpriteBuffer_spriteHeights[var6]; // L: 2034 - var7.palette = class336.SpriteBuffer_spritePalette; // L: 2035 - var7.pixels = GrandExchangeEvents.SpriteBuffer_pixels[var6]; // L: 2036 - } - - class336.SpriteBuffer_xOffsets = null; // L: 2039 - class336.SpriteBuffer_yOffsets = null; // L: 2040 - class336.SpriteBuffer_spriteWidths = null; // L: 2041 - class336.SpriteBuffer_spriteHeights = null; // L: 2042 - class336.SpriteBuffer_spritePalette = null; // L: 2043 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 2044 - var1 = var5; // L: 2048 - } - - InterfaceParent.scrollBarSprites = var1; // L: 2050 - } else { - ++var12; // L: 2052 - } - - if (class39.modIconSprites == null) { // L: 2053 - var2 = Messages.archive8; // L: 2055 - var3 = WorldMapManager.spriteIds.field3850; // L: 2056 - if (!class304.method5363(var2, var3, 0)) { // L: 2058 - var1 = null; // L: 2059 - } else { - var5 = new IndexedSprite[class336.SpriteBuffer_spriteCount]; // L: 2064 - - for (var6 = 0; var6 < class336.SpriteBuffer_spriteCount; ++var6) { // L: 2065 - var7 = var5[var6] = new IndexedSprite(); // L: 2066 - var7.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 2067 - var7.height = class336.SpriteBuffer_spriteHeight; // L: 2068 - var7.xOffset = class336.SpriteBuffer_xOffsets[var6]; // L: 2069 - var7.yOffset = class336.SpriteBuffer_yOffsets[var6]; // L: 2070 - var7.subWidth = class336.SpriteBuffer_spriteWidths[var6]; // L: 2071 - var7.subHeight = class336.SpriteBuffer_spriteHeights[var6]; // L: 2072 - var7.palette = class336.SpriteBuffer_spritePalette; // L: 2073 - var7.pixels = GrandExchangeEvents.SpriteBuffer_pixels[var6]; // L: 2074 - } - - class336.SpriteBuffer_xOffsets = null; // L: 2077 - class336.SpriteBuffer_yOffsets = null; // L: 2078 - class336.SpriteBuffer_spriteWidths = null; // L: 2079 - class336.SpriteBuffer_spriteHeights = null; // L: 2080 - class336.SpriteBuffer_spritePalette = null; // L: 2081 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 2082 - var1 = var5; // L: 2086 - } - - class39.modIconSprites = var1; // L: 2088 - } else { - ++var12; // L: 2090 - } - - if (var12 < 11) { // L: 2091 - Login.Login_loadingText = "Loading sprites - " + var12 * 100 / 12 + "%"; // L: 2092 - Login.Login_loadingPercent = 70; // L: 2093 - } else { - AbstractFont.AbstractFont_modIconSprites = class39.modIconSprites; // L: 2096 - ViewportMouse.redHintArrowSpritePixels.normalize(); // L: 2097 - int var13 = (int)(Math.random() * 21.0D) - 10; // L: 2098 - int var14 = (int)(Math.random() * 21.0D) - 10; // L: 2099 - var3 = (int)(Math.random() * 21.0D) - 10; // L: 2100 - var15 = (int)(Math.random() * 41.0D) - 20; // L: 2101 - WorldMapRegion.mapSceneSprites[0].shiftColors(var13 + var15, var14 + var15, var15 + var3); // L: 2102 - Login.Login_loadingText = "Loaded sprites"; // L: 2103 - Login.Login_loadingPercent = 70; // L: 2104 - Client.titleLoadingStage = 90; // L: 2105 - } - } else if (Client.titleLoadingStage == 90) { // L: 2108 - if (!GrandExchangeOfferUnitPriceComparator.archive9.isFullyLoaded()) { // L: 2109 - Login.Login_loadingText = "Loading textures - " + "0%"; // L: 2110 - Login.Login_loadingPercent = 90; // L: 2111 - } else { - class307.textureProvider = new TextureProvider(GrandExchangeOfferUnitPriceComparator.archive9, Messages.archive8, 20, Timer.clientPreferences.field1057, Client.isLowDetail ? 64 : 128); // L: 2114 - Rasterizer3D.Rasterizer3D_setTextureLoader(class307.textureProvider); // L: 2115 - Rasterizer3D.Rasterizer3D_setBrightness(Timer.clientPreferences.field1057); // L: 2116 - Client.titleLoadingStage = 100; // L: 2117 - } - } else if (Client.titleLoadingStage == 100) { // L: 2120 - var12 = class307.textureProvider.getLoadedPercentage(); // L: 2121 - if (var12 < 100) { // L: 2122 - Login.Login_loadingText = "Loading textures - " + var12 + "%"; // L: 2123 - Login.Login_loadingPercent = 90; // L: 2124 - } else { - Login.Login_loadingText = "Loaded textures"; // L: 2127 - Login.Login_loadingPercent = 90; // L: 2128 - Client.titleLoadingStage = 110; // L: 2129 - } - } else if (Client.titleLoadingStage == 110) { // L: 2132 - SoundCache.mouseRecorder = new MouseRecorder(); // L: 2133 - GameEngine.taskHandler.newThreadTask(SoundCache.mouseRecorder, 10); // L: 2134 - Login.Login_loadingText = "Loaded input handler"; // L: 2135 - Login.Login_loadingPercent = 92; // L: 2136 - Client.titleLoadingStage = 120; // L: 2137 - } else if (Client.titleLoadingStage == 120) { // L: 2140 - if (!class92.archive10.tryLoadFileByNames("huffman", "")) { // L: 2141 - Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; // L: 2142 - Login.Login_loadingPercent = 94; // L: 2143 - } else { - Huffman var0 = new Huffman(class92.archive10.takeFileByNames("huffman", "")); // L: 2146 - RouteStrategy.method3643(var0); // L: 2147 - Login.Login_loadingText = "Loaded wordpack"; // L: 2148 - Login.Login_loadingPercent = 94; // L: 2149 - Client.titleLoadingStage = 130; // L: 2150 - } - } else if (Client.titleLoadingStage == 130) { // L: 2153 - if (!class330.archive3.isFullyLoaded()) { // L: 2154 - Login.Login_loadingText = "Loading interfaces - " + class330.archive3.loadPercent() * 4 / 5 + "%"; // L: 2155 - Login.Login_loadingPercent = 96; // L: 2156 - } else if (!PacketBufferNode.archive12.isFullyLoaded()) { // L: 2159 - Login.Login_loadingText = "Loading interfaces - " + (80 + PacketBufferNode.archive12.loadPercent() / 6) + "%"; // L: 2160 - Login.Login_loadingPercent = 96; // L: 2161 - } else if (!GrandExchangeOfferUnitPriceComparator.archive13.isFullyLoaded()) { // L: 2164 - Login.Login_loadingText = "Loading interfaces - " + (96 + GrandExchangeOfferUnitPriceComparator.archive13.loadPercent() / 50) + "%"; // L: 2165 - Login.Login_loadingPercent = 96; // L: 2166 - } else { - Login.Login_loadingText = "Loaded interfaces"; // L: 2169 - Login.Login_loadingPercent = 98; // L: 2170 - Client.titleLoadingStage = 140; // L: 2171 - } - } else if (Client.titleLoadingStage == 140) { // L: 2174 - Login.Login_loadingPercent = 100; // L: 2175 - if (!class195.archive19.tryLoadGroupByName(WorldMapCacheName.field328.name)) { // L: 2176 - Login.Login_loadingText = "Loading world map - " + class195.archive19.groupLoadPercentByName(WorldMapCacheName.field328.name) / 10 + "%"; // L: 2177 - } else { - if (WorldMapRectangle.worldMap == null) { // L: 2180 - WorldMapRectangle.worldMap = new WorldMap(); // L: 2181 - WorldMapRectangle.worldMap.init(class195.archive19, class41.archive18, NetFileRequest.archive20, GrandExchangeOfferTotalQuantityComparator.fontBold12, Client.fontsMap, WorldMapRegion.mapSceneSprites); // L: 2182 - } - - Login.Login_loadingText = "Loaded world map"; // L: 2184 - Client.titleLoadingStage = 150; // L: 2185 - } - } else if (Client.titleLoadingStage == 150) { // L: 2188 - WorldMapCacheName.updateGameState(10); // L: 2189 - } - } - } - } // L: 1733 1739 1765 1792 1812 1837 1845 1854 1886 1892 1898 1957 2094 2106 2112 2118 2125 2130 2138 2144 2151 2157 2162 2167 2172 2178 2186 2190 2192 - - @ObfuscatedName("kf") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "27" - ) - static boolean method911(int var0) { - for (int var1 = 0; var1 < Client.field870; ++var1) { // L: 10364 - if (Client.field693[var1] == var0) { // L: 10365 - return true; - } - } - - return false; // L: 10367 - } + @ObfuscatedName("kb") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-54323362" + ) + @Export("Clan_leaveChat") + static final void Clan_leaveChat() { + PacketBufferNode var0 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2270, Client.packetWriter.isaacCipher); + var0.packetBuffer.writeByte(0); + Client.packetWriter.addNode(var0); + } } diff --git a/runescape-client/src/main/java/ChatChannel.java b/runescape-client/src/main/java/ChatChannel.java index 6120a77d72..33e4656d9c 100644 --- a/runescape-client/src/main/java/ChatChannel.java +++ b/runescape-client/src/main/java/ChatChannel.java @@ -4,246 +4,161 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("co") +@ObfuscatedName("ct") @Implements("ChatChannel") public class ChatChannel { - @ObfuscatedName("mf") - @ObfuscatedGetter( - intValue = 29773269 - ) - @Export("selectedItemSlot") - static int selectedItemSlot; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Lbg;" - ) - @Export("messages") - Message[] messages; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -259879771 - ) - @Export("count") - int count; + @ObfuscatedName("hr") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("mapDotSprites") + static SpritePixels[] mapDotSprites; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Lbd;" + ) + @Export("messages") + Message[] messages = new Message[100]; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1722504417 + ) + @Export("count") + int count; - ChatChannel() { - this.messages = new Message[100]; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbd;", + garbageValue = "1561043824" + ) + @Export("addMessage") + Message addMessage(int var1, String var2, String var3, String var4) { + Message var5 = this.messages[99]; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Lbg;", - garbageValue = "2065978922" - ) - @Export("addMessage") - Message addMessage(int var1, String var2, String var3, String var4) { - Message var5 = this.messages[99]; + for(int var6 = this.count; var6 > 0; --var6) { + if (var6 != 100) { + this.messages[var6] = this.messages[var6 - 1]; + } + } - for (int var6 = this.count; var6 > 0; --var6) { - if (var6 != 100) { // L: 93 - this.messages[var6] = this.messages[var6 - 1]; // L: 94 - } - } + if (var5 == null) { + var5 = new Message(var1, var2, var4, var3); + } else { + var5.remove(); + var5.removeDual(); + var5.set(var1, var2, var4, var3); + } - if (var5 == null) { - var5 = new Message(var1, var2, var4, var3); - } else { - var5.remove(); // L: 98 - var5.removeDual(); - var5.set(var1, var2, var4, var3); - } + this.messages[0] = var5; + if (this.count < 100) { + ++this.count; + } - this.messages[0] = var5; - if (this.count < 100) { - ++this.count; - } + return var5; + } - return var5; // L: 104 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Lbd;", + garbageValue = "-55839716" + ) + @Export("getMessage") + Message getMessage(int var1) { + return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Lbg;", - garbageValue = "-52136333" - ) - @Export("getMessage") - Message getMessage(int var1) { - return var1 >= 0 && var1 < this.count ? this.messages[var1] : null; // L: 108 109 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2110362731" + ) + @Export("size") + int size() { + return this.count; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-845683507" - ) - @Export("size") - int size() { - return this.count; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;ZI)[B", + garbageValue = "488468248" + ) + public static byte[] method2405(Object var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0 instanceof byte[]) { + byte[] var3 = (byte[])((byte[])var0); + return var1 ? UrlRequester.method3460(var3) : var3; + } else if (var0 instanceof AbstractByteArrayCopier) { + AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; + return var2.get(); + } else { + throw new IllegalArgumentException(); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Lcs;", - garbageValue = "1674386327" - ) - @Export("getScript") - static Script getScript(int var0) { - Script var1 = (Script)Script.Script_cached.get((long)var0); - if (var1 != null) { - return var1; - } else { - byte[] var2 = PacketBufferNode.archive12.takeFile(var0, 0); - if (var2 == null) { - return null; - } else { - var1 = Actor.newScript(var2); - Script.Script_cached.put(var1, (long)var0); - return var1; // L: 33 - } - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lig;Ljava/lang/String;Ljava/lang/String;I)Lly;", + garbageValue = "591050656" + ) + @Export("SpriteBuffer_getIndexedSpriteByName") + public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + byte[] var7 = var0.takeFile(var3, var4); + boolean var6; + if (var7 == null) { + var6 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var7); + var6 = true; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljl;", - garbageValue = "1207819240" - ) - @Export("getParamDefinition") - public static ParamComposition getParamDefinition(int var0) { - ParamComposition var1 = (ParamComposition) ParamComposition.ParamDefinition_cached.get((long)var0); // L: 25 - if (var1 != null) { // L: 26 - return var1; - } else { - byte[] var2 = ParamComposition.ParamDefinition_archive.takeFile(11, var0); // L: 27 - var1 = new ParamComposition(); // L: 28 - if (var2 != null) { // L: 29 - var1.decode(new Buffer(var2)); - } + IndexedSprite var5; + if (!var6) { + var5 = null; + } else { + var5 = ApproximateRouteStrategy.method1304(); + } - var1.postDecode(); // L: 30 - ParamComposition.ParamDefinition_cached.put(var1, (long)var0); // L: 31 - return var1; // L: 32 - } - } + return var5; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([Lcj;II[I[II)V", - garbageValue = "-740794716" - ) - @Export("sortWorlds") - static void sortWorlds(World[] var0, int var1, int var2, int[] var3, int[] var4) { - if (var1 < var2) { // L: 81 - int var5 = var1 - 1; // L: 82 - int var6 = var2 + 1; // L: 83 - int var7 = (var2 + var1) / 2; // L: 84 - World var8 = var0[var7]; // L: 85 - var0[var7] = var0[var1]; // L: 86 - var0[var1] = var8; // L: 87 + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(Lcq;I)V", + garbageValue = "291320616" + ) + @Export("changeWorld") + static void changeWorld(World var0) { + if (var0.isMembersOnly() != Client.isMembersWorld) { + Client.isMembersWorld = var0.isMembersOnly(); + boolean var1 = var0.isMembersOnly(); + if (var1 != Bounds.ItemDefinition_inMembersWorld) { + ItemComposition.ItemDefinition_cached.clear(); + ItemComposition.ItemDefinition_cachedModels.clear(); + ItemComposition.ItemDefinition_cachedSprites.clear(); + Bounds.ItemDefinition_inMembersWorld = var1; + } + } - while (var5 < var6) { // L: 88 - boolean var9 = true; // L: 89 + if (var0.properties != Client.worldProperties) { + Archive var3 = ModeWhere.archive8; + int var2 = var0.properties; + if ((var2 & 536870912) != 0) { + Login.logoSprite = SpriteBuffer_getIndexedSpriteByName(var3, "logo_deadman_mode", ""); + } else if ((var2 & 1073741824) != 0) { + Login.logoSprite = SpriteBuffer_getIndexedSpriteByName(var3, "logo_seasonal_mode", ""); + } else { + Login.logoSprite = SpriteBuffer_getIndexedSpriteByName(var3, "logo", ""); + } + } - int var10; - int var11; - int var12; - do { - --var6; // L: 91 - - for (var10 = 0; var10 < 4; ++var10) { // L: 92 - if (var3[var10] == 2) { // L: 95 - var11 = var0[var6].index; // L: 96 - var12 = var8.index; // L: 97 - } else if (var3[var10] == 1) { // L: 99 - var11 = var0[var6].population; // L: 100 - var12 = var8.population; // L: 101 - if (var11 == -1 && var4[var10] == 1) { // L: 102 - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { // L: 103 - var12 = 2001; - } - } else if (var3[var10] == 3) { // L: 105 - var11 = var0[var6].isMembersOnly() ? 1 : 0; // L: 106 - var12 = var8.isMembersOnly() ? 1 : 0; // L: 107 - } else { - var11 = var0[var6].id; // L: 110 - var12 = var8.id; // L: 111 - } - - if (var11 != var12) { // L: 113 - if ((var4[var10] != 1 || var11 <= var12) && (var4[var10] != 0 || var11 >= var12)) { // L: 116 117 - var9 = false; // L: 119 - } - break; - } - - if (var10 == 3) { // L: 114 - var9 = false; - } - } - } while(var9); - - var9 = true; // L: 124 - - do { - ++var5; // L: 126 - - for (var10 = 0; var10 < 4; ++var10) { // L: 127 - if (var3[var10] == 2) { // L: 130 - var11 = var0[var5].index; // L: 131 - var12 = var8.index; // L: 132 - } else if (var3[var10] == 1) { // L: 134 - var11 = var0[var5].population; // L: 135 - var12 = var8.population; // L: 136 - if (var11 == -1 && var4[var10] == 1) { // L: 137 - var11 = 2001; - } - - if (var12 == -1 && var4[var10] == 1) { // L: 138 - var12 = 2001; - } - } else if (var3[var10] == 3) { // L: 140 - var11 = var0[var5].isMembersOnly() ? 1 : 0; // L: 141 - var12 = var8.isMembersOnly() ? 1 : 0; // L: 142 - } else { - var11 = var0[var5].id; // L: 145 - var12 = var8.id; // L: 146 - } - - if (var11 != var12) { // L: 148 - if ((var4[var10] != 1 || var11 >= var12) && (var4[var10] != 0 || var11 <= var12)) { // L: 151 152 - var9 = false; // L: 154 - } - break; - } - - if (var10 == 3) { // L: 149 - var9 = false; - } - } - } while(var9); - - if (var5 < var6) { // L: 159 - World var13 = var0[var5]; // L: 160 - var0[var5] = var0[var6]; // L: 161 - var0[var6] = var13; // L: 162 - } - } - - sortWorlds(var0, var1, var6, var3, var4); // L: 165 - sortWorlds(var0, var6 + 1, var2, var3, var4); // L: 166 - } - - } // L: 168 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "57" - ) - public static void method2317(int var0) { - MouseHandler.MouseHandler_idleCycles = var0; // L: 63 - } // L: 64 + MusicPatchNode.worldHost = var0.host; + Client.worldId = var0.id; + Client.worldProperties = var0.properties; + MouseRecorder.port1 = Client.gameBuild == 0 ? 'ꩊ' : var0.id + '鱀'; + class171.port2 = Client.gameBuild == 0 ? 443 : var0.id + '썐'; + DynamicObject.port3 = MouseRecorder.port1; + } } diff --git a/runescape-client/src/main/java/ClanChat.java b/runescape-client/src/main/java/ClanChat.java index 44562e9933..681a7a0563 100644 --- a/runescape-client/src/main/java/ClanChat.java +++ b/runescape-client/src/main/java/ClanChat.java @@ -7,196 +7,276 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("kt") @Implements("ClanChat") public class ClanChat extends UserList { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lka;" - ) - @Export("localUser") - final Usernamed localUser; - @ObfuscatedName("z") - @Export("name") - public String name; - @ObfuscatedName("u") - @Export("owner") - public String owner; - @ObfuscatedName("e") - @Export("minKick") - public byte minKick; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1015634539 - ) - @Export("rank") - public int rank; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1149112931 - ) - int field3676; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lkg;" + ) + @Export("localUser") + final Usernamed localUser; + @ObfuscatedName("l") + @Export("name") + public String name = null; + @ObfuscatedName("s") + @Export("owner") + public String owner = null; + @ObfuscatedName("b") + @Export("minKick") + public byte minKick; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1770422849 + ) + @Export("rank") + public int rank; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 348775717 + ) + int field3671 = 1; - @ObfuscatedSignature( - descriptor = "(Lmu;Lka;)V" - ) - public ClanChat(LoginType var1, Usernamed var2) { - super(100); // L: 18 - this.name = null; // L: 11 - this.owner = null; // L: 12 - this.field3676 = 1; // L: 15 - this.loginType = var1; // L: 19 - this.localUser = var2; // L: 20 - } // L: 21 + @ObfuscatedSignature( + descriptor = "(Lml;Lkg;)V" + ) + public ClanChat(LoginType var1, Usernamed var2) { + super(100); + this.loginType = var1; + this.localUser = var2; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)Lju;", - garbageValue = "-99" - ) - @Export("newInstance") - User newInstance() { - return new ClanMate(); // L: 24 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Ljn;", + garbageValue = "-315842787" + ) + @Export("newInstance") + User newInstance() { + return new ClanMate(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)[Lju;", - garbageValue = "-1524839332" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new ClanMate[var1]; // L: 28 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)[Ljn;", + garbageValue = "1723641195" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new ClanMate[var1]; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-513801120" - ) - @Export("readName") - final void readName(String var1) { - this.name = class238.method4166(var1); // L: 32 - } // L: 33 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1893983659" + ) + @Export("readName") + final void readName(String var1) { + long var5 = 0L; + int var7 = var1.length(); - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-83" - ) - @Export("setOwner") - final void setOwner(String var1) { - this.owner = class238.method4166(var1); // L: 36 - } // L: 37 + for(int var8 = 0; var8 < var7; ++var8) { + var5 *= 37L; + char var9 = var1.charAt(var8); + if (var9 >= 'A' && var9 <= 'Z') { + var5 += (long)(var9 + 1 - 65); + } else if (var9 >= 'a' && var9 <= 'z') { + var5 += (long)(var9 + 1 - 97); + } else if (var9 >= '0' && var9 <= '9') { + var5 += (long)(var9 + 27 - 48); + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-147839496" - ) - @Export("readUpdate") - public final void readUpdate(Buffer var1) { - this.setOwner(var1.readStringCp1252NullTerminated()); // L: 40 - long var2 = var1.readLong(); // L: 41 - this.readName(SecureRandomCallable.method1218(var2)); // L: 42 - this.minKick = var1.readByte(); // L: 43 - int var4 = var1.readUnsignedByte(); // L: 44 - if (var4 != 255) { // L: 45 - this.clear(); // L: 46 + if (var5 >= 177917621779460413L) { + break; + } + } - for (int var5 = 0; var5 < var4; ++var5) { // L: 47 - ClanMate var6 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); // L: 48 - int var7 = var1.readUnsignedShort(); // L: 49 - var6.set(var7, ++this.field3676 - 1); // L: 50 - var6.rank = var1.readByte(); // L: 51 - var1.readStringCp1252NullTerminated(); // L: 52 - this.isLocalPlayer(var6); // L: 53 - } + while(0L == var5 % 37L && var5 != 0L) { + var5 /= 37L; + } - } - } // L: 55 + String var10 = Messages.base37DecodeLong(var5); + if (var10 == null) { + var10 = ""; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Lkj;S)V", - garbageValue = "255" - ) - public final void method5251(Buffer var1) { - Username var2 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 58 - int var3 = var1.readUnsignedShort(); // L: 59 - byte var4 = var1.readByte(); // L: 60 - boolean var5 = false; // L: 61 - if (var4 == -128) { // L: 62 - var5 = true; - } + this.name = var10; + } - ClanMate var6; - if (var5) { // L: 63 - if (this.getSize() == 0) { // L: 64 - return; - } + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "1" + ) + @Export("setOwner") + final void setOwner(String var1) { + long var5 = 0L; + int var7 = var1.length(); - var6 = (ClanMate)this.getByCurrentUsername(var2); // L: 65 - if (var6 != null && var6.getWorld() == var3) { // L: 66 - this.remove(var6); // L: 67 - } - } else { - var1.readStringCp1252NullTerminated(); // L: 71 - var6 = (ClanMate)this.getByCurrentUsername(var2); // L: 72 - if (var6 == null) { // L: 73 - if (this.getSize() > super.capacity) { // L: 74 - return; - } + for(int var8 = 0; var8 < var7; ++var8) { + var5 *= 37L; + char var9 = var1.charAt(var8); + if (var9 >= 'A' && var9 <= 'Z') { + var5 += (long)(var9 + 1 - 65); + } else if (var9 >= 'a' && var9 <= 'z') { + var5 += (long)(var9 + 1 - 97); + } else if (var9 >= '0' && var9 <= '9') { + var5 += (long)(var9 + 27 - 48); + } - var6 = (ClanMate)this.addLastNoPreviousUsername(var2); // L: 75 - } + if (var5 >= 177917621779460413L) { + break; + } + } - var6.set(var3, ++this.field3676 - 1); // L: 77 - var6.rank = var4; // L: 78 - this.isLocalPlayer(var6); // L: 79 - } + while(var5 % 37L == 0L && 0L != var5) { + var5 /= 37L; + } - } // L: 81 + String var10 = Messages.base37DecodeLong(var5); + if (var10 == null) { + var10 = ""; + } - @ObfuscatedName("cz") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "29" - ) - @Export("clearFriends") - public final void clearFriends() { - for (int var1 = 0; var1 < this.getSize(); ++var1) { // L: 84 - ((ClanMate)this.get(var1)).clearIsFriend(); // L: 85 - } + this.owner = var10; + } - } // L: 87 + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "-9" + ) + @Export("readUpdate") + public final void readUpdate(Buffer var1) { + this.setOwner(var1.readStringCp1252NullTerminated()); + long var2 = var1.readLong(); + long var5 = var2; + String var4; + int var7; + if (var2 > 0L && var2 < 6582952005840035281L) { + if (var2 % 37L == 0L) { + var4 = null; + } else { + var7 = 0; - @ObfuscatedName("cc") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "82" - ) - @Export("invalidateIgnoreds") - public final void invalidateIgnoreds() { - for (int var1 = 0; var1 < this.getSize(); ++var1) { // L: 90 - ((ClanMate)this.get(var1)).clearIsIgnored(); // L: 91 - } + for(long var8 = var2; var8 != 0L; var8 /= 37L) { + ++var7; + } - } // L: 93 + StringBuilder var10 = new StringBuilder(var7); - @ObfuscatedName("ce") - @ObfuscatedSignature( - descriptor = "(Ljz;I)V", - garbageValue = "353715814" - ) - @Export("isLocalPlayer") - final void isLocalPlayer(ClanMate var1) { - if (var1.getUsername().equals(this.localUser.username())) { // L: 96 - this.rank = var1.rank; - } + while(0L != var5) { + long var11 = var5; + var5 /= 37L; + var10.append(class299.base37Table[(int)(var11 - var5 * 37L)]); + } - } // L: 97 + var4 = var10.reverse().toString(); + } + } else { + var4 = null; + } + + this.readName(var4); + this.minKick = var1.readByte(); + var7 = var1.readUnsignedByte(); + if (var7 != 255) { + this.clear(); + + for(int var13 = 0; var13 < var7; ++var13) { + ClanMate var9 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType)); + int var14 = var1.readUnsignedShort(); + var9.set(var14, ++this.field3671 - 1); + var9.rank = var1.readByte(); + var1.readStringCp1252NullTerminated(); + this.isLocalPlayer(var9); + } + + } + } + + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-941337557" + ) + public final void method5428(Buffer var1) { + Username var2 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + int var3 = var1.readUnsignedShort(); + byte var4 = var1.readByte(); + boolean var5 = false; + if (var4 == -128) { + var5 = true; + } + + ClanMate var6; + if (var5) { + if (this.getSize() == 0) { + return; + } + + var6 = (ClanMate)this.getByCurrentUsername(var2); + if (var6 != null && var6.getWorld() == var3) { + this.remove(var6); + } + } else { + var1.readStringCp1252NullTerminated(); + var6 = (ClanMate)this.getByCurrentUsername(var2); + if (var6 == null) { + if (this.getSize() > super.capacity) { + return; + } + + var6 = (ClanMate)this.addLastNoPreviousUsername(var2); + } + + var6.set(var3, ++this.field3671 - 1); + var6.rank = var4; + this.isLocalPlayer(var6); + } + + } + + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "17506" + ) + @Export("clearFriends") + public final void clearFriends() { + for(int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsFriend(); + } + + } + + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1186051536" + ) + @Export("invalidateIgnoreds") + public final void invalidateIgnoreds() { + for(int var1 = 0; var1 < this.getSize(); ++var1) { + ((ClanMate)this.get(var1)).clearIsIgnored(); + } + + } + + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "(Ljb;I)V", + garbageValue = "1217977801" + ) + @Export("isLocalPlayer") + final void isLocalPlayer(ClanMate var1) { + if (var1.getUsername().equals(this.localUser.username())) { + this.rank = var1.rank; + } + + } } diff --git a/runescape-client/src/main/java/ClanMate.java b/runescape-client/src/main/java/ClanMate.java index 6d1116486d..7e47dde327 100644 --- a/runescape-client/src/main/java/ClanMate.java +++ b/runescape-client/src/main/java/ClanMate.java @@ -3,92 +3,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jz") +@ObfuscatedName("jb") @Implements("ClanMate") public class ClanMate extends Buddy { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("friend") - TriBool friend; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("ignored") - TriBool ignored; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("friend") + TriBool friend; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("ignored") + TriBool ignored; - ClanMate() { - this.friend = TriBool.TriBool_unknown; // L: 6 - this.ignored = TriBool.TriBool_unknown; // L: 7 - } // L: 9 + ClanMate() { + this.friend = TriBool.TriBool_unknown; + this.ignored = TriBool.TriBool_unknown; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1060606481" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.friend = TriBool.TriBool_unknown; // L: 12 - } // L: 13 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1122963499" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.friend = TriBool.TriBool_unknown; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1638349091" - ) - @Export("isFriend") - public final boolean isFriend() { - if (this.friend == TriBool.TriBool_unknown) { // L: 16 - this.fillIsFriend(); // L: 17 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1693898868" + ) + @Export("isFriend") + public final boolean isFriend() { + if (this.friend == TriBool.TriBool_unknown) { + this.fillIsFriend(); + } - return this.friend == TriBool.TriBool_true; // L: 19 - } + return this.friend == TriBool.TriBool_true; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "62" - ) - @Export("fillIsFriend") - void fillIsFriend() { - this.friend = MilliClock.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 23 - } // L: 24 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-932162684" + ) + @Export("fillIsFriend") + void fillIsFriend() { + this.friend = InterfaceParent.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1987329827" - ) - @Export("clearIsIgnored") - void clearIsIgnored() { - this.ignored = TriBool.TriBool_unknown; // L: 27 - } // L: 28 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1113333247" + ) + @Export("clearIsIgnored") + void clearIsIgnored() { + this.ignored = TriBool.TriBool_unknown; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-842680773" - ) - @Export("isIgnored") - public final boolean isIgnored() { - if (this.ignored == TriBool.TriBool_unknown) { // L: 31 - this.fillIsIgnored(); // L: 32 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1838909924" + ) + @Export("isIgnored") + public final boolean isIgnored() { + if (this.ignored == TriBool.TriBool_unknown) { + this.fillIsIgnored(); + } - return this.ignored == TriBool.TriBool_true; // L: 34 - } + return this.ignored == TriBool.TriBool_true; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-77" - ) - @Export("fillIsIgnored") - void fillIsIgnored() { - this.ignored = MilliClock.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 38 - } // L: 39 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1629114941" + ) + @Export("fillIsIgnored") + void fillIsIgnored() { + this.ignored = InterfaceParent.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } } diff --git a/runescape-client/src/main/java/Client.java b/runescape-client/src/main/java/Client.java index 3190819024..495b0f6586 100644 --- a/runescape-client/src/main/java/Client.java +++ b/runescape-client/src/main/java/Client.java @@ -1,6 +1,4 @@ -import java.io.File; import java.io.IOException; -import java.io.RandomAccessFile; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; @@ -11,5966 +9,5958 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; import netscape.javascript.JSObject; @Implements("Client") @ObfuscatedName("client") public final class Client extends GameEngine implements Usernamed { - @ObfuscatedName("ns") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("clickedWidget") - static Widget clickedWidget; - @ObfuscatedName("op") - @ObfuscatedGetter( - intValue = 1970983367 - ) - static int field852; - @ObfuscatedName("og") - @ObfuscatedGetter( - intValue = 763008721 - ) - @Export("rootWidgetCount") - static int rootWidgetCount; - @ObfuscatedName("ov") - @ObfuscatedGetter( - longValue = -3960298575830209827L - ) - static long field861; - @ObfuscatedName("ol") - static boolean[] field901; - @ObfuscatedName("oi") - static boolean[] field855; - @ObfuscatedName("ot") - static boolean[] field854; - @ObfuscatedName("ny") - static boolean field829; - @ObfuscatedName("nr") - static boolean field859; - @ObfuscatedName("nb") - @ObfuscatedGetter( - intValue = -1525007605 - ) - @Export("cycleCntr") - static int cycleCntr; - @ObfuscatedName("pb") - @Export("isResizable") - static boolean isResizable; - @ObfuscatedName("sg") - @ObfuscatedGetter( - intValue = -1236989805 - ) - public static int field915; - @ObfuscatedName("oh") - @ObfuscatedGetter( - intValue = -834376263 - ) - static int field879; - @ObfuscatedName("qk") - static boolean field883; - @ObfuscatedName("ni") - @ObfuscatedGetter( - intValue = -964374005 - ) - @Export("widgetClickX") - static int widgetClickX; - @ObfuscatedName("nl") - @ObfuscatedGetter( - intValue = 663873135 - ) - @Export("widgetClickY") - static int widgetClickY; - @ObfuscatedName("nv") - @ObfuscatedGetter( - intValue = -863251767 - ) - static int field827; - @ObfuscatedName("of") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("widgetFlags") - static NodeHashTable widgetFlags; - @ObfuscatedName("nm") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("clickedWidgetParent") - static Widget clickedWidgetParent; - @ObfuscatedName("ou") - @Export("rootWidgetXs") - static int[] rootWidgetXs; - @ObfuscatedName("oy") - @Export("rootWidgetWidths") - static int[] rootWidgetWidths; - @ObfuscatedName("nf") - @ObfuscatedGetter( - intValue = -1253957595 - ) - static int field716; - @ObfuscatedName("ng") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("viewportWidget") - static Widget viewportWidget; - @ObfuscatedName("ok") - @ObfuscatedGetter( - intValue = 619022291 - ) - @Export("gameDrawingMode") - static int gameDrawingMode; - @ObfuscatedName("oe") - @Export("rootWidgetYs") - static int[] rootWidgetYs; - @ObfuscatedName("om") - @ObfuscatedGetter( - intValue = 44319291 - ) - @Export("mouseWheelRotation") - static int mouseWheelRotation; - @ObfuscatedName("mm") - @ObfuscatedGetter( - intValue = 760468781 - ) - @Export("staffModLevel") - public static int staffModLevel; - @ObfuscatedName("oa") - @Export("rootWidgetHeights") - static int[] rootWidgetHeights; - @ObfuscatedName("tj") - @ObfuscatedSignature( - descriptor = "Lba;" - ) - static final ApproximateRouteStrategy field919; - @ObfuscatedName("qc") - @ObfuscatedGetter( - intValue = 1338518997 - ) - @Export("currentTrackGroupId") - static int currentTrackGroupId; - @ObfuscatedName("oo") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("scriptEvents") - static NodeDeque scriptEvents; - @ObfuscatedName("ne") - @ObfuscatedGetter( - intValue = -1341323171 - ) - static int field853; - @ObfuscatedName("no") - @ObfuscatedGetter( - intValue = -1828083517 - ) - static int field923; - @ObfuscatedName("nh") - @ObfuscatedGetter( - intValue = 701419483 - ) - static int field862; - @ObfuscatedName("nt") - @ObfuscatedGetter( - intValue = 1311691811 - ) - @Export("changedVarpCount") - static int changedVarpCount; - @ObfuscatedName("tc") - static int[] field920; - @ObfuscatedName("tr") - static int[] field921; - @ObfuscatedName("sr") - @Export("archiveLoaders") - static ArrayList archiveLoaders; - @ObfuscatedName("sm") - @ObfuscatedGetter( - intValue = -1916983899 - ) - @Export("archiveLoadersDone") - static int archiveLoadersDone; - @ObfuscatedName("oj") - @ObfuscatedGetter( - intValue = 1100002729 - ) - static int field842; - @ObfuscatedName("na") - @Export("isDraggingWidget") - static boolean isDraggingWidget; - @ObfuscatedName("mp") - @ObfuscatedGetter( - intValue = -46428687 - ) - @Export("runEnergy") - static int runEnergy; - @ObfuscatedName("mo") - @ObfuscatedGetter( - intValue = 1591102325 - ) - @Export("weight") - static int weight; - @ObfuscatedName("ss") - @ObfuscatedSignature( - descriptor = "[Ly;" - ) - @Export("grandExchangeOffers") - static GrandExchangeOffer[] grandExchangeOffers; - @ObfuscatedName("si") - @ObfuscatedGetter( - intValue = -1073533511 - ) - static int field813; - @ObfuscatedName("or") - @ObfuscatedGetter( - intValue = 1164434239 - ) - static int field685; - @ObfuscatedName("sl") - @ObfuscatedSignature( - descriptor = "Lhh;" - ) - @Export("playerAppearance") - static PlayerComposition playerComposition; - @ObfuscatedName("sk") - @ObfuscatedGetter( - intValue = -1302699221 - ) - static int field911; - @ObfuscatedName("nc") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("draggedOnWidget") - static Widget draggedOnWidget; - @ObfuscatedName("qb") - @ObfuscatedGetter( - intValue = 823228995 - ) - @Export("minimapState") - static int minimapState; - @ObfuscatedName("qs") - @ObfuscatedGetter( - intValue = 424329615 - ) - @Export("soundEffectCount") - static int soundEffectCount; - @ObfuscatedName("sq") - @ObfuscatedSignature( - descriptor = "Lmi;" - ) - @Export("platformInfoProvider") - static PlatformInfoProvider platformInfoProvider; - @ObfuscatedName("qg") - @Export("soundEffectIds") - static int[] soundEffectIds; - @ObfuscatedName("qo") - @Export("queuedSoundEffectLoops") - static int[] queuedSoundEffectLoops; - @ObfuscatedName("rd") - static boolean[] field902; - @ObfuscatedName("qd") - @Export("queuedSoundEffectDelays") - static int[] queuedSoundEffectDelays; - @ObfuscatedName("ri") - static int[] field679; - @ObfuscatedName("rj") - static int[] field893; - @ObfuscatedName("qj") - @ObfuscatedSignature( - descriptor = "[Ldq;" - ) - @Export("soundEffects") - static SoundEffect[] soundEffects; - @ObfuscatedName("qf") - @ObfuscatedGetter( - intValue = -1261756273 - ) - @Export("destinationX") - static int destinationX; - @ObfuscatedName("rt") - static int[] field705; - @ObfuscatedName("oc") - @ObfuscatedGetter( - intValue = -1187221809 - ) - static int field845; - @ObfuscatedName("mh") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("meslayerContinueWidget") - static Widget meslayerContinueWidget; - @ObfuscatedName("qt") - @Export("soundLocations") - static int[] soundLocations; - @ObfuscatedName("qu") - @ObfuscatedGetter( - intValue = 102746825 - ) - @Export("destinationY") - static int destinationY; - @ObfuscatedName("rc") - static int[] field644; - @ObfuscatedName("pw") - @ObfuscatedGetter( - intValue = -59171105 - ) - static int field874; - @ObfuscatedName("py") - @ObfuscatedGetter( - longValue = 7233000865691692987L - ) - static long field817; - @ObfuscatedName("qx") - @Export("isCameraLocked") - static boolean isCameraLocked; - @ObfuscatedName("pz") - @ObfuscatedGetter( - intValue = 982246175 - ) - @Export("mapIconCount") - static int mapIconCount; - @ObfuscatedName("pa") - @Export("mapIconXs") - static int[] mapIconXs; - @ObfuscatedName("ps") - @ObfuscatedGetter( - intValue = 31385275 - ) - @Export("tradeChatMode") - static int tradeChatMode; - @ObfuscatedName("sp") - @ObfuscatedGetter( - intValue = -1928794307 - ) - static int field666; - @ObfuscatedName("px") - @ObfuscatedGetter( - intValue = 1307916999 - ) - @Export("publicChatMode") - static int publicChatMode; - @ObfuscatedName("pf") - @Export("mapIconYs") - static int[] mapIconYs; - @ObfuscatedName("rx") - static short field896; - @ObfuscatedName("rq") - static short field897; - @ObfuscatedName("ql") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("mapIcons") - static SpritePixels[] mapIcons; - @ObfuscatedName("rb") - static short field828; - @ObfuscatedName("ra") - static short field903; - @ObfuscatedName("re") - static short field731; - @ObfuscatedName("sf") - @ObfuscatedGetter( - intValue = 2093134959 - ) - @Export("viewportZoom") - static int viewportZoom; - @ObfuscatedName("rp") - static short field900; - @ObfuscatedName("rg") - @ObfuscatedGetter( - intValue = 165183815 - ) - @Export("viewportWidth") - static int viewportWidth; - @ObfuscatedName("sd") - @ObfuscatedGetter( - intValue = -1667977405 - ) - @Export("viewportHeight") - static int viewportHeight; - @ObfuscatedName("nq") - @Export("changedVarps") - static int[] changedVarps; - @ObfuscatedName("rh") - @ObfuscatedGetter( - intValue = -1202571805 - ) - @Export("viewportOffsetX") - static int viewportOffsetX; - @ObfuscatedName("rw") - @ObfuscatedGetter( - intValue = 1226538775 - ) - @Export("viewportOffsetY") - static int viewportOffsetY; - @ObfuscatedName("np") - @Export("changedItemContainers") - static int[] changedItemContainers; - @ObfuscatedName("nd") - @ObfuscatedGetter( - intValue = -756396665 - ) - static int field837; - @ObfuscatedName("pg") - static long[] field868; - @ObfuscatedName("pq") - @ObfuscatedGetter( - intValue = 1378550147 - ) - static int field870; - @ObfuscatedName("mt") - @ObfuscatedGetter( - intValue = 2082201915 - ) - @Export("chatEffects") - static int chatEffects; - @ObfuscatedName("ml") - @ObfuscatedGetter( - intValue = 2082785677 - ) - static int field865; - @ObfuscatedName("rm") - @Export("zoomHeight") - static short zoomHeight; - @ObfuscatedName("pk") - @ObfuscatedGetter( - intValue = -556724327 - ) - static int field707; - @ObfuscatedName("rr") - @Export("zoomWidth") - static short zoomWidth; - @ObfuscatedName("nu") - @Export("playerMod") - static boolean playerMod; - @ObfuscatedName("pl") - static int[] field693; - @ObfuscatedName("ow") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - static NodeDeque field715; - @ObfuscatedName("pi") - static int[] field661; - @ObfuscatedName("mx") - @ObfuscatedGetter( - intValue = -1910543551 - ) - @Export("followerIndex") - static int followerIndex; - @ObfuscatedName("on") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - static NodeDeque field849; - @ObfuscatedName("nk") - @Export("changedSkills") - static int[] changedSkills; - @ObfuscatedName("ob") - @ObfuscatedGetter( - intValue = 125760777 - ) - @Export("changedSkillsCount") - static int changedSkillsCount; - @ObfuscatedName("mr") - @ObfuscatedGetter( - intValue = 404828477 - ) - static int field810; - @ObfuscatedName("pc") - @ObfuscatedSignature( - descriptor = "Llw;" - ) - @Export("privateChatMode") - static PrivateChatMode privateChatMode; - @ObfuscatedName("mk") - @ObfuscatedGetter( - intValue = 1150371503 - ) - static int field811; - @ObfuscatedName("ox") - @ObfuscatedGetter( - intValue = -1643930355 - ) - static int field680; - @ObfuscatedName("od") - @ObfuscatedGetter( - intValue = -1235624719 - ) - @Export("chatCycle") - static int chatCycle; - @ObfuscatedName("ph") - static int[] field863; - @ObfuscatedName("pm") - static String field871; - @ObfuscatedName("sw") - @ObfuscatedSignature( - descriptor = "Lbe;" - ) - @Export("GrandExchangeEvents_worldComparator") - static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "[Lfo;" - ) - @Export("collisionMaps") - static CollisionMap[] collisionMaps; - @ObfuscatedName("at") - static boolean field907; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 605856319 - ) - @Export("worldId") - public static int worldId; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = -1172386423 - ) - @Export("worldProperties") - static int worldProperties; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = -1849937955 - ) - @Export("gameBuild") - static int gameBuild; - @ObfuscatedName("bf") - @Export("isMembersWorld") - public static boolean isMembersWorld; - @ObfuscatedName("bz") - @Export("isLowDetail") - static boolean isLowDetail; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = -605979109 - ) - @Export("clientType") - static int clientType; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = 272012315 - ) - static int field651; - @ObfuscatedName("bw") - @Export("onMobile") - static boolean onMobile; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = 615918673 - ) - @Export("gameState") - static int gameState; - @ObfuscatedName("cf") - @Export("isLoading") - static boolean isLoading; - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 719785889 - ) - @Export("cycle") - static int cycle; - @ObfuscatedName("ch") - @ObfuscatedGetter( - longValue = 2825275797086768431L - ) - @Export("mouseLastLastPressedTimeMillis") - static long mouseLastLastPressedTimeMillis; - @ObfuscatedName("cl") - @ObfuscatedGetter( - intValue = 1844754083 - ) - static int field657; - @ObfuscatedName("cw") - @ObfuscatedGetter( - intValue = -322437819 - ) - static int field658; - @ObfuscatedName("cp") - @ObfuscatedGetter( - longValue = 8108394182568559769L - ) - static long field794; - @ObfuscatedName("cu") - @Export("hadFocus") - static boolean hadFocus; - @ObfuscatedName("ct") - @Export("displayFps") - static boolean displayFps; - @ObfuscatedName("ck") - @ObfuscatedGetter( - intValue = 437393179 - ) - @Export("rebootTimer") - static int rebootTimer; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = -234391383 - ) - @Export("hintArrowType") - static int hintArrowType; - @ObfuscatedName("cg") - @ObfuscatedGetter( - intValue = -1281221669 - ) - @Export("hintArrowNpcIndex") - static int hintArrowNpcIndex; - @ObfuscatedName("cv") - @ObfuscatedGetter( - intValue = -2046139677 - ) - @Export("hintArrowPlayerIndex") - static int hintArrowPlayerIndex; - @ObfuscatedName("cs") - @ObfuscatedGetter( - intValue = -758214641 - ) - @Export("hintArrowX") - static int hintArrowX; - @ObfuscatedName("cn") - @ObfuscatedGetter( - intValue = -129094787 - ) - @Export("hintArrowY") - static int hintArrowY; - @ObfuscatedName("co") - @ObfuscatedGetter( - intValue = 1365563059 - ) - @Export("hintArrowHeight") - static int hintArrowHeight; - @ObfuscatedName("dh") - @ObfuscatedGetter( - intValue = 911963013 - ) - @Export("hintArrowSubX") - static int hintArrowSubX; - @ObfuscatedName("dl") - @ObfuscatedGetter( - intValue = -759989801 - ) - @Export("hintArrowSubY") - static int hintArrowSubY; - @ObfuscatedName("de") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("playerAttackOption") - static AttackOption playerAttackOption; - @ObfuscatedName("dw") - @ObfuscatedSignature( - descriptor = "Lcw;" - ) - @Export("npcAttackOption") - static AttackOption npcAttackOption; - @ObfuscatedName("dq") - @ObfuscatedGetter( - intValue = -1533630561 - ) - @Export("titleLoadingStage") - static int titleLoadingStage; - @ObfuscatedName("dm") - @ObfuscatedGetter( - intValue = -1287826553 - ) - @Export("js5ConnectState") - static int js5ConnectState; - @ObfuscatedName("dp") - @ObfuscatedGetter( - intValue = -795471171 - ) - static int field864; - @ObfuscatedName("eq") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive15") - static Archive archive15; - @ObfuscatedName("eh") - @ObfuscatedGetter( - intValue = -1029151173 - ) - @Export("js5Errors") - static int js5Errors; - @ObfuscatedName("eb") - @ObfuscatedGetter( - intValue = 965496535 - ) - @Export("loginState") - static int loginState; - @ObfuscatedName("ek") - @ObfuscatedGetter( - intValue = 114444977 - ) - static int field892; - @ObfuscatedName("ew") - @ObfuscatedGetter( - intValue = -1250433749 - ) - static int field681; - @ObfuscatedName("ej") - @ObfuscatedGetter( - intValue = 1777018145 - ) - static int field682; - @ObfuscatedName("eo") - @ObfuscatedSignature( - descriptor = "Lfq;" - ) - static class169 field872; - @ObfuscatedName("el") - @Export("Login_isUsernameRemembered") - static boolean Login_isUsernameRemembered; - @ObfuscatedName("ea") - @ObfuscatedSignature( - descriptor = "Lck;" - ) - @Export("secureRandomFuture") - static SecureRandomFuture secureRandomFuture; - @ObfuscatedName("ft") - @Export("randomDatData") - static byte[] randomDatData; - @ObfuscatedName("fj") - @ObfuscatedSignature( - descriptor = "[Lcf;" - ) - @Export("npcs") - static NPC[] npcs; - @ObfuscatedName("fp") - @ObfuscatedGetter( - intValue = -2095920813 - ) - @Export("npcCount") - static int npcCount; - @ObfuscatedName("ff") - @Export("npcIndices") - static int[] npcIndices; - @ObfuscatedName("fs") - @ObfuscatedGetter( - intValue = 144391847 - ) - static int field826; - @ObfuscatedName("fk") - static int[] field654; - @ObfuscatedName("fx") - @ObfuscatedSignature( - descriptor = "Ldh;" - ) - @Export("packetWriter") - public static final PacketWriter packetWriter; - @ObfuscatedName("fh") - @ObfuscatedGetter( - intValue = -179896895 - ) - @Export("logoutTimer") - static int logoutTimer; - @ObfuscatedName("fy") - static boolean field696; - @ObfuscatedName("fb") - @Export("useBufferedSocket") - static boolean useBufferedSocket; - @ObfuscatedName("fg") - @ObfuscatedSignature( - descriptor = "Ljc;" - ) - @Export("timer") - static Timer timer; - @ObfuscatedName("fl") - @Export("fontsMap") - static HashMap fontsMap; - @ObfuscatedName("gg") - @ObfuscatedGetter( - intValue = -1853046907 - ) - static int field700; - @ObfuscatedName("gm") - @ObfuscatedGetter( - intValue = 252683765 - ) - static int field701; - @ObfuscatedName("gh") - @ObfuscatedGetter( - intValue = -1311284153 - ) - static int field702; - @ObfuscatedName("gu") - @ObfuscatedGetter( - intValue = 1834916753 - ) - static int field703; - @ObfuscatedName("go") - @ObfuscatedGetter( - intValue = 1906817031 - ) - static int field704; - @ObfuscatedName("ga") - @Export("isInInstance") - static boolean isInInstance; - @ObfuscatedName("gi") - @Export("instanceChunkTemplates") - static int[][][] instanceChunkTemplates; - @ObfuscatedName("gp") - static final int[] field708; - @ObfuscatedName("gd") - @ObfuscatedGetter( - intValue = -904067663 - ) - static int field850; - @ObfuscatedName("hn") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("headIconPrayerSprites") - static SpritePixels[] headIconPrayerSpritePixels; - @ObfuscatedName("hv") - @ObfuscatedGetter( - intValue = -1487008623 - ) - static int field711; - @ObfuscatedName("hj") - @ObfuscatedGetter( - intValue = -408397879 - ) - static int field712; - @ObfuscatedName("hm") - @ObfuscatedGetter( - intValue = 2027186317 - ) - static int field713; - @ObfuscatedName("hu") - @ObfuscatedGetter( - intValue = 265625939 - ) - static int field714; - @ObfuscatedName("hx") - static boolean field692; - @ObfuscatedName("ho") - @ObfuscatedGetter( - intValue = 1926073649 - ) - @Export("alternativeScrollbarWidth") - static int alternativeScrollbarWidth; - @ObfuscatedName("hr") - @ObfuscatedGetter( - intValue = 256130781 - ) - @Export("camAngleX") - static int camAngleX; - @ObfuscatedName("ht") - @ObfuscatedGetter( - intValue = -933249295 - ) - @Export("camAngleY") - static int camAngleY; - @ObfuscatedName("hp") - @ObfuscatedGetter( - intValue = -1941667663 - ) - @Export("camAngleDY") - static int camAngleDY; - @ObfuscatedName("hb") - @ObfuscatedGetter( - intValue = 842676911 - ) - @Export("camAngleDX") - static int camAngleDX; - @ObfuscatedName("hd") - @ObfuscatedGetter( - intValue = -159731927 - ) - @Export("mouseCamClickedX") - static int mouseCamClickedX; - @ObfuscatedName("hw") - @ObfuscatedGetter( - intValue = 797966877 - ) - @Export("mouseCamClickedY") - static int mouseCamClickedY; - @ObfuscatedName("iq") - @ObfuscatedGetter( - intValue = 1791733175 - ) - @Export("oculusOrbState") - static int oculusOrbState; - @ObfuscatedName("ip") - @ObfuscatedGetter( - intValue = 1677697591 - ) - @Export("camFollowHeight") - static int camFollowHeight; - @ObfuscatedName("in") - @ObfuscatedGetter( - intValue = 1012131865 - ) - static int field755; - @ObfuscatedName("io") - @ObfuscatedGetter( - intValue = 755654585 - ) - static int field761; - @ObfuscatedName("ic") - @ObfuscatedGetter( - intValue = 1441714075 - ) - static int field788; - @ObfuscatedName("ia") - @ObfuscatedGetter( - intValue = 1697208315 - ) - @Export("oculusOrbNormalSpeed") - static int oculusOrbNormalSpeed; - @ObfuscatedName("ib") - @ObfuscatedGetter( - intValue = 762441025 - ) - @Export("oculusOrbSlowedSpeed") - static int oculusOrbSlowedSpeed; - @ObfuscatedName("ij") - @ObfuscatedGetter( - intValue = -380994417 - ) - public static int field730; - @ObfuscatedName("il") - static boolean field649; - @ObfuscatedName("im") - @ObfuscatedGetter( - intValue = -1396000555 - ) - static int field732; - @ObfuscatedName("it") - @Export("selectedItemName") - static String selectedItemName; - @ObfuscatedName("is") - static boolean field843; - @ObfuscatedName("iy") - @ObfuscatedGetter( - intValue = -1991795959 - ) - static int field918; - @ObfuscatedName("ir") - @ObfuscatedGetter( - intValue = 664038093 - ) - @Export("overheadTextCount") - static int overheadTextCount; - @ObfuscatedName("ik") - @ObfuscatedGetter( - intValue = 1616827889 - ) - @Export("overheadTextLimit") - static int overheadTextLimit; - @ObfuscatedName("iw") - @Export("overheadTextXs") - static int[] overheadTextXs; - @ObfuscatedName("if") - @Export("overheadTextYs") - static int[] overheadTextYs; - @ObfuscatedName("ie") - @Export("overheadTextAscents") - static int[] overheadTextAscents; - @ObfuscatedName("iu") - @Export("overheadTextXOffsets") - static int[] overheadTextXOffsets; - @ObfuscatedName("iv") - @Export("overheadTextColors") - static int[] overheadTextColors; - @ObfuscatedName("jl") - @Export("overheadTextEffects") - static int[] overheadTextEffects; - @ObfuscatedName("jb") - @Export("overheadTextCyclesRemaining") - static int[] overheadTextCyclesRemaining; - @ObfuscatedName("jx") - @Export("overheadText") - static String[] overheadText; - @ObfuscatedName("je") - @Export("tileLastDrawnActor") - static int[][] tileLastDrawnActor; - @ObfuscatedName("jm") - @ObfuscatedGetter( - intValue = -31866267 - ) - @Export("viewportDrawCount") - static int viewportDrawCount; - @ObfuscatedName("jq") - @ObfuscatedGetter( - intValue = 2071172407 - ) - @Export("viewportTempX") - static int viewportTempX; - @ObfuscatedName("jt") - @ObfuscatedGetter( - intValue = 473576557 - ) - @Export("viewportTempY") - static int viewportTempY; - @ObfuscatedName("jd") - @ObfuscatedGetter( - intValue = -501291535 - ) - @Export("mouseCrossX") - static int mouseCrossX; - @ObfuscatedName("jv") - @ObfuscatedGetter( - intValue = 1855983379 - ) - @Export("mouseCrossY") - static int mouseCrossY; - @ObfuscatedName("jy") - @ObfuscatedGetter( - intValue = 1506174483 - ) - @Export("mouseCrossState") - static int mouseCrossState; - @ObfuscatedName("ji") - @ObfuscatedGetter( - intValue = -1330486485 - ) - @Export("mouseCrossColor") - static int mouseCrossColor; - @ObfuscatedName("jn") - @Export("showMouseCross") - static boolean showMouseCross; - @ObfuscatedName("jj") - @ObfuscatedGetter( - intValue = 2114809505 - ) - static int field754; - @ObfuscatedName("jw") - @ObfuscatedGetter( - intValue = 1360375965 - ) - static int field881; - @ObfuscatedName("jh") - @ObfuscatedGetter( - intValue = -2111776897 - ) - @Export("dragItemSlotSource") - static int dragItemSlotSource; - @ObfuscatedName("jo") - @ObfuscatedGetter( - intValue = -174164729 - ) - @Export("draggedWidgetX") - static int draggedWidgetX; - @ObfuscatedName("ja") - @ObfuscatedGetter( - intValue = -563995015 - ) - @Export("draggedWidgetY") - static int draggedWidgetY; - @ObfuscatedName("jg") - @ObfuscatedGetter( - intValue = 1906459091 - ) - @Export("dragItemSlotDestination") - static int dragItemSlotDestination; - @ObfuscatedName("jk") - static boolean field848; - @ObfuscatedName("jc") - @ObfuscatedGetter( - intValue = 529038183 - ) - @Export("itemDragDuration") - static int itemDragDuration; - @ObfuscatedName("jz") - @ObfuscatedGetter( - intValue = -416908103 - ) - static int field762; - @ObfuscatedName("jr") - @Export("showLoadingMessages") - static boolean showLoadingMessages; - @ObfuscatedName("kb") - @ObfuscatedSignature( - descriptor = "[Lbq;" - ) - @Export("players") - static Player[] players; - @ObfuscatedName("kz") - @ObfuscatedGetter( - intValue = -1303961589 - ) - @Export("localPlayerIndex") - static int localPlayerIndex; - @ObfuscatedName("ka") - @ObfuscatedGetter( - intValue = -191235223 - ) - static int field766; - @ObfuscatedName("ko") - @Export("renderSelf") - static boolean renderSelf; - @ObfuscatedName("kp") - @ObfuscatedGetter( - intValue = -1760199693 - ) - @Export("drawPlayerNames") - static int drawPlayerNames; - @ObfuscatedName("kq") - @ObfuscatedGetter( - intValue = 248476299 - ) - static int field769; - @ObfuscatedName("kk") - static int[] field770; - @ObfuscatedName("kl") - @Export("playerMenuOpcodes") - static final int[] playerMenuOpcodes; - @ObfuscatedName("kr") - @Export("playerMenuActions") - static String[] playerMenuActions; - @ObfuscatedName("kv") - @Export("playerOptionsPriorities") - static boolean[] playerOptionsPriorities; - @ObfuscatedName("kw") - @Export("defaultRotations") - static int[] defaultRotations; - @ObfuscatedName("ku") - @ObfuscatedGetter( - intValue = -1934640101 - ) - @Export("combatTargetPlayerIndex") - static int combatTargetPlayerIndex; - @ObfuscatedName("kc") - @ObfuscatedSignature( - descriptor = "[[[Ljp;" - ) - @Export("groundItems") - static NodeDeque[][][] groundItems; - @ObfuscatedName("kh") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("pendingSpawns") - static NodeDeque pendingSpawns; - @ObfuscatedName("km") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("projectiles") - static NodeDeque projectiles; - @ObfuscatedName("ky") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("graphicsObjects") - static NodeDeque graphicsObjects; - @ObfuscatedName("kj") - @Export("currentLevels") - static int[] currentLevels; - @ObfuscatedName("kd") - @Export("levels") - static int[] levels; - @ObfuscatedName("lt") - @Export("experience") - static int[] experience; - @ObfuscatedName("li") - @ObfuscatedGetter( - intValue = 362480773 - ) - @Export("leftClickOpensMenu") - static int leftClickOpensMenu; - @ObfuscatedName("lk") - @Export("isMenuOpen") - static boolean isMenuOpen; - @ObfuscatedName("lw") - @ObfuscatedGetter( - intValue = 1250252403 - ) - @Export("menuOptionsCount") - static int menuOptionsCount; - @ObfuscatedName("ld") - @Export("menuArguments1") - static int[] menuArguments1; - @ObfuscatedName("ln") - @Export("menuArguments2") - static int[] menuArguments2; - @ObfuscatedName("lz") - @Export("menuOpcodes") - static int[] menuOpcodes; - @ObfuscatedName("lp") - @Export("menuIdentifiers") - static int[] menuIdentifiers; - @ObfuscatedName("lv") - @Export("menuActions") - static String[] menuActions; - @ObfuscatedName("la") - @Export("menuTargets") - static String[] menuTargets; - @ObfuscatedName("lb") - @Export("menuShiftClick") - static boolean[] menuShiftClick; - @ObfuscatedName("ls") - @Export("followerOpsLowPriority") - static boolean followerOpsLowPriority; - @ObfuscatedName("ly") - @Export("shiftClickDrop") - static boolean shiftClickDrop; - @ObfuscatedName("lq") - @Export("tapToDrop") - static boolean tapToDrop; - @ObfuscatedName("lu") - @Export("showMouseOverText") - static boolean showMouseOverText; - @ObfuscatedName("lj") - @ObfuscatedGetter( - intValue = 1731176677 - ) - @Export("viewportX") - static int viewportX; - @ObfuscatedName("lo") - @ObfuscatedGetter( - intValue = -958797827 - ) - @Export("viewportY") - static int viewportY; - @ObfuscatedName("md") - @ObfuscatedGetter( - intValue = -987373017 - ) - static int field799; - @ObfuscatedName("mc") - @ObfuscatedGetter( - intValue = -96598345 - ) - static int field751; - @ObfuscatedName("mi") - @ObfuscatedGetter( - intValue = 1915140309 - ) - @Export("isItemSelected") - static int isItemSelected; - @ObfuscatedName("mv") - @Export("isSpellSelected") - static boolean isSpellSelected; - @ObfuscatedName("ms") - @ObfuscatedGetter( - intValue = -1478069303 - ) - @Export("selectedSpellChildIndex") - static int selectedSpellChildIndex; - @ObfuscatedName("mb") - @ObfuscatedGetter( - intValue = 703379227 - ) - static int field836; - @ObfuscatedName("mj") - @Export("selectedSpellActionName") - static String selectedSpellActionName; - @ObfuscatedName("mu") - @Export("selectedSpellName") - static String selectedSpellName; - @ObfuscatedName("mw") - @ObfuscatedGetter( - intValue = -1575535357 - ) - @Export("rootInterface") - static int rootInterface; - @ObfuscatedName("mn") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("interfaceParents") - static NodeHashTable interfaceParents; - @ObfuscatedName("en") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - Buffer field686; - @ObfuscatedName("fn") - @ObfuscatedSignature( - descriptor = "Lz;" - ) - class9 field687; - - static { - field907 = true; // L: 183 - worldId = 1; // L: 184 - worldProperties = 0; // L: 185 - gameBuild = 0; // L: 187 - isMembersWorld = false; // L: 190 - isLowDetail = false; // L: 191 - clientType = -1; // L: 196 - field651 = -1; // L: 197 - onMobile = false; // L: 198 - gameState = 0; // L: 199 - isLoading = true; // L: 220 - cycle = 0; // L: 221 - mouseLastLastPressedTimeMillis = -1L; // L: 222 - field657 = -1; // L: 224 - field658 = -1; // L: 225 - field794 = -1L; // L: 226 - hadFocus = true; // L: 227 - displayFps = false; // L: 228 - rebootTimer = 0; // L: 229 - hintArrowType = 0; // L: 230 - hintArrowNpcIndex = 0; // L: 231 - hintArrowPlayerIndex = 0; // L: 232 - hintArrowX = 0; // L: 233 - hintArrowY = 0; // L: 234 - hintArrowHeight = 0; // L: 235 - hintArrowSubX = 0; // L: 236 - hintArrowSubY = 0; // L: 237 - playerAttackOption = AttackOption.AttackOption_hidden; - npcAttackOption = AttackOption.AttackOption_hidden; - titleLoadingStage = 0; // L: 242 - js5ConnectState = 0; - field864 = 0; // L: 246 - js5Errors = 0; // L: 268 - loginState = 0; // L: 270 - field892 = 0; // L: 271 - field681 = 0; // L: 272 - field682 = 0; // L: 273 - field872 = class169.field2021; // L: 274 - Login_isUsernameRemembered = false; // L: 283 - secureRandomFuture = new SecureRandomFuture(); // L: 284 - randomDatData = null; // L: 289 - npcs = new NPC[32768]; // L: 293 - npcCount = 0; // L: 294 - npcIndices = new int[32768]; // L: 295 - field826 = 0; // L: 296 - field654 = new int[250]; // L: 297 - packetWriter = new PacketWriter(); // L: 300 - logoutTimer = 0; // L: 302 - field696 = false; // L: 303 - useBufferedSocket = true; // L: 304 - timer = new Timer(); // L: 305 - fontsMap = new HashMap(); // L: 311 - field700 = 0; // L: 318 - field701 = 1; // L: 319 - field702 = 0; // L: 320 - field703 = 1; // L: 321 - field704 = 0; // L: 322 - collisionMaps = new CollisionMap[4]; // L: 330 - isInInstance = false; // L: 331 - instanceChunkTemplates = new int[4][13][13]; // L: 332 - field708 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}; // L: 333 - field850 = 0; // L: 336 - field711 = 2301979; // L: 348 - field712 = 5063219; // L: 349 - field713 = 3353893; // L: 350 - field714 = 7759444; // L: 351 - field692 = false; // L: 352 - alternativeScrollbarWidth = 0; // L: 353 - camAngleX = 128; // L: 361 - camAngleY = 0; // L: 362 - camAngleDY = 0; // L: 363 - camAngleDX = 0; // L: 364 - mouseCamClickedX = 0; // L: 365 - mouseCamClickedY = 0; // L: 366 - oculusOrbState = 0; // L: 367 - camFollowHeight = 50; // L: 368 - field755 = 0; // L: 372 - field761 = 0; // L: 373 - field788 = 0; // L: 374 - oculusOrbNormalSpeed = 12; // L: 376 - oculusOrbSlowedSpeed = 6; // L: 377 - field730 = 0; // L: 378 - field649 = false; // L: 379 - field732 = 0; // L: 380 - field843 = false; // L: 381 - field918 = 0; // L: 382 - overheadTextCount = 0; // L: 383 - overheadTextLimit = 50; // L: 384 - overheadTextXs = new int[overheadTextLimit]; // L: 385 - overheadTextYs = new int[overheadTextLimit]; // L: 386 - overheadTextAscents = new int[overheadTextLimit]; // L: 387 - overheadTextXOffsets = new int[overheadTextLimit]; // L: 388 - overheadTextColors = new int[overheadTextLimit]; // L: 389 - overheadTextEffects = new int[overheadTextLimit]; // L: 390 - overheadTextCyclesRemaining = new int[overheadTextLimit]; // L: 391 - overheadText = new String[overheadTextLimit]; // L: 392 - tileLastDrawnActor = new int[104][104]; // L: 393 - viewportDrawCount = 0; // L: 394 - viewportTempX = -1; // L: 395 - viewportTempY = -1; // L: 396 - mouseCrossX = 0; // L: 397 - mouseCrossY = 0; // L: 398 - mouseCrossState = 0; // L: 399 - mouseCrossColor = 0; // L: 400 - showMouseCross = true; // L: 401 - field754 = 0; // L: 403 - field881 = 0; // L: 404 - dragItemSlotSource = 0; // L: 407 - draggedWidgetX = 0; // L: 408 - draggedWidgetY = 0; // L: 409 - dragItemSlotDestination = 0; // L: 410 - field848 = false; // L: 411 - itemDragDuration = 0; // L: 412 - field762 = 0; // L: 413 - showLoadingMessages = true; // L: 415 - players = new Player[2048]; // L: 417 - localPlayerIndex = -1; // L: 419 - field766 = 0; // L: 420 - renderSelf = true; // L: 422 - drawPlayerNames = 0; // L: 427 - field769 = 0; // L: 428 - field770 = new int[1000]; // L: 429 - playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; // L: 431 - playerMenuActions = new String[8]; // L: 432 - playerOptionsPriorities = new boolean[8]; // L: 433 - defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; // L: 434 - combatTargetPlayerIndex = -1; // L: 435 - groundItems = new NodeDeque[4][104][104]; // L: 436 - pendingSpawns = new NodeDeque(); // L: 437 - projectiles = new NodeDeque(); // L: 438 - graphicsObjects = new NodeDeque(); // L: 439 - currentLevels = new int[25]; // L: 440 - levels = new int[25]; // L: 441 - experience = new int[25]; // L: 442 - leftClickOpensMenu = 0; // L: 443 - isMenuOpen = false; // L: 444 - menuOptionsCount = 0; // L: 450 - menuArguments1 = new int[500]; // L: 451 - menuArguments2 = new int[500]; // L: 452 - menuOpcodes = new int[500]; // L: 453 - menuIdentifiers = new int[500]; // L: 454 - menuActions = new String[500]; // L: 455 - menuTargets = new String[500]; // L: 456 - menuShiftClick = new boolean[500]; // L: 457 - followerOpsLowPriority = false; // L: 458 - shiftClickDrop = false; // L: 460 - tapToDrop = false; // L: 461 - showMouseOverText = true; // L: 462 - viewportX = -1; // L: 463 - viewportY = -1; // L: 464 - field799 = 0; // L: 468 - field751 = 50; // L: 469 - isItemSelected = 0; // L: 470 - selectedItemName = null; // L: 474 - isSpellSelected = false; // L: 475 - selectedSpellChildIndex = -1; // L: 477 - field836 = -1; // L: 478 - selectedSpellActionName = null; // L: 480 - selectedSpellName = null; // L: 481 - rootInterface = -1; // L: 482 - interfaceParents = new NodeHashTable(8); // L: 483 - field810 = 0; // L: 488 - field811 = -1; // L: 489 - chatEffects = 0; // L: 490 - field865 = 0; // L: 491 - meslayerContinueWidget = null; // L: 492 - runEnergy = 0; // L: 493 - weight = 0; // L: 494 - staffModLevel = 0; // L: 495 - followerIndex = -1; // L: 496 - playerMod = false; // L: 497 - viewportWidget = null; // L: 498 - clickedWidget = null; // L: 499 - clickedWidgetParent = null; // L: 500 - widgetClickX = 0; // L: 501 - widgetClickY = 0; // L: 502 - draggedOnWidget = null; // L: 503 - field859 = false; // L: 504 - field827 = -1; // L: 505 - field716 = -1; // L: 506 - field829 = false; // L: 507 - field853 = -1; // L: 508 - field862 = -1; // L: 509 - isDraggingWidget = false; // L: 510 - cycleCntr = 1; // L: 515 - changedVarps = new int[32]; // L: 518 - changedVarpCount = 0; // L: 519 - changedItemContainers = new int[32]; // L: 520 - field837 = 0; // L: 521 - changedSkills = new int[32]; // L: 522 - changedSkillsCount = 0; // L: 523 - chatCycle = 0; // L: 524 - field879 = 0; // L: 525 - field842 = 0; // L: 526 - field685 = 0; // L: 527 - field680 = 0; // L: 528 - field845 = 0; // L: 529 - mouseWheelRotation = 0; // L: 532 - scriptEvents = new NodeDeque(); // L: 533 - field715 = new NodeDeque(); // L: 534 - field849 = new NodeDeque(); // L: 535 - widgetFlags = new NodeHashTable(512); // L: 536 - rootWidgetCount = 0; // L: 538 - field852 = -2; // L: 539 - field901 = new boolean[100]; // L: 540 - field854 = new boolean[100]; // L: 541 - field855 = new boolean[100]; // L: 542 - rootWidgetXs = new int[100]; // L: 543 - rootWidgetYs = new int[100]; // L: 544 - rootWidgetWidths = new int[100]; // L: 545 - rootWidgetHeights = new int[100]; // L: 546 - gameDrawingMode = 0; // L: 547 - field861 = 0L; // L: 548 - isResizable = true; // L: 549 - field863 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; // L: 556 - publicChatMode = 0; // L: 557 - tradeChatMode = 0; // L: 559 - field871 = ""; // L: 560 - field868 = new long[100]; // L: 562 - field707 = 0; // L: 563 - field870 = 0; // L: 565 - field661 = new int[128]; // L: 566 - field693 = new int[128]; // L: 567 - field817 = -1L; // L: 568 - field874 = -1; // L: 571 - mapIconCount = 0; // L: 572 - mapIconXs = new int[1000]; // L: 573 - mapIconYs = new int[1000]; // L: 574 - mapIcons = new SpritePixels[1000]; // L: 575 - destinationX = 0; // L: 576 - destinationY = 0; // L: 577 - minimapState = 0; // L: 584 - currentTrackGroupId = -1; // L: 585 - field883 = false; // L: 586 - soundEffectCount = 0; // L: 592 - soundEffectIds = new int[50]; // L: 593 - queuedSoundEffectLoops = new int[50]; // L: 594 - queuedSoundEffectDelays = new int[50]; // L: 595 - soundLocations = new int[50]; // L: 596 - soundEffects = new SoundEffect[50]; // L: 597 - isCameraLocked = false; // L: 599 - field902 = new boolean[5]; // L: 611 - field679 = new int[5]; // L: 612 - field893 = new int[5]; // L: 613 - field705 = new int[5]; // L: 614 - field644 = new int[5]; // L: 615 - field896 = 256; // L: 616 - field897 = 205; // L: 617 - zoomHeight = 256; // L: 618 - zoomWidth = 320; // L: 619 - field900 = 1; // L: 620 - field731 = 32767; // L: 621 - field828 = 1; // L: 622 - field903 = 32767; // L: 623 - viewportOffsetX = 0; // L: 624 - viewportOffsetY = 0; // L: 625 - viewportWidth = 0; // L: 626 - viewportHeight = 0; // L: 627 - viewportZoom = 0; // L: 628 - playerComposition = new PlayerComposition(); // L: 630 - field813 = -1; // L: 631 - field911 = -1; // L: 632 - platformInfoProvider = new DesktopPlatformInfoProvider(); // L: 634 - grandExchangeOffers = new GrandExchangeOffer[8]; // L: 636 - GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); // L: 639 - field915 = -1; // L: 646 - archiveLoaders = new ArrayList(10); // L: 647 - archiveLoadersDone = 0; // L: 648 - field666 = 0; // L: 649 - field919 = new ApproximateRouteStrategy(); // L: 658 - field920 = new int[50]; // L: 659 - field921 = new int[50]; // L: 660 - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "312942940" - ) - @Export("resizeGame") - protected final void resizeGame() { - field861 = class298.currentTimeMillis() + 500L; // L: 4200 - this.resizeJS(); // L: 4201 - if (rootInterface != -1) { // L: 4202 - this.resizeRoot(true); - } - - } // L: 4203 - - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-91" - ) - @Export("setUp") - protected final void setUp() { - int[] var1 = new int[]{20, 260, 10000}; // L: 854 - int[] var2 = new int[]{1000, 100, 500}; // L: 855 - if (var1 != null && var2 != null) { // L: 857 - SoundCache.ByteArrayPool_alternativeSizes = var1; // L: 863 - JagexCache.ByteArrayPool_altSizeArrayCounts = new int[var1.length]; // L: 864 - class23.ByteArrayPool_arrays = new byte[var1.length][][]; // L: 865 - - for (int var3 = 0; var3 < SoundCache.ByteArrayPool_alternativeSizes.length; ++var3) { // L: 866 - class23.ByteArrayPool_arrays[var3] = new byte[var2[var3]][]; // L: 867 - } - } else { - SoundCache.ByteArrayPool_alternativeSizes = null; // L: 858 - JagexCache.ByteArrayPool_altSizeArrayCounts = null; // L: 859 - class23.ByteArrayPool_arrays = null; // L: 860 - } - - class278.port1 = gameBuild == 0 ? 43594 : worldId + 40000; // L: 870 - Players.port2 = gameBuild == 0 ? 443 : worldId + 50000; // L: 871 - ArchiveDiskAction.port3 = class278.port1; // L: 872 - PlayerComposition.field2551 = class224.field2569; // L: 873 - WorldMapScaleHandler.field366 = class224.field2565; // L: 874 - PlayerComposition.field2557 = class224.field2566; // L: 875 - WorldMapCacheName.field331 = class224.field2567; // L: 876 - GrandExchangeOfferAgeComparator.urlRequester = new UrlRequester(); // L: 877 - this.setUpKeyboard(); // L: 878 - this.setUpMouse(); // L: 879 - KitDefinition.mouseWheel = this.mouseWheel(); // L: 880 - class7.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); // L: 881 - AccessFile var4 = null; // L: 884 - ClientPreferences var5 = new ClientPreferences(); // L: 885 - - try { - var4 = WorldMapRegion.getPreferencesFile("", AttackOption.field1174.name, false); // L: 887 - byte[] var6 = new byte[(int)var4.length()]; // L: 888 - - int var8; - for (int var7 = 0; var7 < var6.length; var7 += var8) { // L: 889 890 893 - var8 = var4.read(var6, var7, var6.length - var7); // L: 891 - if (var8 == -1) { // L: 892 - throw new IOException(); - } - } - - var5 = new ClientPreferences(new Buffer(var6)); // L: 895 - } catch (Exception var11) { // L: 897 - } - - try { - if (var4 != null) { // L: 899 - var4.close(); - } - } catch (Exception var10) { // L: 901 - } - - Timer.clientPreferences = var5; // L: 904 - this.setUpClipboard(); // L: 905 - String var12 = Message.null_string; // L: 907 - class60.applet = this; // L: 909 - if (var12 != null) { // L: 910 - class60.field439 = var12; - } - - if (gameBuild != 0) { // L: 912 - displayFps = true; - } - - class13.setWindowedMode(Timer.clientPreferences.windowMode); // L: 913 - MilliClock.friendSystem = new FriendSystem(GrandExchangeOfferUnitPriceComparator.loginType); // L: 914 - } // L: 915 - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1376035132" - ) - @Export("doCycle") - protected final void doCycle() { - ++cycle; // L: 918 - this.doCycleJs5(); // L: 919 - WorldMapEvent.method809(); // L: 920 - UrlRequester.method3381(); // L: 921 - FontName.playPcmPlayers(); // L: 922 - GraphicsObject.method2090(); // L: 923 - class4.method53(); // L: 924 - if (KitDefinition.mouseWheel != null) { // L: 925 - int var1 = KitDefinition.mouseWheel.useRotation(); // L: 926 - mouseWheelRotation = var1; // L: 927 - } - - if (gameState == 0) { // L: 929 - Canvas.load(); // L: 930 - GrandExchangeEvent.method153(); // L: 931 - } else if (gameState == 5) { // L: 933 - SequenceDefinition.doCycleTitle(this); // L: 934 - Canvas.load(); // L: 935 - GrandExchangeEvent.method153(); // L: 936 - } else if (gameState != 10 && gameState != 11) { // L: 938 - if (gameState == 20) { // L: 939 - SequenceDefinition.doCycleTitle(this); // L: 940 - this.doCycleLoggedOut(); // L: 941 - } else if (gameState == 25) { // L: 943 - WorldMapSection2.method377(false); // L: 944 - field700 = 0; // L: 945 - boolean var43 = true; // L: 946 - - int var2; - for (var2 = 0; var2 < WorldMapIcon_0.regionLandArchives.length; ++var2) { // L: 947 - if (class41.regionMapArchiveIds[var2] != -1 && WorldMapIcon_0.regionLandArchives[var2] == null) { // L: 948 949 - WorldMapIcon_0.regionLandArchives[var2] = GameEngine.archive5.takeFile(class41.regionMapArchiveIds[var2], 0); // L: 950 - if (WorldMapIcon_0.regionLandArchives[var2] == null) { // L: 951 - var43 = false; // L: 952 - ++field700; // L: 953 - } - } - - if (GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var2] != -1 && MouseRecorder.regionMapArchives[var2] == null) { // L: 957 958 - MouseRecorder.regionMapArchives[var2] = GameEngine.archive5.takeFileEncrypted(GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var2], 0, class227.xteaKeys[var2]); // L: 959 - if (MouseRecorder.regionMapArchives[var2] == null) { // L: 960 - var43 = false; // L: 961 - ++field700; // L: 962 - } - } - } - - if (!var43) { // L: 967 - field704 = 1; // L: 968 - } else { - field702 = 0; // L: 971 - var43 = true; // L: 972 - - int var4; - int var5; - int var10; - int var11; - int var12; - int var14; - int var15; - int var16; - int var17; - for (var2 = 0; var2 < WorldMapIcon_0.regionLandArchives.length; ++var2) { // L: 973 - byte[] var3 = MouseRecorder.regionMapArchives[var2]; // L: 974 - if (var3 != null) { // L: 975 - var4 = (FileSystem.regions[var2] >> 8) * 64 - NetFileRequest.baseX; // L: 976 - var5 = (FileSystem.regions[var2] & 255) * 64 - class41.baseY; // L: 977 - if (isInInstance) { // L: 978 - var4 = 10; // L: 979 - var5 = 10; // L: 980 - } - - boolean var8 = true; // L: 985 - Buffer var40 = new Buffer(var3); // L: 986 - var10 = -1; // L: 987 - - label565: - while (true) { - var11 = var40.method5557(); // L: 989 - if (var11 == 0) { // L: 990 - var43 &= var8; // L: 1023 - break; - } - - var10 += var11; // L: 991 - var12 = 0; // L: 992 - boolean var38 = false; // L: 993 - - while (true) { - while (!var38) { // L: 995 - var14 = var40.readUShortSmart(); // L: 1001 - if (var14 == 0) { // L: 1002 - continue label565; - } - - var12 += var14 - 1; // L: 1003 - var15 = var12 & 63; // L: 1004 - var16 = var12 >> 6 & 63; // L: 1005 - var17 = var40.readUnsignedByte() >> 2; // L: 1006 - int var41 = var4 + var16; // L: 1007 - int var42 = var5 + var15; // L: 1008 - if (var41 > 0 && var42 > 0 && var41 < 103 && var42 < 103) { // L: 1009 - ObjectComposition var20 = WorldMapDecoration.getObjectDefinition(var10); // L: 1010 - if (var17 != 22 || !isLowDetail || var20.int1 != 0 || var20.interactType == 1 || var20.boolean2) { // L: 1011 - if (!var20.needsModelFiles()) { // L: 1012 - ++field702; // L: 1013 - var8 = false; // L: 1014 - } - - var38 = true; // L: 1016 - } - } - } - - var14 = var40.readUShortSmart(); // L: 996 - if (var14 == 0) { // L: 997 - break; - } - - var40.readUnsignedByte(); // L: 998 - } - } - } - } - - if (!var43) { // L: 1026 - field704 = 2; // L: 1027 - } else { - if (field704 != 0) { // L: 1030 - Varps.drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); - } - - FontName.playPcmPlayers(); // L: 1031 - ArchiveLoader.scene.clear(); // L: 1032 - - for (var2 = 0; var2 < 4; ++var2) { // L: 1033 - collisionMaps[var2].clear(); - } - - int var36; - for (var2 = 0; var2 < 4; ++var2) { // L: 1034 - for (var36 = 0; var36 < 104; ++var36) { // L: 1035 - for (var4 = 0; var4 < 104; ++var4) { // L: 1036 - Tiles.Tiles_renderFlags[var2][var36][var4] = 0; // L: 1037 - } - } - } - - FontName.playPcmPlayers(); // L: 1041 - DirectByteArrayCopier.method3983(); // L: 1042 - var2 = WorldMapIcon_0.regionLandArchives.length; // L: 1043 - - for (ObjectSound var44 = (ObjectSound)ObjectSound.objectSounds.last(); var44 != null; var44 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 1045 - if (var44.stream1 != null) { // L: 1046 - WorldMapManager.pcmStreamMixer.removeSubStream(var44.stream1); // L: 1047 - var44.stream1 = null; // L: 1048 - } - - if (var44.stream2 != null) { // L: 1050 - WorldMapManager.pcmStreamMixer.removeSubStream(var44.stream2); // L: 1051 - var44.stream2 = null; // L: 1052 - } - } - - ObjectSound.objectSounds.clear(); // L: 1055 - WorldMapSection2.method377(true); // L: 1057 - int var6; - if (!isInInstance) { // L: 1058 - byte[] var39; - for (var36 = 0; var36 < var2; ++var36) { // L: 1059 - var4 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX; // L: 1060 - var5 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY; // L: 1061 - var39 = WorldMapIcon_0.regionLandArchives[var36]; // L: 1062 - if (var39 != null) { // L: 1063 - FontName.playPcmPlayers(); // L: 1064 - class69.method1252(var39, var4, var5, class182.field2112 * 8 - 48, UserComparator6.field2013 * 8 - 48, collisionMaps); // L: 1065 - } - } - - for (var36 = 0; var36 < var2; ++var36) { // L: 1068 - var4 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX; // L: 1069 - var5 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY; // L: 1070 - var39 = WorldMapIcon_0.regionLandArchives[var36]; // L: 1071 - if (var39 == null && UserComparator6.field2013 < 800) { // L: 1072 - FontName.playPcmPlayers(); // L: 1073 - class39.method594(var4, var5, 64, 64); // L: 1074 - } - } - - WorldMapSection2.method377(true); // L: 1077 - - for (var36 = 0; var36 < var2; ++var36) { // L: 1078 - byte[] var37 = MouseRecorder.regionMapArchives[var36]; // L: 1079 - if (var37 != null) { // L: 1080 - var5 = (FileSystem.regions[var36] >> 8) * 64 - NetFileRequest.baseX; // L: 1081 - var6 = (FileSystem.regions[var36] & 255) * 64 - class41.baseY; // L: 1082 - FontName.playPcmPlayers(); // L: 1083 - class169.method3533(var37, var5, var6, ArchiveLoader.scene, collisionMaps); // L: 1084 - } - } - } - - int var7; - int var9; - int var46; - if (isInInstance) { // L: 1088 - var36 = 0; - - label477: - while (true) { - if (var36 >= 4) { - for (var36 = 0; var36 < 13; ++var36) { // L: 1115 - for (var4 = 0; var4 < 13; ++var4) { // L: 1116 - var5 = instanceChunkTemplates[0][var36][var4]; // L: 1117 - if (var5 == -1) { // L: 1118 - class39.method594(var36 * 8, var4 * 8, 8, 8); // L: 1119 - } - } - } - - WorldMapSection2.method377(true); // L: 1123 - var36 = 0; - - while (true) { - if (var36 >= 4) { - break label477; - } - - FontName.playPcmPlayers(); // L: 1125 - - for (var4 = 0; var4 < 13; ++var4) { // L: 1126 - label434: - for (var5 = 0; var5 < 13; ++var5) { // L: 1127 - var6 = instanceChunkTemplates[var36][var4][var5]; // L: 1128 - if (var6 != -1) { // L: 1129 - var7 = var6 >> 24 & 3; // L: 1130 - var46 = var6 >> 1 & 3; // L: 1131 - var9 = var6 >> 14 & 1023; // L: 1132 - var10 = var6 >> 3 & 2047; // L: 1133 - var11 = (var9 / 8 << 8) + var10 / 8; // L: 1134 - - for (var12 = 0; var12 < FileSystem.regions.length; ++var12) { // L: 1135 - if (FileSystem.regions[var12] == var11 && MouseRecorder.regionMapArchives[var12] != null) { // L: 1136 - byte[] var13 = MouseRecorder.regionMapArchives[var12]; // L: 1137 - var14 = var4 * 8; // L: 1138 - var15 = var5 * 8; // L: 1139 - var16 = (var9 & 7) * 8; // L: 1140 - var17 = (var10 & 7) * 8; // L: 1141 - Scene var18 = ArchiveLoader.scene; // L: 1142 - CollisionMap[] var19 = collisionMaps; // L: 1143 - Buffer var47 = new Buffer(var13); // L: 1145 - int var21 = -1; // L: 1146 - - while (true) { - int var22 = var47.method5557(); // L: 1148 - if (var22 == 0) { // L: 1149 - continue label434; - } - - var21 += var22; // L: 1150 - int var23 = 0; // L: 1151 - - while (true) { - int var24 = var47.readUShortSmart(); // L: 1153 - if (var24 == 0) { // L: 1154 - break; - } - - var23 += var24 - 1; // L: 1155 - int var25 = var23 & 63; // L: 1156 - int var26 = var23 >> 6 & 63; // L: 1157 - int var27 = var23 >> 12; // L: 1158 - int var28 = var47.readUnsignedByte(); // L: 1159 - int var29 = var28 >> 2; // L: 1160 - int var30 = var28 & 3; // L: 1161 - if (var27 == var7 && var26 >= var16 && var26 < var16 + 8 && var25 >= var17 && var25 < var17 + 8) { // L: 1162 - ObjectComposition var31 = WorldMapDecoration.getObjectDefinition(var21); // L: 1163 - int var32 = var14 + HitSplatDefinition.method4612(var26 & 7, var25 & 7, var46, var31.sizeX, var31.sizeY, var30); // L: 1164 - int var33 = var15 + World.method1871(var26 & 7, var25 & 7, var46, var31.sizeX, var31.sizeY, var30); // L: 1165 - if (var32 > 0 && var33 > 0 && var32 < 103 && var33 < 103) { // L: 1166 - int var34 = var36; // L: 1167 - if ((Tiles.Tiles_renderFlags[1][var32][var33] & 2) == 2) { // L: 1168 - var34 = var36 - 1; - } - - CollisionMap var35 = null; // L: 1169 - if (var34 >= 0) { // L: 1170 - var35 = var19[var34]; - } - - class7.method90(var36, var32, var33, var21, var30 + var46 & 3, var29, var18, var35); // L: 1171 - } - } - } - } - } - } - } - } - } - - ++var36; // L: 1124 - } - } - - FontName.playPcmPlayers(); // L: 1090 - - for (var4 = 0; var4 < 13; ++var4) { // L: 1091 - for (var5 = 0; var5 < 13; ++var5) { // L: 1092 - boolean var45 = false; // L: 1093 - var7 = instanceChunkTemplates[var36][var4][var5]; // L: 1094 - if (var7 != -1) { // L: 1095 - var46 = var7 >> 24 & 3; // L: 1096 - var9 = var7 >> 1 & 3; // L: 1097 - var10 = var7 >> 14 & 1023; // L: 1098 - var11 = var7 >> 3 & 2047; // L: 1099 - var12 = (var10 / 8 << 8) + var11 / 8; // L: 1100 - - for (int var50 = 0; var50 < FileSystem.regions.length; ++var50) { // L: 1101 - if (FileSystem.regions[var50] == var12 && WorldMapIcon_0.regionLandArchives[var50] != null) { // L: 1102 - WorldMapDecoration.method381(WorldMapIcon_0.regionLandArchives[var50], var36, var4 * 8, var5 * 8, var46, (var10 & 7) * 8, (var11 & 7) * 8, var9, collisionMaps); // L: 1103 - var45 = true; // L: 1104 - break; - } - } - } - - if (!var45) { // L: 1109 - ReflectionCheck.method2350(var36, var4 * 8, var5 * 8); // L: 1110 - } - } - } - - ++var36; // L: 1089 - } - } - - WorldMapSection2.method377(true); // L: 1185 - FontName.playPcmPlayers(); // L: 1186 - LoginPacket.method3673(ArchiveLoader.scene, collisionMaps); // L: 1187 - WorldMapSection2.method377(true); // L: 1188 - var36 = Tiles.Tiles_minPlane; // L: 1189 - if (var36 > GameObject.Client_plane) { // L: 1190 - var36 = GameObject.Client_plane; - } - - if (var36 < GameObject.Client_plane - 1) { // L: 1191 - var36 = GameObject.Client_plane - 1; - } - - if (isLowDetail) { // L: 1192 - ArchiveLoader.scene.init(Tiles.Tiles_minPlane); - } else { - ArchiveLoader.scene.init(0); // L: 1193 - } - - for (var4 = 0; var4 < 104; ++var4) { // L: 1194 - for (var5 = 0; var5 < 104; ++var5) { // L: 1195 - MouseRecorder.updateItemPile(var4, var5); // L: 1196 - } - } - - FontName.playPcmPlayers(); // L: 1199 - - for (PendingSpawn var48 = (PendingSpawn)pendingSpawns.last(); var48 != null; var48 = (PendingSpawn)pendingSpawns.previous()) { // L: 1201 1202 1208 - if (var48.hitpoints == -1) { // L: 1203 - var48.delay = 0; // L: 1204 - class7.method86(var48); // L: 1205 - } else { - var48.remove(); // L: 1207 - } - } - - ObjectComposition.ObjectDefinition_cachedModelData.clear(); // L: 1211 - PacketBufferNode var49; - if (WorldMapIcon_0.client.hasFrame()) { // L: 1212 - var49 = ItemContainer.getPacketBufferNode(ClientPacket.field2299, packetWriter.isaacCipher); // L: 1214 - var49.packetBuffer.writeInt(1057001181); // L: 1215 - packetWriter.addNode(var49); // L: 1216 - } - - if (!isInInstance) { // L: 1218 - var4 = (class182.field2112 - 6) / 8; // L: 1219 - var5 = (class182.field2112 + 6) / 8; // L: 1220 - var6 = (UserComparator6.field2013 - 6) / 8; // L: 1221 - var7 = (UserComparator6.field2013 + 6) / 8; // L: 1222 - - for (var46 = var4 - 1; var46 <= var5 + 1; ++var46) { // L: 1223 - for (var9 = var6 - 1; var9 <= var7 + 1; ++var9) { // L: 1224 - if (var46 < var4 || var46 > var5 || var9 < var6 || var9 > var7) { // L: 1225 - GameEngine.archive5.loadRegionFromName("m" + var46 + "_" + var9); // L: 1226 - GameEngine.archive5.loadRegionFromName("l" + var46 + "_" + var9); // L: 1227 - } - } - } - } - - WorldMapCacheName.updateGameState(30); // L: 1231 - FontName.playPcmPlayers(); // L: 1232 - Tiles.field514 = null; // L: 1234 - Tiles.field508 = null; // L: 1235 - class9.field40 = null; // L: 1236 - Username.field3663 = null; // L: 1237 - GrandExchangeOfferWorldComparator.field52 = null; // L: 1238 - Tiles.field511 = null; // L: 1239 - class92.field1173 = null; // L: 1240 - VarbitComposition.Tiles_hue = null; // L: 1241 - ArchiveDiskActionHandler.Tiles_saturation = null; // L: 1242 - class92.Tiles_lightness = null; // L: 1243 - UserComparator7.Tiles_hueMultiplier = null; // L: 1244 - Varcs.field1283 = null; // L: 1245 - var49 = ItemContainer.getPacketBufferNode(ClientPacket.field2235, packetWriter.isaacCipher); // L: 1247 - packetWriter.addNode(var49); // L: 1248 - class225.clock.mark(); // L: 1250 - - for (var5 = 0; var5 < 32; ++var5) { // L: 1251 - GameEngine.graphicsTickTimes[var5] = 0L; - } - - for (var5 = 0; var5 < 32; ++var5) { // L: 1252 - GameEngine.clientTickTimes[var5] = 0L; - } - - class8.gameCyclesToDo = 0; // L: 1253 - } - } - } - } else { - SequenceDefinition.doCycleTitle(this); - } - - if (gameState == 30) { // L: 1256 - this.doCycleLoggedIn(); - } else if (gameState == 40 || gameState == 45) { // L: 1257 - this.doCycleLoggedOut(); - } - - } // L: 1258 - - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-20163413" - ) - @Export("draw") - protected final void draw(boolean var1) { - boolean var2 = WorldMapIcon_1.method355(); // L: 1261 - if (var2 && field883 && AbstractWorldMapData.pcmPlayer0 != null) { // L: 1262 1263 - AbstractWorldMapData.pcmPlayer0.tryDiscard(); - } - - if ((gameState == 10 || gameState == 20 || gameState == 30) && field861 != 0L && class298.currentTimeMillis() > field861) { // L: 1265 1266 - class13.setWindowedMode(SoundSystem.getWindowedMode()); // L: 1267 - } - - int var3; - if (var1) { // L: 1270 - for (var3 = 0; var3 < 100; ++var3) { // L: 1271 - field901[var3] = true; - } - } - - if (gameState == 0) { // L: 1273 - this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); - } else if (gameState == 5) { // L: 1274 - ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12); - } else if (gameState != 10 && gameState != 11) { // L: 1275 - if (gameState == 20) { // L: 1276 - ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12); - } else if (gameState == 25) { // L: 1277 - if (field704 == 1) { // L: 1278 - if (field700 > field701) { // L: 1279 - field701 = field700; - } - - var3 = (field701 * 50 - field700 * 50) / field701; // L: 1280 - Varps.drawLoadingMessage("Loading - please wait." + "
" + " (" + var3 + "%" + ")", false); // L: 1281 - } else if (field704 == 2) { // L: 1283 - if (field702 > field703) { // L: 1284 - field703 = field702; - } - - var3 = (field703 * 50 - field702 * 50) / field703 + 50; // L: 1285 - Varps.drawLoadingMessage("Loading - please wait." + "
" + " (" + var3 + "%" + ")", false); // L: 1286 - } else { - Varps.drawLoadingMessage("Loading - please wait.", false); // L: 1288 - } - } else if (gameState == 30) { // L: 1290 - this.drawLoggedIn(); - } else if (gameState == 40) { // L: 1291 - Varps.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); - } else if (gameState == 45) { // L: 1292 - Varps.drawLoadingMessage("Please wait...", false); - } - } else { - ArchiveLoader.drawTitle(GrandExchangeOfferTotalQuantityComparator.fontBold12, class297.fontPlain11, WorldMapLabelSize.fontPlain12); // L: 1282 - } - - if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { // L: 1293 - for (var3 = 0; var3 < rootWidgetCount; ++var3) { // L: 1294 - if (field854[var3]) { // L: 1295 - WorldMapIcon_0.rasterProvider.draw(rootWidgetXs[var3], rootWidgetYs[var3], rootWidgetWidths[var3], rootWidgetHeights[var3]); // L: 1296 - field854[var3] = false; // L: 1297 - } - } - } else if (gameState > 0) { // L: 1301 - WorldMapIcon_0.rasterProvider.drawFull(0, 0); // L: 1302 - - for (var3 = 0; var3 < rootWidgetCount; ++var3) { // L: 1303 - field854[var3] = false; - } - } - - } // L: 1305 - - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-6923156" - ) - @Export("kill0") - protected final void kill0() { - if (Varcs.varcs.hasUnwrittenChanges()) { // L: 1308 - Varcs.varcs.write(); - } - - if (SoundCache.mouseRecorder != null) { // L: 1309 - SoundCache.mouseRecorder.isRunning = false; - } - - SoundCache.mouseRecorder = null; // L: 1310 - packetWriter.close(); // L: 1311 - WorldMapEvent.method807(); // L: 1312 - class3.method43(); // L: 1313 - KitDefinition.mouseWheel = null; // L: 1314 - if (AbstractWorldMapData.pcmPlayer0 != null) { // L: 1315 - AbstractWorldMapData.pcmPlayer0.shutdown(); - } - - if (FriendLoginUpdate.pcmPlayer1 != null) { // L: 1316 - FriendLoginUpdate.pcmPlayer1.shutdown(); - } - - method1583(); // L: 1317 - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { // L: 1319 - if (ArchiveDiskActionHandler.field3178 != 0) { // L: 1320 - ArchiveDiskActionHandler.field3178 = 1; // L: 1321 - - try { - ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); // L: 1323 - } catch (InterruptedException var5) { // L: 1325 - } - } - } - - if (GrandExchangeOfferAgeComparator.urlRequester != null) { // L: 1329 - GrandExchangeOfferAgeComparator.urlRequester.close(); // L: 1330 - GrandExchangeOfferAgeComparator.urlRequester = null; // L: 1331 - } - - try { - JagexCache.JagexCache_dat2File.close(); // L: 1335 - - for (int var4 = 0; var4 < MusicPatchPcmStream.idxCount; ++var4) { // L: 1336 - PlayerComposition.JagexCache_idxFiles[var4].close(); - } - - JagexCache.JagexCache_idx255File.close(); // L: 1337 - JagexCache.JagexCache_randomDat.close(); // L: 1338 - } catch (Exception var6) { // L: 1340 - } - - } // L: 1342 - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "96" - ) - protected final void vmethod1777() { - } // L: 667 - - public final void init() { - try { - if (this.checkHost()) { // L: 673 - for (int var1 = 0; var1 <= 20; ++var1) { // L: 674 - String var2 = this.getParameter(Integer.toString(var1)); // L: 675 - if (var2 != null) { // L: 676 - switch(var1) { // L: 677 - case 1: - useBufferedSocket = Integer.parseInt(var2) != 0; // L: 740 - case 2: - case 11: - case 13: - case 16: - default: - break; - case 3: - if (var2.equalsIgnoreCase("true")) { // L: 713 - isMembersWorld = true; - } else { - isMembersWorld = false; // L: 714 - } - break; - case 4: - if (clientType == -1) { // L: 706 - clientType = Integer.parseInt(var2); // L: 707 - } - break; - case 5: - worldProperties = Integer.parseInt(var2); // L: 680 - break; // L: 681 - case 6: - WorldMapScaleHandler.clientLanguage = Language.method3701(Integer.parseInt(var2)); // L: 730 - break; // L: 731 - case 7: - class25.field125 = ArchiveLoader.method1225(Integer.parseInt(var2)); // L: 745 - break; // L: 746 - case 8: - if (var2.equalsIgnoreCase("true")) { // L: 724 - } - break; - case 9: - WorldMapSection1.field317 = var2; // L: 685 - break; // L: 686 - case 10: - StudioGame[] var3 = new StudioGame[]{StudioGame.runescape, StudioGame.stellardawn, StudioGame.game4, StudioGame.game5, StudioGame.game3, StudioGame.oldscape}; // L: 692 - AttackOption.field1174 = (StudioGame)UrlRequester.findEnumerated(var3, Integer.parseInt(var2)); // L: 694 - if (StudioGame.oldscape == AttackOption.field1174) { // L: 695 - GrandExchangeOfferUnitPriceComparator.loginType = LoginType.oldscape; - } else { - GrandExchangeOfferUnitPriceComparator.loginType = LoginType.field4072; // L: 696 - } - break; - case 12: - worldId = Integer.parseInt(var2); // L: 719 - break; // L: 720 - case 14: - MidiPcmStream.field2455 = Integer.parseInt(var2); // L: 735 - break; // L: 736 - case 15: - gameBuild = Integer.parseInt(var2); // L: 701 - break; // L: 702 - case 17: - GrandExchangeOfferTotalQuantityComparator.field75 = var2; // L: 750 - } - } - } - - class39.method596(); // L: 756 - WorldMapSprite.worldHost = this.getCodeBase().getHost(); // L: 757 - String var11 = class25.field125.name; // L: 758 - byte var12 = 0; // L: 759 - - try { - MusicPatchPcmStream.idxCount = 21; // L: 762 - JagexCache.cacheGamebuild = var12; // L: 763 - - try { - WorldMapScaleHandler.field365 = System.getProperty("os.name"); // L: 765 - } catch (Exception var18) { // L: 767 - WorldMapScaleHandler.field365 = "Unknown"; // L: 768 - } - - ObjectSound.field1077 = WorldMapScaleHandler.field365.toLowerCase(); // L: 770 - - try { - ItemLayer.userHomeDirectory = System.getProperty("user.home"); // L: 772 - if (ItemLayer.userHomeDirectory != null) { // L: 773 - ItemLayer.userHomeDirectory = ItemLayer.userHomeDirectory + "/"; - } - } catch (Exception var17) { // L: 775 - } - - try { - if (ObjectSound.field1077.startsWith("win")) { // L: 777 - if (ItemLayer.userHomeDirectory == null) { // L: 778 - ItemLayer.userHomeDirectory = System.getenv("USERPROFILE"); - } - } else if (ItemLayer.userHomeDirectory == null) { // L: 781 - ItemLayer.userHomeDirectory = System.getenv("HOME"); - } - - if (ItemLayer.userHomeDirectory != null) { // L: 783 - ItemLayer.userHomeDirectory = ItemLayer.userHomeDirectory + "/"; - } - } catch (Exception var16) { // L: 785 - } - - if (ItemLayer.userHomeDirectory == null) { // L: 786 - ItemLayer.userHomeDirectory = "~/"; - } - - GraphicsObject.field1117 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", ItemLayer.userHomeDirectory, "/tmp/", ""}; // L: 787 - DynamicObject.field1318 = new String[]{".jagex_cache_" + JagexCache.cacheGamebuild, ".file_store_" + JagexCache.cacheGamebuild}; // L: 788 - - label144: - for (int var13 = 0; var13 < 4; ++var13) { // L: 789 - JagexCache.cacheDir = class58.method917("oldschool", var11, var13); // L: 790 - if (!JagexCache.cacheDir.exists()) { // L: 791 - JagexCache.cacheDir.mkdirs(); - } - - File[] var4 = JagexCache.cacheDir.listFiles(); // L: 792 - if (var4 == null) { // L: 793 - break; - } - - File[] var5 = var4; // L: 795 - int var6 = 0; - - while (true) { - if (var6 >= var5.length) { - break label144; - } - - File var7 = var5[var6]; // L: 797 - - boolean var8; - try { - RandomAccessFile var9 = new RandomAccessFile(var7, "rw"); // L: 802 - int var10 = var9.read(); // L: 803 - var9.seek(0L); // L: 804 - var9.write(var10); // L: 805 - var9.seek(0L); // L: 806 - var9.close(); // L: 807 - var8 = true; // L: 809 - } catch (Exception var15) { // L: 811 - var8 = false; // L: 812 - } - - if (!var8) { // L: 815 - break; - } - - ++var6; // L: 796 - } - } - - File var21 = JagexCache.cacheDir; // L: 822 - FileSystem.FileSystem_cacheDir = var21; // L: 824 - if (!FileSystem.FileSystem_cacheDir.exists()) { // L: 825 - throw new RuntimeException(""); - } - - FileSystem.FileSystem_hasPermissions = true; // L: 826 - WorldMapData_0.method237(); // L: 828 - JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); // L: 829 - JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); // L: 830 - PlayerComposition.JagexCache_idxFiles = new BufferedFile[MusicPatchPcmStream.idxCount]; // L: 831 - - for (int var14 = 0; var14 < MusicPatchPcmStream.idxCount; ++var14) { // L: 832 - PlayerComposition.JagexCache_idxFiles[var14] = new BufferedFile(new AccessFile(ModelData0.getFile("main_file_cache.idx" + var14), "rw", 1048576L), 6000, 0); // L: 833 - } - } catch (Exception var19) { // L: 837 - PlayerComposition.RunException_sendStackTrace((String)null, var19); // L: 838 - } - - WorldMapIcon_0.client = this; // L: 840 - class39.clientType = clientType; // L: 841 - if (field651 == -1) { // L: 842 - field651 = 0; // L: 843 - } - - this.startThread(765, 503, 193); // L: 845 - } - } catch (RuntimeException var20) { - throw UserComparator9.newRunException(var20, "client.init(" + ')'); - } - } // L: 846 - - @ObfuscatedName("ff") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "0" - ) - @Export("doCycleJs5") - void doCycleJs5() { - if (gameState != 1000) { // L: 1381 - long var2 = class298.currentTimeMillis(); // L: 1384 - int var4 = (int)(var2 - NetCache.field3195); // L: 1385 - NetCache.field3195 = var2; // L: 1386 - if (var4 > 200) { // L: 1387 - var4 = 200; - } - - NetCache.NetCache_loadTime += var4; // L: 1388 - boolean var1; - if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { // L: 1389 - var1 = true; // L: 1390 - } else if (NetCache.NetCache_socket == null) { // L: 1393 - var1 = false; // L: 1394 - } else { - try { - label246: { - if (NetCache.NetCache_loadTime > 30000) { // L: 1398 - throw new IOException(); - } - - NetFileRequest var5; - Buffer var6; - while (NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { // L: 1399 - var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); // L: 1400 - var6 = new Buffer(4); // L: 1401 - var6.writeByte(1); // L: 1402 - var6.writeMedium((int)var5.key); // L: 1403 - NetCache.NetCache_socket.write(var6.array, 0, 4); // L: 1404 - NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key); // L: 1405 - --NetCache.NetCache_pendingPriorityWritesCount; // L: 1406 - ++NetCache.NetCache_pendingPriorityResponsesCount; // L: 1407 - } - - while (NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { // L: 1409 - var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); // L: 1410 - var6 = new Buffer(4); // L: 1411 - var6.writeByte(0); // L: 1412 - var6.writeMedium((int)var5.key); // L: 1413 - NetCache.NetCache_socket.write(var6.array, 0, 4); // L: 1414 - var5.removeDual(); // L: 1415 - NetCache.NetCache_pendingResponses.put(var5, var5.key); // L: 1416 - --NetCache.NetCache_pendingWritesCount; // L: 1417 - ++NetCache.NetCache_pendingResponsesCount; // L: 1418 - } - - for (int var17 = 0; var17 < 100; ++var17) { // L: 1420 - int var18 = NetCache.NetCache_socket.available(); // L: 1421 - if (var18 < 0) { // L: 1422 - throw new IOException(); - } - - if (var18 == 0) { // L: 1423 - break; - } - - NetCache.NetCache_loadTime = 0; // L: 1424 - byte var7 = 0; // L: 1425 - if (NetCache.NetCache_currentResponse == null) { // L: 1426 - var7 = 8; - } else if (NetCache.field3207 == 0) { // L: 1427 - var7 = 1; - } - - int var8; - int var9; - int var10; - int var12; - byte[] var10000; - int var10001; - Buffer var25; - if (var7 > 0) { // L: 1428 - var8 = var7 - NetCache.NetCache_responseHeaderBuffer.offset; // L: 1429 - if (var8 > var18) { // L: 1430 - var8 = var18; - } - - NetCache.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var8); // L: 1431 - if (NetCache.field3210 != 0) { // L: 1432 - for (var9 = 0; var9 < var8; ++var9) { // L: 1433 - var10000 = NetCache.NetCache_responseHeaderBuffer.array; - var10001 = var9 + NetCache.NetCache_responseHeaderBuffer.offset; - var10000[var10001] ^= NetCache.field3210; - } - } - - var25 = NetCache.NetCache_responseHeaderBuffer; // L: 1435 - var25.offset += var8; - if (NetCache.NetCache_responseHeaderBuffer.offset < var7) { // L: 1436 - break; - } - - if (NetCache.NetCache_currentResponse == null) { // L: 1437 - NetCache.NetCache_responseHeaderBuffer.offset = 0; // L: 1438 - var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); // L: 1439 - var10 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); // L: 1440 - int var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); // L: 1441 - var12 = NetCache.NetCache_responseHeaderBuffer.readInt(); // L: 1442 - long var13 = (long)(var10 + (var9 << 16)); // L: 1443 - NetFileRequest var15 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var13); // L: 1444 - UserComparator4.field1988 = true; // L: 1445 - if (var15 == null) { // L: 1446 - var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13); // L: 1447 - UserComparator4.field1988 = false; // L: 1448 - } - - if (var15 == null) { // L: 1450 - throw new IOException(); // L: 1451 - } - - int var16 = var11 == 0 ? 5 : 9; // L: 1453 - NetCache.NetCache_currentResponse = var15; // L: 1454 - class206.NetCache_responseArchiveBuffer = new Buffer(var16 + var12 + NetCache.NetCache_currentResponse.padding); // L: 1455 - class206.NetCache_responseArchiveBuffer.writeByte(var11); // L: 1456 - class206.NetCache_responseArchiveBuffer.writeInt(var12); // L: 1457 - NetCache.field3207 = 8; // L: 1458 - NetCache.NetCache_responseHeaderBuffer.offset = 0; // L: 1459 - } else if (NetCache.field3207 == 0) { // L: 1462 - if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { // L: 1463 - NetCache.field3207 = 1; // L: 1464 - NetCache.NetCache_responseHeaderBuffer.offset = 0; // L: 1465 - } else { - NetCache.NetCache_currentResponse = null; // L: 1469 - } - } - } else { - var8 = class206.NetCache_responseArchiveBuffer.array.length - NetCache.NetCache_currentResponse.padding; // L: 1475 - var9 = 512 - NetCache.field3207; // L: 1476 - if (var9 > var8 - class206.NetCache_responseArchiveBuffer.offset) { // L: 1477 - var9 = var8 - class206.NetCache_responseArchiveBuffer.offset; - } - - if (var9 > var18) { // L: 1478 - var9 = var18; - } - - NetCache.NetCache_socket.read(class206.NetCache_responseArchiveBuffer.array, class206.NetCache_responseArchiveBuffer.offset, var9); // L: 1479 - if (NetCache.field3210 != 0) { // L: 1480 - for (var10 = 0; var10 < var9; ++var10) { // L: 1481 - var10000 = class206.NetCache_responseArchiveBuffer.array; - var10001 = class206.NetCache_responseArchiveBuffer.offset + var10; - var10000[var10001] ^= NetCache.field3210; - } - } - - var25 = class206.NetCache_responseArchiveBuffer; // L: 1483 - var25.offset += var9; - NetCache.field3207 += var9; // L: 1484 - if (var8 == class206.NetCache_responseArchiveBuffer.offset) { // L: 1485 - if (16711935L == NetCache.NetCache_currentResponse.key) { // L: 1486 - WorldMapLabel.NetCache_reference = class206.NetCache_responseArchiveBuffer; // L: 1487 - - for (var10 = 0; var10 < 256; ++var10) { // L: 1488 - Archive var19 = NetCache.NetCache_archives[var10]; // L: 1489 - if (var19 != null) { // L: 1490 - WorldMapLabel.NetCache_reference.offset = var10 * 8 + 5; // L: 1491 - var12 = WorldMapLabel.NetCache_reference.readInt(); // L: 1492 - int var20 = WorldMapLabel.NetCache_reference.readInt(); // L: 1493 - var19.loadIndex(var12, var20); // L: 1494 - } - } - } else { - NetCache.NetCache_crc.reset(); // L: 1499 - NetCache.NetCache_crc.update(class206.NetCache_responseArchiveBuffer.array, 0, var8); // L: 1500 - var10 = (int)NetCache.NetCache_crc.getValue(); // L: 1501 - if (var10 != NetCache.NetCache_currentResponse.crc) { // L: 1502 - try { - NetCache.NetCache_socket.close(); // L: 1504 - } catch (Exception var23) { // L: 1506 - } - - ++NetCache.NetCache_crcMismatches; // L: 1507 - NetCache.NetCache_socket = null; // L: 1508 - NetCache.field3210 = (byte)((int)(Math.random() * 255.0D + 1.0D)); // L: 1509 - var1 = false; // L: 1510 - break label246; - } - - NetCache.NetCache_crcMismatches = 0; // L: 1513 - NetCache.NetCache_ioExceptions = 0; // L: 1514 - NetCache.NetCache_currentResponse.archive.write((int)(NetCache.NetCache_currentResponse.key & 65535L), class206.NetCache_responseArchiveBuffer.array, (NetCache.NetCache_currentResponse.key & 16711680L) == 16711680L, UserComparator4.field1988); // L: 1515 - } - - NetCache.NetCache_currentResponse.remove(); // L: 1517 - if (UserComparator4.field1988) { // L: 1518 - --NetCache.NetCache_pendingPriorityResponsesCount; - } else { - --NetCache.NetCache_pendingResponsesCount; // L: 1519 - } - - NetCache.field3207 = 0; // L: 1520 - NetCache.NetCache_currentResponse = null; // L: 1521 - class206.NetCache_responseArchiveBuffer = null; // L: 1522 - } else { - if (NetCache.field3207 != 512) { // L: 1524 - break; - } - - NetCache.field3207 = 0; - } - } - } - - var1 = true; // L: 1528 - } - } catch (IOException var24) { - try { - NetCache.NetCache_socket.close(); // L: 1532 - } catch (Exception var22) { // L: 1534 - } - - ++NetCache.NetCache_ioExceptions; // L: 1535 - NetCache.NetCache_socket = null; // L: 1536 - var1 = false; // L: 1537 - } - } - - if (!var1) { // L: 1541 - this.doCycleJs5Connect(); - } - - } - } // L: 1542 - - @ObfuscatedName("fs") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-278380129" - ) - @Export("doCycleJs5Connect") - void doCycleJs5Connect() { - if (NetCache.NetCache_crcMismatches >= 4) { // L: 1545 - this.error("js5crc"); // L: 1546 - gameState = 1000; // L: 1547 - } else { - if (NetCache.NetCache_ioExceptions >= 4) { // L: 1550 - if (gameState <= 5) { // L: 1551 - this.error("js5io"); // L: 1552 - gameState = 1000; // L: 1553 - return; // L: 1554 - } - - field864 = 3000; // L: 1557 - NetCache.NetCache_ioExceptions = 3; // L: 1558 - } - - if (--field864 + 1 <= 0) { // L: 1561 - try { - if (js5ConnectState == 0) { // L: 1563 - WorldMapManager.js5SocketTask = GameEngine.taskHandler.newSocketTask(WorldMapSprite.worldHost, ArchiveDiskAction.port3); // L: 1564 - ++js5ConnectState; // L: 1565 - } - - if (js5ConnectState == 1) { // L: 1567 - if (WorldMapManager.js5SocketTask.status == 2) { // L: 1568 - this.js5Error(-1); // L: 1569 - return; // L: 1570 - } - - if (WorldMapManager.js5SocketTask.status == 1) { // L: 1572 - ++js5ConnectState; - } - } - - if (js5ConnectState == 2) { // L: 1574 - if (useBufferedSocket) { // L: 1575 - TaskHandler.js5Socket = class219.method4011((Socket)WorldMapManager.js5SocketTask.result, 40000, 5000); // L: 1576 - } else { - TaskHandler.js5Socket = new NetSocket((Socket)WorldMapManager.js5SocketTask.result, GameEngine.taskHandler, 5000); // L: 1579 - } - - Buffer var1 = new Buffer(5); // L: 1581 - var1.writeByte(15); // L: 1582 - var1.writeInt(193); // L: 1583 - TaskHandler.js5Socket.write(var1.array, 0, 5); // L: 1584 - ++js5ConnectState; // L: 1585 - LoginPacket.field2341 = class298.currentTimeMillis(); // L: 1586 - } - - if (js5ConnectState == 3) { // L: 1588 - if (TaskHandler.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { // L: 1589 - int var5 = TaskHandler.js5Socket.readUnsignedByte(); // L: 1590 - if (var5 != 0) { // L: 1591 - this.js5Error(var5); // L: 1592 - return; // L: 1593 - } - - ++js5ConnectState; // L: 1595 - } else if (class298.currentTimeMillis() - LoginPacket.field2341 > 30000L) { // L: 1598 - this.js5Error(-2); // L: 1599 - return; // L: 1600 - } - } - - if (js5ConnectState == 4) { // L: 1604 - AbstractSocket var10 = TaskHandler.js5Socket; // L: 1605 - boolean var2 = gameState > 20; // L: 1606 - if (NetCache.NetCache_socket != null) { // L: 1608 - try { - NetCache.NetCache_socket.close(); // L: 1610 - } catch (Exception var8) { // L: 1612 - } - - NetCache.NetCache_socket = null; // L: 1613 - } - - NetCache.NetCache_socket = var10; // L: 1615 - SoundSystem.method2564(var2); // L: 1616 - NetCache.NetCache_responseHeaderBuffer.offset = 0; // L: 1617 - NetCache.NetCache_currentResponse = null; // L: 1618 - class206.NetCache_responseArchiveBuffer = null; // L: 1619 - NetCache.field3207 = 0; // L: 1620 - - while (true) { - NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); // L: 1622 - if (var3 == null) { // L: 1623 - while (true) { - var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); // L: 1629 - if (var3 == null) { // L: 1630 - if (NetCache.field3210 != 0) { // L: 1636 - try { - Buffer var11 = new Buffer(4); // L: 1638 - var11.writeByte(4); // L: 1639 - var11.writeByte(NetCache.field3210); // L: 1640 - var11.writeShort(0); // L: 1641 - NetCache.NetCache_socket.write(var11.array, 0, 4); // L: 1642 - } catch (IOException var7) { - try { - NetCache.NetCache_socket.close(); // L: 1646 - } catch (Exception var6) { // L: 1648 - } - - ++NetCache.NetCache_ioExceptions; // L: 1649 - NetCache.NetCache_socket = null; // L: 1650 - } - } - - NetCache.NetCache_loadTime = 0; // L: 1653 - NetCache.field3195 = class298.currentTimeMillis(); // L: 1654 - WorldMapManager.js5SocketTask = null; // L: 1656 - TaskHandler.js5Socket = null; // L: 1657 - js5ConnectState = 0; // L: 1658 - js5Errors = 0; // L: 1659 - return; // L: 1665 - } - - NetCache.NetCache_pendingWritesQueue.addLast(var3); // L: 1631 - NetCache.NetCache_pendingWrites.put(var3, var3.key); // L: 1632 - ++NetCache.NetCache_pendingWritesCount; // L: 1633 - --NetCache.NetCache_pendingResponsesCount; // L: 1634 - } - } - - NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key); // L: 1624 - ++NetCache.NetCache_pendingPriorityWritesCount; // L: 1625 - --NetCache.NetCache_pendingPriorityResponsesCount; // L: 1626 - } - } - } catch (IOException var9) { // L: 1662 - this.js5Error(-3); // L: 1663 - } - - } - } - } // L: 1548 - - @ObfuscatedName("fk") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1103110959" - ) - @Export("js5Error") - void js5Error(int var1) { - WorldMapManager.js5SocketTask = null; // L: 1668 - TaskHandler.js5Socket = null; // L: 1669 - js5ConnectState = 0; // L: 1670 - if (ArchiveDiskAction.port3 == class278.port1) { // L: 1671 - ArchiveDiskAction.port3 = Players.port2; - } else { - ArchiveDiskAction.port3 = class278.port1; // L: 1672 - } - - ++js5Errors; // L: 1673 - if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { // L: 1674 - if (gameState <= 5) { // L: 1675 - this.error("js5connect_full"); // L: 1676 - gameState = 1000; // L: 1677 - } else { - field864 = 3000; // L: 1679 - } - } else if (js5Errors >= 2 && var1 == 6) { // L: 1681 - this.error("js5connect_outofdate"); // L: 1682 - gameState = 1000; // L: 1683 - } else if (js5Errors >= 4) { // L: 1685 - if (gameState <= 5) { // L: 1686 - this.error("js5connect"); // L: 1687 - gameState = 1000; // L: 1688 - } else { - field864 = 3000; // L: 1690 - } - } - - } // L: 1692 - - @ObfuscatedName("fb") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-34" - ) - @Export("doCycleLoggedOut") - final void doCycleLoggedOut() { - Object var1 = packetWriter.getSocket(); // L: 2201 - PacketBuffer var2 = packetWriter.packetBuffer; // L: 2202 - - try { - if (loginState == 0) { // L: 2204 - if (WorldMapData_0.secureRandom == null && (secureRandomFuture.isDone() || field892 > 250)) { // L: 2205 - WorldMapData_0.secureRandom = secureRandomFuture.get(); // L: 2206 - secureRandomFuture.shutdown(); // L: 2207 - secureRandomFuture = null; // L: 2208 - } - - if (WorldMapData_0.secureRandom != null) { // L: 2210 - if (var1 != null) { // L: 2211 - ((AbstractSocket)var1).close(); // L: 2212 - var1 = null; // L: 2213 - } - - WorldMapID.socketTask = null; // L: 2215 - field696 = false; // L: 2216 - field892 = 0; // L: 2217 - loginState = 1; // L: 2218 - } - } - - if (loginState == 1) { // L: 2221 - if (WorldMapID.socketTask == null) { // L: 2222 - WorldMapID.socketTask = GameEngine.taskHandler.newSocketTask(WorldMapSprite.worldHost, ArchiveDiskAction.port3); // L: 2223 - } - - if (WorldMapID.socketTask.status == 2) { // L: 2225 - throw new IOException(); - } - - if (WorldMapID.socketTask.status == 1) { // L: 2226 - if (useBufferedSocket) { // L: 2227 - var1 = class219.method4011((Socket)WorldMapID.socketTask.result, 40000, 5000); // L: 2228 - } else { - var1 = new NetSocket((Socket)WorldMapID.socketTask.result, GameEngine.taskHandler, 5000); // L: 2231 - } - - packetWriter.setSocket((AbstractSocket)var1); // L: 2233 - WorldMapID.socketTask = null; // L: 2234 - loginState = 2; // L: 2235 - } - } - - PacketBufferNode var3; - if (loginState == 2) { // L: 2238 - packetWriter.clearBuffer(); // L: 2239 - var3 = class236.method4163(); // L: 2240 - var3.packetBuffer.writeByte(LoginPacket.field2332.id); // L: 2241 - packetWriter.addNode(var3); // L: 2242 - packetWriter.flush(); // L: 2243 - var2.offset = 0; // L: 2244 - loginState = 3; // L: 2245 - } - - int var4; - boolean var12; - if (loginState == 3) { // L: 2247 - if (AbstractWorldMapData.pcmPlayer0 != null) { // L: 2248 - AbstractWorldMapData.pcmPlayer0.method2485(); - } - - if (FriendLoginUpdate.pcmPlayer1 != null) { // L: 2249 - FriendLoginUpdate.pcmPlayer1.method2485(); - } - - var12 = true; // L: 2250 - if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { // L: 2251 2252 - var12 = false; - } - - if (var12) { // L: 2254 - var4 = ((AbstractSocket)var1).readUnsignedByte(); // L: 2255 - if (AbstractWorldMapData.pcmPlayer0 != null) { // L: 2256 - AbstractWorldMapData.pcmPlayer0.method2485(); - } - - if (FriendLoginUpdate.pcmPlayer1 != null) { // L: 2257 - FriendLoginUpdate.pcmPlayer1.method2485(); - } - - if (var4 != 0) { // L: 2258 - UserComparator8.getLoginError(var4); // L: 2259 - return; // L: 2260 - } - - var2.offset = 0; // L: 2262 - loginState = 4; // L: 2263 - } - } - - int var31; - if (loginState == 4) { // L: 2266 - if (var2.offset < 8) { // L: 2267 - var31 = ((AbstractSocket)var1).available(); // L: 2268 - if (var31 > 8 - var2.offset) { // L: 2269 - var31 = 8 - var2.offset; - } - - if (var31 > 0) { // L: 2270 - ((AbstractSocket)var1).read(var2.array, var2.offset, var31); // L: 2271 - var2.offset += var31; // L: 2272 - } - } - - if (var2.offset == 8) { // L: 2275 - var2.offset = 0; // L: 2276 - class69.field557 = var2.readLong(); // L: 2277 - loginState = 5; // L: 2278 - } - } - - int var7; - int var9; - int var14; - if (loginState == 5) { // L: 2281 - packetWriter.packetBuffer.offset = 0; // L: 2282 - packetWriter.clearBuffer(); // L: 2283 - PacketBuffer var22 = new PacketBuffer(500); // L: 2284 - int[] var13 = new int[]{WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt(), WorldMapData_0.secureRandom.nextInt()}; // L: 2285 2286 2287 2288 2289 - var22.offset = 0; // L: 2290 - var22.writeByte(1); // L: 2291 - var22.writeInt(var13[0]); // L: 2292 - var22.writeInt(var13[1]); // L: 2293 - var22.writeInt(var13[2]); // L: 2294 - var22.writeInt(var13[3]); // L: 2295 - var22.writeLong(class69.field557); // L: 2296 - int var10; - if (gameState == 40) { // L: 2297 - var22.writeInt(MouseHandler.field487[0]); // L: 2298 - var22.writeInt(MouseHandler.field487[1]); // L: 2299 - var22.writeInt(MouseHandler.field487[2]); // L: 2300 - var22.writeInt(MouseHandler.field487[3]); // L: 2301 - } else { - var22.writeByte(field872.rsOrdinal()); // L: 2304 - switch(field872.field2022) { // L: 2305 - case 0: - LinkedHashMap var6 = Timer.clientPreferences.parameters; // L: 2321 - String var8 = Login.Login_username; // L: 2323 - var9 = var8.length(); // L: 2325 - var10 = 0; // L: 2326 - - for (int var11 = 0; var11 < var9; ++var11) { // L: 2327 - var10 = (var10 << 5) - var10 + var8.charAt(var11); - } - - var22.writeInt((Integer)var6.get(var10)); // L: 2330 - break; - case 1: - var22.offset += 4; // L: 2315 - break; // L: 2316 - case 2: - case 3: - var22.writeMedium(WorldMapSection1.field313); // L: 2309 - ++var22.offset; // L: 2310 - } - - var22.writeByte(class323.field3857.rsOrdinal()); // L: 2334 - var22.writeStringCp1252NullTerminated(Login.Login_password); // L: 2335 - } - - var22.encryptRsa(class92.field1170, class92.field1168); // L: 2337 - MouseHandler.field487 = var13; // L: 2338 - PacketBufferNode var5 = class236.method4163(); // L: 2339 - var5.packetBuffer.offset = 0; // L: 2340 - if (gameState == 40) { // L: 2341 - var5.packetBuffer.writeByte(LoginPacket.field2335.id); // L: 2342 - } else { - var5.packetBuffer.writeByte(LoginPacket.field2334.id); // L: 2345 - } - - var5.packetBuffer.writeShort(0); // L: 2347 - var14 = var5.packetBuffer.offset; // L: 2348 - var5.packetBuffer.writeInt(193); // L: 2349 - var5.packetBuffer.writeInt(1); // L: 2350 - var5.packetBuffer.writeByte(clientType); // L: 2351 - var5.packetBuffer.writeByte(field651); // L: 2352 - var5.packetBuffer.writeBytes(var22.array, 0, var22.offset); // L: 2353 - var7 = var5.packetBuffer.offset; // L: 2354 - var5.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); // L: 2355 - var5.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); // L: 2356 - var5.packetBuffer.writeShort(IgnoreList.canvasWidth); // L: 2357 - var5.packetBuffer.writeShort(ModelData0.canvasHeight); // L: 2358 - FileSystem.method3573(var5.packetBuffer); // L: 2359 - var5.packetBuffer.writeStringCp1252NullTerminated(WorldMapSection1.field317); // L: 2360 - var5.packetBuffer.writeInt(MidiPcmStream.field2455); // L: 2361 - Buffer var29 = new Buffer(class58.platformInfo.size()); // L: 2362 - class58.platformInfo.write(var29); // L: 2363 - var5.packetBuffer.writeBytes(var29.array, 0, var29.array.length); // L: 2364 - var5.packetBuffer.writeByte(clientType); // L: 2365 - var5.packetBuffer.writeInt(0); // L: 2366 - var5.packetBuffer.method5718(GameEngine.archive5.hash); // L: 2367 - var5.packetBuffer.method5718(GrandExchangeOfferUnitPriceComparator.archive13.hash); // L: 2368 - var5.packetBuffer.method5718(PacketBufferNode.archive12.hash); // L: 2369 - var5.packetBuffer.method5587(ItemContainer.archive11.hash); // L: 2370 - var5.packetBuffer.writeInt(GrandExchangeOfferUnitPriceComparator.archive9.hash); // L: 2371 - var5.packetBuffer.writeInt(NetFileRequest.archive20.hash); // L: 2372 - var5.packetBuffer.method5718(class92.archive10.hash); // L: 2373 - var5.packetBuffer.method5587(class41.archive18.hash); // L: 2374 - var5.packetBuffer.method5588(class169.archive17.hash); // L: 2375 - var5.packetBuffer.method5588(archive15.hash); // L: 2376 - var5.packetBuffer.method5587(WorldMapSprite.archive1.hash); // L: 2377 - var5.packetBuffer.method5718(FontName.archive14.hash); // L: 2378 - var5.packetBuffer.method5587(class195.archive19.hash); // L: 2379 - var5.packetBuffer.method5718(Messages.archive8.hash); // L: 2380 - var5.packetBuffer.method5587(DynamicObject.archive2.hash); // L: 2381 - var5.packetBuffer.method5718(class330.archive3.hash); // L: 2382 - var5.packetBuffer.method5587(SceneTilePaint.archive0.hash); // L: 2383 - var5.packetBuffer.writeInt(class227.archive4.hash); // L: 2384 - var5.packetBuffer.method5587(0); // L: 2385 - var5.packetBuffer.method5588(BuddyRankComparator.archive7.hash); // L: 2386 - var5.packetBuffer.method5718(class217.archive6.hash); // L: 2387 - var5.packetBuffer.xteaEncrypt(var13, var7, var5.packetBuffer.offset); // L: 2388 - var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var14); // L: 2389 - packetWriter.addNode(var5); // L: 2390 - packetWriter.flush(); // L: 2391 - packetWriter.isaacCipher = new IsaacCipher(var13); // L: 2392 - int[] var15 = new int[4]; // L: 2393 - - for (var10 = 0; var10 < 4; ++var10) { // L: 2394 - var15[var10] = var13[var10] + 50; - } - - var2.newIsaacCipher(var15); // L: 2395 - loginState = 6; // L: 2396 - } - - if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { // L: 2398 2399 - var31 = ((AbstractSocket)var1).readUnsignedByte(); // L: 2400 - if (var31 == 21 && gameState == 20) { // L: 2401 - loginState = 12; // L: 2402 - } else if (var31 == 2) { // L: 2404 - loginState = 14; // L: 2405 - } else if (var31 == 15 && gameState == 40) { // L: 2407 - packetWriter.serverPacketLength = -1; // L: 2408 - loginState = 19; // L: 2409 - } else if (var31 == 64) { // L: 2411 - loginState = 10; // L: 2412 - } else if (var31 == 23 && field681 < 1) { // L: 2414 - ++field681; // L: 2415 - loginState = 0; // L: 2416 - } else if (var31 == 29) { // L: 2418 - loginState = 17; // L: 2419 - } else { - if (var31 != 69) { // L: 2421 - UserComparator8.getLoginError(var31); // L: 2425 - return; // L: 2426 - } - - loginState = 7; // L: 2422 - } - } - - if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) { // L: 2430 2431 - ((AbstractSocket)var1).read(var2.array, 0, 2); // L: 2432 - var2.offset = 0; // L: 2433 - WorldMapLabel.field258 = var2.readUnsignedShort(); // L: 2434 - loginState = 8; // L: 2435 - } - - if (loginState == 8 && ((AbstractSocket)var1).available() >= WorldMapLabel.field258) { // L: 2438 2439 - var2.offset = 0; // L: 2440 - ((AbstractSocket)var1).read(var2.array, var2.offset, WorldMapLabel.field258); // L: 2441 - class7 var23 = BufferedSink.method5889()[var2.readUnsignedByte()]; // L: 2442 - - try { - class12 var32 = ItemContainer.method1250(var23); // L: 2444 - this.field687 = new class9(var2, var32); // L: 2445 - loginState = 9; // L: 2446 - } catch (Exception var20) { // L: 2448 - UserComparator8.getLoginError(22); // L: 2449 - return; // L: 2450 - } - } - - if (loginState == 9 && this.field687.method112()) { // L: 2454 2455 - this.field686 = this.field687.method98(); // L: 2456 - this.field687.method97(); // L: 2457 - this.field687 = null; // L: 2458 - if (this.field686 == null) { // L: 2459 - UserComparator8.getLoginError(22); // L: 2460 - return; // L: 2461 - } - - packetWriter.clearBuffer(); // L: 2463 - var3 = class236.method4163(); // L: 2464 - var3.packetBuffer.writeByte(LoginPacket.field2336.id); // L: 2465 - var3.packetBuffer.writeShort(this.field686.offset); // L: 2466 - var3.packetBuffer.method5536(this.field686); // L: 2467 - packetWriter.addNode(var3); // L: 2468 - packetWriter.flush(); // L: 2469 - this.field686 = null; // L: 2470 - loginState = 6; // L: 2471 - } - - if (loginState == 10 && ((AbstractSocket)var1).available() > 0) { // L: 2474 2475 - class58.field433 = ((AbstractSocket)var1).readUnsignedByte(); // L: 2476 - loginState = 11; // L: 2477 - } - - if (loginState == 11 && ((AbstractSocket)var1).available() >= class58.field433) { // L: 2480 2481 - ((AbstractSocket)var1).read(var2.array, 0, class58.field433); // L: 2482 - var2.offset = 0; // L: 2483 - loginState = 6; // L: 2484 - } - - if (loginState == 12 && ((AbstractSocket)var1).available() > 0) { // L: 2487 2488 - field682 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; // L: 2489 - loginState = 13; // L: 2490 - } - - if (loginState == 13) { // L: 2493 - field892 = 0; // L: 2494 - GameEngine.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field682 / 60 + " seconds."); // L: 2495 - if (--field682 <= 0) { // L: 2496 - loginState = 0; - } - - } else { - if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) { // L: 2499 2500 - UrlRequester.field1963 = ((AbstractSocket)var1).readUnsignedByte(); // L: 2501 - loginState = 15; // L: 2502 - } - - if (loginState == 15 && ((AbstractSocket)var1).available() >= UrlRequester.field1963) { // L: 2505 2506 - var12 = ((AbstractSocket)var1).readUnsignedByte() == 1; // L: 2507 - ((AbstractSocket)var1).read(var2.array, 0, 4); // L: 2508 - var2.offset = 0; // L: 2509 - boolean var24 = false; // L: 2510 - if (var12) { // L: 2511 - var4 = var2.readByteIsaac() << 24; // L: 2512 - var4 |= var2.readByteIsaac() << 16; // L: 2513 - var4 |= var2.readByteIsaac() << 8; // L: 2514 - var4 |= var2.readByteIsaac(); // L: 2515 - String var28 = Login.Login_username; // L: 2517 - var7 = var28.length(); // L: 2519 - int var16 = 0; // L: 2520 - var9 = 0; // L: 2521 - - while (true) { - if (var9 >= var7) { - if (Timer.clientPreferences.parameters.size() >= 10 && !Timer.clientPreferences.parameters.containsKey(var16)) { // L: 2525 2526 - Iterator var30 = Timer.clientPreferences.parameters.entrySet().iterator(); // L: 2527 - var30.next(); // L: 2528 - var30.remove(); // L: 2529 - } - - Timer.clientPreferences.parameters.put(var16, var4); // L: 2532 - break; - } - - var16 = (var16 << 5) - var16 + var28.charAt(var9); - ++var9; - } - } - - if (Login_isUsernameRemembered) { // L: 2534 - Timer.clientPreferences.rememberedUsername = Login.Login_username; // L: 2535 - } else { - Timer.clientPreferences.rememberedUsername = null; // L: 2538 - } - - GrandExchangeOffer.savePreferences(); // L: 2540 - staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); // L: 2541 - playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; // L: 2542 - localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); // L: 2543 - localPlayerIndex <<= 8; // L: 2544 - localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); // L: 2545 - field766 = ((AbstractSocket)var1).readUnsignedByte(); // L: 2546 - ((AbstractSocket)var1).read(var2.array, 0, 1); // L: 2547 - var2.offset = 0; // L: 2548 - ServerPacket[] var26 = Tiles.ServerPacket_values(); // L: 2549 - var14 = var2.readSmartByteShortIsaac(); // L: 2550 - if (var14 < 0 || var14 >= var26.length) { // L: 2551 - throw new IOException(var14 + " " + var2.offset); - } - - packetWriter.serverPacket = var26[var14]; // L: 2552 - packetWriter.serverPacketLength = packetWriter.serverPacket.length; // L: 2553 - ((AbstractSocket)var1).read(var2.array, 0, 2); // L: 2554 - var2.offset = 0; // L: 2555 - packetWriter.serverPacketLength = var2.readUnsignedShort(); // L: 2556 - - try { - class56.method901(WorldMapIcon_0.client, "zap"); // L: 2558 - } catch (Throwable var19) { // L: 2560 - } - - loginState = 16; // L: 2561 - } - - if (loginState == 16) { // L: 2564 - if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { // L: 2565 - var2.offset = 0; // L: 2566 - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); // L: 2567 - timer.method5013(); // L: 2568 - Players.method2208(); // L: 2569 - class307.updatePlayer(var2); // L: 2570 - class182.field2112 = -1; // L: 2571 - ItemContainer.loadRegions(false, var2); // L: 2572 - packetWriter.serverPacket = null; // L: 2573 - } - - } else { - if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) { // L: 2577 2578 - var2.offset = 0; // L: 2579 - ((AbstractSocket)var1).read(var2.array, 0, 2); // L: 2580 - var2.offset = 0; // L: 2581 - MusicPatch.field2497 = var2.readUnsignedShort(); // L: 2582 - loginState = 18; // L: 2583 - } - - if (loginState == 18 && ((AbstractSocket)var1).available() >= MusicPatch.field2497) { // L: 2586 2587 - var2.offset = 0; // L: 2588 - ((AbstractSocket)var1).read(var2.array, 0, MusicPatch.field2497); // L: 2589 - var2.offset = 0; // L: 2590 - String var25 = var2.readStringCp1252NullTerminated(); // L: 2591 - String var33 = var2.readStringCp1252NullTerminated(); // L: 2592 - String var27 = var2.readStringCp1252NullTerminated(); // L: 2593 - GameEngine.setLoginResponseString(var25, var33, var27); // L: 2594 - WorldMapCacheName.updateGameState(10); // L: 2595 - } - - if (loginState == 19) { // L: 2598 - if (packetWriter.serverPacketLength == -1) { // L: 2599 - if (((AbstractSocket)var1).available() < 2) { // L: 2600 - return; - } - - ((AbstractSocket)var1).read(var2.array, 0, 2); // L: 2601 - var2.offset = 0; // L: 2602 - packetWriter.serverPacketLength = var2.readUnsignedShort(); // L: 2603 - } - - if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { // L: 2605 - ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); // L: 2606 - var2.offset = 0; // L: 2607 - var31 = packetWriter.serverPacketLength; // L: 2608 - timer.method5015(); // L: 2609 - DefaultsGroup.method5939(); // L: 2610 - class307.updatePlayer(var2); // L: 2611 - if (var31 != var2.offset) { // L: 2612 - throw new RuntimeException(); // L: 2613 - } - } - } else { - ++field892; // L: 2617 - if (field892 > 2000) { // L: 2618 - if (field681 < 1) { // L: 2619 - if (class278.port1 == ArchiveDiskAction.port3) { // L: 2620 - ArchiveDiskAction.port3 = Players.port2; - } else { - ArchiveDiskAction.port3 = class278.port1; // L: 2621 - } - - ++field681; // L: 2622 - loginState = 0; // L: 2623 - } else { - UserComparator8.getLoginError(-3); // L: 2626 - } - } - } - } - } - } catch (IOException var21) { // L: 2630 - if (field681 < 1) { // L: 2631 - if (class278.port1 == ArchiveDiskAction.port3) { // L: 2632 - ArchiveDiskAction.port3 = Players.port2; - } else { - ArchiveDiskAction.port3 = class278.port1; // L: 2633 - } - - ++field681; // L: 2634 - loginState = 0; // L: 2635 - } else { - UserComparator8.getLoginError(-2); // L: 2638 - } - } - } // L: 2497 2575 2615 2624 2627 2636 2639 2641 - - @ObfuscatedName("fw") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-105" - ) - @Export("doCycleLoggedIn") - final void doCycleLoggedIn() { - if (rebootTimer > 1) { // L: 2988 - --rebootTimer; - } - - if (logoutTimer > 0) { // L: 2989 - --logoutTimer; - } - - if (field696) { // L: 2990 - field696 = false; // L: 2991 - LoginScreenAnimation.method1903(); // L: 2992 - } else { - if (!isMenuOpen) { // L: 2995 - ApproximateRouteStrategy.addCancelMenuEntry(); - } - - int var1; - for (var1 = 0; var1 < 100 && this.method1687(packetWriter); ++var1) { // L: 2996 2997 - } - - if (gameState == 30) { // L: 2999 - int var2; - PacketBufferNode var15; - while (class23.method225()) { // L: 3000 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2280, packetWriter.isaacCipher); // L: 3001 - var15.packetBuffer.writeByte(0); // L: 3002 - var2 = var15.packetBuffer.offset; // L: 3003 - WorldMapData_0.performReflectionCheck(var15.packetBuffer); // L: 3004 - var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); // L: 3005 - packetWriter.addNode(var15); // L: 3006 - } - - if (timer.field3614) { // L: 3008 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2251, packetWriter.isaacCipher); // L: 3010 - var15.packetBuffer.writeByte(0); // L: 3011 - var2 = var15.packetBuffer.offset; // L: 3012 - timer.write(var15.packetBuffer); // L: 3013 - var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var2); // L: 3014 - packetWriter.addNode(var15); // L: 3015 - timer.method5014(); // L: 3016 - } - - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - synchronized(SoundCache.mouseRecorder.lock) { // L: 3019 - if (!field907) { // L: 3020 - SoundCache.mouseRecorder.index = 0; // L: 3106 - } else if (MouseHandler.MouseHandler_lastButton != 0 || SoundCache.mouseRecorder.index >= 40) { // L: 3021 - PacketBufferNode var16 = null; // L: 3023 - var3 = 0; // L: 3024 - var4 = 0; // L: 3025 - var5 = 0; // L: 3026 - var6 = 0; // L: 3027 - - for (var7 = 0; var7 < SoundCache.mouseRecorder.index && (var16 == null || var16.packetBuffer.offset - var3 < 246); ++var7) { // L: 3028 3029 - var4 = var7; // L: 3030 - var8 = SoundCache.mouseRecorder.ys[var7]; // L: 3031 - if (var8 < -1) { // L: 3032 - var8 = -1; - } else if (var8 > 65534) { // L: 3033 - var8 = 65534; - } - - var9 = SoundCache.mouseRecorder.xs[var7]; // L: 3034 - if (var9 < -1) { // L: 3035 - var9 = -1; - } else if (var9 > 65534) { // L: 3036 - var9 = 65534; - } - - if (var9 != field657 || var8 != field658) { // L: 3037 - if (var16 == null) { // L: 3040 - var16 = ItemContainer.getPacketBufferNode(ClientPacket.field2326, packetWriter.isaacCipher); // L: 3041 - var16.packetBuffer.writeByte(0); // L: 3042 - var3 = var16.packetBuffer.offset; // L: 3043 - PacketBuffer var10000 = var16.packetBuffer; // L: 3044 - var10000.offset += 2; - var5 = 0; // L: 3045 - var6 = 0; // L: 3046 - } - - if (-1L != field794) { // L: 3051 - var10 = var9 - field657; // L: 3052 - var11 = var8 - field658; // L: 3053 - var12 = (int)((SoundCache.mouseRecorder.millis[var7] - field794) / 20L); // L: 3054 - var5 = (int)((long)var5 + (SoundCache.mouseRecorder.millis[var7] - field794) % 20L); // L: 3055 - } else { - var10 = var9; // L: 3058 - var11 = var8; // L: 3059 - var12 = Integer.MAX_VALUE; // L: 3060 - } - - field657 = var9; // L: 3062 - field658 = var8; // L: 3063 - if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { // L: 3064 - var10 += 32; // L: 3065 - var11 += 32; // L: 3066 - var16.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); // L: 3067 - } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { // L: 3069 - var10 += 128; // L: 3070 - var11 += 128; // L: 3071 - var16.packetBuffer.writeByte(var12 + 128); // L: 3072 - var16.packetBuffer.writeShort(var11 + (var10 << 8)); // L: 3073 - } else if (var12 < 32) { // L: 3075 - var16.packetBuffer.writeByte(var12 + 192); // L: 3076 - if (var9 != -1 && var8 != -1) { // L: 3077 - var16.packetBuffer.writeInt(var9 | var8 << 16); // L: 3078 - } else { - var16.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } else { - var16.packetBuffer.writeShort((var12 & 8191) + 57344); // L: 3081 - if (var9 != -1 && var8 != -1) { // L: 3082 - var16.packetBuffer.writeInt(var9 | var8 << 16); // L: 3083 - } else { - var16.packetBuffer.writeInt(Integer.MIN_VALUE); - } - } - - ++var6; // L: 3085 - field794 = SoundCache.mouseRecorder.millis[var7]; // L: 3086 - } - } - - if (var16 != null) { // L: 3088 - var16.packetBuffer.writeLengthByte(var16.packetBuffer.offset - var3); // L: 3089 - var7 = var16.packetBuffer.offset; // L: 3090 - var16.packetBuffer.offset = var3; // L: 3091 - var16.packetBuffer.writeByte(var5 / var6); // L: 3092 - var16.packetBuffer.writeByte(var5 % var6); // L: 3093 - var16.packetBuffer.offset = var7; // L: 3094 - packetWriter.addNode(var16); // L: 3095 - } - - if (var4 >= SoundCache.mouseRecorder.index) { // L: 3097 - SoundCache.mouseRecorder.index = 0; - } else { - MouseRecorder var44 = SoundCache.mouseRecorder; // L: 3099 - var44.index -= var4; - System.arraycopy(SoundCache.mouseRecorder.xs, var4, SoundCache.mouseRecorder.xs, 0, SoundCache.mouseRecorder.index); // L: 3100 - System.arraycopy(SoundCache.mouseRecorder.ys, var4, SoundCache.mouseRecorder.ys, 0, SoundCache.mouseRecorder.index); // L: 3101 - System.arraycopy(SoundCache.mouseRecorder.millis, var4, SoundCache.mouseRecorder.millis, 0, SoundCache.mouseRecorder.index); // L: 3102 - } - } - } - - PacketBufferNode var19; - if (MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { // L: 3108 - long var17 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis; // L: 3109 - if (var17 > 32767L) { // L: 3110 - var17 = 32767L; - } - - mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis; // L: 3111 - var3 = MouseHandler.MouseHandler_lastPressedY; // L: 3112 - if (var3 < 0) { // L: 3113 - var3 = 0; - } else if (var3 > ModelData0.canvasHeight) { // L: 3114 - var3 = ModelData0.canvasHeight; - } - - var4 = MouseHandler.MouseHandler_lastPressedX; // L: 3115 - if (var4 < 0) { // L: 3116 - var4 = 0; - } else if (var4 > IgnoreList.canvasWidth) { // L: 3117 - var4 = IgnoreList.canvasWidth; - } - - var5 = (int)var17; // L: 3118 - var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2329, packetWriter.isaacCipher); // L: 3119 - var19.packetBuffer.writeShort((MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0) + (var5 << 1)); // L: 3120 - var19.packetBuffer.writeShort(var4); // L: 3121 - var19.packetBuffer.writeShort(var3); // L: 3122 - packetWriter.addNode(var19); // L: 3123 - } - - if (KeyHandler.field414 > 0) { // L: 3125 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher); // L: 3126 - var15.packetBuffer.writeShort(0); // L: 3127 - var2 = var15.packetBuffer.offset; // L: 3128 - long var20 = class298.currentTimeMillis(); // L: 3129 - - for (var5 = 0; var5 < KeyHandler.field414; ++var5) { // L: 3130 - long var22 = var20 - field817; // L: 3131 - if (var22 > 16777215L) { // L: 3132 - var22 = 16777215L; - } - - field817 = var20; // L: 3133 - var15.packetBuffer.method5585((int)var22); // L: 3134 - var15.packetBuffer.writeIntME(KeyHandler.field413[var5]); // L: 3135 - } - - var15.packetBuffer.writeLengthShort(var15.packetBuffer.offset - var2); // L: 3137 - packetWriter.addNode(var15); // L: 3138 - } - - if (field732 > 0) { // L: 3140 - --field732; - } - - if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { // L: 3141 - field843 = true; - } - - if (field843 && field732 <= 0) { // L: 3142 - field732 = 20; // L: 3143 - field843 = false; // L: 3144 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2275, packetWriter.isaacCipher); // L: 3146 - var15.packetBuffer.method5739(camAngleX); // L: 3147 - var15.packetBuffer.method5739(camAngleY); // L: 3148 - packetWriter.addNode(var15); // L: 3149 - } - - if (ScriptEvent.hasFocus && !hadFocus) { // L: 3151 - hadFocus = true; // L: 3152 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2277, packetWriter.isaacCipher); // L: 3154 - var15.packetBuffer.writeByte(1); // L: 3155 - packetWriter.addNode(var15); // L: 3156 - } - - if (!ScriptEvent.hasFocus && hadFocus) { // L: 3158 - hadFocus = false; // L: 3159 - var15 = ItemContainer.getPacketBufferNode(ClientPacket.field2277, packetWriter.isaacCipher); // L: 3161 - var15.packetBuffer.writeByte(0); // L: 3162 - packetWriter.addNode(var15); // L: 3163 - } - - if (WorldMapRectangle.worldMap != null) { // L: 3166 - WorldMapRectangle.worldMap.method6363(); - } - - GrandExchangeOfferNameComparator.method209(); // L: 3167 - NetSocket.method3608(); // L: 3168 - if (gameState == 30) { // L: 3169 - WorldMapDecoration.method382(); // L: 3170 - WorldMapManager.method679(); // L: 3171 - ++packetWriter.field1333; // L: 3172 - if (packetWriter.field1333 > 750) { // L: 3173 - LoginScreenAnimation.method1903(); // L: 3174 - } else { - var1 = Players.Players_count; // L: 3178 - int[] var36 = Players.Players_indices; // L: 3179 - - for (var3 = 0; var3 < var1; ++var3) { // L: 3180 - Player var24 = players[var36[var3]]; // L: 3181 - if (var24 != null) { // L: 3182 - WorldMapID.updateActorSequence(var24, 1); // L: 3183 - } - } - - UserComparator9.method3477(); // L: 3187 - WorldMapManager.method703(); // L: 3188 - ++field850; // L: 3189 - if (mouseCrossColor != 0) { // L: 3190 - mouseCrossState += 20; // L: 3191 - if (mouseCrossState >= 400) { // L: 3192 - mouseCrossColor = 0; - } - } - - if (NPC.field1131 != null) { // L: 3194 - ++field754; // L: 3195 - if (field754 >= 15) { // L: 3196 - CollisionMap.invalidateWidget(NPC.field1131); // L: 3197 - NPC.field1131 = null; // L: 3198 - } - } - - Widget var35 = EnumComposition.mousedOverWidgetIf1; // L: 3201 - Widget var37 = CollisionMap.field2092; // L: 3202 - EnumComposition.mousedOverWidgetIf1 = null; // L: 3203 - CollisionMap.field2092 = null; // L: 3204 - draggedOnWidget = null; // L: 3205 - field829 = false; // L: 3206 - field859 = false; // L: 3207 - field870 = 0; // L: 3208 - - while (GrandExchangeOfferNameComparator.isKeyDown() && field870 < 128) { // L: 3209 - if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && StudioGame.field3135 == 66) { // L: 3210 - String var40 = ""; // L: 3213 - - Message var38; - for (Iterator var25 = Messages.Messages_hashTable.iterator(); var25.hasNext(); var40 = var40 + var38.sender + ':' + var38.text + '\n') { // L: 3214 3217 - var38 = (Message)var25.next(); // L: 3215 - } - - WorldMapIcon_0.client.clipboardSetString(var40); // L: 3223 - } else if (oculusOrbState != 1 || WorldMapIcon_1.field200 <= 0) { // L: 3226 - field693[field870] = StudioGame.field3135; // L: 3229 - field661[field870] = WorldMapIcon_1.field200; // L: 3230 - ++field870; // L: 3231 - } - } - - boolean var31 = staffModLevel >= 2; // L: 3235 - if (var31 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { // L: 3237 - var4 = PlayerComposition.localPlayer.plane - mouseWheelRotation; // L: 3238 - if (var4 < 0) { // L: 3239 - var4 = 0; - } else if (var4 > 3) { // L: 3240 - var4 = 3; - } - - if (var4 != PlayerComposition.localPlayer.plane) { // L: 3241 - var5 = PlayerComposition.localPlayer.pathX[0] + NetFileRequest.baseX; // L: 3242 - var6 = PlayerComposition.localPlayer.pathY[0] + class41.baseY; // L: 3243 - PacketBufferNode var27 = ItemContainer.getPacketBufferNode(ClientPacket.field2269, packetWriter.isaacCipher); // L: 3246 - var27.packetBuffer.method5578(var5); // L: 3247 - var27.packetBuffer.method5587(0); // L: 3248 - var27.packetBuffer.method5739(var6); // L: 3249 - var27.packetBuffer.writeByte(var4); // L: 3250 - packetWriter.addNode(var27); // L: 3251 - } - - mouseWheelRotation = 0; // L: 3254 - } - - if (rootInterface != -1) { // L: 3256 - class51.updateRootInterface(rootInterface, 0, 0, IgnoreList.canvasWidth, ModelData0.canvasHeight, 0, 0); - } - - ++cycleCntr; // L: 3257 - - while (true) { - Widget var39; - ScriptEvent var41; - Widget var42; - do { - var41 = (ScriptEvent)field715.removeLast(); // L: 3259 - if (var41 == null) { // L: 3260 - while (true) { - do { - var41 = (ScriptEvent)field849.removeLast(); // L: 3271 - if (var41 == null) { // L: 3272 - while (true) { - do { - var41 = (ScriptEvent)scriptEvents.removeLast(); // L: 3283 - if (var41 == null) { // L: 3284 - this.menu(); // L: 3294 - if (WorldMapRectangle.worldMap != null) { // L: 3296 - WorldMapRectangle.worldMap.method6370(GameObject.Client_plane, (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX, (PlayerComposition.localPlayer.y >> 7) + class41.baseY, false); // L: 3297 - WorldMapRectangle.worldMap.loadCache(); // L: 3298 - } - - if (clickedWidget != null) { // L: 3301 - this.method1381(); - } - - if (class171.dragInventoryWidget != null) { // L: 3302 - CollisionMap.invalidateWidget(class171.dragInventoryWidget); // L: 3303 - ++itemDragDuration; // L: 3304 - if (MouseHandler.MouseHandler_currentButton == 0) { // L: 3305 - if (field848) { // L: 3306 - if (Occluder.hoveredItemContainer == class171.dragInventoryWidget && dragItemSlotSource != dragItemSlotDestination) { // L: 3307 - Widget var43 = class171.dragInventoryWidget; // L: 3308 - byte var32 = 0; // L: 3309 - if (field865 == 1 && var43.contentType == 206) { // L: 3310 - var32 = 1; - } - - if (var43.itemIds[dragItemSlotDestination] <= 0) { // L: 3311 - var32 = 0; - } - - if (BoundaryObject.method3341(FaceNormal.getWidgetFlags(var43))) { // L: 3312 - var6 = dragItemSlotSource; // L: 3313 - var7 = dragItemSlotDestination; // L: 3314 - var43.itemIds[var7] = var43.itemIds[var6]; // L: 3315 - var43.itemQuantities[var7] = var43.itemQuantities[var6]; // L: 3316 - var43.itemIds[var6] = -1; // L: 3317 - var43.itemQuantities[var6] = 0; // L: 3318 - } else if (var32 == 1) { // L: 3320 - var6 = dragItemSlotSource; // L: 3321 - var7 = dragItemSlotDestination; // L: 3322 - - while (var6 != var7) { // L: 3323 - if (var6 > var7) { // L: 3324 - var43.swapItems(var6 - 1, var6); // L: 3325 - --var6; // L: 3326 - } else if (var6 < var7) { // L: 3328 - var43.swapItems(var6 + 1, var6); // L: 3329 - ++var6; // L: 3330 - } - } - } else { - var43.swapItems(dragItemSlotDestination, dragItemSlotSource); // L: 3335 - } - - var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2302, packetWriter.isaacCipher); // L: 3338 - var19.packetBuffer.writeInt(class171.dragInventoryWidget.id); // L: 3339 - var19.packetBuffer.method5739(dragItemSlotSource); // L: 3340 - var19.packetBuffer.writeShort(dragItemSlotDestination); // L: 3341 - var19.packetBuffer.writeByte(var32); // L: 3342 - packetWriter.addNode(var19); // L: 3343 - } - } else if (this.shouldLeftClickOpenMenu()) { // L: 3347 - this.openMenu(draggedWidgetX, draggedWidgetY); // L: 3348 - } else if (menuOptionsCount > 0) { // L: 3350 - var4 = draggedWidgetX; // L: 3351 - var5 = draggedWidgetY; // L: 3352 - WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var4, var5); // L: 3354 - WorldMapSection1.tempMenuAction = null; // L: 3355 - } - - field754 = 10; // L: 3359 - MouseHandler.MouseHandler_lastButton = 0; // L: 3360 - class171.dragInventoryWidget = null; // L: 3361 - } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) { // L: 3364 3365 - field848 = true; // L: 3366 - } - } - - if (Scene.shouldSendWalk()) { // L: 3371 - var4 = Scene.Scene_selectedX; // L: 3372 - var5 = Scene.Scene_selectedY; // L: 3373 - var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2232, packetWriter.isaacCipher); // L: 3375 - var19.packetBuffer.writeByte(5); // L: 3376 - var19.packetBuffer.method5739(var4 + NetFileRequest.baseX); // L: 3377 - var19.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); // L: 3378 - var19.packetBuffer.writeShortLE(var5 + class41.baseY); // L: 3379 - packetWriter.addNode(var19); // L: 3380 - Scene.method3199(); // L: 3381 - mouseCrossX = MouseHandler.MouseHandler_lastPressedX; // L: 3382 - mouseCrossY = MouseHandler.MouseHandler_lastPressedY; // L: 3383 - mouseCrossColor = 1; // L: 3384 - mouseCrossState = 0; // L: 3385 - destinationX = var4; // L: 3386 - destinationY = var5; // L: 3387 - } - - if (var35 != EnumComposition.mousedOverWidgetIf1) { // L: 3389 - if (var35 != null) { // L: 3390 - CollisionMap.invalidateWidget(var35); - } - - if (EnumComposition.mousedOverWidgetIf1 != null) { // L: 3391 - CollisionMap.invalidateWidget(EnumComposition.mousedOverWidgetIf1); - } - } - - if (var37 != CollisionMap.field2092 && field751 == field799) { // L: 3393 - if (var37 != null) { // L: 3394 - CollisionMap.invalidateWidget(var37); - } - - if (CollisionMap.field2092 != null) { // L: 3395 - CollisionMap.invalidateWidget(CollisionMap.field2092); - } - } - - if (CollisionMap.field2092 != null) { // L: 3397 - if (field799 < field751) { // L: 3398 - ++field799; // L: 3399 - if (field751 == field799) { // L: 3400 - CollisionMap.invalidateWidget(CollisionMap.field2092); - } - } - } else if (field799 > 0) { // L: 3403 - --field799; - } - - int var28; - if (oculusOrbState == 0) { // L: 3405 - var4 = PlayerComposition.localPlayer.x; // L: 3406 - var5 = PlayerComposition.localPlayer.y; // L: 3407 - if (SecureRandomFuture.oculusOrbFocalPointX - var4 < -500 || SecureRandomFuture.oculusOrbFocalPointX - var4 > 500 || Decimator.oculusOrbFocalPointY - var5 < -500 || Decimator.oculusOrbFocalPointY - var5 > 500) { // L: 3408 - SecureRandomFuture.oculusOrbFocalPointX = var4; // L: 3409 - Decimator.oculusOrbFocalPointY = var5; // L: 3410 - } - - if (var4 != SecureRandomFuture.oculusOrbFocalPointX) { // L: 3412 - SecureRandomFuture.oculusOrbFocalPointX += (var4 - SecureRandomFuture.oculusOrbFocalPointX) / 16; - } - - if (var5 != Decimator.oculusOrbFocalPointY) { // L: 3413 - Decimator.oculusOrbFocalPointY += (var5 - Decimator.oculusOrbFocalPointY) / 16; - } - - var6 = SecureRandomFuture.oculusOrbFocalPointX >> 7; // L: 3414 - var7 = Decimator.oculusOrbFocalPointY >> 7; // L: 3415 - var8 = SecureRandomFuture.getTileHeight(SecureRandomFuture.oculusOrbFocalPointX, Decimator.oculusOrbFocalPointY, GameObject.Client_plane); // L: 3416 - var9 = 0; // L: 3417 - if (var6 > 3 && var7 > 3 && var6 < 100 && var7 < 100) { // L: 3418 - for (var10 = var6 - 4; var10 <= var6 + 4; ++var10) { // L: 3419 - for (var11 = var7 - 4; var11 <= var7 + 4; ++var11) { // L: 3420 - var12 = GameObject.Client_plane; // L: 3421 - if (var12 < 3 && (Tiles.Tiles_renderFlags[1][var10][var11] & 2) == 2) { // L: 3422 - ++var12; - } - - var28 = var8 - Tiles.Tiles_heights[var12][var10][var11]; // L: 3423 - if (var28 > var9) { // L: 3424 - var9 = var28; - } - } - } - } - - var10 = var9 * 192; // L: 3428 - if (var10 > 98048) { // L: 3429 - var10 = 98048; - } - - if (var10 < 32768) { // L: 3430 - var10 = 32768; - } - - if (var10 > field918) { // L: 3431 - field918 += (var10 - field918) / 24; - } else if (var10 < field918) { - field918 += (var10 - field918) / 80; // L: 3432 - } - - PacketWriter.field1341 = SecureRandomFuture.getTileHeight(PlayerComposition.localPlayer.x, PlayerComposition.localPlayer.y, GameObject.Client_plane) - camFollowHeight; // L: 3433 - } else if (oculusOrbState == 1) { // L: 3435 - if (field649 && PlayerComposition.localPlayer != null) { // L: 3437 - var4 = PlayerComposition.localPlayer.pathX[0]; // L: 3438 - var5 = PlayerComposition.localPlayer.pathY[0]; // L: 3439 - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { // L: 3440 - SecureRandomFuture.oculusOrbFocalPointX = PlayerComposition.localPlayer.x; // L: 3441 - var6 = SecureRandomFuture.getTileHeight(PlayerComposition.localPlayer.x, PlayerComposition.localPlayer.y, GameObject.Client_plane) - camFollowHeight; // L: 3442 - if (var6 < PacketWriter.field1341) { // L: 3443 - PacketWriter.field1341 = var6; - } - - Decimator.oculusOrbFocalPointY = PlayerComposition.localPlayer.y; // L: 3444 - field649 = false; // L: 3445 - } - } - - short var33 = -1; // L: 3448 - if (KeyHandler.KeyHandler_pressedKeys[33]) { // L: 3449 - var33 = 0; - } else if (KeyHandler.KeyHandler_pressedKeys[49]) { // L: 3450 - var33 = 1024; - } - - if (KeyHandler.KeyHandler_pressedKeys[48]) { // L: 3451 - if (var33 == 0) { // L: 3452 - var33 = 1792; - } else if (var33 == 1024) { // L: 3453 - var33 = 1280; - } else { - var33 = 1536; // L: 3454 - } - } else if (KeyHandler.KeyHandler_pressedKeys[50]) { // L: 3456 - if (var33 == 0) { // L: 3457 - var33 = 256; - } else if (var33 == 1024) { // L: 3458 - var33 = 768; - } else { - var33 = 512; // L: 3459 - } - } - - byte var34 = 0; // L: 3461 - if (KeyHandler.KeyHandler_pressedKeys[35]) { // L: 3462 - var34 = -1; - } else if (KeyHandler.KeyHandler_pressedKeys[51]) { // L: 3463 - var34 = 1; - } - - var6 = 0; // L: 3464 - if (var33 >= 0 || var34 != 0) { // L: 3465 - var6 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed * 762441025 * -239492415 : oculusOrbNormalSpeed * -525067469 * 1697208315; // L: 3466 - var6 *= 16; // L: 3467 - field761 = var33; // L: 3468 - field788 = var34; // L: 3469 - } - - if (field755 < var6) { // L: 3471 - field755 += var6 / 8; // L: 3472 - if (field755 > var6) { // L: 3473 - field755 = var6; - } - } else if (field755 > var6) { // L: 3475 - field755 = field755 * 9 / 10; - } - - if (field755 > 0) { // L: 3476 - var7 = field755 / 16; // L: 3477 - if (field761 >= 0) { // L: 3478 - var4 = field761 - AbstractArchive.cameraYaw & 2047; // L: 3479 - var8 = Rasterizer3D.Rasterizer3D_sine[var4]; // L: 3480 - var9 = Rasterizer3D.Rasterizer3D_cosine[var4]; // L: 3481 - SecureRandomFuture.oculusOrbFocalPointX += var7 * var8 / 65536; // L: 3482 - Decimator.oculusOrbFocalPointY += var9 * var7 / 65536; // L: 3483 - } - - if (field788 != 0) { // L: 3485 - PacketWriter.field1341 += var7 * field788; // L: 3486 - if (PacketWriter.field1341 > 0) { // L: 3487 - PacketWriter.field1341 = 0; - } - } - } else { - field761 = -1; // L: 3491 - field788 = -1; // L: 3492 - } - - if (KeyHandler.KeyHandler_pressedKeys[13]) { // L: 3494 - packetWriter.addNode(ItemContainer.getPacketBufferNode(ClientPacket.field2244, packetWriter.isaacCipher)); // L: 3496 - oculusOrbState = 0; // L: 3497 - } - } - - if (MouseHandler.MouseHandler_currentButton == 4 && UserComparator9.mouseCam) { // L: 3501 - var4 = MouseHandler.MouseHandler_y - mouseCamClickedY; // L: 3502 - camAngleDX = var4 * 2; // L: 3503 - mouseCamClickedY = var4 != -1 && var4 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y * -1308781931 * -1946834755; // L: 3504 - var5 = mouseCamClickedX - MouseHandler.MouseHandler_x; // L: 3505 - camAngleDY = var5 * 2; // L: 3506 - mouseCamClickedX = var5 != -1 && var5 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x * -1140294545 * -765435249; // L: 3507 - } else { - if (KeyHandler.KeyHandler_pressedKeys[96]) { // L: 3510 - camAngleDY += (-24 - camAngleDY) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[97]) { // L: 3511 - camAngleDY += (24 - camAngleDY) / 2; - } else { - camAngleDY /= 2; // L: 3512 - } - - if (KeyHandler.KeyHandler_pressedKeys[98]) { // L: 3513 - camAngleDX += (12 - camAngleDX) / 2; - } else if (KeyHandler.KeyHandler_pressedKeys[99]) { // L: 3514 - camAngleDX += (-12 - camAngleDX) / 2; - } else { - camAngleDX /= 2; // L: 3515 - } - - mouseCamClickedY = MouseHandler.MouseHandler_y; // L: 3516 - mouseCamClickedX = MouseHandler.MouseHandler_x; // L: 3517 - } - - camAngleY = camAngleDY / 2 + camAngleY & 2047; // L: 3519 - camAngleX += camAngleDX / 2; // L: 3520 - if (camAngleX < 128) { // L: 3521 - camAngleX = 128; - } - - if (camAngleX > 383) { // L: 3522 - camAngleX = 383; - } - - if (isCameraLocked) { // L: 3524 - var4 = RouteStrategy.field2124 * 128 + 64; // L: 3525 - var5 = class89.field1140 * 128 + 64; // L: 3526 - var6 = SecureRandomFuture.getTileHeight(var4, var5, GameObject.Client_plane) - class41.field302; // L: 3527 - if (Player.cameraX < var4) { // L: 3528 - Player.cameraX = (var4 - Player.cameraX) * WorldMapRegion.field271 / 1000 + Player.cameraX + DynamicObject.field1316; // L: 3529 - if (Player.cameraX > var4) { // L: 3530 - Player.cameraX = var4; - } - } - - if (Player.cameraX > var4) { // L: 3532 - Player.cameraX -= WorldMapRegion.field271 * (Player.cameraX - var4) / 1000 + DynamicObject.field1316; // L: 3533 - if (Player.cameraX < var4) { // L: 3534 - Player.cameraX = var4; - } - } - - if (KeyHandler.cameraY < var6) { // L: 3536 - KeyHandler.cameraY = (var6 - KeyHandler.cameraY) * WorldMapRegion.field271 / 1000 + KeyHandler.cameraY + DynamicObject.field1316; // L: 3537 - if (KeyHandler.cameraY > var6) { // L: 3538 - KeyHandler.cameraY = var6; - } - } - - if (KeyHandler.cameraY > var6) { // L: 3540 - KeyHandler.cameraY -= WorldMapRegion.field271 * (KeyHandler.cameraY - var6) / 1000 + DynamicObject.field1316; // L: 3541 - if (KeyHandler.cameraY < var6) { // L: 3542 - KeyHandler.cameraY = var6; - } - } - - if (class69.cameraZ < var5) { // L: 3544 - class69.cameraZ = (var5 - class69.cameraZ) * WorldMapRegion.field271 / 1000 + class69.cameraZ + DynamicObject.field1316; // L: 3545 - if (class69.cameraZ > var5) { // L: 3546 - class69.cameraZ = var5; - } - } - - if (class69.cameraZ > var5) { // L: 3548 - class69.cameraZ -= WorldMapRegion.field271 * (class69.cameraZ - var5) / 1000 + DynamicObject.field1316; // L: 3549 - if (class69.cameraZ < var5) { // L: 3550 - class69.cameraZ = var5; - } - } - - var4 = WorldMapData_0.field112 * 128 + 64; // L: 3552 - var5 = EnumComposition.field3340 * 128 + 64; // L: 3553 - var6 = SecureRandomFuture.getTileHeight(var4, var5, GameObject.Client_plane) - class25.field128; // L: 3554 - var7 = var4 - Player.cameraX; // L: 3555 - var8 = var6 - KeyHandler.cameraY; // L: 3556 - var9 = var5 - class69.cameraZ; // L: 3557 - var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); // L: 3558 - var11 = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; // L: 3559 - var12 = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; // L: 3560 - if (var11 < 128) { // L: 3561 - var11 = 128; - } - - if (var11 > 383) { // L: 3562 - var11 = 383; - } - - if (Skeleton.cameraPitch < var11) { // L: 3563 - Skeleton.cameraPitch = (var11 - Skeleton.cameraPitch) * ModeWhere.field2405 / 1000 + Skeleton.cameraPitch + Players.field1267; // L: 3564 - if (Skeleton.cameraPitch > var11) { // L: 3565 - Skeleton.cameraPitch = var11; - } - } - - if (Skeleton.cameraPitch > var11) { // L: 3567 - Skeleton.cameraPitch -= ModeWhere.field2405 * (Skeleton.cameraPitch - var11) / 1000 + Players.field1267; // L: 3568 - if (Skeleton.cameraPitch < var11) { // L: 3569 - Skeleton.cameraPitch = var11; - } - } - - var28 = var12 - AbstractArchive.cameraYaw; // L: 3571 - if (var28 > 1024) { // L: 3572 - var28 -= 2048; - } - - if (var28 < -1024) { // L: 3573 - var28 += 2048; - } - - if (var28 > 0) { // L: 3574 - AbstractArchive.cameraYaw = var28 * ModeWhere.field2405 / 1000 + AbstractArchive.cameraYaw + Players.field1267; // L: 3575 - AbstractArchive.cameraYaw &= 2047; // L: 3576 - } - - if (var28 < 0) { // L: 3578 - AbstractArchive.cameraYaw -= Players.field1267 + -var28 * ModeWhere.field2405 / 1000; // L: 3579 - AbstractArchive.cameraYaw &= 2047; // L: 3580 - } - - int var14 = var12 - AbstractArchive.cameraYaw; // L: 3582 - if (var14 > 1024) { // L: 3583 - var14 -= 2048; - } - - if (var14 < -1024) { // L: 3584 - var14 += 2048; - } - - if (var14 < 0 && var28 > 0 || var14 > 0 && var28 < 0) { // L: 3585 - AbstractArchive.cameraYaw = var12; - } - } - - for (var4 = 0; var4 < 5; ++var4) { // L: 3587 - int var10002 = field644[var4]++; - } - - Varcs.varcs.tryWrite(); // L: 3588 - var4 = Occluder.method3378(); // L: 3589 - var5 = VarcInt.method4427(); // L: 3590 - if (var4 > 15000 && var5 > 15000) { // L: 3591 - logoutTimer = 250; // L: 3592 - ChatChannel.method2317(14500); // L: 3593 - var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2303, packetWriter.isaacCipher); // L: 3595 - packetWriter.addNode(var19); // L: 3596 - } - - MilliClock.friendSystem.processFriendUpdates(); // L: 3598 - ++packetWriter.pendingWrites; // L: 3599 - if (packetWriter.pendingWrites > 50) { // L: 3600 - var19 = ItemContainer.getPacketBufferNode(ClientPacket.field2322, packetWriter.isaacCipher); // L: 3602 - packetWriter.addNode(var19); // L: 3603 - } - - try { - packetWriter.flush(); // L: 3606 - } catch (IOException var29) { // L: 3608 - LoginScreenAnimation.method1903(); // L: 3609 - } - - return; // L: 3611 - } - - var42 = var41.widget; // L: 3285 - if (var42.childIndex < 0) { // L: 3286 - break; - } - - var39 = CollisionMap.getWidget(var42.parentId); // L: 3287 - } while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]); // L: 3288 - - class22.runScriptEvent(var41); // L: 3292 - } - } - - var42 = var41.widget; // L: 3273 - if (var42.childIndex < 0) { // L: 3274 - break; - } - - var39 = CollisionMap.getWidget(var42.parentId); // L: 3275 - } while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]); // L: 3276 - - class22.runScriptEvent(var41); // L: 3280 - } - } - - var42 = var41.widget; // L: 3261 - if (var42.childIndex < 0) { // L: 3262 - break; - } - - var39 = CollisionMap.getWidget(var42.parentId); // L: 3263 - } while(var39 == null || var39.children == null || var42.childIndex >= var39.children.length || var42 != var39.children[var42.childIndex]); // L: 3264 - - class22.runScriptEvent(var41); // L: 3268 - } - } - } - } - } - } // L: 2993 3175 - - @ObfuscatedName("ge") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "890034121" - ) - @Export("resizeJS") - void resizeJS() { - int var1 = IgnoreList.canvasWidth; // L: 4206 - int var2 = ModelData0.canvasHeight; // L: 4207 - if (super.contentWidth < var1) { // L: 4208 - var1 = super.contentWidth; - } - - if (super.contentHeight < var2) { // L: 4209 - var2 = super.contentHeight; - } - - if (Timer.clientPreferences != null) { // L: 4210 - try { - Client var3 = WorldMapIcon_0.client; // L: 4212 - Object[] var4 = new Object[]{SoundSystem.getWindowedMode()}; // L: 4213 - JSObject.getWindow(var3).call("resize", var4); // L: 4216 - } catch (Throwable var5) { // L: 4219 - } - } - - } // L: 4221 - - @ObfuscatedName("gn") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-527814205" - ) - @Export("drawLoggedIn") - final void drawLoggedIn() { - if (rootInterface != -1) { // L: 4224 - NPCComposition.method4759(rootInterface); - } - - int var1; - for (var1 = 0; var1 < rootWidgetCount; ++var1) { // L: 4225 - if (field901[var1]) { // L: 4226 - field854[var1] = true; - } - - field855[var1] = field901[var1]; // L: 4227 - field901[var1] = false; // L: 4228 - } - - field852 = cycle; // L: 4230 - viewportX = -1; // L: 4231 - viewportY = -1; // L: 4232 - Occluder.hoveredItemContainer = null; // L: 4233 - if (rootInterface != -1) { // L: 4234 - rootWidgetCount = 0; // L: 4235 - KeyHandler.drawWidgets(rootInterface, 0, 0, IgnoreList.canvasWidth, ModelData0.canvasHeight, 0, 0, -1); // L: 4236 - } - - Rasterizer2D.Rasterizer2D_resetClip(); // L: 4238 - if (showMouseCross) { // L: 4239 - if (mouseCrossColor == 1) { // L: 4240 - GrandExchangeOfferAgeComparator.crossSprites[mouseCrossState / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); // L: 4241 - } - - if (mouseCrossColor == 2) { // L: 4243 - GrandExchangeOfferAgeComparator.crossSprites[mouseCrossState / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); // L: 4244 - } - } - - if (!isMenuOpen) { // L: 4247 - if (viewportX != -1) { // L: 4248 - WorldMapData_0.method243(viewportX, viewportY); - } - } else { - var1 = AbstractUserComparator.menuX; // L: 4251 - int var2 = DynamicObject.menuY; // L: 4252 - int var3 = Occluder.menuWidth; // L: 4253 - int var4 = class182.menuHeight; // L: 4254 - int var5 = 6116423; // L: 4255 - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var5); // L: 4256 - Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); // L: 4257 - Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); // L: 4258 - GrandExchangeOfferTotalQuantityComparator.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var5, -1); // L: 4259 - int var6 = MouseHandler.MouseHandler_x; // L: 4260 - int var7 = MouseHandler.MouseHandler_y; // L: 4261 - - for (int var8 = 0; var8 < menuOptionsCount; ++var8) { // L: 4262 - int var9 = (menuOptionsCount - 1 - var8) * 15 + var2 + 31; // L: 4263 - int var10 = 16777215; // L: 4264 - if (var6 > var1 && var6 < var3 + var1 && var7 > var9 - 13 && var7 < var9 + 3) { // L: 4265 - var10 = 16776960; - } - - GrandExchangeOfferTotalQuantityComparator.fontBold12.draw(ArchiveLoader.method1230(var8), var1 + 3, var9, var10, 0); // L: 4266 - } - - Strings.method4157(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight); // L: 4268 - } - - if (gameDrawingMode == 3) { // L: 4270 - for (var1 = 0; var1 < rootWidgetCount; ++var1) { // L: 4271 - if (field855[var1]) { // L: 4272 - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); // L: 4273 - } else if (field854[var1]) { // L: 4275 - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); // L: 4276 - } - } - } - - FriendsList.method5222(GameObject.Client_plane, PlayerComposition.localPlayer.x, PlayerComposition.localPlayer.y, field850); // L: 4280 - field850 = 0; // L: 4281 - } // L: 4282 - - @ObfuscatedName("he") - @ObfuscatedSignature( - descriptor = "(Ldh;B)Z", - garbageValue = "126" - ) - final boolean method1687(PacketWriter var1) { - AbstractSocket var2 = var1.getSocket(); // L: 5620 - PacketBuffer var3 = var1.packetBuffer; // L: 5621 - if (var2 == null) { // L: 5622 - return false; - } else { - String var17; - int var18; - try { - int var5; - if (var1.serverPacket == null) { // L: 5624 - if (var1.field1332) { // L: 5625 - if (!var2.isAvailable(1)) { // L: 5626 - return false; - } - - var2.read(var1.packetBuffer.array, 0, 1); // L: 5627 - var1.field1333 = 0; // L: 5628 - var1.field1332 = false; // L: 5629 - } - - var3.offset = 0; // L: 5631 - if (var3.method5491()) { // L: 5632 - if (!var2.isAvailable(1)) { // L: 5633 - return false; - } - - var2.read(var1.packetBuffer.array, 1, 1); // L: 5634 - var1.field1333 = 0; // L: 5635 - } - - var1.field1332 = true; // L: 5637 - ServerPacket[] var4 = Tiles.ServerPacket_values(); // L: 5638 - var5 = var3.readSmartByteShortIsaac(); // L: 5639 - if (var5 < 0 || var5 >= var4.length) { // L: 5640 - throw new IOException(var5 + " " + var3.offset); - } - - var1.serverPacket = var4[var5]; // L: 5641 - var1.serverPacketLength = var1.serverPacket.length; // L: 5642 - } - - if (var1.serverPacketLength == -1) { // L: 5644 - if (!var2.isAvailable(1)) { // L: 5645 - return false; - } - - var1.getSocket().read(var3.array, 0, 1); // L: 5646 - var1.serverPacketLength = var3.array[0] & 255; // L: 5647 - } - - if (var1.serverPacketLength == -2) { // L: 5649 - if (!var2.isAvailable(2)) { // L: 5650 - return false; - } - - var1.getSocket().read(var3.array, 0, 2); // L: 5651 - var3.offset = 0; // L: 5652 - var1.serverPacketLength = var3.readUnsignedShort(); // L: 5653 - } - - if (!var2.isAvailable(var1.serverPacketLength)) { // L: 5655 - return false; - } - - var3.offset = 0; // L: 5656 - var2.read(var3.array, 0, var1.serverPacketLength); // L: 5657 - var1.field1333 = 0; // L: 5658 - timer.method5010(); // L: 5659 - var1.field1337 = var1.field1336; // L: 5660 - var1.field1336 = var1.field1335; // L: 5661 - var1.field1335 = var1.serverPacket; // L: 5662 - int var16; - String var44; - boolean var46; - if (ServerPacket.field2139 == var1.serverPacket) { // L: 5663 - var16 = var3.readUShortSmart(); // L: 5664 - var46 = var3.readUnsignedByte() == 1; // L: 5665 - var44 = ""; // L: 5666 - boolean var48 = false; // L: 5667 - if (var46) { // L: 5668 - var44 = var3.readStringCp1252NullTerminated(); // L: 5669 - if (MilliClock.friendSystem.isIgnored(new Username(var44, GrandExchangeOfferUnitPriceComparator.loginType))) { // L: 5670 - var48 = true; - } - } - - String var43 = var3.readStringCp1252NullTerminated(); // L: 5672 - if (!var48) { // L: 5673 - class234.addGameMessage(var16, var44, var43); - } - - var1.serverPacket = null; // L: 5674 - return true; // L: 5675 - } - - if (ServerPacket.field2172 == var1.serverPacket) { // L: 5677 - var16 = var3.method5539(); // L: 5678 - if (var16 == 65535) { // L: 5679 - var16 = -1; - } - - WorldMapData_0.playSong(var16); // L: 5680 - var1.serverPacket = null; // L: 5681 - return true; // L: 5682 - } - - if (ServerPacket.field2188 == var1.serverPacket) { // L: 5684 - var16 = var3.readUnsignedShort(); // L: 5685 - if (var16 == 65535) { // L: 5686 - var16 = -1; - } - - var5 = var3.method5586(); // L: 5687 - LoginPacket.method3672(var16, var5); // L: 5688 - var1.serverPacket = null; // L: 5689 - return true; // L: 5690 - } - - if (ServerPacket.field2187 == var1.serverPacket) { // L: 5692 - for (var16 = 0; var16 < VarpDefinition.VarpDefinition_fileCount; ++var16) { // L: 5693 - VarpDefinition var56 = class219.VarpDefinition_get(var16); // L: 5694 - if (var56 != null) { // L: 5695 - Varps.Varps_temp[var16] = 0; // L: 5696 - Varps.Varps_main[var16] = 0; // L: 5697 - } - } - - class195.method3681(); // L: 5700 - changedVarpCount += 32; // L: 5701 - var1.serverPacket = null; // L: 5702 - return true; // L: 5703 - } - - if (ServerPacket.field2157 == var1.serverPacket) { // L: 5705 - WorldMapData_0.updateNpcs(false, var3); // L: 5706 - var1.serverPacket = null; // L: 5707 - return true; // L: 5708 - } - - if (ServerPacket.field2145 == var1.serverPacket) { // L: 5710 - var16 = var3.readUnsignedByte(); // L: 5711 - FontName.method5354(var16); // L: 5712 - var1.serverPacket = null; // L: 5713 - return true; // L: 5714 - } - - if (ServerPacket.field2152 == var1.serverPacket) { // L: 5716 - UserComparator4.method3465(class194.field2345); // L: 5717 - var1.serverPacket = null; // L: 5718 - return true; // L: 5719 - } - - String var38; - if (ServerPacket.field2189 == var1.serverPacket) { // L: 5721 - var38 = var3.readStringCp1252NullTerminated(); // L: 5722 - Object[] var55 = new Object[var38.length() + 1]; // L: 5723 - - for (var18 = var38.length() - 1; var18 >= 0; --var18) { // L: 5724 - if (var38.charAt(var18) == 's') { // L: 5725 - var55[var18 + 1] = var3.readStringCp1252NullTerminated(); - } else { - var55[var18 + 1] = new Integer(var3.readInt()); // L: 5726 - } - } - - var55[0] = new Integer(var3.readInt()); // L: 5728 - ScriptEvent var47 = new ScriptEvent(); // L: 5729 - var47.args = var55; // L: 5730 - class22.runScriptEvent(var47); // L: 5731 - var1.serverPacket = null; // L: 5732 - return true; // L: 5733 - } - - if (ServerPacket.field2217 == var1.serverPacket) { // L: 5735 - if (WorldMapArea.clanChat != null) { // L: 5736 - WorldMapArea.clanChat.method5251(var3); // L: 5737 - } - - WorldMapLabel.method469(); // L: 5739 - var1.serverPacket = null; // L: 5740 - return true; // L: 5741 - } - - if (ServerPacket.field2175 == var1.serverPacket) { // L: 5743 - WorldMapData_0.updateNpcs(true, var3); // L: 5744 - var1.serverPacket = null; // L: 5745 - return true; // L: 5746 - } - - if (ServerPacket.field2176 == var1.serverPacket) { // L: 5748 - SoundSystem.readReflectionCheck(var3, var1.serverPacketLength); // L: 5749 - var1.serverPacket = null; // L: 5750 - return true; // L: 5751 - } - - if (ServerPacket.field2174 == var1.serverPacket) { // L: 5753 - var16 = var3.readUnsignedByte(); // L: 5754 - if (var3.readUnsignedByte() == 0) { // L: 5755 - grandExchangeOffers[var16] = new GrandExchangeOffer(); // L: 5756 - var3.offset += 18; // L: 5757 - } else { - --var3.offset; // L: 5760 - grandExchangeOffers[var16] = new GrandExchangeOffer(var3, false); // L: 5761 - } - - field685 = cycleCntr; // L: 5763 - var1.serverPacket = null; // L: 5764 - return true; // L: 5765 - } - - Widget var51; - if (ServerPacket.field2150 == var1.serverPacket) { // L: 5767 - var16 = var3.readInt(); // L: 5768 - var51 = CollisionMap.getWidget(var16); // L: 5769 - var51.modelType = 3; // L: 5770 - var51.modelId = PlayerComposition.localPlayer.appearance.getChatHeadId(); // L: 5771 - CollisionMap.invalidateWidget(var51); // L: 5772 - var1.serverPacket = null; // L: 5773 - return true; // L: 5774 - } - - int var7; - int var9; - long var12; - int var19; - InterfaceParent var20; - int var21; - if (ServerPacket.field2184 == var1.serverPacket) { // L: 5776 - var16 = var3.offset + var1.serverPacketLength; // L: 5777 - var5 = var3.readUnsignedShort(); // L: 5778 - var18 = var3.readUnsignedShort(); // L: 5779 - if (var5 != rootInterface) { // L: 5780 - rootInterface = var5; // L: 5781 - this.resizeRoot(false); // L: 5782 - class304.Widget_resetModelFrames(rootInterface); // L: 5783 - VarpDefinition.runWidgetOnLoadListener(rootInterface); // L: 5784 - - for (var7 = 0; var7 < 100; ++var7) { // L: 5785 - field901[var7] = true; - } - } - - InterfaceParent var45; - for (; var18-- > 0; var45.field559 = true) { // L: 5787 5797 - var7 = var3.readInt(); // L: 5788 - var19 = var3.readUnsignedShort(); // L: 5789 - var9 = var3.readUnsignedByte(); // L: 5790 - var45 = (InterfaceParent)interfaceParents.get((long)var7); // L: 5791 - if (var45 != null && var19 != var45.group) { // L: 5792 - MouseRecorder.closeInterface(var45, true); // L: 5793 - var45 = null; // L: 5794 - } - - if (var45 == null) { // L: 5796 - var45 = NetFileRequest.method4189(var7, var19, var9); - } - } - - for (var20 = (InterfaceParent)interfaceParents.first(); var20 != null; var20 = (InterfaceParent)interfaceParents.next()) { // L: 5799 - if (var20.field559) { // L: 5800 - var20.field559 = false; - } else { - MouseRecorder.closeInterface(var20, true); // L: 5802 - } - } - - widgetFlags = new NodeHashTable(512); // L: 5805 - - while (var3.offset < var16) { // L: 5806 - var7 = var3.readInt(); // L: 5807 - var19 = var3.readUnsignedShort(); // L: 5808 - var9 = var3.readUnsignedShort(); // L: 5809 - var21 = var3.readInt(); // L: 5810 - - for (int var11 = var19; var11 <= var9; ++var11) { // L: 5811 - var12 = (long)var11 + ((long)var7 << 32); // L: 5812 - widgetFlags.put(new IntegerNode(var21), var12); // L: 5813 - } - } - - var1.serverPacket = null; // L: 5816 - return true; // L: 5817 - } - - if (ServerPacket.field2143 == var1.serverPacket) { // L: 5819 - class248.field3222 = var3.method5573(); // L: 5820 - PacketWriter.field1331 = var3.method5573(); // L: 5821 - - while (var3.offset < var1.serverPacketLength) { // L: 5822 - var16 = var3.readUnsignedByte(); // L: 5823 - class194 var54 = InvDefinition.method4371()[var16]; // L: 5824 - UserComparator4.method3465(var54); // L: 5825 - } - - var1.serverPacket = null; // L: 5827 - return true; // L: 5828 - } - - if (ServerPacket.field2199 == var1.serverPacket) { // L: 5830 - hintArrowType = var3.readUnsignedByte(); // L: 5831 - if (hintArrowType == 1) { // L: 5832 - hintArrowNpcIndex = var3.readUnsignedShort(); - } - - if (hintArrowType >= 2 && hintArrowType <= 6) { // L: 5833 - if (hintArrowType == 2) { // L: 5834 - hintArrowSubX = 64; // L: 5835 - hintArrowSubY = 64; // L: 5836 - } - - if (hintArrowType == 3) { // L: 5838 - hintArrowSubX = 0; // L: 5839 - hintArrowSubY = 64; // L: 5840 - } - - if (hintArrowType == 4) { // L: 5842 - hintArrowSubX = 128; // L: 5843 - hintArrowSubY = 64; // L: 5844 - } - - if (hintArrowType == 5) { // L: 5846 - hintArrowSubX = 64; // L: 5847 - hintArrowSubY = 0; // L: 5848 - } - - if (hintArrowType == 6) { // L: 5850 - hintArrowSubX = 64; // L: 5851 - hintArrowSubY = 128; // L: 5852 - } - - hintArrowType = 2; // L: 5854 - hintArrowX = var3.readUnsignedShort(); // L: 5855 - hintArrowY = var3.readUnsignedShort(); // L: 5856 - hintArrowHeight = var3.readUnsignedByte(); // L: 5857 - } - - if (hintArrowType == 10) { // L: 5859 - hintArrowPlayerIndex = var3.readUnsignedShort(); - } - - var1.serverPacket = null; // L: 5860 - return true; // L: 5861 - } - - if (ServerPacket.field2154 == var1.serverPacket) { // L: 5863 - UserComparator4.method3465(class194.field2348); // L: 5864 - var1.serverPacket = null; // L: 5865 - return true; // L: 5866 - } - - if (ServerPacket.field2149 == var1.serverPacket) { // L: 5868 - var16 = var3.readUnsignedShort(); // L: 5869 - var5 = var3.readUnsignedByte(); // L: 5870 - var18 = var3.readUnsignedShort(); // L: 5871 - class232.queueSoundEffect(var16, var5, var18); // L: 5872 - var1.serverPacket = null; // L: 5873 - return true; // L: 5874 - } - - Widget var40; - if (ServerPacket.field2191 == var1.serverPacket) { // L: 5876 - var16 = var3.method5582(); // L: 5877 - var5 = var3.readInt(); // L: 5878 - var40 = CollisionMap.getWidget(var5); // L: 5879 - if (var40 != null && var40.type == 0) { // L: 5880 - if (var16 > var40.scrollHeight - var40.height) { // L: 5881 - var16 = var40.scrollHeight - var40.height; - } - - if (var16 < 0) { // L: 5882 - var16 = 0; - } - - if (var16 != var40.scrollY) { // L: 5883 - var40.scrollY = var16; // L: 5884 - CollisionMap.invalidateWidget(var40); // L: 5885 - } - } - - var1.serverPacket = null; // L: 5888 - return true; // L: 5889 - } - - if (ServerPacket.field2219 == var1.serverPacket) { // L: 5891 - minimapState = var3.readUnsignedByte(); // L: 5892 - var1.serverPacket = null; // L: 5893 - return true; // L: 5894 - } - - if (ServerPacket.field2169 == var1.serverPacket) { // L: 5896 - var16 = var3.readUnsignedByte(); // L: 5897 - var5 = var3.readUnsignedByte(); // L: 5898 - var18 = var3.readUnsignedByte(); // L: 5899 - var7 = var3.readUnsignedByte(); // L: 5900 - field902[var16] = true; // L: 5901 - field679[var16] = var5; // L: 5902 - field893[var16] = var18; // L: 5903 - field705[var16] = var7; // L: 5904 - field644[var16] = 0; // L: 5905 - var1.serverPacket = null; // L: 5906 - return true; // L: 5907 - } - - if (ServerPacket.field2214 == var1.serverPacket) { // L: 5909 - for (var16 = 0; var16 < players.length; ++var16) { // L: 5910 - if (players[var16] != null) { // L: 5911 - players[var16].sequence = -1; - } - } - - for (var16 = 0; var16 < npcs.length; ++var16) { // L: 5913 - if (npcs[var16] != null) { // L: 5914 - npcs[var16].sequence = -1; - } - } - - var1.serverPacket = null; // L: 5916 - return true; // L: 5917 - } - - if (ServerPacket.field2165 == var1.serverPacket) { // L: 5919 - UserComparator4.method3465(class194.field2351); // L: 5920 - var1.serverPacket = null; // L: 5921 - return true; // L: 5922 - } - - if (ServerPacket.field2215 == var1.serverPacket) { // L: 5924 - rebootTimer = var3.method5582() * 30; // L: 5925 - field845 = cycleCntr; // L: 5926 - var1.serverPacket = null; // L: 5927 - return true; // L: 5928 - } - - if (ServerPacket.field2153 == var1.serverPacket) { // L: 5930 - var16 = var3.method5643(); // L: 5931 - var5 = var3.method5583(); // L: 5932 - var40 = CollisionMap.getWidget(var16); // L: 5933 - if (var5 != var40.sequenceId || var5 == -1) { // L: 5934 - var40.sequenceId = var5; // L: 5935 - var40.modelFrame = 0; // L: 5936 - var40.modelFrameCycle = 0; // L: 5937 - CollisionMap.invalidateWidget(var40); // L: 5938 - } - - var1.serverPacket = null; // L: 5940 - return true; // L: 5941 - } - - if (ServerPacket.field2207 == var1.serverPacket) { // L: 5943 - class195.method3681(); // L: 5944 - runEnergy = var3.readUnsignedByte(); // L: 5945 - field845 = cycleCntr; // L: 5946 - var1.serverPacket = null; // L: 5947 - return true; // L: 5948 - } - - Widget var58; - if (ServerPacket.field2218 == var1.serverPacket) { // L: 5950 - var16 = var3.method5580(); // L: 5951 - var5 = var3.readUnsignedShort(); // L: 5952 - var18 = var3.readInt(); // L: 5953 - var58 = CollisionMap.getWidget(var18); // L: 5954 - var58.field2642 = var16 + (var5 << 16); // L: 5955 - var1.serverPacket = null; // L: 5956 - return true; // L: 5957 - } - - if (ServerPacket.field2160 == var1.serverPacket) { // L: 5959 - var16 = var3.readInt(); // L: 5960 - InterfaceParent var53 = (InterfaceParent)interfaceParents.get((long)var16); // L: 5961 - if (var53 != null) { // L: 5962 - MouseRecorder.closeInterface(var53, true); - } - - if (meslayerContinueWidget != null) { // L: 5963 - CollisionMap.invalidateWidget(meslayerContinueWidget); // L: 5964 - meslayerContinueWidget = null; // L: 5965 - } - - var1.serverPacket = null; // L: 5967 - return true; // L: 5968 - } - - if (ServerPacket.field2185 == var1.serverPacket) { // L: 5970 - var16 = var3.method5643(); // L: 5971 - var5 = var3.method5571(); // L: 5972 - var18 = var3.method5580(); // L: 5973 - var20 = (InterfaceParent)interfaceParents.get((long)var16); // L: 5974 - if (var20 != null) { // L: 5975 - MouseRecorder.closeInterface(var20, var18 != var20.group); - } - - NetFileRequest.method4189(var16, var18, var5); // L: 5976 - var1.serverPacket = null; // L: 5977 - return true; // L: 5978 - } - - if (ServerPacket.field2162 == var1.serverPacket) { // L: 5980 - MilliClock.friendSystem.ignoreList.read(var3, var1.serverPacketLength); // L: 5981 - class9.FriendSystem_invalidateIgnoreds(); // L: 5982 - field879 = cycleCntr; // L: 5983 - var1.serverPacket = null; // L: 5984 - return true; // L: 5985 - } - - if (ServerPacket.field2216 == var1.serverPacket) { // L: 5987 - var38 = var3.readStringCp1252NullTerminated(); // L: 5988 - var17 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3))); // L: 5989 - class234.addGameMessage(6, var38, var17); // L: 5990 - var1.serverPacket = null; // L: 5991 - return true; // L: 5992 - } - - if (ServerPacket.field2148 == var1.serverPacket) { // L: 5994 - isCameraLocked = false; // L: 5995 - - for (var16 = 0; var16 < 5; ++var16) { // L: 5996 - field902[var16] = false; - } - - var1.serverPacket = null; // L: 5997 - return true; // L: 5998 - } - - if (ServerPacket.field2204 == var1.serverPacket) { // L: 6000 - ItemContainer.loadRegions(false, var1.packetBuffer); // L: 6001 - var1.serverPacket = null; // L: 6002 - return true; // L: 6003 - } - - if (ServerPacket.field2193 == var1.serverPacket) { // L: 6005 - isCameraLocked = true; // L: 6006 - RouteStrategy.field2124 = var3.readUnsignedByte(); // L: 6007 - class89.field1140 = var3.readUnsignedByte(); // L: 6008 - class41.field302 = var3.readUnsignedShort(); // L: 6009 - DynamicObject.field1316 = var3.readUnsignedByte(); // L: 6010 - WorldMapRegion.field271 = var3.readUnsignedByte(); // L: 6011 - if (WorldMapRegion.field271 >= 100) { // L: 6012 - Player.cameraX = RouteStrategy.field2124 * 128 + 64; // L: 6013 - class69.cameraZ = class89.field1140 * 128 + 64; // L: 6014 - KeyHandler.cameraY = SecureRandomFuture.getTileHeight(Player.cameraX, class69.cameraZ, GameObject.Client_plane) - class41.field302; // L: 6015 - } - - var1.serverPacket = null; // L: 6017 - return true; // L: 6018 - } - - if (ServerPacket.field2224 == var1.serverPacket) { // L: 6020 - if (rootInterface != -1) { // L: 6021 - WorldMapRectangle.runIntfCloseListeners(rootInterface, 0); - } - - var1.serverPacket = null; // L: 6022 - return true; // L: 6023 - } - - if (ServerPacket.field2178 == var1.serverPacket) { // L: 6025 - var16 = var3.method5582(); // L: 6026 - rootInterface = var16; // L: 6027 - this.resizeRoot(false); // L: 6028 - class304.Widget_resetModelFrames(var16); // L: 6029 - VarpDefinition.runWidgetOnLoadListener(rootInterface); // L: 6030 - - for (var5 = 0; var5 < 100; ++var5) { // L: 6031 - field901[var5] = true; - } - - var1.serverPacket = null; // L: 6032 - return true; // L: 6033 - } - - if (ServerPacket.field2221 == var1.serverPacket) { // L: 6035 - class248.field3222 = var3.method5571(); // L: 6036 - PacketWriter.field1331 = var3.method5571(); // L: 6037 - - for (var16 = PacketWriter.field1331; var16 < PacketWriter.field1331 + 8; ++var16) { // L: 6038 - for (var5 = class248.field3222; var5 < class248.field3222 + 8; ++var5) { // L: 6039 - if (groundItems[GameObject.Client_plane][var16][var5] != null) { // L: 6040 - groundItems[GameObject.Client_plane][var16][var5] = null; // L: 6041 - MouseRecorder.updateItemPile(var16, var5); // L: 6042 - } - } - } - - for (PendingSpawn var41 = (PendingSpawn)pendingSpawns.last(); var41 != null; var41 = (PendingSpawn)pendingSpawns.previous()) { // L: 6046 6047 6049 - if (var41.x >= PacketWriter.field1331 && var41.x < PacketWriter.field1331 + 8 && var41.y >= class248.field3222 && var41.y < class248.field3222 + 8 && var41.plane == GameObject.Client_plane) { // L: 6048 - var41.hitpoints = 0; - } - } - - var1.serverPacket = null; // L: 6051 - return true; // L: 6052 - } - - if (ServerPacket.field2203 == var1.serverPacket) { // L: 6054 - byte[] var39 = new byte[var1.serverPacketLength]; // L: 6055 - var3.method5493(var39, 0, var39.length); // L: 6056 - Buffer var52 = new Buffer(var39); // L: 6057 - var44 = var52.readStringCp1252NullTerminated(); // L: 6058 - AttackOption.openURL(var44, true, false); // L: 6059 - var1.serverPacket = null; // L: 6060 - return true; // L: 6061 - } - - if (ServerPacket.field2164 == var1.serverPacket) { // L: 6063 - UserComparator4.method3465(class194.field2344); // L: 6064 - var1.serverPacket = null; // L: 6065 - return true; // L: 6066 - } - - if (ServerPacket.field2205 == var1.serverPacket) { // L: 6068 - tradeChatMode = var3.method5573(); // L: 6069 - publicChatMode = var3.method5572(); // L: 6070 - var1.serverPacket = null; // L: 6071 - return true; // L: 6072 - } - - if (ServerPacket.field2197 == var1.serverPacket) { // L: 6074 - var16 = var3.method5591(); // L: 6075 - var5 = var3.method5592(); // L: 6076 - var18 = var3.method5539(); // L: 6077 - if (var18 == 65535) { // L: 6078 - var18 = -1; - } - - var58 = CollisionMap.getWidget(var16); // L: 6079 - ItemComposition var42; - if (!var58.isIf3) { // L: 6080 - if (var18 == -1) { // L: 6081 - var58.modelType = 0; // L: 6082 - var1.serverPacket = null; // L: 6083 - return true; // L: 6084 - } - - var42 = SecureRandomCallable.ItemDefinition_get(var18); // L: 6086 - var58.modelType = 4; // L: 6087 - var58.modelId = var18; // L: 6088 - var58.modelAngleX = var42.xan2d; // L: 6089 - var58.modelAngleY = var42.yan2d; // L: 6090 - var58.modelZoom = var42.zoom2d * 100 / var5; // L: 6091 - CollisionMap.invalidateWidget(var58); // L: 6092 - } else { - var58.itemId = var18; // L: 6095 - var58.itemQuantity = var5; // L: 6096 - var42 = SecureRandomCallable.ItemDefinition_get(var18); // L: 6097 - var58.modelAngleX = var42.xan2d; // L: 6098 - var58.modelAngleY = var42.yan2d; // L: 6099 - var58.modelAngleZ = var42.zan2d; // L: 6100 - var58.modelOffsetX = var42.offsetX2d; // L: 6101 - var58.modelOffsetY = var42.offsetY2d; // L: 6102 - var58.modelZoom = var42.zoom2d; // L: 6103 - if (var42.isStackable == 1) { // L: 6104 - var58.itemQuantityMode = 1; - } else { - var58.itemQuantityMode = 2; // L: 6105 - } - - if (var58.field2641 > 0) { // L: 6106 - var58.modelZoom = var58.modelZoom * 32 / var58.field2641; - } else if (var58.rawWidth > 0) { // L: 6107 - var58.modelZoom = var58.modelZoom * 32 / var58.rawWidth; - } - - CollisionMap.invalidateWidget(var58); // L: 6108 - } - - var1.serverPacket = null; // L: 6110 - return true; // L: 6111 - } - - boolean var50; - if (ServerPacket.field2180 == var1.serverPacket) { // L: 6113 - var50 = var3.readBoolean(); // L: 6114 - if (var50) { // L: 6115 - if (WorldMapIcon_0.field148 == null) { // L: 6116 - WorldMapIcon_0.field148 = new class248(); - } - } else { - WorldMapIcon_0.field148 = null; // L: 6118 - } - - var1.serverPacket = null; // L: 6119 - return true; // L: 6120 - } - - if (ServerPacket.field2170 == var1.serverPacket) { // L: 6122 - var16 = var3.method5592(); // L: 6123 - var5 = var3.readUnsignedShort(); // L: 6124 - Varps.Varps_temp[var5] = var16; // L: 6125 - if (Varps.Varps_main[var5] != var16) { // L: 6126 - Varps.Varps_main[var5] = var16; // L: 6127 - } - - Script.changeGameOptions(var5); // L: 6129 - changedVarps[++changedVarpCount - 1 & 31] = var5; // L: 6130 - var1.serverPacket = null; // L: 6131 - return true; // L: 6132 - } - - if (ServerPacket.field2186 == var1.serverPacket) { // L: 6134 - destinationX = var3.readUnsignedByte(); // L: 6135 - if (destinationX == 255) { // L: 6136 - destinationX = 0; - } - - destinationY = var3.readUnsignedByte(); // L: 6137 - if (destinationY == 255) { // L: 6138 - destinationY = 0; - } - - var1.serverPacket = null; // L: 6139 - return true; // L: 6140 - } - - if (ServerPacket.field2167 == var1.serverPacket) { // L: 6142 - for (var16 = 0; var16 < Varps.Varps_main.length; ++var16) { // L: 6143 - if (Varps.Varps_main[var16] != Varps.Varps_temp[var16]) { // L: 6144 - Varps.Varps_main[var16] = Varps.Varps_temp[var16]; // L: 6145 - Script.changeGameOptions(var16); // L: 6146 - changedVarps[++changedVarpCount - 1 & 31] = var16; // L: 6147 - } - } - - var1.serverPacket = null; // L: 6150 - return true; // L: 6151 - } - - if (ServerPacket.field2210 == var1.serverPacket) { // L: 6153 - WorldMapData_0.method244(var3.readStringCp1252NullTerminated()); // L: 6154 - var1.serverPacket = null; // L: 6155 - return true; // L: 6156 - } - - if (ServerPacket.field2171 == var1.serverPacket) { // L: 6158 - UserComparator4.method3465(class194.field2343); // L: 6159 - var1.serverPacket = null; // L: 6160 - return true; // L: 6161 - } - - long var22; - long var24; - if (ServerPacket.field2194 == var1.serverPacket) { // L: 6163 - var38 = var3.readStringCp1252NullTerminated(); // L: 6164 - var22 = (long)var3.readUnsignedShort(); // L: 6165 - var24 = (long)var3.readMedium(); // L: 6166 - PlayerType var26 = (PlayerType)UrlRequester.findEnumerated(class234.PlayerType_values(), var3.readUnsignedByte()); // L: 6167 - long var27 = var24 + (var22 << 32); // L: 6168 - boolean var29 = false; // L: 6169 - - for (int var13 = 0; var13 < 100; ++var13) { // L: 6170 - if (var27 == field868[var13]) { // L: 6171 - var29 = true; // L: 6172 - break; // L: 6173 - } - } - - if (MilliClock.friendSystem.isIgnored(new Username(var38, GrandExchangeOfferUnitPriceComparator.loginType))) { // L: 6176 - var29 = true; - } - - if (!var29 && field762 == 0) { // L: 6177 - field868[field707] = var27; // L: 6178 - field707 = (field707 + 1) % 100; // L: 6179 - String var30 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3))); // L: 6180 - byte var49; - if (var26.isPrivileged) { // L: 6182 - var49 = 7; - } else { - var49 = 3; // L: 6183 - } - - if (var26.modIcon != -1) { // L: 6184 - class234.addGameMessage(var49, class25.method248(var26.modIcon) + var38, var30); - } else { - class234.addGameMessage(var49, var38, var30); // L: 6185 - } - } - - var1.serverPacket = null; // L: 6187 - return true; // L: 6188 - } - - long var31; - if (ServerPacket.field2192 == var1.serverPacket) { // L: 6190 - var38 = var3.readStringCp1252NullTerminated(); // L: 6191 - var22 = var3.readLong(); // L: 6192 - var24 = (long)var3.readUnsignedShort(); // L: 6193 - var31 = (long)var3.readMedium(); // L: 6194 - PlayerType var60 = (PlayerType)UrlRequester.findEnumerated(class234.PlayerType_values(), var3.readUnsignedByte()); // L: 6195 - var12 = (var24 << 32) + var31; // L: 6196 - boolean var14 = false; // L: 6197 - - for (int var15 = 0; var15 < 100; ++var15) { // L: 6198 - if (field868[var15] == var12) { // L: 6199 - var14 = true; // L: 6200 - break; // L: 6201 - } - } - - if (var60.isUser && MilliClock.friendSystem.isIgnored(new Username(var38, GrandExchangeOfferUnitPriceComparator.loginType))) { // L: 6204 6205 - var14 = true; - } - - if (!var14 && field762 == 0) { // L: 6207 - field868[field707] = var12; // L: 6208 - field707 = (field707 + 1) % 100; // L: 6209 - String var34 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(var3))); // L: 6210 - if (var60.modIcon != -1) { // L: 6211 - UserComparator10.addChatMessage(9, class25.method248(var60.modIcon) + var38, var34, ParamComposition.base37DecodeLong(var22)); - } else { - UserComparator10.addChatMessage(9, var38, var34, ParamComposition.base37DecodeLong(var22)); // L: 6212 - } - } - - var1.serverPacket = null; // L: 6214 - return true; // L: 6215 - } - - if (ServerPacket.field2173 == var1.serverPacket) { // L: 6217 - WorldMapRectangle.logOut(); // L: 6218 - var1.serverPacket = null; // L: 6219 - return false; // L: 6220 - } - - if (ServerPacket.field2168 == var1.serverPacket) { // L: 6222 - UserComparator10.updatePlayers(var3, var1.serverPacketLength); // L: 6223 - TextureProvider.method2848(); // L: 6224 - var1.serverPacket = null; // L: 6225 - return true; // L: 6226 - } - - if (ServerPacket.field2206 == var1.serverPacket) { // L: 6228 - MilliClock.friendSystem.readUpdate(var3, var1.serverPacketLength); // L: 6229 - field879 = cycleCntr; // L: 6230 - var1.serverPacket = null; // L: 6231 - return true; // L: 6232 - } - - if (ServerPacket.field2151 == var1.serverPacket) { // L: 6234 - var16 = var3.method5582(); // L: 6235 - var5 = var3.method5591(); // L: 6236 - var40 = CollisionMap.getWidget(var5); // L: 6237 - if (var40.modelType != 2 || var16 != var40.modelId) { // L: 6238 - var40.modelType = 2; // L: 6239 - var40.modelId = var16; // L: 6240 - CollisionMap.invalidateWidget(var40); // L: 6241 - } - - var1.serverPacket = null; // L: 6243 - return true; // L: 6244 - } - - if (ServerPacket.field2190 == var1.serverPacket) { // L: 6246 - var16 = var3.method5643(); // L: 6247 - var5 = var3.method5580(); // L: 6248 - var18 = var5 >> 10 & 31; // L: 6249 - var7 = var5 >> 5 & 31; // L: 6250 - var19 = var5 & 31; // L: 6251 - var9 = (var7 << 11) + (var18 << 19) + (var19 << 3); // L: 6252 - Widget var10 = CollisionMap.getWidget(var16); // L: 6253 - if (var9 != var10.color) { // L: 6254 - var10.color = var9; // L: 6255 - CollisionMap.invalidateWidget(var10); // L: 6256 - } - - var1.serverPacket = null; // L: 6258 - return true; // L: 6259 - } - - if (ServerPacket.field2140 == var1.serverPacket) { // L: 6261 - var16 = var3.readInt(); // L: 6262 - var5 = var3.readUnsignedShort(); // L: 6263 - if (var16 < -70000) { // L: 6264 - var5 += 32768; - } - - if (var16 >= 0) { // L: 6266 - var40 = CollisionMap.getWidget(var16); - } else { - var40 = null; // L: 6267 - } - - for (; var3.offset < var1.serverPacketLength; GrandExchangeOfferNameComparator.itemContainerSetItem(var5, var7, var19 - 1, var9)) { // L: 6268 6282 - var7 = var3.readUShortSmart(); // L: 6269 - var19 = var3.readUnsignedShort(); // L: 6270 - var9 = 0; // L: 6271 - if (var19 != 0) { // L: 6272 - var9 = var3.readUnsignedByte(); // L: 6273 - if (var9 == 255) { // L: 6274 - var9 = var3.readInt(); - } - } - - if (var40 != null && var7 >= 0 && var7 < var40.itemIds.length) { // L: 6276 6277 - var40.itemIds[var7] = var19; // L: 6278 - var40.itemQuantities[var7] = var9; // L: 6279 - } - } - - if (var40 != null) { // L: 6284 - CollisionMap.invalidateWidget(var40); - } - - class195.method3681(); // L: 6285 - changedItemContainers[++field837 - 1 & 31] = var5 & 32767; // L: 6286 - var1.serverPacket = null; // L: 6287 - return true; // L: 6288 - } - - if (ServerPacket.field2198 == var1.serverPacket) { // L: 6290 - byte var59 = var3.method5665(); // L: 6291 - var5 = var3.method5580(); // L: 6292 - Varps.Varps_temp[var5] = var59; // L: 6293 - if (Varps.Varps_main[var5] != var59) { // L: 6294 - Varps.Varps_main[var5] = var59; // L: 6295 - } - - Script.changeGameOptions(var5); // L: 6297 - changedVarps[++changedVarpCount - 1 & 31] = var5; // L: 6298 - var1.serverPacket = null; // L: 6299 - return true; // L: 6300 - } - - if (ServerPacket.field2177 == var1.serverPacket) { // L: 6302 - var16 = var3.readInt(); // L: 6303 - var51 = CollisionMap.getWidget(var16); // L: 6304 - - for (var18 = 0; var18 < var51.itemIds.length; ++var18) { // L: 6305 - var51.itemIds[var18] = -1; // L: 6306 - var51.itemIds[var18] = 0; // L: 6307 - } - - CollisionMap.invalidateWidget(var51); // L: 6309 - var1.serverPacket = null; // L: 6310 - return true; // L: 6311 - } - - if (ServerPacket.field2196 == var1.serverPacket) { // L: 6313 - var16 = var3.method5643(); // L: 6314 - var46 = var3.method5571() == 1; // L: 6315 - var40 = CollisionMap.getWidget(var16); // L: 6316 - if (var46 != var40.isHidden) { // L: 6317 - var40.isHidden = var46; // L: 6318 - CollisionMap.invalidateWidget(var40); // L: 6319 - } - - var1.serverPacket = null; // L: 6321 - return true; // L: 6322 - } - - if (ServerPacket.field2212 == var1.serverPacket) { // L: 6324 - UserComparator4.method3465(class194.field2350); // L: 6325 - var1.serverPacket = null; // L: 6326 - return true; // L: 6327 - } - - if (ServerPacket.field2159 == var1.serverPacket) { // L: 6329 - var16 = var3.readInt(); // L: 6330 - var17 = var3.readStringCp1252NullTerminated(); // L: 6331 - var40 = CollisionMap.getWidget(var16); // L: 6332 - if (!var17.equals(var40.text)) { // L: 6333 - var40.text = var17; // L: 6334 - CollisionMap.invalidateWidget(var40); // L: 6335 - } - - var1.serverPacket = null; // L: 6337 - return true; // L: 6338 - } - - if (ServerPacket.field2223 == var1.serverPacket) { // L: 6340 - var16 = var3.readInt(); // L: 6341 - var5 = var3.method5580(); // L: 6342 - var40 = CollisionMap.getWidget(var16); // L: 6343 - if (var40.modelType != 1 || var5 != var40.modelId) { // L: 6344 - var40.modelType = 1; // L: 6345 - var40.modelId = var5; // L: 6346 - CollisionMap.invalidateWidget(var40); // L: 6347 - } - - var1.serverPacket = null; // L: 6349 - return true; // L: 6350 - } - - if (ServerPacket.field2201 == var1.serverPacket) { // L: 6352 - MilliClock.friendSystem.method1919(); // L: 6353 - field879 = cycleCntr; // L: 6354 - var1.serverPacket = null; // L: 6355 - return true; // L: 6356 - } - - Widget var8; - if (ServerPacket.field2211 == var1.serverPacket) { // L: 6358 - var16 = var3.method5582(); // L: 6359 - var5 = var3.method5539(); // L: 6360 - var18 = var3.method5539(); // L: 6361 - var7 = var3.method5643(); // L: 6362 - var8 = CollisionMap.getWidget(var7); // L: 6363 - if (var5 != var8.modelAngleX || var16 != var8.modelAngleY || var18 != var8.modelZoom) { // L: 6364 - var8.modelAngleX = var5; // L: 6365 - var8.modelAngleY = var16; // L: 6366 - var8.modelZoom = var18; // L: 6367 - CollisionMap.invalidateWidget(var8); // L: 6368 - } - - var1.serverPacket = null; // L: 6370 - return true; // L: 6371 - } - - if (ServerPacket.field2181 == var1.serverPacket) { // L: 6373 - UserComparator4.method3465(class194.field2342); // L: 6374 - var1.serverPacket = null; // L: 6375 - return true; // L: 6376 - } - - if (ServerPacket.field2222 == var1.serverPacket) { // L: 6378 - var16 = var3.method5584(); // L: 6379 - var5 = var3.readShort(); // L: 6380 - var18 = var3.readInt(); // L: 6381 - var58 = CollisionMap.getWidget(var18); // L: 6382 - if (var16 != var58.rawX || var5 != var58.rawY || var58.xAlignment != 0 || var58.yAlignment != 0) { // L: 6383 - var58.rawX = var16; // L: 6384 - var58.rawY = var5; // L: 6385 - var58.xAlignment = 0; // L: 6386 - var58.yAlignment = 0; // L: 6387 - CollisionMap.invalidateWidget(var58); // L: 6388 - this.alignWidget(var58); // L: 6389 - if (var58.type == 0) { // L: 6390 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var18 >> 16], var58, false); - } - } - - var1.serverPacket = null; // L: 6392 - return true; // L: 6393 - } - - if (ServerPacket.field2161 == var1.serverPacket) { // L: 6395 - var16 = var3.readInt(); // L: 6396 - var5 = var3.readInt(); // L: 6397 - var18 = GrandExchangeOfferNameComparator.getGcDuration(); // L: 6398 - PacketBufferNode var57 = ItemContainer.getPacketBufferNode(ClientPacket.field2255, packetWriter.isaacCipher); // L: 6400 - var57.packetBuffer.method5569(var18); // L: 6401 - var57.packetBuffer.method5718(var16); // L: 6402 - var57.packetBuffer.method5587(var5); // L: 6403 - var57.packetBuffer.method5568(GameEngine.fps); // L: 6404 - packetWriter.addNode(var57); // L: 6405 - var1.serverPacket = null; // L: 6406 - return true; // L: 6407 - } - - if (ServerPacket.field2166 == var1.serverPacket) { // L: 6409 - var16 = var3.readUnsignedByte(); // L: 6410 - WorldMapSection1.forceDisconnect(var16); // L: 6411 - var1.serverPacket = null; // L: 6412 - return false; // L: 6413 - } - - if (ServerPacket.field2163 == var1.serverPacket) { // L: 6415 - isCameraLocked = true; // L: 6416 - WorldMapData_0.field112 = var3.readUnsignedByte(); // L: 6417 - EnumComposition.field3340 = var3.readUnsignedByte(); // L: 6418 - class25.field128 = var3.readUnsignedShort(); // L: 6419 - Players.field1267 = var3.readUnsignedByte(); // L: 6420 - ModeWhere.field2405 = var3.readUnsignedByte(); // L: 6421 - if (ModeWhere.field2405 >= 100) { // L: 6422 - var16 = WorldMapData_0.field112 * 128 + 64; // L: 6423 - var5 = EnumComposition.field3340 * 128 + 64; // L: 6424 - var18 = SecureRandomFuture.getTileHeight(var16, var5, GameObject.Client_plane) - class25.field128; // L: 6425 - var7 = var16 - Player.cameraX; // L: 6426 - var19 = var18 - KeyHandler.cameraY; // L: 6427 - var9 = var5 - class69.cameraZ; // L: 6428 - var21 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); // L: 6429 - Skeleton.cameraPitch = (int)(Math.atan2((double)var19, (double)var21) * 325.949D) & 2047; // L: 6430 - AbstractArchive.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; // L: 6431 - if (Skeleton.cameraPitch < 128) { // L: 6432 - Skeleton.cameraPitch = 128; - } - - if (Skeleton.cameraPitch > 383) { // L: 6433 - Skeleton.cameraPitch = 383; - } - } - - var1.serverPacket = null; // L: 6435 - return true; // L: 6436 - } - - if (ServerPacket.field2147 == var1.serverPacket) { // L: 6438 - var16 = var3.readInt(); // L: 6439 - var5 = var3.method5580(); // L: 6440 - if (var5 == 65535) { // L: 6441 - var5 = -1; - } - - var18 = var3.readInt(); // L: 6442 - var7 = var3.method5539(); // L: 6443 - if (var7 == 65535) { // L: 6444 - var7 = -1; - } - - for (var19 = var7; var19 <= var5; ++var19) { // L: 6445 - var31 = (long)var19 + ((long)var16 << 32); // L: 6446 - Node var33 = widgetFlags.get(var31); // L: 6447 - if (var33 != null) { // L: 6448 - var33.remove(); - } - - widgetFlags.put(new IntegerNode(var18), var31); // L: 6449 - } - - var1.serverPacket = null; // L: 6451 - return true; // L: 6452 - } - - if (ServerPacket.field2179 == var1.serverPacket) { // L: 6454 - var3.offset += 28; // L: 6455 - if (var3.checkCrc()) { // L: 6456 - WorldMapEvent.method808(var3, var3.offset - 28); - } - - var1.serverPacket = null; // L: 6457 - return true; // L: 6458 - } - - if (ServerPacket.field2144 == var1.serverPacket) { // L: 6460 - class195.method3681(); // L: 6461 - var16 = var3.method5592(); // L: 6462 - var5 = var3.method5571(); // L: 6463 - var18 = var3.method5571(); // L: 6464 - experience[var18] = var16; // L: 6465 - currentLevels[var18] = var5; // L: 6466 - levels[var18] = 1; // L: 6467 - - for (var7 = 0; var7 < 98; ++var7) { // L: 6468 - if (var16 >= Skills.Skills_experienceTable[var7]) { - levels[var18] = var7 + 2; - } - } - - changedSkills[++changedSkillsCount - 1 & 31] = var18; // L: 6469 - var1.serverPacket = null; // L: 6470 - return true; // L: 6471 - } - - if (ServerPacket.field2183 == var1.serverPacket) { // L: 6473 - var38 = var3.readStringCp1252NullTerminated(); // L: 6474 - var5 = var3.method5571(); // L: 6475 - var18 = var3.method5572(); // L: 6476 - if (var18 >= 1 && var18 <= 8) { // L: 6477 - if (var38.equalsIgnoreCase("null")) { // L: 6478 - var38 = null; - } - - playerMenuActions[var18 - 1] = var38; // L: 6479 - playerOptionsPriorities[var18 - 1] = var5 == 0; // L: 6480 - } - - var1.serverPacket = null; // L: 6482 - return true; // L: 6483 - } - - if (ServerPacket.field2142 == var1.serverPacket) { // L: 6485 - var16 = var3.readInt(); // L: 6486 - var5 = var3.readUnsignedShort(); // L: 6487 - if (var16 < -70000) { // L: 6488 - var5 += 32768; - } - - if (var16 >= 0) { // L: 6490 - var40 = CollisionMap.getWidget(var16); - } else { - var40 = null; // L: 6491 - } - - if (var40 != null) { // L: 6492 - for (var7 = 0; var7 < var40.itemIds.length; ++var7) { // L: 6493 - var40.itemIds[var7] = 0; // L: 6494 - var40.itemQuantities[var7] = 0; // L: 6495 - } - } - - Language.clearItemContainer(var5); // L: 6498 - var7 = var3.readUnsignedShort(); // L: 6499 - - for (var19 = 0; var19 < var7; ++var19) { // L: 6500 - var9 = var3.method5539(); // L: 6501 - var21 = var3.method5572(); // L: 6502 - if (var21 == 255) { // L: 6503 - var21 = var3.method5591(); - } - - if (var40 != null && var19 < var40.itemIds.length) { // L: 6504 6505 - var40.itemIds[var19] = var9; // L: 6506 - var40.itemQuantities[var19] = var21; // L: 6507 - } - - GrandExchangeOfferNameComparator.itemContainerSetItem(var5, var19, var9 - 1, var21); // L: 6510 - } - - if (var40 != null) { // L: 6512 - CollisionMap.invalidateWidget(var40); - } - - class195.method3681(); // L: 6513 - changedItemContainers[++field837 - 1 & 31] = var5 & 32767; // L: 6514 - var1.serverPacket = null; // L: 6515 - return true; // L: 6516 - } - - if (ServerPacket.field2200 == var1.serverPacket) { // L: 6518 - class195.method3681(); // L: 6519 - weight = var3.readShort(); // L: 6520 - field845 = cycleCntr; // L: 6521 - var1.serverPacket = null; // L: 6522 - return true; // L: 6523 - } - - if (ServerPacket.field2209 == var1.serverPacket) { // L: 6525 - if (var1.serverPacketLength == 0) { // L: 6526 - WorldMapArea.clanChat = null; // L: 6527 - } else { - if (WorldMapArea.clanChat == null) { // L: 6530 - WorldMapArea.clanChat = new ClanChat(GrandExchangeOfferUnitPriceComparator.loginType, WorldMapIcon_0.client); // L: 6531 - } - - WorldMapArea.clanChat.readUpdate(var3); // L: 6533 - } - - WorldMapLabel.method469(); // L: 6535 - var1.serverPacket = null; // L: 6536 - return true; // L: 6537 - } - - if (ServerPacket.field2213 == var1.serverPacket) { // L: 6539 - UserComparator4.method3465(class194.field2347); // L: 6540 - var1.serverPacket = null; // L: 6541 - return true; // L: 6542 - } - - if (ServerPacket.field2141 == var1.serverPacket) { // L: 6544 - World var37 = new World(); // L: 6545 - var37.host = var3.readStringCp1252NullTerminated(); // L: 6546 - var37.id = var3.readUnsignedShort(); // L: 6547 - var5 = var3.readInt(); // L: 6548 - var37.properties = var5; // L: 6549 - WorldMapCacheName.updateGameState(45); // L: 6550 - var2.close(); // L: 6551 - var2 = null; // L: 6552 - SecureRandomCallable.changeWorld(var37); // L: 6553 - var1.serverPacket = null; // L: 6554 - return false; // L: 6555 - } - - if (ServerPacket.field2182 == var1.serverPacket) { // L: 6557 - UserComparator4.method3465(class194.field2349); // L: 6558 - var1.serverPacket = null; // L: 6559 - return true; // L: 6560 - } - - if (ServerPacket.field2202 == var1.serverPacket) { // L: 6562 - ItemContainer.loadRegions(true, var1.packetBuffer); // L: 6563 - var1.serverPacket = null; // L: 6564 - return true; // L: 6565 - } - - if (ServerPacket.field2158 == var1.serverPacket) { // L: 6567 - var16 = var3.method5582(); // L: 6568 - Actor.method1819(var16); // L: 6569 - changedItemContainers[++field837 - 1 & 31] = var16 & 32767; // L: 6570 - var1.serverPacket = null; // L: 6571 - return true; // L: 6572 - } - - if (ServerPacket.field2220 == var1.serverPacket) { // L: 6574 - privateChatMode = class52.method840(var3.readUnsignedByte()); // L: 6575 - var1.serverPacket = null; // L: 6576 - return true; // L: 6577 - } - - if (ServerPacket.field2208 == var1.serverPacket) { // L: 6579 - PacketWriter.field1331 = var3.method5571(); // L: 6580 - class248.field3222 = var3.method5573(); // L: 6581 - var1.serverPacket = null; // L: 6582 - return true; // L: 6583 - } - - if (ServerPacket.field2195 == var1.serverPacket) { // L: 6585 - var50 = var3.readUnsignedByte() == 1; // L: 6586 - if (var50) { // L: 6587 - class4.field17 = class298.currentTimeMillis() - var3.readLong(); // L: 6588 - AbstractUserComparator.grandExchangeEvents = new GrandExchangeEvents(var3, true); // L: 6589 - } else { - AbstractUserComparator.grandExchangeEvents = null; // L: 6591 - } - - field680 = cycleCntr; // L: 6592 - var1.serverPacket = null; // L: 6593 - return true; // L: 6594 - } - - if (ServerPacket.field2155 == var1.serverPacket) { // L: 6596 - var16 = var3.method5592(); // L: 6597 - var5 = var3.method5643(); // L: 6598 - InterfaceParent var6 = (InterfaceParent)interfaceParents.get((long)var16); // L: 6599 - var20 = (InterfaceParent)interfaceParents.get((long)var5); // L: 6600 - if (var20 != null) { // L: 6601 - MouseRecorder.closeInterface(var20, var6 == null || var20.group != var6.group); - } - - if (var6 != null) { // L: 6602 - var6.remove(); // L: 6603 - interfaceParents.put(var6, (long)var5); // L: 6604 - } - - var8 = CollisionMap.getWidget(var16); // L: 6606 - if (var8 != null) { // L: 6607 - CollisionMap.invalidateWidget(var8); - } - - var8 = CollisionMap.getWidget(var5); // L: 6608 - if (var8 != null) { // L: 6609 - CollisionMap.invalidateWidget(var8); // L: 6610 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var8.id >>> 16], var8, true); // L: 6611 - } - - if (rootInterface != -1) { // L: 6613 - WorldMapRectangle.runIntfCloseListeners(rootInterface, 1); - } - - var1.serverPacket = null; // L: 6614 - return true; // L: 6615 - } - - if (ServerPacket.field2146 == var1.serverPacket) { // L: 6617 - var16 = var3.readInt(); // L: 6618 - if (var16 != field730) { // L: 6619 - field730 = var16; // L: 6620 - WorldMapCacheName.method664(); // L: 6621 - } - - var1.serverPacket = null; // L: 6623 - return true; // L: 6624 - } - - if (ServerPacket.field2156 == var1.serverPacket) { // L: 6626 - UserComparator4.method3465(class194.field2346); // L: 6627 - var1.serverPacket = null; // L: 6628 - return true; // L: 6629 - } - - PlayerComposition.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id * 1148115103 * -61586593 : -1) + "," + (var1.field1336 != null ? var1.field1336.id * 1148115103 * -61586593 : -1) + "," + (var1.field1337 != null ? var1.field1337.id * 1148115103 * -61586593 : -1) + "," + var1.serverPacketLength, (Throwable)null); // L: 6631 - WorldMapRectangle.logOut(); // L: 6632 - } catch (IOException var35) { // L: 6634 - LoginScreenAnimation.method1903(); // L: 6635 - } catch (Exception var36) { - var17 = "" + (var1.serverPacket != null ? var1.serverPacket.id * 1148115103 * -61586593 : -1) + "," + (var1.field1336 != null ? var1.field1336.id * 1148115103 * -61586593 : -1) + "," + (var1.field1337 != null ? var1.field1337.id * 1148115103 * -61586593 : -1) + "," + var1.serverPacketLength + "," + (PlayerComposition.localPlayer.pathX[0] + NetFileRequest.baseX) + "," + (PlayerComposition.localPlayer.pathY[0] + class41.baseY) + ","; // L: 6638 - - for (var18 = 0; var18 < var1.serverPacketLength && var18 < 50; ++var18) { // L: 6639 - var17 = var17 + var3.array[var18] + ","; - } - - PlayerComposition.RunException_sendStackTrace(var17, var36); // L: 6640 - WorldMapRectangle.logOut(); // L: 6641 - } - - return true; // L: 6643 - } - } - - @ObfuscatedName("in") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "33" - ) - @Export("menu") - final void menu() { - VertexNormal.method3068(); // L: 7348 - if (class171.dragInventoryWidget == null) { // L: 7349 - if (clickedWidget == null) { // L: 7350 - int var1 = MouseHandler.MouseHandler_lastButton; // L: 7351 - int var2; - int var3; - int var4; - int var5; - int var7; - int var8; - if (isMenuOpen) { // L: 7352 - if (var1 != 1 && (UserComparator9.mouseCam || var1 != 4)) { // L: 7353 - var2 = MouseHandler.MouseHandler_x; // L: 7354 - var3 = MouseHandler.MouseHandler_y; // L: 7355 - if (var2 < AbstractUserComparator.menuX - 10 || var2 > AbstractUserComparator.menuX + Occluder.menuWidth + 10 || var3 < DynamicObject.menuY - 10 || var3 > class182.menuHeight + DynamicObject.menuY + 10) { // L: 7356 - isMenuOpen = false; // L: 7357 - Frames.method3352(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight); // L: 7358 - } - } - - if (var1 == 1 || !UserComparator9.mouseCam && var1 == 4) { // L: 7361 - var2 = AbstractUserComparator.menuX; // L: 7362 - var3 = DynamicObject.menuY; // L: 7363 - var4 = Occluder.menuWidth; // L: 7364 - var5 = MouseHandler.MouseHandler_lastPressedX; // L: 7365 - int var10 = MouseHandler.MouseHandler_lastPressedY; // L: 7366 - var7 = -1; // L: 7367 - - for (var8 = 0; var8 < menuOptionsCount; ++var8) { // L: 7368 - int var9 = (menuOptionsCount - 1 - var8) * 15 + var3 + 31; // L: 7369 - if (var5 > var2 && var5 < var4 + var2 && var10 > var9 - 13 && var10 < var9 + 3) { // L: 7370 - var7 = var8; - } - } - - if (var7 != -1) { // L: 7372 - FontName.method5356(var7); - } - - isMenuOpen = false; // L: 7373 - Frames.method3352(AbstractUserComparator.menuX, DynamicObject.menuY, Occluder.menuWidth, class182.menuHeight); // L: 7374 - } - } else { - var2 = WorldMapSprite.method463(); // L: 7378 - if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && var2 >= 0) { // L: 7379 - var3 = menuOpcodes[var2]; // L: 7380 - if (var3 == 39 || var3 == 40 || var3 == 41 || var3 == 42 || var3 == 43 || var3 == 33 || var3 == 34 || var3 == 35 || var3 == 36 || var3 == 37 || var3 == 38 || var3 == 1005) { // L: 7381 - var4 = menuArguments1[var2]; // L: 7382 - var5 = menuArguments2[var2]; // L: 7383 - Widget var6 = CollisionMap.getWidget(var5); // L: 7384 - if (WorldMapSection2.method378(FaceNormal.getWidgetFlags(var6)) || BoundaryObject.method3341(FaceNormal.getWidgetFlags(var6))) { // L: 7385 - if (class171.dragInventoryWidget != null && !field848 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { // L: 7386 7387 - var7 = draggedWidgetX; // L: 7388 - var8 = draggedWidgetY; // L: 7389 - WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var7, var8); // L: 7391 - WorldMapSection1.tempMenuAction = null; // L: 7392 - } - - field848 = false; // L: 7396 - itemDragDuration = 0; // L: 7397 - if (class171.dragInventoryWidget != null) { // L: 7398 - CollisionMap.invalidateWidget(class171.dragInventoryWidget); - } - - class171.dragInventoryWidget = CollisionMap.getWidget(var5); // L: 7399 - dragItemSlotSource = var4; // L: 7400 - draggedWidgetX = MouseHandler.MouseHandler_lastPressedX; // L: 7401 - draggedWidgetY = MouseHandler.MouseHandler_lastPressedY; // L: 7402 - if (var2 >= 0) { // L: 7403 - WorldMapSection1.tempMenuAction = new MenuAction(); // L: 7404 - WorldMapSection1.tempMenuAction.param0 = menuArguments1[var2]; // L: 7405 - WorldMapSection1.tempMenuAction.param1 = menuArguments2[var2]; // L: 7406 - WorldMapSection1.tempMenuAction.opcode = menuOpcodes[var2]; // L: 7407 - WorldMapSection1.tempMenuAction.identifier = menuIdentifiers[var2]; // L: 7408 - WorldMapSection1.tempMenuAction.action = menuActions[var2]; // L: 7409 - } - - CollisionMap.invalidateWidget(class171.dragInventoryWidget); // L: 7411 - return; // L: 7412 - } - } - } - - if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && this.shouldLeftClickOpenMenu()) { // L: 7416 7417 - var1 = 2; // L: 7418 - } - - if ((var1 == 1 || !UserComparator9.mouseCam && var1 == 4) && menuOptionsCount > 0) { // L: 7421 - FontName.method5356(var2); // L: 7422 - } - - if (var1 == 2 && menuOptionsCount > 0) { // L: 7424 - this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); - } - } - - } - } - } // L: 7426 - - @ObfuscatedName("io") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-745678378" - ) - @Export("shouldLeftClickOpenMenu") - final boolean shouldLeftClickOpenMenu() { - int var1 = WorldMapSprite.method463(); // L: 7429 - return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || Players.method2225(var1)) && !menuShiftClick[var1]; // L: 7430 - } - - @ObfuscatedName("ic") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "2086272336" - ) - @Export("openMenu") - final void openMenu(int var1, int var2) { - BuddyRankComparator.method3522(var1, var2); // L: 7434 - ArchiveLoader.scene.menuOpen(GameObject.Client_plane, var1, var2, false); // L: 7435 - isMenuOpen = true; // L: 7436 - } // L: 7437 - - @ObfuscatedName("jd") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "-6" - ) - @Export("resizeRoot") - final void resizeRoot(boolean var1) { - WorldMapManager.method686(rootInterface, IgnoreList.canvasWidth, ModelData0.canvasHeight, var1); // L: 9447 - } // L: 9448 - - @ObfuscatedName("jv") - @ObfuscatedSignature( - descriptor = "(Lhe;I)V", - garbageValue = "1858163346" - ) - @Export("alignWidget") - void alignWidget(Widget var1) { - Widget var2 = var1.parentId == -1 ? null : CollisionMap.getWidget(var1.parentId); // L: 9451 - int var3; - int var4; - if (var2 == null) { // L: 9454 - var3 = IgnoreList.canvasWidth; // L: 9455 - var4 = ModelData0.canvasHeight; // L: 9456 - } else { - var3 = var2.width; // L: 9459 - var4 = var2.height; // L: 9460 - } - - TileItem.alignWidgetSize(var1, var3, var4, false); // L: 9462 - class7.alignWidgetPosition(var1, var3, var4); // L: 9463 - } // L: 9464 - - @ObfuscatedName("ka") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "829781970" - ) - final void method1381() { - CollisionMap.invalidateWidget(clickedWidget); // L: 10426 - ++ScriptFrame.widgetDragDuration; // L: 10427 - if (field829 && field859) { // L: 10428 - int var1 = MouseHandler.MouseHandler_x; // L: 10434 - int var2 = MouseHandler.MouseHandler_y; // L: 10435 - var1 -= widgetClickX; // L: 10436 - var2 -= widgetClickY; // L: 10437 - if (var1 < field827) { // L: 10438 - var1 = field827; - } - - if (var1 + clickedWidget.width > field827 + clickedWidgetParent.width) { // L: 10439 - var1 = field827 + clickedWidgetParent.width - clickedWidget.width; - } - - if (var2 < field716) { // L: 10440 - var2 = field716; - } - - if (var2 + clickedWidget.height > field716 + clickedWidgetParent.height) { // L: 10441 - var2 = field716 + clickedWidgetParent.height - clickedWidget.height; - } - - int var3 = var1 - field853; // L: 10442 - int var4 = var2 - field862; // L: 10443 - int var5 = clickedWidget.dragZoneSize; // L: 10444 - if (ScriptFrame.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { // L: 10445 10446 - isDraggingWidget = true; // L: 10447 - } - - int var6 = var1 - field827 + clickedWidgetParent.scrollX; // L: 10450 - int var7 = var2 - field716 + clickedWidgetParent.scrollY; // L: 10451 - ScriptEvent var8; - if (clickedWidget.onDrag != null && isDraggingWidget) { // L: 10452 - var8 = new ScriptEvent(); // L: 10453 - var8.widget = clickedWidget; // L: 10454 - var8.mouseX = var6; // L: 10455 - var8.mouseY = var7; // L: 10456 - var8.args = clickedWidget.onDrag; // L: 10457 - class22.runScriptEvent(var8); // L: 10458 - } - - if (MouseHandler.MouseHandler_currentButton == 0) { // L: 10460 - if (isDraggingWidget) { // L: 10461 - if (clickedWidget.onDragComplete != null) { // L: 10462 - var8 = new ScriptEvent(); // L: 10463 - var8.widget = clickedWidget; // L: 10464 - var8.mouseX = var6; // L: 10465 - var8.mouseY = var7; // L: 10466 - var8.dragTarget = draggedOnWidget; // L: 10467 - var8.args = clickedWidget.onDragComplete; // L: 10468 - class22.runScriptEvent(var8); // L: 10469 - } - - if (draggedOnWidget != null) { // L: 10471 - Widget var15 = clickedWidget; // L: 10473 - int var11 = FaceNormal.getWidgetFlags(var15); // L: 10476 - int var10 = var11 >> 17 & 7; // L: 10478 - int var12 = var10; // L: 10480 - Widget var17; - if (var10 == 0) { // L: 10481 - var17 = null; // L: 10482 - } else { - int var13 = 0; - - while (true) { - if (var13 >= var12) { - var17 = var15; // L: 10492 - break; - } - - var15 = CollisionMap.getWidget(var15.parentId); // L: 10486 - if (var15 == null) { // L: 10487 - var17 = null; // L: 10488 - break; // L: 10489 - } - - ++var13; // L: 10485 - } - } - - if (var17 != null) { // L: 10494 - PacketBufferNode var16 = ItemContainer.getPacketBufferNode(ClientPacket.field2298, packetWriter.isaacCipher); // L: 10496 - var16.packetBuffer.method5578(draggedOnWidget.itemId); // L: 10497 - var16.packetBuffer.method5739(clickedWidget.itemId); // L: 10498 - var16.packetBuffer.method5718(clickedWidget.id); // L: 10499 - var16.packetBuffer.writeShort(clickedWidget.childIndex); // L: 10500 - var16.packetBuffer.method5739(draggedOnWidget.childIndex); // L: 10501 - var16.packetBuffer.method5588(draggedOnWidget.id); // L: 10502 - packetWriter.addNode(var16); // L: 10503 - } - } - } else if (this.shouldLeftClickOpenMenu()) { // L: 10508 - this.openMenu(widgetClickX + field853, widgetClickY + field862); // L: 10509 - } else if (menuOptionsCount > 0) { // L: 10511 - int var14 = field853 + widgetClickX; // L: 10512 - int var9 = widgetClickY + field862; // L: 10513 - WorldMapDecoration.method379(WorldMapSection1.tempMenuAction, var14, var9); // L: 10515 - WorldMapSection1.tempMenuAction = null; // L: 10516 - } - - clickedWidget = null; // L: 10520 - } - - } else { - if (ScriptFrame.widgetDragDuration > 1) { // L: 10429 - clickedWidget = null; // L: 10430 - } - - } - } // L: 10432 10522 - - @ObfuscatedName("lb") - @ObfuscatedSignature( - descriptor = "(I)Lki;", - garbageValue = "82536799" - ) - @Export("username") - public Username username() { - return PlayerComposition.localPlayer != null ? PlayerComposition.localPlayer.username : null; // L: 11178 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1868992104" - ) - public static void method1583() { - if (NetCache.NetCache_socket != null) { // L: 95 - NetCache.NetCache_socket.close(); - } - - } // L: 96 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-256549050" - ) - static void method1799() { - if (Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { // L: 239 - Login.currentLoginField = 1; // L: 240 - } else { - Login.currentLoginField = 0; // L: 243 - } - - } // L: 245 + @ObfuscatedName("nj") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("clickedWidget") + static Widget clickedWidget; + @ObfuscatedName("oy") + @ObfuscatedGetter( + intValue = -2130667967 + ) + static int field868; + @ObfuscatedName("of") + @ObfuscatedGetter( + intValue = 1098573147 + ) + @Export("rootWidgetCount") + static int rootWidgetCount; + @ObfuscatedName("ot") + @ObfuscatedGetter( + longValue = 2641813586690994541L + ) + static long field938; + @ObfuscatedName("ok") + static boolean[] field816; + @ObfuscatedName("oq") + static boolean[] field871; + @ObfuscatedName("ou") + static boolean[] field827; + @ObfuscatedName("no") + static boolean field754; + @ObfuscatedName("na") + @ObfuscatedGetter( + intValue = -1143946983 + ) + @Export("cycleCntr") + static int cycleCntr; + @ObfuscatedName("pz") + @Export("isResizable") + static boolean isResizable; + @ObfuscatedName("ob") + @ObfuscatedGetter( + intValue = -1002353487 + ) + static int field857; + @ObfuscatedName("sw") + @ObfuscatedGetter( + intValue = 1717158947 + ) + public static int field674; + @ObfuscatedName("nf") + static boolean field912; + @ObfuscatedName("qy") + static boolean field899; + @ObfuscatedName("nl") + @ObfuscatedGetter( + intValue = -1921114135 + ) + @Export("widgetClickX") + static int widgetClickX; + @ObfuscatedName("ni") + @ObfuscatedGetter( + intValue = -1056488497 + ) + @Export("widgetClickY") + static int widgetClickY; + @ObfuscatedName("nx") + @ObfuscatedGetter( + intValue = -1709629427 + ) + static int field714; + @ObfuscatedName("oh") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("widgetFlags") + static NodeHashTable widgetFlags; + @ObfuscatedName("nc") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("clickedWidgetParent") + static Widget clickedWidgetParent; + @ObfuscatedName("oz") + @Export("rootWidgetXs") + static int[] rootWidgetXs; + @ObfuscatedName("ox") + @Export("rootWidgetWidths") + static int[] rootWidgetWidths; + @ObfuscatedName("nb") + @ObfuscatedGetter( + intValue = 1241551415 + ) + static int field844; + @ObfuscatedName("nk") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("viewportWidget") + static Widget viewportWidget; + @ObfuscatedName("oo") + @ObfuscatedGetter( + intValue = -129717857 + ) + @Export("gameDrawingMode") + static int gameDrawingMode; + @ObfuscatedName("on") + @Export("rootWidgetHeights") + static int[] rootWidgetHeights; + @ObfuscatedName("mz") + @ObfuscatedGetter( + intValue = -852505975 + ) + @Export("staffModLevel") + static int staffModLevel; + @ObfuscatedName("oj") + @Export("rootWidgetYs") + static int[] rootWidgetYs; + @ObfuscatedName("to") + static int[] field708; + @ObfuscatedName("tl") + static int[] field859; + @ObfuscatedName("tz") + @ObfuscatedSignature( + descriptor = "Lba;" + ) + static final ApproximateRouteStrategy field935; + @ObfuscatedName("oi") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("scriptEvents") + static NodeDeque scriptEvents; + @ObfuscatedName("nr") + @ObfuscatedGetter( + intValue = 2048797241 + ) + static int field784; + @ObfuscatedName("ns") + @ObfuscatedGetter( + intValue = -1047647049 + ) + static int field847; + @ObfuscatedName("ql") + @Export("isCameraLocked") + static boolean isCameraLocked; + @ObfuscatedName("nh") + @Export("changedVarps") + static int[] changedVarps; + @ObfuscatedName("np") + @ObfuscatedGetter( + intValue = -982241293 + ) + @Export("changedVarpCount") + static int changedVarpCount; + @ObfuscatedName("nq") + @Export("isDraggingWidget") + static boolean isDraggingWidget; + @ObfuscatedName("qb") + @ObfuscatedGetter( + intValue = -1138448215 + ) + @Export("soundEffectCount") + static int soundEffectCount; + @ObfuscatedName("qz") + @Export("soundEffectIds") + static int[] soundEffectIds; + @ObfuscatedName("mx") + @ObfuscatedGetter( + intValue = 1334358693 + ) + @Export("runEnergy") + static int runEnergy; + @ObfuscatedName("my") + @ObfuscatedGetter( + intValue = 395200187 + ) + @Export("weight") + static int weight; + @ObfuscatedName("qg") + @Export("queuedSoundEffectLoops") + static int[] queuedSoundEffectLoops; + @ObfuscatedName("qt") + @Export("queuedSoundEffectDelays") + static int[] queuedSoundEffectDelays; + @ObfuscatedName("qh") + @ObfuscatedSignature( + descriptor = "[Ldb;" + ) + @Export("soundEffects") + static SoundEffect[] soundEffects; + @ObfuscatedName("ow") + @ObfuscatedGetter( + intValue = -1484403107 + ) + @Export("mouseWheelRotation") + static int mouseWheelRotation; + @ObfuscatedName("qa") + @Export("soundLocations") + static int[] soundLocations; + @ObfuscatedName("sn") + @ObfuscatedGetter( + intValue = 1721716287 + ) + static int field850; + @ObfuscatedName("sq") + @ObfuscatedSignature( + descriptor = "Lhu;" + ) + @Export("playerAppearance") + static PlayerComposition playerComposition; + @ObfuscatedName("sp") + @ObfuscatedGetter( + intValue = 1981759353 + ) + static int field927; + @ObfuscatedName("nv") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("draggedOnWidget") + static Widget draggedOnWidget; + @ObfuscatedName("rj") + static boolean[] field907; + @ObfuscatedName("rp") + static int[] field908; + @ObfuscatedName("qm") + @ObfuscatedGetter( + intValue = 219093963 + ) + @Export("destinationX") + static int destinationX; + @ObfuscatedName("re") + static int[] field909; + @ObfuscatedName("qc") + @ObfuscatedGetter( + intValue = 398494491 + ) + @Export("destinationY") + static int destinationY; + @ObfuscatedName("sd") + @Export("archiveLoaders") + static ArrayList archiveLoaders; + @ObfuscatedName("mh") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("meslayerContinueWidget") + static Widget meslayerContinueWidget; + @ObfuscatedName("rm") + static int[] field799; + @ObfuscatedName("ss") + @ObfuscatedGetter( + intValue = -1667351587 + ) + @Export("archiveLoadersDone") + static int archiveLoadersDone; + @ObfuscatedName("rc") + static int[] field911; + @ObfuscatedName("qx") + @ObfuscatedGetter( + intValue = 427449579 + ) + @Export("minimapState") + static int minimapState; + @ObfuscatedName("ms") + @ObfuscatedGetter( + intValue = 1924848015 + ) + @Export("chatEffects") + static int chatEffects; + @ObfuscatedName("mq") + @ObfuscatedGetter( + intValue = 588534727 + ) + static int field829; + @ObfuscatedName("pf") + @ObfuscatedGetter( + intValue = -1767216407 + ) + static int field889; + @ObfuscatedName("pj") + @ObfuscatedGetter( + longValue = -941531037774167647L + ) + static long field888; + @ObfuscatedName("mo") + @ObfuscatedGetter( + intValue = -316896937 + ) + @Export("followerIndex") + static int followerIndex; + @ObfuscatedName("sj") + @ObfuscatedSignature( + descriptor = "Lmd;" + ) + @Export("platformInfoProvider") + static PlatformInfoProvider platformInfoProvider; + @ObfuscatedName("ov") + @ObfuscatedGetter( + intValue = -245289527 + ) + static int field861; + @ObfuscatedName("nm") + @Export("changedItemContainers") + static int[] changedItemContainers; + @ObfuscatedName("ps") + @ObfuscatedGetter( + intValue = -1917805707 + ) + @Export("mapIconCount") + static int mapIconCount; + @ObfuscatedName("nu") + @ObfuscatedGetter( + intValue = -1661094869 + ) + static int field870; + @ObfuscatedName("ra") + static short field779; + @ObfuscatedName("ru") + static short field913; + @ObfuscatedName("rn") + static short field918; + @ObfuscatedName("qd") + @ObfuscatedGetter( + intValue = -1030278911 + ) + @Export("currentTrackGroupId") + static int currentTrackGroupId; + @ObfuscatedName("ry") + static short field846; + @ObfuscatedName("pn") + @Export("mapIconXs") + static int[] mapIconXs; + @ObfuscatedName("rt") + static short field690; + @ObfuscatedName("sa") + @ObfuscatedGetter( + intValue = -2031812647 + ) + @Export("viewportZoom") + static int viewportZoom; + @ObfuscatedName("rf") + static short field916; + @ObfuscatedName("ro") + @ObfuscatedGetter( + intValue = -841535669 + ) + @Export("viewportWidth") + static int viewportWidth; + @ObfuscatedName("so") + @ObfuscatedGetter( + intValue = 1712073895 + ) + @Export("viewportHeight") + static int viewportHeight; + @ObfuscatedName("pd") + @Export("mapIconYs") + static int[] mapIconYs; + @ObfuscatedName("qi") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("mapIcons") + static SpritePixels[] mapIcons; + @ObfuscatedName("rx") + @ObfuscatedGetter( + intValue = 817591115 + ) + @Export("viewportOffsetX") + static int viewportOffsetX; + @ObfuscatedName("rr") + @ObfuscatedGetter( + intValue = -748247727 + ) + @Export("viewportOffsetY") + static int viewportOffsetY; + @ObfuscatedName("rs") + @Export("zoomHeight") + static short zoomHeight; + @ObfuscatedName("rw") + @Export("zoomWidth") + static short zoomWidth; + @ObfuscatedName("pr") + @ObfuscatedGetter( + intValue = 1987074699 + ) + static int field885; + @ObfuscatedName("sk") + @ObfuscatedGetter( + intValue = -321864807 + ) + static int field934; + @ObfuscatedName("py") + static long[] field883; + @ObfuscatedName("pb") + static int[] field738; + @ObfuscatedName("pk") + static int[] field886; + @ObfuscatedName("om") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + static NodeDeque field660; + @ObfuscatedName("or") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + static NodeDeque field865; + @ObfuscatedName("os") + @ObfuscatedGetter( + intValue = 337640139 + ) + static int field858; + @ObfuscatedName("pa") + @ObfuscatedGetter( + intValue = 1218379241 + ) + static int field884; + @ObfuscatedName("pg") + @ObfuscatedGetter( + intValue = 654875049 + ) + @Export("tradeChatMode") + static int tradeChatMode; + @ObfuscatedName("pp") + @ObfuscatedGetter( + intValue = -455870279 + ) + @Export("publicChatMode") + static int publicChatMode; + @ObfuscatedName("ne") + @Export("playerMod") + static boolean playerMod; + @ObfuscatedName("mm") + @ObfuscatedGetter( + intValue = 2010628921 + ) + static int field705; + @ObfuscatedName("mv") + @ObfuscatedGetter( + intValue = -852143357 + ) + static int field699; + @ObfuscatedName("sb") + @ObfuscatedSignature( + descriptor = "[Lg;" + ) + @Export("grandExchangeOffers") + static GrandExchangeOffer[] grandExchangeOffers; + @ObfuscatedName("od") + @ObfuscatedGetter( + intValue = 612039895 + ) + static int field710; + @ObfuscatedName("oc") + @ObfuscatedGetter( + intValue = -1152257297 + ) + static int field860; + @ObfuscatedName("ng") + @Export("changedSkills") + static int[] changedSkills; + @ObfuscatedName("ol") + @ObfuscatedGetter( + intValue = 575315923 + ) + @Export("changedSkillsCount") + static int changedSkillsCount; + @ObfuscatedName("pi") + static int[] field879; + @ObfuscatedName("pe") + static String field882; + @ObfuscatedName("sz") + @ObfuscatedSignature( + descriptor = "Lbu;" + ) + @Export("GrandExchangeEvents_worldComparator") + static GrandExchangeOfferOwnWorldComparator GrandExchangeEvents_worldComparator; + @ObfuscatedName("oe") + @ObfuscatedGetter( + intValue = -687275157 + ) + @Export("chatCycle") + static int chatCycle; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "[Lfe;" + ) + @Export("collisionMaps") + static CollisionMap[] collisionMaps; + @ObfuscatedName("ao") + static boolean field863 = true; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -1878956735 + ) + @Export("worldId") + public static int worldId = 1; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 839347685 + ) + @Export("worldProperties") + static int worldProperties = 0; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = -1170422349 + ) + @Export("gameBuild") + static int gameBuild = 0; + @ObfuscatedName("bx") + @Export("isMembersWorld") + public static boolean isMembersWorld = false; + @ObfuscatedName("bc") + @Export("isLowDetail") + static boolean isLowDetail = false; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -1136397929 + ) + @Export("clientType") + static int clientType = -1; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = -2016510315 + ) + static int field667 = -1; + @ObfuscatedName("bg") + @Export("onMobile") + static boolean onMobile = false; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = -196452763 + ) + @Export("gameState") + static int gameState = 0; + @ObfuscatedName("ca") + @Export("isLoading") + static boolean isLoading = true; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = -1348493889 + ) + @Export("cycle") + static int cycle = 0; + @ObfuscatedName("cs") + @ObfuscatedGetter( + longValue = -1640105390398986909L + ) + @Export("mouseLastLastPressedTimeMillis") + static long mouseLastLastPressedTimeMillis = -1L; + @ObfuscatedName("cu") + @ObfuscatedGetter( + intValue = 855740267 + ) + static int field675 = -1; + @ObfuscatedName("ci") + @ObfuscatedGetter( + intValue = -1934473741 + ) + static int field687 = -1; + @ObfuscatedName("cy") + @ObfuscatedGetter( + longValue = 7781100239728416583L + ) + static long field853 = -1L; + @ObfuscatedName("cm") + @Export("hadFocus") + static boolean hadFocus = true; + @ObfuscatedName("cc") + @Export("displayFps") + static boolean displayFps = false; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = -685772431 + ) + @Export("rebootTimer") + static int rebootTimer = 0; + @ObfuscatedName("cx") + @ObfuscatedGetter( + intValue = -482349871 + ) + @Export("hintArrowType") + static int hintArrowType = 0; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = 1334665879 + ) + @Export("hintArrowNpcIndex") + static int hintArrowNpcIndex = 0; + @ObfuscatedName("ch") + @ObfuscatedGetter( + intValue = -1077114245 + ) + @Export("hintArrowPlayerIndex") + static int hintArrowPlayerIndex = 0; + @ObfuscatedName("cl") + @ObfuscatedGetter( + intValue = 635139827 + ) + @Export("hintArrowX") + static int hintArrowX = 0; + @ObfuscatedName("cw") + @ObfuscatedGetter( + intValue = -2046511493 + ) + @Export("hintArrowY") + static int hintArrowY = 0; + @ObfuscatedName("ct") + @ObfuscatedGetter( + intValue = -1006399410 + ) + @Export("hintArrowHeight") + static int hintArrowHeight = 0; + @ObfuscatedName("dx") + @ObfuscatedGetter( + intValue = -1136931287 + ) + @Export("hintArrowSubX") + static int hintArrowSubX = 0; + @ObfuscatedName("do") + @ObfuscatedGetter( + intValue = 966165568 + ) + @Export("hintArrowSubY") + static int hintArrowSubY = 0; + @ObfuscatedName("di") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("playerAttackOption") + static AttackOption playerAttackOption; + @ObfuscatedName("dk") + @ObfuscatedSignature( + descriptor = "Lci;" + ) + @Export("npcAttackOption") + static AttackOption npcAttackOption; + @ObfuscatedName("db") + @ObfuscatedGetter( + intValue = 1514300673 + ) + @Export("titleLoadingStage") + static int titleLoadingStage; + @ObfuscatedName("dj") + @ObfuscatedGetter( + intValue = 1809473469 + ) + @Export("js5ConnectState") + static int js5ConnectState; + @ObfuscatedName("dh") + @ObfuscatedGetter( + intValue = 1130532293 + ) + static int field761; + @ObfuscatedName("ef") + @ObfuscatedGetter( + intValue = -1552699267 + ) + @Export("js5Errors") + static int js5Errors; + @ObfuscatedName("eh") + @ObfuscatedGetter( + intValue = 1808495023 + ) + @Export("loginState") + static int loginState; + @ObfuscatedName("et") + @ObfuscatedGetter( + intValue = -1051745421 + ) + static int field696; + @ObfuscatedName("ec") + @ObfuscatedGetter( + intValue = -1576620503 + ) + static int field786; + @ObfuscatedName("ev") + @ObfuscatedGetter( + intValue = -1472029095 + ) + static int field701; + @ObfuscatedName("eq") + @ObfuscatedSignature( + descriptor = "Lfw;" + ) + static class169 field661; + @ObfuscatedName("ej") + @Export("Login_isUsernameRemembered") + static boolean Login_isUsernameRemembered; + @ObfuscatedName("ed") + @ObfuscatedSignature( + descriptor = "Lco;" + ) + @Export("secureRandomFuture") + static SecureRandomFuture secureRandomFuture; + @ObfuscatedName("fa") + @Export("randomDatData") + static byte[] randomDatData; + @ObfuscatedName("fs") + @ObfuscatedSignature( + descriptor = "[Lca;" + ) + @Export("npcs") + static NPC[] npcs; + @ObfuscatedName("fq") + @ObfuscatedGetter( + intValue = 765821471 + ) + @Export("npcCount") + static int npcCount; + @ObfuscatedName("fn") + @Export("npcIndices") + static int[] npcIndices; + @ObfuscatedName("fc") + @ObfuscatedGetter( + intValue = 263389361 + ) + static int field725; + @ObfuscatedName("fg") + static int[] field697; + @ObfuscatedName("fk") + @ObfuscatedSignature( + descriptor = "Ldx;" + ) + @Export("packetWriter") + public static final PacketWriter packetWriter; + @ObfuscatedName("ff") + @ObfuscatedGetter( + intValue = 1659773339 + ) + @Export("logoutTimer") + static int logoutTimer; + @ObfuscatedName("fd") + static boolean field712; + @ObfuscatedName("fx") + @Export("useBufferedSocket") + static boolean useBufferedSocket; + @ObfuscatedName("fz") + @ObfuscatedSignature( + descriptor = "Ljr;" + ) + @Export("timer") + static Timer timer; + @ObfuscatedName("fm") + @Export("fontsMap") + static HashMap fontsMap; + @ObfuscatedName("gt") + @ObfuscatedGetter( + intValue = 464242229 + ) + static int field785; + @ObfuscatedName("gm") + @ObfuscatedGetter( + intValue = -2030893429 + ) + static int field717; + @ObfuscatedName("gq") + @ObfuscatedGetter( + intValue = 987395951 + ) + static int field718; + @ObfuscatedName("ga") + @ObfuscatedGetter( + intValue = -642405077 + ) + static int field719; + @ObfuscatedName("gu") + @ObfuscatedGetter( + intValue = -176064215 + ) + static int field720; + @ObfuscatedName("gi") + @Export("isInInstance") + static boolean isInInstance; + @ObfuscatedName("gp") + @Export("instanceChunkTemplates") + static int[][][] instanceChunkTemplates; + @ObfuscatedName("gx") + static final int[] field724; + @ObfuscatedName("gh") + @ObfuscatedGetter( + intValue = 189676939 + ) + static int field808; + @ObfuscatedName("gg") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("headIconPkSprites") + static SpritePixels[] headIconPkSprites; + @ObfuscatedName("hf") + @ObfuscatedGetter( + intValue = -64215021 + ) + static int field727; + @ObfuscatedName("hc") + @ObfuscatedGetter( + intValue = -37136637 + ) + static int field777; + @ObfuscatedName("hg") + @ObfuscatedGetter( + intValue = -466609539 + ) + static int field729; + @ObfuscatedName("hp") + @ObfuscatedGetter( + intValue = -468186107 + ) + static int field730; + @ObfuscatedName("hh") + static boolean field731; + @ObfuscatedName("ht") + @ObfuscatedGetter( + intValue = 1576514889 + ) + @Export("alternativeScrollbarWidth") + static int alternativeScrollbarWidth; + @ObfuscatedName("hx") + @ObfuscatedGetter( + intValue = -795362289 + ) + @Export("camAngleX") + static int camAngleX; + @ObfuscatedName("hw") + @ObfuscatedGetter( + intValue = -1632840885 + ) + @Export("camAngleY") + static int camAngleY; + @ObfuscatedName("hl") + @ObfuscatedGetter( + intValue = -1844659849 + ) + @Export("camAngleDY") + static int camAngleDY; + @ObfuscatedName("hy") + @ObfuscatedGetter( + intValue = -1777101035 + ) + @Export("camAngleDX") + static int camAngleDX; + @ObfuscatedName("hk") + @ObfuscatedGetter( + intValue = 1769284115 + ) + @Export("mouseCamClickedX") + static int mouseCamClickedX; + @ObfuscatedName("hi") + @ObfuscatedGetter( + intValue = 371434131 + ) + @Export("mouseCamClickedY") + static int mouseCamClickedY; + @ObfuscatedName("iq") + @ObfuscatedGetter( + intValue = -1483884331 + ) + @Export("oculusOrbState") + static int oculusOrbState; + @ObfuscatedName("ir") + @ObfuscatedGetter( + intValue = -132229373 + ) + @Export("camFollowHeight") + static int camFollowHeight; + @ObfuscatedName("iu") + @ObfuscatedGetter( + intValue = -1057458103 + ) + static int field818; + @ObfuscatedName("im") + @ObfuscatedGetter( + intValue = 1233966987 + ) + static int field742; + @ObfuscatedName("ik") + @ObfuscatedGetter( + intValue = -244545381 + ) + static int field743; + @ObfuscatedName("ig") + @ObfuscatedGetter( + intValue = -1600677315 + ) + @Export("oculusOrbNormalSpeed") + static int oculusOrbNormalSpeed; + @ObfuscatedName("if") + @ObfuscatedGetter( + intValue = 537367085 + ) + @Export("oculusOrbSlowedSpeed") + static int oculusOrbSlowedSpeed; + @ObfuscatedName("iy") + @ObfuscatedGetter( + intValue = 549063475 + ) + public static int field746; + @ObfuscatedName("ii") + static boolean field747; + @ObfuscatedName("io") + @ObfuscatedGetter( + intValue = -1997671203 + ) + static int field926; + @ObfuscatedName("ie") + static boolean field678; + @ObfuscatedName("ij") + @ObfuscatedGetter( + intValue = 1851941979 + ) + static int field880; + @ObfuscatedName("il") + @ObfuscatedGetter( + intValue = -1008480153 + ) + @Export("overheadTextCount") + static int overheadTextCount; + @ObfuscatedName("ic") + @ObfuscatedGetter( + intValue = 1307283333 + ) + @Export("overheadTextLimit") + static int overheadTextLimit; + @ObfuscatedName("ia") + @Export("overheadTextXs") + static int[] overheadTextXs; + @ObfuscatedName("is") + @Export("overheadTextYs") + static int[] overheadTextYs; + @ObfuscatedName("iw") + @Export("overheadTextAscents") + static int[] overheadTextAscents; + @ObfuscatedName("it") + @Export("selectedItemName") + static String selectedItemName; + @ObfuscatedName("in") + @Export("overheadTextXOffsets") + static int[] overheadTextXOffsets; + @ObfuscatedName("ih") + @Export("overheadTextColors") + static int[] overheadTextColors; + @ObfuscatedName("jl") + @Export("overheadTextEffects") + static int[] overheadTextEffects; + @ObfuscatedName("jp") + @Export("overheadTextCyclesRemaining") + static int[] overheadTextCyclesRemaining; + @ObfuscatedName("jx") + @Export("overheadText") + static String[] overheadText; + @ObfuscatedName("jz") + @Export("tileLastDrawnActor") + static int[][] tileLastDrawnActor; + @ObfuscatedName("jg") + @ObfuscatedGetter( + intValue = -1014580553 + ) + @Export("viewportDrawCount") + static int viewportDrawCount; + @ObfuscatedName("jj") + @ObfuscatedGetter( + intValue = 946594095 + ) + @Export("viewportTempX") + static int viewportTempX; + @ObfuscatedName("je") + @ObfuscatedGetter( + intValue = -1625567767 + ) + @Export("viewportTempY") + static int viewportTempY; + @ObfuscatedName("jy") + @ObfuscatedGetter( + intValue = -2133468865 + ) + @Export("mouseCrossX") + static int mouseCrossX; + @ObfuscatedName("jo") + @ObfuscatedGetter( + intValue = 950961469 + ) + @Export("mouseCrossY") + static int mouseCrossY; + @ObfuscatedName("js") + @ObfuscatedGetter( + intValue = -370445988 + ) + @Export("mouseCrossState") + static int mouseCrossState; + @ObfuscatedName("jd") + @ObfuscatedGetter( + intValue = 291298579 + ) + @Export("mouseCrossColor") + static int mouseCrossColor; + @ObfuscatedName("jv") + @Export("showMouseCross") + static boolean showMouseCross; + @ObfuscatedName("jw") + @ObfuscatedGetter( + intValue = 1260827455 + ) + static int field770; + @ObfuscatedName("ju") + @ObfuscatedGetter( + intValue = -939205371 + ) + static int field931; + @ObfuscatedName("jm") + @ObfuscatedGetter( + intValue = -925019431 + ) + @Export("dragItemSlotSource") + static int dragItemSlotSource; + @ObfuscatedName("jt") + @ObfuscatedGetter( + intValue = -1325030875 + ) + @Export("draggedWidgetX") + static int draggedWidgetX; + @ObfuscatedName("jk") + @ObfuscatedGetter( + intValue = 1709049139 + ) + @Export("draggedWidgetY") + static int draggedWidgetY; + @ObfuscatedName("jc") + @ObfuscatedGetter( + intValue = 971800427 + ) + @Export("dragItemSlotDestination") + static int dragItemSlotDestination; + @ObfuscatedName("jq") + static boolean field776; + @ObfuscatedName("jr") + @ObfuscatedGetter( + intValue = 1248603435 + ) + @Export("itemDragDuration") + static int itemDragDuration; + @ObfuscatedName("jb") + @ObfuscatedGetter( + intValue = 1309202573 + ) + static int field778; + @ObfuscatedName("jh") + @Export("showLoadingMessages") + static boolean showLoadingMessages; + @ObfuscatedName("ku") + @ObfuscatedSignature( + descriptor = "[Lbk;" + ) + @Export("players") + static Player[] players; + @ObfuscatedName("ky") + @ObfuscatedGetter( + intValue = -728300783 + ) + @Export("localPlayerIndex") + static int localPlayerIndex; + @ObfuscatedName("kg") + @ObfuscatedGetter( + intValue = -1425770135 + ) + static int field673; + @ObfuscatedName("km") + @Export("renderSelf") + static boolean renderSelf; + @ObfuscatedName("kw") + @ObfuscatedGetter( + intValue = -1928759915 + ) + @Export("drawPlayerNames") + static int drawPlayerNames; + @ObfuscatedName("kb") + @ObfuscatedGetter( + intValue = 2056872733 + ) + static int field851; + @ObfuscatedName("kf") + static int[] field845; + @ObfuscatedName("kz") + @Export("playerMenuOpcodes") + static final int[] playerMenuOpcodes; + @ObfuscatedName("kq") + @Export("playerMenuActions") + static String[] playerMenuActions; + @ObfuscatedName("ki") + @Export("playerOptionsPriorities") + static boolean[] playerOptionsPriorities; + @ObfuscatedName("kn") + @Export("defaultRotations") + static int[] defaultRotations; + @ObfuscatedName("kl") + @ObfuscatedGetter( + intValue = -904891653 + ) + @Export("combatTargetPlayerIndex") + static int combatTargetPlayerIndex; + @ObfuscatedName("ks") + @ObfuscatedSignature( + descriptor = "[[[Lji;" + ) + @Export("groundItems") + static NodeDeque[][][] groundItems; + @ObfuscatedName("kc") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("pendingSpawns") + static NodeDeque pendingSpawns; + @ObfuscatedName("kh") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("projectiles") + static NodeDeque projectiles; + @ObfuscatedName("kd") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("graphicsObjects") + static NodeDeque graphicsObjects; + @ObfuscatedName("kx") + @Export("currentLevels") + static int[] currentLevels; + @ObfuscatedName("kv") + @Export("levels") + static int[] levels; + @ObfuscatedName("lk") + @Export("experience") + static int[] experience; + @ObfuscatedName("lx") + @ObfuscatedGetter( + intValue = -1636059503 + ) + @Export("leftClickOpensMenu") + static int leftClickOpensMenu; + @ObfuscatedName("lh") + @Export("isMenuOpen") + static boolean isMenuOpen; + @ObfuscatedName("ld") + @ObfuscatedGetter( + intValue = -1929557275 + ) + @Export("menuOptionsCount") + static int menuOptionsCount; + @ObfuscatedName("lw") + @Export("menuArguments1") + static int[] menuArguments1; + @ObfuscatedName("lv") + @Export("menuArguments2") + static int[] menuArguments2; + @ObfuscatedName("ln") + @Export("menuOpcodes") + static int[] menuOpcodes; + @ObfuscatedName("la") + @Export("menuIdentifiers") + static int[] menuIdentifiers; + @ObfuscatedName("lr") + @Export("menuActions") + static String[] menuActions; + @ObfuscatedName("lg") + @Export("menuTargets") + static String[] menuTargets; + @ObfuscatedName("lj") + @Export("menuShiftClick") + static boolean[] menuShiftClick; + @ObfuscatedName("lq") + @Export("followerOpsLowPriority") + static boolean followerOpsLowPriority; + @ObfuscatedName("lb") + @Export("shiftClickDrop") + static boolean shiftClickDrop; + @ObfuscatedName("lo") + @Export("tapToDrop") + static boolean tapToDrop; + @ObfuscatedName("lc") + @Export("showMouseOverText") + static boolean showMouseOverText; + @ObfuscatedName("lp") + @ObfuscatedGetter( + intValue = -2061703801 + ) + @Export("viewportX") + static int viewportX; + @ObfuscatedName("ly") + @ObfuscatedGetter( + intValue = 505475035 + ) + @Export("viewportY") + static int viewportY; + @ObfuscatedName("mw") + @ObfuscatedGetter( + intValue = 1736446689 + ) + static int field815; + @ObfuscatedName("mi") + @ObfuscatedGetter( + intValue = 244031685 + ) + static int field925; + @ObfuscatedName("md") + @ObfuscatedGetter( + intValue = -155496829 + ) + @Export("isItemSelected") + static int isItemSelected; + @ObfuscatedName("mj") + @Export("isSpellSelected") + static boolean isSpellSelected; + @ObfuscatedName("mg") + @ObfuscatedGetter( + intValue = 1221280359 + ) + @Export("selectedSpellChildIndex") + static int selectedSpellChildIndex; + @ObfuscatedName("ma") + @ObfuscatedGetter( + intValue = -1666449457 + ) + static int field821; + @ObfuscatedName("mk") + @Export("selectedSpellActionName") + static String selectedSpellActionName; + @ObfuscatedName("ml") + @Export("selectedSpellName") + static String selectedSpellName; + @ObfuscatedName("mp") + @ObfuscatedGetter( + intValue = -803137889 + ) + @Export("rootInterface") + static int rootInterface; + @ObfuscatedName("mu") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("interfaceParents") + static NodeHashTable interfaceParents; + @ObfuscatedName("ez") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + Buffer field702; + @ObfuscatedName("fi") + @ObfuscatedSignature( + descriptor = "Ll;" + ) + class9 field782; + + static { + playerAttackOption = AttackOption.AttackOption_hidden; + npcAttackOption = AttackOption.AttackOption_hidden; + titleLoadingStage = 0; + js5ConnectState = 0; + field761 = 0; + js5Errors = 0; + loginState = 0; + field696 = 0; + field786 = 0; + field701 = 0; + field661 = class169.field2012; + Login_isUsernameRemembered = false; + secureRandomFuture = new SecureRandomFuture(); + randomDatData = null; + npcs = new NPC['耀']; + npcCount = 0; + npcIndices = new int['耀']; + field725 = 0; + field697 = new int[250]; + packetWriter = new PacketWriter(); + logoutTimer = 0; + field712 = false; + useBufferedSocket = true; + timer = new Timer(); + fontsMap = new HashMap(); + field785 = 0; + field717 = 1; + field718 = 0; + field719 = 1; + field720 = 0; + collisionMaps = new CollisionMap[4]; + isInInstance = false; + instanceChunkTemplates = new int[4][13][13]; + field724 = new int[]{0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3}; + field808 = 0; + field727 = 2301979; + field777 = 5063219; + field729 = 3353893; + field730 = 7759444; + field731 = false; + alternativeScrollbarWidth = 0; + camAngleX = 128; + camAngleY = 0; + camAngleDY = 0; + camAngleDX = 0; + mouseCamClickedX = 0; + mouseCamClickedY = 0; + oculusOrbState = 0; + camFollowHeight = 50; + field818 = 0; + field742 = 0; + field743 = 0; + oculusOrbNormalSpeed = 12; + oculusOrbSlowedSpeed = 6; + field746 = 0; + field747 = false; + field926 = 0; + field678 = false; + field880 = 0; + overheadTextCount = 0; + overheadTextLimit = 50; + overheadTextXs = new int[overheadTextLimit]; + overheadTextYs = new int[overheadTextLimit]; + overheadTextAscents = new int[overheadTextLimit]; + overheadTextXOffsets = new int[overheadTextLimit]; + overheadTextColors = new int[overheadTextLimit]; + overheadTextEffects = new int[overheadTextLimit]; + overheadTextCyclesRemaining = new int[overheadTextLimit]; + overheadText = new String[overheadTextLimit]; + tileLastDrawnActor = new int[104][104]; + viewportDrawCount = 0; + viewportTempX = -1; + viewportTempY = -1; + mouseCrossX = 0; + mouseCrossY = 0; + mouseCrossState = 0; + mouseCrossColor = 0; + showMouseCross = true; + field770 = 0; + field931 = 0; + dragItemSlotSource = 0; + draggedWidgetX = 0; + draggedWidgetY = 0; + dragItemSlotDestination = 0; + field776 = false; + itemDragDuration = 0; + field778 = 0; + showLoadingMessages = true; + players = new Player[2048]; + localPlayerIndex = -1; + field673 = 0; + renderSelf = true; + drawPlayerNames = 0; + field851 = 0; + field845 = new int[1000]; + playerMenuOpcodes = new int[]{44, 45, 46, 47, 48, 49, 50, 51}; + playerMenuActions = new String[8]; + playerOptionsPriorities = new boolean[8]; + defaultRotations = new int[]{768, 1024, 1280, 512, 1536, 256, 0, 1792}; + combatTargetPlayerIndex = -1; + groundItems = new NodeDeque[4][104][104]; + pendingSpawns = new NodeDeque(); + projectiles = new NodeDeque(); + graphicsObjects = new NodeDeque(); + currentLevels = new int[25]; + levels = new int[25]; + experience = new int[25]; + leftClickOpensMenu = 0; + isMenuOpen = false; + menuOptionsCount = 0; + menuArguments1 = new int[500]; + menuArguments2 = new int[500]; + menuOpcodes = new int[500]; + menuIdentifiers = new int[500]; + menuActions = new String[500]; + menuTargets = new String[500]; + menuShiftClick = new boolean[500]; + followerOpsLowPriority = false; + shiftClickDrop = false; + tapToDrop = false; + showMouseOverText = true; + viewportX = -1; + viewportY = -1; + field815 = 0; + field925 = 50; + isItemSelected = 0; + selectedItemName = null; + isSpellSelected = false; + selectedSpellChildIndex = -1; + field821 = -1; + selectedSpellActionName = null; + selectedSpellName = null; + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + field705 = 0; + field699 = -1; + chatEffects = 0; + field829 = 0; + meslayerContinueWidget = null; + runEnergy = 0; + weight = 0; + staffModLevel = 0; + followerIndex = -1; + playerMod = false; + viewportWidget = null; + clickedWidget = null; + clickedWidgetParent = null; + widgetClickX = 0; + widgetClickY = 0; + draggedOnWidget = null; + field912 = false; + field714 = -1; + field844 = -1; + field754 = false; + field784 = -1; + field847 = -1; + isDraggingWidget = false; + cycleCntr = 1; + changedVarps = new int[32]; + changedVarpCount = 0; + changedItemContainers = new int[32]; + field870 = 0; + changedSkills = new int[32]; + changedSkillsCount = 0; + chatCycle = 0; + field857 = 0; + field858 = 0; + field710 = 0; + field860 = 0; + field861 = 0; + mouseWheelRotation = 0; + scriptEvents = new NodeDeque(); + field660 = new NodeDeque(); + field865 = new NodeDeque(); + widgetFlags = new NodeHashTable(512); + rootWidgetCount = 0; + field868 = -2; + field816 = new boolean[100]; + field827 = new boolean[100]; + field871 = new boolean[100]; + rootWidgetXs = new int[100]; + rootWidgetYs = new int[100]; + rootWidgetWidths = new int[100]; + rootWidgetHeights = new int[100]; + gameDrawingMode = 0; + field938 = 0L; + isResizable = true; + field879 = new int[]{16776960, 16711680, 65280, 65535, 16711935, 16777215}; + publicChatMode = 0; + tradeChatMode = 0; + field882 = ""; + field883 = new long[100]; + field884 = 0; + field885 = 0; + field886 = new int[128]; + field738 = new int[128]; + field888 = -1L; + field889 = -1; + mapIconCount = 0; + mapIconXs = new int[1000]; + mapIconYs = new int[1000]; + mapIcons = new SpritePixels[1000]; + destinationX = 0; + destinationY = 0; + minimapState = 0; + currentTrackGroupId = -1; + field899 = false; + soundEffectCount = 0; + soundEffectIds = new int[50]; + queuedSoundEffectLoops = new int[50]; + queuedSoundEffectDelays = new int[50]; + soundLocations = new int[50]; + soundEffects = new SoundEffect[50]; + isCameraLocked = false; + field907 = new boolean[5]; + field908 = new int[5]; + field909 = new int[5]; + field799 = new int[5]; + field911 = new int[5]; + field779 = 256; + field913 = 205; + zoomHeight = 256; + zoomWidth = 320; + field916 = 1; + field690 = 32767; + field918 = 1; + field846 = 32767; + viewportOffsetX = 0; + viewportOffsetY = 0; + viewportWidth = 0; + viewportHeight = 0; + viewportZoom = 0; + playerComposition = new PlayerComposition(); + field850 = -1; + field927 = -1; + platformInfoProvider = new DesktopPlatformInfoProvider(); + grandExchangeOffers = new GrandExchangeOffer[8]; + GrandExchangeEvents_worldComparator = new GrandExchangeOfferOwnWorldComparator(); + field674 = -1; + archiveLoaders = new ArrayList(10); + archiveLoadersDone = 0; + field934 = 0; + field935 = new ApproximateRouteStrategy(); + field708 = new int[50]; + field859 = new int[50]; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-226650241" + ) + @Export("resizeGame") + protected final void resizeGame() { + field938 = Tiles.currentTimeMillis() + 500L; + this.resizeJS(); + if (rootInterface != -1) { + this.resizeRoot(true); + } + + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-337269105" + ) + @Export("setUp") + protected final void setUp() { + Strings.method4329(new int[]{20, 260, 10000}, new int[]{1000, 100, 500}); + MouseRecorder.port1 = gameBuild == 0 ? 'ꩊ' : worldId + '鱀'; + class171.port2 = gameBuild == 0 ? 443 : worldId + '썐'; + DynamicObject.port3 = MouseRecorder.port1; + PlayerComposition.field2565 = class224.field2577; + class105.field1339 = class224.field2573; + HealthBar.field1143 = class224.field2575; + WorldMapSprite.field259 = class224.field2574; + ScriptFrame.urlRequester = new UrlRequester(); + this.setUpKeyboard(); + this.setUpMouse(); + PlayerType.mouseWheel = this.mouseWheel(); + WorldMapScaleHandler.masterDisk = new ArchiveDisk(255, JagexCache.JagexCache_dat2File, JagexCache.JagexCache_idx255File, 500000); + AccessFile var2 = null; + ClientPreferences var3 = new ClientPreferences(); + + try { + var2 = WorldMapRectangle.getPreferencesFile("", FontName.field3699.name, false); + byte[] var4 = new byte[(int)var2.length()]; + + int var6; + for(int var5 = 0; var5 < var4.length; var5 += var6) { + var6 = var2.read(var4, var5, var4.length - var5); + if (var6 == -1) { + throw new IOException(); + } + } + + var3 = new ClientPreferences(new Buffer(var4)); + } catch (Exception var8) { + ; + } + + try { + if (var2 != null) { + var2.close(); + } + } catch (Exception var7) { + ; + } + + WorldMapSectionType.clientPreferences = var3; + this.setUpClipboard(); + KeyHandler.method912(this, WorldMapData_1.null_string); + if (gameBuild != 0) { + displayFps = true; + } + + GameBuild.setWindowedMode(WorldMapSectionType.clientPreferences.windowMode); + InterfaceParent.friendSystem = new FriendSystem(Message.loginType); + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-123" + ) + @Export("doCycle") + protected final void doCycle() { + ++cycle; + this.doCycleJs5(); + + while(true) { + NodeDeque var2 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + ArchiveDiskAction var1; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + var1 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast(); + } + + if (var1 == null) { + LoginPacket.method3815(); + UserComparator5.playPcmPlayers(); + KeyHandler var9 = KeyHandler.KeyHandler_instance; + synchronized(KeyHandler.KeyHandler_instance) { + ++KeyHandler.KeyHandler_idleCycles; + KeyHandler.field418 = KeyHandler.field424; + KeyHandler.field421 = 0; + int var5; + if (KeyHandler.field417 >= 0) { + while(KeyHandler.field417 != KeyHandler.field416) { + var5 = KeyHandler.field407[KeyHandler.field416]; + KeyHandler.field416 = KeyHandler.field416 + 1 & 127; + if (var5 < 0) { + KeyHandler.KeyHandler_pressedKeys[~var5] = false; + } else { + if (!KeyHandler.KeyHandler_pressedKeys[var5] && KeyHandler.field421 < KeyHandler.field420.length - 1) { + KeyHandler.field420[++KeyHandler.field421 - 1] = var5; + } + + KeyHandler.KeyHandler_pressedKeys[var5] = true; + } + } + } else { + for(var5 = 0; var5 < 112; ++var5) { + KeyHandler.KeyHandler_pressedKeys[var5] = false; + } + + KeyHandler.field417 = KeyHandler.field416; + } + + if (KeyHandler.field421 > 0) { + KeyHandler.KeyHandler_idleCycles = 0; + } + + KeyHandler.field424 = KeyHandler.field423; + } + + class60.method967(); + int var6; + if (PlayerType.mouseWheel != null) { + var6 = PlayerType.mouseWheel.useRotation(); + mouseWheelRotation = var6; + } + + if (gameState == 0) { + GameEngine.load(); + WorldMapSprite.clock.mark(); + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.graphicsTickTimes[var6] = 0L; + } + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.clientTickTimes[var6] = 0L; + } + + VertexNormal.gameCyclesToDo = 0; + } else if (gameState == 5) { + class9.doCycleTitle(this); + GameEngine.load(); + WorldMapSprite.clock.mark(); + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.graphicsTickTimes[var6] = 0L; + } + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.clientTickTimes[var6] = 0L; + } + + VertexNormal.gameCyclesToDo = 0; + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + class9.doCycleTitle(this); + this.doCycleLoggedOut(); + } else if (gameState == 25) { + WorldMapIcon_1.method375(); + } + } else { + class9.doCycleTitle(this); + } + + if (gameState == 30) { + this.doCycleLoggedIn(); + } else if (gameState == 40 || gameState == 45) { + this.doCycleLoggedOut(); + } + + return; + } + + var1.archive.load(var1.archiveDisk, (int)var1.key, var1.data, false); + } + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-1888023388" + ) + @Export("draw") + protected final void draw(boolean var1) { + boolean var2; + label173: { + try { + if (class206.musicPlayerStatus == 2) { + if (class204.musicTrack == null) { + class204.musicTrack = MusicTrack.readTrack(class206.musicTrackArchive, class206.musicTrackGroupId, SoundSystem.musicTrackFileId); + if (class204.musicTrack == null) { + var2 = false; + break label173; + } + } + + if (class182.soundCache == null) { + class182.soundCache = new SoundCache(class206.soundEffectsArchive, class206.musicSamplesArchive); + } + + if (VertexNormal.midiPcmStream.loadMusicTrack(class204.musicTrack, class206.musicPatchesArchive, class182.soundCache, 22050)) { + VertexNormal.midiPcmStream.clearAll(); + VertexNormal.midiPcmStream.setPcmStreamVolume(DevicePcmPlayerProvider.musicTrackVolume); + VertexNormal.midiPcmStream.setMusicTrack(class204.musicTrack, class206.musicTrackBoolean); + class206.musicPlayerStatus = 0; + class204.musicTrack = null; + class182.soundCache = null; + class206.musicTrackArchive = null; + var2 = true; + break label173; + } + } + } catch (Exception var6) { + var6.printStackTrace(); + VertexNormal.midiPcmStream.clear(); + class206.musicPlayerStatus = 0; + class204.musicTrack = null; + class182.soundCache = null; + class206.musicTrackArchive = null; + } + + var2 = false; + } + + if (var2 && field899 && class197.pcmPlayer0 != null) { + class197.pcmPlayer0.tryDiscard(); + } + + if ((gameState == 10 || gameState == 20 || gameState == 30) && 0L != field938 && Tiles.currentTimeMillis() > field938) { + GameBuild.setWindowedMode(BoundaryObject.getWindowedMode()); + } + + int var4; + if (var1) { + for(var4 = 0; var4 < 100; ++var4) { + field816[var4] = true; + } + } + + if (gameState == 0) { + this.drawInitial(Login.Login_loadingPercent, Login.Login_loadingText, var1); + } else if (gameState == 5) { + MilliClock.drawTitle(ScriptEvent.fontBold12, SecureRandomCallable.fontPlain11, Login.fontPlain12); + } else if (gameState != 10 && gameState != 11) { + if (gameState == 20) { + MilliClock.drawTitle(ScriptEvent.fontBold12, SecureRandomCallable.fontPlain11, Login.fontPlain12); + } else if (gameState == 25) { + if (field720 == 1) { + if (field785 > field717) { + field717 = field785; + } + + var4 = (field717 * 50 - field785 * 50) / field717; + WorldMapIcon_1.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else if (field720 == 2) { + if (field718 > field719) { + field719 = field718; + } + + var4 = (field719 * 50 - field718 * 50) / field719 + 50; + WorldMapIcon_1.drawLoadingMessage("Loading - please wait." + "
" + " (" + var4 + "%" + ")", false); + } else { + WorldMapIcon_1.drawLoadingMessage("Loading - please wait.", false); + } + } else if (gameState == 30) { + this.drawLoggedIn(); + } else if (gameState == 40) { + WorldMapIcon_1.drawLoadingMessage("Connection lost" + "
" + "Please wait - attempting to reestablish", false); + } else if (gameState == 45) { + WorldMapIcon_1.drawLoadingMessage("Please wait...", false); + } + } else { + MilliClock.drawTitle(ScriptEvent.fontBold12, SecureRandomCallable.fontPlain11, Login.fontPlain12); + } + + if (gameState == 30 && gameDrawingMode == 0 && !var1 && !isResizable) { + for(var4 = 0; var4 < rootWidgetCount; ++var4) { + if (field827[var4]) { + FileSystem.rasterProvider.draw(rootWidgetXs[var4], rootWidgetYs[var4], rootWidgetWidths[var4], rootWidgetHeights[var4]); + field827[var4] = false; + } + } + } else if (gameState > 0) { + FileSystem.rasterProvider.drawFull(0, 0); + + for(var4 = 0; var4 < rootWidgetCount; ++var4) { + field827[var4] = false; + } + } + + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1925350941" + ) + @Export("kill0") + protected final void kill0() { + if (GrandExchangeOffer.varcs.hasUnwrittenChanges()) { + GrandExchangeOffer.varcs.write(); + } + + if (Friend.mouseRecorder != null) { + Friend.mouseRecorder.isRunning = false; + } + + Friend.mouseRecorder = null; + packetWriter.close(); + if (KeyHandler.KeyHandler_instance != null) { + KeyHandler var1 = KeyHandler.KeyHandler_instance; + synchronized(KeyHandler.KeyHandler_instance) { + KeyHandler.KeyHandler_instance = null; + } + } + + if (MouseHandler.MouseHandler_instance != null) { + MouseHandler var9 = MouseHandler.MouseHandler_instance; + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_instance = null; + } + } + + PlayerType.mouseWheel = null; + if (class197.pcmPlayer0 != null) { + class197.pcmPlayer0.shutdown(); + } + + if (WorldMapDecorationType.pcmPlayer1 != null) { + WorldMapDecorationType.pcmPlayer1.shutdown(); + } + + WorldMapAreaData.method782(); + Object var10 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3187 != 0) { + ArchiveDiskActionHandler.field3187 = 1; + + try { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock.wait(); + } catch (InterruptedException var5) { + ; + } + } + } + + if (ScriptFrame.urlRequester != null) { + ScriptFrame.urlRequester.close(); + ScriptFrame.urlRequester = null; + } + + WorldMapSection2.method387(); + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "103" + ) + protected final void vmethod1423() { + } + + public final void init() { + try { + if (this.checkHost()) { + for(int var1 = 0; var1 <= 20; ++var1) { + String var2 = this.getParameter(Integer.toString(var1)); + if (var2 != null) { + switch(var1) { + case 1: + useBufferedSocket = Integer.parseInt(var2) != 0; + case 2: + case 11: + case 13: + case 16: + default: + break; + case 3: + if (var2.equalsIgnoreCase("true")) { + isMembersWorld = true; + } else { + isMembersWorld = false; + } + break; + case 4: + if (clientType == -1) { + clientType = Integer.parseInt(var2); + } + break; + case 5: + worldProperties = Integer.parseInt(var2); + break; + case 6: + NPCComposition.clientLanguage = Language.method3854(Integer.parseInt(var2)); + break; + case 7: + int var4 = Integer.parseInt(var2); + GameBuild[] var5 = class1.method16(); + int var6 = 0; + + GameBuild var3; + while(true) { + if (var6 >= var5.length) { + var3 = null; + break; + } + + GameBuild var7 = var5[var6]; + if (var4 == var7.buildId) { + var3 = var7; + break; + } + + ++var6; + } + + Skills.field2774 = var3; + break; + case 8: + if (var2.equalsIgnoreCase("true")) { + ; + } + break; + case 9: + AccessFile.field4100 = var2; + break; + case 10: + FontName.field3699 = (StudioGame)InterfaceParent.findEnumerated(DesktopPlatformInfoProvider.method6478(), Integer.parseInt(var2)); + if (FontName.field3699 == StudioGame.oldscape) { + Message.loginType = LoginType.oldscape; + } else { + Message.loginType = LoginType.field4072; + } + break; + case 12: + worldId = Integer.parseInt(var2); + break; + case 14: + ItemLayer.field1562 = Integer.parseInt(var2); + break; + case 15: + gameBuild = Integer.parseInt(var2); + break; + case 17: + Projectile.field1254 = var2; + } + } + } + + Scene.Scene_isLowDetail = false; + isLowDetail = false; + MusicPatchNode.worldHost = this.getCodeBase().getHost(); + String var8 = Skills.field2774.name; + byte var9 = 0; + + try { + Projectile.method2255("oldschool", var8, var9, 21); + } catch (Exception var10) { + SequenceDefinition.RunException_sendStackTrace((String)null, var10); + } + + class1.client = this; + class217.clientType = clientType; + if (field667 == -1) { + field667 = 0; + } + + this.startThread(765, 503, 194); + } + } catch (RuntimeException var11) { + throw class298.newRunException(var11, "client.init(" + ')'); + } + } + + @ObfuscatedName("ej") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + @Export("doCycleJs5") + void doCycleJs5() { + if (gameState != 1000) { + long var2 = Tiles.currentTimeMillis(); + int var4 = (int)(var2 - NetCache.field3222); + NetCache.field3222 = var2; + if (var4 > 200) { + var4 = 200; + } + + NetCache.NetCache_loadTime += var4; + boolean var1; + if (NetCache.NetCache_pendingResponsesCount == 0 && NetCache.NetCache_pendingPriorityResponsesCount == 0 && NetCache.NetCache_pendingWritesCount == 0 && NetCache.NetCache_pendingPriorityWritesCount == 0) { + var1 = true; + } else if (class297.NetCache_socket == null) { + var1 = false; + } else { + try { + label243: { + if (NetCache.NetCache_loadTime > 30000) { + throw new IOException(); + } + + NetFileRequest var5; + Buffer var6; + while(NetCache.NetCache_pendingPriorityResponsesCount < 200 && NetCache.NetCache_pendingPriorityWritesCount > 0) { + var5 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.first(); + var6 = new Buffer(4); + var6.writeByte(1); + var6.writeMedium((int)var5.key); + class297.NetCache_socket.write(var6.array, 0, 4); + NetCache.NetCache_pendingPriorityResponses.put(var5, var5.key); + --NetCache.NetCache_pendingPriorityWritesCount; + ++NetCache.NetCache_pendingPriorityResponsesCount; + } + + while(NetCache.NetCache_pendingResponsesCount < 200 && NetCache.NetCache_pendingWritesCount > 0) { + var5 = (NetFileRequest)NetCache.NetCache_pendingWritesQueue.removeLast(); + var6 = new Buffer(4); + var6.writeByte(0); + var6.writeMedium((int)var5.key); + class297.NetCache_socket.write(var6.array, 0, 4); + var5.removeDual(); + NetCache.NetCache_pendingResponses.put(var5, var5.key); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingResponsesCount; + } + + for(int var17 = 0; var17 < 100; ++var17) { + int var18 = class297.NetCache_socket.available(); + if (var18 < 0) { + throw new IOException(); + } + + if (var18 == 0) { + break; + } + + NetCache.NetCache_loadTime = 0; + byte var7 = 0; + if (SecureRandomCallable.NetCache_currentResponse == null) { + var7 = 8; + } else if (NetCache.field3219 == 0) { + var7 = 1; + } + + int var8; + int var9; + int var10; + int var12; + if (var7 > 0) { + var8 = var7 - NetCache.NetCache_responseHeaderBuffer.offset; + if (var8 > var18) { + var8 = var18; + } + + class297.NetCache_socket.read(NetCache.NetCache_responseHeaderBuffer.array, NetCache.NetCache_responseHeaderBuffer.offset, var8); + if (NetCache.field3213 != 0) { + for(var9 = 0; var9 < var8; ++var9) { + NetCache.NetCache_responseHeaderBuffer.array[var9 + NetCache.NetCache_responseHeaderBuffer.offset] ^= NetCache.field3213; + } + } + + NetCache.NetCache_responseHeaderBuffer.offset += var8; + if (NetCache.NetCache_responseHeaderBuffer.offset < var7) { + break; + } + + if (SecureRandomCallable.NetCache_currentResponse == null) { + NetCache.NetCache_responseHeaderBuffer.offset = 0; + var9 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var10 = NetCache.NetCache_responseHeaderBuffer.readUnsignedShort(); + int var11 = NetCache.NetCache_responseHeaderBuffer.readUnsignedByte(); + var12 = NetCache.NetCache_responseHeaderBuffer.readInt(); + long var13 = (long)(var10 + (var9 << 16)); + NetFileRequest var15 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var13); + PlayerType.field3137 = true; + if (var15 == null) { + var15 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var13); + PlayerType.field3137 = false; + } + + if (var15 == null) { + throw new IOException(); + } + + int var16 = var11 == 0 ? 5 : 9; + SecureRandomCallable.NetCache_currentResponse = var15; + NetCache.NetCache_responseArchiveBuffer = new Buffer(var16 + var12 + SecureRandomCallable.NetCache_currentResponse.padding); + NetCache.NetCache_responseArchiveBuffer.writeByte(var11); + NetCache.NetCache_responseArchiveBuffer.writeInt(var12); + NetCache.field3219 = 8; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else if (NetCache.field3219 == 0) { + if (NetCache.NetCache_responseHeaderBuffer.array[0] == -1) { + NetCache.field3219 = 1; + NetCache.NetCache_responseHeaderBuffer.offset = 0; + } else { + SecureRandomCallable.NetCache_currentResponse = null; + } + } + } else { + var8 = NetCache.NetCache_responseArchiveBuffer.array.length - SecureRandomCallable.NetCache_currentResponse.padding; + var9 = 512 - NetCache.field3219; + if (var9 > var8 - NetCache.NetCache_responseArchiveBuffer.offset) { + var9 = var8 - NetCache.NetCache_responseArchiveBuffer.offset; + } + + if (var9 > var18) { + var9 = var18; + } + + class297.NetCache_socket.read(NetCache.NetCache_responseArchiveBuffer.array, NetCache.NetCache_responseArchiveBuffer.offset, var9); + if (NetCache.field3213 != 0) { + for(var10 = 0; var10 < var9; ++var10) { + NetCache.NetCache_responseArchiveBuffer.array[NetCache.NetCache_responseArchiveBuffer.offset + var10] ^= NetCache.field3213; + } + } + + NetCache.NetCache_responseArchiveBuffer.offset += var9; + NetCache.field3219 += var9; + if (var8 == NetCache.NetCache_responseArchiveBuffer.offset) { + if (SecureRandomCallable.NetCache_currentResponse.key == 16711935L) { + SoundSystem.NetCache_reference = NetCache.NetCache_responseArchiveBuffer; + + for(var10 = 0; var10 < 256; ++var10) { + Archive var19 = NetCache.NetCache_archives[var10]; + if (var19 != null) { + SoundSystem.NetCache_reference.offset = var10 * 8 + 5; + var12 = SoundSystem.NetCache_reference.readInt(); + int var20 = SoundSystem.NetCache_reference.readInt(); + var19.loadIndex(var12, var20); + } + } + } else { + NetCache.NetCache_crc.reset(); + NetCache.NetCache_crc.update(NetCache.NetCache_responseArchiveBuffer.array, 0, var8); + var10 = (int)NetCache.NetCache_crc.getValue(); + if (var10 != SecureRandomCallable.NetCache_currentResponse.crc) { + try { + class297.NetCache_socket.close(); + } catch (Exception var23) { + ; + } + + ++NetCache.NetCache_crcMismatches; + class297.NetCache_socket = null; + NetCache.field3213 = (byte)((int)(Math.random() * 255.0D + 1.0D)); + var1 = false; + break label243; + } + + NetCache.NetCache_crcMismatches = 0; + NetCache.NetCache_ioExceptions = 0; + SecureRandomCallable.NetCache_currentResponse.archive.write((int)(SecureRandomCallable.NetCache_currentResponse.key & 65535L), NetCache.NetCache_responseArchiveBuffer.array, 16711680L == (SecureRandomCallable.NetCache_currentResponse.key & 16711680L), PlayerType.field3137); + } + + SecureRandomCallable.NetCache_currentResponse.remove(); + if (PlayerType.field3137) { + --NetCache.NetCache_pendingPriorityResponsesCount; + } else { + --NetCache.NetCache_pendingResponsesCount; + } + + NetCache.field3219 = 0; + SecureRandomCallable.NetCache_currentResponse = null; + NetCache.NetCache_responseArchiveBuffer = null; + } else { + if (NetCache.field3219 != 512) { + break; + } + + NetCache.field3219 = 0; + } + } + } + + var1 = true; + } + } catch (IOException var24) { + try { + class297.NetCache_socket.close(); + } catch (Exception var22) { + ; + } + + ++NetCache.NetCache_ioExceptions; + class297.NetCache_socket = null; + var1 = false; + } + } + + if (!var1) { + this.doCycleJs5Connect(); + } + + } + } + + @ObfuscatedName("ed") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1394260996" + ) + @Export("doCycleJs5Connect") + void doCycleJs5Connect() { + 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; + } + + field761 = 3000; + NetCache.NetCache_ioExceptions = 3; + } + + if (--field761 + 1 <= 0) { + try { + if (js5ConnectState == 0) { + TaskHandler.js5SocketTask = GameEngine.taskHandler.newSocketTask(MusicPatchNode.worldHost, DynamicObject.port3); + ++js5ConnectState; + } + + if (js5ConnectState == 1) { + if (TaskHandler.js5SocketTask.status == 2) { + this.js5Error(-1); + return; + } + + if (TaskHandler.js5SocketTask.status == 1) { + ++js5ConnectState; + } + } + + if (js5ConnectState == 2) { + if (useBufferedSocket) { + WorldMapArea.js5Socket = method1841((Socket)TaskHandler.js5SocketTask.result, 40000, 5000); + } else { + WorldMapArea.js5Socket = new NetSocket((Socket)TaskHandler.js5SocketTask.result, GameEngine.taskHandler, 5000); + } + + Buffer var1 = new Buffer(5); + var1.writeByte(15); + var1.writeInt(194); + WorldMapArea.js5Socket.write(var1.array, 0, 5); + ++js5ConnectState; + World.field1036 = Tiles.currentTimeMillis(); + } + + if (js5ConnectState == 3) { + if (WorldMapArea.js5Socket.available() > 0 || !useBufferedSocket && gameState <= 5) { + int var5 = WorldMapArea.js5Socket.readUnsignedByte(); + if (var5 != 0) { + this.js5Error(var5); + return; + } + + ++js5ConnectState; + } else if (Tiles.currentTimeMillis() - World.field1036 > 30000L) { + this.js5Error(-2); + return; + } + } + + if (js5ConnectState == 4) { + AbstractSocket var10 = WorldMapArea.js5Socket; + boolean var2 = gameState > 20; + if (class297.NetCache_socket != null) { + try { + class297.NetCache_socket.close(); + } catch (Exception var8) { + ; + } + + class297.NetCache_socket = null; + } + + class297.NetCache_socket = var10; + Actor.method1867(var2); + NetCache.NetCache_responseHeaderBuffer.offset = 0; + SecureRandomCallable.NetCache_currentResponse = null; + NetCache.NetCache_responseArchiveBuffer = null; + NetCache.field3219 = 0; + + while(true) { + NetFileRequest var3 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.first(); + if (var3 == null) { + while(true) { + var3 = (NetFileRequest)NetCache.NetCache_pendingResponses.first(); + if (var3 == null) { + if (NetCache.field3213 != 0) { + try { + Buffer var11 = new Buffer(4); + var11.writeByte(4); + var11.writeByte(NetCache.field3213); + var11.writeShort(0); + class297.NetCache_socket.write(var11.array, 0, 4); + } catch (IOException var7) { + try { + class297.NetCache_socket.close(); + } catch (Exception var6) { + ; + } + + ++NetCache.NetCache_ioExceptions; + class297.NetCache_socket = null; + } + } + + NetCache.NetCache_loadTime = 0; + NetCache.field3222 = Tiles.currentTimeMillis(); + TaskHandler.js5SocketTask = null; + WorldMapArea.js5Socket = null; + js5ConnectState = 0; + js5Errors = 0; + return; + } + + NetCache.NetCache_pendingWritesQueue.addLast(var3); + NetCache.NetCache_pendingWrites.put(var3, var3.key); + ++NetCache.NetCache_pendingWritesCount; + --NetCache.NetCache_pendingResponsesCount; + } + } + + NetCache.NetCache_pendingPriorityWrites.put(var3, var3.key); + ++NetCache.NetCache_pendingPriorityWritesCount; + --NetCache.NetCache_pendingPriorityResponsesCount; + } + } + } catch (IOException var9) { + this.js5Error(-3); + } + + } + } + } + + @ObfuscatedName("ei") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "78" + ) + @Export("js5Error") + void js5Error(int var1) { + TaskHandler.js5SocketTask = null; + WorldMapArea.js5Socket = null; + js5ConnectState = 0; + if (DynamicObject.port3 == MouseRecorder.port1) { + DynamicObject.port3 = class171.port2; + } else { + DynamicObject.port3 = MouseRecorder.port1; + } + + ++js5Errors; + if (js5Errors >= 2 && (var1 == 7 || var1 == 9)) { + if (gameState <= 5) { + this.error("js5connect_full"); + gameState = 1000; + } else { + field761 = 3000; + } + } else if (js5Errors >= 2 && var1 == 6) { + this.error("js5connect_outofdate"); + gameState = 1000; + } else if (js5Errors >= 4) { + if (gameState <= 5) { + this.error("js5connect"); + gameState = 1000; + } else { + field761 = 3000; + } + } + + } + + @ObfuscatedName("ft") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1483271988" + ) + @Export("doCycleLoggedOut") + final void doCycleLoggedOut() { + Object var1 = packetWriter.getSocket(); + PacketBuffer var2 = packetWriter.packetBuffer; + + try { + if (loginState == 0) { + if (WorldMapManager.secureRandom == null && (secureRandomFuture.isDone() || field696 > 250)) { + WorldMapManager.secureRandom = secureRandomFuture.get(); + secureRandomFuture.shutdown(); + secureRandomFuture = null; + } + + if (WorldMapManager.secureRandom != null) { + if (var1 != null) { + ((AbstractSocket)var1).close(); + var1 = null; + } + + NetSocket.socketTask = null; + field712 = false; + field696 = 0; + loginState = 1; + } + } + + if (loginState == 1) { + if (NetSocket.socketTask == null) { + NetSocket.socketTask = GameEngine.taskHandler.newSocketTask(MusicPatchNode.worldHost, DynamicObject.port3); + } + + if (NetSocket.socketTask.status == 2) { + throw new IOException(); + } + + if (NetSocket.socketTask.status == 1) { + if (useBufferedSocket) { + var1 = method1841((Socket)NetSocket.socketTask.result, 40000, 5000); + } else { + var1 = new NetSocket((Socket)NetSocket.socketTask.result, GameEngine.taskHandler, 5000); + } + + packetWriter.setSocket((AbstractSocket)var1); + NetSocket.socketTask = null; + loginState = 2; + } + } + + PacketBufferNode var4; + if (loginState == 2) { + packetWriter.clearBuffer(); + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var4 = new PacketBufferNode(); + } else { + var4 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var4.clientPacket = null; + var4.clientPacketLength = 0; + var4.packetBuffer = new PacketBuffer(5000); + var4.packetBuffer.writeByte(LoginPacket.field2342.id); + packetWriter.addNode(var4); + packetWriter.flush(); + var2.offset = 0; + loginState = 3; + } + + boolean var12; + int var13; + if (loginState == 3) { + if (class197.pcmPlayer0 != null) { + class197.pcmPlayer0.method2612(); + } + + if (WorldMapDecorationType.pcmPlayer1 != null) { + WorldMapDecorationType.pcmPlayer1.method2612(); + } + + var12 = true; + if (useBufferedSocket && !((AbstractSocket)var1).isAvailable(1)) { + var12 = false; + } + + if (var12) { + var13 = ((AbstractSocket)var1).readUnsignedByte(); + if (class197.pcmPlayer0 != null) { + class197.pcmPlayer0.method2612(); + } + + if (WorldMapDecorationType.pcmPlayer1 != null) { + WorldMapDecorationType.pcmPlayer1.method2612(); + } + + if (var13 != 0) { + class52.getLoginError(var13); + return; + } + + var2.offset = 0; + loginState = 4; + } + } + + int var35; + if (loginState == 4) { + if (var2.offset < 8) { + var35 = ((AbstractSocket)var1).available(); + if (var35 > 8 - var2.offset) { + var35 = 8 - var2.offset; + } + + if (var35 > 0) { + ((AbstractSocket)var1).read(var2.array, var2.offset, var35); + var2.offset += var35; + } + } + + if (var2.offset == 8) { + var2.offset = 0; + class236.field3108 = var2.readLong(); + loginState = 5; + } + } + + int var7; + int var9; + int var15; + if (loginState == 5) { + packetWriter.packetBuffer.offset = 0; + packetWriter.clearBuffer(); + PacketBuffer var3 = new PacketBuffer(500); + int[] var27 = new int[]{WorldMapManager.secureRandom.nextInt(), WorldMapManager.secureRandom.nextInt(), WorldMapManager.secureRandom.nextInt(), WorldMapManager.secureRandom.nextInt()}; + var3.offset = 0; + var3.writeByte(1); + var3.writeInt(var27[0]); + var3.writeInt(var27[1]); + var3.writeInt(var27[2]); + var3.writeInt(var27[3]); + var3.writeLong(class236.field3108); + int var11; + if (gameState == 40) { + var3.writeInt(class1.field5[0]); + var3.writeInt(class1.field5[1]); + var3.writeInt(class1.field5[2]); + var3.writeInt(class1.field5[3]); + } else { + var3.writeByte(field661.rsOrdinal()); + switch(field661.field2014) { + case 0: + case 2: + var3.writeMedium(Canvas.field439); + ++var3.offset; + break; + case 1: + var3.offset += 4; + break; + case 3: + LinkedHashMap var6 = WorldMapSectionType.clientPreferences.parameters; + String var8 = Login.Login_username; + var9 = var8.length(); + int var10 = 0; + + for(var11 = 0; var11 < var9; ++var11) { + var10 = (var10 << 5) - var10 + var8.charAt(var11); + } + + var3.writeInt((Integer)var6.get(var10)); + } + + var3.writeByte(class323.field3852.rsOrdinal()); + var3.writeStringCp1252NullTerminated(Login.Login_password); + } + + var3.encryptRsa(class92.field1184, class92.field1177); + class1.field5 = var27; + PacketBufferNode var30; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var30 = new PacketBufferNode(); + } else { + var30 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var30.clientPacket = null; + var30.clientPacketLength = 0; + var30.packetBuffer = new PacketBuffer(5000); + var30.packetBuffer.offset = 0; + if (gameState == 40) { + var30.packetBuffer.writeByte(LoginPacket.field2338.id); + } else { + var30.packetBuffer.writeByte(LoginPacket.field2336.id); + } + + var30.packetBuffer.writeShort(0); + var7 = var30.packetBuffer.offset; + var30.packetBuffer.writeInt(194); + var30.packetBuffer.writeInt(1); + var30.packetBuffer.writeByte(clientType); + var30.packetBuffer.writeByte(field667); + var30.packetBuffer.writeBytes(var3.array, 0, var3.offset); + var15 = var30.packetBuffer.offset; + var30.packetBuffer.writeStringCp1252NullTerminated(Login.Login_username); + var30.packetBuffer.writeByte((isResizable ? 1 : 0) << 1 | (isLowDetail ? 1 : 0)); + var30.packetBuffer.writeShort(GrandExchangeOfferTotalQuantityComparator.canvasWidth); + var30.packetBuffer.writeShort(class25.canvasHeight); + GrandExchangeOfferOwnWorldComparator.method1378(var30.packetBuffer); + var30.packetBuffer.writeStringCp1252NullTerminated(AccessFile.field4100); + var30.packetBuffer.writeInt(ItemLayer.field1562); + Buffer var16 = new Buffer(GrandExchangeOfferUnitPriceComparator.platformInfo.size()); + GrandExchangeOfferUnitPriceComparator.platformInfo.write(var16); + var30.packetBuffer.writeBytes(var16.array, 0, var16.array.length); + var30.packetBuffer.writeByte(clientType); + var30.packetBuffer.writeInt(0); + var30.packetBuffer.method5876(class8.archive5.hash); + var30.packetBuffer.method5781(UrlRequester.archive6.hash); + var30.packetBuffer.method5781(WorldMapData_0.archive7.hash); + var30.packetBuffer.method5736(WorldMapManager.archive11.hash); + var30.packetBuffer.method5736(ModeWhere.archive8.hash); + var30.packetBuffer.method5736(WorldMapSection0.archive12.hash); + var30.packetBuffer.method5736(PlayerComposition.archive3.hash); + var30.packetBuffer.method5781(CollisionMap.archive13.hash); + var30.packetBuffer.writeInt(Login.archive20.hash); + var30.packetBuffer.writeInt(class25.archive18.hash); + var30.packetBuffer.writeInt(ViewportMouse.archive9.hash); + var30.packetBuffer.writeInt(Tiles.archive14.hash); + var30.packetBuffer.writeInt(LoginScreenAnimation.archive10.hash); + var30.packetBuffer.method5781(ArchiveLoader.archive19.hash); + var30.packetBuffer.method5876(WorldMapIcon_0.archive2.hash); + var30.packetBuffer.writeInt(ItemComposition.archive17.hash); + var30.packetBuffer.method5781(class52.archive0.hash); + var30.packetBuffer.method5781(0); + var30.packetBuffer.writeInt(WorldMapCacheName.archive4.hash); + var30.packetBuffer.method5876(SpriteMask.archive15.hash); + var30.packetBuffer.method5876(SpriteMask.archive1.hash); + var30.packetBuffer.xteaEncrypt(var27, var15, var30.packetBuffer.offset); + var30.packetBuffer.writeLengthShort(var30.packetBuffer.offset - var7); + packetWriter.addNode(var30); + packetWriter.flush(); + packetWriter.isaacCipher = new IsaacCipher(var27); + int[] var17 = new int[4]; + + for(var11 = 0; var11 < 4; ++var11) { + var17[var11] = var27[var11] + 50; + } + + var2.newIsaacCipher(var17); + loginState = 6; + } + + if (loginState == 6 && ((AbstractSocket)var1).available() > 0) { + var35 = ((AbstractSocket)var1).readUnsignedByte(); + if (var35 == 21 && gameState == 20) { + loginState = 12; + } else if (var35 == 2) { + loginState = 14; + } else if (var35 == 15 && gameState == 40) { + packetWriter.serverPacketLength = -1; + loginState = 19; + } else if (var35 == 64) { + loginState = 10; + } else if (var35 == 23 && field786 < 1) { + ++field786; + loginState = 0; + } else if (var35 == 29) { + loginState = 17; + } else { + if (var35 != 69) { + class52.getLoginError(var35); + return; + } + + loginState = 7; + } + } + + if (loginState == 7 && ((AbstractSocket)var1).available() >= 2) { + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + Decimator.field1480 = var2.readUnsignedShort(); + loginState = 8; + } + + if (loginState == 8 && ((AbstractSocket)var1).available() >= Decimator.field1480) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, var2.offset, Decimator.field1480); + class7 var23 = WorldMapIcon_1.method376()[var2.readUnsignedByte()]; + + try { + switch(var23.field36) { + case 0: + class5 var28 = new class5(); + this.field782 = new class9(var2, var28); + loginState = 9; + break; + default: + throw new IllegalArgumentException(); + } + } catch (Exception var21) { + class52.getLoginError(22); + return; + } + } + + if (loginState == 9 && this.field782.method108()) { + this.field702 = this.field782.method94(); + this.field782.method93(); + this.field782 = null; + if (this.field702 == null) { + class52.getLoginError(22); + return; + } + + packetWriter.clearBuffer(); + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var4 = new PacketBufferNode(); + } else { + var4 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } + + var4.clientPacket = null; + var4.clientPacketLength = 0; + var4.packetBuffer = new PacketBuffer(5000); + var4.packetBuffer.writeByte(LoginPacket.field2337.id); + var4.packetBuffer.writeShort(this.field702.offset); + var4.packetBuffer.method5683(this.field702); + packetWriter.addNode(var4); + packetWriter.flush(); + this.field702 = null; + loginState = 6; + } + + if (loginState == 10 && ((AbstractSocket)var1).available() > 0) { + MilliClock.field2032 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 11; + } + + if (loginState == 11 && ((AbstractSocket)var1).available() >= MilliClock.field2032) { + ((AbstractSocket)var1).read(var2.array, 0, MilliClock.field2032); + var2.offset = 0; + loginState = 6; + } + + if (loginState == 12 && ((AbstractSocket)var1).available() > 0) { + field701 = (((AbstractSocket)var1).readUnsignedByte() + 3) * 60; + loginState = 13; + } + + if (loginState == 13) { + field696 = 0; + InvDefinition.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field701 / 60 + " seconds."); + if (--field701 <= 0) { + loginState = 0; + } + + } else { + if (loginState == 14 && ((AbstractSocket)var1).available() >= 1) { + UserComparator7.field1999 = ((AbstractSocket)var1).readUnsignedByte(); + loginState = 15; + } + + boolean var36; + if (loginState == 15 && ((AbstractSocket)var1).available() >= UserComparator7.field1999) { + var12 = ((AbstractSocket)var1).readUnsignedByte() == 1; + ((AbstractSocket)var1).read(var2.array, 0, 4); + var2.offset = 0; + var36 = false; + if (var12) { + var13 = var2.readByteIsaac() << 24; + var13 |= var2.readByteIsaac() << 16; + var13 |= var2.readByteIsaac() << 8; + var13 |= var2.readByteIsaac(); + String var33 = Login.Login_username; + var7 = var33.length(); + var15 = 0; + var9 = 0; + + while(true) { + if (var9 >= var7) { + if (WorldMapSectionType.clientPreferences.parameters.size() >= 10 && !WorldMapSectionType.clientPreferences.parameters.containsKey(var15)) { + Iterator var34 = WorldMapSectionType.clientPreferences.parameters.entrySet().iterator(); + var34.next(); + var34.remove(); + } + + WorldMapSectionType.clientPreferences.parameters.put(var15, var13); + break; + } + + var15 = (var15 << 5) - var15 + var33.charAt(var9); + ++var9; + } + } + + if (Login_isUsernameRemembered) { + WorldMapSectionType.clientPreferences.rememberedUsername = Login.Login_username; + } else { + WorldMapSectionType.clientPreferences.rememberedUsername = null; + } + + class23.savePreferences(); + staffModLevel = ((AbstractSocket)var1).readUnsignedByte(); + playerMod = ((AbstractSocket)var1).readUnsignedByte() == 1; + localPlayerIndex = ((AbstractSocket)var1).readUnsignedByte(); + localPlayerIndex <<= 8; + localPlayerIndex += ((AbstractSocket)var1).readUnsignedByte(); + field673 = ((AbstractSocket)var1).readUnsignedByte(); + ((AbstractSocket)var1).read(var2.array, 0, 1); + var2.offset = 0; + ServerPacket[] var5 = WorldMapRegion.ServerPacket_values(); + int var19 = var2.readSmartByteShortIsaac(); + if (var19 < 0 || var19 >= var5.length) { + throw new IOException(var19 + " " + var2.offset); + } + + packetWriter.serverPacket = var5[var19]; + packetWriter.serverPacketLength = packetWriter.serverPacket.length; + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + packetWriter.serverPacketLength = var2.readUnsignedShort(); + + try { + Client var14 = class1.client; + JSObject.getWindow(var14).call("zap", (Object[])null); + } catch (Throwable var20) { + ; + } + + loginState = 16; + } + + if (loginState != 16) { + if (loginState == 17 && ((AbstractSocket)var1).available() >= 2) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + Interpreter.field1116 = var2.readUnsignedShort(); + loginState = 18; + } + + if (loginState == 18 && ((AbstractSocket)var1).available() >= Interpreter.field1116) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, Interpreter.field1116); + var2.offset = 0; + String var26 = var2.readStringCp1252NullTerminated(); + String var32 = var2.readStringCp1252NullTerminated(); + String var29 = var2.readStringCp1252NullTerminated(); + InvDefinition.setLoginResponseString(var26, var32, var29); + ItemContainer.updateGameState(10); + } + + if (loginState == 19) { + if (packetWriter.serverPacketLength == -1) { + if (((AbstractSocket)var1).available() < 2) { + return; + } + + ((AbstractSocket)var1).read(var2.array, 0, 2); + var2.offset = 0; + packetWriter.serverPacketLength = var2.readUnsignedShort(); + } + + if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { + ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); + var2.offset = 0; + var35 = packetWriter.serverPacketLength; + timer.method5200(); + class232.method4323(); + class234.updatePlayer(var2); + if (var35 != var2.offset) { + throw new RuntimeException(); + } + } + } else { + ++field696; + if (field696 > 2000) { + if (field786 < 1) { + if (MouseRecorder.port1 == DynamicObject.port3) { + DynamicObject.port3 = class171.port2; + } else { + DynamicObject.port3 = MouseRecorder.port1; + } + + ++field786; + loginState = 0; + } else { + class52.getLoginError(-3); + } + } + } + } else { + if (((AbstractSocket)var1).available() >= packetWriter.serverPacketLength) { + var2.offset = 0; + ((AbstractSocket)var1).read(var2.array, 0, packetWriter.serverPacketLength); + timer.method5198(); + mouseLastLastPressedTimeMillis = -1L; + Friend.mouseRecorder.index = 0; + PcmPlayer.hasFocus = true; + hadFocus = true; + field888 = -1L; + ScriptEvent.method1271(); + packetWriter.clearBuffer(); + packetWriter.packetBuffer.offset = 0; + packetWriter.serverPacket = null; + packetWriter.field1331 = null; + packetWriter.field1333 = null; + packetWriter.field1334 = null; + packetWriter.serverPacketLength = 0; + packetWriter.field1330 = 0; + rebootTimer = 0; + logoutTimer = 0; + hintArrowType = 0; + menuOptionsCount = 0; + isMenuOpen = false; + MouseHandler.MouseHandler_idleCycles = 0; + Messages.Messages_channels.clear(); + Messages.Messages_hashTable.clear(); + Messages.Messages_queue.clear(); + Messages.Messages_count = 0; + isItemSelected = 0; + isSpellSelected = false; + soundEffectCount = 0; + camAngleY = 0; + oculusOrbState = 0; + HealthBarUpdate.field1016 = null; + minimapState = 0; + field889 = -1; + destinationX = 0; + destinationY = 0; + playerAttackOption = AttackOption.AttackOption_hidden; + npcAttackOption = AttackOption.AttackOption_hidden; + npcCount = 0; + class90.method2191(); + + for(var35 = 0; var35 < 2048; ++var35) { + players[var35] = null; + } + + for(var35 = 0; var35 < 32768; ++var35) { + npcs[var35] = null; + } + + combatTargetPlayerIndex = -1; + projectiles.clear(); + graphicsObjects.clear(); + + int var18; + for(var35 = 0; var35 < 4; ++var35) { + for(var13 = 0; var13 < 104; ++var13) { + for(var18 = 0; var18 < 104; ++var18) { + groundItems[var35][var13][var18] = null; + } + } + } + + pendingSpawns = new NodeDeque(); + InterfaceParent.friendSystem.clear(); + + for(var35 = 0; var35 < class58.VarpDefinition_fileCount; ++var35) { + VarpDefinition var31 = class204.VarpDefinition_get(var35); + if (var31 != null) { + Varps.Varps_temp[var35] = 0; + Varps.Varps_main[var35] = 0; + } + } + + GrandExchangeOffer.varcs.clearTransient(); + followerIndex = -1; + if (rootInterface != -1) { + var35 = rootInterface; + if (var35 != -1 && Widget.Widget_loadedInterfaces[var35]) { + FontName.Widget_archive.clearFilesGroup(var35); + if (DefaultsGroup.Widget_interfaceComponents[var35] != null) { + var36 = true; + + for(var18 = 0; var18 < DefaultsGroup.Widget_interfaceComponents[var35].length; ++var18) { + if (DefaultsGroup.Widget_interfaceComponents[var35][var18] != null) { + if (DefaultsGroup.Widget_interfaceComponents[var35][var18].type != 2) { + DefaultsGroup.Widget_interfaceComponents[var35][var18] = null; + } else { + var36 = false; + } + } + } + + if (var36) { + DefaultsGroup.Widget_interfaceComponents[var35] = null; + } + + Widget.Widget_loadedInterfaces[var35] = false; + } + } + } + + for(InterfaceParent var24 = (InterfaceParent)interfaceParents.first(); var24 != null; var24 = (InterfaceParent)interfaceParents.next()) { + GrandExchangeOffer.closeInterface(var24, true); + } + + rootInterface = -1; + interfaceParents = new NodeHashTable(8); + meslayerContinueWidget = null; + menuOptionsCount = 0; + isMenuOpen = false; + playerComposition.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); + + for(var35 = 0; var35 < 8; ++var35) { + playerMenuActions[var35] = null; + playerOptionsPriorities[var35] = false; + } + + ItemContainer.itemContainers = new NodeHashTable(32); + isLoading = true; + + for(var35 = 0; var35 < 100; ++var35) { + field816[var35] = true; + } + + PacketBufferNode var25 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2290, packetWriter.isaacCipher); + var25.packetBuffer.writeByte(BoundaryObject.getWindowedMode()); + var25.packetBuffer.writeShort(GrandExchangeOfferTotalQuantityComparator.canvasWidth); + var25.packetBuffer.writeShort(class25.canvasHeight); + packetWriter.addNode(var25); + WorldMapID.clanChat = null; + + for(var35 = 0; var35 < 8; ++var35) { + grandExchangeOffers[var35] = new GrandExchangeOffer(); + } + + WorldMapSectionType.grandExchangeEvents = null; + class234.updatePlayer(var2); + class3.field24 = -1; + class105.loadRegions(false, var2); + packetWriter.serverPacket = null; + } + + } + } + } catch (IOException var22) { + if (field786 < 1) { + if (MouseRecorder.port1 == DynamicObject.port3) { + DynamicObject.port3 = class171.port2; + } else { + DynamicObject.port3 = MouseRecorder.port1; + } + + ++field786; + loginState = 0; + } else { + class52.getLoginError(-2); + } + } + } + + @ObfuscatedName("fv") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1783037227" + ) + @Export("doCycleLoggedIn") + final void doCycleLoggedIn() { + if (rebootTimer > 1) { + --rebootTimer; + } + + if (logoutTimer > 0) { + --logoutTimer; + } + + if (field712) { + field712 = false; + class8.method90(); + } else { + if (!isMenuOpen) { + Player.addCancelMenuEntry(); + } + + int var1; + for(var1 = 0; var1 < 100 && this.method1701(packetWriter); ++var1) { + ; + } + + if (gameState == 30) { + int var2; + PacketBufferNode var14; + while(GrandExchangeOfferOwnWorldComparator.method1366()) { + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2315, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(0); + var2 = var14.packetBuffer.offset; + AbstractWorldMapData.performReflectionCheck(var14.packetBuffer); + var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var2); + packetWriter.addNode(var14); + } + + if (timer.field3616) { + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2301, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(0); + var2 = var14.packetBuffer.offset; + timer.write(var14.packetBuffer); + var14.packetBuffer.writeLengthByte(var14.packetBuffer.offset - var2); + packetWriter.addNode(var14); + timer.method5199(); + } + + Object var33 = Friend.mouseRecorder.lock; + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + synchronized(Friend.mouseRecorder.lock) { + if (!field863) { + Friend.mouseRecorder.index = 0; + } else if (MouseHandler.MouseHandler_lastButton != 0 || Friend.mouseRecorder.index >= 40) { + PacketBufferNode var15 = null; + var3 = 0; + var4 = 0; + var5 = 0; + var6 = 0; + + for(var7 = 0; var7 < Friend.mouseRecorder.index && (var15 == null || var15.packetBuffer.offset - var3 < 246); ++var7) { + var4 = var7; + var8 = Friend.mouseRecorder.ys[var7]; + if (var8 < -1) { + var8 = -1; + } else if (var8 > 65534) { + var8 = 65534; + } + + var9 = Friend.mouseRecorder.xs[var7]; + if (var9 < -1) { + var9 = -1; + } else if (var9 > 65534) { + var9 = 65534; + } + + if (var9 != field675 || var8 != field687) { + if (var15 == null) { + var15 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2240, packetWriter.isaacCipher); + var15.packetBuffer.writeByte(0); + var3 = var15.packetBuffer.offset; + var15.packetBuffer.offset += 2; + var5 = 0; + var6 = 0; + } + + if (-1L != field853) { + var10 = var9 - field675; + var11 = var8 - field687; + var12 = (int)((Friend.mouseRecorder.millis[var7] - field853) / 20L); + var5 = (int)((long)var5 + (Friend.mouseRecorder.millis[var7] - field853) % 20L); + } else { + var10 = var9; + var11 = var8; + var12 = Integer.MAX_VALUE; + } + + field675 = var9; + field687 = var8; + if (var12 < 8 && var10 >= -32 && var10 <= 31 && var11 >= -32 && var11 <= 31) { + var10 += 32; + var11 += 32; + var15.packetBuffer.writeShort((var12 << 12) + var11 + (var10 << 6)); + } else if (var12 < 32 && var10 >= -128 && var10 <= 127 && var11 >= -128 && var11 <= 127) { + var10 += 128; + var11 += 128; + var15.packetBuffer.writeByte(var12 + 128); + var15.packetBuffer.writeShort(var11 + (var10 << 8)); + } else if (var12 < 32) { + var15.packetBuffer.writeByte(var12 + 192); + if (var9 != -1 && var8 != -1) { + var15.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var15.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } else { + var15.packetBuffer.writeShort((var12 & 8191) + '\ue000'); + if (var9 != -1 && var8 != -1) { + var15.packetBuffer.writeInt(var9 | var8 << 16); + } else { + var15.packetBuffer.writeInt(Integer.MIN_VALUE); + } + } + + ++var6; + field853 = Friend.mouseRecorder.millis[var7]; + } + } + + if (var15 != null) { + var15.packetBuffer.writeLengthByte(var15.packetBuffer.offset - var3); + var7 = var15.packetBuffer.offset; + var15.packetBuffer.offset = var3; + var15.packetBuffer.writeByte(var5 / var6); + var15.packetBuffer.writeByte(var5 % var6); + var15.packetBuffer.offset = var7; + packetWriter.addNode(var15); + } + + if (var4 >= Friend.mouseRecorder.index) { + Friend.mouseRecorder.index = 0; + } else { + Friend.mouseRecorder.index -= var4; + System.arraycopy(Friend.mouseRecorder.xs, var4, Friend.mouseRecorder.xs, 0, Friend.mouseRecorder.index); + System.arraycopy(Friend.mouseRecorder.ys, var4, Friend.mouseRecorder.ys, 0, Friend.mouseRecorder.index); + System.arraycopy(Friend.mouseRecorder.millis, var4, Friend.mouseRecorder.millis, 0, Friend.mouseRecorder.index); + } + } + } + + PacketBufferNode var18; + if (MouseHandler.MouseHandler_lastButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_lastButton == 4 || MouseHandler.MouseHandler_lastButton == 2) { + long var16 = MouseHandler.MouseHandler_lastPressedTimeMillis - mouseLastLastPressedTimeMillis; + if (var16 > 32767L) { + var16 = 32767L; + } + + mouseLastLastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillis; + var3 = MouseHandler.MouseHandler_lastPressedY; + if (var3 < 0) { + var3 = 0; + } else if (var3 > class25.canvasHeight) { + var3 = class25.canvasHeight; + } + + var4 = MouseHandler.MouseHandler_lastPressedX; + if (var4 < 0) { + var4 = 0; + } else if (var4 > GrandExchangeOfferTotalQuantityComparator.canvasWidth) { + var4 = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + } + + var5 = (int)var16; + var18 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2276, packetWriter.isaacCipher); + var18.packetBuffer.writeShort((var5 << 1) + (MouseHandler.MouseHandler_lastButton == 2 ? 1 : 0)); + var18.packetBuffer.writeShort(var4); + var18.packetBuffer.writeShort(var3); + packetWriter.addNode(var18); + } + + if (KeyHandler.field421 > 0) { + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2299, packetWriter.isaacCipher); + var14.packetBuffer.writeShort(0); + var2 = var14.packetBuffer.offset; + long var19 = Tiles.currentTimeMillis(); + + for(var5 = 0; var5 < KeyHandler.field421; ++var5) { + long var21 = var19 - field888; + if (var21 > 16777215L) { + var21 = 16777215L; + } + + field888 = var19; + var14.packetBuffer.method5732((int)var21); + var14.packetBuffer.method5883(KeyHandler.field420[var5]); + } + + var14.packetBuffer.writeLengthShort(var14.packetBuffer.offset - var2); + packetWriter.addNode(var14); + } + + if (field926 > 0) { + --field926; + } + + if (KeyHandler.KeyHandler_pressedKeys[96] || KeyHandler.KeyHandler_pressedKeys[97] || KeyHandler.KeyHandler_pressedKeys[98] || KeyHandler.KeyHandler_pressedKeys[99]) { + field678 = true; + } + + if (field678 && field926 <= 0) { + field926 = 20; + field678 = false; + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2334, packetWriter.isaacCipher); + var14.packetBuffer.writeShortLE(camAngleY); + var14.packetBuffer.writeIntME(camAngleX); + packetWriter.addNode(var14); + } + + if (PcmPlayer.hasFocus && !hadFocus) { + hadFocus = true; + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(1); + packetWriter.addNode(var14); + } + + if (!PcmPlayer.hasFocus && hadFocus) { + hadFocus = false; + var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2234, packetWriter.isaacCipher); + var14.packetBuffer.writeByte(0); + packetWriter.addNode(var14); + } + + if (SoundSystem.worldMap != null) { + SoundSystem.worldMap.method6584(); + } + + if (KeyHandler.ClanChat_inClanChat) { + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.sort(); + } + + for(var1 = 0; var1 < Players.Players_count; ++var1) { + Player var35 = players[Players.Players_indices[var1]]; + var35.clearIsInClanChat(); + } + + KeyHandler.ClanChat_inClanChat = false; + } + + Renderable.method3417(); + if (gameState == 30) { + WorldMapSectionType.method319(); + WorldMapLabel.method502(); + ++packetWriter.field1330; + if (packetWriter.field1330 > 750) { + class8.method90(); + } else { + WorldMapRectangle.method354(); + + for(var1 = 0; var1 < npcCount; ++var1) { + var2 = npcIndices[var1]; + NPC var23 = npcs[var2]; + if (var23 != null) { + class171.updateActorSequence(var23, var23.definition.size); + } + } + + Actor.method1868(); + ++field808; + if (mouseCrossColor != 0) { + mouseCrossState = mouseCrossState * 400 + 400; + if (mouseCrossState * 20 >= 400) { + mouseCrossColor = 0; + } + } + + if (WorldMapSprite.field260 != null) { + ++field770; + if (field770 >= 15) { + IsaacCipher.invalidateWidget(WorldMapSprite.field260); + WorldMapSprite.field260 = null; + } + } + + Widget var34 = Canvas.mousedOverWidgetIf1; + Widget var36 = GrandExchangeOffer.field100; + Canvas.mousedOverWidgetIf1 = null; + GrandExchangeOffer.field100 = null; + draggedOnWidget = null; + field754 = false; + field912 = false; + field885 = 0; + + while(Varcs.isKeyDown() && field885 < 128) { + if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ModeWhere.field2417 == 66) { + String var24 = ""; + + Message var37; + for(Iterator var25 = Messages.Messages_hashTable.iterator(); var25.hasNext(); var24 = var24 + var37.sender + ':' + var37.text + '\n') { + var37 = (Message)var25.next(); + } + + class1.client.clipboardSetString(var24); + } else if (oculusOrbState != 1 || WorldMapID.field299 <= 0) { + field738[field885] = ModeWhere.field2417; + field886[field885] = WorldMapID.field299; + ++field885; + } + } + + if (TriBool.method5372() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81] && mouseWheelRotation != 0) { + var3 = UserComparator9.localPlayer.plane - mouseWheelRotation; + if (var3 < 0) { + var3 = 0; + } else if (var3 > 3) { + var3 = 3; + } + + if (var3 != UserComparator9.localPlayer.plane) { + var4 = UserComparator9.localPlayer.pathX[0] + GrandExchangeOfferNameComparator.baseX * 64; + var5 = UserComparator9.localPlayer.pathY[0] + NetCache.baseY * 64; + var18 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2230, packetWriter.isaacCipher); + var18.packetBuffer.writeShortLE(var5); + var18.packetBuffer.method5883(var3); + var18.packetBuffer.method5736(0); + var18.packetBuffer.writeIntME(var4); + packetWriter.addNode(var18); + } + + mouseWheelRotation = 0; + } + + if (rootInterface != -1) { + class22.updateRootInterface(rootInterface, 0, 0, GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight, 0, 0); + } + + ++cycleCntr; + + while(true) { + ScriptEvent var38; + Widget var40; + Widget var41; + do { + var38 = (ScriptEvent)field660.removeLast(); + if (var38 == null) { + while(true) { + do { + var38 = (ScriptEvent)field865.removeLast(); + if (var38 == null) { + while(true) { + do { + var38 = (ScriptEvent)scriptEvents.removeLast(); + if (var38 == null) { + this.menu(); + class2.method27(); + if (clickedWidget != null) { + this.method1403(); + } + + PacketBufferNode var42; + if (JagexCache.dragInventoryWidget != null) { + IsaacCipher.invalidateWidget(JagexCache.dragInventoryWidget); + ++itemDragDuration; + if (MouseHandler.MouseHandler_currentButton == 0) { + if (field776) { + if (JagexCache.dragInventoryWidget == HorizontalAlignment.hoveredItemContainer && dragItemSlotSource != dragItemSlotDestination) { + Widget var39 = JagexCache.dragInventoryWidget; + byte var30 = 0; + if (field829 == 1 && var39.contentType == 206) { + var30 = 1; + } + + if (var39.itemIds[dragItemSlotDestination] <= 0) { + var30 = 0; + } + + if (ModeWhere.method3867(class60.getWidgetFlags(var39))) { + var5 = dragItemSlotSource; + var6 = dragItemSlotDestination; + var39.itemIds[var6] = var39.itemIds[var5]; + var39.itemQuantities[var6] = var39.itemQuantities[var5]; + var39.itemIds[var5] = -1; + var39.itemQuantities[var5] = 0; + } else if (var30 == 1) { + var5 = dragItemSlotSource; + var6 = dragItemSlotDestination; + + while(var5 != var6) { + if (var5 > var6) { + var39.swapItems(var5 - 1, var5); + --var5; + } else if (var5 < var6) { + var39.swapItems(var5 + 1, var5); + ++var5; + } + } + } else { + var39.swapItems(dragItemSlotDestination, dragItemSlotSource); + } + + var42 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2243, packetWriter.isaacCipher); + var42.packetBuffer.method5725(dragItemSlotSource); + var42.packetBuffer.method5876(JagexCache.dragInventoryWidget.id); + var42.packetBuffer.writeShortLE(dragItemSlotDestination); + var42.packetBuffer.writeByte(var30); + packetWriter.addNode(var42); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(draggedWidgetX, draggedWidgetY); + } else if (menuOptionsCount > 0) { + LoginPacket.method3812(draggedWidgetX, draggedWidgetY); + } + + field770 = 10; + MouseHandler.MouseHandler_lastButton = 0; + JagexCache.dragInventoryWidget = null; + } else if (itemDragDuration >= 5 && (MouseHandler.MouseHandler_x > draggedWidgetX + 5 || MouseHandler.MouseHandler_x < draggedWidgetX - 5 || MouseHandler.MouseHandler_y > draggedWidgetY + 5 || MouseHandler.MouseHandler_y < draggedWidgetY - 5)) { + field776 = true; + } + } + + if (Scene.shouldSendWalk()) { + var3 = Scene.Scene_selectedX; + var4 = Scene.Scene_selectedY; + var42 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2263, packetWriter.isaacCipher); + var42.packetBuffer.writeByte(5); + var42.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + var42.packetBuffer.writeIntME(NetCache.baseY * 64 + var4); + var42.packetBuffer.writeShort(GrandExchangeOfferNameComparator.baseX * 64 + var3); + packetWriter.addNode(var42); + Scene.method3281(); + mouseCrossX = MouseHandler.MouseHandler_lastPressedX; + mouseCrossY = MouseHandler.MouseHandler_lastPressedY; + mouseCrossColor = 1; + mouseCrossState = 0; + destinationX = var3; + destinationY = var4; + } + + if (var34 != Canvas.mousedOverWidgetIf1) { + if (var34 != null) { + IsaacCipher.invalidateWidget(var34); + } + + if (Canvas.mousedOverWidgetIf1 != null) { + IsaacCipher.invalidateWidget(Canvas.mousedOverWidgetIf1); + } + } + + if (var36 != GrandExchangeOffer.field100 && field925 == field815) { + if (var36 != null) { + IsaacCipher.invalidateWidget(var36); + } + + if (GrandExchangeOffer.field100 != null) { + IsaacCipher.invalidateWidget(GrandExchangeOffer.field100); + } + } + + if (GrandExchangeOffer.field100 != null) { + if (field815 < field925) { + ++field815; + if (field815 == field925) { + IsaacCipher.invalidateWidget(GrandExchangeOffer.field100); + } + } + } else if (field815 > 0) { + --field815; + } + + if (oculusOrbState == 0) { + var3 = UserComparator9.localPlayer.x; + var4 = UserComparator9.localPlayer.y; + if (HealthBarUpdate.oculusOrbFocalPointX - var3 < -500 || HealthBarUpdate.oculusOrbFocalPointX - var3 > 500 || ApproximateRouteStrategy.oculusOrbFocalPointY - var4 < -500 || ApproximateRouteStrategy.oculusOrbFocalPointY - var4 > 500) { + HealthBarUpdate.oculusOrbFocalPointX = var3; + ApproximateRouteStrategy.oculusOrbFocalPointY = var4; + } + + if (var3 != HealthBarUpdate.oculusOrbFocalPointX) { + HealthBarUpdate.oculusOrbFocalPointX += (var3 - HealthBarUpdate.oculusOrbFocalPointX) / 16; + } + + if (var4 != ApproximateRouteStrategy.oculusOrbFocalPointY) { + ApproximateRouteStrategy.oculusOrbFocalPointY += (var4 - ApproximateRouteStrategy.oculusOrbFocalPointY) / 16; + } + + var5 = HealthBarUpdate.oculusOrbFocalPointX >> 7; + var6 = ApproximateRouteStrategy.oculusOrbFocalPointY >> 7; + var7 = WorldMapRegion.getTileHeight(HealthBarUpdate.oculusOrbFocalPointX, ApproximateRouteStrategy.oculusOrbFocalPointY, class90.Client_plane); + var8 = 0; + if (var5 > 3 && var6 > 3 && var5 < 100 && var6 < 100) { + for(var9 = var5 - 4; var9 <= var5 + 4; ++var9) { + for(var10 = var6 - 4; var10 <= var6 + 4; ++var10) { + var11 = class90.Client_plane; + if (var11 < 3 && (Tiles.Tiles_renderFlags[1][var9][var10] & 2) == 2) { + ++var11; + } + + var12 = var7 - Tiles.Tiles_heights[var11][var9][var10]; + if (var12 > var8) { + var8 = var12; + } + } + } + } + + var9 = var8 * 192; + if (var9 > 98048) { + var9 = 98048; + } + + if (var9 < 32768) { + var9 = 32768; + } + + if (var9 > field880) { + field880 += (var9 - field880) / 24; + } else if (var9 < field880) { + field880 += (var9 - field880) / 80; + } + + ModelData0.field1882 = WorldMapRegion.getTileHeight(UserComparator9.localPlayer.x, UserComparator9.localPlayer.y, class90.Client_plane) - camFollowHeight; + } else if (oculusOrbState == 1) { + class13.method122(); + short var31 = -1; + if (KeyHandler.KeyHandler_pressedKeys[33]) { + var31 = 0; + } else if (KeyHandler.KeyHandler_pressedKeys[49]) { + var31 = 1024; + } + + if (KeyHandler.KeyHandler_pressedKeys[48]) { + if (var31 == 0) { + var31 = 1792; + } else if (var31 == 1024) { + var31 = 1280; + } else { + var31 = 1536; + } + } else if (KeyHandler.KeyHandler_pressedKeys[50]) { + if (var31 == 0) { + var31 = 256; + } else if (var31 == 1024) { + var31 = 768; + } else { + var31 = 512; + } + } + + byte var32 = 0; + if (KeyHandler.KeyHandler_pressedKeys[35]) { + var32 = -1; + } else if (KeyHandler.KeyHandler_pressedKeys[51]) { + var32 = 1; + } + + var5 = 0; + if (var31 >= 0 || var32 != 0) { + var5 = KeyHandler.KeyHandler_pressedKeys[81] ? oculusOrbSlowedSpeed : oculusOrbNormalSpeed; + var5 *= 16; + field742 = var31; + field743 = var32; + } + + if (field818 < var5) { + field818 += var5 / 8; + if (field818 > var5) { + field818 = var5; + } + } else if (field818 > var5) { + field818 = field818 * 9 / 10; + } + + if (field818 > 0) { + var6 = field818 / 16; + if (field742 >= 0) { + var3 = field742 - class39.cameraYaw & 2047; + var7 = Rasterizer3D.Rasterizer3D_sine[var3]; + var8 = Rasterizer3D.Rasterizer3D_cosine[var3]; + HealthBarUpdate.oculusOrbFocalPointX += var7 * var6 / 65536; + ApproximateRouteStrategy.oculusOrbFocalPointY += var8 * var6 / 65536; + } + + if (field743 != 0) { + ModelData0.field1882 += var6 * field743; + if (ModelData0.field1882 > 0) { + ModelData0.field1882 = 0; + } + } + } else { + field742 = -1; + field743 = -1; + } + + if (KeyHandler.KeyHandler_pressedKeys[13]) { + packetWriter.addNode(WorldMapSprite.getPacketBufferNode(ClientPacket.field2296, packetWriter.isaacCipher)); + oculusOrbState = 0; + } + } + + if (MouseHandler.MouseHandler_currentButton == 4 && class8.mouseCam) { + var3 = MouseHandler.MouseHandler_y - mouseCamClickedY; + camAngleDX = var3 * 2; + mouseCamClickedY = var3 != -1 && var3 != 1 ? (MouseHandler.MouseHandler_y + mouseCamClickedY) / 2 : MouseHandler.MouseHandler_y; + var4 = mouseCamClickedX - MouseHandler.MouseHandler_x; + camAngleDY = var4 * 2; + mouseCamClickedX = var4 != -1 && var4 != 1 ? (mouseCamClickedX + MouseHandler.MouseHandler_x) / 2 : MouseHandler.MouseHandler_x; + } else { + if (KeyHandler.KeyHandler_pressedKeys[96]) { + camAngleDY += (-24 - camAngleDY) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[97]) { + camAngleDY += (24 - camAngleDY) / 2; + } else { + camAngleDY /= 2; + } + + if (KeyHandler.KeyHandler_pressedKeys[98]) { + camAngleDX += (12 - camAngleDX) / 2; + } else if (KeyHandler.KeyHandler_pressedKeys[99]) { + camAngleDX += (-12 - camAngleDX) / 2; + } else { + camAngleDX /= 2; + } + + mouseCamClickedY = MouseHandler.MouseHandler_y; + mouseCamClickedX = MouseHandler.MouseHandler_x; + } + + camAngleY = camAngleDY / 2 + camAngleY & 2047; + camAngleX += camAngleDX / 2; + if (camAngleX < 128) { + camAngleX = 128; + } + + if (camAngleX > 383) { + camAngleX = 383; + } + + if (isCameraLocked) { + var3 = WorldMapManager.field345 * 16384 + 64; + var4 = Decimator.field1475 * 16384 + 64; + var5 = WorldMapRegion.getTileHeight(var3, var4, class90.Client_plane) - Clock.field2079; + if (SecureRandomFuture.cameraX < var3) { + SecureRandomFuture.cameraX = (var3 - SecureRandomFuture.cameraX) * class228.field2740 / 1000 + SecureRandomFuture.cameraX + JagexCache.field2056; + if (SecureRandomFuture.cameraX > var3) { + SecureRandomFuture.cameraX = var3; + } + } + + if (SecureRandomFuture.cameraX > var3) { + SecureRandomFuture.cameraX -= class228.field2740 * (SecureRandomFuture.cameraX - var3) / 1000 + JagexCache.field2056; + if (SecureRandomFuture.cameraX < var3) { + SecureRandomFuture.cameraX = var3; + } + } + + if (ArchiveLoader.cameraY < var5) { + ArchiveLoader.cameraY = (var5 - ArchiveLoader.cameraY) * class228.field2740 / 1000 + ArchiveLoader.cameraY + JagexCache.field2056; + if (ArchiveLoader.cameraY > var5) { + ArchiveLoader.cameraY = var5; + } + } + + if (ArchiveLoader.cameraY > var5) { + ArchiveLoader.cameraY -= class228.field2740 * (ArchiveLoader.cameraY - var5) / 1000 + JagexCache.field2056; + if (ArchiveLoader.cameraY < var5) { + ArchiveLoader.cameraY = var5; + } + } + + if (ObjectSound.cameraZ < var4) { + ObjectSound.cameraZ = (var4 - ObjectSound.cameraZ) * class228.field2740 / 1000 + ObjectSound.cameraZ + JagexCache.field2056; + if (ObjectSound.cameraZ > var4) { + ObjectSound.cameraZ = var4; + } + } + + if (ObjectSound.cameraZ > var4) { + ObjectSound.cameraZ -= class228.field2740 * (ObjectSound.cameraZ - var4) / 1000 + JagexCache.field2056; + if (ObjectSound.cameraZ < var4) { + ObjectSound.cameraZ = var4; + } + } + + var3 = class25.field138 * 16384 + 64; + var4 = GrandExchangeOfferUnitPriceComparator.field102 * 16384 + 64; + var5 = WorldMapRegion.getTileHeight(var3, var4, class90.Client_plane) - Skeleton.field1809; + var6 = var3 - SecureRandomFuture.cameraX; + var7 = var5 - ArchiveLoader.cameraY; + var8 = var4 - ObjectSound.cameraZ; + var9 = (int)Math.sqrt((double)(var6 * var6 + var8 * var8)); + var10 = (int)(Math.atan2((double)var7, (double)var9) * 325.949D) & 2047; + var11 = (int)(Math.atan2((double)var6, (double)var8) * -325.949D) & 2047; + if (var10 < 128) { + var10 = 128; + } + + if (var10 > 383) { + var10 = 383; + } + + if (KeyHandler.cameraPitch < var10) { + KeyHandler.cameraPitch = (var10 - KeyHandler.cameraPitch) * JagexCache.field2070 / 1000 + KeyHandler.cameraPitch + WorldMapEvent.field380; + if (KeyHandler.cameraPitch > var10) { + KeyHandler.cameraPitch = var10; + } + } + + if (KeyHandler.cameraPitch > var10) { + KeyHandler.cameraPitch -= JagexCache.field2070 * (KeyHandler.cameraPitch - var10) / 1000 + WorldMapEvent.field380; + if (KeyHandler.cameraPitch < var10) { + KeyHandler.cameraPitch = var10; + } + } + + var12 = var11 - class39.cameraYaw; + if (var12 > 1024) { + var12 -= 2048; + } + + if (var12 < -1024) { + var12 += 2048; + } + + if (var12 > 0) { + class39.cameraYaw = class39.cameraYaw + WorldMapEvent.field380 + var12 * JagexCache.field2070 / 1000; + class39.cameraYaw &= 2047; + } + + if (var12 < 0) { + class39.cameraYaw -= -var12 * JagexCache.field2070 / 1000 + WorldMapEvent.field380; + class39.cameraYaw &= 2047; + } + + int var26 = var11 - class39.cameraYaw; + if (var26 > 1024) { + var26 -= 2048; + } + + if (var26 < -1024) { + var26 += 2048; + } + + if (var26 < 0 && var12 > 0 || var26 > 0 && var12 < 0) { + class39.cameraYaw = var11; + } + } + + for(var3 = 0; var3 < 5; ++var3) { + ++field911[var3]; + } + + GrandExchangeOffer.varcs.tryWrite(); + var3 = ++MouseHandler.MouseHandler_idleCycles - 1; + var5 = KeyHandler.KeyHandler_idleCycles; + PacketBufferNode var27; + if (var3 > 15000 && var5 > 15000) { + logoutTimer = 250; + MouseHandler.MouseHandler_idleCycles = 14500; + var27 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2298, packetWriter.isaacCipher); + packetWriter.addNode(var27); + } + + InterfaceParent.friendSystem.processFriendUpdates(); + ++packetWriter.pendingWrites; + if (packetWriter.pendingWrites > 50) { + var27 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2305, packetWriter.isaacCipher); + packetWriter.addNode(var27); + } + + try { + packetWriter.flush(); + } catch (IOException var28) { + class8.method90(); + } + + return; + } + + var40 = var38.widget; + if (var40.childIndex < 0) { + break; + } + + var41 = class237.getWidget(var40.parentId); + } while(var41 == null || var41.children == null || var40.childIndex >= var41.children.length || var40 != var41.children[var40.childIndex]); + + PacketWriter.runScriptEvent(var38); + } + } + + var40 = var38.widget; + if (var40.childIndex < 0) { + break; + } + + var41 = class237.getWidget(var40.parentId); + } while(var41 == null || var41.children == null || var40.childIndex >= var41.children.length || var40 != var41.children[var40.childIndex]); + + PacketWriter.runScriptEvent(var38); + } + } + + var40 = var38.widget; + if (var40.childIndex < 0) { + break; + } + + var41 = class237.getWidget(var40.parentId); + } while(var41 == null || var41.children == null || var40.childIndex >= var41.children.length || var40 != var41.children[var40.childIndex]); + + PacketWriter.runScriptEvent(var38); + } + } + } + } + } + } + + @ObfuscatedName("gt") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "647800205" + ) + @Export("resizeJS") + void resizeJS() { + int var1 = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + int var2 = class25.canvasHeight; + if (super.contentWidth < var1) { + var1 = super.contentWidth; + } + + if (super.contentHeight < var2) { + var2 = super.contentHeight; + } + + if (WorldMapSectionType.clientPreferences != null) { + try { + class56.method923(class1.client, "resize", new Object[]{BoundaryObject.getWindowedMode()}); + } catch (Throwable var4) { + ; + } + } + + } + + @ObfuscatedName("gm") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1573382643" + ) + @Export("drawLoggedIn") + final void drawLoggedIn() { + int var1; + if (rootInterface != -1) { + var1 = rootInterface; + if (WorldMapCacheName.loadInterface(var1)) { + ApproximateRouteStrategy.drawModelComponents(DefaultsGroup.Widget_interfaceComponents[var1], -1); + } + } + + for(var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field816[var1]) { + field827[var1] = true; + } + + field871[var1] = field816[var1]; + field816[var1] = false; + } + + field868 = cycle; + viewportX = -1; + viewportY = -1; + HorizontalAlignment.hoveredItemContainer = null; + if (rootInterface != -1) { + rootWidgetCount = 0; + ViewportMouse.drawWidgets(rootInterface, 0, 0, GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight, 0, 0, -1); + } + + Rasterizer2D.Rasterizer2D_resetClip(); + if (showMouseCross) { + if (mouseCrossColor == 1) { + Frames.crossSprites[mouseCrossState * 20 / 100].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + } + + if (mouseCrossColor == 2) { + Frames.crossSprites[mouseCrossState * 20 / 100 + 4].drawTransBgAt(mouseCrossX - 8, mouseCrossY - 8); + } + } + + int var2; + int var3; + if (!isMenuOpen) { + if (viewportX != -1) { + var1 = viewportX; + var2 = viewportY; + if ((menuOptionsCount >= 2 || isItemSelected != 0 || isSpellSelected) && showMouseOverText) { + var3 = menuOptionsCount - 1; + String var13; + if (isItemSelected == 1 && menuOptionsCount < 2) { + var13 = "Use" + " " + selectedItemName + " " + "->"; + } else if (isSpellSelected && menuOptionsCount < 2) { + var13 = selectedSpellActionName + " " + selectedSpellName + " " + "->"; + } else { + var13 = WorldMapLabel.method504(var3); + } + + if (menuOptionsCount > 2) { + var13 = var13 + FileSystem.colorStartTag(16777215) + " " + '/' + " " + (menuOptionsCount - 2) + " more options"; + } + + ScriptEvent.fontBold12.drawRandomAlphaAndSpacing(var13, var1 + 4, var2 + 15, 16777215, 0, cycle / 1000); + } + } + } else { + var1 = ApproximateRouteStrategy.menuX; + var2 = AbstractUserComparator.menuY; + var3 = CollisionMap.menuWidth; + int var4 = GrandExchangeOfferTotalQuantityComparator.menuHeight; + int var5 = 6116423; + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, var5); + Rasterizer2D.Rasterizer2D_fillRectangle(var1 + 1, var2 + 1, var3 - 2, 16, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var1 + 1, var2 + 18, var3 - 2, var4 - 19, 0); + ScriptEvent.fontBold12.draw("Choose Option", var1 + 3, var2 + 14, var5, -1); + int var6 = MouseHandler.MouseHandler_x; + int var7 = MouseHandler.MouseHandler_y; + + int var8; + int var9; + int var10; + for(var8 = 0; var8 < menuOptionsCount; ++var8) { + var9 = var2 + (menuOptionsCount - 1 - var8) * 15 + 31; + var10 = 16777215; + if (var6 > var1 && var6 < var1 + var3 && var7 > var9 - 13 && var7 < var9 + 3) { + var10 = 16776960; + } + + ScriptEvent.fontBold12.draw(WorldMapLabel.method504(var8), var1 + 3, var9, var10, 0); + } + + var8 = ApproximateRouteStrategy.menuX; + var9 = AbstractUserComparator.menuY; + var10 = CollisionMap.menuWidth; + int var11 = GrandExchangeOfferTotalQuantityComparator.menuHeight; + + for(int var12 = 0; var12 < rootWidgetCount; ++var12) { + if (rootWidgetWidths[var12] + rootWidgetXs[var12] > var8 && rootWidgetXs[var12] < var10 + var8 && rootWidgetYs[var12] + rootWidgetHeights[var12] > var9 && rootWidgetYs[var12] < var9 + var11) { + field827[var12] = true; + } + } + } + + if (gameDrawingMode == 3) { + for(var1 = 0; var1 < rootWidgetCount; ++var1) { + if (field871[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711935, 128); + } else if (field827[var1]) { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(rootWidgetXs[var1], rootWidgetYs[var1], rootWidgetWidths[var1], rootWidgetHeights[var1], 16711680, 128); + } + } + } + + WorldMapSection0.method308(class90.Client_plane, UserComparator9.localPlayer.x, UserComparator9.localPlayer.y, field808); + field808 = 0; + } + + @ObfuscatedName("hs") + @ObfuscatedSignature( + descriptor = "(Ldx;B)Z", + garbageValue = "9" + ) + final boolean method1701(PacketWriter var1) { + AbstractSocket var2 = var1.getSocket(); + PacketBuffer var3 = var1.packetBuffer; + if (var2 == null) { + return false; + } else { + int var6; + String var20; + try { + int var5; + if (var1.serverPacket == null) { + if (var1.field1327) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 0, 1); + var1.field1330 = 0; + var1.field1327 = false; + } + + var3.offset = 0; + if (var3.method5634()) { + if (!var2.isAvailable(1)) { + return false; + } + + var2.read(var1.packetBuffer.array, 1, 1); + var1.field1330 = 0; + } + + var1.field1327 = true; + ServerPacket[] var4 = WorldMapRegion.ServerPacket_values(); + var5 = var3.readSmartByteShortIsaac(); + if (var5 < 0 || var5 >= var4.length) { + throw new IOException(var5 + " " + var3.offset); + } + + var1.serverPacket = var4[var5]; + var1.serverPacketLength = var1.serverPacket.length; + } + + if (var1.serverPacketLength == -1) { + if (!var2.isAvailable(1)) { + return false; + } + + var1.getSocket().read(var3.array, 0, 1); + var1.serverPacketLength = var3.array[0] & 255; + } + + if (var1.serverPacketLength == -2) { + if (!var2.isAvailable(2)) { + return false; + } + + var1.getSocket().read(var3.array, 0, 2); + var3.offset = 0; + var1.serverPacketLength = var3.readUnsignedShort(); + } + + if (!var2.isAvailable(var1.serverPacketLength)) { + return false; + } + + var3.offset = 0; + var2.read(var3.array, 0, var1.serverPacketLength); + var1.field1330 = 0; + timer.method5212(); + var1.field1334 = var1.field1333; + var1.field1333 = var1.field1331; + var1.field1331 = var1.serverPacket; + int var16; + if (ServerPacket.field2164 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.method5727(); + Varps.Varps_temp[var5] = var16; + if (Varps.Varps_main[var5] != var16) { + Varps.Varps_main[var5] = var16; + } + + AbstractWorldMapIcon.changeGameOptions(var5); + changedVarps[++changedVarpCount - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2213 == var1.serverPacket) { + PacketWriter.method2429(class194.field2350); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2214 == var1.serverPacket) { + ClientPacket.method3811(var3.readStringCp1252NullTerminated()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2183 == var1.serverPacket) { + PacketWriter.method2429(class194.field2346); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2160 == var1.serverPacket) { + InterfaceParent.friendSystem.readUpdate(var3, var1.serverPacketLength); + field857 = cycleCntr; + var1.serverPacket = null; + return true; + } + + int var7; + int var8; + int var9; + int var10; + if (ServerPacket.field2205 == var1.serverPacket) { + isCameraLocked = true; + class25.field138 = var3.readUnsignedByte() * 128; + GrandExchangeOfferUnitPriceComparator.field102 = var3.readUnsignedByte() * 128; + Skeleton.field1809 = var3.readUnsignedShort(); + WorldMapEvent.field380 = var3.readUnsignedByte(); + JagexCache.field2070 = var3.readUnsignedByte(); + if (JagexCache.field2070 >= 100) { + var16 = class25.field138 * 16384 + 64; + var5 = GrandExchangeOfferUnitPriceComparator.field102 * 16384 + 64; + var6 = WorldMapRegion.getTileHeight(var16, var5, class90.Client_plane) - Skeleton.field1809; + var7 = var16 - SecureRandomFuture.cameraX; + var8 = var6 - ArchiveLoader.cameraY; + var9 = var5 - ObjectSound.cameraZ; + var10 = (int)Math.sqrt((double)(var7 * var7 + var9 * var9)); + KeyHandler.cameraPitch = (int)(Math.atan2((double)var8, (double)var10) * 325.949D) & 2047; + class39.cameraYaw = (int)(Math.atan2((double)var7, (double)var9) * -325.949D) & 2047; + if (KeyHandler.cameraPitch < 128) { + KeyHandler.cameraPitch = 128; + } + + if (KeyHandler.cameraPitch > 383) { + KeyHandler.cameraPitch = 383; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2206 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedShort(); + class58.queueSoundEffect(var16, var5, var6); + var1.serverPacket = null; + return true; + } + + Widget var17; + if (ServerPacket.field2170 == var1.serverPacket) { + var16 = var3.method5729(); + if (var16 == 65535) { + var16 = -1; + } + + var5 = var3.method5895(); + var6 = var3.readInt(); + var17 = class237.getWidget(var6); + ItemComposition var48; + if (!var17.isIf3) { + if (var16 == -1) { + var17.modelType = 0; + var1.serverPacket = null; + return true; + } + + var48 = class281.ItemDefinition_get(var16); + var17.modelType = 4; + var17.modelId = var16; + var17.modelAngleX = var48.xan2d; + var17.modelAngleY = var48.yan2d; + var17.modelZoom = var48.zoom2d * 100 / var5; + IsaacCipher.invalidateWidget(var17); + } else { + var17.itemId = var16; + var17.itemQuantity = var5; + var48 = class281.ItemDefinition_get(var16); + var17.modelAngleX = var48.xan2d; + var17.modelAngleY = var48.yan2d; + var17.modelAngleZ = var48.zan2d; + var17.modelOffsetX = var48.offsetX2d; + var17.modelOffsetY = var48.offsetY2d; + var17.modelZoom = var48.zoom2d; + if (var48.isStackable == 1) { + var17.itemQuantityMode = 1; + } else { + var17.itemQuantityMode = 2; + } + + if (var17.field2648 > 0) { + var17.modelZoom = var17.modelZoom * 32 / var17.field2648; + } else if (var17.rawWidth > 0) { + var17.modelZoom = var17.modelZoom * 32 / var17.rawWidth; + } + + IsaacCipher.invalidateWidget(var17); + } + + var1.serverPacket = null; + return true; + } + + Widget var19; + boolean var44; + if (ServerPacket.field2153 == var1.serverPacket) { + var44 = var3.method5720() == 1; + var5 = var3.readInt(); + var19 = class237.getWidget(var5); + if (var44 != var19.isHidden) { + var19.isHidden = var44; + IsaacCipher.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + Widget var18; + if (ServerPacket.field2149 == var1.serverPacket) { + var16 = var3.method5728(); + var5 = var3.method5727(); + var6 = var3.method5727(); + var7 = var3.method5895(); + var18 = class237.getWidget(var7); + if (var5 != var18.modelAngleX || var6 != var18.modelAngleY || var16 != var18.modelZoom) { + var18.modelAngleX = var5; + var18.modelAngleY = var6; + var18.modelZoom = var16; + IsaacCipher.invalidateWidget(var18); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2158 == var1.serverPacket) { + PacketWriter.method2429(class194.field2351); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2210 == var1.serverPacket) { + var16 = var3.readShort(); + var5 = var3.method5730(); + var6 = var3.readInt(); + var17 = class237.getWidget(var6); + if (var5 != var17.rawX || var16 != var17.rawY || var17.xAlignment != 0 || var17.yAlignment != 0) { + var17.rawX = var5; + var17.rawY = var16; + var17.xAlignment = 0; + var17.yAlignment = 0; + IsaacCipher.invalidateWidget(var17); + this.alignWidget(var17); + if (var17.type == 0) { + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var6 >> 16], var17, false); + } + } + + var1.serverPacket = null; + return true; + } + + InterfaceParent var45; + if (ServerPacket.field2175 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + var5 = var3.method5739(); + var6 = var3.readUnsignedByte(); + var45 = (InterfaceParent)interfaceParents.get((long)var5); + if (var45 != null) { + GrandExchangeOffer.closeInterface(var45, var16 != var45.group); + } + + class219.method4172(var5, var16, var6); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2221 == var1.serverPacket) { + class105.loadRegions(true, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + String var37; + if (ServerPacket.field2181 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var20 = AbstractFont.escapeBrackets(UrlRequester.method3467(JagexCache.method3683(var3))); + AbstractWorldMapData.addGameMessage(6, var37, var20); + var1.serverPacket = null; + return true; + } + + String var54; + if (ServerPacket.field2171 == var1.serverPacket) { + var16 = var3.readUShortSmart(); + boolean var43 = var3.readUnsignedByte() == 1; + var54 = ""; + boolean var41 = false; + if (var43) { + var54 = var3.readStringCp1252NullTerminated(); + if (InterfaceParent.friendSystem.isIgnored(new Username(var54, Message.loginType))) { + var41 = true; + } + } + + String var47 = var3.readStringCp1252NullTerminated(); + if (!var41) { + AbstractWorldMapData.addGameMessage(var16, var54, var47); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2196 == var1.serverPacket) { + World var40 = new World(); + var40.host = var3.readStringCp1252NullTerminated(); + var40.id = var3.readUnsignedShort(); + var5 = var3.readInt(); + var40.properties = var5; + ItemContainer.updateGameState(45); + var2.close(); + var2 = null; + ChatChannel.changeWorld(var40); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2198 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + var5 = var3.readUnsignedByte(); + var6 = var3.readUnsignedByte(); + var7 = var3.readUnsignedByte(); + field907[var16] = true; + field908[var16] = var5; + field909[var16] = var6; + field799[var16] = var7; + field911[var16] = 0; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2144 == var1.serverPacket) { + for(var16 = 0; var16 < class58.VarpDefinition_fileCount; ++var16) { + VarpDefinition var58 = class204.VarpDefinition_get(var16); + if (var58 != null) { + Varps.Varps_temp[var16] = 0; + Varps.Varps_main[var16] = 0; + } + } + + class219.method4171(); + changedVarpCount += 32; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2224 == var1.serverPacket) { + PacketWriter.method2429(class194.field2355); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2180 == var1.serverPacket) { + GrandExchangeEvent.field82 = var3.readUnsignedByte(); + GrandExchangeOfferUnitPriceComparator.field103 = var3.method5717(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2219 == var1.serverPacket) { + destinationX = var3.readUnsignedByte(); + if (destinationX == 255) { + destinationX = 0; + } + + destinationY = var3.readUnsignedByte(); + if (destinationY == 255) { + destinationY = 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2141 == var1.serverPacket) { + var16 = var3.method5895(); + var5 = var3.method5729(); + var6 = var5 >> 10 & 31; + var7 = var5 >> 5 & 31; + var8 = var5 & 31; + var9 = (var7 << 11) + (var6 << 19) + (var8 << 3); + Widget var56 = class237.getWidget(var16); + if (var9 != var56.color) { + var56.color = var9; + IsaacCipher.invalidateWidget(var56); + } + + var1.serverPacket = null; + return true; + } + + long var12; + if (ServerPacket.field2195 == var1.serverPacket) { + var16 = var3.offset + var1.serverPacketLength; + var5 = var3.readUnsignedShort(); + var6 = var3.readUnsignedShort(); + if (var5 != rootInterface) { + rootInterface = var5; + this.resizeRoot(false); + GrandExchangeEvent.Widget_resetModelFrames(rootInterface); + SoundSystem.runWidgetOnLoadListener(rootInterface); + + for(var7 = 0; var7 < 100; ++var7) { + field816[var7] = true; + } + } + + InterfaceParent var21; + for(; var6-- > 0; var21.field575 = true) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var9 = var3.readUnsignedByte(); + var21 = (InterfaceParent)interfaceParents.get((long)var7); + if (var21 != null && var8 != var21.group) { + GrandExchangeOffer.closeInterface(var21, true); + var21 = null; + } + + if (var21 == null) { + var21 = class219.method4172(var7, var8, var9); + } + } + + for(var45 = (InterfaceParent)interfaceParents.first(); var45 != null; var45 = (InterfaceParent)interfaceParents.next()) { + if (var45.field575) { + var45.field575 = false; + } else { + GrandExchangeOffer.closeInterface(var45, true); + } + } + + widgetFlags = new NodeHashTable(512); + + while(var3.offset < var16) { + var7 = var3.readInt(); + var8 = var3.readUnsignedShort(); + var9 = var3.readUnsignedShort(); + var10 = var3.readInt(); + + for(int var11 = var8; var11 <= var9; ++var11) { + var12 = (long)var11 + ((long)var7 << 32); + widgetFlags.put(new IntegerNode(var10), var12); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2179 == var1.serverPacket) { + GrandExchangeEvent.field82 = var3.method5776(); + GrandExchangeOfferUnitPriceComparator.field103 = var3.readUnsignedByte(); + + while(var3.offset < var1.serverPacketLength) { + var16 = var3.readUnsignedByte(); + class194 var57 = class7.method85()[var16]; + PacketWriter.method2429(var57); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2217 == var1.serverPacket) { + var16 = var3.readInt(); + InterfaceParent var55 = (InterfaceParent)interfaceParents.get((long)var16); + if (var55 != null) { + GrandExchangeOffer.closeInterface(var55, true); + } + + if (meslayerContinueWidget != null) { + IsaacCipher.invalidateWidget(meslayerContinueWidget); + meslayerContinueWidget = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2201 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + WorldMapSprite.method496(var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2211 == var1.serverPacket) { + SecureRandomCallable.logOut(); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2223 == var1.serverPacket) { + minimapState = var3.readUnsignedByte(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2151 == var1.serverPacket) { + for(var16 = 0; var16 < Varps.Varps_main.length; ++var16) { + if (Varps.Varps_main[var16] != Varps.Varps_temp[var16]) { + Varps.Varps_main[var16] = Varps.Varps_temp[var16]; + AbstractWorldMapIcon.changeGameOptions(var16); + changedVarps[++changedVarpCount - 1 & 31] = var16; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2182 == var1.serverPacket) { + GrandExchangeEvent.field82 = var3.method5717(); + GrandExchangeOfferUnitPriceComparator.field103 = var3.method5720(); + + for(var16 = GrandExchangeEvent.field82; var16 < GrandExchangeEvent.field82 + 8; ++var16) { + for(var5 = GrandExchangeOfferUnitPriceComparator.field103; var5 < GrandExchangeOfferUnitPriceComparator.field103 + 8; ++var5) { + if (groundItems[class90.Client_plane][var16][var5] != null) { + groundItems[class90.Client_plane][var16][var5] = null; + HitSplatDefinition.updateItemPile(var16, var5); + } + } + } + + for(PendingSpawn var39 = (PendingSpawn)pendingSpawns.last(); var39 != null; var39 = (PendingSpawn)pendingSpawns.previous()) { + if (var39.x >= GrandExchangeEvent.field82 && var39.x < GrandExchangeEvent.field82 + 8 && var39.y >= GrandExchangeOfferUnitPriceComparator.field103 && var39.y < GrandExchangeOfferUnitPriceComparator.field103 + 8 && var39.plane == class90.Client_plane) { + var39.hitpoints = 0; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2178 == var1.serverPacket) { + if (rootInterface != -1) { + class228.runIntfCloseListeners(rootInterface, 0); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2176 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var19 = class237.getWidget(var16); + } else { + var19 = null; + } + + for(; var3.offset < var1.serverPacketLength; WorldMapLabel.itemContainerSetItem(var5, var7, var8 - 1, var9)) { + var7 = var3.readUShortSmart(); + var8 = var3.readUnsignedShort(); + var9 = 0; + if (var8 != 0) { + var9 = var3.readUnsignedByte(); + if (var9 == 255) { + var9 = var3.readInt(); + } + } + + if (var19 != null && var7 >= 0 && var7 < var19.itemIds.length) { + var19.itemIds[var7] = var8; + var19.itemQuantities[var7] = var9; + } + } + + if (var19 != null) { + IsaacCipher.invalidateWidget(var19); + } + + class219.method4171(); + changedItemContainers[++field870 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2193 == var1.serverPacket) { + class219.method4171(); + runEnergy = var3.readUnsignedByte(); + field861 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2146 == var1.serverPacket) { + class182.updateNpcs(true, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2155 == var1.serverPacket) { + var16 = var3.method5895(); + var5 = var3.method5731(); + var19 = class237.getWidget(var16); + if (var5 != var19.sequenceId || var5 == -1) { + var19.sequenceId = var5; + var19.modelFrame = 0; + var19.modelFrameCycle = 0; + IsaacCipher.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2226 == var1.serverPacket) { + byte[] var38 = new byte[var1.serverPacketLength]; + var3.method5642(var38, 0, var38.length); + Buffer var53 = new Buffer(var38); + var54 = var53.readStringCp1252NullTerminated(); + WorldMapRectangle.openURL(var54, true, false); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2225 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + if (var16 == 65535) { + var16 = -1; + } + + AbstractSocket.playSong(var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2167 == var1.serverPacket) { + var16 = var3.method5788(); + var5 = var3.method5728(); + if (var5 == 65535) { + var5 = -1; + } + + NPC.method2180(var5, var16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2148 == var1.serverPacket) { + rebootTimer = var3.method5729() * 30; + field861 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2218 == var1.serverPacket) { + PacketWriter.method2429(class194.field2352); + var1.serverPacket = null; + return true; + } + + long var22; + if (ServerPacket.field2209 == var1.serverPacket) { + var16 = var3.method5895(); + var5 = var3.method5727(); + if (var5 == 65535) { + var5 = -1; + } + + var6 = var3.readUnsignedShort(); + if (var6 == 65535) { + var6 = -1; + } + + var7 = var3.method5738(); + + for(var8 = var6; var8 <= var5; ++var8) { + var22 = (long)var8 + ((long)var7 << 32); + Node var60 = widgetFlags.get(var22); + if (var60 != null) { + var60.remove(); + } + + widgetFlags.put(new IntegerNode(var16), var22); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2172 == var1.serverPacket) { + PacketWriter.method2429(class194.field2348); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2220 == var1.serverPacket) { + PacketWriter.method2429(class194.field2354); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2184 == var1.serverPacket) { + var3.offset += 28; + if (var3.checkCrc()) { + ServerPacket.method3809(var3, var3.offset - 28); + } + + var1.serverPacket = null; + return true; + } + + long var25; + long var27; + if (ServerPacket.field2156 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var25 = (long)var3.readUnsignedShort(); + var27 = (long)var3.readMedium(); + PlayerType var29 = (PlayerType)InterfaceParent.findEnumerated(class69.PlayerType_values(), var3.readUnsignedByte()); + long var30 = var27 + (var25 << 32); + boolean var32 = false; + + for(int var13 = 0; var13 < 100; ++var13) { + if (var30 == field883[var13]) { + var32 = true; + break; + } + } + + if (InterfaceParent.friendSystem.isIgnored(new Username(var37, Message.loginType))) { + var32 = true; + } + + if (!var32 && field778 == 0) { + field883[field884] = var30; + field884 = (field884 + 1) % 100; + String var33 = AbstractFont.escapeBrackets(UrlRequester.method3467(JagexCache.method3683(var3))); + byte var42; + if (var29.isPrivileged) { + var42 = 7; + } else { + var42 = 3; + } + + if (var29.modIcon != -1) { + AbstractWorldMapData.addGameMessage(var42, UserComparator10.method3580(var29.modIcon) + var37, var33); + } else { + AbstractWorldMapData.addGameMessage(var42, var37, var33); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2200 == var1.serverPacket) { + class182.updateNpcs(false, var3); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2202 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readInt(); + var6 = GrandExchangeOffer.getGcDuration(); + PacketBufferNode var46 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2241, packetWriter.isaacCipher); + var46.packetBuffer.method5883(GameEngine.fps); + var46.packetBuffer.method5736(var16); + var46.packetBuffer.method5781(var5); + var46.packetBuffer.method5883(var6); + packetWriter.addNode(var46); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2162 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var5 = var3.method5717(); + var6 = var3.method5717(); + if (var5 >= 1 && var5 <= 8) { + if (var37.equalsIgnoreCase("null")) { + var37 = null; + } + + playerMenuActions[var5 - 1] = var37; + playerOptionsPriorities[var5 - 1] = var6 == 0; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2152 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + WorldMapSection2.forceDisconnect(var16); + var1.serverPacket = null; + return false; + } + + if (ServerPacket.field2157 == var1.serverPacket) { + hintArrowType = var3.readUnsignedByte(); + if (hintArrowType == 1) { + hintArrowNpcIndex = var3.readUnsignedShort(); + } + + if (hintArrowType >= 2 && hintArrowType <= 6) { + if (hintArrowType == 2) { + hintArrowSubX = 64; + hintArrowSubY = 4096; + } + + if (hintArrowType == 3) { + hintArrowSubX = 0; + hintArrowSubY = 4096; + } + + if (hintArrowType == 4) { + hintArrowSubX = 128; + hintArrowSubY = 4096; + } + + if (hintArrowType == 5) { + hintArrowSubX = 64; + hintArrowSubY = 0; + } + + if (hintArrowType == 6) { + hintArrowSubX = 64; + hintArrowSubY = 8192; + } + + hintArrowType = 2; + hintArrowX = var3.readUnsignedShort(); + hintArrowY = var3.readUnsignedShort(); + hintArrowHeight = var3.readUnsignedByte() * 2; + } + + if (hintArrowType == 10) { + hintArrowPlayerIndex = var3.readUnsignedShort(); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2168 == var1.serverPacket) { + class219.method4171(); + weight = var3.readShort(); + field861 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2192 == var1.serverPacket) { + var16 = var3.readInt(); + if (var16 != field746) { + field746 = var16; + WorldMapCacheName.method715(); + } + + var1.serverPacket = null; + return true; + } + + Widget var51; + if (ServerPacket.field2174 == var1.serverPacket) { + var16 = var3.method5739(); + var51 = class237.getWidget(var16); + var51.modelType = 3; + var51.modelId = UserComparator9.localPlayer.appearance.getChatHeadId(); + IsaacCipher.invalidateWidget(var51); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2203 == var1.serverPacket) { + var16 = var3.method5729(); + WorldMapLabel.method501(var16); + changedItemContainers[++field870 - 1 & 31] = var16 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2142 == var1.serverPacket) { + var16 = var3.readInt(); + var5 = var3.readUnsignedShort(); + if (var16 < -70000) { + var5 += 32768; + } + + if (var16 >= 0) { + var19 = class237.getWidget(var16); + } else { + var19 = null; + } + + if (var19 != null) { + for(var7 = 0; var7 < var19.itemIds.length; ++var7) { + var19.itemIds[var7] = 0; + var19.itemQuantities[var7] = 0; + } + } + + WorldMapID.clearItemContainer(var5); + var7 = var3.readUnsignedShort(); + + for(var8 = 0; var8 < var7; ++var8) { + var9 = var3.readUnsignedByte(); + if (var9 == 255) { + var9 = var3.method5739(); + } + + var10 = var3.method5729(); + if (var19 != null && var8 < var19.itemIds.length) { + var19.itemIds[var8] = var10; + var19.itemQuantities[var8] = var9; + } + + WorldMapLabel.itemContainerSetItem(var5, var8, var10 - 1, var9); + } + + if (var19 != null) { + IsaacCipher.invalidateWidget(var19); + } + + class219.method4171(); + changedItemContainers[++field870 - 1 & 31] = var5 & 32767; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2166 == var1.serverPacket) { + var16 = var3.method5738(); + var5 = var3.method5895(); + InterfaceParent var50 = (InterfaceParent)interfaceParents.get((long)var5); + var45 = (InterfaceParent)interfaceParents.get((long)var16); + if (var45 != null) { + GrandExchangeOffer.closeInterface(var45, var50 == null || var50.group != var45.group); + } + + if (var50 != null) { + var50.remove(); + interfaceParents.put(var50, (long)var16); + } + + var18 = class237.getWidget(var5); + if (var18 != null) { + IsaacCipher.invalidateWidget(var18); + } + + var18 = class237.getWidget(var16); + if (var18 != null) { + IsaacCipher.invalidateWidget(var18); + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var18.id >>> 16], var18, true); + } + + if (rootInterface != -1) { + class228.runIntfCloseListeners(rootInterface, 1); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2222 == var1.serverPacket) { + byte var59 = var3.method5721(); + var5 = var3.readUnsignedShort(); + Varps.Varps_temp[var5] = var59; + if (Varps.Varps_main[var5] != var59) { + Varps.Varps_main[var5] = var59; + } + + AbstractWorldMapIcon.changeGameOptions(var5); + changedVarps[++changedVarpCount - 1 & 31] = var5; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2199 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + Object[] var52 = new Object[var37.length() + 1]; + + for(var6 = var37.length() - 1; var6 >= 0; --var6) { + if (var37.charAt(var6) == 's') { + var52[var6 + 1] = var3.readStringCp1252NullTerminated(); + } else { + var52[var6 + 1] = new Integer(var3.readInt()); + } + } + + var52[0] = new Integer(var3.readInt()); + ScriptEvent var49 = new ScriptEvent(); + var49.args = var52; + PacketWriter.runScriptEvent(var49); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2186 == var1.serverPacket) { + for(var16 = 0; var16 < players.length; ++var16) { + if (players[var16] != null) { + players[var16].sequence = -1; + } + } + + for(var16 = 0; var16 < npcs.length; ++var16) { + if (npcs[var16] != null) { + npcs[var16].sequence = -1; + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2150 == var1.serverPacket) { + var16 = var3.method5895(); + var51 = class237.getWidget(var16); + + for(var6 = 0; var6 < var51.itemIds.length; ++var6) { + var51.itemIds[var6] = -1; + var51.itemIds[var6] = 0; + } + + IsaacCipher.invalidateWidget(var51); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2207 == var1.serverPacket) { + var16 = var3.method5729(); + var5 = var3.method5895(); + var19 = class237.getWidget(var5); + if (var19 != null && var19.type == 0) { + if (var16 > var19.scrollHeight - var19.height) { + var16 = var19.scrollHeight - var19.height; + } + + if (var16 < 0) { + var16 = 0; + } + + if (var16 != var19.scrollY) { + var19.scrollY = var16; + IsaacCipher.invalidateWidget(var19); + } + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2173 == var1.serverPacket) { + if (var1.serverPacketLength == 0) { + WorldMapID.clanChat = null; + } else { + if (WorldMapID.clanChat == null) { + WorldMapID.clanChat = new ClanChat(Message.loginType, class1.client); + } + + WorldMapID.clanChat.readUpdate(var3); + } + + KeyHandler.method911(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2159 == var1.serverPacket) { + class105.loadRegions(false, var1.packetBuffer); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2216 == var1.serverPacket) { + var16 = var3.method5738(); + var5 = var3.method5727(); + var6 = var3.method5727(); + var17 = class237.getWidget(var16); + var17.field2649 = var6 + (var5 << 16); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2177 == var1.serverPacket) { + PacketWriter.method2429(class194.field2353); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2145 == var1.serverPacket) { + var44 = var3.readBoolean(); + if (var44) { + if (HealthBarUpdate.field1016 == null) { + HealthBarUpdate.field1016 = new class248(); + } + } else { + HealthBarUpdate.field1016 = null; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2185 == var1.serverPacket) { + tradeChatMode = var3.method5720(); + publicChatMode = var3.method5776(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2215 == var1.serverPacket) { + ModelData0.updatePlayers(var3, var1.serverPacketLength); + FriendsList.method5386(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2161 == var1.serverPacket) { + ArchiveLoader.privateChatMode = UserComparator5.method3604(var3.readUnsignedByte()); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2212 == var1.serverPacket) { + var16 = var3.method5728(); + var5 = var3.method5739(); + var19 = class237.getWidget(var5); + if (var19.modelType != 2 || var16 != var19.modelId) { + var19.modelType = 2; + var19.modelId = var16; + IsaacCipher.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2189 == var1.serverPacket) { + var16 = var3.readUnsignedShort(); + rootInterface = var16; + this.resizeRoot(false); + GrandExchangeEvent.Widget_resetModelFrames(var16); + SoundSystem.runWidgetOnLoadListener(rootInterface); + + for(var5 = 0; var5 < 100; ++var5) { + field816[var5] = true; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2197 == var1.serverPacket) { + var16 = var3.readUnsignedByte(); + if (var3.readUnsignedByte() == 0) { + grandExchangeOffers[var16] = new GrandExchangeOffer(); + var3.offset += 18; + } else { + --var3.offset; + grandExchangeOffers[var16] = new GrandExchangeOffer(var3, false); + } + + field710 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2194 == var1.serverPacket) { + InterfaceParent.friendSystem.ignoreList.read(var3, var1.serverPacketLength); + class51.FriendSystem_invalidateIgnoreds(); + field857 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2208 == var1.serverPacket) { + isCameraLocked = false; + + for(var16 = 0; var16 < 5; ++var16) { + field907[var16] = false; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2204 == var1.serverPacket) { + class308.readReflectionCheck(var3, var1.serverPacketLength); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2169 == var1.serverPacket) { + class219.method4171(); + var16 = var3.method5895(); + var5 = var3.method5717(); + var6 = var3.readUnsignedByte(); + experience[var6] = var16; + currentLevels[var6] = var5; + levels[var6] = 1; + + for(var7 = 0; var7 < 98; ++var7) { + if (var16 >= Skills.Skills_experienceTable[var7]) { + levels[var6] = var7 + 2; + } + } + + changedSkills[++changedSkillsCount - 1 & 31] = var6; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2165 == var1.serverPacket) { + isCameraLocked = true; + WorldMapManager.field345 = var3.readUnsignedByte() * 128; + Decimator.field1475 = var3.readUnsignedByte() * 128; + Clock.field2079 = var3.readUnsignedShort(); + JagexCache.field2056 = var3.readUnsignedByte(); + class228.field2740 = var3.readUnsignedByte(); + if (class228.field2740 >= 100) { + SecureRandomFuture.cameraX = WorldMapManager.field345 * 16384 + 64; + ObjectSound.cameraZ = Decimator.field1475 * 16384 + 64; + ArchiveLoader.cameraY = WorldMapRegion.getTileHeight(SecureRandomFuture.cameraX, ObjectSound.cameraZ, class90.Client_plane) - Clock.field2079; + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2188 == var1.serverPacket) { + InterfaceParent.friendSystem.method1975(); + field857 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2143 == var1.serverPacket) { + var44 = var3.readUnsignedByte() == 1; + if (var44) { + class9.field57 = Tiles.currentTimeMillis() - var3.readLong(); + WorldMapSectionType.grandExchangeEvents = new GrandExchangeEvents(var3, true); + } else { + WorldMapSectionType.grandExchangeEvents = null; + } + + field860 = cycleCntr; + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2154 == var1.serverPacket) { + var16 = var3.method5739(); + var20 = var3.readStringCp1252NullTerminated(); + var19 = class237.getWidget(var16); + if (!var20.equals(var19.text)) { + var19.text = var20; + IsaacCipher.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2191 == var1.serverPacket) { + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.method5428(var3); + } + + KeyHandler.method911(); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2147 == var1.serverPacket) { + PacketWriter.method2429(class194.field2347); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2190 == var1.serverPacket) { + var16 = var3.method5895(); + var5 = var3.method5727(); + var19 = class237.getWidget(var16); + if (var19.modelType != 1 || var5 != var19.modelId) { + var19.modelType = 1; + var19.modelId = var5; + IsaacCipher.invalidateWidget(var19); + } + + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2163 == var1.serverPacket) { + PacketWriter.method2429(class194.field2356); + var1.serverPacket = null; + return true; + } + + if (ServerPacket.field2187 == var1.serverPacket) { + var37 = var3.readStringCp1252NullTerminated(); + var25 = var3.readLong(); + var27 = (long)var3.readUnsignedShort(); + var22 = (long)var3.readMedium(); + PlayerType var24 = (PlayerType)InterfaceParent.findEnumerated(class69.PlayerType_values(), var3.readUnsignedByte()); + var12 = var22 + (var27 << 32); + boolean var14 = false; + + for(int var15 = 0; var15 < 100; ++var15) { + if (var12 == field883[var15]) { + var14 = true; + break; + } + } + + if (var24.isUser && InterfaceParent.friendSystem.isIgnored(new Username(var37, Message.loginType))) { + var14 = true; + } + + if (!var14 && field778 == 0) { + field883[field884] = var12; + field884 = (field884 + 1) % 100; + String var34 = AbstractFont.escapeBrackets(UrlRequester.method3467(JagexCache.method3683(var3))); + if (var24.modIcon != -1) { + PlatformInfo.addChatMessage(9, UserComparator10.method3580(var24.modIcon) + var37, var34, Messages.base37DecodeLong(var25)); + } else { + PlatformInfo.addChatMessage(9, var37, var34, Messages.base37DecodeLong(var25)); + } + } + + var1.serverPacket = null; + return true; + } + + SequenceDefinition.RunException_sendStackTrace("" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1333 != null ? var1.field1333.id : -1) + "," + (var1.field1334 != null ? var1.field1334.id : -1) + "," + var1.serverPacketLength, (Throwable)null); + SecureRandomCallable.logOut(); + } catch (IOException var35) { + class8.method90(); + } catch (Exception var36) { + var20 = "" + (var1.serverPacket != null ? var1.serverPacket.id : -1) + "," + (var1.field1333 != null ? var1.field1333.id : -1) + "," + (var1.field1334 != null ? var1.field1334.id : -1) + "," + var1.serverPacketLength + "," + (UserComparator9.localPlayer.pathX[0] + GrandExchangeOfferNameComparator.baseX * 64) + "," + (UserComparator9.localPlayer.pathY[0] + NetCache.baseY * 64) + ","; + + for(var6 = 0; var6 < var1.serverPacketLength && var6 < 50; ++var6) { + var20 = var20 + var3.array[var6] + ","; + } + + SequenceDefinition.RunException_sendStackTrace(var20, var36); + SecureRandomCallable.logOut(); + } + + return true; + } + } + + @ObfuscatedName("hz") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-85" + ) + @Export("menu") + final void menu() { + boolean var1 = false; + + int var2; + int var5; + while(!var1) { + var1 = true; + + for(var2 = 0; var2 < menuOptionsCount - 1; ++var2) { + if (menuOpcodes[var2] < 1000 && menuOpcodes[var2 + 1] > 1000) { + String var17 = menuTargets[var2]; + menuTargets[var2] = menuTargets[var2 + 1]; + menuTargets[var2 + 1] = var17; + String var18 = menuActions[var2]; + menuActions[var2] = menuActions[var2 + 1]; + menuActions[var2 + 1] = var18; + var5 = menuOpcodes[var2]; + menuOpcodes[var2] = menuOpcodes[var2 + 1]; + menuOpcodes[var2 + 1] = var5; + var5 = menuArguments1[var2]; + menuArguments1[var2] = menuArguments1[var2 + 1]; + menuArguments1[var2 + 1] = var5; + var5 = menuArguments2[var2]; + menuArguments2[var2] = menuArguments2[var2 + 1]; + menuArguments2[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; + var1 = false; + } + } + } + + if (JagexCache.dragInventoryWidget == null) { + if (clickedWidget == null) { + int var19 = MouseHandler.MouseHandler_lastButton; + int var4; + int var9; + int var14; + int var20; + if (isMenuOpen) { + int var3; + if (var19 != 1 && (class8.mouseCam || var19 != 4)) { + var2 = MouseHandler.MouseHandler_x; + var3 = MouseHandler.MouseHandler_y; + if (var2 < ApproximateRouteStrategy.menuX - 10 || var2 > ApproximateRouteStrategy.menuX + CollisionMap.menuWidth + 10 || var3 < AbstractUserComparator.menuY - 10 || var3 > GrandExchangeOfferTotalQuantityComparator.menuHeight + AbstractUserComparator.menuY + 10) { + isMenuOpen = false; + Projectile.method2262(ApproximateRouteStrategy.menuX, AbstractUserComparator.menuY, CollisionMap.menuWidth, GrandExchangeOfferTotalQuantityComparator.menuHeight); + } + } + + if (var19 == 1 || !class8.mouseCam && var19 == 4) { + var2 = ApproximateRouteStrategy.menuX; + var3 = AbstractUserComparator.menuY; + var4 = CollisionMap.menuWidth; + var5 = MouseHandler.MouseHandler_lastPressedX; + var20 = MouseHandler.MouseHandler_lastPressedY; + var14 = -1; + + int var21; + for(var21 = 0; var21 < menuOptionsCount; ++var21) { + var9 = var3 + (menuOptionsCount - 1 - var21) * 15 + 31; + if (var5 > var2 && var5 < var4 + var2 && var20 > var9 - 13 && var20 < var9 + 3) { + var14 = var21; + } + } + + if (var14 != -1 && var14 >= 0) { + var21 = menuArguments1[var14]; + var9 = menuArguments2[var14]; + int var10 = menuOpcodes[var14]; + int var11 = menuIdentifiers[var14]; + String var12 = menuActions[var14]; + String var13 = menuTargets[var14]; + AbstractWorldMapIcon.menuAction(var21, var9, var10, var11, var12, var13, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + isMenuOpen = false; + Projectile.method2262(ApproximateRouteStrategy.menuX, AbstractUserComparator.menuY, CollisionMap.menuWidth, GrandExchangeOfferTotalQuantityComparator.menuHeight); + } + } else { + var2 = menuOptionsCount - 1; + if ((var19 == 1 || !class8.mouseCam && var19 == 4) && var2 >= 0) { + var4 = menuOpcodes[var2]; + if (var4 == 39 || var4 == 40 || var4 == 41 || var4 == 42 || var4 == 43 || var4 == 33 || var4 == 34 || var4 == 35 || var4 == 36 || var4 == 37 || var4 == 38 || var4 == 1005) { + label260: { + var5 = menuArguments1[var2]; + var20 = menuArguments2[var2]; + Widget var7 = class237.getWidget(var20); + var9 = class60.getWidgetFlags(var7); + boolean var8 = (var9 >> 28 & 1) != 0; + if (!var8) { + Object var10000 = null; + if (!ModeWhere.method3867(class60.getWidgetFlags(var7))) { + break label260; + } + } + + if (JagexCache.dragInventoryWidget != null && !field776 && menuOptionsCount > 0 && !this.shouldLeftClickOpenMenu()) { + LoginPacket.method3812(draggedWidgetX, draggedWidgetY); + } + + field776 = false; + itemDragDuration = 0; + if (JagexCache.dragInventoryWidget != null) { + IsaacCipher.invalidateWidget(JagexCache.dragInventoryWidget); + } + + JagexCache.dragInventoryWidget = class237.getWidget(var20); + dragItemSlotSource = var5; + draggedWidgetX = MouseHandler.MouseHandler_lastPressedX; + draggedWidgetY = MouseHandler.MouseHandler_lastPressedY; + if (var2 >= 0) { + class195.tempMenuAction = new MenuAction(); + class195.tempMenuAction.param0 = menuArguments1[var2]; + class195.tempMenuAction.param1 = menuArguments2[var2]; + class195.tempMenuAction.opcode = menuOpcodes[var2]; + class195.tempMenuAction.identifier = menuIdentifiers[var2]; + class195.tempMenuAction.action = menuActions[var2]; + } + + IsaacCipher.invalidateWidget(JagexCache.dragInventoryWidget); + return; + } + } + } + + if ((var19 == 1 || !class8.mouseCam && var19 == 4) && this.shouldLeftClickOpenMenu()) { + var19 = 2; + } + + if ((var19 == 1 || !class8.mouseCam && var19 == 4) && menuOptionsCount > 0 && var2 >= 0) { + var4 = menuArguments1[var2]; + var5 = menuArguments2[var2]; + var20 = menuOpcodes[var2]; + var14 = menuIdentifiers[var2]; + String var15 = menuActions[var2]; + String var16 = menuTargets[var2]; + AbstractWorldMapIcon.menuAction(var4, var5, var20, var14, var15, var16, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + + if (var19 == 2 && menuOptionsCount > 0) { + this.openMenu(MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); + } + } + + } + } + } + + @ObfuscatedName("hm") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1283053066" + ) + @Export("shouldLeftClickOpenMenu") + final boolean shouldLeftClickOpenMenu() { + int var1 = menuOptionsCount - 1; + return (leftClickOpensMenu == 1 && menuOptionsCount > 2 || HealthBarDefinition.method4677(var1)) && !menuShiftClick[var1]; + } + + @ObfuscatedName("hx") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1717736851" + ) + @Export("openMenu") + final void openMenu(int var1, int var2) { + GrandExchangeOfferTotalQuantityComparator.method162(var1, var2); + MilliClock.scene.menuOpen(class90.Client_plane, var1, var2, false); + isMenuOpen = true; + } + + @ObfuscatedName("il") + @ObfuscatedSignature( + descriptor = "(ZS)V", + garbageValue = "1112" + ) + @Export("resizeRoot") + final void resizeRoot(boolean var1) { + int var2 = rootInterface; + int var3 = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + int var4 = class25.canvasHeight; + if (WorldMapCacheName.loadInterface(var2)) { + ObjectSound.resizeInterface(DefaultsGroup.Widget_interfaceComponents[var2], -1, var3, var4, var1); + } + + } + + @ObfuscatedName("ic") + @ObfuscatedSignature( + descriptor = "(Lhz;S)V", + garbageValue = "-12534" + ) + @Export("alignWidget") + void alignWidget(Widget var1) { + Widget var2 = var1.parentId == -1 ? null : class237.getWidget(var1.parentId); + int var3; + int var4; + if (var2 == null) { + var3 = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + var4 = class25.canvasHeight; + } else { + var3 = var2.width; + var4 = var2.height; + } + + WorldMapManager.alignWidgetSize(var1, var3, var4, false); + ClientPreferences.alignWidgetPosition(var1, var3, var4); + } + + @ObfuscatedName("jw") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "645040649" + ) + final void method1403() { + IsaacCipher.invalidateWidget(clickedWidget); + ++PlayerComposition.widgetDragDuration; + if (field754 && field912) { + int var1 = MouseHandler.MouseHandler_x; + int var2 = MouseHandler.MouseHandler_y; + var1 -= widgetClickX; + var2 -= widgetClickY; + if (var1 < field714) { + var1 = field714; + } + + if (var1 + clickedWidget.width > field714 + clickedWidgetParent.width) { + var1 = field714 + clickedWidgetParent.width - clickedWidget.width; + } + + if (var2 < field844) { + var2 = field844; + } + + if (var2 + clickedWidget.height > field844 + clickedWidgetParent.height) { + var2 = field844 + clickedWidgetParent.height - clickedWidget.height; + } + + int var3 = var1 - field784; + int var4 = var2 - field847; + int var5 = clickedWidget.dragZoneSize; + if (PlayerComposition.widgetDragDuration > clickedWidget.dragThreshold && (var3 > var5 || var3 < -var5 || var4 > var5 || var4 < -var5)) { + isDraggingWidget = true; + } + + int var6 = var1 - field714 + clickedWidgetParent.scrollX; + int var7 = var2 - field844 + 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; + PacketWriter.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; + PacketWriter.runScriptEvent(var8); + } + + if (draggedOnWidget != null && Strings.method4325(clickedWidget) != null) { + PacketBufferNode var9 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2272, packetWriter.isaacCipher); + var9.packetBuffer.method5736(draggedOnWidget.id); + var9.packetBuffer.writeShort(clickedWidget.childIndex); + var9.packetBuffer.writeIntME(clickedWidget.itemId); + var9.packetBuffer.method5725(draggedOnWidget.childIndex); + var9.packetBuffer.method5725(draggedOnWidget.itemId); + var9.packetBuffer.method5736(clickedWidget.id); + packetWriter.addNode(var9); + } + } else if (this.shouldLeftClickOpenMenu()) { + this.openMenu(field784 + widgetClickX, widgetClickY + field847); + } else if (menuOptionsCount > 0) { + LoginPacket.method3812(field784 + widgetClickX, field847 + widgetClickY); + } + + clickedWidget = null; + } + + } else { + if (PlayerComposition.widgetDragDuration > 1) { + clickedWidget = null; + } + + } + } + + @ObfuscatedName("kd") + @ObfuscatedSignature( + descriptor = "(B)Lkk;", + garbageValue = "75" + ) + @Export("username") + public Username username() { + return UserComparator9.localPlayer != null ? UserComparator9.localPlayer.username : null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Lit;", + garbageValue = "-1847774417" + ) + @Export("KitDefinition_get") + public static KitDefinition KitDefinition_get(int var0) { + KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); + var1 = new KitDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + KitDefinition.KitDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(Ljava/net/Socket;IIB)Lls;", + garbageValue = "1" + ) + public static AbstractSocket method1841(Socket var0, int var1, int var2) throws IOException { + return new BufferedNetSocket(var0, var1, var2); + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(ILcl;ZS)I", + garbageValue = "-2260" + ) + static int method1839(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapData_0.loadWorlds() ? 1 : 0; + return 1; + } else { + World var9; + if (var0 == ScriptOpcodes.WORLDLIST_START) { + var9 = Occluder.worldListStart(); + if (var9 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { + var9 = Player.getNextWorldListWorld(); + if (var9 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else { + int var3; + World var7; + int var8; + if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = null; + + for(var8 = 0; var8 < World.World_count; ++var8) { + if (var3 == World.World_worlds[var8].id) { + var7 = World.World_worlds[var8]; + break; + } + } + + if (var7 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { + Interpreter.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + boolean var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + var8 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + boolean var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3] == 1; + Varps.sortWorldList(var3, var10, var8, var6); + return 1; + } else if (var0 != ScriptOpcodes.GETWORLDINFO) { + if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { + followerOpsLowPriority = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else { + int var4; + ParamComposition var5; + if (var0 == ScriptOpcodes.NC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = AbstractArchive.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class90.getNpcDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class90.getNpcDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.LC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = AbstractArchive.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapAreaData.getObjectDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapAreaData.getObjectDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = AbstractArchive.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class281.ItemDefinition_get(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class281.ItemDefinition_get(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = AbstractArchive.getParamDefinition(var4); + if (var5.isString()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = FloorUnderlayDefinition.StructDefinition_getStructDefinition(var3).getStringParam(var4, var5.defaultStr); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FloorUnderlayDefinition.StructDefinition_getStructDefinition(var3).getIntParam(var4, var5.defaultInt); + } + + return 1; + } else if (var0 == ScriptOpcodes.ON_MOBILE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = onMobile ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLIENTTYPE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = clientType & 3; + return 1; + } else if (var0 == 6520) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { + return 1; + } else if (var0 == 6522) { + --Interpreter.Interpreter_stringStackSize; + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 6523) { + --Interpreter.Interpreter_stringStackSize; + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + return 1; + } else if (var0 == 6527) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = field667; + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 >= 0 && var3 < World.World_count) { + var7 = World.World_worlds[var3]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.id; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.properties; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.location; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.population; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } + } + } } diff --git a/runescape-client/src/main/java/ClientPacket.java b/runescape-client/src/main/java/ClientPacket.java index 29600ce114..074be69973 100644 --- a/runescape-client/src/main/java/ClientPacket.java +++ b/runescape-client/src/main/java/ClientPacket.java @@ -1,653 +1,585 @@ +import java.util.Date; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gb") +@ObfuscatedName("gd") @Implements("ClientPacket") public class ClientPacket implements class190 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2230; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2234; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2317; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2329; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2231; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2232; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - static final ClientPacket field2233; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2277; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2235; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2262; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2237; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2238; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2291; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2240; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2241; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2242; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2316; - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2244; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2245; - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2246; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2290; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2248; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2249; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2250; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2328; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2252; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2258; - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2254; - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2255; - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2256; - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2257; - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - static final ClientPacket field2227; - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2259; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2260; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2296; - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2236; - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2263; - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2247; - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2265; - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2266; - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2267; - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2280; - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2269; - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2324; - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2271; - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2272; - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2279; - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2274; - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2275; - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2276; - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2312; - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2253; - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2278; - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2268; - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2281; - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2282; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2283; - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2284; - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2285; - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2286; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - static final ClientPacket field2323; - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2288; - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2289; - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2326; - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2304; - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - static final ClientPacket field2297; - @ObfuscatedName("bw") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2293; - @ObfuscatedName("bo") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2270; - @ObfuscatedName("bj") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2295; - @ObfuscatedName("bu") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2287; - @ObfuscatedName("bt") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2294; - @ObfuscatedName("bb") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2292; - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2299; - @ObfuscatedName("bg") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2306; - @ObfuscatedName("ba") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2301; - @ObfuscatedName("bq") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2302; - @ObfuscatedName("be") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2303; - @ObfuscatedName("bp") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2261; - @ObfuscatedName("cx") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2305; - @ObfuscatedName("ci") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2228; - @ObfuscatedName("cj") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2307; - @ObfuscatedName("ca") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2308; - @ObfuscatedName("cd") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2229; - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2310; - @ObfuscatedName("cz") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2311; - @ObfuscatedName("cc") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - static final ClientPacket field2314; - @ObfuscatedName("ce") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2313; - @ObfuscatedName("cb") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2309; - @ObfuscatedName("cf") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2315; - @ObfuscatedName("cr") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2239; - @ObfuscatedName("ch") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2320; - @ObfuscatedName("cq") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2318; - @ObfuscatedName("cl") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2319; - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2327; - @ObfuscatedName("cp") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2321; - @ObfuscatedName("cu") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2322; - @ObfuscatedName("ct") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2330; - @ObfuscatedName("ck") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2298; - @ObfuscatedName("cy") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2325; - @ObfuscatedName("cg") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2264; - @ObfuscatedName("cv") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2251; - @ObfuscatedName("cs") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2273; - @ObfuscatedName("cn") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - public static final ClientPacket field2243; - @ObfuscatedName("co") - @ObfuscatedGetter( - intValue = -1798949877 - ) - @Export("id") - final int id; - @ObfuscatedName("dh") - @ObfuscatedGetter( - intValue = -402834233 - ) - @Export("length") - final int length; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + static final ClientPacket field2245 = new ClientPacket(0, 7); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2230 = new ClientPacket(1, 9); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2231 = new ClientPacket(2, 3); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2232 = new ClientPacket(3, 8); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2296 = new ClientPacket(4, 0); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2234 = new ClientPacket(5, 1); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2313 = new ClientPacket(6, 3); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2236 = new ClientPacket(7, 3); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2237 = new ClientPacket(8, -1); + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2238 = new ClientPacket(9, 15); + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2239 = new ClientPacket(10, 3); + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2241 = new ClientPacket(11, 10); + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2291 = new ClientPacket(12, 8); + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2242 = new ClientPacket(13, 3); + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2243 = new ClientPacket(14, 9); + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2244 = new ClientPacket(15, 16); + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2268 = new ClientPacket(16, -1); + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2246 = new ClientPacket(17, 7); + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2247 = new ClientPacket(18, 15); + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2248 = new ClientPacket(19, 8); + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2309 = new ClientPacket(20, 13); + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2280 = new ClientPacket(21, 8); + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2251 = new ClientPacket(22, 8); + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2252 = new ClientPacket(23, -1); + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2253 = new ClientPacket(24, 8); + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2254 = new ClientPacket(25, 8); + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2255 = new ClientPacket(26, 8); + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2256 = new ClientPacket(27, 7); + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2257 = new ClientPacket(28, 6); + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2258 = new ClientPacket(29, 8); + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2250 = new ClientPacket(30, 7); + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2292 = new ClientPacket(31, 3); + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2261 = new ClientPacket(32, -1); + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2262 = new ClientPacket(33, 4); + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2263 = new ClientPacket(34, -1); + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2289 = new ClientPacket(35, -2); + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2272 = new ClientPacket(36, 16); + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2334 = new ClientPacket(37, 4); + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2267 = new ClientPacket(38, 9); + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2302 = new ClientPacket(39, -1); + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2235 = new ClientPacket(40, 3); + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2270 = new ClientPacket(41, -1); + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2279 = new ClientPacket(42, 2); + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2333 = new ClientPacket(43, 2); + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + static final ClientPacket field2273 = new ClientPacket(44, -1); + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2260 = new ClientPacket(45, -1); + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2275 = new ClientPacket(46, 3); + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2276 = new ClientPacket(47, 6); + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2277 = new ClientPacket(48, 0); + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2278 = new ClientPacket(49, 3); + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2233 = new ClientPacket(50, 3); + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2287 = new ClientPacket(51, 7); + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2281 = new ClientPacket(52, 8); + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2282 = new ClientPacket(53, 7); + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2283 = new ClientPacket(54, 0); + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2284 = new ClientPacket(55, 14); + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2285 = new ClientPacket(56, 4); + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2286 = new ClientPacket(57, 8); + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + static final ClientPacket field2317 = new ClientPacket(58, 2); + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2328 = new ClientPacket(59, 8); + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2318 = new ClientPacket(60, 8); + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2290 = new ClientPacket(61, 5); + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2269 = new ClientPacket(62, 2); + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2264 = new ClientPacket(63, 3); + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2293 = new ClientPacket(64, -1); + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2294 = new ClientPacket(65, 8); + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2295 = new ClientPacket(66, 4); + @ObfuscatedName("bm") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2229 = new ClientPacket(67, 8); + @ObfuscatedName("bf") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2297 = new ClientPacket(68, 8); + @ObfuscatedName("be") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2298 = new ClientPacket(69, 0); + @ObfuscatedName("bs") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2299 = new ClientPacket(70, -2); + @ObfuscatedName("by") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2300 = new ClientPacket(71, 8); + @ObfuscatedName("bb") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2240 = new ClientPacket(72, -1); + @ObfuscatedName("bd") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2312 = new ClientPacket(73, 3); + @ObfuscatedName("ba") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2303 = new ClientPacket(74, -1); + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2304 = new ClientPacket(75, 4); + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2305 = new ClientPacket(76, 0); + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + static final ClientPacket field2306 = new ClientPacket(77, -1); + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2307 = new ClientPacket(78, 7); + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2308 = new ClientPacket(79, 3); + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2288 = new ClientPacket(80, 7); + @ObfuscatedName("cb") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + static final ClientPacket field2310 = new ClientPacket(81, -1); + @ObfuscatedName("cf") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2311 = new ClientPacket(82, -1); + @ObfuscatedName("cp") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2265 = new ClientPacket(83, 11); + @ObfuscatedName("ck") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2266 = new ClientPacket(84, 13); + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2271 = new ClientPacket(85, 11); + @ObfuscatedName("cj") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2315 = new ClientPacket(86, -1); + @ObfuscatedName("cr") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2316 = new ClientPacket(87, 8); + @ObfuscatedName("ca") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2314 = new ClientPacket(88, -1); + @ObfuscatedName("cz") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2324 = new ClientPacket(89, 7); + @ObfuscatedName("cs") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2319 = new ClientPacket(90, -2); + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2320 = new ClientPacket(91, 8); + @ObfuscatedName("cu") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2321 = new ClientPacket(92, -1); + @ObfuscatedName("ci") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2322 = new ClientPacket(93, 13); + @ObfuscatedName("cy") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2323 = new ClientPacket(94, 7); + @ObfuscatedName("cm") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2249 = new ClientPacket(95, 7); + @ObfuscatedName("cc") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2325 = new ClientPacket(96, 9); + @ObfuscatedName("co") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2326 = new ClientPacket(97, 8); + @ObfuscatedName("cx") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2327 = new ClientPacket(98, 3); + @ObfuscatedName("cg") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2301 = new ClientPacket(99, -1); + @ObfuscatedName("ch") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2329 = new ClientPacket(100, -1); + @ObfuscatedName("cl") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2330 = new ClientPacket(101, 16); + @ObfuscatedName("cw") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + public static final ClientPacket field2331 = new ClientPacket(102, 2); + @ObfuscatedName("ix") + @ObfuscatedGetter( + intValue = -642512991 + ) + @Export("selectedItemWidget") + static int selectedItemWidget; + @ObfuscatedName("ct") + @ObfuscatedGetter( + intValue = -1003574001 + ) + @Export("id") + final int id; + @ObfuscatedName("dx") + @ObfuscatedGetter( + intValue = 560784993 + ) + @Export("length") + final int length; - static { - field2230 = new ClientPacket(0, -2); // L: 5 - field2234 = new ClientPacket(1, -2); // L: 6 - field2317 = new ClientPacket(2, 7); // L: 7 - field2329 = new ClientPacket(3, 6); // L: 8 - field2231 = new ClientPacket(4, 8); // L: 9 - field2232 = new ClientPacket(5, -1); // L: 10 - field2233 = new ClientPacket(6, -1); // L: 11 - field2277 = new ClientPacket(7, 1); // L: 12 - field2235 = new ClientPacket(8, 0); // L: 13 - field2262 = new ClientPacket(9, 3); // L: 14 - field2237 = new ClientPacket(10, 13); // L: 15 - field2238 = new ClientPacket(11, 3); // L: 16 - field2291 = new ClientPacket(12, 4); // L: 17 - field2240 = new ClientPacket(13, 8); // L: 18 - field2241 = new ClientPacket(14, -1); // L: 19 - field2242 = new ClientPacket(15, 3); // L: 20 - field2316 = new ClientPacket(16, 8); // L: 21 - field2244 = new ClientPacket(17, 0); // L: 22 - field2245 = new ClientPacket(18, -1); // L: 23 - field2246 = new ClientPacket(19, 3); // L: 24 - field2290 = new ClientPacket(20, -1); // L: 25 - field2248 = new ClientPacket(21, 7); // L: 26 - field2249 = new ClientPacket(22, 8); // L: 27 - field2250 = new ClientPacket(23, 2); // L: 28 - field2328 = new ClientPacket(24, 4); // L: 29 - field2252 = new ClientPacket(25, 8); // L: 30 - field2258 = new ClientPacket(26, 11); // L: 31 - field2254 = new ClientPacket(27, 7); // L: 32 - field2255 = new ClientPacket(28, 10); // L: 33 - field2256 = new ClientPacket(29, 9); // L: 34 - field2257 = new ClientPacket(30, 8); // L: 35 - field2227 = new ClientPacket(31, -1); // L: 36 - field2259 = new ClientPacket(32, 8); // L: 37 - field2260 = new ClientPacket(33, 3); // L: 38 - field2296 = new ClientPacket(34, 16); // L: 39 - field2236 = new ClientPacket(35, 3); // L: 40 - field2263 = new ClientPacket(36, 15); // L: 41 - field2247 = new ClientPacket(37, 8); // L: 42 - field2265 = new ClientPacket(38, 8); // L: 43 - field2266 = new ClientPacket(39, 6); // L: 44 - field2267 = new ClientPacket(40, 7); // L: 45 - field2280 = new ClientPacket(41, -1); // L: 46 - field2269 = new ClientPacket(42, 9); // L: 47 - field2324 = new ClientPacket(43, 7); // L: 48 - field2271 = new ClientPacket(44, 7); // L: 49 - field2272 = new ClientPacket(45, -1); // L: 50 - field2279 = new ClientPacket(46, 15); // L: 51 - field2274 = new ClientPacket(47, 9); // L: 52 - field2275 = new ClientPacket(48, 4); // L: 53 - field2276 = new ClientPacket(49, 3); // L: 54 - field2312 = new ClientPacket(50, 3); // L: 55 - field2253 = new ClientPacket(51, 3); - field2278 = new ClientPacket(52, 3); // L: 57 - field2268 = new ClientPacket(53, 3); // L: 58 - field2281 = new ClientPacket(54, 13); // L: 59 - field2282 = new ClientPacket(55, 3); // L: 60 - field2283 = new ClientPacket(56, 11); // L: 61 - field2284 = new ClientPacket(57, 8); // L: 62 - field2285 = new ClientPacket(58, -1); // L: 63 - field2286 = new ClientPacket(59, 8); // L: 64 - field2323 = new ClientPacket(60, 7); // L: 65 - field2288 = new ClientPacket(61, 2); // L: 66 - field2289 = new ClientPacket(62, 8); // L: 67 - field2326 = new ClientPacket(63, -1); // L: 68 - field2304 = new ClientPacket(64, -1); // L: 69 - field2297 = new ClientPacket(65, -1); // L: 70 - field2293 = new ClientPacket(66, 7); // L: 71 - field2270 = new ClientPacket(67, -2); // L: 72 - field2295 = new ClientPacket(68, 16); // L: 73 - field2287 = new ClientPacket(69, 4); // L: 74 - field2294 = new ClientPacket(70, 8); // L: 75 - field2292 = new ClientPacket(71, -1); // L: 76 - field2299 = new ClientPacket(72, 4); // L: 77 - field2306 = new ClientPacket(73, 0); // L: 78 - field2301 = new ClientPacket(74, -1); // L: 79 - field2302 = new ClientPacket(75, 9); // L: 80 - field2303 = new ClientPacket(76, 0); // L: 81 - field2261 = new ClientPacket(77, -1); // L: 82 - field2305 = new ClientPacket(78, 7); // L: 83 - field2228 = new ClientPacket(79, -1); // L: 84 - field2307 = new ClientPacket(80, 8); // L: 85 - field2308 = new ClientPacket(81, 3); // L: 86 - field2229 = new ClientPacket(82, 8); // L: 87 - field2310 = new ClientPacket(83, 7); // L: 88 - field2311 = new ClientPacket(84, 7); // L: 89 - field2314 = new ClientPacket(85, 2); // L: 90 - field2313 = new ClientPacket(86, 2); // L: 91 - field2309 = new ClientPacket(87, 3); // L: 92 - field2315 = new ClientPacket(88, 8); // L: 93 - field2239 = new ClientPacket(89, 13); // L: 94 - field2320 = new ClientPacket(90, 8); // L: 95 - field2318 = new ClientPacket(91, -1); // L: 96 - field2319 = new ClientPacket(92, -1); // L: 97 - field2327 = new ClientPacket(93, 14); // L: 98 - field2321 = new ClientPacket(94, 2); // L: 99 - field2322 = new ClientPacket(95, 0); // L: 100 - field2330 = new ClientPacket(96, 8); // L: 101 - field2298 = new ClientPacket(97, 16); // L: 102 - field2325 = new ClientPacket(98, 8); // L: 103 - field2264 = new ClientPacket(99, 8); // L: 104 - field2251 = new ClientPacket(100, -1); // L: 105 - field2273 = new ClientPacket(101, 5); // L: 106 - field2243 = new ClientPacket(102, -1); // L: 107 - } + ClientPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } - ClientPacket(int var1, int var2) { - this.id = var1; // L: 112 - this.length = var2; // L: 113 - } // L: 114 + @ObfuscatedName("kl") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "83" + ) + static void method3811(String var0) { + AccessFile.field4100 = var0; - @ObfuscatedName("w") - public static int method3671(long var0) { - return (int)(var0 >>> 0 & 127L); // L: 56 - } + try { + String var1 = class1.client.getParameter(Integer.toString(18)); + String var2 = class1.client.getParameter(Integer.toString(13)); + String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; + if (var0.length() == 0) { + var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; + } else { + String var4 = var3 + "; Expires="; + long var6 = Tiles.currentTimeMillis() + 94608000000L; + Calendar.Calendar_calendar.setTime(new Date(var6)); + int var8 = Calendar.Calendar_calendar.get(7); + int var9 = Calendar.Calendar_calendar.get(5); + int var10 = Calendar.Calendar_calendar.get(2); + int var11 = Calendar.Calendar_calendar.get(1); + int var12 = Calendar.Calendar_calendar.get(11); + int var13 = Calendar.Calendar_calendar.get(12); + int var14 = Calendar.Calendar_calendar.get(13); + String var5 = Calendar.DAYS_OF_THE_WEEK[var8 - 1] + ", " + var9 / 10 + var9 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var10] + "-" + var11 + " " + var12 / 10 + var12 % 10 + ":" + var13 / 10 + var13 % 10 + ":" + var14 / 10 + var14 % 10 + " GMT"; + var3 = var4 + var5 + "; Max-Age=" + 94608000L; + } + + class56.method928(class1.client, "document.cookie=\"" + var3 + "\""); + } catch (Throwable var15) { + ; + } + + } } diff --git a/runescape-client/src/main/java/ClientPreferences.java b/runescape-client/src/main/java/ClientPreferences.java index 1da6898dbe..2d4d91688a 100644 --- a/runescape-client/src/main/java/ClientPreferences.java +++ b/runescape-client/src/main/java/ClientPreferences.java @@ -7,246 +7,214 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cd") +@ObfuscatedName("cf") @Implements("ClientPreferences") public class ClientPreferences { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1425200295 - ) - @Export("ClientPreferences_optionCount") - static int ClientPreferences_optionCount; - @ObfuscatedName("x") - @Export("roofsHidden") - boolean roofsHidden; - @ObfuscatedName("w") - @Export("titleMusicDisabled") - boolean titleMusicDisabled; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 681335643 - ) - @Export("windowMode") - int windowMode; - @ObfuscatedName("j") - @Export("rememberedUsername") - String rememberedUsername; - @ObfuscatedName("n") - @Export("hideUsername") - boolean hideUsername; - @ObfuscatedName("p") - double field1057; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 489243513 - ) - @Export("musicVolume") - int musicVolume; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -482830731 - ) - @Export("soundEffectsVolume") - int soundEffectsVolume; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 452733913 - ) - @Export("areaSoundEffectsVolume") - int areaSoundEffectsVolume; - @ObfuscatedName("e") - @Export("parameters") - LinkedHashMap parameters; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 921813781 + ) + @Export("ClientPreferences_optionCount") + static int ClientPreferences_optionCount = 7; + @ObfuscatedName("d") + @Export("roofsHidden") + boolean roofsHidden; + @ObfuscatedName("c") + @Export("titleMusicDisabled") + boolean titleMusicDisabled; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1342258111 + ) + @Export("windowMode") + int windowMode = 1; + @ObfuscatedName("h") + @Export("rememberedUsername") + String rememberedUsername = null; + @ObfuscatedName("z") + @Export("hideUsername") + boolean hideUsername = false; + @ObfuscatedName("e") + double field1072 = 0.8D; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1550375763 + ) + @Export("musicVolume") + int musicVolume = 127; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 625718061 + ) + @Export("soundEffectsVolume") + int soundEffectsVolume = 127; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -429932721 + ) + @Export("areaSoundEffectsVolume") + int areaSoundEffectsVolume = 127; + @ObfuscatedName("b") + @Export("parameters") + LinkedHashMap parameters = new LinkedHashMap(); - static { - ClientPreferences_optionCount = 7; // L: 11 - } + ClientPreferences() { + this.method1963(true); + } - ClientPreferences() { - this.windowMode = 1; - this.rememberedUsername = null; - this.hideUsername = false; - this.field1057 = 0.8D; - this.musicVolume = 127; - this.soundEffectsVolume = 127; - this.areaSoundEffectsVolume = 127; - this.parameters = new LinkedHashMap(); - this.method1908(true); // L: 25 - } + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + ClientPreferences(Buffer var1) { + if (var1 != null && var1.array != null) { + int var2 = var1.readUnsignedByte(); + if (var2 >= 0 && var2 <= ClientPreferences_optionCount) { + if (var1.readUnsignedByte() == 1) { + this.roofsHidden = true; + } - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - ClientPreferences(Buffer var1) { - this.windowMode = 1; // L: 15 - this.rememberedUsername = null; // L: 16 - this.hideUsername = false; // L: 17 - this.field1057 = 0.8D; // L: 18 - this.musicVolume = 127; // L: 19 - this.soundEffectsVolume = 127; // L: 20 - this.areaSoundEffectsVolume = 127; // L: 21 - this.parameters = new LinkedHashMap(); // L: 22 - if (var1 != null && var1.array != null) { - int var2 = var1.readUnsignedByte(); - if (var2 >= 0 && var2 <= ClientPreferences_optionCount) { - if (var1.readUnsignedByte() == 1) { - this.roofsHidden = true; - } + if (var2 > 1) { + this.titleMusicDisabled = var1.readUnsignedByte() == 1; + } - if (var2 > 1) { // L: 39 - this.titleMusicDisabled = var1.readUnsignedByte() == 1; // L: 40 - } + if (var2 > 3) { + this.windowMode = var1.readUnsignedByte(); + } - if (var2 > 3) { - this.windowMode = var1.readUnsignedByte(); - } + if (var2 > 2) { + int var3 = var1.readUnsignedByte(); - if (var2 > 2) { - int var3 = var1.readUnsignedByte(); + for(int var4 = 0; var4 < var3; ++var4) { + int var5 = var1.readInt(); + int var6 = var1.readInt(); + this.parameters.put(var5, var6); + } + } - for (int var4 = 0; var4 < var3; ++var4) { // L: 47 - int var5 = var1.readInt(); // L: 48 - int var6 = var1.readInt(); // L: 49 - this.parameters.put(var5, var6); - } - } + if (var2 > 4) { + this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); + } - if (var2 > 4) { // L: 53 - this.rememberedUsername = var1.readStringCp1252NullTerminatedOrNull(); // L: 54 - } + if (var2 > 5) { + this.hideUsername = var1.readBoolean(); + } - if (var2 > 5) { // L: 56 - this.hideUsername = var1.readBoolean(); // L: 57 - } + if (var2 > 6) { + this.field1072 = (double)var1.readUnsignedByte() / 100.0D; + this.musicVolume = var1.readUnsignedByte(); + this.soundEffectsVolume = var1.readUnsignedByte(); + this.areaSoundEffectsVolume = var1.readUnsignedByte(); + } + } else { + this.method1963(true); + } + } else { + this.method1963(true); + } - if (var2 > 6) { // L: 59 - this.field1057 = (double)var1.readUnsignedByte() / 100.0D; // L: 60 - this.musicVolume = var1.readUnsignedByte(); // L: 61 - this.soundEffectsVolume = var1.readUnsignedByte(); // L: 62 - this.areaSoundEffectsVolume = var1.readUnsignedByte(); // L: 63 - } - } else { - this.method1908(true); - } - } else { - this.method1908(true); - } + } - } // L: 67 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-83879013" + ) + void method1963(boolean var1) { + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-1410665690" - ) - void method1908(boolean var1) { - } // L: 69 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)Lkx;", + garbageValue = "241772586" + ) + @Export("toBuffer") + Buffer toBuffer() { + Buffer var1 = new Buffer(100); + var1.writeByte(ClientPreferences_optionCount); + var1.writeByte(this.roofsHidden ? 1 : 0); + var1.writeByte(this.titleMusicDisabled ? 1 : 0); + var1.writeByte(this.windowMode); + var1.writeByte(this.parameters.size()); + Iterator var2 = this.parameters.entrySet().iterator(); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)Lkj;", - garbageValue = "-99" - ) - @Export("toBuffer") - Buffer toBuffer() { - Buffer var1 = new Buffer(100); // L: 72 - var1.writeByte(ClientPreferences_optionCount); // L: 73 - var1.writeByte(this.roofsHidden ? 1 : 0); // L: 74 - var1.writeByte(this.titleMusicDisabled ? 1 : 0); // L: 75 - var1.writeByte(this.windowMode); // L: 76 - var1.writeByte(this.parameters.size()); // L: 77 - Iterator var2 = this.parameters.entrySet().iterator(); // L: 78 + while(var2.hasNext()) { + Entry var3 = (Entry)var2.next(); + var1.writeInt((Integer)var3.getKey()); + var1.writeInt((Integer)var3.getValue()); + } - while (var2.hasNext()) { - Entry var3 = (Entry)var2.next(); // L: 79 - var1.writeInt((Integer)var3.getKey()); // L: 81 - var1.writeInt((Integer)var3.getValue()); // L: 82 - } + var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); + var1.writeBoolean(this.hideUsername); + var1.writeByte((int)(this.field1072 * 100.0D)); + var1.writeByte(this.musicVolume); + var1.writeByte(this.soundEffectsVolume); + var1.writeByte(this.areaSoundEffectsVolume); + return var1; + } - var1.writeStringCp1252NullTerminated(this.rememberedUsername != null ? this.rememberedUsername : ""); // L: 85 - var1.writeBoolean(this.hideUsername); // L: 86 - var1.writeByte((int)(100.0D * this.field1057)); // L: 87 - var1.writeByte(this.musicVolume); // L: 88 - var1.writeByte(this.soundEffectsVolume); // L: 89 - var1.writeByte(this.areaSoundEffectsVolume); // L: 90 - return var1; // L: 91 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;II)Z", + garbageValue = "433818884" + ) + static boolean method1972(String var0, int var1) { + return class204.method3888(var0, var1, "openjs"); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;IIB)[Llm;", - garbageValue = "93" - ) - public static SpritePixels[] method1918(AbstractArchive var0, int var1, int var2) { - if (!class304.method5363(var0, var1, var2)) { // L: 23 - return null; - } else { - SpritePixels[] var4 = new SpritePixels[class336.SpriteBuffer_spriteCount]; // L: 26 + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(II)Lel;", + garbageValue = "1792916984" + ) + @Export("getFrames") + static Frames getFrames(int var0) { + Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0); + if (var1 != null) { + return var1; + } else { + var1 = class171.method3642(SequenceDefinition.SequenceDefinition_animationsArchive, SequenceDefinition.SequenceDefinition_skeletonsArchive, var0, false); + if (var1 != null) { + SequenceDefinition.SequenceDefinition_cachedFrames.put(var1, (long)var0); + } - for (int var5 = 0; var5 < class336.SpriteBuffer_spriteCount; ++var5) { // L: 27 - SpritePixels var6 = var4[var5] = new SpritePixels(); // L: 28 - var6.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 29 - var6.height = class336.SpriteBuffer_spriteHeight; // L: 30 - var6.xOffset = class336.SpriteBuffer_xOffsets[var5]; // L: 31 - var6.yOffset = class336.SpriteBuffer_yOffsets[var5]; // L: 32 - var6.subWidth = class336.SpriteBuffer_spriteWidths[var5]; // L: 33 - var6.subHeight = class336.SpriteBuffer_spriteHeights[var5]; // L: 34 - int var7 = var6.subHeight * var6.subWidth; // L: 35 - byte[] var8 = GrandExchangeEvents.SpriteBuffer_pixels[var5]; // L: 36 - var6.pixels = new int[var7]; // L: 37 + return var1; + } + } - for (int var9 = 0; var9 < var7; ++var9) { // L: 38 - var6.pixels[var9] = class336.SpriteBuffer_spritePalette[var8[var9] & 255]; - } - } + @ObfuscatedName("it") + @ObfuscatedSignature( + descriptor = "(Lhz;III)V", + garbageValue = "1981013350" + ) + @Export("alignWidgetPosition") + static void alignWidgetPosition(Widget var0, int var1, int var2) { + if (var0.xAlignment == 0) { + var0.x = var0.rawX; + } else if (var0.xAlignment == 1) { + var0.x = var0.rawX + (var1 - var0.width) / 2; + } else if (var0.xAlignment == 2) { + var0.x = var1 - var0.width - var0.rawX; + } else if (var0.xAlignment == 3) { + var0.x = var0.rawX * var1 >> 14; + } else if (var0.xAlignment == 4) { + var0.x = (var1 - var0.width) / 2 + (var0.rawX * var1 >> 14); + } else { + var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); + } - class336.SpriteBuffer_xOffsets = null; // L: 41 - class336.SpriteBuffer_yOffsets = null; // L: 42 - class336.SpriteBuffer_spriteWidths = null; // L: 43 - class336.SpriteBuffer_spriteHeights = null; // L: 44 - class336.SpriteBuffer_spritePalette = null; // L: 45 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 46 - return var4; // L: 50 - } - } + if (var0.yAlignment == 0) { + var0.y = var0.rawY; + } else if (var0.yAlignment == 1) { + var0.y = (var2 - var0.height) / 2 + var0.rawY; + } else if (var0.yAlignment == 2) { + var0.y = var2 - var0.height - var0.rawY; + } else if (var0.yAlignment == 3) { + var0.y = var2 * var0.rawY >> 14; + } else if (var0.yAlignment == 4) { + var0.y = (var2 * var0.rawY >> 14) + (var2 - var0.height) / 2; + } else { + var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); + } - @ObfuscatedName("hq") - @ObfuscatedSignature( - descriptor = "(Lbq;ZI)V", - garbageValue = "-864569617" - ) - @Export("addPlayerToScene") - static void addPlayerToScene(Player var0, boolean var1) { - if (var0 != null && var0.isVisible() && !var0.isHidden) { // L: 4723 - var0.isUnanimated = false; // L: 4724 - if ((Client.isLowDetail && Players.Players_count > 50 || Players.Players_count > 200) && var1 && var0.movementSequence == var0.idleSequence) { // L: 4725 4726 - var0.isUnanimated = true; - } - - int var2 = var0.x >> 7; // L: 4728 - int var3 = var0.y >> 7; // L: 4729 - if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { // L: 4730 - long var4 = NPC.calculateTag(0, 0, 0, false, var0.index); // L: 4731 - if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { // L: 4732 - var0.isUnanimated = false; // L: 4733 - var0.tileHeight = SecureRandomFuture.getTileHeight(var0.x, var0.y, GameObject.Client_plane); // L: 4734 - var0.playerCycle = Client.cycle; // L: 4735 - ArchiveLoader.scene.addNullableObject(GameObject.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field620, var0.field606, var0.field622, var0.field623); // L: 4736 - } else { - if ((var0.x & 127) == 64 && (var0.y & 127) == 64) { // L: 4739 - if (Client.tileLastDrawnActor[var2][var3] == Client.viewportDrawCount) { // L: 4740 - return; - } - - Client.tileLastDrawnActor[var2][var3] = Client.viewportDrawCount; // L: 4741 - } - - var0.tileHeight = SecureRandomFuture.getTileHeight(var0.x, var0.y, GameObject.Client_plane); // L: 4743 - var0.playerCycle = Client.cycle; // L: 4744 - ArchiveLoader.scene.drawEntity(GameObject.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); // L: 4745 - } - } - } - - } // L: 4749 + } } diff --git a/runescape-client/src/main/java/Clock.java b/runescape-client/src/main/java/Clock.java index 70b0424a6c..4231c7d562 100644 --- a/runescape-client/src/main/java/Clock.java +++ b/runescape-client/src/main/java/Clock.java @@ -1,56 +1,44 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fl") +@ObfuscatedName("fm") @Implements("Clock") public abstract class Clock { - Clock() { - } // L: 4 + @ObfuscatedName("rd") + @ObfuscatedGetter( + intValue = -1841661257 + ) + static int field2079; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2095078818" - ) - @Export("mark") - public abstract void mark(); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "46" + ) + @Export("mark") + public abstract void mark(); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-680717242" - ) - @Export("wait") - public abstract int wait(int var1, int var2); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1861957348" + ) + @Export("wait") + public abstract int wait(int var1, int var2); - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "([BIIB)Ljava/lang/String;", - garbageValue = "74" - ) - @Export("decodeStringCp1252") - public static String decodeStringCp1252(byte[] var0, int var1, int var2) { - char[] var3 = new char[var2]; // L: 136 - int var4 = 0; // L: 137 - - for (int var5 = 0; var5 < var2; ++var5) { // L: 138 - int var6 = var0[var5 + var1] & 255; // L: 139 - if (var6 != 0) { // L: 140 - if (var6 >= 128 && var6 < 160) { // L: 141 - char var7 = class298.cp1252AsciiExtension[var6 - 128]; // L: 142 - if (var7 == 0) { // L: 143 - var7 = '?'; - } - - var6 = var7; // L: 144 - } - - var3[var4++] = (char)var6; // L: 146 - } - } - - return new String(var3, 0, var4); // L: 148 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;Ljava/lang/String;B)I", + garbageValue = "-59" + ) + public static int method3721(Buffer var0, String var1) { + int var2 = var0.offset; + byte[] var3 = class3.method40(var1); + var0.writeSmartByteShort(var3.length); + var0.offset += class219.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); + return var0.offset - var2; + } } diff --git a/runescape-client/src/main/java/CollisionMap.java b/runescape-client/src/main/java/CollisionMap.java index a7502f677d..2662080466 100644 --- a/runescape-client/src/main/java/CollisionMap.java +++ b/runescape-client/src/main/java/CollisionMap.java @@ -4,523 +4,500 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fo") +@ObfuscatedName("fe") @Implements("CollisionMap") public class CollisionMap { - @ObfuscatedName("ll") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - static Widget field2092; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -791234187 - ) - @Export("xInset") - public int xInset; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -32855099 - ) - @Export("yInset") - public int yInset; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -1313868737 - ) - @Export("xSize") - int xSize; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -1461710845 - ) - @Export("ySize") - int ySize; - @ObfuscatedName("ah") - @Export("flags") - public int[][] flags; - - public CollisionMap(int var1, int var2) { - this.xInset = 0; // L: 44 - this.yInset = 0; // L: 45 - this.xSize = var1; // L: 46 - this.ySize = var2; // L: 47 - this.flags = new int[this.xSize][this.ySize]; // L: 48 - this.clear(); // L: 49 - } // L: 50 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "245593528" - ) - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.xSize; ++var1) { // L: 53 - for (int var2 = 0; var2 < this.ySize; ++var2) { // L: 54 - if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) { // L: 55 - this.flags[var1][var2] = 16777216; // L: 56 - } else { - this.flags[var1][var2] = 16777215; - } - } - } - - } // L: 59 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIIIZB)V", - garbageValue = "-12" - ) - public void method3611(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; // L: 62 - var2 -= this.yInset; // L: 63 - if (var3 == 0) { // L: 64 - if (var4 == 0) { // L: 65 - this.setFlag(var1, var2, 128); // L: 66 - this.setFlag(var1 - 1, var2, 8); // L: 67 - } - - if (var4 == 1) { // L: 69 - this.setFlag(var1, var2, 2); // L: 70 - this.setFlag(var1, var2 + 1, 32); // L: 71 - } - - if (var4 == 2) { // L: 73 - this.setFlag(var1, var2, 8); // L: 74 - this.setFlag(var1 + 1, var2, 128); // L: 75 - } - - if (var4 == 3) { // L: 77 - this.setFlag(var1, var2, 32); // L: 78 - this.setFlag(var1, var2 - 1, 2); // L: 79 - } - } - - if (var3 == 1 || var3 == 3) { // L: 82 - if (var4 == 0) { // L: 83 - this.setFlag(var1, var2, 1); // L: 84 - this.setFlag(var1 - 1, var2 + 1, 16); // L: 85 - } - - if (var4 == 1) { // L: 87 - this.setFlag(var1, var2, 4); // L: 88 - this.setFlag(var1 + 1, var2 + 1, 64); // L: 89 - } - - if (var4 == 2) { // L: 91 - this.setFlag(var1, var2, 16); // L: 92 - this.setFlag(var1 + 1, var2 - 1, 1); // L: 93 - } - - if (var4 == 3) { // L: 95 - this.setFlag(var1, var2, 64); // L: 96 - this.setFlag(var1 - 1, var2 - 1, 4); // L: 97 - } - } - - if (var3 == 2) { // L: 100 - if (var4 == 0) { // L: 101 - this.setFlag(var1, var2, 130); // L: 102 - this.setFlag(var1 - 1, var2, 8); // L: 103 - this.setFlag(var1, var2 + 1, 32); // L: 104 - } - - if (var4 == 1) { // L: 106 - this.setFlag(var1, var2, 10); // L: 107 - this.setFlag(var1, var2 + 1, 32); // L: 108 - this.setFlag(var1 + 1, var2, 128); // L: 109 - } - - if (var4 == 2) { // L: 111 - this.setFlag(var1, var2, 40); // L: 112 - this.setFlag(var1 + 1, var2, 128); // L: 113 - this.setFlag(var1, var2 - 1, 2); // L: 114 - } - - if (var4 == 3) { // L: 116 - this.setFlag(var1, var2, 160); // L: 117 - this.setFlag(var1, var2 - 1, 2); // L: 118 - this.setFlag(var1 - 1, var2, 8); // L: 119 - } - } - - if (var5) { // L: 122 - if (var3 == 0) { // L: 123 - if (var4 == 0) { // L: 124 - this.setFlag(var1, var2, 65536); // L: 125 - this.setFlag(var1 - 1, var2, 4096); // L: 126 - } - - if (var4 == 1) { // L: 128 - this.setFlag(var1, var2, 1024); // L: 129 - this.setFlag(var1, var2 + 1, 16384); // L: 130 - } - - if (var4 == 2) { // L: 132 - this.setFlag(var1, var2, 4096); // L: 133 - this.setFlag(var1 + 1, var2, 65536); // L: 134 - } - - if (var4 == 3) { // L: 136 - this.setFlag(var1, var2, 16384); // L: 137 - this.setFlag(var1, var2 - 1, 1024); // L: 138 - } - } - - if (var3 == 1 || var3 == 3) { // L: 141 - if (var4 == 0) { // L: 142 - this.setFlag(var1, var2, 512); // L: 143 - this.setFlag(var1 - 1, var2 + 1, 8192); // L: 144 - } - - if (var4 == 1) { // L: 146 - this.setFlag(var1, var2, 2048); // L: 147 - this.setFlag(var1 + 1, var2 + 1, 32768); // L: 148 - } - - if (var4 == 2) { // L: 150 - this.setFlag(var1, var2, 8192); // L: 151 - this.setFlag(var1 + 1, var2 - 1, 512); // L: 152 - } - - if (var4 == 3) { // L: 154 - this.setFlag(var1, var2, 32768); // L: 155 - this.setFlag(var1 - 1, var2 - 1, 2048); // L: 156 - } - } - - if (var3 == 2) { // L: 159 - if (var4 == 0) { // L: 160 - this.setFlag(var1, var2, 66560); // L: 161 - this.setFlag(var1 - 1, var2, 4096); // L: 162 - this.setFlag(var1, var2 + 1, 16384); // L: 163 - } - - if (var4 == 1) { // L: 165 - this.setFlag(var1, var2, 5120); // L: 166 - this.setFlag(var1, var2 + 1, 16384); // L: 167 - this.setFlag(var1 + 1, var2, 65536); // L: 168 - } - - if (var4 == 2) { // L: 170 - this.setFlag(var1, var2, 20480); // L: 171 - this.setFlag(var1 + 1, var2, 65536); // L: 172 - this.setFlag(var1, var2 - 1, 1024); // L: 173 - } - - if (var4 == 3) { // L: 175 - this.setFlag(var1, var2, 81920); // L: 176 - this.setFlag(var1, var2 - 1, 1024); // L: 177 - this.setFlag(var1 - 1, var2, 4096); // L: 178 - } - } - } - - } // L: 182 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIIIZB)V", - garbageValue = "-10" - ) - @Export("addGameObject") - public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) { - int var6 = 256; // L: 185 - if (var5) { - var6 += 131072; - } - - var1 -= this.xInset; - var2 -= this.yInset; - - for (int var7 = var1; var7 < var3 + var1; ++var7) { - if (var7 >= 0 && var7 < this.xSize) { - for (int var8 = var2; var8 < var2 + var4; ++var8) { // L: 191 - if (var8 >= 0 && var8 < this.ySize) { - this.setFlag(var7, var8, var6); - } - } - } - } - - } // L: 196 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-2097917762" - ) - @Export("setBlockedByFloor") - public void setBlockedByFloor(int var1, int var2) { - var1 -= this.xInset; // L: 199 - var2 -= this.yInset; // L: 200 - int[] var10000 = this.flags[var1]; // L: 201 - var10000[var2] |= 2097152; - } // L: 202 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1697769054" - ) - @Export("setBlockedByFloorDec") - public void setBlockedByFloorDec(int var1, int var2) { - var1 -= this.xInset; // L: 205 - var2 -= this.yInset; // L: 206 - int[] var10000 = this.flags[var1]; // L: 207 - var10000[var2] |= 262144; - } // L: 208 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "4" - ) - @Export("setFlag") - void setFlag(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; // L: 211 - var10000[var2] |= var3; - } // L: 212 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IIIIZI)V", - garbageValue = "1790847002" - ) - public void method3616(int var1, int var2, int var3, int var4, boolean var5) { - var1 -= this.xInset; // L: 215 - var2 -= this.yInset; // L: 216 - if (var3 == 0) { // L: 217 - if (var4 == 0) { // L: 218 - this.setFlagOff(var1, var2, 128); // L: 219 - this.setFlagOff(var1 - 1, var2, 8); // L: 220 - } - - if (var4 == 1) { // L: 222 - this.setFlagOff(var1, var2, 2); // L: 223 - this.setFlagOff(var1, var2 + 1, 32); // L: 224 - } - - if (var4 == 2) { // L: 226 - this.setFlagOff(var1, var2, 8); // L: 227 - this.setFlagOff(var1 + 1, var2, 128); // L: 228 - } - - if (var4 == 3) { // L: 230 - this.setFlagOff(var1, var2, 32); // L: 231 - this.setFlagOff(var1, var2 - 1, 2); // L: 232 - } - } - - if (var3 == 1 || var3 == 3) { // L: 235 - if (var4 == 0) { // L: 236 - this.setFlagOff(var1, var2, 1); // L: 237 - this.setFlagOff(var1 - 1, var2 + 1, 16); // L: 238 - } - - if (var4 == 1) { // L: 240 - this.setFlagOff(var1, var2, 4); // L: 241 - this.setFlagOff(var1 + 1, var2 + 1, 64); // L: 242 - } - - if (var4 == 2) { // L: 244 - this.setFlagOff(var1, var2, 16); // L: 245 - this.setFlagOff(var1 + 1, var2 - 1, 1); // L: 246 - } - - if (var4 == 3) { // L: 248 - this.setFlagOff(var1, var2, 64); // L: 249 - this.setFlagOff(var1 - 1, var2 - 1, 4); // L: 250 - } - } - - if (var3 == 2) { // L: 253 - if (var4 == 0) { // L: 254 - this.setFlagOff(var1, var2, 130); // L: 255 - this.setFlagOff(var1 - 1, var2, 8); // L: 256 - this.setFlagOff(var1, var2 + 1, 32); // L: 257 - } - - if (var4 == 1) { // L: 259 - this.setFlagOff(var1, var2, 10); // L: 260 - this.setFlagOff(var1, var2 + 1, 32); // L: 261 - this.setFlagOff(var1 + 1, var2, 128); // L: 262 - } - - if (var4 == 2) { // L: 264 - this.setFlagOff(var1, var2, 40); // L: 265 - this.setFlagOff(var1 + 1, var2, 128); // L: 266 - this.setFlagOff(var1, var2 - 1, 2); // L: 267 - } - - if (var4 == 3) { // L: 269 - this.setFlagOff(var1, var2, 160); // L: 270 - this.setFlagOff(var1, var2 - 1, 2); // L: 271 - this.setFlagOff(var1 - 1, var2, 8); // L: 272 - } - } - - if (var5) { // L: 275 - if (var3 == 0) { // L: 276 - if (var4 == 0) { // L: 277 - this.setFlagOff(var1, var2, 65536); // L: 278 - this.setFlagOff(var1 - 1, var2, 4096); // L: 279 - } - - if (var4 == 1) { // L: 281 - this.setFlagOff(var1, var2, 1024); // L: 282 - this.setFlagOff(var1, var2 + 1, 16384); // L: 283 - } - - if (var4 == 2) { // L: 285 - this.setFlagOff(var1, var2, 4096); // L: 286 - this.setFlagOff(var1 + 1, var2, 65536); // L: 287 - } - - if (var4 == 3) { // L: 289 - this.setFlagOff(var1, var2, 16384); // L: 290 - this.setFlagOff(var1, var2 - 1, 1024); // L: 291 - } - } - - if (var3 == 1 || var3 == 3) { // L: 294 - if (var4 == 0) { // L: 295 - this.setFlagOff(var1, var2, 512); // L: 296 - this.setFlagOff(var1 - 1, var2 + 1, 8192); // L: 297 - } - - if (var4 == 1) { // L: 299 - this.setFlagOff(var1, var2, 2048); // L: 300 - this.setFlagOff(var1 + 1, var2 + 1, 32768); // L: 301 - } - - if (var4 == 2) { // L: 303 - this.setFlagOff(var1, var2, 8192); // L: 304 - this.setFlagOff(var1 + 1, var2 - 1, 512); // L: 305 - } - - if (var4 == 3) { // L: 307 - this.setFlagOff(var1, var2, 32768); // L: 308 - this.setFlagOff(var1 - 1, var2 - 1, 2048); // L: 309 - } - } - - if (var3 == 2) { // L: 312 - if (var4 == 0) { // L: 313 - this.setFlagOff(var1, var2, 66560); // L: 314 - this.setFlagOff(var1 - 1, var2, 4096); // L: 315 - this.setFlagOff(var1, var2 + 1, 16384); // L: 316 - } - - if (var4 == 1) { // L: 318 - this.setFlagOff(var1, var2, 5120); // L: 319 - this.setFlagOff(var1, var2 + 1, 16384); // L: 320 - this.setFlagOff(var1 + 1, var2, 65536); // L: 321 - } - - if (var4 == 2) { // L: 323 - this.setFlagOff(var1, var2, 20480); // L: 324 - this.setFlagOff(var1 + 1, var2, 65536); // L: 325 - this.setFlagOff(var1, var2 - 1, 1024); // L: 326 - } - - if (var4 == 3) { // L: 328 - this.setFlagOff(var1, var2, 81920); // L: 329 - this.setFlagOff(var1, var2 - 1, 1024); // L: 330 - this.setFlagOff(var1 - 1, var2, 4096); // L: 331 - } - } - } - - } // L: 335 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(IIIIIZB)V", - garbageValue = "4" - ) - @Export("setFlagOffNonSquare") - public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) { - int var7 = 256; // L: 338 - if (var6) { // L: 339 - var7 += 131072; - } - - var1 -= this.xInset; // L: 340 - var2 -= this.yInset; // L: 341 - int var8; - if (var5 == 1 || var5 == 3) { // L: 342 - var8 = var3; // L: 343 - var3 = var4; // L: 344 - var4 = var8; // L: 345 - } - - for (var8 = var1; var8 < var3 + var1; ++var8) { // L: 347 - if (var8 >= 0 && var8 < this.xSize) { // L: 348 - for (int var9 = var2; var9 < var2 + var4; ++var9) { // L: 349 - if (var9 >= 0 && var9 < this.ySize) { - this.setFlagOff(var8, var9, var7); // L: 350 - } - } - } - } - - } // L: 354 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "180780669" - ) - @Export("setFlagOff") - void setFlagOff(int var1, int var2, int var3) { - int[] var10000 = this.flags[var1]; // L: 357 - var10000[var2] &= ~var3; - } // L: 358 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "22" - ) - public void method3619(int var1, int var2) { - var1 -= this.xInset; // L: 361 - var2 -= this.yInset; // L: 362 - int[] var10000 = this.flags[var1]; // L: 363 - var10000[var2] &= -262145; - } // L: 364 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Lhe;", - garbageValue = "185154733" - ) - @Export("getWidget") - public static Widget getWidget(int var0) { - int var1 = var0 >> 16; // L: 186 - int var2 = var0 & 65535; // L: 187 - if (class9.Widget_interfaceComponents[var1] == null || class9.Widget_interfaceComponents[var1][var2] == null) { // L: 188 - boolean var3 = class41.loadInterface(var1); // L: 189 - if (!var3) { // L: 190 - return null; - } - } - - return class9.Widget_interfaceComponents[var1][var2]; // L: 192 - } - - @ObfuscatedName("kn") - @ObfuscatedSignature( - descriptor = "(Lhe;I)V", - garbageValue = "-595086327" - ) - @Export("invalidateWidget") - static void invalidateWidget(Widget var0) { - if (var0.cycle == Client.field852) { // L: 10525 - Client.field901[var0.rootIndex] = true; // L: 10526 - } - - } // L: 10528 + @ObfuscatedName("df") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive13") + static Archive archive13; + @ObfuscatedName("lt") + @ObfuscatedGetter( + intValue = 1808684023 + ) + @Export("menuWidth") + static int menuWidth; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = 406113531 + ) + @Export("xInset") + public int xInset = 0; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = 954576471 + ) + @Export("yInset") + public int yInset = 0; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 359679375 + ) + @Export("xSize") + int xSize; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -1511754603 + ) + @Export("ySize") + int ySize; + @ObfuscatedName("aa") + @Export("flags") + public int[][] flags; + + public CollisionMap(int var1, int var2) { + this.xSize = var1; + this.ySize = var2; + this.flags = new int[this.xSize][this.ySize]; + this.clear(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "202465508" + ) + @Export("clear") + public void clear() { + 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; + } else { + this.flags[var1][var2] = 16777215; + } + } + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIIZI)V", + garbageValue = "-1197529454" + ) + public void method3749(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.setFlag(var1, var2, 128); + this.setFlag(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 2); + this.setFlag(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 8); + this.setFlag(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 32); + this.setFlag(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlag(var1, var2, 1); + this.setFlag(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 4); + this.setFlag(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 16); + this.setFlag(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 64); + this.setFlag(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlag(var1, var2, 130); + this.setFlag(var1 - 1, var2, 8); + this.setFlag(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 10); + this.setFlag(var1, var2 + 1, 32); + this.setFlag(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 40); + this.setFlag(var1 + 1, var2, 128); + this.setFlag(var1, var2 - 1, 2); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 160); + this.setFlag(var1, var2 - 1, 2); + this.setFlag(var1 - 1, var2, 8); + } + } + + if (var5) { + if (var3 == 0) { + if (var4 == 0) { + this.setFlag(var1, var2, 65536); + this.setFlag(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 1024); + this.setFlag(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 4096); + this.setFlag(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 16384); + this.setFlag(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlag(var1, var2, 512); + this.setFlag(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 2048); + this.setFlag(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 8192); + this.setFlag(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 32768); + this.setFlag(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlag(var1, var2, 66560); + this.setFlag(var1 - 1, var2, 4096); + this.setFlag(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.setFlag(var1, var2, 5120); + this.setFlag(var1, var2 + 1, 16384); + this.setFlag(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.setFlag(var1, var2, 20480); + this.setFlag(var1 + 1, var2, 65536); + this.setFlag(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.setFlag(var1, var2, 81920); + this.setFlag(var1, var2 - 1, 1024); + this.setFlag(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIIZI)V", + garbageValue = "-524306614" + ) + @Export("addGameObject") + public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) { + int var6 = 256; + if (var5) { + var6 += 131072; + } + + var1 -= this.xInset; + var2 -= this.yInset; + + for(int var7 = var1; var7 < var3 + var1; ++var7) { + if (var7 >= 0 && var7 < this.xSize) { + for(int var8 = var2; var8 < var2 + var4; ++var8) { + if (var8 >= 0 && var8 < this.ySize) { + this.setFlag(var7, var8, var6); + } + } + } + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-190427949" + ) + @Export("setBlockedByFloor") + public void setBlockedByFloor(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + this.flags[var1][var2] |= 2097152; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1930968557" + ) + @Export("setBlockedByFloorDec") + public void setBlockedByFloorDec(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + this.flags[var1][var2] |= 262144; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "1183739500" + ) + @Export("setFlag") + void setFlag(int var1, int var2, int var3) { + this.flags[var1][var2] |= var3; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(IIIIZI)V", + garbageValue = "-118204308" + ) + public void method3755(int var1, int var2, int var3, int var4, boolean var5) { + var1 -= this.xInset; + var2 -= this.yInset; + if (var3 == 0) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 128); + this.setFlagOff(var1 - 1, var2, 8); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 2); + this.setFlagOff(var1, var2 + 1, 32); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 8); + this.setFlagOff(var1 + 1, var2, 128); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 32); + this.setFlagOff(var1, var2 - 1, 2); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 1); + this.setFlagOff(var1 - 1, var2 + 1, 16); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 4); + this.setFlagOff(var1 + 1, var2 + 1, 64); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 16); + this.setFlagOff(var1 + 1, var2 - 1, 1); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 64); + this.setFlagOff(var1 - 1, var2 - 1, 4); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 130); + this.setFlagOff(var1 - 1, var2, 8); + this.setFlagOff(var1, var2 + 1, 32); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 10); + this.setFlagOff(var1, var2 + 1, 32); + this.setFlagOff(var1 + 1, var2, 128); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 40); + this.setFlagOff(var1 + 1, var2, 128); + this.setFlagOff(var1, var2 - 1, 2); + } + + if (var4 == 3) { + 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.setFlagOff(var1, var2, 65536); + this.setFlagOff(var1 - 1, var2, 4096); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 1024); + this.setFlagOff(var1, var2 + 1, 16384); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 4096); + this.setFlagOff(var1 + 1, var2, 65536); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 16384); + this.setFlagOff(var1, var2 - 1, 1024); + } + } + + if (var3 == 1 || var3 == 3) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 512); + this.setFlagOff(var1 - 1, var2 + 1, 8192); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 2048); + this.setFlagOff(var1 + 1, var2 + 1, 32768); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 8192); + this.setFlagOff(var1 + 1, var2 - 1, 512); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 32768); + this.setFlagOff(var1 - 1, var2 - 1, 2048); + } + } + + if (var3 == 2) { + if (var4 == 0) { + this.setFlagOff(var1, var2, 66560); + this.setFlagOff(var1 - 1, var2, 4096); + this.setFlagOff(var1, var2 + 1, 16384); + } + + if (var4 == 1) { + this.setFlagOff(var1, var2, 5120); + this.setFlagOff(var1, var2 + 1, 16384); + this.setFlagOff(var1 + 1, var2, 65536); + } + + if (var4 == 2) { + this.setFlagOff(var1, var2, 20480); + this.setFlagOff(var1 + 1, var2, 65536); + this.setFlagOff(var1, var2 - 1, 1024); + } + + if (var4 == 3) { + this.setFlagOff(var1, var2, 81920); + this.setFlagOff(var1, var2 - 1, 1024); + this.setFlagOff(var1 - 1, var2, 4096); + } + } + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IIIIIZI)V", + garbageValue = "-60481417" + ) + @Export("setFlagOffNonSquare") + public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) { + int var7 = 256; + if (var6) { + var7 += 131072; + } + + var1 -= this.xInset; + var2 -= this.yInset; + int var8; + if (var5 == 1 || var5 == 3) { + var8 = var3; + var3 = var4; + var4 = var8; + } + + for(var8 = var1; var8 < var3 + var1; ++var8) { + if (var8 >= 0 && var8 < this.xSize) { + for(int var9 = var2; var9 < var2 + var4; ++var9) { + if (var9 >= 0 && var9 < this.ySize) { + this.setFlagOff(var8, var9, var7); + } + } + } + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "-1684469996" + ) + @Export("setFlagOff") + void setFlagOff(int var1, int var2, int var3) { + this.flags[var1][var2] &= ~var3; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "50" + ) + public void method3758(int var1, int var2) { + var1 -= this.xInset; + var2 -= this.yInset; + this.flags[var1][var2] &= -262145; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-425631608" + ) + public static boolean method3781(int var0) { + return (var0 >> 20 & 1) != 0; + } } diff --git a/runescape-client/src/main/java/Coord.java b/runescape-client/src/main/java/Coord.java index d74cc79028..b10029a224 100644 --- a/runescape-client/src/main/java/Coord.java +++ b/runescape-client/src/main/java/Coord.java @@ -4,132 +4,141 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hs") +@ObfuscatedName("hd") @Implements("Coord") public class Coord { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -578473323 - ) - @Export("plane") - public int plane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1743960415 - ) - @Export("x") - public int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1369689255 - ) - @Export("y") - public int y; + @ObfuscatedName("q") + static int[] field2560; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1010419141 + ) + @Export("plane") + public int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1636543291 + ) + @Export("x") + public int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1486415971 + ) + @Export("y") + public int y; - @ObfuscatedSignature( - descriptor = "(Lhs;)V" - ) - public Coord(Coord var1) { - this.plane = var1.plane; // L: 15 - this.x = var1.x; // L: 16 - this.y = var1.y; // L: 17 - } // L: 18 + @ObfuscatedSignature( + descriptor = "(Lhd;)V" + ) + public Coord(Coord var1) { + this.plane = var1.plane; + this.x = var1.x; + this.y = var1.y; + } - public Coord(int var1, int var2, int var3) { - this.plane = var1; // L: 9 - this.x = var2; // L: 10 - this.y = var3; // L: 11 - } // L: 12 + public Coord(int var1, int var2, int var3) { + this.plane = var1; + this.x = var2; + this.y = var3; + } - public Coord(int var1) { - if (var1 == -1) { // L: 21 - this.plane = -1; - } else { - this.plane = var1 >> 28 & 3; // L: 23 - this.x = var1 >> 14 & 16383; // L: 24 - this.y = var1 & 16383; // L: 25 - } + public Coord(int var1) { + if (var1 == -1) { + this.plane = -1; + } else { + this.plane = var1 >> 28 & 3; + this.x = var1 >> 14 & 16383; + this.y = var1 & 16383; + } - } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-27" - ) - @Export("packed") - public int packed() { - return this.plane << 28 | this.x << 14 | this.y; // L: 30 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "71745539" + ) + @Export("packed") + public int packed() { + return this.plane << 28 | this.x << 14 | this.y; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lhs;I)Z", - garbageValue = "902297370" - ) - @Export("equalsCoord") - boolean equalsCoord(Coord var1) { - if (this.plane != var1.plane) { - return false; - } else if (this.x != var1.x) { - return false; - } else { - return this.y == var1.y; - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lhd;S)Z", + garbageValue = "144" + ) + @Export("equalsCoord") + boolean equalsCoord(Coord var1) { + if (this.plane != var1.plane) { + return false; + } else if (this.x != var1.x) { + return false; + } else { + return this.y == var1.y; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1856185425" - ) - @Export("toString") - String toString(String var1) { - return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63); // L: 55 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)Ljava/lang/String;", + garbageValue = "31" + ) + @Export("toString") + String toString(String var1) { + return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63); + } - public boolean equals(Object var1) { - if (this == var1) { - return true; - } else { - return !(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1); // L: 36 - } - } + public boolean equals(Object var1) { + if (this == var1) { + return true; + } else { + return !(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1); + } + } - public int hashCode() { - return this.packed(); // L: 47 - } + public int hashCode() { + return this.packed(); + } - public String toString() { - return this.toString(","); // L: 51 - } + public String toString() { + return this.toString(","); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-676384531" - ) - @Export("getVarbit") - public static int getVarbit(int var0) { - VarbitComposition var2 = (VarbitComposition) VarbitComposition.VarbitDefinition_cached.get((long)var0); // L: 26 - VarbitComposition var1; - if (var2 != null) { // L: 27 - var1 = var2; // L: 28 - } else { - byte[] var3 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); // L: 31 - var2 = new VarbitComposition(); // L: 32 - if (var3 != null) { // L: 33 - var2.decode(new Buffer(var3)); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "1310695522" + ) + @Export("iLog") + public static int iLog(int var0) { + int var1 = 0; + if (var0 < 0 || var0 >= 65536) { + var0 >>>= 16; + var1 += 16; + } - VarbitComposition.VarbitDefinition_cached.put(var2, (long)var0); // L: 34 - var1 = var2; // L: 35 - } + if (var0 >= 256) { + var0 >>>= 8; + var1 += 8; + } - int var7 = var1.baseVar; // L: 38 - int var4 = var1.startBit; // L: 39 - int var5 = var1.endBit; // L: 40 - int var6 = Varps.Varps_masks[var5 - var4]; // L: 41 - return Varps.Varps_main[var7] >> var4 & var6; // L: 42 - } + if (var0 >= 16) { + var0 >>>= 4; + var1 += 4; + } + + if (var0 >= 4) { + var0 >>>= 2; + var1 += 2; + } + + if (var0 >= 1) { + var0 >>>= 1; + ++var1; + } + + return var0 + var1; + } } diff --git a/runescape-client/src/main/java/Decimator.java b/runescape-client/src/main/java/Decimator.java index def012cdcc..d7877b2d6e 100644 --- a/runescape-client/src/main/java/Decimator.java +++ b/runescape-client/src/main/java/Decimator.java @@ -4,160 +4,218 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dn") +@ObfuscatedName("dq") @Implements("Decimator") public class Decimator { - @ObfuscatedName("ig") - @ObfuscatedGetter( - intValue = -303993957 - ) - @Export("oculusOrbFocalPointY") - static int oculusOrbFocalPointY; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1543125857 - ) - @Export("inputRate") - int inputRate; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1624874363 - ) - @Export("outputRate") - int outputRate; - @ObfuscatedName("j") - @Export("table") - int[][] table; + @ObfuscatedName("rl") + @ObfuscatedGetter( + intValue = 1495811456 + ) + static int field1475; + @ObfuscatedName("eu") + @ObfuscatedGetter( + intValue = 18883239 + ) + static int field1480; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1921433287 + ) + @Export("inputRate") + int inputRate; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1053329407 + ) + @Export("outputRate") + int outputRate; + @ObfuscatedName("h") + @Export("table") + int[][] table; - public Decimator(int var1, int var2) { - if (var2 != var1) { // L: 14 - int var4 = var1; // L: 16 - int var5 = var2; - if (var2 > var1) { // L: 19 - var4 = var2; // L: 21 - var5 = var1; // L: 22 - } + public Decimator(int var1, int var2) { + if (var2 != var1) { + int var4 = var1; + int var5 = var2; + if (var2 > var1) { + var4 = var2; + var5 = var1; + } - while (var5 != 0) { // L: 24 - int var6 = var4 % var5; // L: 25 - var4 = var5; // L: 26 - var5 = var6; // L: 27 - } + while(var5 != 0) { + int var6 = var4 % var5; + var4 = var5; + var5 = var6; + } - var1 /= var4; // L: 32 - var2 /= var4; // L: 33 - this.inputRate = var1; // L: 34 - this.outputRate = var2; // L: 35 - this.table = new int[var1][14]; // L: 36 + var1 /= var4; + var2 /= var4; + this.inputRate = var1; + this.outputRate = var2; + this.table = new int[var1][14]; - for (int var7 = 0; var7 < var1; ++var7) { // L: 37 - int[] var8 = this.table[var7]; // L: 38 - double var9 = 6.0D + (double)var7 / (double)var1; // L: 39 - int var11 = (int)Math.floor(1.0D + (var9 - 7.0D)); // L: 40 - if (var11 < 0) { // L: 41 - var11 = 0; - } + for(int var7 = 0; var7 < var1; ++var7) { + int[] var8 = this.table[var7]; + double var9 = (double)var7 / (double)var1 + 6.0D; + int var11 = (int)Math.floor(1.0D + (var9 - 7.0D)); + if (var11 < 0) { + var11 = 0; + } - int var12 = (int)Math.ceil(7.0D + var9); // L: 42 - if (var12 > 14) { // L: 43 - var12 = 14; - } + int var12 = (int)Math.ceil(var9 + 7.0D); + if (var12 > 14) { + var12 = 14; + } - for (double var13 = (double)var2 / (double)var1; var11 < var12; ++var11) { // L: 44 45 - double var15 = 3.141592653589793D * ((double)var11 - var9); // L: 46 - double var17 = var13; // L: 47 - if (var15 < -1.0E-4D || var15 > 1.0E-4D) { // L: 48 - var17 = var13 * (Math.sin(var15) / var15); - } + for(double var13 = (double)var2 / (double)var1; var11 < var12; ++var11) { + double var15 = ((double)var11 - var9) * 3.141592653589793D; + double var17 = var13; + if (var15 < -1.0E-4D || var15 > 1.0E-4D) { + var17 = var13 * (Math.sin(var15) / var15); + } - var17 *= 0.54D + 0.46D * Math.cos(((double)var11 - var9) * 0.2243994752564138D); // L: 49 - var8[var11] = (int)Math.floor(var17 * 65536.0D + 0.5D); // L: 50 - } - } + var17 *= 0.54D + 0.46D * Math.cos(((double)var11 - var9) * 0.2243994752564138D); + var8[var11] = (int)Math.floor(var17 * 65536.0D + 0.5D); + } + } - } - } // L: 53 + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BI)[B", - garbageValue = "-77952931" - ) - @Export("resample") - byte[] resample(byte[] var1) { - if (this.table != null) { // L: 56 - int var2 = (int)((long)var1.length * (long)this.outputRate / (long)this.inputRate) + 14; // L: 57 - int[] var3 = new int[var2]; // L: 58 - int var4 = 0; // L: 59 - int var5 = 0; // L: 60 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BI)[B", + garbageValue = "-153024312" + ) + @Export("resample") + byte[] resample(byte[] var1) { + if (this.table != null) { + int var2 = (int)((long)var1.length * (long)this.outputRate / (long)this.inputRate) + 14; + int[] var3 = new int[var2]; + int var4 = 0; + int var5 = 0; - int var6; - for (var6 = 0; var6 < var1.length; ++var6) { // L: 61 - byte var7 = var1[var6]; // L: 62 - int[] var8 = this.table[var5]; // L: 63 + int var6; + for(var6 = 0; var6 < var1.length; ++var6) { + byte var7 = var1[var6]; + int[] var8 = this.table[var5]; - int var9; - for (var9 = 0; var9 < 14; ++var9) { // L: 64 - var3[var4 + var9] += var8[var9] * var7; - } + int var9; + for(var9 = 0; var9 < 14; ++var9) { + var3[var9 + var4] += var7 * var8[var9]; + } - var5 += this.outputRate; // L: 65 - var9 = var5 / this.inputRate; // L: 66 - var4 += var9; // L: 67 - var5 -= var9 * this.inputRate; // L: 68 - } + var5 += this.outputRate; + var9 = var5 / this.inputRate; + var4 += var9; + var5 -= var9 * this.inputRate; + } - var1 = new byte[var2]; // L: 70 + var1 = new byte[var2]; - for (var6 = 0; var6 < var2; ++var6) { // L: 71 - int var10 = var3[var6] + 32768 >> 16; // L: 72 - if (var10 < -128) { // L: 73 - var1[var6] = -128; - } else if (var10 > 127) { // L: 74 - var1[var6] = 127; - } else { - var1[var6] = (byte)var10; // L: 75 - } - } - } + for(var6 = 0; var6 < var2; ++var6) { + int var10 = var3[var6] + '耀' >> 16; + if (var10 < -128) { + var1[var6] = -128; + } else if (var10 > 127) { + var1[var6] = 127; + } else { + var1[var6] = (byte)var10; + } + } + } - return var1; // L: 78 - } + return var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-4" - ) - @Export("scaleRate") - int scaleRate(int var1) { - if (this.table != null) { // L: 82 - var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-128" + ) + @Export("scaleRate") + int scaleRate(int var1) { + if (this.table != null) { + var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate); + } - return var1; // L: 83 - } + return var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-38" - ) - @Export("scalePosition") - int scalePosition(int var1) { - if (this.table != null) { // L: 87 - var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "0" + ) + @Export("scalePosition") + int scalePosition(int var1) { + if (this.table != null) { + var1 = (int)((long)var1 * (long)this.outputRate / (long)this.inputRate) + 6; + } - return var1; // L: 88 - } + return var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "319524550" - ) - public static boolean method2598(int var0) { - return (var0 >> 21 & 1) != 0; // L: 17 - } + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1972966178" + ) + static void method2704() { + if (WorldMapData_0.loadWorlds()) { + Login.worldSelectOpen = true; + Login.worldSelectPage = 0; + Login.worldSelectPagesCount = 0; + } + + } + + @ObfuscatedName("gn") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "909165860" + ) + static final void method2708() { + for(Projectile var0 = (Projectile)Client.projectiles.last(); var0 != null; var0 = (Projectile)Client.projectiles.previous()) { + if (var0.plane == class90.Client_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, WorldMapRegion.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 = UserComparator9.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, WorldMapRegion.getTileHeight(var3.x, var3.y, var0.plane) - var0.endHeight, Client.cycle); + } + } + + var0.advance(Client.field808); + MilliClock.scene.drawEntity(class90.Client_plane, (int)var0.x, (int)var0.y, (int)var0.z, 60, var0, var0.yaw, -1L, false); + } + } else { + var0.remove(); + } + } + + } + + @ObfuscatedName("jk") + static final void method2707(double var0) { + Rasterizer3D.Rasterizer3D_setBrightness(var0); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(var0); + WorldMapData_0.method239(); + WorldMapSectionType.clientPreferences.field1072 = var0; + class23.savePreferences(); + } } diff --git a/runescape-client/src/main/java/DefaultsGroup.java b/runescape-client/src/main/java/DefaultsGroup.java index 9e65bc4126..51d4561a72 100644 --- a/runescape-client/src/main/java/DefaultsGroup.java +++ b/runescape-client/src/main/java/DefaultsGroup.java @@ -4,71 +4,28 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ld") +@ObfuscatedName("lw") @Implements("DefaultsGroup") public class DefaultsGroup { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lld;" - ) - static final DefaultsGroup field3839; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 139926061 - ) - @Export("group") - final int group; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llw;" + ) + static final DefaultsGroup field3837 = new DefaultsGroup(3); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "[[Lhz;" + ) + @Export("Widget_interfaceComponents") + public static Widget[][] Widget_interfaceComponents; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1717211989 + ) + @Export("group") + final int group; - static { - field3839 = new DefaultsGroup(3); // L: 4 - } - - DefaultsGroup(int var1) { - this.group = var1; // L: 8 - } // L: 9 - - @ObfuscatedName("fd") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "19331" - ) - static void method5939() { - Client.packetWriter.clearBuffer(); // L: 2758 - Client.packetWriter.packetBuffer.offset = 0; // L: 2759 - Client.packetWriter.serverPacket = null; // L: 2760 - Client.packetWriter.field1335 = null; // L: 2761 - Client.packetWriter.field1336 = null; // L: 2762 - Client.packetWriter.field1337 = null; // L: 2763 - Client.packetWriter.serverPacketLength = 0; // L: 2764 - Client.packetWriter.field1333 = 0; // L: 2765 - Client.rebootTimer = 0; // L: 2766 - Client.menuOptionsCount = 0; // L: 2768 - Client.isMenuOpen = false; // L: 2769 - Client.minimapState = 0; // L: 2771 - Client.destinationX = 0; // L: 2772 - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { // L: 2773 - Client.players[var0] = null; - } - - PlayerComposition.localPlayer = null; // L: 2774 - - for (var0 = 0; var0 < Client.npcs.length; ++var0) { // L: 2775 - NPC var1 = Client.npcs[var0]; // L: 2776 - if (var1 != null) { // L: 2777 - var1.targetIndex = -1; // L: 2778 - var1.false0 = false; // L: 2779 - } - } - - ItemContainer.itemContainers = new NodeHashTable(32); // L: 2783 - WorldMapCacheName.updateGameState(30); // L: 2785 - - for (var0 = 0; var0 < 100; ++var0) { // L: 2786 - Client.field901[var0] = true; - } - - MouseRecorder.method1264(); // L: 2787 - } // L: 2788 + DefaultsGroup(int var1) { + this.group = var1; + } } diff --git a/runescape-client/src/main/java/DemotingHashTable.java b/runescape-client/src/main/java/DemotingHashTable.java index 3237e5a9f6..2cd7b4f72e 100644 --- a/runescape-client/src/main/java/DemotingHashTable.java +++ b/runescape-client/src/main/java/DemotingHashTable.java @@ -3,154 +3,155 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fr") +@ObfuscatedName("fh") @Implements("DemotingHashTable") public final class DemotingHashTable { - @ObfuscatedName("h") - @Export("capacity") - int capacity; - @ObfuscatedName("v") - @Export("remaining") - int remaining; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Ljf;" - ) - @Export("queue") - IterableDualNodeQueue queue; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Len;" - ) - class155 field1984; + @ObfuscatedName("n") + @Export("capacity") + int capacity; + @ObfuscatedName("v") + @Export("remaining") + int remaining; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Ljf;" + ) + @Export("queue") + IterableDualNodeQueue queue = new IterableDualNodeQueue(); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lez;" + ) + class155 field1976; - public DemotingHashTable(int var1, int var2) { - this.queue = new IterableDualNodeQueue(); // L: 11 - this.capacity = var1; // L: 15 - this.remaining = var1; // L: 16 + public DemotingHashTable(int var1, int var2) { + this.capacity = var1; + this.remaining = var1; - int var3; - for (var3 = 1; var3 + var3 < var1 && var3 < var2; var3 += var3) { // L: 17 18 - } + int var3; + for(var3 = 1; var3 + var3 < var1 && var3 < var2; var3 += var3) { + ; + } - this.hashTable = new IterableNodeHashTable(var3); // L: 19 - } // L: 20 + this.hashTable = new IterableNodeHashTable(var3); + } - @ObfuscatedName("h") - @Export("get") - public Object get(long var1) { - Wrapper var3 = (Wrapper)this.hashTable.get(var1); // L: 23 - if (var3 == null) { // L: 24 - return null; - } else { - Object var4 = var3.get(); // L: 25 - if (var4 == null) { // L: 26 - var3.remove(); // L: 27 - var3.removeDual(); // L: 28 - this.remaining += var3.size; // L: 29 - return null; // L: 30 - } else { - if (var3.isSoft()) { // L: 32 - DirectWrapper var5 = new DirectWrapper(var4, var3.size); // L: 33 - this.hashTable.put(var5, var3.key); // L: 34 - this.queue.add(var5); // L: 35 - var5.keyDual = 0L; // L: 36 - var3.remove(); // L: 37 - var3.removeDual(); // L: 38 - } else { - this.queue.add(var3); // L: 41 - var3.keyDual = 0L; // L: 42 - } + @ObfuscatedName("n") + @Export("get") + public Object get(long var1) { + Wrapper var3 = (Wrapper)this.hashTable.get(var1); + if (var3 == null) { + return null; + } else { + Object var4 = var3.get(); + if (var4 == null) { + var3.remove(); + var3.removeDual(); + this.remaining += var3.size; + return null; + } else { + if (var3.isSoft()) { + DirectWrapper var5 = new DirectWrapper(var4, var3.size); + this.hashTable.put(var5, var3.key); + this.queue.add(var5); + var5.keyDual = 0L; + var3.remove(); + var3.removeDual(); + } else { + this.queue.add(var3); + var3.keyDual = 0L; + } - return var4; // L: 44 - } - } - } + return var4; + } + } + } - @ObfuscatedName("v") - @Export("remove") - void remove(long var1) { - Wrapper var3 = (Wrapper)this.hashTable.get(var1); // L: 48 - this.removeWrapper(var3); // L: 49 - } // L: 50 + @ObfuscatedName("v") + @Export("remove") + void remove(long var1) { + Wrapper var3 = (Wrapper)this.hashTable.get(var1); + this.removeWrapper(var3); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lft;)V" - ) - @Export("removeWrapper") - void removeWrapper(Wrapper var1) { - if (var1 != null) { // L: 53 - var1.remove(); // L: 54 - var1.removeDual(); // L: 55 - this.remaining += var1.size; // L: 56 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lfa;)V" + ) + @Export("removeWrapper") + void removeWrapper(Wrapper var1) { + if (var1 != null) { + var1.remove(); + var1.removeDual(); + this.remaining += var1.size; + } - } // L: 58 + } - @ObfuscatedName("w") - @Export("put") - public void put(Object var1, long var2, int var4) { - if (var4 > this.capacity) { // L: 61 - throw new IllegalStateException(); - } else { - this.remove(var2); // L: 62 - this.remaining -= var4; // L: 63 + @ObfuscatedName("c") + @Export("put") + public void put(Object var1, long var2, int var4) { + if (var4 > this.capacity) { + throw new IllegalStateException(); + } else { + this.remove(var2); + this.remaining -= var4; - while (this.remaining < 0) { // L: 64 - Wrapper var5 = (Wrapper)this.queue.removeLast(); // L: 65 - if (var5 == null) { // L: 66 - throw new RuntimeException(""); // L: 67 - } + while(this.remaining < 0) { + Wrapper var5 = (Wrapper)this.queue.removeLast(); + if (var5 == null) { + throw new RuntimeException(""); + } - if (!var5.isSoft()) { // L: 69 - } + if (!var5.isSoft()) { + ; + } - this.removeWrapper(var5); // L: 70 - if (this.field1984 != null) { // L: 71 - this.field1984.method3411(var5.get()); // L: 72 - } - } + this.removeWrapper(var5); + if (this.field1976 != null) { + this.field1976.method3493(var5.get()); + } + } - DirectWrapper var6 = new DirectWrapper(var1, var4); // L: 75 - this.hashTable.put(var6, var2); // L: 76 - this.queue.add(var6); // L: 77 - var6.keyDual = 0L; // L: 78 - } - } // L: 79 + DirectWrapper var6 = new DirectWrapper(var1, var4); + this.hashTable.put(var6, var2); + this.queue.add(var6); + var6.keyDual = 0L; + } + } - @ObfuscatedName("t") - @Export("demote") - public void demote(int var1) { - for (Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) { // L: 82 - if (var2.isSoft()) { // L: 83 - if (var2.get() == null) { // L: 84 - var2.remove(); // L: 85 - var2.removeDual(); // L: 86 - this.remaining += var2.size; // L: 87 - } - } else if (++var2.keyDual > (long)var1) { // L: 92 - SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size); // L: 93 - this.hashTable.put(var3, var2.key); // L: 94 - IterableDualNodeQueue.DualNodeDeque_addBefore(var3, var2); // L: 95 - var2.remove(); // L: 96 - var2.removeDual(); // L: 97 - } - } + @ObfuscatedName("y") + @Export("demote") + public void demote(int var1) { + for(Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) { + if (var2.isSoft()) { + if (var2.get() == null) { + var2.remove(); + var2.removeDual(); + this.remaining += var2.size; + } + } else if (++var2.keyDual > (long)var1) { + SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size); + this.hashTable.put(var3, var2.key); + IterableDualNodeQueue.DualNodeDeque_addBefore(var3, var2); + var2.remove(); + var2.removeDual(); + } + } - } // L: 101 + } - @ObfuscatedName("j") - @Export("clear") - public void clear() { - this.queue.clear(); // L: 104 - this.hashTable.clear(); // L: 105 - this.remaining = this.capacity; // L: 106 - } // L: 107 + @ObfuscatedName("h") + @Export("clear") + public void clear() { + this.queue.clear(); + this.hashTable.clear(); + this.remaining = this.capacity; + } } diff --git a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java index 62b893ec30..5a27d40f6c 100644 --- a/runescape-client/src/main/java/DesktopPlatformInfoProvider.java +++ b/runescape-client/src/main/java/DesktopPlatformInfoProvider.java @@ -4,201 +4,213 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mc") +@ObfuscatedName("mi") @Implements("DesktopPlatformInfoProvider") public class DesktopPlatformInfoProvider implements PlatformInfoProvider { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -935966695 - ) - int field3941; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1689133229 - ) - int field3942; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -685403723 - ) - int field3943; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1161776031 + ) + int field3937; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1334910237 + ) + int field3941; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1711664603 + ) + int field3939; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Lmf;", - garbageValue = "-1820791637" - ) - @Export("get") - public PlatformInfo get() { - byte var1; - if (ObjectSound.field1077.startsWith("win")) { // L: 15 - var1 = 1; - } else if (ObjectSound.field1077.startsWith("mac")) { // L: 16 - var1 = 2; - } else if (ObjectSound.field1077.startsWith("linux")) { // L: 17 - var1 = 3; - } else { - var1 = 4; // L: 18 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Lmn;", + garbageValue = "583399336" + ) + @Export("get") + public PlatformInfo get() { + byte var1; + if (GZipDecompressor.field4046.startsWith("win")) { + var1 = 1; + } else if (GZipDecompressor.field4046.startsWith("mac")) { + var1 = 2; + } else if (GZipDecompressor.field4046.startsWith("linux")) { + var1 = 3; + } else { + var1 = 4; + } - String var2; - try { - var2 = System.getProperty("os.arch").toLowerCase(); // L: 22 - } catch (Exception var27) { // L: 24 - var2 = ""; // L: 25 - } + String var2; + try { + var2 = System.getProperty("os.arch").toLowerCase(); + } catch (Exception var27) { + var2 = ""; + } - String var3; - try { - var3 = System.getProperty("os.version").toLowerCase(); // L: 28 - } catch (Exception var26) { // L: 30 - var3 = ""; // L: 31 - } + String var3; + try { + var3 = System.getProperty("os.version").toLowerCase(); + } catch (Exception var26) { + var3 = ""; + } - String var4 = "Unknown"; // L: 33 - String var5 = "1.1"; // L: 34 + String var4 = "Unknown"; + String var5 = "1.1"; - try { - var4 = System.getProperty("java.vendor"); // L: 36 - var5 = System.getProperty("java.version"); // L: 37 - } catch (Exception var25) { // L: 39 - } + try { + var4 = System.getProperty("java.vendor"); + var5 = System.getProperty("java.version"); + } catch (Exception var25) { + ; + } - boolean var24; - if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { // L: 41 - var24 = false; // L: 42 - } else { - var24 = true; - } + boolean var24; + if (!var2.startsWith("amd64") && !var2.startsWith("x86_64")) { + var24 = false; + } else { + var24 = true; + } - byte var7 = 0; // L: 43 - if (var1 == 1) { // L: 44 - if (var3.indexOf("4.0") != -1) { // L: 45 - var7 = 1; - } else if (var3.indexOf("4.1") != -1) { // L: 46 - var7 = 2; - } else if (var3.indexOf("4.9") != -1) { // L: 47 - var7 = 3; - } else if (var3.indexOf("5.0") != -1) { // L: 48 - var7 = 4; - } else if (var3.indexOf("5.1") != -1) { // L: 49 - var7 = 5; - } else if (var3.indexOf("5.2") != -1) { // L: 50 - var7 = 8; - } else if (var3.indexOf("6.0") != -1) { // L: 51 - var7 = 6; - } else if (var3.indexOf("6.1") != -1) { // L: 52 - var7 = 7; - } else if (var3.indexOf("6.2") != -1) { // L: 53 - var7 = 9; - } else if (var3.indexOf("6.3") != -1) { // L: 54 - var7 = 10; - } else if (var3.indexOf("10.0") != -1) { // L: 55 - var7 = 11; - } - } else if (var1 == 2) { // L: 57 - if (var3.indexOf("10.4") != -1) { // L: 58 - var7 = 20; - } else if (var3.indexOf("10.5") != -1) { // L: 59 - var7 = 21; - } else if (var3.indexOf("10.6") != -1) { // L: 60 - var7 = 22; - } else if (var3.indexOf("10.7") != -1) { // L: 61 - var7 = 23; - } else if (var3.indexOf("10.8") != -1) { // L: 62 - var7 = 24; - } else if (var3.indexOf("10.9") != -1) { // L: 63 - var7 = 25; - } else if (var3.indexOf("10.10") != -1) { // L: 64 - var7 = 26; - } else if (var3.indexOf("10.11") != -1) { // L: 65 - var7 = 27; - } else if (var3.indexOf("10.12") != -1) { // L: 66 - var7 = 28; - } else if (var3.indexOf("10.13") != -1) { // L: 67 - var7 = 29; - } - } + byte var7 = 0; + if (var1 == 1) { + if (var3.indexOf("4.0") != -1) { + var7 = 1; + } else if (var3.indexOf("4.1") != -1) { + var7 = 2; + } else if (var3.indexOf("4.9") != -1) { + var7 = 3; + } else if (var3.indexOf("5.0") != -1) { + var7 = 4; + } else if (var3.indexOf("5.1") != -1) { + var7 = 5; + } else if (var3.indexOf("5.2") != -1) { + var7 = 8; + } else if (var3.indexOf("6.0") != -1) { + var7 = 6; + } else if (var3.indexOf("6.1") != -1) { + var7 = 7; + } else if (var3.indexOf("6.2") != -1) { + var7 = 9; + } else if (var3.indexOf("6.3") != -1) { + var7 = 10; + } else if (var3.indexOf("10.0") != -1) { + var7 = 11; + } + } else if (var1 == 2) { + if (var3.indexOf("10.4") != -1) { + var7 = 20; + } else if (var3.indexOf("10.5") != -1) { + var7 = 21; + } else if (var3.indexOf("10.6") != -1) { + var7 = 22; + } else if (var3.indexOf("10.7") != -1) { + var7 = 23; + } else if (var3.indexOf("10.8") != -1) { + var7 = 24; + } else if (var3.indexOf("10.9") != -1) { + var7 = 25; + } else if (var3.indexOf("10.10") != -1) { + var7 = 26; + } else if (var3.indexOf("10.11") != -1) { + var7 = 27; + } else if (var3.indexOf("10.12") != -1) { + var7 = 28; + } else if (var3.indexOf("10.13") != -1) { + var7 = 29; + } + } - byte var8; - if (var4.toLowerCase().indexOf("sun") != -1) { // L: 70 - var8 = 1; - } else if (var4.toLowerCase().indexOf("microsoft") != -1) { // L: 71 - var8 = 2; - } else if (var4.toLowerCase().indexOf("apple") != -1) { // L: 72 - var8 = 3; - } else if (var4.toLowerCase().indexOf("oracle") != -1) { // L: 73 - var8 = 5; - } else { - var8 = 4; // L: 74 - } + byte var8; + if (var4.toLowerCase().indexOf("sun") != -1) { + var8 = 1; + } else if (var4.toLowerCase().indexOf("microsoft") != -1) { + var8 = 2; + } else if (var4.toLowerCase().indexOf("apple") != -1) { + var8 = 3; + } else if (var4.toLowerCase().indexOf("oracle") != -1) { + var8 = 5; + } else { + var8 = 4; + } - this.method6322(var5); // L: 75 - int var10 = (int)(Runtime.getRuntime().maxMemory() / 1048576L) + 1; // L: 77 - int var11; - if (this.field3941 > 3) { // L: 80 - var11 = Runtime.getRuntime().availableProcessors(); - } else { - var11 = 0; // L: 81 - } + this.method6480(var5); + int var10 = (int)(Runtime.getRuntime().maxMemory() / 1048576L) + 1; + int var11; + if (this.field3937 > 3) { + var11 = Runtime.getRuntime().availableProcessors(); + } else { + var11 = 0; + } - byte var12 = 0; // L: 82 - String var13 = ""; // L: 83 - String var14 = ""; // L: 84 - String var15 = ""; // L: 85 - String var16 = ""; // L: 86 - String var17 = ""; // L: 87 - String var18 = ""; // L: 88 - int[] var23 = new int[3]; // L: 93 - return new PlatformInfo(var1, var24, var7, var8, this.field3941, this.field3942, this.field3943, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); // L: 97 - } + byte var12 = 0; + String var13 = ""; + String var14 = ""; + String var15 = ""; + String var16 = ""; + String var17 = ""; + String var18 = ""; + int[] var23 = new int[3]; + return new PlatformInfo(var1, var24, var7, var8, this.field3937, this.field3941, this.field3939, false, var10, var11, var12, 0, var13, var14, var15, var16, 0, 0, 0, 0, var17, var18, var23, 0, ""); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-54" - ) - void method6322(String var1) { - if (var1.startsWith("1.")) { // L: 101 - this.method6321(var1); // L: 102 - } else { - this.method6331(var1); // L: 105 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "1728874118" + ) + void method6480(String var1) { + if (var1.startsWith("1.")) { + this.method6487(var1); + } else { + this.method6481(var1); + } - } // L: 107 + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1601938226" - ) - void method6321(String var1) { - String[] var2 = var1.split("\\."); // L: 110 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1393050521" + ) + void method6487(String var1) { + String[] var2 = var1.split("\\."); - try { - this.field3941 = Integer.parseInt(var2[1]); // L: 112 - var2 = var2[2].split("_"); // L: 113 - this.field3942 = Integer.parseInt(var2[0]); // L: 114 - this.field3943 = Integer.parseInt(var2[1]); // L: 115 - } catch (Exception var4) { // L: 117 - } + try { + this.field3937 = Integer.parseInt(var2[1]); + var2 = var2[2].split("_"); + this.field3941 = Integer.parseInt(var2[0]); + this.field3939 = Integer.parseInt(var2[1]); + } catch (Exception var4) { + ; + } - } // L: 118 + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)V", - garbageValue = "-13668" - ) - void method6331(String var1) { - String[] var2 = var1.split("\\."); // L: 121 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1077684800" + ) + void method6481(String var1) { + String[] var2 = var1.split("\\."); - try { - this.field3941 = Integer.parseInt(var2[0]); // L: 123 - this.field3942 = Integer.parseInt(var2[1]); // L: 124 - this.field3943 = Integer.parseInt(var2[2]); // L: 125 - } catch (Exception var4) { // L: 127 - } + try { + this.field3937 = Integer.parseInt(var2[0]); + this.field3941 = Integer.parseInt(var2[1]); + this.field3939 = Integer.parseInt(var2[2]); + } catch (Exception var4) { + ; + } - } // L: 128 + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)[Lim;", + garbageValue = "-29867" + ) + public static StudioGame[] method6478() { + return new StudioGame[]{StudioGame.stellardawn, StudioGame.game5, StudioGame.oldscape, StudioGame.game4, StudioGame.runescape, StudioGame.game3}; + } } diff --git a/runescape-client/src/main/java/DevicePcmPlayer.java b/runescape-client/src/main/java/DevicePcmPlayer.java index 8e16189bc4..1325317a0c 100644 --- a/runescape-client/src/main/java/DevicePcmPlayer.java +++ b/runescape-client/src/main/java/DevicePcmPlayer.java @@ -9,120 +9,111 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bz") +@ObfuscatedName("bc") @Implements("DevicePcmPlayer") public class DevicePcmPlayer extends PcmPlayer { - @ObfuscatedName("h") - @Export("format") - AudioFormat format; - @ObfuscatedName("v") - @Export("line") - SourceDataLine line; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 888712507 - ) - @Export("capacity2") - int capacity2; - @ObfuscatedName("w") - @Export("byteSamples") - byte[] byteSamples; + @ObfuscatedName("n") + @Export("format") + AudioFormat format; + @ObfuscatedName("v") + @Export("line") + SourceDataLine line; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1895572259 + ) + @Export("capacity2") + int capacity2; + @ObfuscatedName("c") + @Export("byteSamples") + byte[] byteSamples; - DevicePcmPlayer() { - } // L: 18 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "0" + ) + @Export("init") + protected void init() { + this.format = new AudioFormat((float)(StructComposition.field3338 * 22050), 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); + this.byteSamples = new byte[256 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "99" - ) - @Export("init") - protected void init() { - this.format = new AudioFormat((float)PcmPlayer.field1443, 16, PcmPlayer.PcmPlayer_stereo ? 2 : 1, true, false); // L: 21 - this.byteSamples = new byte[256 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; // L: 22 - } // L: 23 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1929759603" + ) + @Export("open") + protected void open(int var1) throws LineUnavailableException { + try { + Info var2 = new Info(SourceDataLine.class, this.format, var1 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); + this.line = (SourceDataLine)AudioSystem.getLine(var2); + this.line.open(); + this.line.start(); + this.capacity2 = var1; + } catch (LineUnavailableException var3) { + if (PrivateChatMode.method6104(var1) != 1) { + this.open(GameObject.method3452(var1)); + } else { + this.line = null; + throw var3; + } + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "3677" - ) - @Export("open") - protected void open(int var1) throws LineUnavailableException { - try { - Info var2 = new Info(SourceDataLine.class, this.format, var1 << (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); // L: 27 - this.line = (SourceDataLine)AudioSystem.getLine(var2); // L: 28 - this.line.open(); // L: 29 - this.line.start(); // L: 30 - this.capacity2 = var1; // L: 31 - } catch (LineUnavailableException var5) { // L: 33 - int var4 = (var1 >>> 1 & 1431655765) + (var1 & 1431655765); // L: 37 - var4 = (var4 >>> 2 & 858993459) + (var4 & 858993459); // L: 38 - var4 = (var4 >>> 4) + var4 & 252645135; // L: 39 - var4 += var4 >>> 8; // L: 40 - var4 += var4 >>> 16; // L: 41 - int var3 = var4 & 255; // L: 42 - if (var3 != 1) { // L: 44 - this.open(World.method1870(var1)); // L: 45 - } else { - this.line = null; // L: 48 - throw var5; // L: 49 - } - } - } // L: 46 51 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "6543" + ) + @Export("position") + protected int position() { + return this.capacity2 - (this.line.available() >> (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "60" - ) - @Export("position") - protected int position() { - return this.capacity2 - (this.line.available() >> (PcmPlayer.PcmPlayer_stereo ? 2 : 1)); // L: 54 - } + @ObfuscatedName("c") + @Export("write") + protected void write() { + int var1 = 256; + if (PcmPlayer.PcmPlayer_stereo) { + var1 <<= 1; + } - @ObfuscatedName("w") - @Export("write") - protected void write() { - int var1 = 256; // L: 59 - if (PcmPlayer.PcmPlayer_stereo) { // L: 60 - var1 <<= 1; - } + for(int var2 = 0; var2 < var1; ++var2) { + int var3 = super.samples[var2]; + if ((var3 + 8388608 & -16777216) != 0) { + var3 = 8388607 ^ var3 >> 31; + } - for (int var2 = 0; var2 < var1; ++var2) { // L: 61 - int var3 = super.samples[var2]; // L: 62 - if ((var3 + 8388608 & -16777216) != 0) { // L: 63 - var3 = 8388607 ^ var3 >> 31; // L: 64 - } + this.byteSamples[var2 * 2] = (byte)(var3 >> 8); + this.byteSamples[var2 * 2 + 1] = (byte)(var3 >> 16); + } - this.byteSamples[var2 * 2] = (byte)(var3 >> 8); // L: 66 - this.byteSamples[var2 * 2 + 1] = (byte)(var3 >> 16); // L: 67 - } + this.line.write(this.byteSamples, 0, var1 << 1); + } - this.line.write(this.byteSamples, 0, var1 << 1); // L: 69 - } // L: 70 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "64" + ) + @Export("close") + protected void close() { + if (this.line != null) { + this.line.close(); + this.line = null; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-310479525" - ) - @Export("close") - protected void close() { - if (this.line != null) { // L: 73 - this.line.close(); // L: 74 - this.line = null; // L: 75 - } + } - } // L: 77 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-7" - ) - @Export("discard") - protected void discard() { - this.line.flush(); // L: 80 - } // L: 81 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-674709942" + ) + @Export("discard") + protected void discard() { + this.line.flush(); + } } diff --git a/runescape-client/src/main/java/DevicePcmPlayerProvider.java b/runescape-client/src/main/java/DevicePcmPlayerProvider.java index fe4005bb60..a7d10941d6 100644 --- a/runescape-client/src/main/java/DevicePcmPlayerProvider.java +++ b/runescape-client/src/main/java/DevicePcmPlayerProvider.java @@ -1,51 +1,89 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("br") +@ObfuscatedName("bp") @Implements("DevicePcmPlayerProvider") -public class DevicePcmPlayerProvider implements PlayerProvider { - DevicePcmPlayerProvider() { - } // L: 7 +public class DevicePcmPlayerProvider implements class108 { + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -601318053 + ) + @Export("musicTrackVolume") + public static int musicTrackVolume; + @ObfuscatedName("ak") + static String field433; + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("worldSelectArrows") + static IndexedSprite[] worldSelectArrows; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Ldp;", - garbageValue = "-2011148953" - ) - @Export("player") - public PcmPlayer player() { - return new DevicePcmPlayer(); // L: 10 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)Ldh;", + garbageValue = "-25384" + ) + @Export("player") + public PcmPlayer player() { + return new DevicePcmPlayer(); + } - @ObfuscatedName("jt") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "1976029859" - ) - @Export("formatItemStacks") - static final String formatItemStacks(int var0) { - String var1 = Integer.toString(var0); // L: 9437 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIIIII)I", + garbageValue = "-313683225" + ) + public static int method921(int var0, int var1, int var2, int var3, int var4, int var5) { + if ((var5 & 1) == 1) { + int var6 = var3; + var3 = var4; + var4 = var6; + } - for (int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { // L: 9438 - var1 = var1.substring(0, var2) + "," + var1.substring(var2); // L: 9439 - } + var2 &= 3; + if (var2 == 0) { + return var1; + } else if (var2 == 1) { + return 7 - var0 - (var3 - 1); + } else { + return var2 == 2 ? 7 - var1 - (var4 - 1) : var0; + } + } - if (var1.length() > 9) { // L: 9441 - return " " + class23.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; - } else { - return var1.length() > 6 ? " " + class23.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + class23.colorStartTag(16776960) + var1 + ""; // L: 9442 9443 - } - } + @ObfuscatedName("gk") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-3337607" + ) + static final void method920() { + for(GraphicsObject var0 = (GraphicsObject)Client.graphicsObjects.last(); var0 != null; var0 = (GraphicsObject)Client.graphicsObjects.previous()) { + if (var0.plane == class90.Client_plane && !var0.isFinished) { + if (Client.cycle >= var0.cycleStart) { + var0.advance(Client.field808); + if (var0.isFinished) { + var0.remove(); + } else { + MilliClock.scene.drawEntity(var0.plane, var0.x, var0.y, var0.height, 60, var0, 0, -1L, false); + } + } + } else { + var0.remove(); + } + } - @ObfuscatedName("lg") - @ObfuscatedSignature( - descriptor = "(Lhe;B)Z", - garbageValue = "119" - ) - @Export("isComponentHidden") - static boolean isComponentHidden(Widget var0) { - return var0.isHidden; // L: 11059 - } + } + + @ObfuscatedName("kq") + @ObfuscatedSignature( + descriptor = "(Lhz;B)Z", + garbageValue = "103" + ) + @Export("isComponentHidden") + static boolean isComponentHidden(Widget var0) { + return var0.isHidden; + } } diff --git a/runescape-client/src/main/java/DirectByteArrayCopier.java b/runescape-client/src/main/java/DirectByteArrayCopier.java index 0de0922b1d..eccdeb8aca 100644 --- a/runescape-client/src/main/java/DirectByteArrayCopier.java +++ b/runescape-client/src/main/java/DirectByteArrayCopier.java @@ -1,195 +1,53 @@ import java.nio.ByteBuffer; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hv") +@ObfuscatedName("hf") @Implements("DirectByteArrayCopier") public class DirectByteArrayCopier extends AbstractByteArrayCopier { - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 604929845 - ) - @Export("SpriteBuffer_spriteWidth") - public static int SpriteBuffer_spriteWidth; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("options_buttons_0Sprite") - static IndexedSprite options_buttons_0Sprite; - @ObfuscatedName("h") - @Export("directBuffer") - ByteBuffer directBuffer; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("Widget_modelsArchive") + static AbstractArchive Widget_modelsArchive; + @ObfuscatedName("n") + @Export("directBuffer") + ByteBuffer directBuffer; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)[B", - garbageValue = "-938287989" - ) - @Export("get") - byte[] get() { - byte[] var1 = new byte[this.directBuffer.capacity()]; // L: 13 - this.directBuffer.position(0); // L: 14 - this.directBuffer.get(var1); // L: 15 - return var1; // L: 16 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)[B", + garbageValue = "1361682252" + ) + @Export("get") + byte[] get() { + byte[] var1 = new byte[this.directBuffer.capacity()]; + this.directBuffer.position(0); + this.directBuffer.get(var1); + return var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "-277286562" - ) - @Export("set") - public void set(byte[] var1) { - this.directBuffer = ByteBuffer.allocateDirect(var1.length); // L: 20 - this.directBuffer.position(0); // L: 21 - this.directBuffer.put(var1); // L: 22 - } // L: 23 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BI)V", + garbageValue = "262833794" + ) + @Export("set") + void set(byte[] var1) { + this.directBuffer = ByteBuffer.allocateDirect(var1.length); + this.directBuffer.position(0); + this.directBuffer.put(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-69" - ) - static void method3983() { - Tiles.Tiles_minPlane = 99; // L: 48 - Tiles.field514 = new byte[4][104][104]; // L: 49 - Tiles.field508 = new byte[4][104][104]; // L: 50 - class9.field40 = new byte[4][104][104]; // L: 51 - Username.field3663 = new byte[4][104][104]; // L: 52 - GrandExchangeOfferWorldComparator.field52 = new int[4][105][105]; // L: 53 - Tiles.field511 = new byte[4][105][105]; // L: 54 - class92.field1173 = new int[105][105]; // L: 55 - VarbitComposition.Tiles_hue = new int[104]; // L: 56 - ArchiveDiskActionHandler.Tiles_saturation = new int[104]; // L: 57 - class92.Tiles_lightness = new int[104]; // L: 58 - UserComparator7.Tiles_hueMultiplier = new int[104]; // L: 59 - Varcs.field1283 = new int[104]; // L: 60 - } // L: 61 - - @ObfuscatedName("kh") - @ObfuscatedSignature( - descriptor = "(Lhe;IIII)V", - garbageValue = "29105444" - ) - @Export("drawMinimap") - static final void drawMinimap(Widget var0, int var1, int var2, int var3) { - FontName.playPcmPlayers(); // L: 10871 - SpriteMask var4 = var0.getSpriteMask(false); // L: 10872 - if (var4 != null) { // L: 10873 - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); // L: 10874 - if (Client.minimapState != 2 && Client.minimapState != 5) { // L: 10875 - int var5 = Client.camAngleY & 2047; // L: 10876 - int var6 = PlayerComposition.localPlayer.x / 32 + 48; // L: 10877 - int var7 = 464 - PlayerComposition.localPlayer.y / 32; // L: 10878 - class25.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); // L: 10879 - - int var8; - int var10; - int var17; - for (var8 = 0; var8 < Client.mapIconCount; ++var8) { // L: 10880 - var17 = Client.mapIconXs[var8] * 4 + 2 - PlayerComposition.localPlayer.x / 32; // L: 10881 - var10 = Client.mapIconYs[var8] * 4 + 2 - PlayerComposition.localPlayer.y / 32; // L: 10882 - class25.drawSpriteOnMinimap(var1, var2, var17, var10, Client.mapIcons[var8], var4); // L: 10883 - } - - int var11; - int var12; - for (var8 = 0; var8 < 104; ++var8) { // L: 10885 - for (var17 = 0; var17 < 104; ++var17) { // L: 10886 - NodeDeque var15 = Client.groundItems[GameObject.Client_plane][var8][var17]; // L: 10887 - if (var15 != null) { // L: 10888 - var11 = var8 * 4 + 2 - PlayerComposition.localPlayer.x / 32; // L: 10889 - var12 = var17 * 4 + 2 - PlayerComposition.localPlayer.y / 32; // L: 10890 - class25.drawSpriteOnMinimap(var1, var2, var11, var12, Actor.mapDotSprites[0], var4); // L: 10891 - } - } - } - - for (var8 = 0; var8 < Client.npcCount; ++var8) { // L: 10895 - NPC var9 = Client.npcs[Client.npcIndices[var8]]; // L: 10896 - if (var9 != null && var9.isVisible()) { // L: 10897 - NPCComposition var19 = var9.definition; // L: 10898 - if (var19 != null && var19.transforms != null) { // L: 10899 - var19 = var19.transform(); - } - - if (var19 != null && var19.drawMapDot && var19.isInteractable) { // L: 10900 - var11 = var9.x / 32 - PlayerComposition.localPlayer.x / 32; // L: 10901 - var12 = var9.y / 32 - PlayerComposition.localPlayer.y / 32; // L: 10902 - class25.drawSpriteOnMinimap(var1, var2, var11, var12, Actor.mapDotSprites[1], var4); // L: 10903 - } - } - } - - var8 = Players.Players_count; // L: 10907 - int[] var18 = Players.Players_indices; // L: 10908 - - for (var10 = 0; var10 < var8; ++var10) { // L: 10909 - Player var16 = Client.players[var18[var10]]; // L: 10910 - if (var16 != null && var16.isVisible() && !var16.isHidden && var16 != PlayerComposition.localPlayer) { // L: 10911 - var12 = var16.x / 32 - PlayerComposition.localPlayer.x / 32; // L: 10912 - int var13 = var16.y / 32 - PlayerComposition.localPlayer.y / 32; // L: 10913 - boolean var14 = false; // L: 10914 - if (PlayerComposition.localPlayer.team != 0 && var16.team != 0 && var16.team == PlayerComposition.localPlayer.team) { // L: 10915 - var14 = true; - } - - if (var16.isFriend()) { // L: 10916 - class25.drawSpriteOnMinimap(var1, var2, var12, var13, Actor.mapDotSprites[3], var4); - } else if (var14) { // L: 10917 - class25.drawSpriteOnMinimap(var1, var2, var12, var13, Actor.mapDotSprites[4], var4); - } else if (var16.isClanMember()) { // L: 10918 - class25.drawSpriteOnMinimap(var1, var2, var12, var13, Actor.mapDotSprites[5], var4); - } else { - class25.drawSpriteOnMinimap(var1, var2, var12, var13, Actor.mapDotSprites[2], var4); // L: 10919 - } - } - } - - if (Client.hintArrowType != 0 && Client.cycle % 20 < 10) { // L: 10922 - if (Client.hintArrowType == 1 && Client.hintArrowNpcIndex >= 0 && Client.hintArrowNpcIndex < Client.npcs.length) { // L: 10923 - NPC var20 = Client.npcs[Client.hintArrowNpcIndex]; // L: 10924 - if (var20 != null) { // L: 10925 - var11 = var20.x / 32 - PlayerComposition.localPlayer.x / 32; // L: 10926 - var12 = var20.y / 32 - PlayerComposition.localPlayer.y / 32; // L: 10927 - AbstractWorldMapData.worldToMinimap(var1, var2, var11, var12, GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels[1], var4); // L: 10928 - } - } - - if (Client.hintArrowType == 2) { // L: 10931 - var10 = Client.hintArrowX * 4 - NetFileRequest.baseX * 4 + 2 - PlayerComposition.localPlayer.x / 32; // L: 10932 - var11 = Client.hintArrowY * 4 - class41.baseY * 4 + 2 - PlayerComposition.localPlayer.y / 32; // L: 10933 - AbstractWorldMapData.worldToMinimap(var1, var2, var10, var11, GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels[1], var4); // L: 10934 - } - - if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { // L: 10936 - Player var21 = Client.players[Client.hintArrowPlayerIndex]; // L: 10937 - if (var21 != null) { // L: 10938 - var11 = var21.x / 32 - PlayerComposition.localPlayer.x / 32; // L: 10939 - var12 = var21.y / 32 - PlayerComposition.localPlayer.y / 32; // L: 10940 - AbstractWorldMapData.worldToMinimap(var1, var2, var11, var12, GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels[1], var4); // L: 10941 - } - } - } - - if (Client.destinationX != 0) { // L: 10945 - var10 = Client.destinationX * 4 + 2 - PlayerComposition.localPlayer.x / 32; // L: 10946 - var11 = Client.destinationY * 4 + 2 - PlayerComposition.localPlayer.y / 32; // L: 10947 - class25.drawSpriteOnMinimap(var1, var2, var10, var11, GrandExchangeOfferUnitPriceComparator.mapMarkerSpritePixels[0], var4); // L: 10948 - } - - if (!PlayerComposition.localPlayer.isHidden) { // L: 10950 - Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); - } - } else { - Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); // L: 10952 - } - - Client.field854[var3] = true; // L: 10953 - } - } // L: 10954 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;I)V", + garbageValue = "292233920" + ) + public static void method4147(AbstractArchive var0) { + StructComposition.StructDefinition_archive = var0; + } } diff --git a/runescape-client/src/main/java/DirectWrapper.java b/runescape-client/src/main/java/DirectWrapper.java index 6e3618fbf3..7629ce1fdc 100644 --- a/runescape-client/src/main/java/DirectWrapper.java +++ b/runescape-client/src/main/java/DirectWrapper.java @@ -2,27 +2,27 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("fn") +@ObfuscatedName("fi") @Implements("DirectWrapper") public class DirectWrapper extends Wrapper { - @ObfuscatedName("h") - @Export("obj") - Object obj; + @ObfuscatedName("n") + @Export("obj") + Object obj; - DirectWrapper(Object var1, int var2) { - super(var2); // L: 7 - this.obj = var1; // L: 8 - } // L: 9 + DirectWrapper(Object var1, int var2) { + super(var2); + this.obj = var1; + } - @ObfuscatedName("h") - @Export("get") - Object get() { - return this.obj; // L: 12 - } + @ObfuscatedName("n") + @Export("get") + Object get() { + return this.obj; + } - @ObfuscatedName("v") - @Export("isSoft") - boolean isSoft() { - return false; // L: 16 - } + @ObfuscatedName("v") + @Export("isSoft") + boolean isSoft() { + return false; + } } diff --git a/runescape-client/src/main/java/DualNode.java b/runescape-client/src/main/java/DualNode.java index 093aaf4164..7325063a1a 100644 --- a/runescape-client/src/main/java/DualNode.java +++ b/runescape-client/src/main/java/DualNode.java @@ -6,30 +6,30 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gj") @Implements("DualNode") public class DualNode extends Node { - @ObfuscatedName("cl") - @Export("keyDual") - public long keyDual; - @ObfuscatedName("cw") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("previousDual") - public DualNode previousDual; - @ObfuscatedName("cp") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("nextDual") - public DualNode nextDual; + @ObfuscatedName("cu") + @Export("keyDual") + public long keyDual; + @ObfuscatedName("ci") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("previousDual") + public DualNode previousDual; + @ObfuscatedName("cy") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("nextDual") + public DualNode nextDual; - @ObfuscatedName("ck") - @Export("removeDual") - public void removeDual() { - if (this.nextDual != null) { // L: 9 - this.nextDual.previousDual = this.previousDual; // L: 10 - this.previousDual.nextDual = this.nextDual; // L: 11 - this.previousDual = null; // L: 12 - this.nextDual = null; // L: 13 - } - } // L: 14 + @ObfuscatedName("cm") + @Export("removeDual") + public void removeDual() { + if (this.nextDual != null) { + this.nextDual.previousDual = this.previousDual; + this.previousDual.nextDual = this.nextDual; + this.previousDual = null; + this.nextDual = null; + } + } } diff --git a/runescape-client/src/main/java/DualNodeDeque.java b/runescape-client/src/main/java/DualNodeDeque.java index 7d13ae5598..5d48cbd4f8 100644 --- a/runescape-client/src/main/java/DualNodeDeque.java +++ b/runescape-client/src/main/java/DualNodeDeque.java @@ -3,61 +3,60 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ji") +@ObfuscatedName("jd") @Implements("DualNodeDeque") public final class DualNodeDeque { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("sentinel") - DualNode sentinel; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("sentinel") + DualNode sentinel = new DualNode(); - public DualNodeDeque() { - this.sentinel = new DualNode(); // L: 6 - this.sentinel.previousDual = this.sentinel; // L: 9 - this.sentinel.nextDual = this.sentinel; // L: 10 - } // L: 11 + public DualNodeDeque() { + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lgj;)V" - ) - @Export("addFirst") - public void addFirst(DualNode var1) { - if (var1.nextDual != null) { // L: 14 - var1.removeDual(); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lgj;)V" + ) + @Export("addFirst") + public void addFirst(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } - var1.nextDual = this.sentinel.nextDual; // L: 15 - var1.previousDual = this.sentinel; // L: 16 - var1.nextDual.previousDual = var1; // L: 17 - var1.previousDual.nextDual = var1; // L: 18 - } // L: 19 + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgj;)V" - ) - @Export("addLast") - public void addLast(DualNode var1) { - if (var1.nextDual != null) { // L: 22 - var1.removeDual(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lgj;)V" + ) + @Export("addLast") + public void addLast(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } - var1.nextDual = this.sentinel; // L: 23 - var1.previousDual = this.sentinel.previousDual; // L: 24 - var1.nextDual.previousDual = var1; // L: 25 - var1.previousDual.nextDual = var1; // L: 26 - } // L: 27 + var1.nextDual = this.sentinel; + var1.previousDual = this.sentinel.previousDual; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "()Lgj;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; // L: 30 - return var1 == this.sentinel ? null : var1; // L: 31 32 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "()Lgj;" + ) + @Export("removeLast") + public DualNode removeLast() { + DualNode var1 = this.sentinel.previousDual; + return var1 == this.sentinel ? null : var1; + } } diff --git a/runescape-client/src/main/java/DynamicObject.java b/runescape-client/src/main/java/DynamicObject.java index ff8cf6f652..41beeeb088 100644 --- a/runescape-client/src/main/java/DynamicObject.java +++ b/runescape-client/src/main/java/DynamicObject.java @@ -4,215 +4,166 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cn") +@ObfuscatedName("cw") @Implements("DynamicObject") -public class DynamicObject extends Renderable -{ - @ObfuscatedName("rl") - @ObfuscatedGetter( - intValue = 2126595663 - ) - static int field1316; - @ObfuscatedName("b") - public static String[] field1318; - @ObfuscatedName("dv") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive2") - static Archive archive2; - @ObfuscatedName("le") - @ObfuscatedGetter( - intValue = -517336583 - ) - @Export("menuY") - static int menuY; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1717972659 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 345674945 - ) - @Export("type") - int type; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 92935987 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1741952123 - ) - @Export("plane") - int plane; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 433284603 - ) - @Export("x") - int x; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 189208991 - ) - @Export("y") - int y; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Ljy;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1563491791 - ) - @Export("frame") - int frame; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -542544735 - ) - @Export("cycleStart") - int cycleStart; +public class DynamicObject extends Renderable { + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1608906951 + ) + static int field1311; + @ObfuscatedName("er") + @ObfuscatedGetter( + intValue = 1685580933 + ) + @Export("port3") + static int port3; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1583763067 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1077688157 + ) + @Export("type") + int type; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1461018485 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 242558127 + ) + @Export("plane") + int plane; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -345704253 + ) + @Export("x") + int x; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -2021063101 + ) + @Export("y") + int y; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Ljs;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -765264835 + ) + @Export("frame") + int frame; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1029669135 + ) + @Export("cycleStart") + int cycleStart; - @ObfuscatedSignature( - descriptor = "(IIIIIIIZLer;)V" - ) - DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Renderable var9) { - this.id = var1; - this.type = var2; // L: 21 - this.orientation = var3; // L: 22 - this.plane = var4; // L: 23 - this.x = var5; // L: 24 - this.y = var6; // L: 25 - if (var7 != -1) { // L: 26 - this.sequenceDefinition = ParamComposition.SequenceDefinition_get(var7); // L: 27 - this.frame = 0; // L: 28 - this.cycleStart = Client.cycle - 1; // L: 29 - if (this.sequenceDefinition.field3548 == 0 && var9 != null && var9 instanceof DynamicObject) { // L: 30 - DynamicObject var10 = (DynamicObject)var9; // L: 31 - if (var10.sequenceDefinition == this.sequenceDefinition) { // L: 32 - this.frame = var10.frame; // L: 33 - this.cycleStart = var10.cycleStart; // L: 34 - return; // L: 35 - } - } + @ObfuscatedSignature( + descriptor = "(IIIIIIIZLem;)V" + ) + DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Renderable var9) { + this.id = var1; + this.type = var2; + this.orientation = var3; + this.plane = var4; + this.x = var5; + this.y = var6; + if (var7 != -1) { + this.sequenceDefinition = InterfaceParent.SequenceDefinition_get(var7); + this.frame = 0; + this.cycleStart = Client.cycle - 1; + if (this.sequenceDefinition.field3548 == 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) { // L: 38 - this.frame = (int)(Math.random() * (double)this.sequenceDefinition.frameIds.length); // L: 39 - this.cycleStart -= (int)(Math.random() * (double)this.sequenceDefinition.frameLengths[this.frame]); // L: 40 - } - } + 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]); + } + } - } // L: 43 + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - if (this.sequenceDefinition != null) { // L: 46 - int var1 = Client.cycle - this.cycleStart; // L: 47 - if (var1 > 100 && this.sequenceDefinition.frameCount > 0) { // L: 48 - var1 = 100; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + if (this.sequenceDefinition != null) { + int var1 = Client.cycle - this.cycleStart; + if (var1 > 100 && this.sequenceDefinition.frameCount > 0) { + var1 = 100; + } - label56: { - do { - do { - if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { // L: 49 - break label56; - } + label55: { + do { + do { + if (var1 <= this.sequenceDefinition.frameLengths[this.frame]) { + break label55; + } - var1 -= this.sequenceDefinition.frameLengths[this.frame]; // L: 50 - ++this.frame; // L: 51 - } while(this.frame < this.sequenceDefinition.frameIds.length); // L: 52 + var1 -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + } while(this.frame < this.sequenceDefinition.frameIds.length); - this.frame -= this.sequenceDefinition.frameCount; // L: 53 - } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); + this.frame -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - this.sequenceDefinition = null; // L: 55 - } + this.sequenceDefinition = null; + } - this.cycleStart = Client.cycle - var1; // L: 60 - } + this.cycleStart = Client.cycle - var1; + } - ObjectComposition var12 = WorldMapDecoration.getObjectDefinition(this.id); // L: 62 - if (var12.transforms != null) { // L: 63 - var12 = var12.transform(); - } + ObjectComposition var12 = WorldMapAreaData.getObjectDefinition(this.id); + if (var12.transforms != null) { + var12 = var12.transform(); + } - if (var12 == null) { // L: 64 - return null; - } else { - int var2; - int var3; - if (this.orientation != 1 && this.orientation != 3) { // L: 67 - var2 = var12.sizeX; // L: 72 - var3 = var12.sizeY; // L: 73 - } else { - var2 = var12.sizeY; // L: 68 - var3 = var12.sizeX; // L: 69 - } + if (var12 == null) { + return null; + } else { + int var2; + int var3; + if (this.orientation != 1 && this.orientation != 3) { + var2 = var12.sizeX; + var3 = var12.sizeY; + } else { + var2 = var12.sizeY; + var3 = var12.sizeX; + } - int var4 = (var2 >> 1) + this.x; // L: 75 - int var5 = (var2 + 1 >> 1) + this.x; // L: 76 - int var6 = (var3 >> 1) + this.y; // L: 77 - int var7 = (var3 + 1 >> 1) + this.y; // L: 78 - int[][] var8 = Tiles.Tiles_heights[this.plane]; // L: 79 - int var9 = var8[var5][var7] + var8[var4][var7] + var8[var5][var6] + var8[var4][var6] >> 2; // L: 80 - int var10 = (this.x << 7) + (var2 << 6); // L: 81 - int var11 = (this.y << 7) + (var3 << 6); // L: 82 - return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); // L: 83 - } - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BB)Laq;", - garbageValue = "92" - ) - static WorldMapSprite method2300(byte[] var0) { - return var0 == null ? new WorldMapSprite() : new WorldMapSprite(WorldMapSection0.convertJpgToSprite(var0).pixels); // L: 19 20 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1772389683" - ) - static int method2304() { - return 12; // L: 123 - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "([BIB)I", - garbageValue = "-35" - ) - public static int method2305(byte[] var0, int var1) { - return WorldMapRectangle.method334(var0, 0, var1); // L: 54 - } - - @ObfuscatedName("ix") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1991750086" - ) - @Export("resumePauseWidget") - static void resumePauseWidget(int var0, int var1) { - PacketBufferNode var2 = ItemContainer.getPacketBufferNode(ClientPacket.field2266, Client.packetWriter.isaacCipher); // L: 8361 - var2.packetBuffer.writeInt(var0); // L: 8362 - var2.packetBuffer.writeShort(var1); // L: 8363 - Client.packetWriter.addNode(var2); // L: 8364 - } // L: 8365 + int var4 = (var2 >> 1) + this.x; + int var5 = (var2 + 1 >> 1) + this.x; + int var6 = (var3 >> 1) + this.y; + int var7 = (var3 + 1 >> 1) + this.y; + int[][] var8 = Tiles.Tiles_heights[this.plane]; + int var9 = var8[var4][var6] + var8[var5][var6] + var8[var4][var7] + var8[var5][var7] >> 2; + int var10 = (this.x << 7) + (var2 << 6); + int var11 = (this.y << 7) + (var3 << 6); + return var12.getModelDynamic(this.type, this.orientation, var8, var10, var9, var11, this.sequenceDefinition, this.frame); + } + } } diff --git a/runescape-client/src/main/java/EnumComposition.java b/runescape-client/src/main/java/EnumComposition.java index 1eb35168ef..d521b6129e 100644 --- a/runescape-client/src/main/java/EnumComposition.java +++ b/runescape-client/src/main/java/EnumComposition.java @@ -7,133 +7,133 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("jx") @Implements("EnumComposition") public class EnumComposition extends DualNode { - @ObfuscatedName("rk") - @ObfuscatedGetter( - intValue = 2141868731 - ) - static int field3340; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("EnumDefinition_archive") - static AbstractArchive EnumDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("EnumDefinition_cached") - static EvictingDualNodeHashTable EnumDefinition_cached; - @ObfuscatedName("lh") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("mousedOverWidgetIf1") - static Widget mousedOverWidgetIf1; - @ObfuscatedName("x") - @Export("inputType") - public char inputType; - @ObfuscatedName("w") - @Export("outputType") - public char outputType; - @ObfuscatedName("t") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1632225121 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1333539623 - ) - @Export("outputCount") - public int outputCount; - @ObfuscatedName("p") - @Export("keys") - public int[] keys; - @ObfuscatedName("l") - @Export("intVals") - public int[] intVals; - @ObfuscatedName("z") - @Export("strVals") - public String[] strVals; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("EnumDefinition_archive") + public static AbstractArchive EnumDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("EnumDefinition_cached") + static EvictingDualNodeHashTable EnumDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @Export("inputType") + public char inputType; + @ObfuscatedName("c") + @Export("outputType") + public char outputType; + @ObfuscatedName("y") + @Export("defaultStr") + public String defaultStr = "null"; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 977907101 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1947625869 + ) + @Export("outputCount") + public int outputCount = 0; + @ObfuscatedName("e") + @Export("keys") + public int[] keys; + @ObfuscatedName("q") + @Export("intVals") + public int[] intVals; + @ObfuscatedName("l") + @Export("strVals") + public String[] strVals; - static { - EnumDefinition_cached = new EvictingDualNodeHashTable(64); // L: 12 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "1374661087" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - EnumComposition() { - this.defaultStr = "null"; // L: 15 - this.outputCount = 0; // L: 17 - } // L: 22 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "1" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 40 - if (var2 == 0) { // L: 41 - return; // L: 44 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "112" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.inputType = (char)var1.readUnsignedByte(); + } else if (var2 == 2) { + this.outputType = (char)var1.readUnsignedByte(); + } else if (var2 == 3) { + this.defaultStr = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.defaultInt = var1.readInt(); + } else { + int var3; + if (var2 == 5) { + this.outputCount = var1.readUnsignedShort(); + this.keys = new int[this.outputCount]; + this.strVals = new String[this.outputCount]; - this.decodeNext(var1, var2); // L: 42 - } - } + for(var3 = 0; var3 < this.outputCount; ++var3) { + this.keys[var3] = var1.readInt(); + this.strVals[var3] = var1.readStringCp1252NullTerminated(); + } + } else if (var2 == 6) { + this.outputCount = var1.readUnsignedShort(); + this.keys = new int[this.outputCount]; + this.intVals = new int[this.outputCount]; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-1344091650" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 47 - this.inputType = (char)var1.readUnsignedByte(); - } else if (var2 == 2) { // L: 48 - this.outputType = (char)var1.readUnsignedByte(); - } else if (var2 == 3) { // L: 49 - this.defaultStr = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { // L: 50 - this.defaultInt = var1.readInt(); - } else { - int var3; - if (var2 == 5) { // L: 51 - this.outputCount = var1.readUnsignedShort(); // L: 52 - this.keys = new int[this.outputCount]; // L: 53 - this.strVals = new String[this.outputCount]; // L: 54 + for(var3 = 0; var3 < this.outputCount; ++var3) { + this.keys[var3] = var1.readInt(); + this.intVals[var3] = var1.readInt(); + } + } + } - for (var3 = 0; var3 < this.outputCount; ++var3) { // L: 55 - this.keys[var3] = var1.readInt(); // L: 56 - this.strVals[var3] = var1.readStringCp1252NullTerminated(); // L: 57 - } - } else if (var2 == 6) { // L: 60 - this.outputCount = var1.readUnsignedShort(); // L: 61 - this.keys = new int[this.outputCount]; // L: 62 - this.intVals = new int[this.outputCount]; // L: 63 + } - for (var3 = 0; var3 < this.outputCount; ++var3) { // L: 64 - this.keys[var3] = var1.readInt(); // L: 65 - this.intVals[var3] = var1.readInt(); // L: 66 - } - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2129947174" + ) + @Export("size") + public int size() { + return this.outputCount; + } - } // L: 70 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(CLgp;B)I", + garbageValue = "40" + ) + @Export("lowercaseChar") + static int lowercaseChar(char var0, Language var1) { + int var2 = var0 << 4; + if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { + var0 = Character.toLowerCase(var0); + var2 = (var0 << 4) + 1; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1619007901" - ) - @Export("size") - public int size() { - return this.outputCount; // L: 73 - } + if (var0 == 241 && var1 == Language.Language_ES) { + var2 = 1762; + } + + return var2; + } } diff --git a/runescape-client/src/main/java/Enumerated.java b/runescape-client/src/main/java/Enumerated.java index 9ad2a35821..cc79f5fff7 100644 --- a/runescape-client/src/main/java/Enumerated.java +++ b/runescape-client/src/main/java/Enumerated.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gd") +@ObfuscatedName("gh") @Implements("Enumerated") public interface Enumerated { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - int rsOrdinal(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + int rsOrdinal(); } diff --git a/runescape-client/src/main/java/EvictingDualNodeHashTable.java b/runescape-client/src/main/java/EvictingDualNodeHashTable.java index e0ed7893e8..68114ae01a 100644 --- a/runescape-client/src/main/java/EvictingDualNodeHashTable.java +++ b/runescape-client/src/main/java/EvictingDualNodeHashTable.java @@ -3,101 +3,100 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ez") +@ObfuscatedName("ex") @Implements("EvictingDualNodeHashTable") public final class EvictingDualNodeHashTable { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - DualNode field1977; - @ObfuscatedName("v") - @Export("capacity") - int capacity; - @ObfuscatedName("x") - @Export("remainingCapacity") - int remainingCapacity; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Ljf;" - ) - @Export("deque") - IterableDualNodeQueue deque; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + DualNode field1968 = new DualNode(); + @ObfuscatedName("v") + @Export("capacity") + int capacity; + @ObfuscatedName("d") + @Export("remainingCapacity") + int remainingCapacity; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Ljf;" + ) + @Export("deque") + IterableDualNodeQueue deque = new IterableDualNodeQueue(); - public EvictingDualNodeHashTable(int var1) { - this.field1977 = new DualNode(); // L: 8 - this.deque = new IterableDualNodeQueue(); // L: 12 - this.capacity = var1; // L: 15 - this.remainingCapacity = var1; // L: 16 + public EvictingDualNodeHashTable(int var1) { + this.capacity = var1; + this.remainingCapacity = var1; - int var2; - for (var2 = 1; var2 + var2 < var1; var2 += var2) { // L: 17 18 - } + int var2; + for(var2 = 1; var2 + var2 < var1; var2 += var2) { + ; + } - this.hashTable = new IterableNodeHashTable(var2); // L: 19 - } // L: 20 + this.hashTable = new IterableNodeHashTable(var2); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(J)Lgj;" - ) - @Export("get") - public DualNode get(long var1) { - DualNode var3 = (DualNode)this.hashTable.get(var1); // L: 23 - if (var3 != null) { // L: 24 - this.deque.add(var3); // L: 25 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(J)Lgj;" + ) + @Export("get") + public DualNode get(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + this.deque.add(var3); + } - return var3; // L: 28 - } + return var3; + } - @ObfuscatedName("v") - @Export("remove") - public void remove(long var1) { - DualNode var3 = (DualNode)this.hashTable.get(var1); // L: 32 - if (var3 != null) { // L: 33 - var3.remove(); // L: 34 - var3.removeDual(); // L: 35 - ++this.remainingCapacity; // L: 36 - } + @ObfuscatedName("v") + @Export("remove") + public void remove(long var1) { + DualNode var3 = (DualNode)this.hashTable.get(var1); + if (var3 != null) { + var3.remove(); + var3.removeDual(); + ++this.remainingCapacity; + } - } // L: 38 + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lgj;J)V" - ) - @Export("put") - public void put(DualNode var1, long var2) { - if (this.remainingCapacity == 0) { // L: 41 - DualNode var4 = this.deque.removeLast(); // L: 42 - var4.remove(); // L: 43 - var4.removeDual(); // L: 44 - if (var4 == this.field1977) { // L: 45 - var4 = this.deque.removeLast(); // L: 46 - var4.remove(); // L: 47 - var4.removeDual(); // L: 48 - } - } else { - --this.remainingCapacity; // L: 51 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lgj;J)V" + ) + @Export("put") + public void put(DualNode var1, long var2) { + if (this.remainingCapacity == 0) { + DualNode var4 = this.deque.removeLast(); + var4.remove(); + var4.removeDual(); + if (var4 == this.field1968) { + var4 = this.deque.removeLast(); + var4.remove(); + var4.removeDual(); + } + } else { + --this.remainingCapacity; + } - this.hashTable.put(var1, var2); // L: 52 - this.deque.add(var1); // L: 53 - } // L: 54 + this.hashTable.put(var1, var2); + this.deque.add(var1); + } - @ObfuscatedName("w") - @Export("clear") - public void clear() { - this.deque.clear(); // L: 57 - this.hashTable.clear(); // L: 58 - this.field1977 = new DualNode(); // L: 59 - this.remainingCapacity = this.capacity; // L: 60 - } // L: 61 + @ObfuscatedName("c") + @Export("clear") + public void clear() { + this.deque.clear(); + this.hashTable.clear(); + this.field1968 = new DualNode(); + this.remainingCapacity = this.capacity; + } } diff --git a/runescape-client/src/main/java/FaceNormal.java b/runescape-client/src/main/java/FaceNormal.java index 26304de46f..158e39f14c 100644 --- a/runescape-client/src/main/java/FaceNormal.java +++ b/runescape-client/src/main/java/FaceNormal.java @@ -4,131 +4,49 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ef") +@ObfuscatedName("er") @Implements("FaceNormal") public class FaceNormal { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1410868853 - ) - @Export("x") - int x; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 855520165 - ) - @Export("y") - int y; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1494276377 - ) - @Export("z") - int z; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -687013303 + ) + @Export("x") + int x; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1872981457 + ) + @Export("y") + int y; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -522101521 + ) + @Export("z") + int z; - FaceNormal() { - } // L: 8 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(CI)Z", + garbageValue = "-1093535932" + ) + public static boolean method3421(char var0) { + if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { + if (var0 != 0) { + char[] var1 = class298.cp1252AsciiExtension; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1343156262" - ) - static int method3345(int var0, Script var1, boolean var2) { - if (var0 < 1000) { // L: 391 - return class231.method4154(var0, var1, var2); - } else if (var0 < 1100) { // L: 392 - return class200.method3711(var0, var1, var2); - } else if (var0 < 1200) { // L: 393 - return WorldMapData_1.method736(var0, var1, var2); - } else if (var0 < 1300) { // L: 394 - return UserComparator9.method3478(var0, var1, var2); - } else if (var0 < 1400) { // L: 395 - return ScriptFrame.method1213(var0, var1, var2); - } else if (var0 < 1500) { // L: 396 - return ModeWhere.method3717(var0, var1, var2); - } else if (var0 < 1600) { // L: 397 - return Messages.method2283(var0, var1, var2); - } else if (var0 < 1700) { // L: 398 - return GrandExchangeOfferUnitPriceComparator.method200(var0, var1, var2); - } else if (var0 < 1800) { // L: 399 - return class277.method5005(var0, var1, var2); - } else if (var0 < 1900) { // L: 400 - return WorldMapRectangle.method331(var0, var1, var2); - } else if (var0 < 2000) { // L: 401 - return Frames.method3354(var0, var1, var2); - } else if (var0 < 2100) { // L: 402 - return class200.method3711(var0, var1, var2); - } else if (var0 < 2200) { // L: 403 - return WorldMapData_1.method736(var0, var1, var2); - } else if (var0 < 2300) { // L: 404 - return UserComparator9.method3478(var0, var1, var2); - } else if (var0 < 2400) { // L: 405 - return ScriptFrame.method1213(var0, var1, var2); - } else if (var0 < 2500) { - return ModeWhere.method3717(var0, var1, var2); // L: 406 - } else if (var0 < 2600) { // L: 407 - return class22.method221(var0, var1, var2); - } else if (var0 < 2700) { // L: 408 - return WorldMapIcon_1.method336(var0, var1, var2); - } else if (var0 < 2800) { // L: 409 - return WorldMapIcon_1.method345(var0, var1, var2); - } else if (var0 < 2900) { // L: 410 - return AbstractWorldMapData.method328(var0, var1, var2); - } else if (var0 < 3000) { // L: 411 - return Frames.method3354(var0, var1, var2); - } else if (var0 < 3200) { // L: 412 - return WorldMapID.method600(var0, var1, var2); - } else if (var0 < 3300) { // L: 413 - return WorldMapData_0.method245(var0, var1, var2); - } else if (var0 < 3400) { // L: 414 - return Language.method3709(var0, var1, var2); - } else if (var0 < 3500) { // L: 415 - return ItemLayer.method2850(var0, var1, var2); - } else if (var0 < 3700) { // L: 416 - return ApproximateRouteStrategy.method1302(var0, var1, var2); - } else if (var0 < 4000) { // L: 417 - return GrandExchangeEvents.method146(var0, var1, var2); - } else if (var0 < 4100) { // L: 418 - return class41.method602(var0, var1, var2); - } else if (var0 < 4200) { // L: 419 - return GrandExchangeOfferAgeComparator.method218(var0, var1, var2); - } else if (var0 < 4300) { // L: 420 - return StudioGame.method4186(var0, var1, var2); - } else if (var0 < 5100) { - return class258.method4516(var0, var1, var2); // L: 421 - } else if (var0 < 5400) { // L: 422 - return class58.method916(var0, var1, var2); - } else if (var0 < 5600) { // L: 423 - return FloorUnderlayDefinition.method4460(var0, var1, var2); - } else if (var0 < 5700) { // L: 424 - return AbstractWorldMapIcon.method656(var0, var1, var2); - } else if (var0 < 6300) { // L: 425 - return WorldMapID.method599(var0, var1, var2); - } else if (var0 < 6600) { // L: 426 - return HorizontalAlignment.method4729(var0, var1, var2); - } else { - return var0 < 6700 ? class52.method845(var0, var1, var2) : 2; // L: 427 428 - } - } + for(int var2 = 0; var2 < var1.length; ++var2) { + char var3 = var1[var2]; + if (var0 == var3) { + return true; + } + } + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(Ldw;I)V", - garbageValue = "398077002" - ) - public static final void method3344(PlayerProvider var0) { - Varps.pcmPlayerProvider = var0; // L: 45 - } // L: 46 - - @ObfuscatedName("lx") - @ObfuscatedSignature( - descriptor = "(Lhe;I)I", - garbageValue = "1443888680" - ) - @Export("getWidgetFlags") - static int getWidgetFlags(Widget var0) { - IntegerNode var1 = (IntegerNode)Client.widgetFlags.get((long)var0.childIndex + ((long)var0.id << 32)); // L: 11053 - return var1 != null ? var1.integer : var0.flags; // L: 11054 11055 - } + return false; + } else { + return true; + } + } } diff --git a/runescape-client/src/main/java/FileSystem.java b/runescape-client/src/main/java/FileSystem.java index 7c8131d1b4..4467f3c547 100644 --- a/runescape-client/src/main/java/FileSystem.java +++ b/runescape-client/src/main/java/FileSystem.java @@ -1,67 +1,45 @@ import java.io.File; -import java.io.IOException; import java.util.Hashtable; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fc") +@ObfuscatedName("fj") @Implements("FileSystem") public class FileSystem { - @ObfuscatedName("h") - @Export("FileSystem_hasPermissions") - public static boolean FileSystem_hasPermissions; - @ObfuscatedName("v") - @Export("FileSystem_cacheDir") - public static File FileSystem_cacheDir; - @ObfuscatedName("x") - @Export("FileSystem_cacheFiles") - static Hashtable FileSystem_cacheFiles; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lhg;" - ) - @Export("musicTrack") - static MusicTrack musicTrack; - @ObfuscatedName("gt") - @Export("regions") - static int[] regions; + @ObfuscatedName("n") + @Export("FileSystem_hasPermissions") + static boolean FileSystem_hasPermissions = false; + @ObfuscatedName("v") + @Export("FileSystem_cacheDir") + static File FileSystem_cacheDir; + @ObfuscatedName("d") + @Export("FileSystem_cacheFiles") + static Hashtable FileSystem_cacheFiles = new Hashtable(16); + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "Llc;" + ) + @Export("rasterProvider") + public static AbstractRasterProvider rasterProvider; - static { - FileSystem_hasPermissions = false; // L: 7 - FileSystem_cacheFiles = new Hashtable(16); - } // L: 9 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IS)Ljava/lang/String;", + garbageValue = "4003" + ) + @Export("colorStartTag") + static String colorStartTag(int var0) { + return ""; + } - @ObfuscatedName("la") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-1885661901" - ) - static void method3573(Buffer var0) { - if (Client.randomDatData != null) { // L: 11152 - var0.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); // L: 11153 - } else { - byte[] var2 = new byte[24]; // L: 11158 - - try { - JagexCache.JagexCache_randomDat.seek(0L); // L: 11160 - JagexCache.JagexCache_randomDat.readFully(var2); // L: 11161 - - int var3; - for (var3 = 0; var3 < 24 && var2[var3] == 0; ++var3) { // L: 11162 11163 11164 - } - - if (var3 >= 24) { // L: 11166 - throw new IOException(); - } - } catch (Exception var6) { - for (int var4 = 0; var4 < 24; ++var4) { // L: 11169 - var2[var4] = -1; - } - } - - var0.writeBytes(var2, 0, var2.length); // L: 11174 - } - } // L: 11154 11175 + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "14" + ) + static int method3709(int var0) { + return (int)((Math.log((double)var0) / Interpreter.field1124 - 7.0D) * 256.0D); + } } diff --git a/runescape-client/src/main/java/FloorDecoration.java b/runescape-client/src/main/java/FloorDecoration.java index 1a1e7a0b6b..c25ab29aae 100644 --- a/runescape-client/src/main/java/FloorDecoration.java +++ b/runescape-client/src/main/java/FloorDecoration.java @@ -4,207 +4,43 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("em") +@ObfuscatedName("en") @Implements("FloorDecoration") public final class FloorDecoration { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -689308621 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1437698275 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 380443133 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity") - public Renderable renderable; - @ObfuscatedName("t") - @ObfuscatedGetter( - longValue = 2801138791321477185L - ) - @Export("tag") - public long tag; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1520433835 - ) - @Export("flags") - int flags; - - FloorDecoration() { - } // L: 11 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "390219432" - ) - static final void method2932(String var0) { - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2241, Client.packetWriter.isaacCipher); // L: 134 - var1.packetBuffer.writeByte(stringCp1252NullTerminatedByteSize(var0)); // L: 135 - var1.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 136 - Client.packetWriter.addNode(var1); // L: 137 - } // L: 138 - - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)I", - garbageValue = "-120" - ) - @Export("stringCp1252NullTerminatedByteSize") - public static int stringCp1252NullTerminatedByteSize(String var0) { - return var0.length() + 1; // L: 119 - } - - @ObfuscatedName("im") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)V", - garbageValue = "-74" - ) - static void method2931(int var0, String var1) { - int var2 = Players.Players_count; // L: 8288 - int[] var3 = Players.Players_indices; // L: 8289 - boolean var4 = false; // L: 8290 - Username var5 = new Username(var1, GrandExchangeOfferUnitPriceComparator.loginType); // L: 8291 - - for (int var6 = 0; var6 < var2; ++var6) { // L: 8292 - Player var7 = Client.players[var3[var6]]; // L: 8293 - if (var7 != null && var7 != PlayerComposition.localPlayer && var7.username != null && var7.username.equals(var5)) { // L: 8294 - PacketBufferNode var8; - if (var0 == 1) { // L: 8295 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2260, Client.packetWriter.isaacCipher); // L: 8297 - var8.packetBuffer.method5568(0); // L: 8298 - var8.packetBuffer.writeShortLE(var3[var6]); // L: 8299 - Client.packetWriter.addNode(var8); // L: 8300 - } else if (var0 == 4) { // L: 8302 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2312, Client.packetWriter.isaacCipher); // L: 8304 - var8.packetBuffer.writeShortLE(var3[var6]); // L: 8305 - var8.packetBuffer.method5568(0); // L: 8306 - Client.packetWriter.addNode(var8); // L: 8307 - } else if (var0 == 6) { // L: 8309 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2242, Client.packetWriter.isaacCipher); // L: 8311 - var8.packetBuffer.method5568(0); // L: 8312 - var8.packetBuffer.method5578(var3[var6]); // L: 8313 - Client.packetWriter.addNode(var8); // L: 8314 - } else if (var0 == 7) { // L: 8316 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); // L: 8318 - var8.packetBuffer.method5578(var3[var6]); // L: 8319 - var8.packetBuffer.writeIntME(0); // L: 8320 - Client.packetWriter.addNode(var8); // L: 8321 - } - - var4 = true; // L: 8323 - break; - } - } - - if (!var4) { // L: 8327 - class234.addGameMessage(4, "", "Unable to find " + var1); - } - - } // L: 8328 - - @ObfuscatedName("jb") - @ObfuscatedSignature( - descriptor = "(Lbq;IIII)V", - garbageValue = "-1914334357" - ) - @Export("addPlayerToMenu") - static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { - if (PlayerComposition.localPlayer != var0) { // L: 8826 - if (Client.menuOptionsCount < 400) { // L: 8827 - String var4; - int var7; - if (var0.skillLevel == 0) { // L: 8829 - String var5 = var0.actions[0] + var0.username + var0.actions[1]; // L: 8830 - var7 = var0.combatLevel; // L: 8832 - int var8 = PlayerComposition.localPlayer.combatLevel; // L: 8833 - int var9 = var8 - var7; // L: 8835 - String var6; - if (var9 < -9) { // L: 8836 - var6 = class23.colorStartTag(16711680); // L: 8837 - } else if (var9 < -6) { // L: 8840 - var6 = class23.colorStartTag(16723968); // L: 8841 - } else if (var9 < -3) { // L: 8844 - var6 = class23.colorStartTag(16740352); // L: 8845 - } else if (var9 < 0) { // L: 8848 - var6 = class23.colorStartTag(16756736); // L: 8849 - } else if (var9 > 9) { // L: 8852 - var6 = class23.colorStartTag(65280); // L: 8853 - } else if (var9 > 6) { // L: 8856 - var6 = class23.colorStartTag(4259584); // L: 8857 - } else if (var9 > 3) { // L: 8860 - var6 = class23.colorStartTag(8453888); // L: 8861 - } else if (var9 > 0) { // L: 8864 - var6 = class23.colorStartTag(12648192); // L: 8865 - } else { - var6 = class23.colorStartTag(16776960); // L: 8868 - } - - var4 = var5 + var6 + " " + " (" + "level-" + var0.combatLevel + ")" + var0.actions[2]; // L: 8870 - } else { - var4 = var0.actions[0] + var0.username + var0.actions[1] + " " + " (" + "skill-" + var0.skillLevel + ")" + var0.actions[2]; // L: 8872 - } - - int var10; - if (Client.isItemSelected == 1) { // L: 8873 - WorldMapRegion.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class23.colorStartTag(16777215) + var4, 14, var1, var2, var3); // L: 8874 - } else if (Client.isSpellSelected) { // L: 8877 - if ((Player.selectedSpellFlags & 8) == 8) { // L: 8878 - WorldMapRegion.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class23.colorStartTag(16777215) + var4, 15, var1, var2, var3); // L: 8879 - } - } else { - for (var10 = 7; var10 >= 0; --var10) { // L: 8884 - if (Client.playerMenuActions[var10] != null) { // L: 8885 - short var11 = 0; // L: 8886 - if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { // L: 8887 - if (AttackOption.AttackOption_hidden == Client.playerAttackOption) { // L: 8888 - continue; - } - - if (Client.playerAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.playerAttackOption && var0.combatLevel > PlayerComposition.localPlayer.combatLevel) { // L: 8889 - var11 = 2000; // L: 8890 - } - - if (PlayerComposition.localPlayer.team != 0 && var0.team != 0) { // L: 8892 - if (var0.team == PlayerComposition.localPlayer.team) { // L: 8893 - var11 = 2000; - } else { - var11 = 0; // L: 8894 - } - } - } else if (Client.playerOptionsPriorities[var10]) { // L: 8897 - var11 = 2000; - } - - boolean var12 = false; // L: 8898 - var7 = Client.playerMenuOpcodes[var10] + var11; // L: 8899 - WorldMapRegion.insertMenuItemNoShift(Client.playerMenuActions[var10], class23.colorStartTag(16777215) + var4, var7, var1, var2, var3); // L: 8900 - } - } - } - - for (var10 = 0; var10 < Client.menuOptionsCount; ++var10) { // L: 8905 - if (Client.menuOpcodes[var10] == 23) { // L: 8906 - Client.menuTargets[var10] = class23.colorStartTag(16777215) + var4; // L: 8907 - break; - } - } - - } - } - } // L: 8911 + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1598532417 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 142791141 + ) + @Export("x") + int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -523239424 + ) + @Export("y") + int y; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable") + public Renderable renderable; + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = 5699265069963851797L + ) + @Export("tag") + public long tag; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -641786975 + ) + @Export("flags") + int flags; } diff --git a/runescape-client/src/main/java/FloorOverlayDefinition.java b/runescape-client/src/main/java/FloorOverlayDefinition.java index 60b019977f..98dc10fcdc 100644 --- a/runescape-client/src/main/java/FloorOverlayDefinition.java +++ b/runescape-client/src/main/java/FloorOverlayDefinition.java @@ -4,226 +4,198 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jv") +@ObfuscatedName("jo") @Implements("FloorOverlayDefinition") public class FloorOverlayDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("FloorOverlayDefinition_archive") - static AbstractArchive FloorOverlayDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("FloorOverlayDefinition_cached") - public static EvictingDualNodeHashTable FloorOverlayDefinition_cached; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1526945035 - ) - @Export("primaryRgb") - public int primaryRgb; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -721578033 - ) - @Export("texture") - public int texture; - @ObfuscatedName("t") - @Export("hideUnderlay") - public boolean hideUnderlay; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1521326545 - ) - @Export("secondaryRgb") - public int secondaryRgb; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 842502255 - ) - @Export("hue") - public int hue; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1500542353 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1673894867 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1564345129 - ) - @Export("secondaryHue") - public int secondaryHue; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 385284739 - ) - @Export("secondarySaturation") - public int secondarySaturation; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1523532645 - ) - @Export("secondaryLightness") - public int secondaryLightness; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("FloorOverlayDefinition_archive") + static AbstractArchive FloorOverlayDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("FloorOverlayDefinition_cached") + static EvictingDualNodeHashTable FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 229154339 + ) + @Export("primaryRgb") + public int primaryRgb = 0; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 537117493 + ) + @Export("texture") + public int texture = -1; + @ObfuscatedName("y") + @Export("hideUnderlay") + public boolean hideUnderlay = true; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -151922243 + ) + @Export("secondaryRgb") + public int secondaryRgb = -1; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1474561599 + ) + @Export("hue") + public int hue; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 580468697 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1227736915 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -214097909 + ) + @Export("secondaryHue") + public int secondaryHue; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -996907009 + ) + @Export("secondarySaturation") + public int secondarySaturation; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2132940635 + ) + @Export("secondaryLightness") + public int secondaryLightness; - static { - FloorOverlayDefinition_cached = new EvictingDualNodeHashTable(64); // L: 11 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + @Export("postDecode") + void postDecode() { + if (this.secondaryRgb != -1) { + this.setHsl(this.secondaryRgb); + this.secondaryHue = this.hue; + this.secondarySaturation = this.saturation; + this.secondaryLightness = this.lightness; + } - FloorOverlayDefinition() { - this.primaryRgb = 0; // L: 12 - this.texture = -1; // L: 13 - this.hideUnderlay = true; // L: 14 - this.secondaryRgb = -1; // L: 15 - } // L: 23 + this.setHsl(this.primaryRgb); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-456917444" - ) - @Export("postDecode") - void postDecode() { - if (this.secondaryRgb != -1) { // L: 41 - this.setHsl(this.secondaryRgb); // L: 42 - this.secondaryHue = this.hue; // L: 43 - this.secondarySaturation = this.saturation; // L: 44 - this.secondaryLightness = this.lightness; // L: 45 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "581864251" + ) + @Export("decode") + void decode(Buffer var1, int var2) { + while(true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } - this.setHsl(this.primaryRgb); // L: 47 - } // L: 48 + this.decodeNext(var1, var3, var2); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "876279839" - ) - @Export("decode") - void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); // L: 52 - if (var3 == 0) { // L: 53 - return; // L: 56 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;IIB)V", + garbageValue = "1" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2, int var3) { + if (var2 == 1) { + this.primaryRgb = var1.readMedium(); + } else if (var2 == 2) { + this.texture = var1.readUnsignedByte(); + } else if (var2 == 5) { + this.hideUnderlay = false; + } else if (var2 == 7) { + this.secondaryRgb = var1.readMedium(); + } else if (var2 == 8) { + ; + } - this.decodeNext(var1, var3, var2); // L: 54 - } - } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;IIB)V", - garbageValue = "41" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { // L: 59 - this.primaryRgb = var1.readMedium(); - } else if (var2 == 2) { - this.texture = var1.readUnsignedByte(); // L: 60 - } else if (var2 == 5) { // L: 61 - this.hideUnderlay = false; - } else if (var2 == 7) { // L: 62 - this.secondaryRgb = var1.readMedium(); - } else if (var2 == 8) { // L: 63 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "115" + ) + @Export("setHsl") + void setHsl(int var1) { + double var2 = (double)(var1 >> 16 & 255) / 256.0D; + double var4 = (double)(var1 >> 8 & 255) / 256.0D; + double var6 = (double)(var1 & 255) / 256.0D; + double var8 = var2; + if (var4 < var2) { + var8 = var4; + } - } // L: 65 + if (var6 < var8) { + var8 = var6; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-774110413" - ) - @Export("setHsl") - void setHsl(int var1) { - double var2 = (double)(var1 >> 16 & 255) / 256.0D; // L: 68 - double var4 = (double)(var1 >> 8 & 255) / 256.0D; // L: 69 - double var6 = (double)(var1 & 255) / 256.0D; // L: 70 - double var8 = var2; // L: 71 - if (var4 < var2) { // L: 72 - var8 = var4; - } + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } - if (var6 < var8) { // L: 73 - var8 = var6; - } + if (var6 > var10) { + var10 = var6; + } - double var10 = var2; // L: 74 - if (var4 > var2) { // L: 75 - var10 = var4; - } + double var12 = 0.0D; + double var14 = 0.0D; + double var16 = (var8 + var10) / 2.0D; + if (var8 != var10) { + if (var16 < 0.5D) { + var14 = (var10 - var8) / (var8 + var10); + } - if (var6 > var10) { // L: 76 - var10 = var6; - } + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } - double var12 = 0.0D; // L: 77 - double var14 = 0.0D; // L: 78 - double var16 = (var10 + var8) / 2.0D; // L: 79 - if (var8 != var10) { // L: 80 - if (var16 < 0.5D) { // L: 81 - var14 = (var10 - var8) / (var8 + var10); - } + if (var2 == var10) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var6 == var10) { + var12 = (var2 - var4) / (var10 - var8) + 4.0D; + } + } - if (var16 >= 0.5D) { // L: 82 - var14 = (var10 - var8) / (2.0D - var10 - var8); - } + var12 /= 6.0D; + this.hue = (int)(256.0D * var12); + this.saturation = (int)(256.0D * var14); + this.lightness = (int)(256.0D * var16); + if (this.saturation < 0) { + this.saturation = 0; + } else if (this.saturation > 255) { + this.saturation = 255; + } - if (var10 == var2) { // L: 83 - var12 = (var4 - var6) / (var10 - var8); - } else if (var10 == var4) { // L: 84 - var12 = 2.0D + (var6 - var2) / (var10 - var8); - } else if (var6 == var10) { - var12 = 4.0D + (var2 - var4) / (var10 - var8); // L: 85 - } - } + if (this.lightness < 0) { + this.lightness = 0; + } else if (this.lightness > 255) { + this.lightness = 255; + } - var12 /= 6.0D; // L: 87 - this.hue = (int)(256.0D * var12); // L: 88 - this.saturation = (int)(var14 * 256.0D); // L: 89 - this.lightness = (int)(var16 * 256.0D); // L: 90 - if (this.saturation < 0) { // L: 91 - this.saturation = 0; - } else if (this.saturation > 255) { // L: 92 - this.saturation = 255; - } - - if (this.lightness < 0) { // L: 93 - this.lightness = 0; - } else if (this.lightness > 255) { // L: 94 - this.lightness = 255; - } - - } // L: 95 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Lib;IB)Llo;", - garbageValue = "-54" - ) - public static IndexedSprite method4789(AbstractArchive var0, int var1) { - byte[] var3 = var0.takeFileFlat(var1); // L: 153 - boolean var2; - if (var3 == null) { // L: 154 - var2 = false; // L: 155 - } else { - class232.SpriteBuffer_decode(var3); // L: 158 - var2 = true; // L: 159 - } - - return !var2 ? null : PrivateChatMode.method5937(); // L: 161 162 - } + } } diff --git a/runescape-client/src/main/java/FloorUnderlayDefinition.java b/runescape-client/src/main/java/FloorUnderlayDefinition.java index 72b18bf59f..52b6406d52 100644 --- a/runescape-client/src/main/java/FloorUnderlayDefinition.java +++ b/runescape-client/src/main/java/FloorUnderlayDefinition.java @@ -3,215 +3,190 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("iw") @Implements("FloorUnderlayDefinition") public class FloorUnderlayDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("FloorUnderlayDefinition_archive") - public static AbstractArchive FloorUnderlayDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("FloorUnderlayDefinition_cached") - static EvictingDualNodeHashTable FloorUnderlayDefinition_cached; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1640099513 - ) - @Export("rgb") - int rgb; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 772769107 - ) - @Export("hue") - public int hue; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1277008429 - ) - @Export("saturation") - public int saturation; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1129854273 - ) - @Export("lightness") - public int lightness; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 2072275111 - ) - @Export("hueMultiplier") - public int hueMultiplier; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("FloorUnderlayDefinition_archive") + public static AbstractArchive FloorUnderlayDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("FloorUnderlayDefinition_cached") + public static EvictingDualNodeHashTable FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -130851115 + ) + @Export("rgb") + int rgb = 0; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 873128511 + ) + @Export("hue") + public int hue; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1930192423 + ) + @Export("saturation") + public int saturation; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1785513219 + ) + @Export("lightness") + public int lightness; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -114271383 + ) + @Export("hueMultiplier") + public int hueMultiplier; - static { - FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64); // L: 11 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1258878623" + ) + @Export("postDecode") + void postDecode() { + this.setHsl(this.rgb); + } - FloorUnderlayDefinition() { - this.rgb = 0; // L: 12 - } // L: 18 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "166104294" + ) + @Export("decode") + void decode(Buffer var1, int var2) { + while(true) { + int var3 = var1.readUnsignedByte(); + if (var3 == 0) { + return; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1848989672" - ) - @Export("postDecode") - void postDecode() { - this.setHsl(this.rgb); // L: 32 - } // L: 33 + this.decodeNext(var1, var3, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "731438667" - ) - @Export("decode") - void decode(Buffer var1, int var2) { - while (true) { - int var3 = var1.readUnsignedByte(); // L: 37 - if (var3 == 0) { // L: 38 - return; // L: 41 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;III)V", + garbageValue = "1874969287" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2, int var3) { + if (var2 == 1) { + this.rgb = var1.readMedium(); + } - this.decodeNext(var1, var3, var2); // L: 39 - } - } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;IIB)V", - garbageValue = "5" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2, int var3) { - if (var2 == 1) { // L: 44 - this.rgb = var1.readMedium(); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1796735191" + ) + @Export("setHsl") + void setHsl(int var1) { + double var2 = (double)(var1 >> 16 & 255) / 256.0D; + double var4 = (double)(var1 >> 8 & 255) / 256.0D; + double var6 = (double)(var1 & 255) / 256.0D; + double var8 = var2; + if (var4 < var2) { + var8 = var4; + } - } // L: 46 + if (var6 < var8) { + var8 = var6; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1248052268" - ) - @Export("setHsl") - void setHsl(int var1) { - double var2 = (double)(var1 >> 16 & 255) / 256.0D; // L: 49 - double var4 = (double)(var1 >> 8 & 255) / 256.0D; // L: 50 - double var6 = (double)(var1 & 255) / 256.0D; // L: 51 - double var8 = var2; // L: 52 - if (var4 < var2) { // L: 53 - var8 = var4; - } + double var10 = var2; + if (var4 > var2) { + var10 = var4; + } - if (var6 < var8) { // L: 54 - var8 = var6; - } + if (var6 > var10) { + var10 = var6; + } - double var10 = var2; // L: 55 - if (var4 > var2) { // L: 56 - var10 = var4; - } + double var12 = 0.0D; + double var14 = 0.0D; + double var16 = (var10 + var8) / 2.0D; + if (var8 != var10) { + if (var16 < 0.5D) { + var14 = (var10 - var8) / (var10 + var8); + } - if (var6 > var10) { // L: 57 - var10 = var6; - } + if (var16 >= 0.5D) { + var14 = (var10 - var8) / (2.0D - var10 - var8); + } - double var12 = 0.0D; // L: 58 - double var14 = 0.0D; // L: 59 - double var16 = (var8 + var10) / 2.0D; // L: 60 - if (var8 != var10) { // L: 61 - if (var16 < 0.5D) { // L: 62 - var14 = (var10 - var8) / (var8 + var10); - } + if (var2 == var10) { + var12 = (var4 - var6) / (var10 - var8); + } else if (var10 == var4) { + var12 = (var6 - var2) / (var10 - var8) + 2.0D; + } else if (var10 == var6) { + var12 = (var2 - var4) / (var10 - var8) + 4.0D; + } + } - if (var16 >= 0.5D) { // L: 63 - var14 = (var10 - var8) / (2.0D - var10 - var8); - } + var12 /= 6.0D; + this.saturation = (int)(var14 * 256.0D); + this.lightness = (int)(var16 * 256.0D); + if (this.saturation < 0) { + this.saturation = 0; + } else if (this.saturation > 255) { + this.saturation = 255; + } - if (var2 == var10) { // L: 64 - var12 = (var4 - var6) / (var10 - var8); - } else if (var10 == var4) { // L: 65 - var12 = 2.0D + (var6 - var2) / (var10 - var8); - } else if (var6 == var10) { - var12 = 4.0D + (var2 - var4) / (var10 - var8); // L: 66 - } - } + if (this.lightness < 0) { + this.lightness = 0; + } else if (this.lightness > 255) { + this.lightness = 255; + } - var12 /= 6.0D; // L: 68 - this.saturation = (int)(var14 * 256.0D); // L: 69 - this.lightness = (int)(256.0D * var16); // L: 70 - if (this.saturation < 0) { // L: 71 - this.saturation = 0; - } else if (this.saturation > 255) { // L: 72 - this.saturation = 255; - } + if (var16 > 0.5D) { + this.hueMultiplier = (int)(512.0D * (1.0D - var16) * var14); + } else { + this.hueMultiplier = (int)(var14 * var16 * 512.0D); + } - if (this.lightness < 0) { // L: 73 - this.lightness = 0; - } else if (this.lightness > 255) { // L: 74 - this.lightness = 255; - } + if (this.hueMultiplier < 1) { + this.hueMultiplier = 1; + } - if (var16 > 0.5D) { // L: 75 - this.hueMultiplier = (int)(var14 * (1.0D - var16) * 512.0D); - } else { - this.hueMultiplier = (int)(var16 * var14 * 512.0D); // L: 76 - } + this.hue = (int)(var12 * (double)this.hueMultiplier); + } - if (this.hueMultiplier < 1) { // L: 77 - this.hueMultiplier = 1; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Ljp;", + garbageValue = "-122" + ) + @Export("StructDefinition_getStructDefinition") + public static StructComposition StructDefinition_getStructDefinition(int var0) { + StructComposition var1 = (StructComposition)StructComposition.StructDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = StructComposition.StructDefinition_archive.takeFile(34, var0); + var1 = new StructComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - this.hue = (int)((double)this.hueMultiplier * var12); // L: 78 - } // L: 79 - - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-170727251" - ) - static int method4460(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { // L: 3211 - VarcInt.Interpreter_intStackSize -= 2; // L: 3212 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3213 - int var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3214 - if (!Client.isCameraLocked) { // L: 3215 - Client.camAngleX = var3; // L: 3216 - Client.camAngleY = var4; // L: 3217 - } - - return 1; // L: 3219 - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { // L: 3221 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camAngleX; // L: 3222 - return 1; // L: 3223 - } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { // L: 3225 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camAngleY; // L: 3226 - return 1; // L: 3227 - } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { // L: 3229 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3230 - if (var3 < 0) { // L: 3231 - var3 = 0; - } - - Client.camFollowHeight = var3; // L: 3232 - return 1; // L: 3233 - } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { // L: 3235 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.camFollowHeight; // L: 3236 - return 1; // L: 3237 - } else { - return 2; // L: 3239 - } - } + var1.postDecode(); + StructComposition.StructDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/Font.java b/runescape-client/src/main/java/Font.java index 1b7f876109..b5becd35f1 100644 --- a/runescape-client/src/main/java/Font.java +++ b/runescape-client/src/main/java/Font.java @@ -2,98 +2,98 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ku") +@ObfuscatedName("kl") @Implements("Font") public final class Font extends AbstractFont { - public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { - super(var1, var2, var3, var4, var5, var6, var7); // L: 7 - } // L: 8 + public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { + super(var1, var2, var3, var4, var5, var6, var7); + } - public Font(byte[] var1) { - super(var1); // L: 11 - } // L: 12 + public Font(byte[] var1) { + super(var1); + } - @ObfuscatedName("h") - @Export("drawGlyph") - final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; // L: 15 - int var8 = Rasterizer2D.Rasterizer2D_width - var4; // L: 16 - int var9 = 0; // L: 17 - int var10 = 0; // L: 18 - int var11; - if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 19 - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var3; // L: 20 - var5 -= var11; // L: 21 - var3 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 22 - var10 += var11 * var4; // L: 23 - var7 += var11 * Rasterizer2D.Rasterizer2D_width; // L: 24 - } + @ObfuscatedName("n") + @Export("drawGlyph") + final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; + int var8 = Rasterizer2D.Rasterizer2D_width - var4; + int var9 = 0; + int var10 = 0; + int var11; + if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var3; + var5 -= var11; + var3 = Rasterizer2D.Rasterizer2D_yClipStart; + var10 += var11 * var4; + var7 += var11 * Rasterizer2D.Rasterizer2D_width; + } - if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 26 - var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; - } + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 27 - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var2; // L: 28 - var4 -= var11; // L: 29 - var2 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 30 - var10 += var11; // L: 31 - var7 += var11; // L: 32 - var9 += var11; // L: 33 - var8 += var11; // L: 34 - } + if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var2; + var4 -= var11; + var2 = Rasterizer2D.Rasterizer2D_xClipStart; + var10 += var11; + var7 += var11; + var9 += var11; + var8 += var11; + } - if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 36 - var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 37 - var4 -= var11; // L: 38 - var9 += var11; // L: 39 - var8 += var11; // L: 40 - } + if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; + var4 -= var11; + var9 += var11; + var8 += var11; + } - if (var4 > 0 && var5 > 0) { // L: 42 - AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); // L: 43 - } - } // L: 44 + if (var4 > 0 && var5 > 0) { + AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); + } + } - @ObfuscatedName("v") - @Export("drawGlyphAlpha") - final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { - int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; // L: 47 - int var9 = Rasterizer2D.Rasterizer2D_width - var4; // L: 48 - int var10 = 0; // L: 49 - int var11 = 0; // L: 50 - int var12; - if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 51 - var12 = Rasterizer2D.Rasterizer2D_yClipStart - var3; // L: 52 - var5 -= var12; // L: 53 - var3 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 54 - var11 += var12 * var4; // L: 55 - var8 += var12 * Rasterizer2D.Rasterizer2D_width; // L: 56 - } + @ObfuscatedName("v") + @Export("drawGlyphAlpha") + final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; + int var9 = Rasterizer2D.Rasterizer2D_width - var4; + int var10 = 0; + int var11 = 0; + int var12; + if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { + var12 = Rasterizer2D.Rasterizer2D_yClipStart - var3; + var5 -= var12; + var3 = Rasterizer2D.Rasterizer2D_yClipStart; + var11 += var12 * var4; + var8 += var12 * Rasterizer2D.Rasterizer2D_width; + } - if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 58 - var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; - } + if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 59 - var12 = Rasterizer2D.Rasterizer2D_xClipStart - var2; // L: 60 - var4 -= var12; // L: 61 - var2 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 62 - var11 += var12; // L: 63 - var8 += var12; // L: 64 - var10 += var12; // L: 65 - var9 += var12; // L: 66 - } + if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { + var12 = Rasterizer2D.Rasterizer2D_xClipStart - var2; + var4 -= var12; + var2 = Rasterizer2D.Rasterizer2D_xClipStart; + var11 += var12; + var8 += var12; + var10 += var12; + var9 += var12; + } - if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 68 - var12 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 69 - var4 -= var12; // L: 70 - var10 += var12; // L: 71 - var9 += var12; // L: 72 - } + if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var12 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; + var4 -= var12; + var10 += var12; + var9 += var12; + } - if (var4 > 0 && var5 > 0) { // L: 74 - AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var11, var8, var4, var5, var9, var10, var7); // L: 75 - } - } // L: 76 + if (var4 > 0 && var5 > 0) { + AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var11, var8, var4, var5, var9, var10, var7); + } + } } diff --git a/runescape-client/src/main/java/FontName.java b/runescape-client/src/main/java/FontName.java index e65da8c031..b8e545df59 100644 --- a/runescape-client/src/main/java/FontName.java +++ b/runescape-client/src/main/java/FontName.java @@ -3,757 +3,81 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kr") +@ObfuscatedName("kq") @Implements("FontName") public class FontName { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_plain11") - public static final FontName FontName_plain11; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_plain12") - public static final FontName FontName_plain12; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_bold12") - public static final FontName FontName_bold12; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_verdana11") - public static final FontName FontName_verdana11; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_verdana13") - public static final FontName FontName_verdana13; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("FontName_verdana15") - public static final FontName FontName_verdana15; - @ObfuscatedName("es") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive14") - static Archive archive14; - @ObfuscatedName("n") - @Export("name") - String name; - - static { - FontName_plain11 = new FontName("p11_full"); // L: 7 - FontName_plain12 = new FontName("p12_full"); // L: 8 - FontName_bold12 = new FontName("b12_full"); // L: 9 - FontName_verdana11 = new FontName("verdana_11pt_regular"); // L: 10 - FontName_verdana13 = new FontName("verdana_13pt_regular"); // L: 11 - FontName_verdana15 = new FontName("verdana_15pt_regular"); // L: 12 - } - - FontName(String var1) { - this.name = var1; // L: 20 - } // L: 21 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lkr;", - garbageValue = "1" - ) - public static FontName[] method5353() { - return new FontName[]{FontName_plain11, FontName_bold12, FontName_verdana11, FontName_verdana13, FontName_verdana15, FontName_plain12}; // L: 16 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1883982153" - ) - static final boolean method5355() { - return ViewportMouse.ViewportMouse_isInViewport; // L: 95 - } - - @ObfuscatedName("fo") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "8" - ) - @Export("playPcmPlayers") - static final void playPcmPlayers() { - if (FriendLoginUpdate.pcmPlayer1 != null) { // L: 3614 - FriendLoginUpdate.pcmPlayer1.run(); - } - - if (AbstractWorldMapData.pcmPlayer0 != null) { // L: 3615 - AbstractWorldMapData.pcmPlayer0.run(); - } - - } // L: 3616 - - @ObfuscatedName("ib") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "43" - ) - static final void method5356(int var0) { - if (var0 >= 0) { // L: 7470 - int var1 = Client.menuArguments1[var0]; // L: 7471 - int var2 = Client.menuArguments2[var0]; // L: 7472 - int var3 = Client.menuOpcodes[var0]; // L: 7473 - int var4 = Client.menuIdentifiers[var0]; // L: 7474 - String var5 = Client.menuActions[var0]; // L: 7475 - String var6 = Client.menuTargets[var0]; // L: 7476 - RouteStrategy.menuAction(var1, var2, var3, var4, var5, var6, MouseHandler.MouseHandler_lastPressedX, MouseHandler.MouseHandler_lastPressedY); // L: 7477 - } - } // L: 7478 - - @ObfuscatedName("je") - @ObfuscatedSignature( - descriptor = "([Lhe;IIIIIIIIB)V", - garbageValue = "105" - ) - @Export("drawInterface") - static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 8931 - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 8932 - - for (int var9 = 0; var9 < var0.length; ++var9) { // L: 8933 - Widget var10 = var0[var9]; // L: 8934 - if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { // L: 8935 8936 - int var11; - if (var8 == -1) { // L: 8938 - Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; // L: 8939 - Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; // L: 8940 - Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; // L: 8941 - Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; // L: 8942 - var11 = ++Client.rootWidgetCount - 1; // L: 8943 - } else { - var11 = var8; // L: 8945 - } - - var10.rootIndex = var11; // L: 8946 - var10.cycle = Client.cycle; // L: 8947 - if (!var10.isIf3 || !DevicePcmPlayerProvider.isComponentHidden(var10)) { // L: 8948 - if (var10.contentType > 0) { // L: 8949 - class279.method5006(var10); - } - - int var12 = var10.x + var6; // L: 8950 - int var13 = var7 + var10.y; // L: 8951 - int var14 = var10.transparencyTop; // L: 8952 - int var15; - int var16; - if (var10 == Client.clickedWidget) { // L: 8953 - if (var1 != -1412584499 && !var10.isScrollBar) { // L: 8954 - class200.field2390 = var0; // L: 8955 - Client.field923 = var6; // L: 8956 - Renderable.field1893 = var7; // L: 8957 - continue; // L: 8958 - } - - if (Client.isDraggingWidget && Client.field859) { // L: 8960 - var15 = MouseHandler.MouseHandler_x; // L: 8961 - var16 = MouseHandler.MouseHandler_y; // L: 8962 - var15 -= Client.widgetClickX; // L: 8963 - var16 -= Client.widgetClickY; // L: 8964 - if (var15 < Client.field827) { // L: 8965 - var15 = Client.field827; - } - - if (var15 + var10.width > Client.field827 + Client.clickedWidgetParent.width) { // L: 8966 - var15 = Client.field827 + Client.clickedWidgetParent.width - var10.width; - } - - if (var16 < Client.field716) { // L: 8967 - var16 = Client.field716; - } - - if (var16 + var10.height > Client.field716 + Client.clickedWidgetParent.height) { // L: 8968 - var16 = Client.field716 + Client.clickedWidgetParent.height - var10.height; - } - - var12 = var15; // L: 8969 - var13 = var16; // L: 8970 - } - - if (!var10.isScrollBar) { // L: 8972 - var14 = 128; - } - } - - int var17; - int var18; - int var19; - int var20; - int var21; - int var22; - if (var10.type == 2) { // L: 8978 - var15 = var2; // L: 8979 - var16 = var3; // L: 8980 - var17 = var4; // L: 8981 - var18 = var5; // L: 8982 - } else if (var10.type == 9) { // L: 8984 - var19 = var12; // L: 8985 - var20 = var13; // L: 8986 - var21 = var12 + var10.width; // L: 8987 - var22 = var13 + var10.height; // L: 8988 - if (var21 < var12) { // L: 8989 - var19 = var21; // L: 8991 - var21 = var12; // L: 8992 - } - - if (var22 < var13) { // L: 8994 - var20 = var22; // L: 8996 - var22 = var13; // L: 8997 - } - - ++var21; // L: 8999 - ++var22; // L: 9000 - var15 = var19 > var2 ? var19 : var2; // L: 9001 - var16 = var20 > var3 ? var20 : var3; // L: 9002 - var17 = var21 < var4 ? var21 : var4; // L: 9003 - var18 = var22 < var5 ? var22 : var5; // L: 9004 - } else { - var19 = var12 + var10.width; // L: 9007 - var20 = var13 + var10.height; // L: 9008 - var15 = var12 > var2 ? var12 : var2; // L: 9009 - var16 = var13 > var3 ? var13 : var3; // L: 9010 - var17 = var19 < var4 ? var19 : var4; // L: 9011 - var18 = var20 < var5 ? var20 : var5; // L: 9012 - } - - if (!var10.isIf3 || var15 < var17 && var16 < var18) { // L: 9014 - if (var10.contentType != 0) { // L: 9015 - if (var10.contentType == 1336) { // L: 9016 - if (Client.displayFps) { // L: 9017 - var13 += 15; // L: 9018 - WorldMapLabelSize.fontPlain12.drawRightAligned("Fps:" + GameEngine.fps, var12 + var10.width, var13, 16776960, -1); // L: 9019 - var13 += 15; // L: 9020 - Runtime var42 = Runtime.getRuntime(); // L: 9021 - var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L); // L: 9022 - var21 = 16776960; // L: 9023 - if (var20 > 327680 && !Client.isLowDetail) { // L: 9024 - var21 = 16711680; - } - - WorldMapLabelSize.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); // L: 9025 - var13 += 15; // L: 9026 - } - continue; - } - - if (var10.contentType == 1337) { // L: 9030 - Client.viewportX = var12; // L: 9031 - Client.viewportY = var13; // L: 9032 - SecureRandomFuture.drawEntities(var12, var13, var10.width, var10.height); // L: 9033 - Client.field901[var10.rootIndex] = true; // L: 9034 - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 9035 - continue; // L: 9036 - } - - if (var10.contentType == 1338) { // L: 9038 - DirectByteArrayCopier.drawMinimap(var10, var12, var13, var11); // L: 9039 - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 9040 - continue; // L: 9041 - } - - if (var10.contentType == 1339) { // L: 9043 - Varcs.drawCompass(var10, var12, var13, var11); // L: 9044 - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 9045 - continue; // L: 9046 - } - - if (var10.contentType == 1400) { // L: 9048 - WorldMapRectangle.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); // L: 9049 - } - - if (var10.contentType == 1401) { // L: 9051 - WorldMapRectangle.worldMap.drawOverview(var12, var13, var10.width, var10.height); // L: 9052 - } - - if (var10.contentType == 1402) { // L: 9054 - class1.loginScreenRunesAnimation.draw(var12, Client.cycle); // L: 9055 - } - } - - if (var10.type == 0) { // L: 9058 - if (!var10.isIf3 && DevicePcmPlayerProvider.isComponentHidden(var10) && var10 != EnumComposition.mousedOverWidgetIf1) { // L: 9059 - continue; - } - - if (!var10.isIf3) { // L: 9060 - if (var10.scrollY > var10.scrollHeight - var10.height) { // L: 9061 - var10.scrollY = var10.scrollHeight - var10.height; - } - - if (var10.scrollY < 0) { // L: 9062 - var10.scrollY = 0; - } - } - - drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); // L: 9064 - if (var10.children != null) { // L: 9065 - drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); - } - - InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); // L: 9066 - if (var30 != null) { // L: 9067 - KeyHandler.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); // L: 9068 - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 9070 - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 9071 - } - - if (Client.isResizable || Client.field855[var11] || Client.gameDrawingMode > 1) { // L: 9073 - if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { // L: 9074 9075 - class89.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); - } - - if (var10.type != 1) { // L: 9077 - int var23; - int var24; - int var25; - int var26; - if (var10.type == 2) { // L: 9080 - var19 = 0; // L: 9081 - - for (var20 = 0; var20 < var10.rawHeight; ++var20) { // L: 9082 - for (var21 = 0; var21 < var10.rawWidth; ++var21) { // L: 9083 - var22 = var12 + var21 * (var10.paddingX + 32); // L: 9084 - var23 = var13 + var20 * (var10.paddingY + 32); // L: 9085 - if (var19 < 20) { // L: 9086 - var22 += var10.inventoryXOffsets[var19]; // L: 9087 - var23 += var10.inventoryYOffsets[var19]; // L: 9088 - } - - if (var10.itemIds[var19] <= 0) { // L: 9090 - if (var10.inventorySprites != null && var19 < 20) { // L: 9135 - SpritePixels var46 = var10.getInventorySprite(var19); // L: 9136 - if (var46 != null) { // L: 9137 - var46.drawTransBgAt(var22, var23); - } else if (Widget.field2603) { // L: 9138 - CollisionMap.invalidateWidget(var10); - } - } - } else { - boolean var37 = false; // L: 9091 - boolean var38 = false; // L: 9092 - var26 = var10.itemIds[var19] - 1; // L: 9093 - if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == class171.dragInventoryWidget && var19 == Client.dragItemSlotSource) { // L: 9094 - SpritePixels var35; - if (Client.isItemSelected == 1 && var19 == ChatChannel.selectedItemSlot && var10.id == WorldMapLabelSize.selectedItemWidget) { // L: 9096 - var35 = WorldMapManager.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); - } else { - var35 = WorldMapManager.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); // L: 9097 - } - - if (var35 != null) { // L: 9098 - if (var10 == class171.dragInventoryWidget && var19 == Client.dragItemSlotSource) { // L: 9099 - var24 = MouseHandler.MouseHandler_x - Client.draggedWidgetX; // L: 9100 - var25 = MouseHandler.MouseHandler_y - Client.draggedWidgetY; // L: 9101 - if (var24 < 5 && var24 > -5) { // L: 9102 - var24 = 0; - } - - if (var25 < 5 && var25 > -5) { // L: 9103 - var25 = 0; - } - - if (Client.itemDragDuration < 5) { // L: 9104 - var24 = 0; // L: 9105 - var25 = 0; // L: 9106 - } - - var35.drawTransAt(var22 + var24, var23 + var25, 128); // L: 9108 - if (var1 != -1) { // L: 9109 - Widget var28 = var0[var1 & 65535]; // L: 9110 - int var29; - if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { // L: 9111 - var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field850 / 3; // L: 9112 - if (var29 > Client.field850 * 10) { // L: 9113 - var29 = Client.field850 * 10; - } - - if (var29 > var28.scrollY) { // L: 9114 - var29 = var28.scrollY; - } - - var28.scrollY -= var29; // L: 9115 - Client.draggedWidgetY += var29; // L: 9116 - CollisionMap.invalidateWidget(var28); // L: 9117 - } - - if (var23 + var25 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { // L: 9119 - var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field850 / 3; // L: 9120 - if (var29 > Client.field850 * 10) { // L: 9121 - var29 = Client.field850 * 10; - } - - if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { // L: 9122 - var29 = var28.scrollHeight - var28.height - var28.scrollY; - } - - var28.scrollY += var29; // L: 9123 - Client.draggedWidgetY -= var29; // L: 9124 - CollisionMap.invalidateWidget(var28); // L: 9125 - } - } - } else if (var10 == NPC.field1131 && var19 == Client.field881) { // L: 9129 - var35.drawTransAt(var22, var23, 128); - } else { - var35.drawTransBgAt(var22, var23); // L: 9130 - } - } else { - CollisionMap.invalidateWidget(var10); // L: 9132 - } - } - } - - ++var19; // L: 9140 - } - } - } else if (var10.type == 3) { // L: 9145 - if (class8.runCs1(var10)) { // L: 9147 - var19 = var10.color2; // L: 9148 - if (var10 == EnumComposition.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { // L: 9149 - var19 = var10.mouseOverColor2; - } - } else { - var19 = var10.color; // L: 9152 - if (var10 == EnumComposition.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { // L: 9153 - var19 = var10.mouseOverColor; - } - } - - if (var10.fill) { // L: 9155 - switch(var10.fillMode.field3902) { // L: 9156 - case 1: - Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); // L: 9165 - break; // L: 9166 - case 2: - Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); // L: 9162 - break; // L: 9163 - default: - if (var14 == 0) { // L: 9158 - Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); // L: 9159 - } - } - } else if (var14 == 0) { // L: 9170 - Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); - } else { - Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); // L: 9171 - } - } else { - Font var39; - if (var10.type == 4) { // L: 9175 - var39 = var10.getFont(); // L: 9176 - if (var39 == null) { // L: 9177 - if (Widget.field2603) { // L: 9178 - CollisionMap.invalidateWidget(var10); - } - } else { - String var44 = var10.text; // L: 9182 - if (class8.runCs1(var10)) { // L: 9183 - var20 = var10.color2; // L: 9184 - if (var10 == EnumComposition.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { // L: 9185 - var20 = var10.mouseOverColor2; - } - - if (var10.text2.length() > 0) { // L: 9186 - var44 = var10.text2; - } - } else { - var20 = var10.color; // L: 9189 - if (var10 == EnumComposition.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { // L: 9190 - var20 = var10.mouseOverColor; - } - } - - if (var10.isIf3 && var10.itemId != -1) { // L: 9192 - ItemComposition var45 = SecureRandomCallable.ItemDefinition_get(var10.itemId); // L: 9193 - var44 = var45.name; // L: 9194 - if (var44 == null) { // L: 9195 - var44 = "null"; - } - - if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { // L: 9196 - var44 = class23.colorStartTag(16748608) + var44 + "" + " " + 'x' + DevicePcmPlayerProvider.formatItemStacks(var10.itemQuantity); - } - } - - if (var10 == Client.meslayerContinueWidget) { // L: 9198 - var44 = "Please wait..."; // L: 9199 - var20 = var10.color; // L: 9200 - } - - if (!var10.isIf3) { // L: 9202 - var44 = class234.method4160(var44, var10); - } - - var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); // L: 9203 - } - } else if (var10.type == 5) { // L: 9206 - SpritePixels var40; - if (!var10.isIf3) { // L: 9207 - var40 = var10.getSprite(class8.runCs1(var10)); // L: 9208 - if (var40 != null) { // L: 9209 - var40.drawTransBgAt(var12, var13); - } else if (Widget.field2603) { // L: 9210 - CollisionMap.invalidateWidget(var10); - } - } else { - if (var10.itemId != -1) { // L: 9214 - var40 = WorldMapManager.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); - } else { - var40 = var10.getSprite(false); // L: 9215 - } - - if (var40 == null) { // L: 9216 - if (Widget.field2603) { // L: 9240 - CollisionMap.invalidateWidget(var10); - } - } else { - var20 = var40.width; // L: 9217 - var21 = var40.height; // L: 9218 - if (!var10.spriteTiling) { // L: 9219 - var22 = var10.width * 4096 / var20; // L: 9233 - if (var10.spriteAngle != 0) { // L: 9234 - var40.method6190(var10.width / 2 + var12, var10.height / 2 + var13, var10.spriteAngle, var22); - } else if (var14 != 0) { // L: 9235 - var40.drawTransScaledAt(var12, var13, var10.width, var10.height, 256 - (var14 & 255)); - } else if (var20 == var10.width && var21 == var10.height) { // L: 9236 - var40.drawTransBgAt(var12, var13); // L: 9237 - } else { - var40.drawScaledAt(var12, var13, var10.width, var10.height); - } - } else { - Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height); // L: 9220 - var22 = (var20 - 1 + var10.width) / var20; // L: 9221 - var23 = (var21 - 1 + var10.height) / var21; // L: 9222 - - for (var24 = 0; var24 < var22; ++var24) { // L: 9223 - for (var25 = 0; var25 < var23; ++var25) { // L: 9224 - if (var10.spriteAngle != 0) { // L: 9225 - var40.method6190(var20 / 2 + var12 + var20 * var24, var21 / 2 + var13 + var21 * var25, var10.spriteAngle, 4096); - } else if (var14 != 0) { // L: 9226 - var40.drawTransAt(var12 + var24 * var20, var13 + var25 * var21, 256 - (var14 & 255)); - } else { - var40.drawTransBgAt(var12 + var20 * var24, var13 + var25 * var21); // L: 9227 - } - } - } - - Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); // L: 9230 - } - } - } - } else { - ItemComposition var33; - if (var10.type == 6) { // L: 9244 - boolean var36 = class8.runCs1(var10); // L: 9245 - if (var36) { // L: 9247 - var20 = var10.sequenceId2; - } else { - var20 = var10.sequenceId; // L: 9248 - } - - Model var41 = null; // L: 9249 - var22 = 0; // L: 9250 - if (var10.itemId != -1) { // L: 9251 - var33 = SecureRandomCallable.ItemDefinition_get(var10.itemId); // L: 9252 - if (var33 != null) { // L: 9253 - var33 = var33.getCountObj(var10.itemQuantity); // L: 9254 - var41 = var33.getModel(1); // L: 9255 - if (var41 != null) { // L: 9256 - var41.calculateBoundsCylinder(); // L: 9257 - var22 = var41.height / 2; // L: 9258 - } else { - CollisionMap.invalidateWidget(var10); // L: 9260 - } - } - } else if (var10.modelType == 5) { // L: 9263 - if (var10.modelId == 0) { // L: 9264 - var41 = Client.playerComposition.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); - } else { - var41 = PlayerComposition.localPlayer.getModel(); // L: 9265 - } - } else if (var20 == -1) { // L: 9267 - var41 = var10.getModel((SequenceDefinition)null, -1, var36, PlayerComposition.localPlayer.appearance); // L: 9268 - if (var41 == null && Widget.field2603) { // L: 9269 - CollisionMap.invalidateWidget(var10); - } - } else { - SequenceDefinition var47 = ParamComposition.SequenceDefinition_get(var20); // L: 9272 - var41 = var10.getModel(var47, var10.modelFrame, var36, PlayerComposition.localPlayer.appearance); // L: 9273 - if (var41 == null && Widget.field2603) { // L: 9274 - CollisionMap.invalidateWidget(var10); - } - } - - Rasterizer3D.method3138(var10.width / 2 + var12, var10.height / 2 + var13); // L: 9276 - var23 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16; // L: 9277 - var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16; // L: 9278 - if (var41 != null) { // L: 9279 - if (!var10.isIf3) { // L: 9280 - var41.method2966(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); - } else { - var41.calculateBoundsCylinder(); // L: 9282 - if (var10.modelOrthog) { // L: 9283 - var41.method2967(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); - } else { - var41.method2966(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var22 + var23 + var10.modelOffsetY, var24 + var10.modelOffsetY); // L: 9284 - } - } - } - - Rasterizer3D.Rasterizer3D_method3(); // L: 9287 - } else { - if (var10.type == 7) { // L: 9290 - var39 = var10.getFont(); // L: 9291 - if (var39 == null) { // L: 9292 - if (Widget.field2603) { // L: 9293 - CollisionMap.invalidateWidget(var10); - } - continue; - } - - var20 = 0; // L: 9296 - - for (var21 = 0; var21 < var10.rawHeight; ++var21) { // L: 9297 - for (var22 = 0; var22 < var10.rawWidth; ++var22) { // L: 9298 - if (var10.itemIds[var20] > 0) { // L: 9299 - var33 = SecureRandomCallable.ItemDefinition_get(var10.itemIds[var20] - 1); // L: 9300 - String var34; - if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { // L: 9302 - var34 = class23.colorStartTag(16748608) + var33.name + ""; // L: 9303 - } else { - var34 = class23.colorStartTag(16748608) + var33.name + "" + " " + 'x' + DevicePcmPlayerProvider.formatItemStacks(var10.itemQuantities[var20]); - } - - var25 = var12 + var22 * (var10.paddingX + 115); // L: 9304 - var26 = var21 * (var10.paddingY + 12) + var13; // L: 9305 - if (var10.textXAlignment == 0) { // L: 9306 - var39.draw(var34, var25, var26, var10.color, var10.textShadowed ? 0 : -1); - } else if (var10.textXAlignment == 1) { // L: 9307 - 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); // L: 9308 - } - } - - ++var20; // L: 9310 - } - } - } - - if (var10.type == 8 && var10 == CollisionMap.field2092 && Client.field799 == Client.field751) { // L: 9314 9315 - var19 = 0; // L: 9316 - var20 = 0; // L: 9317 - Font var31 = WorldMapLabelSize.fontPlain12; // L: 9318 - String var32 = var10.text; // L: 9319 - - String var43; - for (var32 = class234.method4160(var32, var10); var32.length() > 0; var20 = var20 + var31.ascent + 1) { // L: 9321 9322 9334 - var24 = var32.indexOf("
"); // L: 9323 - if (var24 != -1) { // L: 9324 - var43 = var32.substring(0, var24); // L: 9325 - var32 = var32.substring(var24 + 4); // L: 9326 - } else { - var43 = var32; // L: 9329 - var32 = ""; // L: 9330 - } - - var25 = var31.stringWidth(var43); // L: 9332 - if (var25 > var19) { // L: 9333 - var19 = var25; - } - } - - var19 += 6; // L: 9336 - var20 += 7; // L: 9337 - var24 = var12 + var10.width - 5 - var19; // L: 9338 - var25 = var13 + var10.height + 5; // L: 9339 - if (var24 < var12 + 5) { // L: 9340 - var24 = var12 + 5; - } - - if (var19 + var24 > var4) { // L: 9341 - var24 = var4 - var19; - } - - if (var20 + var25 > var5) { // L: 9342 - var25 = var5 - var20; - } - - Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var19, var20, 16777120); // L: 9343 - Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var19, var20, 0); // L: 9344 - var32 = var10.text; // L: 9345 - var26 = var25 + var31.ascent + 2; // L: 9346 - - for (var32 = class234.method4160(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) { // L: 9347 9348 9359 - int var27 = var32.indexOf("
"); // L: 9349 - if (var27 != -1) { // L: 9350 - var43 = var32.substring(0, var27); // L: 9351 - var32 = var32.substring(var27 + 4); // L: 9352 - } else { - var43 = var32; // L: 9355 - var32 = ""; // L: 9356 - } - - var31.draw(var43, var24 + 3, var26, 0, -1); // L: 9358 - } - } - - if (var10.type == 9) { // L: 9363 - if (var10.field2620) { // L: 9368 - var19 = var12; // L: 9369 - var20 = var13 + var10.height; // L: 9370 - var21 = var12 + var10.width; // L: 9371 - var22 = var13; // L: 9372 - } else { - var19 = var12; // L: 9375 - var20 = var13; // L: 9376 - var21 = var12 + var10.width; // L: 9377 - var22 = var13 + var10.height; // L: 9378 - } - - if (var10.lineWid == 1) { // L: 9380 - Rasterizer2D.Rasterizer2D_drawLine(var19, var20, var21, var22, var10.color); // L: 9381 - } else { - class7.method87(var19, var20, var21, var22, var10.color, var10.lineWid); // L: 9384 - } - } - } - } - } - } - } - } - } - } - } - - } // L: 9389 - - @ObfuscatedName("ls") - @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "17801" - ) - static void method5354(int var0) { - Client.oculusOrbState = var0; // L: 11182 - } // L: 11183 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_plain11") + public static final FontName FontName_plain11 = new FontName("p11_full"); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_plain12") + public static final FontName FontName_plain12 = new FontName("p12_full"); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_bold12") + public static final FontName FontName_bold12 = new FontName("b12_full"); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_verdana11") + public static final FontName FontName_verdana11 = new FontName("verdana_11pt_regular"); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_verdana13") + public static final FontName FontName_verdana13 = new FontName("verdana_13pt_regular"); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("FontName_verdana15") + public static final FontName FontName_verdana15 = new FontName("verdana_15pt_regular"); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("Widget_archive") + public static AbstractArchive Widget_archive; + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + static StudioGame field3699; + @ObfuscatedName("z") + @Export("name") + String name; + + FontName(String var1) { + this.name = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-1321910935" + ) + @Export("getVarbit") + public static int getVarbit(int var0) { + VarbitComposition var1 = Tiles.method1219(var0); + int var2 = var1.baseVar; + int var3 = var1.startBit; + int var4 = var1.endBit; + int var5 = Varps.Varps_masks[var4 - var3]; + return Varps.Varps_main[var2] >> var3 & var5; + } + + @ObfuscatedName("e") + public static int method5502(long var0) { + return (int)(var0 >>> 14 & 3L); + } } diff --git a/runescape-client/src/main/java/Fonts.java b/runescape-client/src/main/java/Fonts.java index acafdae846..61f8f5f2a0 100644 --- a/runescape-client/src/main/java/Fonts.java +++ b/runescape-client/src/main/java/Fonts.java @@ -4,57 +4,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kv") +@ObfuscatedName("ki") @Implements("Fonts") public class Fonts { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("spritesArchive") - AbstractArchive spritesArchive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("fontsArchive") - AbstractArchive fontsArchive; - @ObfuscatedName("x") - @Export("map") - HashMap map; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("spritesArchive") + AbstractArchive spritesArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("fontsArchive") + AbstractArchive fontsArchive; + @ObfuscatedName("d") + @Export("map") + HashMap map; - @ObfuscatedSignature( - descriptor = "(Lib;Lib;)V" - ) - public Fonts(AbstractArchive var1, AbstractArchive var2) { - this.spritesArchive = var1; // L: 14 - this.fontsArchive = var2; // L: 15 - this.map = new HashMap(); // L: 16 - } // L: 17 + @ObfuscatedSignature( + descriptor = "(Lig;Lig;)V" + ) + public Fonts(AbstractArchive var1, AbstractArchive var2) { + this.spritesArchive = var1; + this.fontsArchive = var2; + this.map = new HashMap(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([Lkr;S)Ljava/util/HashMap;", - garbageValue = "272" - ) - @Export("createMap") - public HashMap createMap(FontName[] var1) { - HashMap var2 = new HashMap(); // L: 20 - FontName[] var3 = var1; // L: 22 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([Lkq;I)Ljava/util/HashMap;", + garbageValue = "-988913234" + ) + @Export("createMap") + public HashMap createMap(FontName[] var1) { + HashMap var2 = new HashMap(); + FontName[] var3 = var1; - for (int var4 = 0; var4 < var3.length; ++var4) { // L: 23 - FontName var5 = var3[var4]; // L: 24 - if (this.map.containsKey(var5)) { // L: 26 - var2.put(var5, this.map.get(var5)); // L: 27 - } else { - Font var6 = class169.method3534(this.spritesArchive, this.fontsArchive, var5.name, ""); // L: 30 - if (var6 != null) { // L: 31 - this.map.put(var5, var6); // L: 32 - var2.put(var5, var6); // L: 33 - } - } - } + for(int var4 = 0; var4 < var3.length; ++var4) { + FontName var5 = var3[var4]; + if (this.map.containsKey(var5)) { + var2.put(var5, this.map.get(var5)); + } else { + AbstractArchive var7 = this.spritesArchive; + AbstractArchive var8 = this.fontsArchive; + String var9 = var5.name; + int var10 = var7.getGroupId(var9); + int var11 = var7.getFileId(var10, ""); + byte[] var14 = var7.takeFile(var10, var11); + boolean var13; + if (var14 == null) { + var13 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var14); + var13 = true; + } - return var2; // L: 39 - } + Font var12; + if (!var13) { + var12 = null; + } else { + byte[] var15 = var8.takeFile(var10, var11); + Font var18; + if (var15 == null) { + var18 = null; + } else { + Font var16 = new Font(var15, class105.SpriteBuffer_xOffsets, class336.SpriteBuffer_yOffsets, class336.SpriteBuffer_spriteWidths, class225.SpriteBuffer_spriteHeights, HorizontalAlignment.SpriteBuffer_spritePalette, class2.SpriteBuffer_pixels); + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + var18 = var16; + } + + var12 = var18; + } + + if (var12 != null) { + this.map.put(var5, var12); + var2.put(var5, var12); + } + } + } + + return var2; + } } diff --git a/runescape-client/src/main/java/Frames.java b/runescape-client/src/main/java/Frames.java index 5a85512a43..bba1f4b960 100644 --- a/runescape-client/src/main/java/Frames.java +++ b/runescape-client/src/main/java/Frames.java @@ -2,155 +2,84 @@ 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("ep") +@ObfuscatedName("el") @Implements("Frames") public class Frames extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "[Leu;" - ) - @Export("frames") - Animation[] frames; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + static AbstractArchive field1904; + @ObfuscatedName("he") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("crossSprites") + static SpritePixels[] crossSprites; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "[Leg;" + ) + @Export("frames") + Animation[] frames; - @ObfuscatedSignature( - descriptor = "(Lib;Lib;IZ)V" - ) - Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { - NodeDeque var5 = new NodeDeque(); - int var6 = var1.getGroupFileCount(var3); // L: 36 - this.frames = new Animation[var6]; // L: 37 - int[] var7 = var1.getGroupFileIds(var3); // L: 38 + @ObfuscatedSignature( + descriptor = "(Lig;Lig;IZ)V" + ) + Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) { + NodeDeque var5 = new NodeDeque(); + int var6 = var1.getGroupFileCount(var3); + this.frames = new Animation[var6]; + int[] var7 = var1.getGroupFileIds(var3); - for (int var8 = 0; var8 < var7.length; ++var8) { // L: 39 - byte[] var9 = var1.takeFile(var3, var7[var8]); // L: 40 - Skeleton var10 = null; // L: 41 - int var11 = (var9[0] & 255) << 8 | var9[1] & 255; // L: 42 + for(int var8 = 0; var8 < var7.length; ++var8) { + byte[] var9 = var1.takeFile(var3, var7[var8]); + Skeleton var10 = null; + int var11 = (var9[0] & 255) << 8 | var9[1] & 255; - for (Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { // L: 43 44 49 - if (var11 == var12.id) { // L: 45 - var10 = var12; // L: 46 - break; - } - } + for(Skeleton var12 = (Skeleton)var5.last(); var12 != null; var12 = (Skeleton)var5.previous()) { + if (var11 == var12.id) { + var10 = var12; + break; + } + } - if (var10 == null) { // L: 51 - byte[] var13; - if (var4) { // L: 53 - var13 = var2.getFile(0, var11); - } else { - var13 = var2.getFile(var11, 0); // L: 54 - } + if (var10 == null) { + byte[] var13; + if (var4) { + var13 = var2.getFile(0, var11); + } else { + var13 = var2.getFile(var11, 0); + } - var10 = new Skeleton(var11, var13); // L: 55 - var5.addFirst(var10); // L: 56 - } + var10 = new Skeleton(var11, var13); + var5.addFirst(var10); + } - this.frames[var7[var8]] = new Animation(var9, var10); // L: 58 - } + this.frames[var7[var8]] = new Animation(var9, var10); + } - } // L: 60 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1239705769" - ) - @Export("hasAlphaTransform") - public boolean hasAlphaTransform(int var1) { - return this.frames[var1].hasAlphaTransform; // L: 63 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-196452763" + ) + @Export("hasAlphaTransform") + public boolean hasAlphaTransform(int var1) { + return this.frames[var1].hasAlphaTransform; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-67" - ) - static int method3356(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 28 - if (var2 == null) { // L: 29 - return 0; - } else if (var1 == -1) { // L: 30 - return 0; - } else { - int var3 = 0; // L: 31 - - for (int var4 = 0; var4 < var2.quantities.length; ++var4) { // L: 32 - if (var2.ids[var4] == var1) { - var3 += var2.quantities[var4]; // L: 33 - } - } - - return var3; // L: 35 - } - } - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "2053155417" - ) - static int method3354(int var0, Script var1, boolean var2) { - Widget var6; - if (var0 != ScriptOpcodes.CC_CALLONRESIZE && var0 != ScriptOpcodes.IF_CALLONRESIZE) { // L: 1145 - int var4; - if (var0 == 1928) { // L: 1162 - var6 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1163 - var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1164 - if (var4 >= 1 && var4 <= 10) { // L: 1165 - class3.widgetDefaultMenuAction(var4, var6.id, var6.childIndex, var6.itemId, ""); // L: 1168 - return 1; // L: 1169 - } else { - throw new RuntimeException(); // L: 1166 - } - } else if (var0 == 2928) { // L: 1171 - VarcInt.Interpreter_intStackSize -= 3; // L: 1172 - int var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1173 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1174 - int var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1175 - if (var5 >= 1 && var5 <= 10) { // L: 1176 - class3.widgetDefaultMenuAction(var5, var3, var4, CollisionMap.getWidget(var3).itemId, ""); // L: 1179 - return 1; // L: 1180 - } else { - throw new RuntimeException(); // L: 1177 - } - } else { - return 2; // L: 1182 - } - } else if (Interpreter.field1097 >= 10) { // L: 1146 - throw new RuntimeException(); // L: 1147 - } else { - if (var0 >= 2000) { // L: 1150 - var6 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1151 - } else { - var6 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1153 - } - - if (var6.onResize == null) { // L: 1154 - return 0; - } else { - ScriptEvent var7 = new ScriptEvent(); // L: 1155 - var7.widget = var6; // L: 1156 - var7.args = var6.onResize; // L: 1157 - var7.field569 = Interpreter.field1097 + 1; // L: 1158 - Client.scriptEvents.addFirst(var7); // L: 1159 - return 1; // L: 1160 - } - } - } - - @ObfuscatedName("id") - @ObfuscatedSignature( - descriptor = "(IIIIB)V", - garbageValue = "-41" - ) - static final void method3352(int var0, int var1, int var2, int var3) { - for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { // L: 7336 - if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetYs[var4] + Client.rootWidgetHeights[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { // L: 7337 - Client.field901[var4] = true; - } - } - - } // L: 7339 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;ZI)V", + garbageValue = "-1252177889" + ) + public static void method3429(AbstractArchive var0, AbstractArchive var1, boolean var2) { + ObjectComposition.ObjectDefinition_archive = var0; + ObjectComposition.ObjectDefinition_modelsArchive = var1; + ObjectComposition.ObjectDefinition_isLowDetail = var2; + } } diff --git a/runescape-client/src/main/java/Friend.java b/runescape-client/src/main/java/Friend.java index e2a087a92e..43e3a40f04 100644 --- a/runescape-client/src/main/java/Friend.java +++ b/runescape-client/src/main/java/Friend.java @@ -3,56 +3,59 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kx") +@ObfuscatedName("ko") @Implements("Friend") public class Friend extends Buddy { - @ObfuscatedName("h") - boolean field3666; - @ObfuscatedName("v") - boolean field3667; + @ObfuscatedName("ce") + @ObfuscatedSignature( + descriptor = "Lbb;" + ) + @Export("mouseRecorder") + static MouseRecorder mouseRecorder; + @ObfuscatedName("n") + boolean field3663; + @ObfuscatedName("v") + boolean field3661; - Friend() { - } // L: 9 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lko;I)I", + garbageValue = "-1403484495" + ) + @Export("compareToFriend") + int compareToFriend(Friend var1) { + if (super.world == Client.worldId && Client.worldId != var1.world) { + return -1; + } else if (Client.worldId == var1.world && super.world != Client.worldId) { + return 1; + } else if (super.world != 0 && var1.world == 0) { + return -1; + } else if (var1.world != 0 && super.world == 0) { + return 1; + } else if (this.field3663 && !var1.field3663) { + return -1; + } else if (!this.field3663 && var1.field3663) { + return 1; + } else if (this.field3661 && !var1.field3661) { + return -1; + } else if (!this.field3661 && var1.field3661) { + return 1; + } else { + return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkx;I)I", - garbageValue = "-1658027604" - ) - @Export("compareToFriend") - int compareToFriend(Friend var1) { - if (super.world == Client.worldId && Client.worldId != var1.world) { // L: 12 - return -1; - } else if (Client.worldId == var1.world && super.world != Client.worldId) { // L: 13 - return 1; - } else if (super.world != 0 && var1.world == 0) { // L: 14 - return -1; - } else if (var1.world != 0 && super.world == 0) { // L: 15 - return 1; - } else if (this.field3666 && !var1.field3666) { // L: 16 - return -1; - } else if (!this.field3666 && var1.field3666) { // L: 17 - return 1; - } else if (this.field3667 && !var1.field3667) { // L: 18 - return -1; - } else if (!this.field3667 && var1.field3667) { // L: 19 - return 1; - } else { - return super.world != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2; // L: 20 21 24 - } - } + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(Ljn;I)I", + garbageValue = "642739557" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.compareToFriend((Friend)var1); + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Lju;I)I", - garbageValue = "-1545516578" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.compareToFriend((Friend)var1); // L: 29 - } - - public int compareTo(Object var1) { - return this.compareToFriend((Friend)var1); // L: 33 - } + public int compareTo(Object var1) { + return this.compareToFriend((Friend)var1); + } } diff --git a/runescape-client/src/main/java/FriendLoginUpdate.java b/runescape-client/src/main/java/FriendLoginUpdate.java index e5098537a5..e5ca5a5f97 100644 --- a/runescape-client/src/main/java/FriendLoginUpdate.java +++ b/runescape-client/src/main/java/FriendLoginUpdate.java @@ -4,55 +4,29 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ke") +@ObfuscatedName("kj") @Implements("FriendLoginUpdate") public class FriendLoginUpdate extends Link { - @ObfuscatedName("qv") - @ObfuscatedSignature( - descriptor = "Ldp;" - ) - @Export("pcmPlayer1") - static PcmPlayer pcmPlayer1; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1005138925 - ) - public int field3680; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - @Export("username") - public Username username; - @ObfuscatedName("t") - @Export("world") - public short world; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 272461805 + ) + public int field3676 = (int)(Tiles.currentTimeMillis() / 1000L); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lkk;" + ) + @Export("username") + public Username username; + @ObfuscatedName("y") + @Export("world") + public short world; - @ObfuscatedSignature( - descriptor = "(Lki;I)V" - ) - FriendLoginUpdate(Username var1, int var2) { - this.field3680 = (int)(class298.currentTimeMillis() / 1000L); // L: 106 - this.username = var1; // L: 107 - this.world = (short)var2; // L: 108 - } // L: 109 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-1" - ) - public static boolean method5290(int var0) { - return var0 >= WorldMapDecorationType.field2761.id && var0 <= WorldMapDecorationType.field2747.id || var0 == WorldMapDecorationType.field2748.id; // L: 42 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-1404693123" - ) - @Export("isAlphaNumeric") - public static boolean isAlphaNumeric(char var0) { - return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; // L: 155 - } + @ObfuscatedSignature( + descriptor = "(Lkk;I)V" + ) + FriendLoginUpdate(Username var1, int var2) { + 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 dbeef03481..eee34d3883 100644 --- a/runescape-client/src/main/java/FriendSystem.java +++ b/runescape-client/src/main/java/FriendSystem.java @@ -4,315 +4,310 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cm") +@ObfuscatedName("cp") @Implements("FriendSystem") public class FriendSystem { - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -831766123 - ) - static int field1065; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = 1062926745 - ) - static int field1071; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lko;" - ) - @Export("friendsList") - public final FriendsList friendsList; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lkf;" - ) - @Export("ignoreList") - public final IgnoreList ignoreList; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 584921379 - ) - int field1069; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lkm;" + ) + @Export("friendsList") + public final FriendsList friendsList; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lkp;" + ) + @Export("ignoreList") + public final IgnoreList ignoreList; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1793991825 + ) + int field1084 = 0; - @ObfuscatedSignature( - descriptor = "(Lmu;)V" - ) - FriendSystem(LoginType var1) { - this.field1069 = 0; // L: 23 - this.loginType = var1; // L: 26 - this.friendsList = new FriendsList(var1); // L: 27 - this.ignoreList = new IgnoreList(var1); // L: 28 - } // L: 29 + @ObfuscatedSignature( + descriptor = "(Lml;)V" + ) + FriendSystem(LoginType var1) { + this.loginType = var1; + this.friendsList = new FriendsList(var1); + this.ignoreList = new IgnoreList(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-413073532" - ) - boolean method1939() { - return this.field1069 == 2; // L: 32 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1945346484" + ) + boolean method1974() { + return this.field1084 == 2; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "321244010" - ) - final void method1919() { - this.field1069 = 1; // L: 36 - } // L: 37 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2084368484" + ) + final void method1975() { + this.field1084 = 1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-1406977446" - ) - @Export("readUpdate") - final void readUpdate(Buffer var1, int var2) { - this.friendsList.read(var1, var2); // L: 40 - this.field1069 = 2; // L: 41 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-1050410631" + ) + @Export("readUpdate") + final void readUpdate(Buffer var1, int var2) { + this.friendsList.read(var1, var2); + this.field1084 = 2; + class105.method2448(); + } - for (int var3 = 0; var3 < Players.Players_count; ++var3) { // L: 43 - Player var4 = Client.players[Players.Players_indices[var3]]; // L: 44 - var4.clearIsFriend(); // L: 45 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1241092725" + ) + @Export("processFriendUpdates") + final void processFriendUpdates() { + for(FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { + if ((long)var1.field3676 < Tiles.currentTimeMillis() / 1000L - 5L) { + if (var1.world > 0) { + AbstractWorldMapData.addGameMessage(5, "", var1.username + " has logged in."); + } - TileItem.method2189(); // L: 47 - if (WorldMapArea.clanChat != null) { - WorldMapArea.clanChat.clearFriends(); // L: 49 - } + if (var1.world == 0) { + AbstractWorldMapData.addGameMessage(5, "", var1.username + " has logged out."); + } - } // L: 52 + var1.remove(); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "502952777" - ) - @Export("processFriendUpdates") - final void processFriendUpdates() { - for (FriendLoginUpdate var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.last(); var1 != null; var1 = (FriendLoginUpdate)this.friendsList.friendLoginUpdates.previous()) { // L: 55 - if ((long)var1.field3680 < class298.currentTimeMillis() / 1000L - 5L) { // L: 56 - if (var1.world > 0) { - class234.addGameMessage(5, "", var1.username + " has logged in."); // L: 57 - } + } - if (var1.world == 0) { // L: 58 - class234.addGameMessage(5, "", var1.username + " has logged out."); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "7" + ) + @Export("clear") + final void clear() { + this.field1084 = 0; + this.friendsList.clear(); + this.ignoreList.clear(); + } - var1.remove(); // L: 59 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkk;ZB)Z", + garbageValue = "44" + ) + @Export("isFriended") + final boolean isFriended(Username var1, boolean var2) { + if (var1 == null) { + return false; + } else if (var1.equals(UserComparator9.localPlayer.username)) { + return true; + } else { + return this.friendsList.isFriended(var1, var2); + } + } - } // L: 62 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Z", + garbageValue = "-645506648" + ) + @Export("isIgnored") + final boolean isIgnored(Username var1) { + if (var1 == null) { + return false; + } else { + return this.ignoreList.contains(var1); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2051278822" - ) - @Export("clear") - final void clear() { - this.field1069 = 0; // L: 65 - this.friendsList.clear(); // L: 66 - this.ignoreList.clear(); // L: 67 - } // L: 68 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "54" + ) + @Export("addFriend") + final void addFriend(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.friendsListIsFull()) { + class300.method5473("Your friend list is full. Max of 200 for free users, and 400 for members"); + } else if (UserComparator9.localPlayer.username.equals(var2)) { + class300.method5473("You can't add yourself to your own friend list"); + } else if (this.isFriended(var2, false)) { + class300.method5473(var1 + " is already on your friend list"); + } else if (this.isIgnored(var2)) { + class300.method5473("Please remove " + var1 + " from your ignore list first"); + } else { + PacketBufferNode var3 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2302, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + } + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lki;ZB)Z", - garbageValue = "66" - ) - @Export("isFriended") - final boolean isFriended(Username var1, boolean var2) { - if (var1 == null) { // L: 71 - return false; - } else if (var1.equals(PlayerComposition.localPlayer.username)) { // L: 72 - return true; - } else { - return this.friendsList.isFriended(var1, var2); // L: 73 - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "23277245" + ) + @Export("friendsListIsFull") + final boolean friendsListIsFull() { + return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field673 != 1; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lki;I)Z", - garbageValue = "-1147819947" - ) - @Export("isIgnored") - final boolean isIgnored(Username var1) { - if (var1 == null) { // L: 78 - return false; - } else { - return this.ignoreList.contains(var1); // L: 79 - } - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-821036710" + ) + @Export("addIgnore") + final void addIgnore(String var1) { + if (var1 != null) { + Username var2 = new Username(var1, this.loginType); + if (var2.hasCleanName()) { + if (this.canAddIgnore()) { + WorldMapAreaData.method781(); + } else if (UserComparator9.localPlayer.username.equals(var2)) { + NetSocket.method3748(); + } else if (this.isIgnored(var2)) { + class300.method5473(var1 + " is already on your ignore list"); + } else if (this.isFriended(var2, false)) { + Tiles.method1209(var1); + } else { + PacketBufferNode var3 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2321, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } + } + } + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-262000374" - ) - @Export("addFriend") - final void addFriend(String var1) { - if (var1 != null) { // L: 84 - Username var2 = new Username(var1, this.loginType); // L: 85 - if (var2.hasCleanName()) { // L: 86 - if (this.friendsListIsFull()) { // L: 87 - Calendar.method3985(); // L: 88 - } else if (PlayerComposition.localPlayer.username.equals(var2)) { // L: 91 - ServerPacket.method3668(); // L: 92 - } else if (this.isFriended(var2, false)) { // L: 95 - class219.method4003(var1); // L: 96 - } else if (this.isIgnored(var2)) { // L: 99 - StringBuilder var10000 = new StringBuilder(); - Object var10001 = null; // L: 101 - var10000 = var10000.append("Please remove ").append(var1); - var10001 = null; - String var3 = var10000.append(" from your ignore list first").toString(); - class234.addGameMessage(30, "", var3); // L: 103 - } else { - FloorDecoration.method2932(var1); // L: 108 - } - } - } - } // L: 89 93 97 106 109 + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-319380471" + ) + @Export("canAddIgnore") + final boolean canAddIgnore() { + return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field673 != 1; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1820755315" - ) - @Export("friendsListIsFull") - final boolean friendsListIsFull() { - return this.friendsList.isFull() || this.friendsList.getSize() >= 200 && Client.field766 != 1; // L: 141 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "14" + ) + @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.field857 = Client.cycleCntr; + PacketBufferNode var3 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1480172940" - ) - @Export("addIgnore") - final void addIgnore(String var1) { - if (var1 != null) { // L: 148 - Username var2 = new Username(var1, this.loginType); // L: 149 - if (var2.hasCleanName()) { // L: 150 - StringBuilder var10000; - String var3; - if (this.canAddIgnore()) { // L: 151 - var10000 = null; // L: 153 - var3 = "Your ignore list is full. Max of 100 for free users, and 400 for members"; - class234.addGameMessage(30, "", var3); // L: 155 - } else if (PlayerComposition.localPlayer.username.equals(var2)) { // L: 160 - var10000 = null; // L: 162 - var3 = "You can't add yourself to your own ignore list"; - class234.addGameMessage(30, "", var3); // L: 164 - } else if (this.isIgnored(var2)) { // L: 169 - var10000 = (new StringBuilder()).append(var1); // L: 171 - Object var10001 = null; - var3 = var10000.append(" is already on your ignore list").toString(); - class234.addGameMessage(30, "", var3); // L: 173 - } else if (this.isFriended(var2, false)) { // L: 178 - GrandExchangeOfferTotalQuantityComparator.method165(var1); // L: 179 - } else { - Skeleton.method3155(var1); // L: 182 - } - } - } - } // L: 158 167 176 180 183 + class105.method2448(); + } + } + } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1353584964" - ) - @Export("canAddIgnore") - final boolean canAddIgnore() { - return this.ignoreList.isFull() || this.ignoreList.getSize() >= 100 && Client.field766 != 1; // L: 201 - } + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1962434605" + ) + @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.field857 = Client.cycleCntr; + PacketBufferNode var3 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2329, Client.packetWriter.isaacCipher); + var3.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var1)); + var3.packetBuffer.writeStringCp1252NullTerminated(var1); + Client.packetWriter.addNode(var3); + } - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "92133268" - ) - @Export("removeFriend") - final void removeFriend(String var1) { - if (var1 != null) { // L: 208 - Username var2 = new Username(var1, this.loginType); // L: 209 - if (var2.hasCleanName()) { // L: 210 - if (this.friendsList.removeByUsername(var2)) { // L: 211 - Client.field879 = Client.cycleCntr; // L: 213 - PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2290, Client.packetWriter.isaacCipher); // L: 216 - var3.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var1)); // L: 217 - var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 218 - Client.packetWriter.addNode(var3); // L: 219 - } + class51.FriendSystem_invalidateIgnoreds(); + } + } + } - for (int var5 = 0; var5 < Players.Players_count; ++var5) { // L: 222 - Player var4 = Client.players[Players.Players_indices[var5]]; // L: 223 - var4.clearIsFriend(); // L: 224 - } + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Z", + garbageValue = "-914482688" + ) + @Export("isFriendAndHasWorld") + final boolean isFriendAndHasWorld(Username var1) { + Friend var2 = (Friend)this.friendsList.getByUsername(var1); + return var2 != null && var2.hasWorld(); + } - TileItem.method2189(); // L: 226 - if (WorldMapArea.clanChat != null) { // L: 227 - WorldMapArea.clanChat.clearFriends(); // L: 228 - } + @ObfuscatedName("ji") + @ObfuscatedSignature( + descriptor = "(Lhz;IIB)V", + garbageValue = "1" + ) + @Export("clickWidget") + static final void clickWidget(Widget var0, int var1, int var2) { + if (Client.clickedWidget == null && !Client.isMenuOpen) { + if (var0 != null) { + Widget var4 = Strings.method4325(var0); + if (var4 == null) { + var4 = var0.parent; + } - } - } - } // L: 231 + if (var4 != null) { + Client.clickedWidget = var0; + var4 = Strings.method4325(var0); + if (var4 == null) { + var4 = var0.parent; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "40" - ) - @Export("removeIgnore") - final void removeIgnore(String var1) { - if (var1 != null) { // L: 234 - Username var2 = new Username(var1, this.loginType); // L: 235 - if (var2.hasCleanName()) { // L: 236 - if (this.ignoreList.removeByUsername(var2)) { // L: 237 - Client.field879 = Client.cycleCntr; // L: 239 - PacketBufferNode var3 = ItemContainer.getPacketBufferNode(ClientPacket.field2318, Client.packetWriter.isaacCipher); // L: 242 - var3.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var1)); // L: 243 - var3.packetBuffer.writeStringCp1252NullTerminated(var1); // L: 244 - Client.packetWriter.addNode(var3); // L: 245 - } + Client.clickedWidgetParent = var4; + Client.widgetClickX = var1; + Client.widgetClickY = var2; + PlayerComposition.widgetDragDuration = 0; + Client.isDraggingWidget = false; + int var6 = Client.menuOptionsCount - 1; + if (var6 != -1) { + class195.tempMenuAction = new MenuAction(); + class195.tempMenuAction.param0 = Client.menuArguments1[var6]; + class195.tempMenuAction.param1 = Client.menuArguments2[var6]; + class195.tempMenuAction.opcode = Client.menuOpcodes[var6]; + class195.tempMenuAction.identifier = Client.menuIdentifiers[var6]; + class195.tempMenuAction.action = Client.menuActions[var6]; + } - class9.FriendSystem_invalidateIgnoreds(); // L: 247 - } - } - } // L: 248 + return; + } + } - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Lki;I)Z", - garbageValue = "-1294359433" - ) - @Export("isFriendAndHasWorld") - final boolean isFriendAndHasWorld(Username var1) { - Friend var2 = (Friend)this.friendsList.getByUsername(var1); // L: 260 - return var2 != null && var2.hasWorld(); // L: 261 - } - - @ObfuscatedName("h") - static double method1972(double var0) { - return Math.exp(var0 * -var0 / 2.0D) / Math.sqrt(6.283185307179586D); // L: 9 - } - - @ObfuscatedName("v") - public static boolean method1943(long var0) { - return 0L != var0 && !AbstractWorldMapIcon.method657(var0); // L: 48 - } + } + } } diff --git a/runescape-client/src/main/java/FriendsList.java b/runescape-client/src/main/java/FriendsList.java index 697fa44e0b..b270b39030 100644 --- a/runescape-client/src/main/java/FriendsList.java +++ b/runescape-client/src/main/java/FriendsList.java @@ -4,236 +4,175 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ko") +@ObfuscatedName("km") @Implements("FriendsList") public class FriendsList extends UserList { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("loginType") - final LoginType loginType; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1380465553 - ) - int field3657; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Ljj;" - ) - @Export("friendLoginUpdates") - public LinkDeque friendLoginUpdates; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("loginType") + final LoginType loginType; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -2002671207 + ) + int field3655 = 1; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Ljw;" + ) + @Export("friendLoginUpdates") + public LinkDeque friendLoginUpdates = new LinkDeque(); - @ObfuscatedSignature( - descriptor = "(Lmu;)V" - ) - public FriendsList(LoginType var1) { - super(400); // L: 17 - this.field3657 = 1; // L: 13 - this.friendLoginUpdates = new LinkDeque(); // L: 14 - this.loginType = var1; // L: 18 - } // L: 19 + @ObfuscatedSignature( + descriptor = "(Lml;)V" + ) + public FriendsList(LoginType var1) { + super(400); + this.loginType = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)Lju;", - garbageValue = "-99" - ) - @Export("newInstance") - User newInstance() { - return new Friend(); // L: 22 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Ljn;", + garbageValue = "-315842787" + ) + @Export("newInstance") + User newInstance() { + return new Friend(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)[Lju;", - garbageValue = "-1524839332" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Friend[var1]; // L: 26 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)[Ljn;", + garbageValue = "1723641195" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Friend[var1]; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lki;ZB)Z", - garbageValue = "-6" - ) - @Export("isFriended") - public boolean isFriended(Username var1, boolean var2) { - Friend var3 = (Friend)this.getByUsername(var1); // L: 30 - if (var3 == null) { // L: 31 - return false; - } else { - return !var2 || var3.world != 0; // L: 32 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkk;ZI)Z", + garbageValue = "-117027707" + ) + @Export("isFriended") + public boolean isFriended(Username var1, boolean var2) { + Friend var3 = (Friend)this.getByUsername(var1); + if (var3 == null) { + return false; + } else { + return !var2 || var3.world != 0; + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-1122558022" - ) - @Export("read") - public void read(Buffer var1, int var2) { - while (true) { - if (var1.offset < var2) { // L: 37 - boolean var3 = var1.readUnsignedByte() == 1; // L: 38 - Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 39 - Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 40 - int var6 = var1.readUnsignedShort(); // L: 41 - int var7 = var1.readUnsignedByte(); // L: 42 - int var8 = var1.readUnsignedByte(); // L: 43 - boolean var9 = (var8 & 2) != 0; // L: 44 - boolean var10 = (var8 & 1) != 0; // L: 45 - if (var6 > 0) { // L: 46 - var1.readStringCp1252NullTerminated(); // L: 47 - var1.readUnsignedByte(); // L: 48 - var1.readInt(); // L: 49 - } + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "277533413" + ) + @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(); + } - var1.readStringCp1252NullTerminated(); // L: 51 - if (var4 != null && var4.hasCleanName()) { // L: 52 - Friend var11 = (Friend)this.getByCurrentUsername(var4); - if (var3) { - Friend var12 = (Friend)this.getByCurrentUsername(var5); - if (var12 != null && var12 != var11) { - if (var11 != null) { - this.remove(var12); - } else { - var11 = var12; - } - } - } + var1.readStringCp1252NullTerminated(); + if (var4 != null && var4.hasCleanName()) { + Friend var11 = (Friend)this.getByCurrentUsername(var4); + if (var3) { + Friend var12 = (Friend)this.getByCurrentUsername(var5); + if (var12 != null && var12 != var11) { + if (var11 != null) { + this.remove(var12); + } else { + var11 = var12; + } + } + } - if (var11 != null) { - this.changeName(var11, var4, var5); - if (var6 != var11.world) { - boolean var14 = true; // L: 68 + 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()) { // L: 69 - if (var13.username.equals(var4)) { // L: 70 - if (var6 != 0 && var13.world == 0) { - var13.remove(); - var14 = false; - } else if (var6 == 0 && var13.world != 0) { - var13.remove(); - var14 = false; - } - } - } + 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) { // L: 84 - continue; - } + if (var14) { + this.friendLoginUpdates.addFirst(new FriendLoginUpdate(var4, var6)); + } + } + } else { + if (this.getSize() >= 400) { + continue; + } - var11 = (Friend)this.addLast(var4, var5); // L: 85 - } + var11 = (Friend)this.addLast(var4, var5); + } - if (var6 != var11.world) { - var11.int2 = ++this.field3657 - 1; - if (var11.world == -1 && var6 == 0) { - var11.int2 = -(var11.int2 * -579950033) * 503110863; - } + if (var6 != var11.world) { + var11.int2 = ++this.field3655 - 1; + if (var11.world == -1 && var6 == 0) { + var11.int2 = -(var11.int2 * 1612943523) * 975938315; + } - var11.world = var6; - } + var11.world = var6; + } - var11.rank = var7; - var11.field3666 = var9; - var11.field3667 = var10; - continue; - } + var11.rank = var7; + var11.field3663 = var9; + var11.field3661 = var10; + continue; + } - throw new IllegalStateException(); - } + throw new IllegalStateException(); + } - this.sort(); - return; // L: 98 - } - } + this.sort(); + return; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "754468419" - ) - static void method5222(int var0, int var1, int var2, int var3) { - for (ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 53 - if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { // L: 54 - int var5 = 0; // L: 55 - if (var1 > var4.field1073) { // L: 56 - var5 += var1 - var4.field1073; - } else if (var1 < var4.x) { // L: 57 - var5 += var4.x - var1; - } + @ObfuscatedName("ls") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-22" + ) + static void method5386() { + if (HealthBarUpdate.field1016 != null) { + Client.field674 = Client.cycle; + HealthBarUpdate.field1016.method4510(); - if (var2 > var4.field1078) { // L: 58 - var5 += var2 - var4.field1078; - } else if (var2 < var4.y) { // L: 59 - var5 += var4.y - var2; - } + for(int var0 = 0; var0 < Client.players.length; ++var0) { + if (Client.players[var0] != null) { + HealthBarUpdate.field1016.method4509(GrandExchangeOfferNameComparator.baseX * 64 + (Client.players[var0].x >> 7), NetCache.baseY * 64 + (Client.players[var0].y >> 7)); + } + } + } - if (var5 - 64 <= var4.field1086 && Timer.clientPreferences.areaSoundEffectsVolume != 0 && var0 == var4.plane) { // L: 60 - var5 -= 64; // L: 71 - if (var5 < 0) { // L: 72 - var5 = 0; - } - - int var6 = (var4.field1086 - var5) * Timer.clientPreferences.areaSoundEffectsVolume / var4.field1086; // L: 73 - if (var4.stream1 == null) { // L: 74 - if (var4.soundEffectId >= 0) { // L: 75 - SoundEffect var7 = SoundEffect.readSoundEffect(class227.archive4, var4.soundEffectId, 0); // L: 76 - if (var7 != null) { // L: 77 - RawSound var8 = var7.toRawSound().resample(ItemLayer.decimator); // L: 78 - RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); // L: 79 - var9.setNumLoops(-1); // L: 80 - WorldMapManager.pcmStreamMixer.addSubStream(var9); // L: 81 - var4.stream1 = var9; // L: 82 - } - } - } else { - var4.stream1.method2610(var6); // L: 86 - } - - if (var4.stream2 == null) { // L: 87 - if (var4.soundEffectIds != null && (var4.field1081 -= var3) <= 0) { // L: 88 - int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); // L: 89 - SoundEffect var12 = SoundEffect.readSoundEffect(class227.archive4, var4.soundEffectIds[var11], 0); // L: 90 - if (var12 != null) { // L: 91 - RawSound var13 = var12.toRawSound().resample(ItemLayer.decimator); // L: 92 - RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); // L: 93 - var10.setNumLoops(0); // L: 94 - WorldMapManager.pcmStreamMixer.addSubStream(var10); // L: 95 - var4.stream2 = var10; // L: 96 - var4.field1081 = var4.field1085 + (int)(Math.random() * (double)(var4.field1083 - var4.field1085)); // L: 97 - } - } - } else { - var4.stream2.method2610(var6); // L: 102 - if (!var4.stream2.hasNext()) { // L: 103 - var4.stream2 = null; // L: 104 - } - } - } else { - if (var4.stream1 != null) { // L: 61 - WorldMapManager.pcmStreamMixer.removeSubStream(var4.stream1); // L: 62 - var4.stream1 = null; // L: 63 - } - - if (var4.stream2 != null) { // L: 65 - WorldMapManager.pcmStreamMixer.removeSubStream(var4.stream2); // L: 66 - var4.stream2 = null; // L: 67 - } - } - } - } - - } // L: 108 + } } diff --git a/runescape-client/src/main/java/GZipDecompressor.java b/runescape-client/src/main/java/GZipDecompressor.java index 82ae2c7677..2718a2e6aa 100644 --- a/runescape-client/src/main/java/GZipDecompressor.java +++ b/runescape-client/src/main/java/GZipDecompressor.java @@ -4,53 +4,49 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ms") +@ObfuscatedName("mg") @Implements("GZipDecompressor") public class GZipDecompressor { - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("runesSprite") - static IndexedSprite[] runesSprite; - @ObfuscatedName("h") - @Export("inflater") - Inflater inflater; + @ObfuscatedName("t") + public static String field4046; + @ObfuscatedName("n") + @Export("inflater") + Inflater inflater; - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1000000" - ) - GZipDecompressor(int var1, int var2, int var3) { - } // L: 13 + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1000000" + ) + GZipDecompressor(int var1, int var2, int var3) { + } - public GZipDecompressor() { - this(-1, 1000000, 1000000); // L: 10 - } // L: 11 + public GZipDecompressor() { + this(-1, 1000000, 1000000); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;[BB)V", - garbageValue = "-11" - ) - @Export("decompress") - public void decompress(Buffer var1, byte[] var2) { - if (var1.array[var1.offset] == 31 && var1.array[var1.offset + 1] == -117) { // L: 16 - if (this.inflater == null) { // L: 17 - this.inflater = new Inflater(true); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;[BI)V", + garbageValue = "1829368113" + ) + @Export("decompress") + public void decompress(Buffer var1, byte[] var2) { + if (var1.array[var1.offset] == 31 && var1.array[var1.offset + 1] == -117) { + if (this.inflater == null) { + this.inflater = new Inflater(true); + } - try { - this.inflater.setInput(var1.array, var1.offset + 10, var1.array.length - (var1.offset + 8 + 10)); // L: 19 - this.inflater.inflate(var2); // L: 20 - } catch (Exception var4) { // L: 22 - this.inflater.reset(); // L: 23 - throw new RuntimeException(""); // L: 24 - } + try { + this.inflater.setInput(var1.array, var1.offset + 10, var1.array.length - (var1.offset + 8 + 10)); + this.inflater.inflate(var2); + } catch (Exception var4) { + this.inflater.reset(); + throw new RuntimeException(""); + } - this.inflater.reset(); // L: 26 - } else { - throw new RuntimeException(""); - } - } // L: 27 + this.inflater.reset(); + } else { + throw new RuntimeException(""); + } + } } diff --git a/runescape-client/src/main/java/GameBuild.java b/runescape-client/src/main/java/GameBuild.java index b5cf5ebe2b..c5d886fe44 100644 --- a/runescape-client/src/main/java/GameBuild.java +++ b/runescape-client/src/main/java/GameBuild.java @@ -4,52 +4,219 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("io") +@ObfuscatedName("iu") @Implements("GameBuild") public class GameBuild { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lio;" - ) - @Export("LIVE") - static final GameBuild LIVE; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lio;" - ) - @Export("BUILDLIVE") - static final GameBuild BUILDLIVE; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lio;" - ) - @Export("RC") - static final GameBuild RC; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lio;" - ) - @Export("WIP") - static final GameBuild WIP; - @ObfuscatedName("t") - @Export("name") - public final String name; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1867624169 - ) - @Export("buildId") - final int buildId; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Liu;" + ) + @Export("LIVE") + static final GameBuild LIVE = new GameBuild("LIVE", 0); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Liu;" + ) + @Export("BUILDLIVE") + static final GameBuild BUILDLIVE = new GameBuild("BUILDLIVE", 3); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Liu;" + ) + @Export("RC") + static final GameBuild RC = new GameBuild("RC", 1); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Liu;" + ) + @Export("WIP") + static final GameBuild WIP = new GameBuild("WIP", 2); + @ObfuscatedName("y") + @Export("name") + public final String name; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 627083657 + ) + @Export("buildId") + public final int buildId; - static { - LIVE = new GameBuild("LIVE", 0); // L: 5 - BUILDLIVE = new GameBuild("BUILDLIVE", 3); // L: 6 - RC = new GameBuild("RC", 1); // L: 7 - WIP = new GameBuild("WIP", 2); // L: 8 - } + GameBuild(String var1, int var2) { + this.name = var1; + this.buildId = var2; + } - GameBuild(String var1, int var2) { - this.name = var1; // L: 17 - this.buildId = var2; // L: 18 - } // L: 19 + @ObfuscatedName("gf") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1767980909" + ) + @Export("setWindowedMode") + static void setWindowedMode(int var0) { + Client.field938 = 0L; + if (var0 >= 2) { + Client.isResizable = true; + } else { + Client.isResizable = false; + } + + if (BoundaryObject.getWindowedMode() == 1) { + class1.client.setMaxCanvasSize(765, 503); + } else { + class1.client.setMaxCanvasSize(7680, 2160); + } + + if (Client.gameState >= 25) { + PacketBufferNode var1 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2290, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(BoundaryObject.getWindowedMode()); + var1.packetBuffer.writeShort(GrandExchangeOfferTotalQuantityComparator.canvasWidth); + var1.packetBuffer.writeShort(class25.canvasHeight); + Client.packetWriter.addNode(var1); + } + + } + + @ObfuscatedName("gp") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "44" + ) + static boolean method4350() { + return (Client.drawPlayerNames & 4) != 0; + } + + @ObfuscatedName("ig") + @ObfuscatedSignature( + descriptor = "(Ljy;IIII)V", + garbageValue = "2014518085" + ) + @Export("addNpcToMenu") + static final void addNpcToMenu(NPCComposition var0, int var1, int var2, int var3) { + if (Client.menuOptionsCount < 400) { + if (var0.transforms != null) { + var0 = var0.transform(); + } + + 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 = UserComparator9.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = FileSystem.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = FileSystem.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = FileSystem.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = FileSystem.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = FileSystem.colorStartTag(65280); + } else if (var9 > 6) { + var6 = FileSystem.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = FileSystem.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = FileSystem.colorStartTag(12648192); + } else { + var6 = FileSystem.colorStartTag(16776960); + } + + var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; + } + + if (var0.isFollower && Client.followerOpsLowPriority) { + WorldMapManager.insertMenuItemNoShift("Examine", FileSystem.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + } + + if (Client.isItemSelected == 1) { + WorldMapManager.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FileSystem.colorStartTag(16776960) + var4, 7, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((GrandExchangeOfferNameComparator.selectedSpellFlags & 2) == 2) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FileSystem.colorStartTag(16776960) + 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; + } + + WorldMapManager.insertMenuItemNoShift(var11[var7], FileSystem.colorStartTag(16776960) + 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 > UserComparator9.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; + } + + WorldMapManager.insertMenuItemNoShift(var11[var7], FileSystem.colorStartTag(16776960) + var4, var8, var1, var2, var3); + } + } + } + } + + if (!var0.isFollower || !Client.followerOpsLowPriority) { + WorldMapManager.insertMenuItemNoShift("Examine", FileSystem.colorStartTag(16776960) + var4, 1003, var1, var2, var3); + } + } + + } + } + } + } + } } diff --git a/runescape-client/src/main/java/GameEngine.java b/runescape-client/src/main/java/GameEngine.java index 5cab90a2d5..3cad0e605d 100644 --- a/runescape-client/src/main/java/GameEngine.java +++ b/runescape-client/src/main/java/GameEngine.java @@ -4,6 +4,7 @@ import java.awt.Container; import java.awt.EventQueue; import java.awt.Frame; import java.awt.Graphics; +import java.awt.Image; import java.awt.Insets; import java.awt.LayoutManager; import java.awt.Rectangle; @@ -24,969 +25,1794 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bd") +@ObfuscatedName("bt") @Implements("GameEngine") public abstract class GameEngine extends Applet implements Runnable, FocusListener, WindowListener { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lfa;" - ) - @Export("taskHandler") - protected static TaskHandler taskHandler; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lbd;" - ) - @Export("gameEngine") - static GameEngine gameEngine; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 548418733 - ) - @Export("GameEngine_redundantStartThreadCount") - static int GameEngine_redundantStartThreadCount; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -299301004563523829L - ) - @Export("stopTimeMs") - static long stopTimeMs; - @ObfuscatedName("n") - @Export("isKilled") - static boolean isKilled; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1522252181 - ) - @Export("cycleDurationMillis") - static int cycleDurationMillis; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1346634793 - ) - @Export("fiveOrOne") - static int fiveOrOne; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1771447701 - ) - @Export("fps") - protected static int fps; - @ObfuscatedName("i") - @Export("graphicsTickTimes") - protected static long[] graphicsTickTimes; - @ObfuscatedName("a") - @Export("clientTickTimes") - protected static long[] clientTickTimes; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "Llc;" - ) - static Bounds field481; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 475129239 - ) - static int field471; - @ObfuscatedName("ad") - @Export("volatileFocus") - static volatile boolean volatileFocus; - @ObfuscatedName("ay") - @ObfuscatedGetter( - longValue = 2878224535020418697L - ) - @Export("garbageCollectorLastCollectionTime") - static long garbageCollectorLastCollectionTime; - @ObfuscatedName("af") - @ObfuscatedGetter( - longValue = 6896252381737928241L - ) - @Export("garbageCollectorLastCheckTimeMs") - static long garbageCollectorLastCheckTimeMs; - @ObfuscatedName("dn") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive5") - static Archive archive5; - @ObfuscatedName("p") - @Export("hasErrored") - boolean hasErrored; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -421640867 - ) - @Export("contentWidth") - protected int contentWidth; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 654050171 - ) - @Export("contentHeight") - protected int contentHeight; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -153393077 - ) - @Export("canvasX") - int canvasX; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1458839985 - ) - @Export("canvasY") - int canvasY; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 2092282905 - ) - int field464; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -1103282921 - ) - int field467; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1546847555 - ) - @Export("maxCanvasWidth") - int maxCanvasWidth; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -1533275397 - ) - @Export("maxCanvasHeight") - int maxCanvasHeight; - @ObfuscatedName("as") - @Export("frame") - Frame frame; - @ObfuscatedName("ae") - @Export("canvas") - java.awt.Canvas canvas; - @ObfuscatedName("ac") - @Export("fullRedraw") - volatile boolean fullRedraw; - @ObfuscatedName("aq") - @Export("resizeCanvasNextFrame") - boolean resizeCanvasNextFrame; - @ObfuscatedName("ah") - @Export("isCanvasInvalid") - volatile boolean isCanvasInvalid; - @ObfuscatedName("am") - @ObfuscatedGetter( - longValue = 8455429718960757091L - ) - volatile long field472; - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "Lby;" - ) - @Export("mouseWheelHandler") - MouseWheelHandler mouseWheelHandler; - @ObfuscatedName("aw") - @Export("clipboard") - Clipboard clipboard; - @ObfuscatedName("ap") - @Export("eventQueue") - final EventQueue eventQueue; - - static { - gameEngine = null; // L: 41 - GameEngine_redundantStartThreadCount = 0; // L: 43 - stopTimeMs = 0L; // L: 44 - isKilled = false; // L: 45 - cycleDurationMillis = 20; // L: 48 - fiveOrOne = 1; // L: 49 - fps = 0; // L: 50 - graphicsTickTimes = new long[32]; // L: 53 - clientTickTimes = new long[32]; // L: 55 - field471 = 500; // L: 73 - volatileFocus = true; // L: 82 - garbageCollectorLastCollectionTime = -1L; // L: 85 - garbageCollectorLastCheckTimeMs = -1L; // L: 86 - } - - protected GameEngine() { - this.hasErrored = false; // L: 46 - this.canvasX = 0; // L: 59 - this.canvasY = 0; // L: 60 - this.fullRedraw = true; // L: 71 - this.resizeCanvasNextFrame = false; // L: 74 - this.isCanvasInvalid = false; // L: 75 - this.field472 = 0L; // L: 76 - EventQueue var1 = null; // L: 89 - - try { - var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); // L: 91 - } catch (Throwable var3) { // L: 93 - } - - this.eventQueue = var1; // L: 94 - FaceNormal.method3344(new DevicePcmPlayerProvider()); // L: 95 - } // L: 96 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-387026818" - ) - @Export("setMaxCanvasSize") - protected final void setMaxCanvasSize(int var1, int var2) { - if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { // L: 99 - this.method985(); - } - - this.maxCanvasWidth = var1; // L: 100 - this.maxCanvasHeight = var2; // L: 101 - } // L: 102 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;I)V", - garbageValue = "136428180" - ) - @Export("post") - final void post(Object var1) { - if (this.eventQueue != null) { // L: 105 - for (int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { // L: 106 - class236.sleepExact(1L); - } - - if (var1 != null) { - this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); // L: 107 - } - - } - } // L: 108 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Lfi;", - garbageValue = "1655914874" - ) - @Export("mouseWheel") - protected MouseWheel mouseWheel() { - if (this.mouseWheelHandler == null) { // L: 111 - this.mouseWheelHandler = new MouseWheelHandler(); // L: 112 - this.mouseWheelHandler.addTo(this.canvas); // L: 113 - } - - return this.mouseWheelHandler; // L: 115 - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "636889033" - ) - @Export("setUpClipboard") - protected void setUpClipboard() { - this.clipboard = this.getToolkit().getSystemClipboard(); // L: 119 - } // L: 120 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1432423267" - ) - @Export("clipboardSetString") - protected void clipboardSetString(String var1) { - this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); // L: 123 - } // L: 124 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "639866181" - ) - @Export("setUpKeyboard") - protected final void setUpKeyboard() { - WorldMapIcon_1.method354(); // L: 127 - Messages.method2275(this.canvas); // L: 128 - } // L: 129 - - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "49" - ) - @Export("setUpMouse") - protected final void setUpMouse() { - java.awt.Canvas var1 = this.canvas; // L: 132 - var1.addMouseListener(MouseHandler.MouseHandler_instance); // L: 134 - var1.addMouseMotionListener(MouseHandler.MouseHandler_instance); // L: 135 - var1.addFocusListener(MouseHandler.MouseHandler_instance); // L: 136 - } // L: 138 - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1383107169" - ) - @Export("resizeCanvas") - final void resizeCanvas() { - Container var1 = this.container(); // L: 141 - if (var1 != null) { // L: 142 - Bounds var2 = this.getFrameContentBounds(); // L: 143 - this.contentWidth = Math.max(var2.highX, this.field464); // L: 144 - this.contentHeight = Math.max(var2.highY, this.field467); // L: 145 - if (this.contentWidth <= 0) { // L: 146 - this.contentWidth = 1; - } - - if (this.contentHeight <= 0) { // L: 147 - this.contentHeight = 1; - } - - IgnoreList.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); // L: 148 - ModelData0.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); // L: 149 - this.canvasX = (this.contentWidth - IgnoreList.canvasWidth) / 2; // L: 150 - this.canvasY = 0; // L: 151 - this.canvas.setSize(IgnoreList.canvasWidth, ModelData0.canvasHeight); // L: 152 - WorldMapIcon_0.rasterProvider = new RasterProvider(IgnoreList.canvasWidth, ModelData0.canvasHeight, this.canvas); // L: 153 - if (var1 == this.frame) { // L: 154 - Insets var3 = this.frame.getInsets(); // L: 155 - this.canvas.setLocation(var3.left + this.canvasX, this.canvasY + var3.top); // L: 156 - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); // L: 158 - } - - this.fullRedraw = true; // L: 159 - this.resizeGame(); // L: 160 - } - } // L: 161 - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "312942940" - ) - @Export("resizeGame") - protected abstract void resizeGame(); - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2111621500" - ) - @Export("clearBackground") - void clearBackground() { - int var1 = this.canvasX; // L: 166 - int var2 = this.canvasY; // L: 167 - int var3 = this.contentWidth - IgnoreList.canvasWidth - var1; // L: 168 - int var4 = this.contentHeight - ModelData0.canvasHeight - var2; // L: 169 - if (var1 > 0 || var3 > 0 || var2 > 0 || var4 > 0) { // L: 170 - try { - Container var5 = this.container(); // L: 172 - int var6 = 0; // L: 173 - int var7 = 0; // L: 174 - if (var5 == this.frame) { // L: 175 - Insets var8 = this.frame.getInsets(); // L: 176 - var6 = var8.left; // L: 177 - var7 = var8.top; // L: 178 - } - - Graphics var10 = var5.getGraphics(); // L: 180 - var10.setColor(Color.black); // L: 181 - if (var1 > 0) { - var10.fillRect(var6, var7, var1, this.contentHeight); // L: 182 - } - - if (var2 > 0) { // L: 183 - var10.fillRect(var6, var7, this.contentWidth, var2); - } - - if (var3 > 0) { // L: 184 - var10.fillRect(var6 + this.contentWidth - var3, var7, var3, this.contentHeight); - } - - if (var4 > 0) { // L: 185 - var10.fillRect(var6, var7 + this.contentHeight - var4, this.contentWidth, var4); - } - } catch (Exception var9) { // L: 187 - } - } - - } // L: 189 - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2006885359" - ) - @Export("replaceCanvas") - final void replaceCanvas() { - java.awt.Canvas var1 = this.canvas; // L: 192 - var1.removeKeyListener(KeyHandler.KeyHandler_instance); // L: 194 - var1.removeFocusListener(KeyHandler.KeyHandler_instance); // L: 195 - KeyHandler.field410 = -1; // L: 196 - java.awt.Canvas var2 = this.canvas; // L: 198 - var2.removeMouseListener(MouseHandler.MouseHandler_instance); // L: 200 - var2.removeMouseMotionListener(MouseHandler.MouseHandler_instance); // L: 201 - var2.removeFocusListener(MouseHandler.MouseHandler_instance); // L: 202 - MouseHandler.MouseHandler_currentButtonVolatile = 0; // L: 203 - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.removeFrom(this.canvas); // L: 205 - } - - this.addCanvas(); // L: 206 - Messages.method2275(this.canvas); // L: 207 - java.awt.Canvas var3 = this.canvas; // L: 208 - var3.addMouseListener(MouseHandler.MouseHandler_instance); // L: 210 - var3.addMouseMotionListener(MouseHandler.MouseHandler_instance); // L: 211 - var3.addFocusListener(MouseHandler.MouseHandler_instance); // L: 212 - if (this.mouseWheelHandler != null) { - this.mouseWheelHandler.addTo(this.canvas); // L: 214 - } - - this.method985(); // L: 215 - } // L: 216 - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "-108" - ) - @Export("startThread") - protected final void startThread(int var1, int var2, int var3) { - try { - if (gameEngine != null) { // L: 220 - ++GameEngine_redundantStartThreadCount; // L: 221 - if (GameEngine_redundantStartThreadCount >= 3) { // L: 222 - this.error("alreadyloaded"); // L: 223 - return; // L: 224 - } - - this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); // L: 226 - return; // L: 227 - } - - gameEngine = this; // L: 229 - IgnoreList.canvasWidth = var1; // L: 230 - ModelData0.canvasHeight = var2; // L: 231 - RunException.RunException_revision = var3; // L: 232 - RunException.RunException_applet = this; // L: 233 - if (taskHandler == null) { // L: 234 - taskHandler = new TaskHandler(); - } - - taskHandler.newThreadTask(this, 1); // L: 235 - } catch (Exception var5) { // L: 237 - PlayerComposition.RunException_sendStackTrace((String)null, var5); // L: 238 - this.error("crash"); // L: 239 - } - - } // L: 241 - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1254255664" - ) - @Export("addCanvas") - final synchronized void addCanvas() { - Container var1 = this.container(); // L: 244 - if (this.canvas != null) { // L: 245 - this.canvas.removeFocusListener(this); // L: 246 - var1.remove(this.canvas); // L: 247 - } - - IgnoreList.canvasWidth = Math.max(var1.getWidth(), this.field464); // L: 249 - ModelData0.canvasHeight = Math.max(var1.getHeight(), this.field467); // L: 250 - Insets var2; - if (this.frame != null) { // L: 251 - var2 = this.frame.getInsets(); // L: 252 - IgnoreList.canvasWidth -= var2.left + var2.right; // L: 253 - ModelData0.canvasHeight -= var2.bottom + var2.top; // L: 254 - } - - this.canvas = new Canvas(this); // L: 256 - var1.setBackground(Color.BLACK); // L: 257 - var1.setLayout((LayoutManager)null); // L: 258 - var1.add(this.canvas); // L: 259 - this.canvas.setSize(IgnoreList.canvasWidth, ModelData0.canvasHeight); // L: 260 - this.canvas.setVisible(true); // L: 261 - this.canvas.setBackground(Color.BLACK); // L: 262 - if (var1 == this.frame) { // L: 263 - var2 = this.frame.getInsets(); // L: 264 - this.canvas.setLocation(var2.left + this.canvasX, this.canvasY + var2.top); // L: 265 - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); // L: 267 - } - - this.canvas.addFocusListener(this); // L: 268 - this.canvas.requestFocus(); // L: 269 - this.fullRedraw = true; // L: 270 - if (WorldMapIcon_0.rasterProvider != null && IgnoreList.canvasWidth == WorldMapIcon_0.rasterProvider.width && ModelData0.canvasHeight == WorldMapIcon_0.rasterProvider.height) { // L: 271 - ((RasterProvider)WorldMapIcon_0.rasterProvider).setComponent(this.canvas); // L: 272 - WorldMapIcon_0.rasterProvider.drawFull(0, 0); // L: 273 - } else { - WorldMapIcon_0.rasterProvider = new RasterProvider(IgnoreList.canvasWidth, ModelData0.canvasHeight, this.canvas); // L: 276 - } - - this.isCanvasInvalid = false; // L: 278 - this.field472 = class298.currentTimeMillis(); // L: 279 - } // L: 280 - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-206373344" - ) - @Export("checkHost") - protected final boolean checkHost() { - String var1 = this.getDocumentBase().getHost().toLowerCase(); // L: 283 - if (!var1.equals("jagex.com") && !var1.endsWith(".jagex.com")) { // L: 284 - if (!var1.equals("runescape.com") && !var1.endsWith(".runescape.com")) { // L: 285 - if (var1.endsWith("127.0.0.1")) { // L: 286 - return true; - } else { - while (var1.length() > 0 && var1.charAt(var1.length() - 1) >= '0' && var1.charAt(var1.length() - 1) <= '9') { - var1 = var1.substring(0, var1.length() - 1); // L: 287 - } - - if (var1.endsWith("192.168.1.")) { // L: 288 - return true; - } else { - this.error("invalidhost"); // L: 289 - return false; // L: 290 - } - } - } else { - return true; - } - } else { - return true; - } - } - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "176376535" - ) - @Export("clientTick") - void clientTick() { - long var1 = class298.currentTimeMillis(); // L: 343 - long var3 = clientTickTimes[Varcs.clientTickTimeIdx]; // L: 344 - clientTickTimes[Varcs.clientTickTimeIdx] = var1; // L: 345 - Varcs.clientTickTimeIdx = Varcs.clientTickTimeIdx + 1 & 31; // L: 346 - if (var3 != 0L && var1 > var3) { // L: 347 - } - - synchronized(this) { // L: 348 - ScriptEvent.hasFocus = volatileFocus; // L: 349 - } // L: 350 - - this.doCycle(); // L: 351 - } // L: 352 - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2055112654" - ) - @Export("graphicsTick") - void graphicsTick() { - Container var1 = this.container(); // L: 355 - long var2 = class298.currentTimeMillis(); // L: 356 - long var4 = graphicsTickTimes[PacketWriter.graphicsTickTimeIdx]; // L: 357 - graphicsTickTimes[PacketWriter.graphicsTickTimeIdx] = var2; // L: 358 - PacketWriter.graphicsTickTimeIdx = PacketWriter.graphicsTickTimeIdx + 1 & 31; // L: 359 - if (0L != var4 && var2 > var4) { // L: 360 - int var6 = (int)(var2 - var4); // L: 361 - fps = ((var6 >> 1) + 32000) / var6; // L: 362 - } - - if (++field471 - 1 > 50) { // L: 364 - field471 -= 50; // L: 365 - this.fullRedraw = true; // L: 366 - this.canvas.setSize(IgnoreList.canvasWidth, ModelData0.canvasHeight); // L: 367 - this.canvas.setVisible(true); // L: 368 - if (var1 == this.frame) { // L: 369 - Insets var7 = this.frame.getInsets(); // L: 370 - this.canvas.setLocation(this.canvasX + var7.left, var7.top + this.canvasY); // L: 371 - } else { - this.canvas.setLocation(this.canvasX, this.canvasY); // L: 373 - } - } - - if (this.isCanvasInvalid) { // L: 375 - this.replaceCanvas(); - } - - this.method984(); // L: 376 - this.draw(this.fullRedraw); // L: 377 - if (this.fullRedraw) { // L: 378 - this.clearBackground(); - } - - this.fullRedraw = false; // L: 379 - } // L: 380 - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-26" - ) - final void method984() { - Bounds var1 = this.getFrameContentBounds(); // L: 383 - if (var1.highX != this.contentWidth || var1.highY != this.contentHeight || this.resizeCanvasNextFrame) { // L: 384 - this.resizeCanvas(); // L: 385 - this.resizeCanvasNextFrame = false; // L: 386 - } - - } // L: 388 - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "287076222" - ) - final void method985() { - this.resizeCanvasNextFrame = true; // L: 391 - } // L: 392 - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "646391246" - ) - @Export("kill") - final synchronized void kill() { - if (!isKilled) { // L: 395 - isKilled = true; // L: 396 - - try { - this.canvas.removeFocusListener(this); // L: 398 - } catch (Exception var5) { // L: 400 - } - - try { - this.kill0(); // L: 402 - } catch (Exception var4) { // L: 404 - } - - if (this.frame != null) { // L: 405 - try { - System.exit(0); // L: 407 - } catch (Throwable var3) { // L: 409 - } - } - - if (taskHandler != null) { // L: 411 - try { - taskHandler.close(); // L: 413 - } catch (Exception var2) { // L: 415 - } - } - - this.vmethod1777(); // L: 417 - } - } // L: 418 - - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-91" - ) - @Export("setUp") - protected abstract void setUp(); - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1376035132" - ) - @Export("doCycle") - protected abstract void doCycle(); - - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-20163413" - ) - @Export("draw") - protected abstract void draw(boolean var1); - - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-6923156" - ) - @Export("kill0") - protected abstract void kill0(); - - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;ZI)V", - garbageValue = "1645109532" - ) - @Export("drawInitial") - protected final void drawInitial(int var1, String var2, boolean var3) { - try { - Graphics var4 = this.canvas.getGraphics(); // L: 485 - if (GrandExchangeEvent.fontHelvetica13 == null) { // L: 486 - GrandExchangeEvent.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); // L: 487 - ViewportMouse.loginScreenFontMetrics = this.canvas.getFontMetrics(GrandExchangeEvent.fontHelvetica13); // L: 488 - } - - if (var3) { // L: 490 - var4.setColor(Color.black); // L: 491 - var4.fillRect(0, 0, IgnoreList.canvasWidth, ModelData0.canvasHeight); // L: 492 - } - - Color var5 = new Color(140, 17, 17); // L: 494 - - try { - if (Canvas.field425 == null) { // L: 496 - Canvas.field425 = this.canvas.createImage(304, 34); - } - - Graphics var6 = Canvas.field425.getGraphics(); // L: 497 - var6.setColor(var5); // L: 498 - var6.drawRect(0, 0, 303, 33); // L: 499 - var6.fillRect(2, 2, var1 * 3, 30); // L: 500 - var6.setColor(Color.black); // L: 501 - var6.drawRect(1, 1, 301, 31); // L: 502 - var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); // L: 503 - var6.setFont(GrandExchangeEvent.fontHelvetica13); // L: 504 - var6.setColor(Color.white); // L: 505 - var6.drawString(var2, (304 - ViewportMouse.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); // L: 506 - var4.drawImage(Canvas.field425, IgnoreList.canvasWidth / 2 - 152, ModelData0.canvasHeight / 2 - 18, (ImageObserver)null); // L: 507 - } catch (Exception var9) { // L: 509 - int var7 = IgnoreList.canvasWidth / 2 - 152; // L: 510 - int var8 = ModelData0.canvasHeight / 2 - 18; // L: 511 - var4.setColor(var5); // L: 512 - var4.drawRect(var7, var8, 303, 33); // L: 513 - var4.fillRect(var7 + 2, var8 + 2, var1 * 3, 30); // L: 514 - var4.setColor(Color.black); // L: 515 - var4.drawRect(var7 + 1, var8 + 1, 301, 31); // L: 516 - var4.fillRect(var1 * 3 + var7 + 2, var8 + 2, 300 - var1 * 3, 30); // L: 517 - var4.setFont(GrandExchangeEvent.fontHelvetica13); // L: 518 - var4.setColor(Color.white); // L: 519 - var4.drawString(var2, var7 + (304 - ViewportMouse.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); // L: 520 - } - } catch (Exception var10) { // L: 523 - this.canvas.repaint(); // L: 524 - } - - } // L: 526 - - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1779228195" - ) - protected final void method1050() { - Canvas.field425 = null; // L: 529 - GrandExchangeEvent.fontHelvetica13 = null; // L: 530 - ViewportMouse.loginScreenFontMetrics = null; // L: 531 - } // L: 532 - - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "2134570011" - ) - @Export("error") - protected void error(String var1) { - if (!this.hasErrored) { // L: 535 - this.hasErrored = true; // L: 536 - System.out.println("error_game_" + var1); // L: 537 - - try { - this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self"); // L: 539 - } catch (Exception var3) { // L: 541 - } - - } - } // L: 542 - - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "(S)Ljava/awt/Container;", - garbageValue = "-16488" - ) - @Export("container") - Container container() { - return (Container)(this.frame != null ? this.frame : this); // L: 545 - } - - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "(I)Llc;", - garbageValue = "-2080787573" - ) - @Export("getFrameContentBounds") - Bounds getFrameContentBounds() { - Container var1 = this.container(); // L: 550 - int var2 = Math.max(var1.getWidth(), this.field464); // L: 551 - int var3 = Math.max(var1.getHeight(), this.field467); // L: 552 - if (this.frame != null) { // L: 553 - Insets var4 = this.frame.getInsets(); // L: 554 - var2 -= var4.right + var4.left; // L: 555 - var3 -= var4.bottom + var4.top; // L: 556 - } - - return new Bounds(var2, var3); // L: 558 - } - - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-418919904" - ) - @Export("hasFrame") - protected final boolean hasFrame() { - return this.frame != null; // L: 562 - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "96" - ) - protected abstract void vmethod1777(); - - public final synchronized void paint(Graphics var1) { - if (this == gameEngine && !isKilled) { // L: 449 - this.fullRedraw = true; // L: 450 - if (class298.currentTimeMillis() - this.field472 > 1000L) { // L: 451 - Rectangle var2 = var1.getClipBounds(); // L: 452 - if (var2 == null || var2.width >= IgnoreList.canvasWidth && var2.height >= ModelData0.canvasHeight) { - this.isCanvasInvalid = true; // L: 453 - } - } - - } - } // L: 455 - - public final void destroy() { - if (this == gameEngine && !isKilled) { // L: 438 - stopTimeMs = class298.currentTimeMillis(); // L: 439 - class236.sleepExact(5000L); // L: 440 - this.kill(); // L: 441 - } - } // L: 442 - - public final void focusGained(FocusEvent var1) { - volatileFocus = true; // L: 458 - this.fullRedraw = true; // L: 459 - } // L: 460 - - public final void focusLost(FocusEvent var1) { - volatileFocus = false; // L: 463 - } // L: 464 - - public final void windowClosed(WindowEvent var1) { - } // L: 467 - - public final void windowClosing(WindowEvent var1) { - this.destroy(); // L: 470 - } // L: 471 - - public final void windowDeactivated(WindowEvent var1) { - } // L: 473 - - public final void windowIconified(WindowEvent var1) { - } // L: 475 - - public final void windowOpened(WindowEvent var1) { - } // L: 476 - - public abstract void init(); - - public final void stop() { - if (this == gameEngine && !isKilled) { // L: 433 - stopTimeMs = class298.currentTimeMillis() + 4000L; // L: 434 - } - } // L: 435 - - public final void start() { - if (this == gameEngine && !isKilled) { // L: 428 - stopTimeMs = 0L; // L: 429 - } - } // L: 430 - - public void run() { - try { - if (TaskHandler.javaVendor != null) { // L: 295 - String var1 = TaskHandler.javaVendor.toLowerCase(); // L: 296 - if (var1.indexOf("sun") != -1 || var1.indexOf("apple") != -1) { // L: 297 - String var2 = TaskHandler.javaVersion; // L: 298 - if (var2.equals("1.1") || var2.startsWith("1.1.") || var2.equals("1.2") || var2.startsWith("1.2.") || var2.equals("1.3") || var2.startsWith("1.3.") || var2.equals("1.4") || var2.startsWith("1.4.") || var2.equals("1.5") || var2.startsWith("1.5.") || var2.equals("1.6.0")) { // L: 299 - this.error("wrongjava"); // L: 300 - return; // L: 301 - } - - if (var2.startsWith("1.6.0_")) { // L: 303 - int var3; - for (var3 = 6; var3 < var2.length() && class39.isDigit(var2.charAt(var3)); ++var3) { // L: 304 305 - } - - String var4 = var2.substring(6, var3); // L: 306 - if (ArchiveDiskAction.isNumber(var4) && class279.parseInt(var4) < 10) { // L: 307 - this.error("wrongjava"); // L: 308 - return; // L: 309 - } - } - - fiveOrOne = 5; // L: 312 - } - } - - this.setFocusCycleRoot(true); // L: 315 - this.addCanvas(); // L: 316 - this.setUp(); // L: 317 - - Object var8; - try { - var8 = new NanoClock(); // L: 321 - } catch (Throwable var6) { // L: 323 - var8 = new MilliClock(); // L: 324 - } - - class225.clock = (Clock)var8; // L: 327 - - while (stopTimeMs == 0L || class298.currentTimeMillis() < stopTimeMs) { // L: 328 - class8.gameCyclesToDo = class225.clock.wait(cycleDurationMillis, fiveOrOne); // L: 329 - - for (int var5 = 0; var5 < class8.gameCyclesToDo; ++var5) { // L: 330 - this.clientTick(); - } - - this.graphicsTick(); // L: 331 - this.post(this.canvas); // L: 332 - } - } catch (Exception var7) { // L: 335 - PlayerComposition.RunException_sendStackTrace((String)null, var7); // L: 336 - this.error("crash"); // L: 337 - } - - this.kill(); // L: 339 - } // L: 340 - - public final void windowActivated(WindowEvent var1) { - } // L: 466 - - public final void windowDeiconified(WindowEvent var1) { - } // L: 474 - - public final void update(Graphics var1) { - this.paint(var1); // L: 445 - } // L: 446 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-1024924303" - ) - @Export("setLoginResponseString") - static void setLoginResponseString(String var0, String var1, String var2) { - Login.Login_response1 = var0; // L: 1483 - Login.Login_response2 = var1; // L: 1484 - Login.Login_response3 = var2; // L: 1485 - } // L: 1486 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lfu;" + ) + @Export("taskHandler") + protected static TaskHandler taskHandler; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lbt;" + ) + @Export("gameEngine") + static GameEngine gameEngine = null; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1172672455 + ) + @Export("GameEngine_redundantStartThreadCount") + static int GameEngine_redundantStartThreadCount = 0; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = -8672480776898647035L + ) + @Export("stopTimeMs") + static long stopTimeMs = 0L; + @ObfuscatedName("h") + @Export("isKilled") + static boolean isKilled = false; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1471054529 + ) + @Export("cycleDurationMillis") + static int cycleDurationMillis = 20; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1858214361 + ) + @Export("fiveOrOne") + static int fiveOrOne = 1; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -860232961 + ) + @Export("fps") + protected static int fps = 0; + @ObfuscatedName("k") + @Export("graphicsTickTimes") + protected static long[] graphicsTickTimes = new long[32]; + @ObfuscatedName("f") + @Export("clientTickTimes") + protected static long[] clientTickTimes = new long[32]; + @ObfuscatedName("ax") + static Image field480; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -855219925 + ) + static int field481 = 500; + @ObfuscatedName("an") + @Export("volatileFocus") + static volatile boolean volatileFocus = true; + @ObfuscatedName("au") + @ObfuscatedGetter( + longValue = 1354253672444800547L + ) + @Export("garbageCollectorLastCollectionTime") + static long garbageCollectorLastCollectionTime = -1L; + @ObfuscatedName("ad") + @ObfuscatedGetter( + longValue = 7149663946399436317L + ) + @Export("garbageCollectorLastCheckTimeMs") + static long garbageCollectorLastCheckTimeMs = -1L; + @ObfuscatedName("z") + @Export("hasErrored") + boolean hasErrored = false; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -250488397 + ) + @Export("contentWidth") + protected int contentWidth; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -100223911 + ) + @Export("contentHeight") + protected int contentHeight; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -99597119 + ) + @Export("canvasX") + int canvasX = 0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 2031980453 + ) + @Export("canvasY") + int canvasY = 0; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -2105446269 + ) + int field473; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -501888553 + ) + int field460; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = -1655080689 + ) + @Export("maxCanvasWidth") + int maxCanvasWidth; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 892249971 + ) + @Export("maxCanvasHeight") + int maxCanvasHeight; + @ObfuscatedName("aq") + @Export("frame") + Frame frame; + @ObfuscatedName("at") + @Export("canvas") + java.awt.Canvas canvas; + @ObfuscatedName("ak") + @Export("fullRedraw") + volatile boolean fullRedraw = true; + @ObfuscatedName("al") + @Export("resizeCanvasNextFrame") + boolean resizeCanvasNextFrame = false; + @ObfuscatedName("aa") + @Export("isCanvasInvalid") + volatile boolean isCanvasInvalid = false; + @ObfuscatedName("as") + @ObfuscatedGetter( + longValue = -8976229610863512045L + ) + volatile long field484 = 0L; + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "Lbn;" + ) + @Export("mouseWheelHandler") + MouseWheelHandler mouseWheelHandler; + @ObfuscatedName("ap") + @Export("clipboard") + Clipboard clipboard; + @ObfuscatedName("aj") + @Export("eventQueue") + final EventQueue eventQueue; + + protected GameEngine() { + EventQueue var1 = null; + + try { + var1 = Toolkit.getDefaultToolkit().getSystemEventQueue(); + } catch (Throwable var3) { + ; + } + + this.eventQueue = var1; + DevicePcmPlayerProvider var2 = new DevicePcmPlayerProvider(); + class2.pcmPlayerProvider = var2; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-420237579" + ) + @Export("setMaxCanvasSize") + protected final void setMaxCanvasSize(int var1, int var2) { + if (this.maxCanvasWidth != var1 || var2 != this.maxCanvasHeight) { + this.method1007(); + } + + this.maxCanvasWidth = var1; + this.maxCanvasHeight = var2; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;I)V", + garbageValue = "2080596148" + ) + @Export("post") + final void post(Object var1) { + if (this.eventQueue != null) { + for(int var2 = 0; var2 < 50 && this.eventQueue.peekEvent() != null; ++var2) { + ApproximateRouteStrategy.sleepExact(1L); + } + + if (var1 != null) { + this.eventQueue.postEvent(new ActionEvent(var1, 1001, "dummy")); + } + + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)Lfo;", + garbageValue = "-1572437052" + ) + @Export("mouseWheel") + protected MouseWheel mouseWheel() { + if (this.mouseWheelHandler == null) { + this.mouseWheelHandler = new MouseWheelHandler(); + this.mouseWheelHandler.addTo(this.canvas); + } + + return this.mouseWheelHandler; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "84" + ) + @Export("setUpClipboard") + protected void setUpClipboard() { + this.clipboard = this.getToolkit().getSystemClipboard(); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-775361579" + ) + @Export("clipboardSetString") + protected void clipboardSetString(String var1) { + this.clipboard.setContents(new StringSelection(var1), (ClipboardOwner)null); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-367283277" + ) + @Export("setUpKeyboard") + protected final void setUpKeyboard() { + if (TaskHandler.javaVendor.toLowerCase().indexOf("microsoft") != -1) { + KeyHandler.KeyHandler_keyCodes[186] = 57; + KeyHandler.KeyHandler_keyCodes[187] = 27; + KeyHandler.KeyHandler_keyCodes[188] = 71; + KeyHandler.KeyHandler_keyCodes[189] = 26; + KeyHandler.KeyHandler_keyCodes[190] = 72; + KeyHandler.KeyHandler_keyCodes[191] = 73; + KeyHandler.KeyHandler_keyCodes[192] = 58; + KeyHandler.KeyHandler_keyCodes[219] = 42; + KeyHandler.KeyHandler_keyCodes[220] = 74; + KeyHandler.KeyHandler_keyCodes[221] = 43; + KeyHandler.KeyHandler_keyCodes[222] = 59; + KeyHandler.KeyHandler_keyCodes[223] = 28; + } else { + KeyHandler.KeyHandler_keyCodes[44] = 71; + KeyHandler.KeyHandler_keyCodes[45] = 26; + KeyHandler.KeyHandler_keyCodes[46] = 72; + KeyHandler.KeyHandler_keyCodes[47] = 73; + KeyHandler.KeyHandler_keyCodes[59] = 57; + KeyHandler.KeyHandler_keyCodes[61] = 27; + KeyHandler.KeyHandler_keyCodes[91] = 42; + KeyHandler.KeyHandler_keyCodes[92] = 74; + KeyHandler.KeyHandler_keyCodes[93] = 43; + KeyHandler.KeyHandler_keyCodes[192] = 28; + KeyHandler.KeyHandler_keyCodes[222] = 58; + KeyHandler.KeyHandler_keyCodes[520] = 59; + } + + java.awt.Canvas var1 = this.canvas; + var1.setFocusTraversalKeysEnabled(false); + var1.addKeyListener(KeyHandler.KeyHandler_instance); + var1.addFocusListener(KeyHandler.KeyHandler_instance); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1149446926" + ) + @Export("setUpMouse") + protected final void setUpMouse() { + WorldMapArea.method489(this.canvas); + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1907084559" + ) + @Export("resizeCanvas") + final void resizeCanvas() { + Container var1 = this.container(); + if (var1 != null) { + Bounds var2 = this.getFrameContentBounds(); + this.contentWidth = Math.max(var2.highX, this.field473); + this.contentHeight = Math.max(var2.highY, this.field460); + if (this.contentWidth <= 0) { + this.contentWidth = 1; + } + + if (this.contentHeight <= 0) { + this.contentHeight = 1; + } + + GrandExchangeOfferTotalQuantityComparator.canvasWidth = Math.min(this.contentWidth, this.maxCanvasWidth); + class25.canvasHeight = Math.min(this.contentHeight, this.maxCanvasHeight); + this.canvasX = (this.contentWidth - GrandExchangeOfferTotalQuantityComparator.canvasWidth) / 2; + this.canvasY = 0; + this.canvas.setSize(GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight); + FileSystem.rasterProvider = new RasterProvider(GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.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.fullRedraw = true; + this.resizeGame(); + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-226650241" + ) + @Export("resizeGame") + protected abstract void resizeGame(); + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-998749826" + ) + @Export("clearBackground") + void clearBackground() { + int var1 = this.canvasX; + int var2 = this.canvasY; + int var3 = this.contentWidth - GrandExchangeOfferTotalQuantityComparator.canvasWidth - var1; + int var4 = this.contentHeight - class25.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) { + ; + } + } + + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-14" + ) + @Export("replaceCanvas") + final void replaceCanvas() { + PlayerType.method4345(this.canvas); + java.awt.Canvas var1 = this.canvas; + var1.removeMouseListener(MouseHandler.MouseHandler_instance); + var1.removeMouseMotionListener(MouseHandler.MouseHandler_instance); + var1.removeFocusListener(MouseHandler.MouseHandler_instance); + MouseHandler.MouseHandler_currentButtonVolatile = 0; + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.removeFrom(this.canvas); + } + + this.addCanvas(); + java.awt.Canvas var2 = this.canvas; + var2.setFocusTraversalKeysEnabled(false); + var2.addKeyListener(KeyHandler.KeyHandler_instance); + var2.addFocusListener(KeyHandler.KeyHandler_instance); + WorldMapArea.method489(this.canvas); + if (this.mouseWheelHandler != null) { + this.mouseWheelHandler.addTo(this.canvas); + } + + this.method1007(); + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "-2060658023" + ) + @Export("startThread") + protected final void startThread(int var1, int var2, int var3) { + try { + if (gameEngine != null) { + ++GameEngine_redundantStartThreadCount; + if (GameEngine_redundantStartThreadCount >= 3) { + this.error("alreadyloaded"); + return; + } + + this.getAppletContext().showDocument(this.getDocumentBase(), "_self"); + return; + } + + gameEngine = this; + GrandExchangeOfferTotalQuantityComparator.canvasWidth = var1; + class25.canvasHeight = var2; + RunException.RunException_revision = var3; + RunException.RunException_applet = this; + if (taskHandler == null) { + taskHandler = new TaskHandler(); + } + + taskHandler.newThreadTask(this, 1); + } catch (Exception var5) { + SequenceDefinition.RunException_sendStackTrace((String)null, var5); + this.error("crash"); + } + + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "128" + ) + @Export("addCanvas") + final synchronized void addCanvas() { + Container var1 = this.container(); + if (this.canvas != null) { + this.canvas.removeFocusListener(this); + var1.remove(this.canvas); + } + + GrandExchangeOfferTotalQuantityComparator.canvasWidth = Math.max(var1.getWidth(), this.field473); + class25.canvasHeight = Math.max(var1.getHeight(), this.field460); + Insets var2; + if (this.frame != null) { + var2 = this.frame.getInsets(); + GrandExchangeOfferTotalQuantityComparator.canvasWidth -= var2.right + var2.left; + class25.canvasHeight -= var2.top + var2.bottom; + } + + this.canvas = new Canvas(this); + var1.setBackground(Color.BLACK); + var1.setLayout((LayoutManager)null); + var1.add(this.canvas); + this.canvas.setSize(GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight); + this.canvas.setVisible(true); + this.canvas.setBackground(Color.BLACK); + if (var1 == this.frame) { + var2 = this.frame.getInsets(); + this.canvas.setLocation(this.canvasX + var2.left, var2.top + this.canvasY); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + + this.canvas.addFocusListener(this); + this.canvas.requestFocus(); + this.fullRedraw = true; + if (FileSystem.rasterProvider != null && GrandExchangeOfferTotalQuantityComparator.canvasWidth == FileSystem.rasterProvider.width && class25.canvasHeight == FileSystem.rasterProvider.height) { + ((RasterProvider)FileSystem.rasterProvider).setComponent(this.canvas); + FileSystem.rasterProvider.drawFull(0, 0); + } else { + FileSystem.rasterProvider = new RasterProvider(GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight, this.canvas); + } + + this.isCanvasInvalid = false; + this.field484 = Tiles.currentTimeMillis(); + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1882599672" + ) + @Export("checkHost") + protected final boolean checkHost() { + String var1 = this.getDocumentBase().getHost().toLowerCase(); + if (!var1.equals("jagex.com") && !var1.endsWith(".jagex.com")) { + if (!var1.equals("runescape.com") && !var1.endsWith(".runescape.com")) { + if (var1.endsWith("127.0.0.1")) { + return true; + } else { + while(var1.length() > 0 && var1.charAt(var1.length() - 1) >= '0' && var1.charAt(var1.length() - 1) <= '9') { + var1 = var1.substring(0, var1.length() - 1); + } + + if (var1.endsWith("192.168.1.")) { + return true; + } else { + this.error("invalidhost"); + return false; + } + } + } else { + return true; + } + } else { + return true; + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + @Export("clientTick") + void clientTick() { + long var1 = Tiles.currentTimeMillis(); + long var3 = clientTickTimes[WallDecoration.clientTickTimeIdx]; + clientTickTimes[WallDecoration.clientTickTimeIdx] = var1; + WallDecoration.clientTickTimeIdx = WallDecoration.clientTickTimeIdx + 1 & 31; + if (0L != var3 && var1 > var3) { + ; + } + + synchronized(this) { + PcmPlayer.hasFocus = volatileFocus; + } + + this.doCycle(); + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "548741005" + ) + @Export("graphicsTick") + void graphicsTick() { + Container var1 = this.container(); + long var2 = Tiles.currentTimeMillis(); + long var4 = graphicsTickTimes[class60.graphicsTickTimeIdx]; + graphicsTickTimes[class60.graphicsTickTimeIdx] = var2; + class60.graphicsTickTimeIdx = class60.graphicsTickTimeIdx + 1 & 31; + if (var4 != 0L && var2 > var4) { + int var6 = (int)(var2 - var4); + fps = ((var6 >> 1) + 32000) / var6; + } + + if (++field481 - 1 > 50) { + field481 -= 50; + this.fullRedraw = true; + this.canvas.setSize(GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight); + this.canvas.setVisible(true); + if (var1 == this.frame) { + Insets var7 = this.frame.getInsets(); + this.canvas.setLocation(var7.left + this.canvasX, this.canvasY + var7.top); + } else { + this.canvas.setLocation(this.canvasX, this.canvasY); + } + } + + if (this.isCanvasInvalid) { + this.replaceCanvas(); + } + + this.method1103(); + this.draw(this.fullRedraw); + if (this.fullRedraw) { + this.clearBackground(); + } + + this.fullRedraw = false; + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + final void method1103() { + Bounds var1 = this.getFrameContentBounds(); + if (this.contentWidth != var1.highX || var1.highY != this.contentHeight || this.resizeCanvasNextFrame) { + this.resizeCanvas(); + this.resizeCanvasNextFrame = false; + } + + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-17755841" + ) + final void method1007() { + this.resizeCanvasNextFrame = true; + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1467969246" + ) + @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.vmethod1423(); + } + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-337269105" + ) + @Export("setUp") + protected abstract void setUp(); + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-123" + ) + @Export("doCycle") + protected abstract void doCycle(); + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-1888023388" + ) + @Export("draw") + protected abstract void draw(boolean var1); + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1925350941" + ) + @Export("kill0") + protected abstract void kill0(); + + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;ZS)V", + garbageValue = "239" + ) + @Export("drawInitial") + protected final void drawInitial(int var1, String var2, boolean var3) { + try { + Graphics var4 = this.canvas.getGraphics(); + if (WorldMapIcon_0.fontHelvetica13 == null) { + WorldMapIcon_0.fontHelvetica13 = new java.awt.Font("Helvetica", 1, 13); + GrandExchangeOfferAgeComparator.loginScreenFontMetrics = this.canvas.getFontMetrics(WorldMapIcon_0.fontHelvetica13); + } + + if (var3) { + var4.setColor(Color.black); + var4.fillRect(0, 0, GrandExchangeOfferTotalQuantityComparator.canvasWidth, class25.canvasHeight); + } + + Color var5 = new Color(140, 17, 17); + + try { + if (field480 == null) { + field480 = this.canvas.createImage(304, 34); + } + + Graphics var6 = field480.getGraphics(); + var6.setColor(var5); + var6.drawRect(0, 0, 303, 33); + var6.fillRect(2, 2, var1 * 3, 30); + var6.setColor(Color.black); + var6.drawRect(1, 1, 301, 31); + var6.fillRect(var1 * 3 + 2, 2, 300 - var1 * 3, 30); + var6.setFont(WorldMapIcon_0.fontHelvetica13); + var6.setColor(Color.white); + var6.drawString(var2, (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, 22); + var4.drawImage(field480, GrandExchangeOfferTotalQuantityComparator.canvasWidth / 2 - 152, class25.canvasHeight / 2 - 18, (ImageObserver)null); + } catch (Exception var9) { + int var7 = GrandExchangeOfferTotalQuantityComparator.canvasWidth / 2 - 152; + int var8 = class25.canvasHeight / 2 - 18; + var4.setColor(var5); + var4.drawRect(var7, var8, 303, 33); + var4.fillRect(var7 + 2, var8 + 2, var1 * 3, 30); + 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(WorldMapIcon_0.fontHelvetica13); + var4.setColor(Color.white); + var4.drawString(var2, var7 + (304 - GrandExchangeOfferAgeComparator.loginScreenFontMetrics.stringWidth(var2)) / 2, var8 + 22); + } + } catch (Exception var10) { + this.canvas.repaint(); + } + + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1187634060" + ) + protected final void method1078() { + field480 = null; + WorldMapIcon_0.fontHelvetica13 = null; + GrandExchangeOfferAgeComparator.loginScreenFontMetrics = null; + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "120" + ) + @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) { + ; + } + + } + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(I)Ljava/awt/Container;", + garbageValue = "-838247309" + ) + @Export("container") + Container container() { + return (Container)(this.frame != null ? this.frame : this); + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "(I)Lli;", + garbageValue = "-1070651105" + ) + @Export("getFrameContentBounds") + Bounds getFrameContentBounds() { + Container var1 = this.container(); + int var2 = Math.max(var1.getWidth(), this.field473); + int var3 = Math.max(var1.getHeight(), this.field460); + if (this.frame != null) { + Insets var4 = this.frame.getInsets(); + var2 -= var4.right + var4.left; + var3 -= var4.bottom + var4.top; + } + + return new Bounds(var2, var3); + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-697132291" + ) + @Export("hasFrame") + protected final boolean hasFrame() { + return this.frame != null; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "103" + ) + protected abstract void vmethod1423(); + + public final void destroy() { + if (this == gameEngine && !isKilled) { + stopTimeMs = Tiles.currentTimeMillis(); + ApproximateRouteStrategy.sleepExact(5000L); + this.kill(); + } + } + + public final synchronized void paint(Graphics var1) { + if (this == gameEngine && !isKilled) { + this.fullRedraw = true; + if (Tiles.currentTimeMillis() - this.field484 > 1000L) { + Rectangle var2 = var1.getClipBounds(); + if (var2 == null || var2.width >= GrandExchangeOfferTotalQuantityComparator.canvasWidth && var2.height >= class25.canvasHeight) { + this.isCanvasInvalid = true; + } + } + + } + } + + public abstract void init(); + + public void run() { + try { + if (TaskHandler.javaVendor != null) { + String var1 = TaskHandler.javaVendor.toLowerCase(); + if (var1.indexOf("sun") != -1 || var1.indexOf("apple") != -1) { + String var2 = TaskHandler.javaVersion; + if (var2.equals("1.1") || var2.startsWith("1.1.") || var2.equals("1.2") || var2.startsWith("1.2.") || var2.equals("1.3") || var2.startsWith("1.3.") || var2.equals("1.4") || var2.startsWith("1.4.") || var2.equals("1.5") || var2.startsWith("1.5.") || var2.equals("1.6.0")) { + this.error("wrongjava"); + return; + } + + if (var2.startsWith("1.6.0_")) { + int var3; + for(var3 = 6; var3 < var2.length() && Strings.isDigit(var2.charAt(var3)); ++var3) { + ; + } + + String var4 = var2.substring(6, var3); + if (WorldMapDecoration.isNumber(var4) && class217.parseInt(var4) < 10) { + this.error("wrongjava"); + return; + } + } + + fiveOrOne = 5; + } + } + + this.setFocusCycleRoot(true); + this.addCanvas(); + this.setUp(); + + Object var8; + try { + var8 = new NanoClock(); + } catch (Throwable var6) { + var8 = new MilliClock(); + } + + WorldMapSprite.clock = (Clock)var8; + + while(stopTimeMs == 0L || Tiles.currentTimeMillis() < stopTimeMs) { + VertexNormal.gameCyclesToDo = WorldMapSprite.clock.wait(cycleDurationMillis, fiveOrOne); + + for(int var5 = 0; var5 < VertexNormal.gameCyclesToDo; ++var5) { + this.clientTick(); + } + + this.graphicsTick(); + this.post(this.canvas); + } + } catch (Exception var7) { + SequenceDefinition.RunException_sendStackTrace((String)null, var7); + this.error("crash"); + } + + this.kill(); + } + + public final void stop() { + if (this == gameEngine && !isKilled) { + stopTimeMs = Tiles.currentTimeMillis() + 4000L; + } + } + + public final void windowClosing(WindowEvent var1) { + this.destroy(); + } + + public final void windowDeactivated(WindowEvent var1) { + } + + public final void windowIconified(WindowEvent var1) { + } + + public final void windowOpened(WindowEvent var1) { + } + + public final void windowClosed(WindowEvent var1) { + } + + public final void start() { + if (this == gameEngine && !isKilled) { + stopTimeMs = 0L; + } + } + + public final void windowDeiconified(WindowEvent var1) { + } + + public final void focusLost(FocusEvent var1) { + volatileFocus = false; + } + + public final void focusGained(FocusEvent var1) { + volatileFocus = true; + this.fullRedraw = true; + } + + public final void windowActivated(WindowEvent var1) { + } + + public final void update(Graphics var1) { + this.paint(var1); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lje;", + garbageValue = "1729948471" + ) + static HorizontalAlignment[] method1137() { + return new HorizontalAlignment[]{HorizontalAlignment.field3494, HorizontalAlignment.field3490, HorizontalAlignment.HorizontalAlignment_centered}; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IIIIIILeq;Lfe;I)V", + garbageValue = "1508002032" + ) + static final void method1134(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { + if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { + if (var0 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var0; + } + + ObjectComposition var8 = WorldMapAreaData.getObjectDefinition(var3); + int var9; + int var10; + if (var4 != 1 && var4 != 3) { + var9 = var8.sizeX; + var10 = var8.sizeY; + } else { + var9 = var8.sizeY; + var10 = var8.sizeX; + } + + int var11; + int var12; + if (var9 + var1 <= 104) { + var11 = (var9 >> 1) + var1; + var12 = (var9 + 1 >> 1) + var1; + } else { + var11 = var1; + var12 = var1 + 1; + } + + int var13; + int var14; + if (var10 + var2 <= 104) { + var13 = (var10 >> 1) + var2; + var14 = var2 + (var10 + 1 >> 1); + } else { + var13 = var2; + var14 = var2 + 1; + } + + int[][] var15 = Tiles.Tiles_heights[var0]; + int var16 = var15[var12][var14] + var15[var11][var14] + var15[var11][var13] + var15[var12][var13] >> 2; + int var17 = (var1 << 7) + (var9 << 6); + int var18 = (var2 << 7) + (var10 << 6); + long var19 = TextureProvider.calculateTag(var1, var2, 2, var8.int1 == 0, var3); + int var21 = var5 + (var4 << 6); + if (var8.int3 == 1) { + var21 += 256; + } + + int var23; + int var24; + if (var8.hasSound()) { + ObjectSound var22 = new ObjectSound(); + var22.plane = var0; + var22.x = var1 * 128; + var22.y = var2 * 128; + var23 = var8.sizeX; + var24 = var8.sizeY; + if (var4 == 1 || var4 == 3) { + var23 = var8.sizeY; + var24 = var8.sizeX; + } + + var22.field1090 = (var23 + var1) * 128; + var22.field1094 = (var24 + var2) * 128; + var22.soundEffectId = var8.ambientSoundId; + var22.field1092 = var8.int4 * 128; + var22.field1095 = var8.int5; + var22.field1096 = var8.int6; + var22.soundEffectIds = var8.soundEffectIds; + if (var8.transforms != null) { + var22.obj = var8; + var22.set(); + } + + ObjectSound.objectSounds.addFirst(var22); + if (var22.soundEffectIds != null) { + var22.field1097 = var22.field1095 + (int)(Math.random() * (double)(var22.field1096 - var22.field1095)); + } + } + + Object var34; + if (var5 == 22) { + if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(22, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newFloorDecoration(var0, var1, var2, var16, (Renderable)var34, var19, var21); + if (var8.interactType == 1 && var7 != null) { + var7.setBlockedByFloorDec(var1, var2); + } + + } + } else if (var5 != 10 && var5 != 11) { + if (var5 >= 12) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.method3400(var0, var1, var2, var16, 1, 1, (Renderable)var34, 0, var19, var21); + if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { + class2.field12[var0][var1][var2] |= 2340; + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } else if (var5 == 0) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(0, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field521[var4], 0, var19, var21); + if (var4 == 0) { + if (var8.clipped) { + TaskHandler.field2045[var0][var1][var2] = 50; + TaskHandler.field2045[var0][var1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + class2.field12[var0][var1][var2] |= 585; + } + } else if (var4 == 1) { + if (var8.clipped) { + TaskHandler.field2045[var0][var1][var2 + 1] = 50; + TaskHandler.field2045[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + class2.field12[var0][var1][var2 + 1] |= 1170; + } + } else if (var4 == 2) { + if (var8.clipped) { + TaskHandler.field2045[var0][var1 + 1][var2] = 50; + TaskHandler.field2045[var0][var1 + 1][var2 + 1] = 50; + } + + if (var8.modelClipped) { + class2.field12[var0][var1 + 1][var2] |= 585; + } + } else if (var4 == 3) { + if (var8.clipped) { + TaskHandler.field2045[var0][var1][var2] = 50; + TaskHandler.field2045[var0][var1 + 1][var2] = 50; + } + + if (var8.modelClipped) { + class2.field12[var0][var1][var2] |= 1170; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3749(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3258(var0, var1, var2, var8.int2); + } + + } else if (var5 == 1) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(1, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field514[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + TaskHandler.field2045[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + TaskHandler.field2045[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + TaskHandler.field2045[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + TaskHandler.field2045[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3749(var1, var2, var5, var4, var8.boolean1); + } + + } else { + int var28; + if (var5 == 2) { + var28 = var4 + 1 & 3; + Object var31; + Object var32; + if (var8.animationId == -1 && var8.transforms == null) { + var31 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); + var32 = var8.getEntity(2, var28, var15, var17, var16, var18); + } else { + var31 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + var32 = new DynamicObject(var3, 2, var28, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var31, (Renderable)var32, Tiles.field521[var4], Tiles.field521[var28], var19, var21); + if (var8.modelClipped) { + if (var4 == 0) { + class2.field12[var0][var1][var2] |= 585; + class2.field12[var0][var1][var2 + 1] |= 1170; + } else if (var4 == 1) { + class2.field12[var0][var1][1 + var2] |= 1170; + class2.field12[var0][var1 + 1][var2] |= 585; + } else if (var4 == 2) { + class2.field12[var0][var1 + 1][var2] |= 585; + class2.field12[var0][var1][var2] |= 1170; + } else if (var4 == 3) { + class2.field12[var0][var1][var2] |= 1170; + class2.field12[var0][var1][var2] |= 585; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3749(var1, var2, var5, var4, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3258(var0, var1, var2, var8.int2); + } + + } else if (var5 == 3) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(3, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field514[var4], 0, var19, var21); + if (var8.clipped) { + if (var4 == 0) { + TaskHandler.field2045[var0][var1][var2 + 1] = 50; + } else if (var4 == 1) { + TaskHandler.field2045[var0][var1 + 1][var2 + 1] = 50; + } else if (var4 == 2) { + TaskHandler.field2045[var0][var1 + 1][var2] = 50; + } else if (var4 == 3) { + TaskHandler.field2045[var0][var1][var2] = 50; + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.method3749(var1, var2, var5, var4, var8.boolean1); + } + + } else if (var5 == 9) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.method3400(var0, var1, var2, var16, 1, 1, (Renderable)var34, 0, var19, var21); + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + if (var8.int2 != 16) { + var6.method3258(var0, var1, var2, var8.int2); + } + + } else if (var5 == 4) { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field521[var4], 0, 0, 0, var19, var21); + } else { + Object var25; + long var29; + if (var5 == 5) { + var28 = 16; + var29 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var29) { + var28 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var29)).int2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, Tiles.field521[var4], 0, var28 * Tiles.field523[var4], var28 * Tiles.field527[var4], var19, var21); + } else if (var5 == 6) { + var28 = 8; + var29 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var29) { + var28 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var29)).int2 / 2; + } + + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, 256, var4, var28 * Tiles.field525[var4], var28 * Tiles.field526[var4], var19, var21); + } else if (var5 == 7) { + var23 = var4 + 2 & 3; + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(4, var23 + 4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, 256, var23, 0, 0, var19, var21); + } else if (var5 == 8) { + var28 = 8; + var29 = var6.getBoundaryObjectTag(var0, var1, var2); + if (0L != var29) { + var28 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var29)).int2 / 2; + } + + int var27 = var4 + 2 & 3; + Object var26; + if (var8.animationId == -1 && var8.transforms == null) { + var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); + var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); + } else { + var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)var26, 256, var4, var28 * Tiles.field525[var4], var28 * Tiles.field526[var4], var19, var21); + } + } + } + } else { + if (var8.animationId == -1 && var8.transforms == null) { + var34 = var8.getEntity(10, var4, var15, var17, var16, var18); + } else { + var34 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); + } + + if (var34 != null && var6.method3400(var0, var1, var2, var16, var9, var10, (Renderable)var34, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { + var23 = 15; + if (var34 instanceof Model) { + var23 = ((Model)var34).method3079() / 4; + if (var23 > 30) { + var23 = 30; + } + } + + for(var24 = 0; var24 <= var9; ++var24) { + for(int var33 = 0; var33 <= var10; ++var33) { + if (var23 > TaskHandler.field2045[var0][var24 + var1][var33 + var2]) { + TaskHandler.field2045[var0][var24 + var1][var33 + var2] = (byte)var23; + } + } + } + } + + if (var8.interactType != 0 && var7 != null) { + var7.addGameObject(var1, var2, var9, var10, var8.boolean1); + } + + } + } + } + + @ObfuscatedName("fa") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-325844225" + ) + @Export("load") + static void load() { + int var14; + if (Client.titleLoadingStage == 0) { + MilliClock.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); + + for(var14 = 0; var14 < 4; ++var14) { + Client.collisionMaps[var14] = new CollisionMap(104, 104); + } + + GrandExchangeOfferAgeComparator.sceneMinimapSprite = new SpritePixels(512, 512); + Login.Login_loadingText = "Starting game engine..."; + Login.Login_loadingPercent = 5; + Client.titleLoadingStage = 20; + } else if (Client.titleLoadingStage == 20) { + Login.Login_loadingText = "Prepared visibility map"; + Login.Login_loadingPercent = 10; + Client.titleLoadingStage = 30; + } else if (Client.titleLoadingStage == 30) { + class52.archive0 = ViewportMouse.newArchive(0, false, true, true); + SpriteMask.archive1 = ViewportMouse.newArchive(1, false, true, true); + WorldMapIcon_0.archive2 = ViewportMouse.newArchive(2, true, false, true); + PlayerComposition.archive3 = ViewportMouse.newArchive(3, false, true, true); + WorldMapCacheName.archive4 = ViewportMouse.newArchive(4, false, true, true); + class8.archive5 = ViewportMouse.newArchive(5, true, true, true); + UrlRequester.archive6 = ViewportMouse.newArchive(6, true, true, true); + WorldMapData_0.archive7 = ViewportMouse.newArchive(7, false, true, true); + ModeWhere.archive8 = ViewportMouse.newArchive(8, false, true, true); + ViewportMouse.archive9 = ViewportMouse.newArchive(9, false, true, true); + LoginScreenAnimation.archive10 = ViewportMouse.newArchive(10, false, true, true); + WorldMapManager.archive11 = ViewportMouse.newArchive(11, false, true, true); + WorldMapSection0.archive12 = ViewportMouse.newArchive(12, false, true, true); + CollisionMap.archive13 = ViewportMouse.newArchive(13, true, false, true); + Tiles.archive14 = ViewportMouse.newArchive(14, false, true, true); + SpriteMask.archive15 = ViewportMouse.newArchive(15, false, true, true); + ItemComposition.archive17 = ViewportMouse.newArchive(17, true, true, true); + class25.archive18 = ViewportMouse.newArchive(18, false, true, true); + ArchiveLoader.archive19 = ViewportMouse.newArchive(19, false, true, true); + Login.archive20 = ViewportMouse.newArchive(20, false, true, true); + Login.Login_loadingText = "Connecting to update server"; + Login.Login_loadingPercent = 20; + Client.titleLoadingStage = 40; + } else if (Client.titleLoadingStage == 40) { + byte var25 = 0; + var14 = var25 + class52.archive0.percentage() * 4 / 100; + var14 += SpriteMask.archive1.percentage() * 4 / 100; + var14 += WorldMapIcon_0.archive2.percentage() * 2 / 100; + var14 += PlayerComposition.archive3.percentage() * 2 / 100; + var14 += WorldMapCacheName.archive4.percentage() * 6 / 100; + var14 += class8.archive5.percentage() * 4 / 100; + var14 += UrlRequester.archive6.percentage() * 2 / 100; + var14 += WorldMapData_0.archive7.percentage() * 56 / 100; + var14 += ModeWhere.archive8.percentage() * 2 / 100; + var14 += ViewportMouse.archive9.percentage() * 2 / 100; + var14 += LoginScreenAnimation.archive10.percentage() * 2 / 100; + var14 += WorldMapManager.archive11.percentage() * 2 / 100; + var14 += WorldMapSection0.archive12.percentage() * 2 / 100; + var14 += CollisionMap.archive13.percentage() * 2 / 100; + var14 += Tiles.archive14.percentage() * 2 / 100; + var14 += SpriteMask.archive15.percentage() * 2 / 100; + var14 += ArchiveLoader.archive19.percentage() / 100; + var14 += class25.archive18.percentage() / 100; + var14 += Login.archive20.percentage() / 100; + var14 += ItemComposition.archive17.method4461() && ItemComposition.archive17.isFullyLoaded() ? 1 : 0; + if (var14 != 100) { + if (var14 != 0) { + Login.Login_loadingText = "Checking for updates - " + var14 + "%"; + } + + Login.Login_loadingPercent = 30; + } else { + class217.method4155(class52.archive0, "Animations"); + class217.method4155(SpriteMask.archive1, "Skeletons"); + class217.method4155(WorldMapCacheName.archive4, "Sound FX"); + class217.method4155(class8.archive5, "Maps"); + class217.method4155(UrlRequester.archive6, "Music Tracks"); + class217.method4155(WorldMapData_0.archive7, "Models"); + class217.method4155(ModeWhere.archive8, "Sprites"); + class217.method4155(WorldMapManager.archive11, "Music Jingles"); + class217.method4155(Tiles.archive14, "Music Samples"); + class217.method4155(SpriteMask.archive15, "Music Patches"); + class217.method4155(ArchiveLoader.archive19, "World Map"); + class217.method4155(class25.archive18, "World Map Geography"); + class217.method4155(Login.archive20, "World Map Ground"); + class60.spriteIds = new GraphicsDefaults(); + class60.spriteIds.decode(ItemComposition.archive17); + Login.Login_loadingText = "Loaded update list"; + Login.Login_loadingPercent = 30; + Client.titleLoadingStage = 45; + } + } else if (Client.titleLoadingStage == 45) { + boolean var24 = !Client.isLowDetail; + StructComposition.field3338 = 486202500; + PcmPlayer.PcmPlayer_stereo = var24; + PcmPlayer.field1419 = 2; + MidiPcmStream var22 = new MidiPcmStream(); + var22.method3919(9, 128); + class197.pcmPlayer0 = GrandExchangeOffer.method167(taskHandler, 0, 22050); + class197.pcmPlayer0.setStream(var22); + class69.method1256(SpriteMask.archive15, Tiles.archive14, WorldMapCacheName.archive4, var22); + WorldMapDecorationType.pcmPlayer1 = GrandExchangeOffer.method167(taskHandler, 1, 2048); + VarbitComposition.pcmStreamMixer = new PcmStreamMixer(); + WorldMapDecorationType.pcmPlayer1.setStream(VarbitComposition.pcmStreamMixer); + World.decimator = new Decimator(22050, StructComposition.field3338 * 22050); + Login.Login_loadingText = "Prepared sound engine"; + Login.Login_loadingPercent = 35; + Client.titleLoadingStage = 50; + class350.WorldMapElement_fonts = new Fonts(ModeWhere.archive8, CollisionMap.archive13); + } else { + int var1; + if (Client.titleLoadingStage == 50) { + FontName[] var20 = new FontName[]{FontName.FontName_plain11, FontName.FontName_verdana13, FontName.FontName_verdana11, FontName.FontName_bold12, FontName.FontName_verdana15, FontName.FontName_plain12}; + var1 = var20.length; + Fonts var23 = class350.WorldMapElement_fonts; + FontName[] var18 = new FontName[]{FontName.FontName_plain11, FontName.FontName_verdana13, FontName.FontName_verdana11, FontName.FontName_bold12, FontName.FontName_verdana15, FontName.FontName_plain12}; + Client.fontsMap = var23.createMap(var18); + if (Client.fontsMap.size() < var1) { + Login.Login_loadingText = "Loading fonts - " + Client.fontsMap.size() * 100 / var1 + "%"; + Login.Login_loadingPercent = 40; + } else { + SecureRandomCallable.fontPlain11 = (Font)Client.fontsMap.get(FontName.FontName_plain11); + Login.fontPlain12 = (Font)Client.fontsMap.get(FontName.FontName_plain12); + ScriptEvent.fontBold12 = (Font)Client.fontsMap.get(FontName.FontName_bold12); + GrandExchangeOfferUnitPriceComparator.platformInfo = Client.platformInfoProvider.get(); + Login.Login_loadingText = "Loaded fonts"; + Login.Login_loadingPercent = 40; + Client.titleLoadingStage = 60; + } + } else { + int var3; + int var4; + Archive var15; + Archive var16; + if (Client.titleLoadingStage == 60) { + var15 = LoginScreenAnimation.archive10; + var16 = ModeWhere.archive8; + var3 = 0; + if (var15.tryLoadFileByNames("title.jpg", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("logo", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("logo_deadman_mode", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("logo_seasonal_mode", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("titlebox", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("titlebutton", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("runes", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("title_mute", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("options_radio_buttons,0", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("options_radio_buttons,2", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("options_radio_buttons,4", "")) { + ++var3; + } + + if (var16.tryLoadFileByNames("options_radio_buttons,6", "")) { + ++var3; + } + + var16.tryLoadFileByNames("sl_back", ""); + var16.tryLoadFileByNames("sl_flags", ""); + var16.tryLoadFileByNames("sl_arrows", ""); + var16.tryLoadFileByNames("sl_stars", ""); + var16.tryLoadFileByNames("sl_button", ""); + var4 = WorldMapIcon_0.method286(); + if (var3 < var4) { + Login.Login_loadingText = "Loading title screen - " + var3 * 100 / var4 + "%"; + Login.Login_loadingPercent = 50; + } else { + Login.Login_loadingText = "Loaded title screen"; + Login.Login_loadingPercent = 50; + ItemContainer.updateGameState(5); + Client.titleLoadingStage = 70; + } + } else if (Client.titleLoadingStage == 70) { + if (!WorldMapIcon_0.archive2.isFullyLoaded()) { + Login.Login_loadingText = "Loading config - " + WorldMapIcon_0.archive2.loadPercent() + "%"; + Login.Login_loadingPercent = 60; + } else { + class228.method4310(WorldMapIcon_0.archive2); + Archive var19 = WorldMapIcon_0.archive2; + FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var19; + class235.method4331(WorldMapIcon_0.archive2, WorldMapData_0.archive7); + Frames.method3429(WorldMapIcon_0.archive2, WorldMapData_0.archive7, Client.isLowDetail); + class3.method41(WorldMapIcon_0.archive2, WorldMapData_0.archive7); + DirectByteArrayCopier.method4147(WorldMapIcon_0.archive2); + var15 = WorldMapIcon_0.archive2; + var16 = WorldMapData_0.archive7; + boolean var21 = Client.isMembersWorld; + Font var17 = SecureRandomCallable.fontPlain11; + class299.ItemDefinition_archive = var15; + class8.ItemDefinition_modelArchive = var16; + Bounds.ItemDefinition_inMembersWorld = var21; + class52.ItemDefinition_fileCount = class299.ItemDefinition_archive.getGroupFileCount(10); + ItemComposition.ItemDefinition_fontPlain11 = var17; + TextureProvider.method2935(WorldMapIcon_0.archive2, class52.archive0, SpriteMask.archive1); + Archive var5 = WorldMapIcon_0.archive2; + Archive var6 = WorldMapData_0.archive7; + SpotAnimationDefinition.SpotAnimationDefinition_archive = var5; + SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var6; + Archive var7 = WorldMapIcon_0.archive2; + VarbitComposition.VarbitDefinition_archive = var7; + Archive var8 = WorldMapIcon_0.archive2; + VarpDefinition.VarpDefinition_archive = var8; + class58.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16); + MouseHandler.method1151(PlayerComposition.archive3, WorldMapData_0.archive7, ModeWhere.archive8, CollisionMap.archive13); + class217.method4154(WorldMapIcon_0.archive2); + Archive var9 = WorldMapIcon_0.archive2; + EnumComposition.EnumDefinition_archive = var9; + class22.method227(WorldMapIcon_0.archive2); + class197.method3828(WorldMapIcon_0.archive2); + GrandExchangeOffer.varcs = new Varcs(); + StructComposition.method4734(WorldMapIcon_0.archive2, ModeWhere.archive8, CollisionMap.archive13); + UserComparator9.method3562(WorldMapIcon_0.archive2, ModeWhere.archive8); + Archive var10 = WorldMapIcon_0.archive2; + Archive var11 = ModeWhere.archive8; + WorldMapElement.WorldMapElement_archive = var11; + if (var10.isFullyLoaded()) { + WorldMapElement.WorldMapElement_count = var10.getGroupFileCount(35); + WorldMapElement.WorldMapElement_cached = new WorldMapElement[WorldMapElement.WorldMapElement_count]; + + for(int var12 = 0; var12 < WorldMapElement.WorldMapElement_count; ++var12) { + byte[] var13 = var10.takeFile(35, var12); + WorldMapElement.WorldMapElement_cached[var12] = new WorldMapElement(var12); + if (var13 != null) { + WorldMapElement.WorldMapElement_cached[var12].decode(new Buffer(var13)); + WorldMapElement.WorldMapElement_cached[var12].method4576(); + } + } + } + + Login.Login_loadingText = "Loaded config"; + Login.Login_loadingPercent = 60; + Client.titleLoadingStage = 80; + } + } else if (Client.titleLoadingStage == 80) { + var14 = 0; + if (LoginScreenAnimation.compass == null) { + LoginScreenAnimation.compass = BufferedSource.SpriteBuffer_getSprite(ModeWhere.archive8, class60.spriteIds.compass, 0); + } else { + ++var14; + } + + if (class236.redHintArrowSprite == null) { + class236.redHintArrowSprite = BufferedSource.SpriteBuffer_getSprite(ModeWhere.archive8, class60.spriteIds.field3847, 0); + } else { + ++var14; + } + + if (WorldMapSection1.mapSceneSprites == null) { + WorldMapSection1.mapSceneSprites = BoundaryObject.method3420(ModeWhere.archive8, class60.spriteIds.mapScenes, 0); + } else { + ++var14; + } + + if (Client.headIconPkSprites == null) { + Client.headIconPkSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.headIconsPk, 0); + } else { + ++var14; + } + + if (class169.headIconPrayerSprites == null) { + class169.headIconPrayerSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.field3838, 0); + } else { + ++var14; + } + + if (class13.headIconHintSprites == null) { + class13.headIconHintSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.field3843, 0); + } else { + ++var14; + } + + if (GrandExchangeOfferWorldComparator.mapMarkerSprites == null) { + GrandExchangeOfferWorldComparator.mapMarkerSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.field3839, 0); + } else { + ++var14; + } + + if (Frames.crossSprites == null) { + Frames.crossSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.field3845, 0); + } else { + ++var14; + } + + if (ChatChannel.mapDotSprites == null) { + ChatChannel.mapDotSprites = WorldMapLabelSize.method268(ModeWhere.archive8, class60.spriteIds.field3846, 0); + } else { + ++var14; + } + + if (ObjectSound.scrollBarSprites == null) { + ObjectSound.scrollBarSprites = BoundaryObject.method3420(ModeWhere.archive8, class60.spriteIds.field3840, 0); + } else { + ++var14; + } + + if (Actor.modIconSprites == null) { + Actor.modIconSprites = BoundaryObject.method3420(ModeWhere.archive8, class60.spriteIds.field3848, 0); + } else { + ++var14; + } + + if (var14 < 11) { + Login.Login_loadingText = "Loading sprites - " + var14 * 100 / 12 + "%"; + Login.Login_loadingPercent = 70; + } else { + AbstractFont.AbstractFont_modIconSprites = Actor.modIconSprites; + class236.redHintArrowSprite.normalize(); + var1 = (int)(Math.random() * 21.0D) - 10; + int var2 = (int)(Math.random() * 21.0D) - 10; + var3 = (int)(Math.random() * 21.0D) - 10; + var4 = (int)(Math.random() * 41.0D) - 20; + WorldMapSection1.mapSceneSprites[0].shiftColors(var1 + var4, var4 + var2, var4 + var3); + Login.Login_loadingText = "Loaded sprites"; + Login.Login_loadingPercent = 70; + Client.titleLoadingStage = 90; + } + } else if (Client.titleLoadingStage == 90) { + if (!ViewportMouse.archive9.isFullyLoaded()) { + Login.Login_loadingText = "Loading textures - " + "0%"; + Login.Login_loadingPercent = 90; + } else { + BoundaryObject.textureProvider = new TextureProvider(ViewportMouse.archive9, ModeWhere.archive8, 20, WorldMapSectionType.clientPreferences.field1072, Client.isLowDetail ? 64 : 128); + Rasterizer3D.Rasterizer3D_setTextureLoader(BoundaryObject.textureProvider); + Rasterizer3D.Rasterizer3D_setBrightness(WorldMapSectionType.clientPreferences.field1072); + Client.titleLoadingStage = 100; + } + } else if (Client.titleLoadingStage == 100) { + var14 = BoundaryObject.textureProvider.getLoadedPercentage(); + if (var14 < 100) { + Login.Login_loadingText = "Loading textures - " + var14 + "%"; + Login.Login_loadingPercent = 90; + } else { + Login.Login_loadingText = "Loaded textures"; + Login.Login_loadingPercent = 90; + Client.titleLoadingStage = 110; + } + } else if (Client.titleLoadingStage == 110) { + Friend.mouseRecorder = new MouseRecorder(); + taskHandler.newThreadTask(Friend.mouseRecorder, 10); + Login.Login_loadingText = "Loaded input handler"; + Login.Login_loadingPercent = 92; + Client.titleLoadingStage = 120; + } else if (Client.titleLoadingStage == 120) { + if (!LoginScreenAnimation.archive10.tryLoadFileByNames("huffman", "")) { + Login.Login_loadingText = "Loading wordpack - " + 0 + "%"; + Login.Login_loadingPercent = 94; + } else { + Huffman var0 = new Huffman(LoginScreenAnimation.archive10.takeFileByNames("huffman", "")); + class219.huffman = var0; + Login.Login_loadingText = "Loaded wordpack"; + Login.Login_loadingPercent = 94; + Client.titleLoadingStage = 130; + } + } else if (Client.titleLoadingStage == 130) { + if (!PlayerComposition.archive3.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + PlayerComposition.archive3.loadPercent() * 4 / 5 + "%"; + Login.Login_loadingPercent = 96; + } else if (!WorldMapSection0.archive12.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (80 + WorldMapSection0.archive12.loadPercent() / 6) + "%"; + Login.Login_loadingPercent = 96; + } else if (!CollisionMap.archive13.isFullyLoaded()) { + Login.Login_loadingText = "Loading interfaces - " + (96 + CollisionMap.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 (!ArchiveLoader.archive19.tryLoadGroupByName(WorldMapCacheName.field333.name)) { + Login.Login_loadingText = "Loading world map - " + ArchiveLoader.archive19.groupLoadPercentByName(WorldMapCacheName.field333.name) / 10 + "%"; + } else { + if (SoundSystem.worldMap == null) { + SoundSystem.worldMap = new WorldMap(); + SoundSystem.worldMap.init(ArchiveLoader.archive19, class25.archive18, Login.archive20, ScriptEvent.fontBold12, Client.fontsMap, WorldMapSection1.mapSceneSprites); + } + + Login.Login_loadingText = "Loaded world map"; + Client.titleLoadingStage = 150; + } + } else if (Client.titleLoadingStage == 150) { + ItemContainer.updateGameState(10); + } + } + } + } + + @ObfuscatedName("gs") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "1110901691" + ) + @Export("addNpcsToScene") + 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.field1007 == 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 = TextureProvider.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); + var2.playerCycle = Client.cycle; + MilliClock.scene.drawEntity(class90.Client_plane, var2.x, var2.y, WorldMapRegion.getTileHeight(var2.field1007 * 64 - 64 + var2.x, var2.field1007 * 64 - 64 + var2.y, class90.Client_plane), var2.field1007 * 64 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); + } + } + } + + } } diff --git a/runescape-client/src/main/java/GameObject.java b/runescape-client/src/main/java/GameObject.java index 37424002e1..796d31407e 100644 --- a/runescape-client/src/main/java/GameObject.java +++ b/runescape-client/src/main/java/GameObject.java @@ -4,101 +4,263 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("el") +@ObfuscatedName("ej") @Implements("GameObject") public final class GameObject { - @ObfuscatedName("ks") - @ObfuscatedGetter( - intValue = 688960621 - ) - @Export("Client_plane") - static int Client_plane; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -77952931 - ) - @Export("plane") - int plane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1125235357 - ) - @Export("height") - int height; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1533148227 - ) - @Export("centerY") - int centerY; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 584505067 - ) - @Export("centerX") - int centerX; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity") - public Renderable renderable; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1255599163 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1704615809 - ) - @Export("startX") - int startX; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 285662481 - ) - @Export("endX") - int endX; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1961759739 - ) - @Export("startY") - int startY; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1646674611 - ) - @Export("endY") - int endY; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1353315181 - ) - int field1953; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -2024617529 - ) - @Export("lastDrawn") - int lastDrawn; - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = 5601843375615020219L - ) - @Export("tag") - public long tag; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 16020691 - ) - @Export("flags") - int flags; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1569819591 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1280994929 + ) + @Export("height") + int height; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 554225733 + ) + @Export("centerX") + int centerX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1832118377 + ) + @Export("centerY") + int centerY; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable") + public Renderable renderable; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1300389529 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1124762067 + ) + @Export("startX") + int startX; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 389479395 + ) + @Export("endX") + int endX; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1171959885 + ) + @Export("startY") + int startY; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1972895723 + ) + @Export("endY") + int endY; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 2090583713 + ) + int field1947; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1378890207 + ) + @Export("lastDrawn") + int lastDrawn; + @ObfuscatedName("a") + @ObfuscatedGetter( + longValue = 5598826285352901571L + ) + @Export("tag") + public long tag = 0L; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 328569779 + ) + @Export("flags") + int flags = 0; - GameObject() { - this.tag = 0L; // L: 16 - this.flags = 0; // L: 17 - } // L: 19 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-3" + ) + public static int method3452(int var0) { + --var0; + var0 |= var0 >>> 1; + var0 |= var0 >>> 2; + var0 |= var0 >>> 4; + var0 |= var0 >>> 8; + var0 |= var0 >>> 16; + return var0 + 1; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "([BI)Lcl;", + garbageValue = "-1796289150" + ) + @Export("newScript") + static Script newScript(byte[] var0) { + Script var1 = new Script(); + Buffer var2 = new Buffer(var0); + var2.offset = var2.array.length - 2; + int var3 = var2.readUnsignedShort(); + int var4 = var2.array.length - 2 - var3 - 12; + var2.offset = var4; + int var5 = var2.readInt(); + var1.localIntCount = var2.readUnsignedShort(); + var1.localStringCount = var2.readUnsignedShort(); + var1.intArgumentCount = var2.readUnsignedShort(); + var1.stringArgumentCount = var2.readUnsignedShort(); + int var6 = var2.readUnsignedByte(); + int var7; + int var8; + if (var6 > 0) { + var1.switches = var1.newIterableNodeHashTable(var6); + + for(var7 = 0; var7 < var6; ++var7) { + var8 = var2.readUnsignedShort(); + IterableNodeHashTable var9 = new IterableNodeHashTable(var8 > 0 ? method3452(var8) : 1); + var1.switches[var7] = var9; + + while(var8-- > 0) { + int var10 = var2.readInt(); + int var11 = var2.readInt(); + var9.put(new IntegerNode(var11), (long)var10); + } + } + } + + var2.offset = 0; + var2.readStringCp1252NullTerminatedOrNull(); + var1.opcodes = new int[var5]; + var1.intOperands = new int[var5]; + var1.stringOperands = new String[var5]; + + for(var7 = 0; var2.offset < var4; var1.opcodes[var7++] = var8) { + var8 = var2.readUnsignedShort(); + if (var8 == 3) { + var1.stringOperands[var7] = var2.readStringCp1252NullTerminated(); + } else if (var8 < 100 && var8 != 21 && var8 != 38 && var8 != 39) { + var1.intOperands[var7] = var2.readInt(); + } else { + var1.intOperands[var7] = var2.readUnsignedByte(); + } + } + + return var1; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1120887468" + ) + static final int method3451(int var0, int var1) { + if (var0 == -1) { + return 12345678; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 'タ') + var1; + } + } + + @ObfuscatedName("fr") + @ObfuscatedSignature( + descriptor = "(Lcv;I)V", + garbageValue = "871352937" + ) + static final void method3453(Actor var0) { + if (var0.field1006 != 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 - '耀']; + } + + 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.field981 != -1 && (var0.pathLength == 0 || var0.field989 > 0)) { + var0.orientation = var0.field981; + var0.field981 = -1; + } + + int var4 = var0.orientation - var0.rotation & 2047; + if (var4 == 0 && var0.false0) { + var0.targetIndex = -1; + var0.false0 = false; + } + + if (var4 != 0) { + ++var0.field957; + boolean var6; + if (var4 > 1024) { + var0.rotation -= var0.field1006; + var6 = true; + if (var4 < var0.field1006 || var4 > 2048 - var0.field1006) { + var0.rotation = var0.orientation; + var6 = false; + } + + if (var0.movementSequence == var0.idleSequence && (var0.field957 > 25 || var6)) { + if (var0.turnLeftSequence != -1) { + var0.movementSequence = var0.turnLeftSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } else { + var0.rotation += var0.field1006; + var6 = true; + if (var4 < var0.field1006 || var4 > 2048 - var0.field1006) { + var0.rotation = var0.orientation; + var6 = false; + } + + if (var0.movementSequence == var0.idleSequence && (var0.field957 > 25 || var6)) { + if (var0.turnRightSequence != -1) { + var0.movementSequence = var0.turnRightSequence; + } else { + var0.movementSequence = var0.walkSequence; + } + } + } + + var0.rotation &= 2047; + } else { + var0.field957 = 0; + } + + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeEvent.java b/runescape-client/src/main/java/GrandExchangeEvent.java index 86a473496b..bd83d47818 100644 --- a/runescape-client/src/main/java/GrandExchangeEvent.java +++ b/runescape-client/src/main/java/GrandExchangeEvent.java @@ -1,144 +1,115 @@ -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("a") +@ObfuscatedName("x") @Implements("GrandExchangeEvent") public class GrandExchangeEvent { - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 34061047 - ) - @Export("musicTrackVolume") - public static int musicTrackVolume; - @ObfuscatedName("ag") - @Export("fontHelvetica13") - static java.awt.Font fontHelvetica13; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1823148411 - ) - @Export("world") - public final int world; - @ObfuscatedName("v") - @ObfuscatedGetter( - longValue = -1010127793754141401L - ) - @Export("age") - public final long age; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Ly;" - ) - @Export("grandExchangeOffer") - public final GrandExchangeOffer grandExchangeOffer; - @ObfuscatedName("w") - @Export("offerName") - String offerName; - @ObfuscatedName("t") - @Export("previousOfferName") - String previousOfferName; + @ObfuscatedName("gw") + @ObfuscatedGetter( + intValue = 646144783 + ) + static int field82; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -327146803 + ) + @Export("world") + public final int world; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = 986642853943479863L + ) + @Export("age") + public final long age; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lg;" + ) + @Export("grandExchangeOffer") + public final GrandExchangeOffer grandExchangeOffer; + @ObfuscatedName("c") + @Export("offerName") + String offerName; + @ObfuscatedName("y") + @Export("previousOfferName") + String previousOfferName; - @ObfuscatedSignature( - descriptor = "(Lkj;BI)V" - ) - GrandExchangeEvent(Buffer var1, byte var2, int var3) { - this.offerName = var1.readStringCp1252NullTerminated(); // L: 111 - this.previousOfferName = var1.readStringCp1252NullTerminated(); // L: 112 - this.world = var1.readUnsignedShort(); // L: 113 - this.age = var1.readLong(); // L: 114 - int var4 = var1.readInt(); // L: 115 - int var5 = var1.readInt(); // L: 116 - this.grandExchangeOffer = new GrandExchangeOffer(); // L: 117 - this.grandExchangeOffer.method171(2); // L: 118 - this.grandExchangeOffer.method176(var2); // L: 119 - this.grandExchangeOffer.unitPrice = var4; // L: 120 - this.grandExchangeOffer.totalQuantity = var5; // L: 121 - this.grandExchangeOffer.currentQuantity = 0; // L: 122 - this.grandExchangeOffer.currentPrice = 0; // L: 123 - this.grandExchangeOffer.id = var3; // L: 124 - } // L: 125 + @ObfuscatedSignature( + descriptor = "(Lkx;BI)V" + ) + GrandExchangeEvent(Buffer var1, byte var2, int var3) { + this.offerName = var1.readStringCp1252NullTerminated(); + this.previousOfferName = var1.readStringCp1252NullTerminated(); + this.world = var1.readUnsignedShort(); + this.age = var1.readLong(); + int var4 = var1.readInt(); + int var5 = var1.readInt(); + this.grandExchangeOffer = new GrandExchangeOffer(); + this.grandExchangeOffer.method166(2); + this.grandExchangeOffer.method168(var2); + this.grandExchangeOffer.unitPrice = var4; + this.grandExchangeOffer.totalQuantity = var5; + this.grandExchangeOffer.currentQuantity = 0; + this.grandExchangeOffer.currentPrice = 0; + this.grandExchangeOffer.id = var3; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-819048279" - ) - @Export("getOfferName") - public String getOfferName() { - return this.offerName; // L: 128 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)Ljava/lang/String;", + garbageValue = "73" + ) + @Export("getOfferName") + public String getOfferName() { + return this.offerName; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)Ljava/lang/String;", - garbageValue = "5" - ) - @Export("getPreviousOfferName") - public String getPreviousOfferName() { - return this.previousOfferName; // L: 132 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)Ljava/lang/String;", + garbageValue = "59" + ) + @Export("getPreviousOfferName") + public String getPreviousOfferName() { + return this.previousOfferName; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "2125539222" - ) - @Export("loadWorlds") - static boolean loadWorlds() { - try { - if (World.World_request == null) { // L: 31 - World.World_request = GrandExchangeOfferAgeComparator.urlRequester.request(new URL(GrandExchangeOfferTotalQuantityComparator.field75)); - } else if (World.World_request.isDone()) { // L: 33 - byte[] var0 = World.World_request.getResponse(); // L: 34 - Buffer var1 = new Buffer(var0); // L: 35 - var1.readInt(); // L: 36 - World.World_count = var1.readUnsignedShort(); // L: 37 - World.World_worlds = new World[World.World_count]; // L: 38 + @ObfuscatedName("fm") + @ObfuscatedSignature( + descriptor = "(Lcv;I)V", + garbageValue = "878562406" + ) + static final void method147(Actor var0) { + int var1 = Math.max(1, var0.field999 - Client.cycle); + int var2 = var0.field992 * 128 + var0.field1007 * 64; + int var3 = var0.field952 * 128 + var0.field1007 * 64; + var0.x += (var2 - var0.x) / var1; + var0.y += (var3 - var0.y) / var1; + var0.field989 = 0; + var0.orientation = var0.field1001; + } - World var3; - for (int var2 = 0; var2 < World.World_count; var3.index = var2++) { // L: 39 47 - var3 = World.World_worlds[var2] = new World(); // L: 40 - var3.id = var1.readUnsignedShort(); // L: 41 - var3.properties = var1.readInt(); // L: 42 - var3.host = var1.readStringCp1252NullTerminated(); // L: 43 - var3.activity = var1.readStringCp1252NullTerminated(); // L: 44 - var3.location = var1.readUnsignedByte(); // L: 45 - var3.population = var1.readShort(); // L: 46 - } + @ObfuscatedName("jm") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1637672427" + ) + @Export("Widget_resetModelFrames") + static final void Widget_resetModelFrames(int var0) { + if (WorldMapCacheName.loadInterface(var0)) { + Widget[] var1 = DefaultsGroup.Widget_interfaceComponents[var0]; - ChatChannel.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); // L: 49 - World.World_request = null; // L: 50 - return true; // L: 51 - } - } catch (Exception var4) { // L: 55 - var4.printStackTrace(); // L: 56 - World.World_request = null; // L: 57 - } + for(int var2 = 0; var2 < var1.length; ++var2) { + Widget var3 = var1[var2]; + if (var3 != null) { + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + } + } - return false; // L: 59 - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "31" - ) - protected static final void method153() { - class225.clock.mark(); // L: 421 - - int var0; - for (var0 = 0; var0 < 32; ++var0) { // L: 422 - GameEngine.graphicsTickTimes[var0] = 0L; - } - - for (var0 = 0; var0 < 32; ++var0) { // L: 423 - GameEngine.clientTickTimes[var0] = 0L; - } - - class8.gameCyclesToDo = 0; // L: 424 - } // L: 425 + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeEvents.java b/runescape-client/src/main/java/GrandExchangeEvents.java index c4ed338129..d2271641c1 100644 --- a/runescape-client/src/main/java/GrandExchangeEvents.java +++ b/runescape-client/src/main/java/GrandExchangeEvents.java @@ -6,238 +6,68 @@ 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("f") +@ObfuscatedName("i") @Implements("GrandExchangeEvents") public class GrandExchangeEvents { - @ObfuscatedName("v") - @Export("GrandExchangeEvents_ageComparator") - public static Comparator GrandExchangeEvents_ageComparator; - @ObfuscatedName("x") - @Export("GrandExchangeEvents_priceComparator") - public static Comparator GrandExchangeEvents_priceComparator; - @ObfuscatedName("w") - @Export("GrandExchangeEvents_nameComparator") - public static Comparator GrandExchangeEvents_nameComparator; - @ObfuscatedName("t") - @Export("GrandExchangeEvents_quantityComparator") - public static Comparator GrandExchangeEvents_quantityComparator; - @ObfuscatedName("l") - @Export("SpriteBuffer_pixels") - public static byte[][] SpriteBuffer_pixels; - @ObfuscatedName("h") - @Export("events") - public final List events; + @ObfuscatedName("v") + @Export("GrandExchangeEvents_ageComparator") + public static Comparator GrandExchangeEvents_ageComparator = new GrandExchangeOfferAgeComparator(); + @ObfuscatedName("d") + @Export("GrandExchangeEvents_priceComparator") + public static Comparator GrandExchangeEvents_priceComparator; + @ObfuscatedName("c") + @Export("GrandExchangeEvents_nameComparator") + public static Comparator GrandExchangeEvents_nameComparator; + @ObfuscatedName("y") + @Export("GrandExchangeEvents_quantityComparator") + public static Comparator GrandExchangeEvents_quantityComparator; + @ObfuscatedName("n") + @Export("events") + public final List events; - static { - GrandExchangeEvents_ageComparator = new GrandExchangeOfferAgeComparator(); // L: 11 - new GrandExchangeOfferWorldComparator(); - GrandExchangeEvents_priceComparator = new GrandExchangeOfferUnitPriceComparator(); // L: 41 - GrandExchangeEvents_nameComparator = new GrandExchangeOfferNameComparator(); // L: 54 - GrandExchangeEvents_quantityComparator = new GrandExchangeOfferTotalQuantityComparator(); - } // L: 67 + static { + new GrandExchangeOfferWorldComparator(); + GrandExchangeEvents_priceComparator = new GrandExchangeOfferUnitPriceComparator(); + GrandExchangeEvents_nameComparator = new GrandExchangeOfferNameComparator(); + GrandExchangeEvents_quantityComparator = new GrandExchangeOfferTotalQuantityComparator(); + } - @ObfuscatedSignature( - descriptor = "(Lkj;Z)V", - garbageValue = "1" - ) - public GrandExchangeEvents(Buffer var1, boolean var2) { - int var3 = var1.readUnsignedShort(); // L: 82 - boolean var4 = var1.readUnsignedByte() == 1; // L: 83 - byte var5; - if (var4) { // L: 85 - var5 = 1; - } else { - var5 = 0; // L: 86 - } + @ObfuscatedSignature( + descriptor = "(Lkx;Z)V", + garbageValue = "1" + ) + public GrandExchangeEvents(Buffer var1, boolean var2) { + int var3 = var1.readUnsignedShort(); + boolean var4 = var1.readUnsignedByte() == 1; + byte var5; + if (var4) { + var5 = 1; + } else { + var5 = 0; + } - int var6 = var1.readUnsignedShort(); // L: 87 - this.events = new ArrayList(var6); // L: 88 + int var6 = var1.readUnsignedShort(); + this.events = new ArrayList(var6); - for (int var7 = 0; var7 < var6; ++var7) { // L: 89 - this.events.add(new GrandExchangeEvent(var1, var5, var3)); // L: 90 - } + for(int var7 = 0; var7 < var6; ++var7) { + this.events.add(new GrandExchangeEvent(var1, var5, var3)); + } - } // L: 92 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/util/Comparator;ZI)V", - garbageValue = "1883251258" - ) - @Export("sort") - public void sort(Comparator var1, boolean var2) { - if (var2) { // L: 95 - Collections.sort(this.events, var1); // L: 96 - } else { - Collections.sort(this.events, Collections.reverseOrder(var1)); // L: 99 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/util/Comparator;ZS)V", + garbageValue = "19437" + ) + @Export("sort") + public void sort(Comparator var1, boolean var2) { + if (var2) { + Collections.sort(this.events, var1); + } else { + Collections.sort(this.events, Collections.reverseOrder(var1)); + } - } // L: 101 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Lcj;", - garbageValue = "-114002754" - ) - @Export("getNextWorldListWorld") - static World getNextWorldListWorld() { - return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null; // L: 252 253 - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(ILcs;ZB)I", - garbageValue = "8" - ) - static int method146(int var0, Script var1, boolean var2) { - int var3; - if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { // L: 2327 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2328 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); // L: 2329 - return 1; // L: 2330 - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { // L: 2332 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2333 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; // L: 2334 - return 1; // L: 2335 - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { // L: 2337 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2338 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; // L: 2339 - return 1; // L: 2340 - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { // L: 2342 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2343 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; // L: 2344 - return 1; // L: 2345 - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { // L: 2347 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2348 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; // L: 2349 - return 1; // L: 2350 - } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { // L: 2352 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2353 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; // L: 2354 - return 1; // L: 2355 - } else { - int var13; - if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { // L: 2357 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2358 - var13 = Client.grandExchangeOffers[var3].status(); // L: 2359 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var13 == 0 ? 1 : 0; // L: 2360 - return 1; // L: 2361 - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { // L: 2363 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2364 - var13 = Client.grandExchangeOffers[var3].status(); // L: 2365 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var13 == 2 ? 1 : 0; // L: 2366 - return 1; // L: 2367 - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { // L: 2369 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2370 - var13 = Client.grandExchangeOffers[var3].status(); // L: 2371 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var13 == 5 ? 1 : 0; // L: 2372 - return 1; // L: 2373 - } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { // L: 2375 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2376 - var13 = Client.grandExchangeOffers[var3].status(); // L: 2377 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var13 == 1 ? 1 : 0; // L: 2378 - return 1; // L: 2379 - } else { - boolean var12; - if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { // L: 2381 - var12 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2382 - if (AbstractUserComparator.grandExchangeEvents != null) { // L: 2383 - AbstractUserComparator.grandExchangeEvents.sort(GrandExchangeEvents_nameComparator, var12); // L: 2384 - } - - return 1; // L: 2386 - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { // L: 2388 - var12 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2389 - if (AbstractUserComparator.grandExchangeEvents != null) { // L: 2390 - AbstractUserComparator.grandExchangeEvents.sort(GrandExchangeEvents_priceComparator, var12); // L: 2391 - } - - return 1; // L: 2393 - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { // L: 2395 - VarcInt.Interpreter_intStackSize -= 2; // L: 2396 - var12 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] == 1; // L: 2397 - boolean var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1] == 1; // L: 2398 - if (AbstractUserComparator.grandExchangeEvents != null) { // L: 2399 - Client.GrandExchangeEvents_worldComparator.filterWorlds = var11; // L: 2400 - AbstractUserComparator.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var12); // L: 2401 - } - - return 1; // L: 2403 - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { // L: 2405 - var12 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2406 - if (AbstractUserComparator.grandExchangeEvents != null) { // L: 2407 - AbstractUserComparator.grandExchangeEvents.sort(GrandExchangeEvents_ageComparator, var12); // L: 2408 - } - - return 1; // L: 2410 - } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { // L: 2412 - var12 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 2413 - if (AbstractUserComparator.grandExchangeEvents != null) { // L: 2414 - AbstractUserComparator.grandExchangeEvents.sort(GrandExchangeEvents_quantityComparator, var12); // L: 2415 - } - - return 1; // L: 2417 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { // L: 2419 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = AbstractUserComparator.grandExchangeEvents == null ? 0 : AbstractUserComparator.grandExchangeEvents.events.size(); // L: 2420 - return 1; // L: 2421 - } else { - GrandExchangeEvent var4; - if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { // L: 2423 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2424 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2425 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.world; // L: 2426 - return 1; // L: 2427 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { // L: 2429 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2430 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2431 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getOfferName(); // L: 2432 - return 1; // L: 2433 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { // L: 2435 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2436 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2437 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousOfferName(); // L: 2438 - return 1; // L: 2439 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { // L: 2441 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2442 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2443 - long var5 = class298.currentTimeMillis() - class4.field17 - var4.age; // L: 2444 - int var7 = (int)(var5 / 3600000L); // L: 2445 - int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); // L: 2446 - int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * 60000)) / 1000L); // L: 2447 - String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; // L: 2448 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10; // L: 2449 - return 1; // L: 2450 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { // L: 2452 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2453 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2454 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.totalQuantity; // L: 2455 - return 1; // L: 2456 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { // L: 2458 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2459 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2460 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.unitPrice; // L: 2461 - return 1; // L: 2462 - } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { // L: 2464 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2465 - var4 = (GrandExchangeEvent)AbstractUserComparator.grandExchangeEvents.events.get(var3); // L: 2466 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.id; // L: 2467 - return 1; // L: 2468 - } else { - return 2; // L: 2470 - } - } - } - } - } - - @ObfuscatedName("hu") - @ObfuscatedSignature( - descriptor = "(Lcx;II)V", - garbageValue = "-563338359" - ) - static final void method144(Actor var0, int var1) { - GrandExchangeOffer.worldToScreen(var0.x, var0.y, var1); // L: 5240 - } // L: 5241 + } } diff --git a/runescape-client/src/main/java/GrandExchangeOffer.java b/runescape-client/src/main/java/GrandExchangeOffer.java index 2e1430ecd4..153121514b 100644 --- a/runescape-client/src/main/java/GrandExchangeOffer.java +++ b/runescape-client/src/main/java/GrandExchangeOffer.java @@ -1,296 +1,263 @@ +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.util.Iterator; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("y") +@ObfuscatedName("g") @Implements("GrandExchangeOffer") public class GrandExchangeOffer { - @ObfuscatedName("h") - @Export("state") - byte state; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -618339927 - ) - @Export("id") - public int id; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1523390759 - ) - @Export("unitPrice") - public int unitPrice; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1138679983 - ) - @Export("totalQuantity") - public int totalQuantity; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1993349835 - ) - @Export("currentQuantity") - public int currentQuantity; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 484564731 - ) - @Export("currentPrice") - public int currentPrice; + @ObfuscatedName("op") + @ObfuscatedSignature( + descriptor = "Lcg;" + ) + @Export("varcs") + static Varcs varcs; + @ObfuscatedName("le") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + static Widget field100; + @ObfuscatedName("n") + @Export("state") + byte state; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1764119781 + ) + @Export("id") + public int id; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1987297797 + ) + @Export("unitPrice") + public int unitPrice; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 795872735 + ) + @Export("totalQuantity") + public int totalQuantity; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 252650677 + ) + @Export("currentQuantity") + public int currentQuantity; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 710426357 + ) + @Export("currentPrice") + public int currentPrice; - public GrandExchangeOffer() { - } // L: 13 + public GrandExchangeOffer() { + } - @ObfuscatedSignature( - descriptor = "(Lkj;Z)V", - garbageValue = "0" - ) - public GrandExchangeOffer(Buffer var1, boolean var2) { - this.state = var1.readByte(); - this.id = var1.readUnsignedShort(); - this.unitPrice = var1.readInt(); // L: 18 - this.totalQuantity = var1.readInt(); - this.currentQuantity = var1.readInt(); - this.currentPrice = var1.readInt(); - } + @ObfuscatedSignature( + descriptor = "(Lkx;Z)V", + garbageValue = "0" + ) + public GrandExchangeOffer(Buffer var1, boolean var2) { + this.state = var1.readByte(); + this.id = var1.readUnsignedShort(); + this.unitPrice = var1.readInt(); + this.totalQuantity = var1.readInt(); + this.currentQuantity = var1.readInt(); + this.currentPrice = var1.readInt(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-9146614" - ) - @Export("status") - public int status() { - return this.state & 7; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-15" + ) + @Export("status") + public int status() { + return this.state & 7; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1433662389" - ) - @Export("type") - public int type() { - return (this.state & 8) == 8 ? 1 : 0; // L: 54 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-522457380" + ) + @Export("type") + public int type() { + return (this.state & 8) == 8 ? 1 : 0; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1068160748" - ) - void method171(int var1) { - this.state &= -8; // L: 58 - this.state = (byte)(this.state | var1 & 7); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "575158813" + ) + void method166(int var1) { + this.state &= -8; + this.state = (byte)(this.state | var1 & 7); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1708580418" - ) - void method176(int var1) { - this.state &= -9; - if (var1 == 1) { - this.state = (byte)(this.state | 8); // L: 64 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "656048251" + ) + void method168(int var1) { + this.state &= -9; + if (var1 == 1) { + this.state = (byte)(this.state | 8); + } - } // L: 65 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "32" - ) - static int method186(int var0, int var1) { - FloorOverlayDefinition var2 = RouteStrategy.method3648(var0); - if (var2 == null) { - return var1; // L: 17 - } else if (var2.secondaryRgb >= 0) { - return var2.secondaryRgb | -16777216; // L: 20 - } else { - int var4; - int var5; - if (var2.texture >= 0) { // L: 22 - var4 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var2.texture); - byte var11 = 96; - int var3; - if (var4 == -2) { - var3 = 12345678; // L: 28 - } else if (var4 == -1) { // L: 31 - if (var11 < 0) { // L: 32 - var11 = 0; // L: 33 - } else if (var11 > 127) { // L: 35 - var11 = 127; // L: 36 - } + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(Lfu;III)Ldh;", + garbageValue = "779350721" + ) + public static final PcmPlayer method167(TaskHandler var0, int var1, int var2) { + if (StructComposition.field3338 * 22050 == 0) { + throw new IllegalStateException(); + } else if (var1 >= 0 && var1 < 2) { + if (var2 < 256) { + var2 = 256; + } - var5 = 127 - var11; // L: 38 - var3 = var5; // L: 39 - } else { - var5 = var11 * (var4 & 127) / 128; // L: 42 - if (var5 < 2) { // L: 43 - var5 = 2; - } else if (var5 > 126) { // L: 44 - var5 = 126; - } + try { + PcmPlayer var3 = class2.pcmPlayerProvider.player(); + var3.samples = new int[256 * (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; + var3.field1427 = var2; + var3.init(); + var3.capacity = (var2 & -1024) + 1024; + if (var3.capacity > 16384) { + var3.capacity = 16384; + } - var3 = var5 + (var4 & 65408); // L: 45 - } + var3.open(var3.capacity); + if (PcmPlayer.field1419 > 0 && PcmPlayer.soundSystem == null) { + PcmPlayer.soundSystem = new SoundSystem(); + PcmPlayer.soundSystemExecutor = Executors.newScheduledThreadPool(1); + PcmPlayer.soundSystemExecutor.scheduleAtFixedRate(PcmPlayer.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); + } - return Rasterizer3D.Rasterizer3D_colorPalette[var3] | -16777216; // L: 48 - } else if (var2.primaryRgb == 16711935) { // L: 50 - return var1; // L: 51 - } else { - var4 = var2.hue; // L: 55 - var5 = var2.saturation; // L: 56 - int var6 = var2.lightness; // L: 57 - if (var6 > 179) { // L: 59 - var5 /= 2; - } + if (PcmPlayer.soundSystem != null) { + if (PcmPlayer.soundSystem.players[var1] != null) { + throw new IllegalArgumentException(); + } - if (var6 > 192) { // L: 60 - var5 /= 2; - } + PcmPlayer.soundSystem.players[var1] = var3; + } - if (var6 > 217) { // L: 61 - var5 /= 2; - } + return var3; + } catch (Throwable var4) { + return new PcmPlayer(); + } + } else { + throw new IllegalArgumentException(); + } + } - if (var6 > 243) { // L: 62 - var5 /= 2; - } + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + @Export("getGcDuration") + protected static int getGcDuration() { + int var0 = 0; + if (WorldMapID.garbageCollector == null || !WorldMapID.garbageCollector.isValid()) { + try { + Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); - int var7 = (var5 / 32 << 7) + var6 / 2 + (var4 / 4 << 10); // L: 63 - byte var9 = 96; // L: 68 - int var8; - if (var7 == -2) { // L: 70 - var8 = 12345678; // L: 71 - } else { - int var12; - if (var7 == -1) { // L: 74 - if (var9 < 0) { // L: 75 - var9 = 0; // L: 76 - } else if (var9 > 127) { // L: 78 - var9 = 127; // L: 79 - } + while(var1.hasNext()) { + GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); + if (var2.isValid()) { + WorldMapID.garbageCollector = var2; + GameEngine.garbageCollectorLastCheckTimeMs = -1L; + GameEngine.garbageCollectorLastCollectionTime = -1L; + } + } + } catch (Throwable var11) { + ; + } + } - var12 = 127 - var9; // L: 81 - var8 = var12; // L: 82 - } else { - var12 = var9 * (var7 & 127) / 128; // L: 85 - if (var12 < 2) { // L: 86 - var12 = 2; - } else if (var12 > 126) { // L: 87 - var12 = 126; - } + if (WorldMapID.garbageCollector != null) { + long var9 = Tiles.currentTimeMillis(); + long var3 = WorldMapID.garbageCollector.getCollectionTime(); + if (GameEngine.garbageCollectorLastCollectionTime != -1L) { + long var5 = var3 - GameEngine.garbageCollectorLastCollectionTime; + long var7 = var9 - GameEngine.garbageCollectorLastCheckTimeMs; + if (0L != var7) { + var0 = (int)(100L * var5 / var7); + } + } - var8 = var12 + (var7 & 65408); // L: 88 - } - } + GameEngine.garbageCollectorLastCollectionTime = var3; + GameEngine.garbageCollectorLastCheckTimeMs = var9; + } - return Rasterizer3D.Rasterizer3D_colorPalette[var8] | -16777216; // L: 91 - } - } - } + return var0; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;ZI)[B", - garbageValue = "-2034592352" - ) - public static byte[] method188(Object var0, boolean var1) { - if (var0 == null) { // L: 8 - return null; - } else if (var0 instanceof byte[]) { // L: 9 - byte[] var6 = (byte[])((byte[])var0); // L: 10 - if (var1) { // L: 11 - int var4 = var6.length; // L: 14 - byte[] var5 = new byte[var4]; // L: 15 - System.arraycopy(var6, 0, var5, 0, var4); // L: 16 - return var5; // L: 19 - } else { - return var6; // L: 21 - } - } else if (var0 instanceof AbstractByteArrayCopier) { // L: 23 - AbstractByteArrayCopier var2 = (AbstractByteArrayCopier)var0; // L: 24 - return var2.get(); // L: 25 - } else { - throw new IllegalArgumentException(); // L: 27 - } - } + @ObfuscatedName("ih") + @ObfuscatedSignature( + descriptor = "(IB)Ljava/lang/String;", + garbageValue = "-64" + ) + static final String method187(int var0) { + return var0 < 999999999 ? Integer.toString(var0) : "*"; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "296728880" - ) - @Export("savePreferences") - static void savePreferences() { - AccessFile var0 = null; // L: 95 + @ObfuscatedName("ku") + @ObfuscatedSignature( + descriptor = "(Lbs;ZS)V", + garbageValue = "-4659" + ) + @Export("closeInterface") + static final void closeInterface(InterfaceParent var0, boolean var1) { + int var2 = var0.group; + int var3 = (int)var0.key; + var0.remove(); + if (var1 && var2 != -1 && Widget.Widget_loadedInterfaces[var2]) { + FontName.Widget_archive.clearFilesGroup(var2); + if (DefaultsGroup.Widget_interfaceComponents[var2] != null) { + boolean var4 = true; - try { - var0 = WorldMapRegion.getPreferencesFile("", AttackOption.field1174.name, true); // L: 97 - Buffer var1 = Timer.clientPreferences.toBuffer(); // L: 98 - var0.write(var1.array, 0, var1.offset); // L: 99 - } catch (Exception var3) { // L: 101 - } + for(int var5 = 0; var5 < DefaultsGroup.Widget_interfaceComponents[var2].length; ++var5) { + if (DefaultsGroup.Widget_interfaceComponents[var2][var5] != null) { + if (DefaultsGroup.Widget_interfaceComponents[var2][var5].type != 2) { + DefaultsGroup.Widget_interfaceComponents[var2][var5] = null; + } else { + var4 = false; + } + } + } - try { - if (var0 != null) { // L: 103 - var0.closeSync(true); // L: 104 - } - } catch (Exception var2) { // L: 107 - } + if (var4) { + DefaultsGroup.Widget_interfaceComponents[var2] = null; + } - } // L: 108 + Widget.Widget_loadedInterfaces[var2] = false; + } + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "66" - ) - static final int method190(int var0, int var1) { - int var2 = var1 * 57 + var0; // L: 855 - var2 ^= var2 << 13; // L: 856 - int var3 = (var2 * var2 * 15731 + 789221) * var2 + 1376312589 & Integer.MAX_VALUE; // L: 857 - return var3 >> 19 & 255; // L: 858 - } + ModeWhere.method3871(var2); + Widget var6 = class237.getWidget(var3); + if (var6 != null) { + IsaacCipher.invalidateWidget(var6); + } - @ObfuscatedName("hx") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "-18578608" - ) - @Export("worldToScreen") - static final void worldToScreen(int var0, int var1, int var2) { - if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { // L: 5244 - int var3 = SecureRandomFuture.getTileHeight(var0, var1, GameObject.Client_plane) - var2; // L: 5249 - var0 -= Player.cameraX; // L: 5250 - var3 -= KeyHandler.cameraY; // L: 5251 - var1 -= class69.cameraZ; // L: 5252 - int var4 = Rasterizer3D.Rasterizer3D_sine[Skeleton.cameraPitch]; // L: 5253 - int var5 = Rasterizer3D.Rasterizer3D_cosine[Skeleton.cameraPitch]; // L: 5254 - int var6 = Rasterizer3D.Rasterizer3D_sine[AbstractArchive.cameraYaw]; // L: 5255 - int var7 = Rasterizer3D.Rasterizer3D_cosine[AbstractArchive.cameraYaw]; // L: 5256 - int var8 = var6 * var1 + var0 * var7 >> 16; // L: 5257 - var1 = var7 * var1 - var0 * var6 >> 16; // L: 5258 - var0 = var8; // L: 5259 - var8 = var5 * var3 - var4 * var1 >> 16; // L: 5260 - var1 = var3 * var4 + var5 * var1 >> 16; // L: 5261 - if (var1 >= 50) { // L: 5263 - Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; // L: 5264 - Client.viewportTempY = Client.viewportHeight / 2 + var8 * Client.viewportZoom / var1; // L: 5265 - } else { - Client.viewportTempX = -1; // L: 5268 - Client.viewportTempY = -1; // L: 5269 - } + AbstractWorldMapData.method352(); + if (Client.rootInterface != -1) { + class228.runIntfCloseListeners(Client.rootInterface, 1); + } - } else { - Client.viewportTempX = -1; // L: 5245 - Client.viewportTempY = -1; // L: 5246 - } - } // L: 5247 5271 + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java index 7ca46ab80c..fb775f4050 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferAgeComparator.java @@ -1,221 +1,54 @@ +import java.awt.FontMetrics; import java.util.Comparator; -import java.util.Date; 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("g") +@ObfuscatedName("p") @Implements("GrandExchangeOfferAgeComparator") final class GrandExchangeOfferAgeComparator implements Comparator { - @ObfuscatedName("fd") - @ObfuscatedSignature( - descriptor = "Lea;" - ) - @Export("urlRequester") - static UrlRequester urlRequester; - @ObfuscatedName("hi") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("crossSprites") - static SpritePixels[] crossSprites; + @ObfuscatedName("qr") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("sceneMinimapSprite") + static SpritePixels sceneMinimapSprite; + @ObfuscatedName("l") + @Export("Tiles_hue") + static int[] Tiles_hue; + @ObfuscatedName("ac") + @Export("loginScreenFontMetrics") + static FontMetrics loginScreenFontMetrics; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;I)I", - garbageValue = "-382122880" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.age < var2.age ? -1 : (var1.age == var2.age ? 0 : 1); // L: 13 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;I)I", + garbageValue = "1835867422" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.age < var2.age ? -1 : (var2.age == var1.age ? 0 : 1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); // L: 17 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 21 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1587665041" - ) - static int method218(int var0, Script var1, boolean var2) { - String var3; - int var9; - if (var0 == ScriptOpcodes.APPEND_NUM) { // L: 2633 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2634 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2635 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var9; // L: 2636 - return 1; // L: 2637 - } else { - String var4; - if (var0 == ScriptOpcodes.APPEND) { // L: 2639 - Interpreter.Interpreter_stringStackSize -= 2; // L: 2640 - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 2641 - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 2642 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var4; // L: 2643 - return 1; // L: 2644 - } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { // L: 2646 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2647 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2648 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + HealthBarDefinition.intToString(var9, true); // L: 2649 - return 1; // L: 2650 - } else if (var0 == ScriptOpcodes.LOWERCASE) { // L: 2652 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2653 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toLowerCase(); // L: 2654 - return 1; // L: 2655 - } else { - int var6; - int var10; - if (var0 == ScriptOpcodes.FROMDATE) { // L: 2657 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2658 - long var13 = ((long)var10 + 11745L) * 86400000L; // L: 2659 - Interpreter.Interpreter_calendar.setTime(new Date(var13)); // L: 2660 - var6 = Interpreter.Interpreter_calendar.get(5); // L: 2661 - int var17 = Interpreter.Interpreter_calendar.get(2); // L: 2662 - int var8 = Interpreter.Interpreter_calendar.get(1); // L: 2663 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var17] + "-" + var8; // L: 2664 - return 1; // L: 2665 - } else if (var0 != ScriptOpcodes.TEXT_GENDER) { // L: 2667 - if (var0 == ScriptOpcodes.TOSTRING) { // L: 2675 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2676 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Integer.toString(var10); // L: 2677 - return 1; // L: 2678 - } else if (var0 == ScriptOpcodes.COMPARE) { // L: 2680 - Interpreter.Interpreter_stringStackSize -= 2; // L: 2681 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = World.method1874(UrlRequester.compareStrings(Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1], WorldMapScaleHandler.clientLanguage)); // L: 2682 - return 1; // L: 2683 - } else { - int var5; - byte[] var11; - Font var12; - if (var0 == ScriptOpcodes.PARAHEIGHT) { // L: 2685 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2686 - VarcInt.Interpreter_intStackSize -= 2; // L: 2687 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2688 - var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2689 - var11 = GrandExchangeOfferUnitPriceComparator.archive13.takeFile(var5, 0); // L: 2690 - var12 = new Font(var11); // L: 2691 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var12.lineCount(var3, var9); // L: 2692 - return 1; // L: 2693 - } else if (var0 == ScriptOpcodes.PARAWIDTH) { // L: 2695 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2696 - VarcInt.Interpreter_intStackSize -= 2; // L: 2697 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2698 - var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2699 - var11 = GrandExchangeOfferUnitPriceComparator.archive13.takeFile(var5, 0); // L: 2700 - var12 = new Font(var11); // L: 2701 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var12.lineWidth(var3, var9); // L: 2702 - return 1; // L: 2703 - } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { // L: 2705 - Interpreter.Interpreter_stringStackSize -= 2; // L: 2706 - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 2707 - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 2708 - if (Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1) { // L: 2709 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; // L: 2710 - } - - return 1; // L: 2711 - } else if (var0 == ScriptOpcodes.ESCAPE) { // L: 2713 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2714 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); // L: 2715 - return 1; // L: 2716 - } else if (var0 == ScriptOpcodes.APPEND_CHAR) { // L: 2718 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2719 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2720 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + (char)var9; // L: 2721 - return 1; // L: 2722 - } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { // L: 2724 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2725 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = TriBool.isCharPrintable((char)var10) ? 1 : 0; // L: 2726 - return 1; // L: 2727 - } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { // L: 2729 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2730 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = FriendLoginUpdate.isAlphaNumeric((char)var10) ? 1 : 0; // L: 2731 - return 1; // L: 2732 - } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { // L: 2734 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2735 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = NetCache.isCharAlphabetic((char)var10) ? 1 : 0; // L: 2736 - return 1; // L: 2737 - } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { // L: 2739 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2740 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class39.isDigit((char)var10) ? 1 : 0; // L: 2741 - return 1; // L: 2742 - } else if (var0 == ScriptOpcodes.STRING_LENGTH) { // L: 2744 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2745 - if (var3 != null) { // L: 2746 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.length(); - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2747 - } - - return 1; // L: 2748 - } else if (var0 == ScriptOpcodes.SUBSTRING) { // L: 2750 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2751 - VarcInt.Interpreter_intStackSize -= 2; // L: 2752 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2753 - var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2754 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.substring(var9, var5); // L: 2755 - return 1; // L: 2756 - } else if (var0 == ScriptOpcodes.REMOVETAGS) { // L: 2758 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2759 - StringBuilder var15 = new StringBuilder(var3.length()); // L: 2760 - boolean var16 = false; // L: 2761 - - for (var6 = 0; var6 < var3.length(); ++var6) { // L: 2762 - char var7 = var3.charAt(var6); // L: 2763 - if (var7 == '<') { // L: 2764 - var16 = true; - } else if (var7 == '>') { // L: 2765 - var16 = false; - } else if (!var16) { // L: 2766 - var15.append(var7); - } - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.toString(); // L: 2768 - return 1; // L: 2769 - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { // L: 2771 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2772 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2773 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.indexOf(var9); // L: 2774 - return 1; // L: 2775 - } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { // L: 2777 - Interpreter.Interpreter_stringStackSize -= 2; // L: 2778 - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 2779 - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 2780 - var5 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2781 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.indexOf(var4, var5); // L: 2782 - return 1; // L: 2783 - } else if (var0 == ScriptOpcodes.UPPERCASE) { // L: 2785 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2786 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toUpperCase(); // L: 2787 - return 1; // L: 2788 - } else { - return 2; // L: 2790 - } - } - } else { - Interpreter.Interpreter_stringStackSize -= 2; // L: 2668 - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 2669 - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 2670 - if (PlayerComposition.localPlayer.appearance != null && PlayerComposition.localPlayer.appearance.isFemale) { // L: 2671 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; // L: 2672 - } - - return 1; // L: 2673 - } - } - } - } + @ObfuscatedName("hu") + @ObfuscatedSignature( + descriptor = "(III)Lgz;", + garbageValue = "-1799061438" + ) + static RouteStrategy method214(int var0, int var1) { + Client.field935.approxDestinationX = var0; + Client.field935.approxDestinationY = var1; + Client.field935.approxDestinationSizeX = 1; + Client.field935.approxDestinationSizeY = 1; + return Client.field935; + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java index 92f6c97873..b06efadfd7 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferNameComparator.java @@ -1,153 +1,222 @@ -import java.lang.management.GarbageCollectorMXBean; -import java.lang.management.ManagementFactory; import java.util.Comparator; -import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("q") +@ObfuscatedName("t") @Implements("GrandExchangeOfferNameComparator") final class GrandExchangeOfferNameComparator implements Comparator { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;I)I", - garbageValue = "1347597174" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.getOfferName().compareTo(var2.getOfferName()); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("titleboxSprite") + static IndexedSprite titleboxSprite; + @ObfuscatedName("gl") + @ObfuscatedGetter( + intValue = -1624406993 + ) + @Export("baseX") + static int baseX; + @ObfuscatedName("mt") + @ObfuscatedGetter( + intValue = -755072753 + ) + @Export("selectedSpellFlags") + static int selectedSpellFlags; - public boolean equals(Object var1) { - return super.equals(var1); // L: 64 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;I)I", + garbageValue = "1549101660" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.getOfferName().compareTo(var2.getOfferName()); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "1" - ) - static void method201() { - WorldMapRegion.WorldMapRegion_cachedSprites.clear(); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "1343430336" - ) - @Export("itemContainerSetItem") - static void itemContainerSetItem(int var0, int var1, int var2, int var3) { - ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 39 - if (var4 == null) { // L: 40 - var4 = new ItemContainer(); // L: 41 - ItemContainer.itemContainers.put(var4, (long)var0); // L: 42 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Llm;IIII)V", + garbageValue = "-1717498700" + ) + static void method211(SpritePixels var0, int var1, int var2, int var3) { + WorldMapRegion.WorldMapRegion_cachedSprites.put(var0, AttackOption.method2203(var1, var2, var3), var0.pixels.length * 4); + } - if (var4.ids.length <= var1) { // L: 44 - int[] var5 = new int[var1 + 1]; // L: 45 - int[] var6 = new int[var1 + 1]; // L: 46 + @ObfuscatedName("z") + @Export("Entity_unpackSceneX") + public static int Entity_unpackSceneX(long var0) { + return (int)(var0 >>> 7 & 127L); + } - int var7; - for (var7 = 0; var7 < var4.ids.length; ++var7) { // L: 47 - var5[var7] = var4.ids[var7]; // L: 48 - var6[var7] = var4.quantities[var7]; // L: 49 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lig;II)Z", + garbageValue = "754600726" + ) + public static boolean method212(AbstractArchive var0, int var1) { + byte[] var2 = var0.takeFileFlat(var1); + if (var2 == null) { + return false; + } else { + SpriteBuffer_decode(var2); + return true; + } + } - for (var7 = var4.ids.length; var7 < var1; ++var7) { // L: 51 - var5[var7] = -1; // L: 52 - var6[var7] = 0; // L: 53 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "([BI)V", + garbageValue = "2140539566" + ) + @Export("SpriteBuffer_decode") + public static void SpriteBuffer_decode(byte[] var0) { + Buffer var1 = new Buffer(var0); + var1.offset = var0.length - 2; + class336.SpriteBuffer_spriteCount = var1.readUnsignedShort(); + class105.SpriteBuffer_xOffsets = new int[class336.SpriteBuffer_spriteCount]; + class336.SpriteBuffer_yOffsets = new int[class336.SpriteBuffer_spriteCount]; + class336.SpriteBuffer_spriteWidths = new int[class336.SpriteBuffer_spriteCount]; + class225.SpriteBuffer_spriteHeights = new int[class336.SpriteBuffer_spriteCount]; + class2.SpriteBuffer_pixels = new byte[class336.SpriteBuffer_spriteCount][]; + var1.offset = var0.length - 7 - class336.SpriteBuffer_spriteCount * 8; + class336.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); + class336.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); + int var2 = (var1.readUnsignedByte() & 255) + 1; - var4.ids = var5; // L: 55 - var4.quantities = var6; // L: 56 - } + int var3; + for(var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { + class105.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); + } - var4.ids[var1] = var2; // L: 58 - var4.quantities[var1] = var3; // L: 59 - } // L: 60 + for(var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { + class336.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-369903170" - ) - @Export("isKeyDown") - public static final boolean isKeyDown() { - synchronized(KeyHandler.KeyHandler_instance) { // L: 191 - if (KeyHandler.field415 == KeyHandler.field417) { // L: 192 - return false; - } else { - StudioGame.field3135 = KeyHandler.field412[KeyHandler.field415]; // L: 193 - WorldMapIcon_1.field200 = KeyHandler.field409[KeyHandler.field415]; // L: 194 - KeyHandler.field415 = KeyHandler.field415 + 1 & 127; // L: 195 - return true; // L: 196 - } - } - } + for(var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { + class336.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); + } - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-61" - ) - @Export("getGcDuration") - protected static int getGcDuration() { - int var0 = 0; // L: 566 - if (class25.garbageCollector == null || !class25.garbageCollector.isValid()) { // L: 567 - try { - Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator(); // L: 569 + for(var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { + class225.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); + } - while (var1.hasNext()) { - GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next(); // L: 570 - if (var2.isValid()) { // L: 572 - class25.garbageCollector = var2; // L: 573 - GameEngine.garbageCollectorLastCheckTimeMs = -1L; // L: 574 - GameEngine.garbageCollectorLastCollectionTime = -1L; // L: 575 - } - } - } catch (Throwable var11) { // L: 580 - } - } + var1.offset = var0.length - 7 - class336.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; + HorizontalAlignment.SpriteBuffer_spritePalette = new int[var2]; - if (class25.garbageCollector != null) { // L: 582 - long var9 = class298.currentTimeMillis(); // L: 583 - long var3 = class25.garbageCollector.getCollectionTime(); // L: 584 - if (-1L != GameEngine.garbageCollectorLastCollectionTime) { // L: 585 - long var5 = var3 - GameEngine.garbageCollectorLastCollectionTime; // L: 586 - long var7 = var9 - GameEngine.garbageCollectorLastCheckTimeMs; // L: 587 - if (var7 != 0L) { // L: 588 - var0 = (int)(100L * var5 / var7); - } - } + for(var3 = 1; var3 < var2; ++var3) { + HorizontalAlignment.SpriteBuffer_spritePalette[var3] = var1.readMedium(); + if (HorizontalAlignment.SpriteBuffer_spritePalette[var3] == 0) { + HorizontalAlignment.SpriteBuffer_spritePalette[var3] = 1; + } + } - GameEngine.garbageCollectorLastCollectionTime = var3; // L: 590 - GameEngine.garbageCollectorLastCheckTimeMs = var9; // L: 591 - } + var1.offset = 0; - return var0; // L: 593 - } + for(var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { + int var4 = class336.SpriteBuffer_spriteWidths[var3]; + int var5 = class225.SpriteBuffer_spriteHeights[var3]; + int var6 = var4 * var5; + byte[] var7 = new byte[var6]; + class2.SpriteBuffer_pixels[var3] = var7; + int var8 = var1.readUnsignedByte(); + int var9; + if (var8 == 0) { + for(var9 = 0; var9 < var6; ++var9) { + var7[var9] = var1.readByte(); + } + } else if (var8 == 1) { + for(var9 = 0; var9 < var4; ++var9) { + for(int var10 = 0; var10 < var5; ++var10) { + var7[var9 + var4 * var10] = var1.readByte(); + } + } + } + } - @ObfuscatedName("gm") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "112778991" - ) - static final void method209() { - if (WorldMapIcon_1.ClanChat_inClanChat) { // L: 3725 - if (WorldMapArea.clanChat != null) { // L: 3726 - WorldMapArea.clanChat.sort(); // L: 3727 - } + } - SecureRandomCallable.method1217(); // L: 3729 - WorldMapIcon_1.ClanChat_inClanChat = false; // L: 3730 - } + @ObfuscatedName("io") + @ObfuscatedSignature( + descriptor = "(IIIIIII)V", + garbageValue = "1502126569" + ) + static final void method199(int var0, int var1, int var2, int var3, int var4, int var5) { + int var6 = var2 - var0; + int var7 = var3 - var1; + int var8 = var6 >= 0 ? var6 : -var6; + int var9 = var7 >= 0 ? var7 : -var7; + int var10 = var8; + if (var8 < var9) { + var10 = var9; + } - } // L: 3732 + if (var10 != 0) { + int var11 = (var6 << 16) / var10; + int var12 = (var7 << 16) / var10; + if (var12 <= var11) { + var11 = -var11; + } else { + var12 = -var12; + } + + int var13 = var5 * var12 >> 17; + int var14 = var5 * var12 + 1 >> 17; + int var15 = var5 * var11 >> 17; + int var16 = var5 * var11 + 1 >> 17; + var0 -= Rasterizer2D.Rasterizer2D_xClipStart; + var1 -= Rasterizer2D.Rasterizer2D_yClipStart; + int var17 = var0 + var13; + int var18 = var0 - var14; + int var19 = var0 + var6 - var14; + int var20 = var0 + var13 + var6; + int var21 = var15 + var1; + int var22 = var1 - var16; + int var23 = var7 + var1 - var16; + int var24 = var7 + var15 + var1; + Rasterizer3D.method3237(var17, var18, var19); + Rasterizer3D.method3179(var21, var22, var23, var17, var18, var19, var4); + Rasterizer3D.method3237(var17, var19, var20); + Rasterizer3D.method3179(var21, var23, var24, var17, var19, var20, var4); + } + } + + @ObfuscatedName("kn") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZI)Ljava/lang/String;", + garbageValue = "408357083" + ) + static String method209(String var0, boolean var1) { + String var2 = var1 ? "https://" : "http://"; + if (Client.gameBuild == 1) { + var0 = var0 + "-wtrc"; + } else if (Client.gameBuild == 2) { + var0 = var0 + "-wtqa"; + } else if (Client.gameBuild == 3) { + var0 = var0 + "-wtwip"; + } else if (Client.gameBuild == 5) { + var0 = var0 + "-wti"; + } else if (Client.gameBuild == 4) { + var0 = "local"; + } + + String var3 = ""; + if (AccessFile.field4100 != null) { + var3 = "/p=" + AccessFile.field4100; + } + + String var4 = "runescape.com"; + return var2 + var0 + "." + var4 + "/l=" + NPCComposition.clientLanguage + "/a=" + ItemLayer.field1562 + var3 + "/"; + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java index 98b420aa74..f8c92d879d 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferOwnWorldComparator.java @@ -1,66 +1,174 @@ import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("be") +@ObfuscatedName("bu") @Implements("GrandExchangeOfferOwnWorldComparator") public class GrandExchangeOfferOwnWorldComparator implements Comparator { - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "Llc;" - ) - static Bounds field643; - @ObfuscatedName("h") - @Export("filterWorlds") - boolean filterWorlds; + @ObfuscatedName("ny") + @ObfuscatedGetter( + intValue = -1660740811 + ) + static int field656; + @ObfuscatedName("n") + @Export("filterWorlds") + boolean filterWorlds; - GrandExchangeOfferOwnWorldComparator() { - } // L: 11252 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;I)I", + garbageValue = "2015971420" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + if (var2.world == var1.world) { + return 0; + } else { + if (this.filterWorlds) { + if (Client.worldId == var1.world) { + return -1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;B)I", - garbageValue = "-7" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - if (var2.world == var1.world) { // L: 11255 - return 0; - } else { - if (this.filterWorlds) { // L: 11256 - if (Client.worldId == var1.world) { // L: 11257 - return -1; - } + if (var2.world == Client.worldId) { + return 1; + } + } - if (var2.world == Client.worldId) { // L: 11258 - return 1; - } - } + return var1.world < var2.world ? -1 : 1; + } + } - return var1.world < var2.world ? -1 : 1; // L: 11260 - } - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); // L: 11264 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 11268 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIB)I", + garbageValue = "1" + ) + static int method1375(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return -1; + } else { + return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;II)V", - garbageValue = "-812111829" - ) - static final void method1359(String var0, int var1) { - PacketBufferNode var2 = ItemContainer.getPacketBufferNode(ClientPacket.field2292, Client.packetWriter.isaacCipher); // L: 252 - var2.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var0) + 1); // L: 253 - var2.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 254 - var2.packetBuffer.method5569(var1); // L: 255 - Client.packetWriter.addNode(var2); // L: 256 - } // L: 257 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "2139827308" + ) + public static boolean method1366() { + ReflectionCheck var0 = (ReflectionCheck)class105.reflectionChecks.last(); + return var0 != null; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(ILig;IIIZI)V", + garbageValue = "1340227558" + ) + public static void method1376(int var0, AbstractArchive var1, int var2, int var3, int var4, boolean var5) { + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = var1; + class206.musicTrackGroupId = var2; + SoundSystem.musicTrackFileId = var3; + DevicePcmPlayerProvider.musicTrackVolume = var4; + class206.musicTrackBoolean = var5; + class7.pcmSampleLength = var0; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IZI)Ljava/lang/String;", + garbageValue = "147453853" + ) + @Export("intToString") + public static String intToString(int var0, boolean var1) { + if (var1 && var0 >= 0) { + int var3 = var0; + String var2; + if (var1 && var0 >= 0) { + int var4 = 2; + + for(int var5 = var0 / 10; var5 != 0; ++var4) { + var5 /= 10; + } + + char[] var6 = new char[var4]; + var6[0] = '+'; + + for(int var7 = var4 - 1; var7 > 0; --var7) { + int var8 = var3; + var3 /= 10; + int var9 = var8 - var3 * 10; + if (var9 >= 10) { + var6[var7] = (char)(var9 + 87); + } else { + var6[var7] = (char)(var9 + 48); + } + } + + var2 = new String(var6); + } else { + var2 = Integer.toString(var0, 10); + } + + return var2; + } else { + return Integer.toString(var0); + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-1311209187" + ) + @Export("Login_promptCredentials") + static void Login_promptCredentials(boolean var0) { + Login.Login_response1 = ""; + Login.Login_response2 = "Enter your username/email & password."; + Login.Login_response3 = ""; + Login.loginIndex = 2; + if (var0) { + Login.Login_password = ""; + } + + class248.method4514(); + class8.method88(); + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "([BII)I", + garbageValue = "-1467177624" + ) + public static int method1380(byte[] var0, int var1) { + return Player.method1317(var0, 0, var1); + } + + @ObfuscatedName("kh") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1869683138" + ) + static void method1378(Buffer var0) { + if (Client.randomDatData != null) { + var0.writeBytes(Client.randomDatData, 0, Client.randomDatData.length); + } else { + byte[] var1 = Projectile.method2260(); + var0.writeBytes(var1, 0, var1.length); + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java index f3d059d4bd..b6be4de061 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferTotalQuantityComparator.java @@ -1,53 +1,115 @@ import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("b") +@ObfuscatedName("f") @Implements("GrandExchangeOfferTotalQuantityComparator") final class GrandExchangeOfferTotalQuantityComparator implements Comparator { - @ObfuscatedName("bn") - static String field75; - @ObfuscatedName("fc") - @ObfuscatedSignature( - descriptor = "Lku;" - ) - @Export("fontBold12") - static Font fontBold12; - @ObfuscatedName("gw") - @Export("regionLandArchiveIds") - static int[] regionLandArchiveIds; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -308294739 + ) + @Export("canvasWidth") + public static int canvasWidth; + @ObfuscatedName("lu") + @ObfuscatedGetter( + intValue = -1017040151 + ) + @Export("menuHeight") + static int menuHeight; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;B)I", - garbageValue = "5" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.totalQuantity < var2.grandExchangeOffer.totalQuantity ? -1 : (var2.grandExchangeOffer.totalQuantity == var1.grandExchangeOffer.totalQuantity ? 0 : 1); // L: 69 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;B)I", + garbageValue = "2" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.grandExchangeOffer.totalQuantity < var2.grandExchangeOffer.totalQuantity ? -1 : (var2.grandExchangeOffer.totalQuantity == var1.grandExchangeOffer.totalQuantity ? 0 : 1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); // L: 73 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 77 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1658797049" - ) - static final void method165(String var0) { - StringBuilder var10000 = new StringBuilder(); - Object var10001 = null; // L: 186 - var10000 = var10000.append("Please remove ").append(var0); - var10001 = null; - String var1 = var10000.append(" from your friend list first").toString(); - class234.addGameMessage(30, "", var1); // L: 188 - } // L: 190 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Lcl;", + garbageValue = "-37" + ) + @Export("getWorldMapScript") + static Script getWorldMapScript(int var0, int var1, int var2) { + int var3 = (var1 << 8) + var0; + Script var5 = class4.method46(var3, var0); + if (var5 != null) { + return var5; + } else { + int var6 = (var2 + '鱀' << 8) + var0; + var5 = class4.method46(var6, var0); + return var5 != null ? var5 : null; + } + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;II)V", + garbageValue = "1998828049" + ) + static final void method163(String var0, int var1) { + PacketBufferNode var2 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2252, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var0) + 1); + var2.packetBuffer.writeByte(var1); + var2.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var2); + } + + @ObfuscatedName("hl") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1940935635" + ) + static void method162(int var0, int var1) { + int var2 = ScriptEvent.fontBold12.stringWidth("Choose Option"); + + int var3; + int var4; + for(var3 = 0; var3 < Client.menuOptionsCount; ++var3) { + var4 = ScriptEvent.fontBold12.stringWidth(WorldMapLabel.method504(var3)); + if (var4 > var2) { + var2 = var4; + } + } + + var2 += 8; + var3 = Client.menuOptionsCount * 15 + 22; + var4 = var0 - var2 / 2; + if (var4 + var2 > canvasWidth) { + var4 = canvasWidth - var2; + } + + if (var4 < 0) { + var4 = 0; + } + + int var5 = var1; + if (var3 + var1 > class25.canvasHeight) { + var5 = class25.canvasHeight - var3; + } + + if (var5 < 0) { + var5 = 0; + } + + ApproximateRouteStrategy.menuX = var4; + AbstractUserComparator.menuY = var5; + CollisionMap.menuWidth = var2; + menuHeight = Client.menuOptionsCount * 15 + 22; + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java index ceb4604b4e..4a03877be0 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferUnitPriceComparator.java @@ -1,128 +1,136 @@ import java.util.Comparator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("r") +@ObfuscatedName("u") @Implements("GrandExchangeOfferUnitPriceComparator") final class GrandExchangeOfferUnitPriceComparator implements Comparator { - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("loginType") - static LoginType loginType; - @ObfuscatedName("do") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive9") - static Archive archive9; - @ObfuscatedName("dz") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive13") - static Archive archive13; - @ObfuscatedName("ha") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("mapMarkerSprites") - static SpritePixels[] mapMarkerSpritePixels; + @ObfuscatedName("rq") + @ObfuscatedGetter( + intValue = -1594877824 + ) + static int field102; + @ObfuscatedName("sh") + @ObfuscatedSignature( + descriptor = "Lmn;" + ) + @Export("platformInfo") + static PlatformInfo platformInfo; + @ObfuscatedName("go") + @ObfuscatedGetter( + intValue = -927718985 + ) + static int field103; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;I)I", - garbageValue = "1020581698" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.grandExchangeOffer.unitPrice < var2.grandExchangeOffer.unitPrice ? -1 : (var2.grandExchangeOffer.unitPrice == var1.grandExchangeOffer.unitPrice ? 0 : 1); // L: 43 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;B)I", + garbageValue = "57" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.grandExchangeOffer.unitPrice < var2.grandExchangeOffer.unitPrice ? -1 : (var2.grandExchangeOffer.unitPrice == var1.grandExchangeOffer.unitPrice ? 0 : 1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); // L: 47 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 51 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lhe;II)V", - garbageValue = "1825626795" - ) - @Export("Widget_setKeyIgnoreHeld") - static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { - if (var0.field2649 == null) { // L: 936 - throw new RuntimeException(); // L: 937 - } else { - if (var0.field2684 == null) { // L: 939 - var0.field2684 = new int[var0.field2649.length]; // L: 940 - } + @ObfuscatedName("if") + @ObfuscatedSignature( + descriptor = "(Lbk;IIII)V", + garbageValue = "1420045659" + ) + @Export("addPlayerToMenu") + static final void addPlayerToMenu(Player var0, int var1, int var2, int var3) { + if (UserComparator9.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 = UserComparator9.localPlayer.combatLevel; + int var9 = var8 - var7; + String var6; + if (var9 < -9) { + var6 = FileSystem.colorStartTag(16711680); + } else if (var9 < -6) { + var6 = FileSystem.colorStartTag(16723968); + } else if (var9 < -3) { + var6 = FileSystem.colorStartTag(16740352); + } else if (var9 < 0) { + var6 = FileSystem.colorStartTag(16756736); + } else if (var9 > 9) { + var6 = FileSystem.colorStartTag(65280); + } else if (var9 > 6) { + var6 = FileSystem.colorStartTag(4259584); + } else if (var9 > 3) { + var6 = FileSystem.colorStartTag(8453888); + } else if (var9 > 0) { + var6 = FileSystem.colorStartTag(12648192); + } else { + var6 = FileSystem.colorStartTag(16776960); + } - var0.field2684[var1] = Integer.MAX_VALUE; // L: 942 - } - } // L: 943 + 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]; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-613147121" - ) - static int method200(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1041 - if (var0 == ScriptOpcodes.CC_GETSCROLLX) { // L: 1042 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollX; // L: 1043 - return 1; // L: 1044 - } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { // L: 1046 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollY; // L: 1047 - return 1; // L: 1048 - } else if (var0 == ScriptOpcodes.CC_GETTEXT) { // L: 1050 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; // L: 1051 - return 1; // L: 1052 - } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { // L: 1054 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollWidth; // L: 1055 - return 1; // L: 1056 - } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { // L: 1058 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollHeight; // L: 1059 - return 1; // L: 1060 - } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { // L: 1062 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelZoom; // L: 1063 - return 1; // L: 1064 - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { // L: 1066 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleX; // L: 1067 - return 1; // L: 1068 - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { // L: 1070 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleZ; // L: 1071 - return 1; // L: 1072 - } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { // L: 1074 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleY; // L: 1075 - return 1; // L: 1076 - } else if (var0 == ScriptOpcodes.CC_GETTRANSTOP) { // L: 1078 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.transparencyTop; // L: 1079 - return 1; // L: 1080 - } else if (var0 == ScriptOpcodes.CC_GETTRANSBOT) { // L: 1082 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.transparencyBot; // L: 1083 - return 1; // L: 1084 - } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { // L: 1086 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.color; // L: 1087 - return 1; // L: 1088 - } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { // L: 1090 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.color2; // L: 1091 - return 1; // L: 1092 - } else if (var0 == ScriptOpcodes.CC_GETFILLMODE) { // L: 1094 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); // L: 1095 - return 1; // L: 1096 - } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { // L: 1098 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; // L: 1099 - return 1; // L: 1100 - } else { - return 2; // L: 1102 - } - } + int var10; + if (Client.isItemSelected == 1) { + WorldMapManager.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FileSystem.colorStartTag(16777215) + var4, 14, var1, var2, var3); + } else if (Client.isSpellSelected) { + if ((GrandExchangeOfferNameComparator.selectedSpellFlags & 8) == 8) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FileSystem.colorStartTag(16777215) + var4, 15, var1, var2, var3); + } + } else { + for(var10 = 7; var10 >= 0; --var10) { + if (Client.playerMenuActions[var10] != null) { + short var11 = 0; + if (Client.playerMenuActions[var10].equalsIgnoreCase("Attack")) { + if (AttackOption.AttackOption_hidden == Client.playerAttackOption) { + continue; + } + + if (Client.playerAttackOption == AttackOption.AttackOption_alwaysRightClick || Client.playerAttackOption == AttackOption.AttackOption_dependsOnCombatLevels && var0.combatLevel > UserComparator9.localPlayer.combatLevel) { + var11 = 2000; + } + + if (UserComparator9.localPlayer.team != 0 && var0.team != 0) { + if (var0.team == UserComparator9.localPlayer.team) { + var11 = 2000; + } else { + var11 = 0; + } + } + } else if (Client.playerOptionsPriorities[var10]) { + var11 = 2000; + } + + boolean var12 = false; + var7 = Client.playerMenuOpcodes[var10] + var11; + WorldMapManager.insertMenuItemNoShift(Client.playerMenuActions[var10], FileSystem.colorStartTag(16777215) + var4, var7, var1, var2, var3); + } + } + } + + for(var10 = 0; var10 < Client.menuOptionsCount; ++var10) { + if (Client.menuOpcodes[var10] == 23) { + Client.menuTargets[var10] = FileSystem.colorStartTag(16777215) + var4; + break; + } + } + + } + } + } } diff --git a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java index 77412fb8f5..57f4dca50e 100644 --- a/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java +++ b/runescape-client/src/main/java/GrandExchangeOfferWorldComparator.java @@ -3,34 +3,428 @@ 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("i") +@ObfuscatedName("k") @Implements("GrandExchangeOfferWorldComparator") final class GrandExchangeOfferWorldComparator implements Comparator { - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("Widget_modelsArchive") - public static AbstractArchive Widget_modelsArchive; - @ObfuscatedName("i") - static int[][][] field52; + @ObfuscatedName("ha") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("mapMarkerSprites") + static SpritePixels[] mapMarkerSprites; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(La;La;I)I", - garbageValue = "684314758" - ) - @Export("compare_bridged") - int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { - return var1.world < var2.world ? -1 : (var2.world == var1.world ? 0 : 1); // L: 28 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lx;Lx;I)I", + garbageValue = "1040047906" + ) + @Export("compare_bridged") + int compare_bridged(GrandExchangeEvent var1, GrandExchangeEvent var2) { + return var1.world < var2.world ? -1 : (var2.world == var1.world ? 0 : 1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); // L: 32 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 36 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((GrandExchangeEvent)var1, (GrandExchangeEvent)var2); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lby;IB)V", + garbageValue = "-24" + ) + @Export("runScript") + static void runScript(ScriptEvent var0, int var1) { + Object[] var2 = var0.args; + Script var3; + int var17; + if (AbstractArchive.isWorldMapEvent(var0.type)) { + Interpreter.worldMapEvent = (WorldMapEvent)var2[0]; + WorldMapElement var4 = InvDefinition.WorldMapElement_get(Interpreter.worldMapEvent.mapElement); + var3 = GrandExchangeOfferTotalQuantityComparator.getWorldMapScript(var0.type, var4.objectId, var4.category); + } else { + var17 = (Integer)var2[0]; + var3 = Varcs.getScript(var17); + } + + if (var3 != null) { + Interpreter.Interpreter_intStackSize = 0; + Interpreter.Interpreter_stringStackSize = 0; + var17 = -1; + int[] var5 = var3.opcodes; + int[] var6 = var3.intOperands; + byte var7 = -1; + Interpreter.Interpreter_frameDepth = 0; + Interpreter.field1120 = false; + + try { + int var10; + try { + Interpreter.Interpreter_intLocals = new int[var3.localIntCount]; + int var8 = 0; + class349.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; + } + + class349.Interpreter_stringLocals[var9++] = var18; + } + } + + var10 = 0; + Interpreter.field1123 = var0.field593; + + while(true) { + ++var10; + if (var10 > var1) { + throw new RuntimeException(); + } + + ++var17; + int var29 = var5[var17]; + int var20; + if (var29 >= 100) { + boolean var32; + if (var3.intOperands[var17] == 1) { + var32 = true; + } else { + var32 = false; + } + + var20 = class304.method5507(var29, var3, var32); + switch(var20) { + case 0: + return; + case 1: + default: + break; + case 2: + throw new IllegalStateException(); + } + } else if (var29 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6[var17]; + } else if (var29 == ScriptOpcodes.GET_VARP) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Varps.Varps_main[var11]; + } else if (var29 == ScriptOpcodes.SET_VARP) { + var11 = var6[var17]; + Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + AbstractWorldMapIcon.changeGameOptions(var11); + } else if (var29 == ScriptOpcodes.SCONST) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.stringOperands[var17]; + } else if (var29 == ScriptOpcodes.JUMP) { + var17 += var6[var17]; + } else if (var29 == ScriptOpcodes.IF_ICMPNE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] != Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPEQ) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] == Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPLT) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] < Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGT) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] > Interpreter.Interpreter_intStack[Interpreter.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; + class349.Interpreter_stringLocals = var34.stringLocals; + } else if (var29 == ScriptOpcodes.GET_VARBIT) { + var11 = var6[var17]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = FontName.getVarbit(var11); + } else if (var29 == ScriptOpcodes.SET_VARBIT) { + var11 = var6[var17]; + WorldMapIcon_1.method377(var11, Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.IF_ICMPLE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] <= Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.IF_ICMPGE) { + Interpreter.Interpreter_intStackSize -= 2; + if (Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] >= Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]) { + var17 += var6[var17]; + } + } else if (var29 == ScriptOpcodes.ILOAD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.Interpreter_intLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.ISTORE) { + Interpreter.Interpreter_intLocals[var6[var17]] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + } else if (var29 == ScriptOpcodes.SLOAD) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class349.Interpreter_stringLocals[var6[var17]]; + } else if (var29 == ScriptOpcodes.SSTORE) { + class349.Interpreter_stringLocals[var6[var17]] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + } else if (var29 == ScriptOpcodes.JOIN_STRING) { + var11 = var6[var17]; + Interpreter.Interpreter_stringStackSize -= var11; + String var31 = WorldMapSection0.method311(Interpreter.Interpreter_stringStack, Interpreter.Interpreter_stringStackSize, var11); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var31; + } else if (var29 == ScriptOpcodes.POP_INT) { + --Interpreter.Interpreter_intStackSize; + } else if (var29 == ScriptOpcodes.POP_STRING) { + --Interpreter.Interpreter_stringStackSize; + } else { + int var15; + if (var29 != ScriptOpcodes.INVOKE) { + if (var29 == ScriptOpcodes.GET_VARC_INT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOffer.varcs.getInt(var6[var17]); + } else if (var29 == ScriptOpcodes.SET_VARC_INT) { + GrandExchangeOffer.varcs.setInt(var6[var17], Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else if (var29 == ScriptOpcodes.DEFINE_ARRAY) { + var11 = var6[var17] >> 16; + var20 = var6[var17] & '\uffff'; + int var21 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var21 < 0 || var21 > 5000) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrayLengths[var11] = var21; + byte var22 = -1; + if (var20 == 105) { + var22 = 0; + } + + for(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[--Interpreter.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.Interpreter_arrays[var11][var20]; + } else if (var29 == ScriptOpcodes.SET_ARRAY_INT) { + var11 = var6[var17]; + Interpreter.Interpreter_intStackSize -= 2; + var20 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (var20 < 0 || var20 >= Interpreter.Interpreter_arrayLengths[var11]) { + throw new RuntimeException(); + } + + Interpreter.Interpreter_arrays[var11][var20] = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + } else if (var29 == ScriptOpcodes.GET_VARC_STRING_OLD) { + var18 = GrandExchangeOffer.varcs.getStringOld(var6[var17]); + if (var18 == null) { + var18 = "null"; + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING_OLD) { + GrandExchangeOffer.varcs.setStringOld(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + } else if (var29 == ScriptOpcodes.GET_VARC_STRING) { + var18 = GrandExchangeOffer.varcs.getString(var6[var17]); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var18; + } else if (var29 == ScriptOpcodes.SET_VARC_STRING) { + GrandExchangeOffer.varcs.setString(var6[var17], Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); + } else { + if (var29 != ScriptOpcodes.SWITCH) { + throw new IllegalStateException(); + } + + IterableNodeHashTable var33 = var3.switches[var6[var17]]; + IntegerNode var30 = (IntegerNode)var33.get((long)Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var30 != null) { + var17 += var30.integer; + } + } + } else { + var11 = var6[var17]; + Script var12 = Varcs.getScript(var11); + int[] var13 = new int[var12.localIntCount]; + String[] var14 = new String[var12.localStringCount]; + + for(var15 = 0; var15 < var12.intArgumentCount; ++var15) { + var13[var15] = Interpreter.Interpreter_intStack[var15 + (Interpreter.Interpreter_intStackSize - var12.intArgumentCount)]; + } + + for(var15 = 0; var15 < var12.stringArgumentCount; ++var15) { + var14[var15] = Interpreter.Interpreter_stringStack[var15 + (Interpreter.Interpreter_stringStackSize - var12.stringArgumentCount)]; + } + + Interpreter.Interpreter_intStackSize -= var12.intArgumentCount; + Interpreter.Interpreter_stringStackSize -= var12.stringArgumentCount; + ScriptFrame var19 = new ScriptFrame(); + var19.script = var3; + var19.pc = var17; + var19.intLocals = Interpreter.Interpreter_intLocals; + var19.stringLocals = class349.Interpreter_stringLocals; + Interpreter.Interpreter_frames[++Interpreter.Interpreter_frameDepth - 1] = var19; + var3 = var12; + var5 = var12.opcodes; + var6 = var12.intOperands; + var17 = -1; + Interpreter.Interpreter_intLocals = var13; + class349.Interpreter_stringLocals = var14; + } + } + } + } catch (Exception var27) { + StringBuilder var24 = new StringBuilder(30); + var24.append("").append(var3.key).append(" "); + + for(var10 = Interpreter.Interpreter_frameDepth - 1; var10 >= 0; --var10) { + var24.append("").append(Interpreter.Interpreter_frames[var10].script.key).append(" "); + } + + var24.append("").append(var7); + SequenceDefinition.RunException_sendStackTrace(var24.toString(), var27); + } + } finally { + if (Interpreter.field1120) { + Interpreter.field1122 = true; + ModeWhere.method3878(); + Interpreter.field1122 = false; + Interpreter.field1120 = false; + } + + } + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "([BI)V", + garbageValue = "1834161075" + ) + @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) { + ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; + } else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) { + ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; + } else { + if (ByteArrayPool.ByteArrayPool_arrays != null) { + for(int var1 = 0; var1 < TriBool.ByteArrayPool_alternativeSizes.length; ++var1) { + if (var0.length == TriBool.ByteArrayPool_alternativeSizes[var1] && class225.ByteArrayPool_altSizeArrayCounts[var1] < ByteArrayPool.ByteArrayPool_arrays[var1].length) { + ByteArrayPool.ByteArrayPool_arrays[var1][class225.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; + return; + } + } + } + + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-508854974" + ) + public static final void method137(int var0, int var1) { + ViewportMouse.ViewportMouse_x = var0; + ViewportMouse.ViewportMouse_y = var1; + ViewportMouse.ViewportMouse_isInViewport = true; + ViewportMouse.ViewportMouse_entityCount = 0; + ViewportMouse.ViewportMouse_false0 = false; + } + + @ObfuscatedName("w") + static final void method129(long var0) { + ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var0; + } + + @ObfuscatedName("jl") + @ObfuscatedSignature( + descriptor = "(Lhz;I)Z", + garbageValue = "441552279" + ) + @Export("runCs1") + static final boolean runCs1(Widget var0) { + if (var0.cs1Comparisons == null) { + return false; + } else { + for(int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { + int var2 = HealthBar.method2168(var0, var1); + int var3 = var0.cs1ComparisonValues[var1]; + if (var0.cs1Comparisons[var1] == 2) { + if (var2 >= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 3) { + if (var2 <= var3) { + return false; + } + } else if (var0.cs1Comparisons[var1] == 4) { + if (var2 == var3) { + return false; + } + } else if (var3 != var2) { + return false; + } + } + + return true; + } + } } diff --git a/runescape-client/src/main/java/GraphicsDefaults.java b/runescape-client/src/main/java/GraphicsDefaults.java index 8090b9d7c7..4c479d8799 100644 --- a/runescape-client/src/main/java/GraphicsDefaults.java +++ b/runescape-client/src/main/java/GraphicsDefaults.java @@ -4,115 +4,101 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ln") +@ObfuscatedName("lv") @Implements("GraphicsDefaults") public class GraphicsDefaults { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1044001765 - ) - @Export("compass") - public int compass; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1859262069 - ) - public int field3845; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1603018569 - ) - @Export("mapScenes") - public int mapScenes; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1068647141 - ) - @Export("headIconsPk") - public int headIconsPk; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1862152703 - ) - public int field3844; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1527226929 - ) - public int field3843; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1238390891 - ) - public int field3846; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1222732897 - ) - public int field3847; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1053374165 - ) - public int field3848; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -295744595 - ) - public int field3849; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -406039943 - ) - public int field3850; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1297483725 + ) + @Export("compass") + public int compass = -1; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1189696731 + ) + public int field3847 = -1; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -189041471 + ) + @Export("mapScenes") + public int mapScenes = -1; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 326124555 + ) + @Export("headIconsPk") + public int headIconsPk = -1; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1371228557 + ) + public int field3838 = -1; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1164105375 + ) + public int field3843 = -1; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -981893847 + ) + public int field3839 = -1; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1322267677 + ) + public int field3845 = -1; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 357472757 + ) + public int field3846 = -1; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1091910485 + ) + public int field3840 = -1; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -20558633 + ) + public int field3848 = -1; - public GraphicsDefaults() { - this.compass = -1; // L: 7 - this.field3845 = -1; // L: 8 - this.mapScenes = -1; // L: 9 - this.headIconsPk = -1; // L: 10 - this.field3844 = -1; // L: 11 - this.field3843 = -1; // L: 12 - this.field3846 = -1; // L: 13 - this.field3847 = -1; // L: 14 - this.field3848 = -1; // L: 15 - this.field3849 = -1; // L: 16 - this.field3850 = -1; // L: 17 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;I)V", + garbageValue = "-1311104999" + ) + @Export("decode") + public void decode(AbstractArchive var1) { + byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3837.group); + Buffer var3 = new Buffer(var2); - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;B)V", - garbageValue = "-1" - ) - @Export("decode") - public void decode(AbstractArchive var1) { - byte[] var2 = var1.takeFileFlat(DefaultsGroup.field3839.group); // L: 20 - Buffer var3 = new Buffer(var2); // L: 21 + while(true) { + int var4 = var3.readUnsignedByte(); + if (var4 == 0) { + return; + } - while (true) { - int var4 = var3.readUnsignedByte(); // L: 23 - if (var4 == 0) { // L: 24 - return; // L: 51 - } - - switch(var4) { // L: 25 - case 1: - var3.readMedium(); // L: 31 - break; // L: 32 - case 2: - this.compass = var3.method5559(); // L: 36 - this.field3845 = var3.method5559(); // L: 37 - this.mapScenes = var3.method5559(); // L: 38 - this.headIconsPk = var3.method5559(); // L: 39 - this.field3844 = var3.method5559(); // L: 40 - this.field3843 = var3.method5559(); // L: 41 - this.field3846 = var3.method5559(); // L: 42 - this.field3847 = var3.method5559(); // L: 43 - this.field3848 = var3.method5559(); // L: 44 - this.field3849 = var3.method5559(); // L: 45 - this.field3850 = var3.method5559(); // L: 46 - } - } - } + switch(var4) { + case 1: + var3.readMedium(); + break; + case 2: + this.compass = var3.method5833(); + this.field3847 = var3.method5833(); + this.mapScenes = var3.method5833(); + this.headIconsPk = var3.method5833(); + this.field3838 = var3.method5833(); + this.field3843 = var3.method5833(); + this.field3839 = var3.method5833(); + this.field3845 = var3.method5833(); + this.field3846 = var3.method5833(); + this.field3840 = var3.method5833(); + this.field3848 = var3.method5833(); + } + } + } } diff --git a/runescape-client/src/main/java/GraphicsObject.java b/runescape-client/src/main/java/GraphicsObject.java index 39dfdb58ae..aa63e6f285 100644 --- a/runescape-client/src/main/java/GraphicsObject.java +++ b/runescape-client/src/main/java/GraphicsObject.java @@ -1,171 +1,202 @@ +import java.io.File; +import java.io.RandomAccessFile; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ce") +@ObfuscatedName("cj") @Implements("GraphicsObject") -public final class GraphicsObject extends Renderable -{ - @ObfuscatedName("a") - public static String[] field1117; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1733253917 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -561629891 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 843078799 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -391213595 - ) - @Export("plane") - int plane; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1438235689 - ) - @Export("x") - int x; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 697288519 - ) - @Export("height") - int height; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Ljy;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -737281837 - ) - @Export("frame") - int frame; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -2023288775 - ) - @Export("frameCycle") - int frameCycle; - @ObfuscatedName("z") - @Export("isFinished") - boolean isFinished; +public final class GraphicsObject extends Renderable { + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 910565899 + ) + @Export("loginBoxCenter") + static int loginBoxCenter; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1864450081 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 505711675 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1431922107 + ) + @Export("plane") + int plane; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1205773017 + ) + @Export("x") + int x; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Ljs;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -2064393717 + ) + @Export("y") + int y; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1686573995 + ) + @Export("height") + int height; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1959033933 + ) + @Export("frame") + int frame = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 230901949 + ) + @Export("frameCycle") + int frameCycle = 0; + @ObfuscatedName("l") + @Export("isFinished") + boolean isFinished = false; - GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - this.frame = 0; // L: 16 - this.frameCycle = 0; // L: 17 - this.isFinished = false; // L: 18 - this.id = var1; // L: 21 - this.plane = var2; // L: 22 - this.x = var3; // L: 23 - this.y = var4; // L: 24 - this.height = var5; // L: 25 - this.cycleStart = var7 + var6; // L: 26 - int var8 = TileItem.SpotAnimationDefinition_get(this.id).sequence; // L: 27 - if (var8 != -1) { // L: 28 - this.isFinished = false; // L: 29 - this.sequenceDefinition = ParamComposition.SequenceDefinition_get(var8); // L: 30 - } else { - this.isFinished = true; // L: 32 - } + GraphicsObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + this.id = var1; + this.plane = var2; + this.x = var3; + this.y = var4; + this.height = var5; + this.cycleStart = var7 + var6; + int var8 = AbstractUserComparator.SpotAnimationDefinition_get(this.id).sequence; + if (var8 != -1) { + this.isFinished = false; + this.sequenceDefinition = InterfaceParent.SequenceDefinition_get(var8); + } else { + this.isFinished = true; + } - } // L: 33 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1007700617" - ) - @Export("advance") - final void advance(int var1) { - if (!this.isFinished) { // L: 36 - this.frameCycle += var1; // L: 37 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-83388372" + ) + @Export("advance") + final void advance(int var1) { + if (!this.isFinished) { + this.frameCycle += var1; - while (this.frameCycle > this.sequenceDefinition.frameLengths[this.frame]) { // L: 38 - this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; // L: 39 - ++this.frame; // L: 40 - if (this.frame >= this.sequenceDefinition.frameIds.length) { // L: 41 - this.isFinished = true; // L: 42 - break; - } - } + 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; + } + } - } - } // L: 46 + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = TileItem.SpotAnimationDefinition_get(this.id); // L: 49 - Model var2; - if (!this.isFinished) { // L: 51 - var2 = var1.getModel(this.frame); - } else { - var2 = var1.getModel(-1); // L: 52 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = AbstractUserComparator.SpotAnimationDefinition_get(this.id); + Model var2; + if (!this.isFinished) { + var2 = var1.getModel(this.frame); + } else { + var2 = var1.getModel(-1); + } - return var2 == null ? null : var2; // L: 53 - } + return var2 == null ? null : var2; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "14" - ) - public static void method2090() { - synchronized(KeyHandler.KeyHandler_instance) { // L: 164 - ++KeyHandler.KeyHandler_idleCycles; // L: 165 - KeyHandler.field415 = KeyHandler.field417; // L: 166 - KeyHandler.field414 = 0; // L: 167 - int var1; - if (KeyHandler.field410 < 0) { // L: 168 - for (var1 = 0; var1 < 112; ++var1) { // L: 169 - KeyHandler.KeyHandler_pressedKeys[var1] = false; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-531258942" + ) + public static boolean method2153(int var0) { + return var0 >= WorldMapDecorationType.field2765.id && var0 <= WorldMapDecorationType.field2750.id || var0 == WorldMapDecorationType.field2760.id; + } - KeyHandler.field410 = KeyHandler.field401; // L: 170 - } else { - while (KeyHandler.field401 != KeyHandler.field410) { // L: 173 - var1 = KeyHandler.field408[KeyHandler.field401]; // L: 174 - KeyHandler.field401 = KeyHandler.field401 + 1 & 127; // L: 175 - if (var1 < 0) { // L: 176 - KeyHandler.KeyHandler_pressedKeys[~var1] = false; - } else { - if (!KeyHandler.KeyHandler_pressedKeys[var1] && KeyHandler.field414 < KeyHandler.field413.length - 1) { // L: 178 - KeyHandler.field413[++KeyHandler.field414 - 1] = var1; // L: 179 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)Ljava/io/File;", + garbageValue = "0" + ) + @Export("getFile") + static File getFile(String var0) { + if (!FileSystem.FileSystem_hasPermissions) { + throw new RuntimeException(""); + } else { + File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); + if (var1 != null) { + return var1; + } else { + File var2 = new File(FileSystem.FileSystem_cacheDir, var0); + RandomAccessFile var3 = null; - KeyHandler.KeyHandler_pressedKeys[var1] = true; // L: 181 - } - } - } + try { + File var4 = new File(var2.getParent()); + if (!var4.exists()) { + throw new RuntimeException(""); + } else { + var3 = new RandomAccessFile(var2, "rw"); + int var5 = var3.read(); + var3.seek(0L); + var3.write(var5); + var3.seek(0L); + var3.close(); + FileSystem.FileSystem_cacheFiles.put(var0, var2); + return var2; + } + } catch (Exception var8) { + try { + if (var3 != null) { + var3.close(); + var3 = null; + } + } catch (Exception var7) { + ; + } - if (KeyHandler.field414 > 0) { // L: 185 - KeyHandler.KeyHandler_idleCycles = 0; - } + throw new RuntimeException(); + } + } + } + } - KeyHandler.field417 = KeyHandler.field419; // L: 186 - } - } // L: 188 + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "(ILhd;ZI)V", + garbageValue = "956374800" + ) + static void method2154(int var0, Coord var1, boolean var2) { + WorldMapArea var3 = WorldMapSection0.getWorldMap().getMapArea(var0); + int var4 = UserComparator9.localPlayer.plane; + int var5 = GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7); + int var6 = NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7); + Coord var7 = new Coord(var4, var5, var6); + WorldMapSection0.getWorldMap().method6536(var3, var7, var1, var2); + } } diff --git a/runescape-client/src/main/java/HealthBar.java b/runescape-client/src/main/java/HealthBar.java index d05bbbd0f4..926c60466e 100644 --- a/runescape-client/src/main/java/HealthBar.java +++ b/runescape-client/src/main/java/HealthBar.java @@ -1,100 +1,305 @@ +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cb") +@ObfuscatedName("cr") @Implements("HealthBar") public class HealthBar extends Node { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lie;" - ) - @Export("definition") - HealthBarDefinition definition; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Ljn;" - ) - @Export("updates") - IterableNodeDeque updates; + @ObfuscatedName("q") + public static short[] field1143; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lix;" + ) + @Export("definition") + HealthBarDefinition definition; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Ljv;" + ) + @Export("updates") + IterableNodeDeque updates = new IterableNodeDeque(); - @ObfuscatedSignature( - descriptor = "(Lie;)V" - ) - HealthBar(HealthBarDefinition var1) { - this.updates = new IterableNodeDeque(); // L: 12 - this.definition = var1; // L: 15 - } // L: 16 + @ObfuscatedSignature( + descriptor = "(Lix;)V" + ) + HealthBar(HealthBarDefinition var1) { + this.definition = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-1617546911" - ) - @Export("put") - void put(int var1, int var2, int var3, int var4) { - HealthBarUpdate var5 = null; // L: 19 - int var6 = 0; // L: 20 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "954576471" + ) + @Export("put") + void put(int var1, int var2, int var3, int var4) { + HealthBarUpdate var5 = null; + int var6 = 0; - for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) { // L: 21 - ++var6; // L: 22 - if (var7.cycle == var1) { // L: 23 - var7.set(var1, var2, var3, var4); // L: 24 - return; // L: 25 - } + for(HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) { + ++var6; + if (var7.cycle == var1) { + var7.set(var1, var2, var3, var4); + return; + } - if (var7.cycle <= var1) { - var5 = var7; // L: 27 - } - } + if (var7.cycle <= var1) { + var5 = var7; + } + } - if (var5 == null) { // L: 29 - if (var6 < 4) { // L: 30 - this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4)); - } + if (var5 == null) { + if (var6 < 4) { + this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4)); + } - } else { - IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5); // L: 33 - if (var6 >= 4) { - this.updates.last().remove(); // L: 34 - } + } else { + IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5); + if (var6 >= 4) { + this.updates.last().remove(); + } - } - } // L: 31 35 + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Lci;", - garbageValue = "241304774" - ) - @Export("get") - HealthBarUpdate get(int var1) { - HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); // L: 38 - if (var2 != null && var2.cycle <= var1) { // L: 39 - for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) { // L: 40 41 - var2.remove(); // L: 42 - var2 = var3; // L: 43 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Lcd;", + garbageValue = "-1228863072" + ) + @Export("get") + HealthBarUpdate get(int var1) { + HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); + if (var2 != null && var2.cycle <= var1) { + for(HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) { + var2.remove(); + var2 = var3; + } - if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) { // L: 47 - return var2; - } else { - var2.remove(); // L: 49 - return null; // L: 50 - } - } else { - return null; - } - } + if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) { + return var2; + } else { + var2.remove(); + return null; + } + } else { + return null; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "127" - ) - @Export("isEmpty") - boolean isEmpty() { - return this.updates.method4840(); // L: 55 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-64" + ) + @Export("isEmpty") + boolean isEmpty() { + return this.updates.method5064(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(CI)Z", + garbageValue = "-391564902" + ) + @Export("isCharPrintable") + public static boolean isCharPrintable(char var0) { + if (var0 >= ' ' && var0 <= '~') { + return true; + } else if (var0 >= 160 && var0 <= 255) { + return true; + } else { + return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; + } + } + + @ObfuscatedName("ha") + @ObfuscatedSignature( + descriptor = "(ZS)V", + garbageValue = "2000" + ) + static final void method2166(boolean var0) { + UserComparator5.playPcmPlayers(); + ++Client.packetWriter.pendingWrites; + if (Client.packetWriter.pendingWrites >= 50 || var0) { + Client.packetWriter.pendingWrites = 0; + if (!Client.field712 && Client.packetWriter.getSocket() != null) { + PacketBufferNode var1 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2305, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var1); + + try { + Client.packetWriter.flush(); + } catch (IOException var3) { + Client.field712 = true; + } + } + + } + } + + @ObfuscatedName("jp") + @ObfuscatedSignature( + descriptor = "(Lhz;II)I", + garbageValue = "110664163" + ) + static final int method2168(Widget var0, int var1) { + if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { + try { + int[] var2 = var0.cs1Instructions[var1]; + int var3 = 0; + int var4 = 0; + byte var5 = 0; + + while(true) { + int var6 = var2[var4++]; + int var7 = 0; + byte var8 = 0; + if (var6 == 0) { + return var3; + } + + if (var6 == 1) { + var7 = Client.currentLevels[var2[var4++]]; + } + + if (var6 == 2) { + var7 = Client.levels[var2[var4++]]; + } + + if (var6 == 3) { + var7 = Client.experience[var2[var4++]]; + } + + int var9; + Widget var10; + int var11; + int var12; + if (var6 == 4) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = class237.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!class281.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for(var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 += var10.itemQuantities[var12]; + } + } + } + } + + if (var6 == 5) { + var7 = Varps.Varps_main[var2[var4++]]; + } + + if (var6 == 6) { + var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; + } + + if (var6 == 7) { + var7 = Varps.Varps_main[var2[var4++]] * 100 / '뜛'; + } + + if (var6 == 8) { + var7 = UserComparator9.localPlayer.combatLevel; + } + + if (var6 == 9) { + for(var9 = 0; var9 < 25; ++var9) { + if (Skills.Skills_enabled[var9]) { + var7 += Client.levels[var9]; + } + } + } + + if (var6 == 10) { + var9 = var2[var4++] << 16; + var9 += var2[var4++]; + var10 = class237.getWidget(var9); + var11 = var2[var4++]; + if (var11 != -1 && (!class281.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { + for(var12 = 0; var12 < var10.itemIds.length; ++var12) { + if (var11 + 1 == var10.itemIds[var12]) { + var7 = 999999999; + break; + } + } + } + } + + if (var6 == 11) { + var7 = Client.runEnergy; + } + + if (var6 == 12) { + var7 = Client.weight; + } + + if (var6 == 13) { + var9 = Varps.Varps_main[var2[var4++]]; + int var13 = var2[var4++]; + var7 = (var9 & 1 << var13) != 0 ? 1 : 0; + } + + if (var6 == 14) { + var9 = var2[var4++]; + var7 = FontName.getVarbit(var9); + } + + if (var6 == 15) { + var8 = 1; + } + + if (var6 == 16) { + var8 = 2; + } + + if (var6 == 17) { + var8 = 3; + } + + if (var6 == 18) { + var7 = GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7); + } + + if (var6 == 19) { + var7 = NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7); + } + + if (var6 == 20) { + var7 = var2[var4++]; + } + + if (var8 == 0) { + if (var5 == 0) { + var3 += var7; + } + + if (var5 == 1) { + var3 -= var7; + } + + if (var5 == 2 && var7 != 0) { + var3 /= var7; + } + + if (var5 == 3) { + var3 *= var7; + } + + var5 = 0; + } else { + var5 = var8; + } + } + } catch (Exception var14) { + return -1; + } + } else { + return -2; + } + } } diff --git a/runescape-client/src/main/java/HealthBarDefinition.java b/runescape-client/src/main/java/HealthBarDefinition.java index dae8870752..9332fae3ba 100644 --- a/runescape-client/src/main/java/HealthBarDefinition.java +++ b/runescape-client/src/main/java/HealthBarDefinition.java @@ -4,440 +4,212 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ie") +@ObfuscatedName("ix") @Implements("HealthBarDefinition") public class HealthBarDefinition extends DualNode { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("HitSplatDefinition_spritesArchive") - static AbstractArchive HitSplatDefinition_spritesArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("HealthBarDefinition_cached") - static EvictingDualNodeHashTable HealthBarDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("HealthBarDefinition_cachedSprites") - static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 109126469 - ) - public int field3313; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1820061899 - ) - @Export("int1") - public int int1; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1380273031 - ) - @Export("int2") - public int int2; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 731318801 - ) - @Export("int3") - public int int3; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1947446505 - ) - public int field3307; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1974124525 - ) - @Export("int5") - public int int5; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1776540411 - ) - @Export("frontSpriteID") - int frontSpriteID; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1196473375 - ) - @Export("backSpriteID") - int backSpriteID; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -244272845 - ) - @Export("width") - public int width; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1111051827 - ) - @Export("widthPadding") - public int widthPadding; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("HealthBarDefinition_archive") + public static AbstractArchive HealthBarDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("HitSplatDefinition_spritesArchive") + static AbstractArchive HitSplatDefinition_spritesArchive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("HealthBarDefinition_cached") + public static EvictingDualNodeHashTable HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("HealthBarDefinition_cachedSprites") + static EvictingDualNodeHashTable HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1428765275 + ) + public int field3312; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1329120235 + ) + @Export("int1") + public int int1 = 255; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1633626953 + ) + @Export("int2") + public int int2 = 255; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -747398397 + ) + @Export("int3") + public int int3 = -1; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1355792235 + ) + public int field3316 = 1; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1028657953 + ) + @Export("int5") + public int int5 = 70; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1103221155 + ) + @Export("frontSpriteID") + int frontSpriteID = -1; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -369560549 + ) + @Export("backSpriteID") + int backSpriteID = -1; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1152543359 + ) + @Export("width") + public int width = 30; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -784760261 + ) + @Export("widthPadding") + public int widthPadding = 0; - static { - HealthBarDefinition_cached = new EvictingDualNodeHashTable(64); // L: 14 - HealthBarDefinition_cachedSprites = new EvictingDualNodeHashTable(64); // L: 15 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "0" + ) + @Export("decode") + public void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - HealthBarDefinition() { - this.int1 = 255; // L: 19 - this.int2 = 255; // L: 20 - this.int3 = -1; // L: 21 - this.field3307 = 1; // L: 22 - this.int5 = 70; // L: 23 - this.frontSpriteID = -1; // L: 24 - this.backSpriteID = -1; // L: 25 - this.width = 30; // L: 26 - this.widthPadding = 0; // L: 27 - } // L: 29 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "72" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 48 - if (var2 == 0) { // L: 49 - return; // L: 52 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-782651668" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + var1.readUnsignedShort(); + } else if (var2 == 2) { + this.int1 = var1.readUnsignedByte(); + } else if (var2 == 3) { + this.int2 = var1.readUnsignedByte(); + } else if (var2 == 4) { + this.int3 = 0; + } else if (var2 == 5) { + this.int5 = var1.readUnsignedShort(); + } else if (var2 == 6) { + var1.readUnsignedByte(); + } else if (var2 == 7) { + this.frontSpriteID = var1.method5833(); + } else if (var2 == 8) { + this.backSpriteID = var1.method5833(); + } else if (var2 == 11) { + this.int3 = var1.readUnsignedShort(); + } else if (var2 == 14) { + this.width = var1.readUnsignedByte(); + } else if (var2 == 15) { + this.widthPadding = var1.readUnsignedByte(); + } - this.decodeNext(var1, var2); // L: 50 - } - } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "37" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 55 - var1.readUnsignedShort(); // L: 56 - } else if (var2 == 2) { // L: 58 - this.int1 = var1.readUnsignedByte(); - } else if (var2 == 3) { // L: 59 - this.int2 = var1.readUnsignedByte(); - } else if (var2 == 4) { // L: 60 - this.int3 = 0; - } else if (var2 == 5) { - this.int5 = var1.readUnsignedShort(); // L: 61 - } else if (var2 == 6) { // L: 62 - var1.readUnsignedByte(); - } else if (var2 == 7) { - this.frontSpriteID = var1.method5559(); - } else if (var2 == 8) { - this.backSpriteID = var1.method5559(); - } else if (var2 == 11) { - this.int3 = var1.readUnsignedShort(); - } else if (var2 == 14) { - this.width = var1.readUnsignedByte(); - } else if (var2 == 15) { - this.widthPadding = var1.readUnsignedByte(); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)Llm;", + garbageValue = "1655597886" + ) + @Export("getFrontSprite") + public SpritePixels getFrontSprite() { + if (this.frontSpriteID < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HealthBarDefinition_cachedSprites.get((long)this.frontSpriteID); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); + } - } + return var1; + } + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)Llm;", - garbageValue = "-1946834755" - ) - @Export("getFrontSprite") - public SpritePixels getFrontSprite() { - if (this.frontSpriteID < 0) { // L: 74 - return null; - } else { - SpritePixels var1 = (SpritePixels)HealthBarDefinition_cachedSprites.get((long)this.frontSpriteID); - if (var1 != null) { - return var1; - } else { - var1 = Skills.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.frontSpriteID, 0); - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.frontSpriteID); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Llm;", + garbageValue = "-211707789" + ) + @Export("getBackSprite") + public SpritePixels getBackSprite() { + if (this.backSpriteID < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HealthBarDefinition_cachedSprites.get((long)this.backSpriteID); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); + if (var1 != null) { + HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); + } - return var1; // L: 80 - } - } - } + return var1; + } + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(S)Llm;", - garbageValue = "-8563" - ) - @Export("getBackSprite") - public SpritePixels getBackSprite() { - if (this.backSpriteID < 0) { // L: 84 - return null; - } else { - SpritePixels var1 = (SpritePixels)HealthBarDefinition_cachedSprites.get((long)this.backSpriteID); // L: 85 - if (var1 != null) { - return var1; // L: 86 - } else { - var1 = Skills.SpriteBuffer_getSprite(HitSplatDefinition_spritesArchive, this.backSpriteID, 0); // L: 87 - if (var1 != null) { - HealthBarDefinition_cachedSprites.put(var1, (long)this.backSpriteID); // L: 88 - } + @ObfuscatedName("n") + public static double method4658(double var0, double var2, double var4) { + double var8 = (var0 - var2) / var4; + double var6 = Math.exp(-var8 * var8 / 2.0D) / Math.sqrt(6.283185307179586D); + return var6 / var4; + } - return var1; // L: 90 - } - } - } + @ObfuscatedName("hy") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1201121058" + ) + static final boolean method4677(int var0) { + if (var0 < 0) { + return false; + } else { + int var1 = Client.menuOpcodes[var0]; + if (var1 >= 2000) { + var1 -= 2000; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-231667488" - ) - @Export("changeWorldSelectSorting") - static void changeWorldSelectSorting(int var0, int var1) { - int[] var2 = new int[4]; // L: 63 - int[] var3 = new int[4]; // L: 64 - var2[0] = var0; // L: 65 - var3[0] = var1; // L: 66 - int var4 = 1; // L: 67 - - for (int var5 = 0; var5 < 4; ++var5) { // L: 68 - if (World.World_sortOption1[var5] != var0) { // L: 69 - var2[var4] = World.World_sortOption1[var5]; // L: 70 - var3[var4] = World.World_sortOption2[var5]; // L: 71 - ++var4; // L: 72 - } - } - - World.World_sortOption1 = var2; // L: 75 - World.World_sortOption2 = var3; // L: 76 - ChatChannel.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); // L: 77 - } // L: 78 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IZB)Ljava/lang/String;", - garbageValue = "20" - ) - @Export("intToString") - public static String intToString(int var0, boolean var1) { - if (var1 && var0 >= 0) { // L: 110 - int var3 = var0; // L: 112 - String var2; - if (var1 && var0 >= 0) { // L: 115 - int var4 = 2; // L: 119 - - for (int var5 = var0 / 10; var5 != 0; ++var4) { // L: 120 121 123 - var5 /= 10; // L: 122 - } - - char[] var6 = new char[var4]; // L: 125 - var6[0] = '+'; // L: 126 - - for (int var7 = var4 - 1; var7 > 0; --var7) { // L: 127 - int var8 = var3; // L: 128 - var3 /= 10; // L: 129 - int var9 = var8 - var3 * 10; // L: 130 - if (var9 >= 10) { // L: 131 - var6[var7] = (char)(var9 + 87); - } else { - var6[var7] = (char)(var9 + 48); // L: 132 - } - } - - var2 = new String(var6); // L: 134 - } else { - var2 = Integer.toString(var0, 10); // L: 116 - } - - return var2; // L: 136 - } else { - return Integer.toString(var0); - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "46" - ) - public static void method4509() { - HitSplatDefinition.HitSplatDefinition_cached.clear(); // L: 177 - HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); // L: 178 - HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); // L: 179 - } // L: 180 - - @ObfuscatedName("jo") - @ObfuscatedSignature( - descriptor = "(Lhe;IS)I", - garbageValue = "128" - ) - static final int method4512(Widget var0, int var1) { - if (var0.cs1Instructions != null && var1 < var0.cs1Instructions.length) { // L: 9606 - try { - int[] var2 = var0.cs1Instructions[var1]; // L: 9608 - int var3 = 0; // L: 9609 - int var4 = 0; // L: 9610 - byte var5 = 0; // L: 9611 - - while (true) { - int var6 = var2[var4++]; // L: 9613 - int var7 = 0; // L: 9614 - byte var8 = 0; // L: 9615 - if (var6 == 0) { // L: 9616 - return var3; - } - - if (var6 == 1) { // L: 9617 - var7 = Client.currentLevels[var2[var4++]]; - } - - if (var6 == 2) { // L: 9618 - var7 = Client.levels[var2[var4++]]; - } - - if (var6 == 3) { // L: 9619 - var7 = Client.experience[var2[var4++]]; - } - - int var9; - Widget var10; - int var11; - int var12; - if (var6 == 4) { // L: 9620 - var9 = var2[var4++] << 16; // L: 9621 - var9 += var2[var4++]; // L: 9622 - var10 = CollisionMap.getWidget(var9); // L: 9623 - var11 = var2[var4++]; // L: 9624 - if (var11 != -1 && (!SecureRandomCallable.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { // L: 9625 - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { // L: 9626 - if (var11 + 1 == var10.itemIds[var12]) { // L: 9627 - var7 += var10.itemQuantities[var12]; - } - } - } - } - - if (var6 == 5) { // L: 9631 - var7 = Varps.Varps_main[var2[var4++]]; - } - - if (var6 == 6) { // L: 9632 - var7 = Skills.Skills_experienceTable[Client.levels[var2[var4++]] - 1]; - } - - if (var6 == 7) { // L: 9633 - var7 = Varps.Varps_main[var2[var4++]] * 100 / 46875; - } - - if (var6 == 8) { // L: 9634 - var7 = PlayerComposition.localPlayer.combatLevel; - } - - if (var6 == 9) { // L: 9635 - for (var9 = 0; var9 < 25; ++var9) { // L: 9636 - if (Skills.Skills_enabled[var9]) { // L: 9637 - var7 += Client.levels[var9]; - } - } - } - - if (var6 == 10) { // L: 9640 - var9 = var2[var4++] << 16; // L: 9641 - var9 += var2[var4++]; // L: 9642 - var10 = CollisionMap.getWidget(var9); // L: 9643 - var11 = var2[var4++]; // L: 9644 - if (var11 != -1 && (!SecureRandomCallable.ItemDefinition_get(var11).isMembersOnly || Client.isMembersWorld)) { // L: 9645 - for (var12 = 0; var12 < var10.itemIds.length; ++var12) { // L: 9646 - if (var11 + 1 == var10.itemIds[var12]) { // L: 9647 - var7 = 999999999; // L: 9648 - break; // L: 9649 - } - } - } - } - - if (var6 == 11) { // L: 9654 - var7 = Client.runEnergy; - } - - if (var6 == 12) { // L: 9655 - var7 = Client.weight; - } - - if (var6 == 13) { // L: 9656 - var9 = Varps.Varps_main[var2[var4++]]; // L: 9657 - int var13 = var2[var4++]; // L: 9658 - var7 = (var9 & 1 << var13) != 0 ? 1 : 0; // L: 9659 - } - - if (var6 == 14) { // L: 9661 - var9 = var2[var4++]; // L: 9662 - var7 = Coord.getVarbit(var9); // L: 9663 - } - - if (var6 == 15) { // L: 9665 - var8 = 1; - } - - if (var6 == 16) { // L: 9666 - var8 = 2; - } - - if (var6 == 17) { // L: 9667 - var8 = 3; - } - - if (var6 == 18) { // L: 9668 - var7 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; - } - - if (var6 == 19) { // L: 9669 - var7 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; - } - - if (var6 == 20) { // L: 9670 - var7 = var2[var4++]; - } - - if (var8 == 0) { // L: 9671 - if (var5 == 0) { // L: 9672 - var3 += var7; - } - - if (var5 == 1) { // L: 9673 - var3 -= var7; - } - - if (var5 == 2 && var7 != 0) { // L: 9674 - var3 /= var7; - } - - if (var5 == 3) { // L: 9675 - var3 *= var7; - } - - var5 = 0; // L: 9676 - } else { - var5 = var8; // L: 9678 - } - } - } catch (Exception var14) { // L: 9681 - return -1; // L: 9682 - } - } else { - return -2; - } - } + return var1 == 1007; + } + } } diff --git a/runescape-client/src/main/java/HealthBarUpdate.java b/runescape-client/src/main/java/HealthBarUpdate.java index 72890660f9..ae7d092c50 100644 --- a/runescape-client/src/main/java/HealthBarUpdate.java +++ b/runescape-client/src/main/java/HealthBarUpdate.java @@ -4,131 +4,108 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ci") +@ObfuscatedName("cd") @Implements("HealthBarUpdate") public class HealthBarUpdate extends Node { - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 942035737 - ) - @Export("musicTrackGroupId") - static int musicTrackGroupId; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1928856017 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 187911795 - ) - @Export("health") - int health; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1933333849 - ) - @Export("health2") - int health2; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -280255585 - ) - @Export("cycleOffset") - int cycleOffset; + @ObfuscatedName("se") + @ObfuscatedSignature( + descriptor = "Lio;" + ) + public static class248 field1016; + @ObfuscatedName("id") + @ObfuscatedGetter( + intValue = -871307957 + ) + @Export("oculusOrbFocalPointX") + static int oculusOrbFocalPointX; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1783692297 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2047753623 + ) + @Export("health") + int health; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1943828551 + ) + @Export("health2") + int health2; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1709538301 + ) + @Export("cycleOffset") + int cycleOffset; - HealthBarUpdate(int var1, int var2, int var3, int var4) { - this.cycle = var1; // L: 12 - this.health = var2; // L: 13 - this.health2 = var3; // L: 14 - this.cycleOffset = var4; // L: 15 - } // L: 16 + HealthBarUpdate(int var1, int var2, int var3, int var4) { + this.cycle = var1; + this.health = var2; + this.health2 = var3; + this.cycleOffset = var4; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "2048204816" - ) - @Export("set") - void set(int var1, int var2, int var3, int var4) { - this.cycle = var1; // L: 19 - this.health = var2; // L: 20 - this.health2 = var3; // L: 21 - this.cycleOffset = var4; // L: 22 - } // L: 23 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "72" + ) + @Export("set") + void set(int var1, int var2, int var3, int var4) { + this.cycle = var1; + this.health = var2; + this.health2 = var3; + this.cycleOffset = var4; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Lie;", - garbageValue = "-68" - ) - public static HealthBarDefinition method1826(int var0) { - HealthBarDefinition var1 = (HealthBarDefinition)HealthBarDefinition.HealthBarDefinition_cached.get((long)var0); // L: 37 - if (var1 != null) { // L: 38 - return var1; - } else { - byte[] var2 = class225.HealthBarDefinition_archive.takeFile(33, var0); // L: 39 - var1 = new HealthBarDefinition(); // L: 40 - if (var2 != null) { // L: 41 - var1.decode(new Buffer(var2)); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/String;[SB)V", + garbageValue = "1" + ) + public static void method1873(String[] var0, short[] var1) { + AbstractSocket.sortItemsByName(var0, var1, 0, var0.length - 1); + } - HealthBarDefinition.HealthBarDefinition_cached.put(var1, (long)var0); // L: 42 - return var1; // L: 43 - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Lij;", + garbageValue = "-64" + ) + @Export("getInvDefinition") + public static InvDefinition getInvDefinition(int var0) { + InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); + var1 = new InvDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "307117656" - ) - static int method1823(int var0) { - return (int)Math.pow(2.0D, (double)((float)var0 / 256.0F + 7.0F)); // L: 3259 - } + InvDefinition.InvDefinition_cached.put(var1, (long)var0); + return var1; + } + } - @ObfuscatedName("kc") - @ObfuscatedSignature( - descriptor = "(Lhe;I)Z", - garbageValue = "-1439133446" - ) - static final boolean method1825(Widget var0) { - int var1 = var0.contentType; // L: 10843 - if (var1 == 205) { // L: 10844 - Client.logoutTimer = 250; // L: 10845 - return true; // L: 10846 - } else { - int var2; - int var3; - if (var1 >= 300 && var1 <= 313) { // L: 10848 - var2 = (var1 - 300) / 2; // L: 10849 - var3 = var1 & 1; // L: 10850 - Client.playerComposition.changeAppearance(var2, var3 == 1); // L: 10851 - } - - if (var1 >= 314 && var1 <= 323) { // L: 10853 - var2 = (var1 - 314) / 2; // L: 10854 - var3 = var1 & 1; // L: 10855 - Client.playerComposition.method4043(var2, var3 == 1); // L: 10856 - } - - if (var1 == 324) { - Client.playerComposition.changeSex(false); // L: 10858 - } - - if (var1 == 325) { // L: 10859 - Client.playerComposition.changeSex(true); - } - - if (var1 == 326) { // L: 10860 - PacketBufferNode var4 = ItemContainer.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); // L: 10862 - Client.playerComposition.write(var4.packetBuffer); // L: 10863 - Client.packetWriter.addNode(var4); // L: 10864 - return true; // L: 10865 - } else { - return false; // L: 10867 - } - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-698681386" + ) + @Export("Messages_getLastChatID") + static int Messages_getLastChatID(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; + } + } } diff --git a/runescape-client/src/main/java/HitSplatDefinition.java b/runescape-client/src/main/java/HitSplatDefinition.java index e570c01fc5..7486ea3180 100644 --- a/runescape-client/src/main/java/HitSplatDefinition.java +++ b/runescape-client/src/main/java/HitSplatDefinition.java @@ -4,412 +4,456 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("je") +@ObfuscatedName("jz") @Implements("HitSplatDefinition") public class HitSplatDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("HitSplatDefinition_archive") - static AbstractArchive HitSplatDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - static AbstractArchive field3354; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("HitSplatDefinition_fontsArchive") - static AbstractArchive HitSplatDefinition_fontsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("HitSplatDefinition_cached") - static EvictingDualNodeHashTable HitSplatDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("HitSplatDefinition_cachedSprites") - static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("HitSplatDefinition_cachedFonts") - static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1754036089 - ) - @Export("fontId") - int fontId; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1663131013 - ) - @Export("textColor") - public int textColor; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1159651447 - ) - public int field3364; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1831454563 - ) - int field3365; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1646147789 - ) - int field3366; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -507901103 - ) - int field3355; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1836001377 - ) - int field3358; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 662254573 - ) - public int field3377; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1128487265 - ) - public int field3353; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1126942193 - ) - public int field3378; - @ObfuscatedName("g") - String field3370; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1216299051 - ) - public int field3373; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 423501575 - ) - public int field3374; - @ObfuscatedName("k") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -518228965 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 1219592321 - ) - @Export("transformVarp") - int transformVarp; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("HitSplatDefinition_archive") + static AbstractArchive HitSplatDefinition_archive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("HitSplatDefinition_fontsArchive") + static AbstractArchive HitSplatDefinition_fontsArchive; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("HitSplatDefinition_cached") + static EvictingDualNodeHashTable HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("HitSplatDefinition_cachedSprites") + static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("HitSplatDefinition_cachedFonts") + static EvictingDualNodeHashTable HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1737800845 + ) + @Export("fontId") + int fontId = -1; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1895359321 + ) + @Export("textColor") + public int textColor = 16777215; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1681619933 + ) + public int field3364 = 70; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -334206497 + ) + int field3365 = -1; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 54312143 + ) + int field3366 = -1; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1316651061 + ) + int field3367 = -1; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -2079925537 + ) + int field3372 = -1; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -2039546161 + ) + public int field3378 = 0; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 74632649 + ) + public int field3370 = 0; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -854871663 + ) + public int field3371 = -1; + @ObfuscatedName("p") + String field3358 = ""; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1999046971 + ) + public int field3375 = -1; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1539092209 + ) + public int field3368 = 0; + @ObfuscatedName("o") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -979456213 + ) + @Export("transformVarbit") + int transformVarbit = -1; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -351254549 + ) + @Export("transformVarp") + int transformVarp = -1; - static { - HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64); - HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1255296319" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - HitSplatDefinition() { - this.fontId = -1; - this.textColor = 16777215; // L: 27 - this.field3364 = 70; // L: 28 - this.field3365 = -1; // L: 29 - this.field3366 = -1; // L: 30 - this.field3355 = -1; // L: 31 - this.field3358 = -1; // L: 32 - this.field3377 = 0; // L: 33 - this.field3353 = 0; // L: 34 - this.field3378 = -1; // L: 35 - this.field3370 = ""; // L: 36 - this.field3373 = -1; // L: 37 - this.field3374 = 0; // L: 38 - this.transformVarbit = -1; // L: 40 - this.transformVarp = -1; // L: 41 - } // L: 43 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "-46" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 63 - if (var2 == 0) { // L: 64 - return; // L: 67 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "12" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.fontId = var1.method5833(); + } else if (var2 == 2) { + this.textColor = var1.readMedium(); + } else if (var2 == 3) { + this.field3365 = var1.method5833(); + } else if (var2 == 4) { + this.field3367 = var1.method5833(); + } else if (var2 == 5) { + this.field3366 = var1.method5833(); + } else if (var2 == 6) { + this.field3372 = var1.method5833(); + } else if (var2 == 7) { + this.field3378 = var1.readShort(); + } else if (var2 == 8) { + this.field3358 = var1.readStringCp1252NullCircumfixed(); + } else if (var2 == 9) { + this.field3364 = var1.readUnsignedShort(); + } else if (var2 == 10) { + this.field3370 = var1.readShort(); + } else if (var2 == 11) { + this.field3371 = 0; + } else if (var2 == 12) { + this.field3375 = var1.readUnsignedByte(); + } else if (var2 == 13) { + this.field3368 = var1.readShort(); + } else if (var2 == 14) { + this.field3371 = var1.readUnsignedShort(); + } else if (var2 == 17 || var2 == 18) { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } - this.decodeNext(var1, var2); // L: 65 - } - } + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "19" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 70 - this.fontId = var1.method5559(); - } else if (var2 == 2) { // L: 71 - this.textColor = var1.readMedium(); - } else if (var2 == 3) { // L: 72 - this.field3365 = var1.method5559(); - } else if (var2 == 4) { // L: 73 - this.field3355 = var1.method5559(); - } else if (var2 == 5) { // L: 74 - this.field3366 = var1.method5559(); - } else if (var2 == 6) { // L: 75 - this.field3358 = var1.method5559(); - } else if (var2 == 7) { // L: 76 - this.field3377 = var1.readShort(); - } else if (var2 == 8) { // L: 77 - this.field3370 = var1.readStringCp1252NullCircumfixed(); - } else if (var2 == 9) { // L: 78 - this.field3364 = var1.readUnsignedShort(); - } else if (var2 == 10) { // L: 79 - this.field3353 = var1.readShort(); - } else if (var2 == 11) { // L: 80 - this.field3378 = 0; - } else if (var2 == 12) { // L: 81 - this.field3373 = var1.readUnsignedByte(); - } else if (var2 == 13) { // L: 82 - this.field3374 = var1.readShort(); - } else if (var2 == 14) { - this.field3378 = var1.readUnsignedShort(); // L: 83 - } else if (var2 == 17 || var2 == 18) { // L: 84 - this.transformVarbit = var1.readUnsignedShort(); // L: 85 - if (this.transformVarbit == 65535) { // L: 86 - this.transformVarbit = -1; - } + int var3 = -1; + if (var2 == 18) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } - this.transformVarp = var1.readUnsignedShort(); // L: 87 - if (this.transformVarp == 65535) { // L: 88 - this.transformVarp = -1; - } + int var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; - int var3 = -1; // L: 89 - if (var2 == 18) { // L: 90 - var3 = var1.readUnsignedShort(); // L: 91 - if (var3 == 65535) { // L: 92 - var3 = -1; - } - } + for(int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } - int var4 = var1.readUnsignedByte(); // L: 94 - this.transforms = new int[var4 + 2]; // L: 95 + this.transforms[var4 + 1] = var3; + } - for (int var5 = 0; var5 <= var4; ++var5) { // L: 96 - this.transforms[var5] = var1.readUnsignedShort(); // L: 97 - if (this.transforms[var5] == 65535) { // L: 98 - this.transforms[var5] = -1; - } - } + } - this.transforms[var4 + 1] = var3; // L: 100 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Ljz;", + garbageValue = "-718809763" + ) + @Export("transform") + public final HitSplatDefinition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = FontName.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - } // L: 103 + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(B)Lje;", - garbageValue = "-127" - ) - @Export("transform") - public final HitSplatDefinition transform() { - int var1 = -1; // L: 106 - if (this.transformVarbit != -1) { // L: 107 - var1 = Coord.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { // L: 108 - var1 = Varps.Varps_main[this.transformVarp]; - } + return var2 != -1 ? ScriptFrame.method1222(var2) : null; + } - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { // L: 110 - var2 = this.transforms[var1]; // L: 111 - } else { - var2 = this.transforms[this.transforms.length - 1]; - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)Ljava/lang/String;", + garbageValue = "1367111183" + ) + @Export("getString") + public String getString(int var1) { + String var2 = this.field3358; - return var2 != -1 ? class198.method3697(var2) : null; // L: 112 113 - } + while(true) { + int var3 = var2.indexOf("%1"); + if (var3 < 0) { + return var2; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "-1302541631" - ) - @Export("getString") - public String getString(int var1) { - String var2 = this.field3370; // L: 117 + var2 = var2.substring(0, var3) + GrandExchangeOfferOwnWorldComparator.intToString(var1, false) + var2.substring(var3 + 2); + } + } - while (true) { - int var3 = var2.indexOf("%1"); // L: 119 - if (var3 < 0) { // L: 120 - return var2; // L: 123 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)Llm;", + garbageValue = "-1595522971" + ) + public SpritePixels method4764() { + if (this.field3365 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3365); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(Frames.field1904, this.field3365, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3365); + } - var2 = var2.substring(0, var3) + HealthBarDefinition.intToString(var1, false) + var2.substring(var3 + 2); // L: 121 - } - } + return var1; + } + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Llm;", - garbageValue = "-1476611889" - ) - public SpritePixels method4583() { - if (this.field3365 < 0) { // L: 127 - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3365); // L: 128 - if (var1 != null) { // L: 129 - return var1; - } else { - var1 = Skills.SpriteBuffer_getSprite(field3354, this.field3365, 0); // L: 130 - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3365); // L: 131 - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)Llm;", + garbageValue = "49" + ) + public SpritePixels method4770() { + if (this.field3366 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3366); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(Frames.field1904, this.field3366, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3366); + } - return var1; // L: 133 - } - } - } + return var1; + } + } + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Llm;", - garbageValue = "809304727" - ) - public SpritePixels method4578() { - if (this.field3366 < 0) { // L: 137 - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3366); // L: 138 - if (var1 != null) { // L: 139 - return var1; - } else { - var1 = Skills.SpriteBuffer_getSprite(field3354, this.field3366, 0); // L: 140 - if (var1 != null) { // L: 141 - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3366); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)Llm;", + garbageValue = "1511725830" + ) + public SpritePixels method4769() { + if (this.field3367 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3367); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(Frames.field1904, this.field3367, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3367); + } - return var1; // L: 143 - } - } - } + return var1; + } + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Llm;", - garbageValue = "644601071" - ) - public SpritePixels method4587() { - if (this.field3355 < 0) { // L: 147 - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3355); // L: 148 - if (var1 != null) { - return var1; // L: 149 - } else { - var1 = Skills.SpriteBuffer_getSprite(field3354, this.field3355, 0); // L: 150 - if (var1 != null) { - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3355); // L: 151 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Llm;", + garbageValue = "-2138481070" + ) + public SpritePixels method4766() { + if (this.field3372 < 0) { + return null; + } else { + SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3372); + if (var1 != null) { + return var1; + } else { + var1 = BufferedSource.SpriteBuffer_getSprite(Frames.field1904, this.field3372, 0); + if (var1 != null) { + HitSplatDefinition_cachedSprites.put(var1, (long)this.field3372); + } - return var1; // L: 153 - } - } - } + return var1; + } + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(S)Llm;", - garbageValue = "500" - ) - public SpritePixels method4585() { - if (this.field3358 < 0) { // L: 157 - return null; - } else { - SpritePixels var1 = (SpritePixels)HitSplatDefinition_cachedSprites.get((long)this.field3358); // L: 158 - if (var1 != null) { - return var1; // L: 159 - } else { - var1 = Skills.SpriteBuffer_getSprite(field3354, this.field3358, 0); // L: 160 - if (var1 != null) { // L: 161 - HitSplatDefinition_cachedSprites.put(var1, (long)this.field3358); - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)Lkl;", + garbageValue = "1442657906" + ) + @Export("getFont") + public Font getFont() { + if (this.fontId == -1) { + return null; + } else { + Font var1 = (Font)HitSplatDefinition_cachedFonts.get((long)this.fontId); + if (var1 != null) { + return var1; + } else { + AbstractArchive var3 = Frames.field1904; + AbstractArchive var4 = HitSplatDefinition_fontsArchive; + int var5 = this.fontId; + byte[] var7 = var3.takeFile(var5, 0); + boolean var6; + if (var7 == null) { + var6 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var7); + var6 = true; + } - return var1; // L: 163 - } - } - } + Font var2; + if (!var6) { + var2 = null; + } else { + byte[] var8 = var4.takeFile(var5, 0); + Font var10; + if (var8 == null) { + var10 = null; + } else { + Font var9 = new Font(var8, class105.SpriteBuffer_xOffsets, class336.SpriteBuffer_yOffsets, class336.SpriteBuffer_spriteWidths, class225.SpriteBuffer_spriteHeights, HorizontalAlignment.SpriteBuffer_spritePalette, class2.SpriteBuffer_pixels); + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + var10 = var9; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(B)Lku;", - garbageValue = "0" - ) - @Export("getFont") - public Font getFont() { - if (this.fontId == -1) { // L: 167 - return null; - } else { - Font var1 = (Font)HitSplatDefinition_cachedFonts.get((long)this.fontId); // L: 168 - if (var1 != null) { // L: 169 - return var1; - } else { - var1 = PrivateChatMode.method5934(field3354, HitSplatDefinition_fontsArchive, this.fontId, 0); // L: 170 - if (var1 != null) { - HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId); // L: 171 - } + var2 = var10; + } - return var1; // L: 173 - } - } - } + if (var2 != null) { + HitSplatDefinition_cachedFonts.put(var2, (long)this.fontId); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIIIIIB)I", - garbageValue = "20" - ) - public static int method4612(int var0, int var1, int var2, int var3, int var4, int var5) { - if ((var5 & 1) == 1) { // L: 17 - int var6 = var3; // L: 18 - var3 = var4; // L: 19 - var4 = var6; // L: 20 - } + return var2; + } + } + } - var2 &= 3; // L: 22 - if (var2 == 0) { // L: 23 - return var0; - } else if (var2 == 1) { // L: 24 - return var1; - } else { - return var2 == 2 ? 7 - var0 - (var3 - 1) : 7 - var1 - (var4 - 1); // L: 25 26 - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + garbageValue = "1153896983" + ) + public static String method4768(CharSequence var0) { + return ReflectionCheck.method2449('*', var0.length()); + } + + @ObfuscatedName("ht") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-483129503" + ) + @Export("updateItemPile") + static final void updateItemPile(int var0, int var1) { + NodeDeque var2 = Client.groundItems[class90.Client_plane][var0][var1]; + if (var2 == null) { + MilliClock.scene.removeGroundItemPile(class90.Client_plane, var0, var1); + } else { + long var3 = -99999999L; + TileItem var5 = null; + + TileItem var6; + for(var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + ItemComposition var7 = class281.ItemDefinition_get(var6.id); + long var11 = (long)var7.price; + if (var7.isStackable == 1) { + var11 *= (long)(var6.quantity + 1); + } + + if (var11 > var3) { + var3 = var11; + var5 = var6; + } + } + + if (var5 == null) { + MilliClock.scene.removeGroundItemPile(class90.Client_plane, var0, var1); + } else { + var2.addLast(var5); + TileItem var13 = null; + TileItem var8 = null; + + for(var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { + if (var5.id != var6.id) { + if (var13 == null) { + var13 = var6; + } + + if (var6.id != var13.id && var8 == null) { + var8 = var6; + } + } + } + + long var9 = TextureProvider.calculateTag(var0, var1, 3, false, 0); + MilliClock.scene.newGroundItemPile(class90.Client_plane, var0, var1, WorldMapRegion.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, class90.Client_plane), var5, var9, var13, var8); + } + } + } } diff --git a/runescape-client/src/main/java/HorizontalAlignment.java b/runescape-client/src/main/java/HorizontalAlignment.java index 992a76edc9..306e044a86 100644 --- a/runescape-client/src/main/java/HorizontalAlignment.java +++ b/runescape-client/src/main/java/HorizontalAlignment.java @@ -1,3 +1,4 @@ +import java.util.Date; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; @@ -5,251 +6,239 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jt") +@ObfuscatedName("je") @Implements("HorizontalAlignment") public enum HorizontalAlignment implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljt;" - ) - field3490(2, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljt;" - ) - @Export("HorizontalAlignment_centered") - HorizontalAlignment_centered(1, 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Ljt;" - ) - field3491(0, 2); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lje;" + ) + field3494(0, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lje;" + ) + @Export("HorizontalAlignment_centered") + HorizontalAlignment_centered(2, 1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lje;" + ) + field3490(1, 2); - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1422973227 - ) - @Export("value") - public final int value; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 2073239653 - ) - @Export("id") - final int id; + @ObfuscatedName("e") + @Export("SpriteBuffer_spritePalette") + public static int[] SpriteBuffer_spritePalette; + @ObfuscatedName("jf") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("hoveredItemContainer") + static Widget hoveredItemContainer; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1851733283 + ) + @Export("value") + public final int value; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1519018517 + ) + @Export("id") + final int id; - HorizontalAlignment(int var3, int var4) { - this.value = var3; // L: 14 - this.id = var4; // L: 15 - } // L: 16 + HorizontalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 19 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "(ILcs;ZB)I", - garbageValue = "4" - ) - static int method4729(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.WORLDLIST_FETCH) { // L: 3339 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = GrandExchangeEvent.loadWorlds() ? 1 : 0; // L: 3340 - return 1; // L: 3341 - } else { - World var9; - if (var0 == ScriptOpcodes.WORLDLIST_START) { // L: 3343 - var9 = class236.worldListStart(); // L: 3344 - if (var9 != null) { // L: 3345 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.id; // L: 3346 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.properties; // L: 3347 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; // L: 3348 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.location; // L: 3349 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.population; // L: 3350 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; // L: 3351 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3354 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3355 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3356 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3357 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3358 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3359 - } + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-2086152614" + ) + static int method4924(int var0, Script var1, boolean var2) { + String var3; + int var9; + if (var0 == ScriptOpcodes.APPEND_NUM) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var9; + return 1; + } else { + String var4; + if (var0 == ScriptOpcodes.APPEND) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + var4; + return 1; + } else if (var0 == ScriptOpcodes.APPEND_SIGNNUM) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + GrandExchangeOfferOwnWorldComparator.intToString(var9, true); + return 1; + } else if (var0 == ScriptOpcodes.LOWERCASE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toLowerCase(); + return 1; + } else { + int var6; + int var10; + if (var0 == ScriptOpcodes.FROMDATE) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + long var13 = ((long)var10 + 11745L) * 86400000L; + Interpreter.Interpreter_calendar.setTime(new Date(var13)); + var6 = Interpreter.Interpreter_calendar.get(5); + int var17 = Interpreter.Interpreter_calendar.get(2); + int var8 = Interpreter.Interpreter_calendar.get(1); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6 + "-" + Interpreter.Interpreter_MONTHS[var17] + "-" + var8; + return 1; + } else if (var0 != ScriptOpcodes.TEXT_GENDER) { + if (var0 == ScriptOpcodes.TOSTRING) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Integer.toString(var10); + return 1; + } else if (var0 == ScriptOpcodes.COMPARE) { + Interpreter.Interpreter_stringStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ServerPacket.method3810(User.compareStrings(Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize], Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1], NPCComposition.clientLanguage)); + return 1; + } else { + int var5; + byte[] var11; + Font var12; + if (var0 == ScriptOpcodes.PARAHEIGHT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var11 = CollisionMap.archive13.takeFile(var5, 0); + var12 = new Font(var11); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12.lineCount(var3, var9); + return 1; + } else if (var0 == ScriptOpcodes.PARAWIDTH) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var11 = CollisionMap.archive13.takeFile(var5, 0); + var12 = new Font(var11); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12.lineWidth(var3, var9); + return 1; + } else if (var0 == ScriptOpcodes.TEXT_SWITCH) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; + } - return 1; // L: 3361 - } else if (var0 == ScriptOpcodes.WORLDLIST_NEXT) { // L: 3363 - var9 = GrandExchangeEvents.getNextWorldListWorld(); // L: 3364 - if (var9 != null) { // L: 3365 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.id; // L: 3366 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.properties; // L: 3367 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.activity; // L: 3368 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.location; // L: 3369 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.population; // L: 3370 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.host; // L: 3371 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3374 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3375 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3376 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3377 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3378 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3379 - } + return 1; + } else if (var0 == ScriptOpcodes.ESCAPE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = AbstractFont.escapeBrackets(var3); + return 1; + } else if (var0 == ScriptOpcodes.APPEND_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3 + (char)var9; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISPRINTABLE) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = HealthBar.isCharPrintable((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHANUMERIC) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class225.isAlphaNumeric((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISALPHA) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class69.isCharAlphabetic((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CHAR_ISNUMERIC) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Strings.isDigit((char)var10) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STRING_LENGTH) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + if (var3 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.length(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } - return 1; // L: 3381 - } else { - int var3; - World var7; - int var8; - if (var0 == ScriptOpcodes.WORLDLIST_SPECIFIC) { // L: 3383 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3384 - var7 = null; // L: 3385 + return 1; + } else if (var0 == ScriptOpcodes.SUBSTRING) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.substring(var9, var5); + return 1; + } else if (var0 == ScriptOpcodes.REMOVETAGS) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + StringBuilder var15 = new StringBuilder(var3.length()); + boolean var16 = false; - for (var8 = 0; var8 < World.World_count; ++var8) { // L: 3386 - if (var3 == World.World_worlds[var8].id) { // L: 3387 - var7 = World.World_worlds[var8]; // L: 3388 - break; - } - } + for(var6 = 0; var6 < var3.length(); ++var6) { + char var7 = var3.charAt(var6); + if (var7 == '<') { + var16 = true; + } else if (var7 == '>') { + var16 = false; + } else if (!var16) { + var15.append(var7); + } + } - if (var7 != null) { // L: 3392 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.id; // L: 3393 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.properties; // L: 3394 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; // L: 3395 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.location; // L: 3396 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.population; // L: 3397 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; // L: 3398 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3401 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3402 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3403 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3404 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3405 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3406 - } + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var15.toString(); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_CHAR) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.indexOf(var9); + return 1; + } else if (var0 == ScriptOpcodes.STRING_INDEXOF_STRING) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.indexOf(var4, var5); + return 1; + } else if (var0 == ScriptOpcodes.UPPERCASE) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.toUpperCase(); + return 1; + } else { + return 2; + } + } + } else { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (UserComparator9.localPlayer.appearance != null && UserComparator9.localPlayer.appearance.isFemale) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + } - return 1; // L: 3408 - } else if (var0 == ScriptOpcodes.WORLDLIST_SORT) { // L: 3410 - VarcInt.Interpreter_intStackSize -= 4; // L: 3411 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3412 - boolean var10 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1] == 1; // L: 3413 - var8 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 3414 - boolean var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3] == 1; // L: 3415 - TaskHandler.sortWorldList(var3, var10, var8, var6); // L: 3416 - return 1; // L: 3417 - } else if (var0 != ScriptOpcodes.GETWORLDINFO) { // L: 3419 - if (var0 == ScriptOpcodes.SETFOLLOWEROPSLOWPRIORITY) { // L: 3440 - Client.followerOpsLowPriority = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 3441 - return 1; // L: 3442 - } else { - int var4; - ParamComposition var5; - if (var0 == ScriptOpcodes.NC_PARAM) { // L: 3444 - VarcInt.Interpreter_intStackSize -= 2; // L: 3445 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3446 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3447 - var5 = ChatChannel.getParamDefinition(var4); // L: 3448 - if (var5.isString()) { // L: 3449 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapIcon_0.getNpcDefinition(var3).getStringParam(var4, var5.defaultStr); // L: 3450 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = WorldMapIcon_0.getNpcDefinition(var3).getIntParam(var4, var5.defaultInt); // L: 3453 - } - - return 1; // L: 3455 - } else if (var0 == ScriptOpcodes.LC_PARAM) { // L: 3457 - VarcInt.Interpreter_intStackSize -= 2; // L: 3458 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3459 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3460 - var5 = ChatChannel.getParamDefinition(var4); // L: 3461 - if (var5.isString()) { // L: 3462 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapDecoration.getObjectDefinition(var3).getStringParam(var4, var5.defaultStr); // L: 3463 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = WorldMapDecoration.getObjectDefinition(var3).getIntParam(var4, var5.defaultInt); // L: 3466 - } - - return 1; // L: 3468 - } else if (var0 == ScriptOpcodes.OC_PARAM) { // L: 3470 - VarcInt.Interpreter_intStackSize -= 2; // L: 3471 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3472 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3473 - var5 = ChatChannel.getParamDefinition(var4); // L: 3474 - if (var5.isString()) { // L: 3475 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var3).getStringParam(var4, var5.defaultStr); // L: 3476 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var3).getIntParam(var4, var5.defaultInt); // L: 3479 - } - - return 1; // L: 3481 - } else if (var0 == ScriptOpcodes.STRUCT_PARAM) { // L: 3483 - VarcInt.Interpreter_intStackSize -= 2; // L: 3484 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3485 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3486 - var5 = ChatChannel.getParamDefinition(var4); // L: 3487 - if (var5.isString()) { // L: 3488 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = AbstractWorldMapIcon.StructDefinition_getStructDefinition(var3).getStringParam(var4, var5.defaultStr); // L: 3489 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = AbstractWorldMapIcon.StructDefinition_getStructDefinition(var3).getIntParam(var4, var5.defaultInt); // L: 3492 - } - - return 1; // L: 3494 - } else if (var0 == ScriptOpcodes.ON_MOBILE) { // L: 3496 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.onMobile ? 1 : 0; // L: 3497 - return 1; // L: 3498 - } else if (var0 == ScriptOpcodes.CLIENTTYPE) { // L: 3500 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.clientType & 3; // L: 3501 - return 1; // L: 3502 - } else if (var0 == 6520) { // L: 3504 - return 1; // L: 3505 - } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) { // L: 3507 - return 1; // L: 3508 - } else if (var0 == 6522) { // L: 3510 - --Interpreter.Interpreter_stringStackSize; // L: 3511 - --VarcInt.Interpreter_intStackSize; // L: 3512 - return 1; // L: 3513 - } else if (var0 == 6523) { // L: 3515 - --Interpreter.Interpreter_stringStackSize; // L: 3516 - --VarcInt.Interpreter_intStackSize; // L: 3517 - return 1; // L: 3518 - } else if (var0 == ScriptOpcodes.BATTERYLEVEL) { // L: 3520 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3521 - return 1; // L: 3522 - } else if (var0 == ScriptOpcodes.BATTERYCHARGING) { // L: 3524 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 3525 - return 1; // L: 3526 - } else if (var0 == ScriptOpcodes.WIFIAVAILABLE) { // L: 3528 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 3529 - return 1; // L: 3530 - } else { - return 2; // L: 3532 - } - } - } else { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3420 - if (var3 >= 0 && var3 < World.World_count) { // L: 3421 - var7 = World.World_worlds[var3]; // L: 3422 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.id; // L: 3423 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.properties; // L: 3424 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.activity; // L: 3425 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.location; // L: 3426 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.population; // L: 3427 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.host; // L: 3428 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3431 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3432 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3433 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3434 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3435 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3436 - } - - return 1; // L: 3438 - } - } - } - } + return 1; + } + } + } + } } diff --git a/runescape-client/src/main/java/Huffman.java b/runescape-client/src/main/java/Huffman.java index be8d16318b..8c91cda597 100644 --- a/runescape-client/src/main/java/Huffman.java +++ b/runescape-client/src/main/java/Huffman.java @@ -2,361 +2,331 @@ 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("hu") +@ObfuscatedName("hp") @Implements("Huffman") public class Huffman { - @ObfuscatedName("h") - @Export("masks") - int[] masks; - @ObfuscatedName("v") - @Export("bits") - byte[] bits; - @ObfuscatedName("x") - @Export("keys") - int[] keys; + @ObfuscatedName("n") + @Export("masks") + int[] masks; + @ObfuscatedName("v") + @Export("bits") + byte[] bits; + @ObfuscatedName("d") + @Export("keys") + int[] keys; - public Huffman(byte[] var1) { - int var2 = var1.length; // L: 9 - this.masks = new int[var2]; // L: 10 - this.bits = var1; // L: 11 - int[] var3 = new int[33]; // L: 12 - this.keys = new int[8]; // L: 13 - int var4 = 0; // L: 14 + public Huffman(byte[] var1) { + int var2 = var1.length; + this.masks = new int[var2]; + this.bits = var1; + int[] var3 = new int[33]; + this.keys = new int[8]; + int var4 = 0; - for (int var5 = 0; var5 < var2; ++var5) { // L: 15 - byte var6 = var1[var5]; // L: 16 - if (var6 != 0) { // L: 17 - int var7 = 1 << 32 - var6; // L: 18 - int var8 = var3[var6]; // L: 19 - this.masks[var5] = var8; // L: 20 - int var9; - int var10; - int var11; - int var12; - if ((var8 & var7) != 0) { // L: 22 - var9 = var3[var6 - 1]; - } else { - var9 = var8 | var7; // L: 24 + 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]; + } else { + var9 = var8 | var7; - for (var10 = var6 - 1; var10 >= 1; --var10) { // L: 25 - var11 = var3[var10]; // L: 26 - if (var11 != var8) { // L: 27 - break; - } + for(var10 = var6 - 1; var10 >= 1; --var10) { + var11 = var3[var10]; + if (var11 != var8) { + break; + } - var12 = 1 << 32 - var10; // L: 28 - if ((var11 & var12) != 0) { // L: 29 - var3[var10] = var3[var10 - 1]; // L: 30 - break; - } + var12 = 1 << 32 - var10; + if ((var11 & var12) != 0) { + var3[var10] = var3[var10 - 1]; + break; + } - var3[var10] = var11 | var12; // L: 33 - } - } + var3[var10] = var11 | var12; + } + } - var3[var6] = var9; // L: 38 + var3[var6] = var9; - for (var10 = var6 + 1; var10 <= 32; ++var10) { // L: 39 - if (var8 == var3[var10]) { // L: 40 - var3[var10] = var9; - } - } + for(var10 = var6 + 1; var10 <= 32; ++var10) { + if (var8 == var3[var10]) { + var3[var10] = var9; + } + } - var10 = 0; // L: 42 + var10 = 0; - for (var11 = 0; var11 < var6; ++var11) { // L: 43 - var12 = Integer.MIN_VALUE >>> var11; // L: 44 - if ((var8 & var12) != 0) { // L: 45 - if (this.keys[var10] == 0) { // L: 46 - this.keys[var10] = var4; - } + 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]; // L: 47 - } else { - ++var10; // L: 49 - } + var10 = this.keys[var10]; + } else { + ++var10; + } - if (var10 >= this.keys.length) { // L: 50 - int[] var13 = new int[this.keys.length * 2]; // L: 51 + if (var10 >= this.keys.length) { + int[] var13 = new int[this.keys.length * 2]; - for (int var14 = 0; var14 < this.keys.length; ++var14) { // L: 52 - var13[var14] = this.keys[var14]; - } + for(int var14 = 0; var14 < this.keys.length; ++var14) { + var13[var14] = this.keys[var14]; + } - this.keys = var13; // L: 53 - } + this.keys = var13; + } - var12 >>>= 1; // L: 55 - } + var12 >>>= 1; + } - this.keys[var10] = ~var5; // L: 57 - if (var10 >= var4) { // L: 58 - var4 = var10 + 1; - } - } - } + this.keys[var10] = ~var5; + if (var10 >= var4) { + var4 = var10 + 1; + } + } + } - } // L: 60 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BII[BII)I", - garbageValue = "2127333577" - ) - @Export("compress") - int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { - int var6 = 0; // L: 63 - int var7 = var5 << 3; // L: 64 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BII[BIB)I", + garbageValue = "-79" + ) + @Export("compress") + int compress(byte[] var1, int var2, int var3, byte[] var4, int var5) { + int var6 = 0; + int var7 = var5 << 3; - for (var3 += var2; var2 < var3; ++var2) { // L: 65 66 - int var8 = var1[var2] & 255; // L: 67 - int var9 = this.masks[var8]; // L: 68 - byte var10 = this.bits[var8]; // L: 69 - if (var10 == 0) { // L: 70 - throw new RuntimeException("" + var8); - } + for(var3 += var2; var2 < var3; ++var2) { + int var8 = var1[var2] & 255; + int var9 = this.masks[var8]; + byte var10 = this.bits[var8]; + if (var10 == 0) { + throw new RuntimeException("" + var8); + } - int var11 = var7 >> 3; // L: 71 - int var12 = var7 & 7; // L: 72 - var6 &= -var12 >> 31; // L: 73 - int var13 = (var10 + var12 - 1 >> 3) + var11; // L: 74 - var12 += 24; // L: 76 - var4[var11] = (byte)(var6 |= var9 >>> var12); // L: 77 - if (var11 < var13) { // L: 78 - ++var11; // L: 79 - var12 -= 8; // L: 80 - var4[var11] = (byte)(var6 = var9 >>> var12); // L: 81 - if (var11 < var13) { // L: 82 - ++var11; // L: 83 - var12 -= 8; // L: 84 - var4[var11] = (byte)(var6 = var9 >>> var12); // L: 85 - if (var11 < var13) { // L: 86 - ++var11; // L: 87 - var12 -= 8; // L: 88 - var4[var11] = (byte)(var6 = var9 >>> var12); // L: 89 - if (var11 < var13) { // L: 90 - ++var11; // L: 91 - var12 -= 8; // L: 92 - var4[var11] = (byte)(var6 = var9 << -var12); // L: 93 - } - } - } - } + int var11 = var7 >> 3; + int var12 = var7 & 7; + var6 &= -var12 >> 31; + int var13 = (var12 + var10 - 1 >> 3) + var11; + var12 += 24; + var4[var11] = (byte)(var6 |= var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 >>> var12); + if (var11 < var13) { + ++var11; + var12 -= 8; + var4[var11] = (byte)(var6 = var9 << -var12); + } + } + } + } - var7 += var10; // L: 95 - } + var7 += var10; + } - return (var7 + 7 >> 3) - var5; // L: 97 - } + return (var7 + 7 >> 3) - var5; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "([BI[BIII)I", - garbageValue = "-556309350" - ) - @Export("decompress") - int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) { - if (var5 == 0) { // L: 101 - return 0; - } else { - int var6 = 0; // L: 102 - var5 += var4; // L: 103 - int var7 = var2; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "([BI[BIII)I", + garbageValue = "1393765026" + ) + @Export("decompress") + int decompress(byte[] var1, int var2, byte[] var3, int var4, int var5) { + if (var5 == 0) { + return 0; + } else { + int var6 = 0; + var5 += var4; + int var7 = var2; - while (true) { - byte var8 = var1[var7]; // L: 106 - if (var8 < 0) { // L: 108 - var6 = this.keys[var6]; - } else { - ++var6; // L: 109 - } + while(true) { + byte var8 = var1[var7]; + if (var8 < 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - int var9; - if ((var9 = this.keys[var6]) < 0) { // L: 110 - var3[var4++] = (byte)(~var9); // L: 111 - if (var4 >= var5) { // L: 112 - break; - } + int var9; + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 113 - } + var6 = 0; + } - if ((var8 & 64) != 0) { // L: 115 - var6 = this.keys[var6]; - } else { - ++var6; // L: 116 - } + if ((var8 & 64) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 117 - var3[var4++] = (byte)(~var9); // L: 118 - if (var4 >= var5) { // L: 119 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 120 - } + var6 = 0; + } - if ((var8 & 32) != 0) { // L: 122 - var6 = this.keys[var6]; - } else { - ++var6; // L: 123 - } + if ((var8 & 32) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 124 - var3[var4++] = (byte)(~var9); // L: 125 - if (var4 >= var5) { // L: 126 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 127 - } + var6 = 0; + } - if ((var8 & 16) != 0) { // L: 129 - var6 = this.keys[var6]; - } else { - ++var6; // L: 130 - } + if ((var8 & 16) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 131 - var3[var4++] = (byte)(~var9); // L: 132 - if (var4 >= var5) { // L: 133 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 134 - } + var6 = 0; + } - if ((var8 & 8) != 0) { // L: 136 - var6 = this.keys[var6]; - } else { - ++var6; // L: 137 - } + if ((var8 & 8) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 138 - var3[var4++] = (byte)(~var9); // L: 139 - if (var4 >= var5) { // L: 140 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 141 - } + var6 = 0; + } - if ((var8 & 4) != 0) { // L: 143 - var6 = this.keys[var6]; - } else { - ++var6; // L: 144 - } + if ((var8 & 4) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 145 - var3[var4++] = (byte)(~var9); // L: 146 - if (var4 >= var5) { // L: 147 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 148 - } + var6 = 0; + } - if ((var8 & 2) != 0) { // L: 150 - var6 = this.keys[var6]; - } else { - ++var6; // L: 151 - } + if ((var8 & 2) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { // L: 152 - var3[var4++] = (byte)(~var9); // L: 153 - if (var4 >= var5) { - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; - } + var6 = 0; + } - if ((var8 & 1) != 0) { - var6 = this.keys[var6]; - } else { - ++var6; - } + if ((var8 & 1) != 0) { + var6 = this.keys[var6]; + } else { + ++var6; + } - if ((var9 = this.keys[var6]) < 0) { - var3[var4++] = (byte)(~var9); - if (var4 >= var5) { // L: 161 - break; - } + if ((var9 = this.keys[var6]) < 0) { + var3[var4++] = (byte)(~var9); + if (var4 >= var5) { + break; + } - var6 = 0; // L: 162 - } + var6 = 0; + } - ++var7; // L: 105 - } + ++var7; + } - return var7 + 1 - var2; - } - } + return var7 + 1 - var2; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;IIIIIII)V", - garbageValue = "109073521" - ) - @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) { // L: 154 - Tiles.Tiles_renderFlags[var1][var2][var3] = 0; // L: 155 + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "124" + ) + static int method4157(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = MusicPatch.Widget_unpackTargetMask(class60.getWidgetFlags(var3)); + return 1; + } else if (var0 != ScriptOpcodes.CC_GETOP) { + if (var0 == ScriptOpcodes.CC_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; + } - while (true) { - var7 = var0.readUnsignedByte(); // L: 157 - if (var7 == 0) { // L: 158 - if (var1 == 0) { - Tiles.Tiles_heights[0][var2][var3] = -PcmPlayer.method2544(932731 + var2 + var4, var3 + 556238 + var5) * 8; // L: 159 - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; // L: 160 - } - break; - } + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } - if (var7 == 1) { // L: 163 - int var8 = var0.readUnsignedByte(); // L: 164 - if (var8 == 1) { // L: 165 - var8 = 0; - } - - if (var1 == 0) { // L: 166 - Tiles.Tiles_heights[0][var2][var3] = -var8 * 8; - } else { - Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - var8 * 8; // L: 167 - } - break; - } - - if (var7 <= 49) { // L: 170 - Tiles.field508[var1][var2][var3] = var0.readByte(); // L: 171 - class9.field40[var1][var2][var3] = (byte)((var7 - 2) / 4); // L: 172 - Username.field3663[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); // L: 173 - } else if (var7 <= 81) { // L: 176 - Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); // L: 177 - } else { - Tiles.field514[var1][var2][var3] = (byte)(var7 - 81); // L: 180 - } - } - } else { - while (true) { - var7 = var0.readUnsignedByte(); // L: 185 - if (var7 == 0) { // L: 186 - break; - } - - if (var7 == 1) { // L: 187 - var0.readUnsignedByte(); // L: 188 - break; - } - - if (var7 <= 49) { // L: 191 - var0.readUnsignedByte(); - } - } - } - - } // L: 194 + return 1; + } + } } diff --git a/runescape-client/src/main/java/IgnoreList.java b/runescape-client/src/main/java/IgnoreList.java index 505fd2edc9..91fde43ca9 100644 --- a/runescape-client/src/main/java/IgnoreList.java +++ b/runescape-client/src/main/java/IgnoreList.java @@ -1,133 +1,90 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kf") +@ObfuscatedName("kp") @Implements("IgnoreList") public class IgnoreList extends UserList { - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1712737799 - ) - @Export("canvasWidth") - public static int canvasWidth; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("loginType") - final LoginType loginType; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("loginType") + final LoginType loginType; - @ObfuscatedSignature( - descriptor = "(Lmu;)V" - ) - public IgnoreList(LoginType var1) { - super(400); // L: 12 - this.loginType = var1; // L: 13 - } // L: 14 + @ObfuscatedSignature( + descriptor = "(Lml;)V" + ) + public IgnoreList(LoginType var1) { + super(400); + this.loginType = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)Lju;", - garbageValue = "-99" - ) - @Export("newInstance") - User newInstance() { - return new Ignored(); // L: 17 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Ljn;", + garbageValue = "-315842787" + ) + @Export("newInstance") + User newInstance() { + return new Ignored(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)[Lju;", - garbageValue = "-1524839332" - ) - @Export("newTypedArray") - User[] newTypedArray(int var1) { - return new Ignored[var1]; // L: 21 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)[Ljn;", + garbageValue = "1723641195" + ) + @Export("newTypedArray") + User[] newTypedArray(int var1) { + return new Ignored[var1]; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "1401176897" - ) - @Export("read") - public void read(Buffer var1, int var2) { - while (true) { - if (var1.offset < var2) { // L: 25 - int var3 = var1.readUnsignedByte(); // L: 26 - boolean var4 = (var3 & 1) == 1; // L: 27 - Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 28 - Username var6 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); // L: 29 - var1.readStringCp1252NullTerminated(); // L: 30 - if (var5 != null && var5.hasCleanName()) { // L: 31 - Ignored var7 = (Ignored)this.getByCurrentUsername(var5); // L: 32 - if (var4) { // L: 33 - Ignored var8 = (Ignored)this.getByCurrentUsername(var6); - if (var8 != null && var8 != var7) { - if (var7 != null) { - this.remove(var8); - } else { - var7 = var8; - } - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-631264277" + ) + @Export("read") + public void read(Buffer var1, int var2) { + while(true) { + if (var1.offset < var2) { + int var3 = var1.readUnsignedByte(); + boolean var4 = (var3 & 1) == 1; + Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + Username var6 = new Username(var1.readStringCp1252NullTerminated(), this.loginType); + var1.readStringCp1252NullTerminated(); + if (var5 != null && var5.hasCleanName()) { + Ignored var7 = (Ignored)this.getByCurrentUsername(var5); + if (var4) { + Ignored var8 = (Ignored)this.getByCurrentUsername(var6); + if (var8 != null && var8 != var7) { + if (var7 != null) { + this.remove(var8); + } else { + var7 = var8; + } + } + } - if (var7 != null) { - this.changeName(var7, var5, var6); - continue; - } + if (var7 != null) { + this.changeName(var7, var5, var6); + continue; + } - if (this.getSize() < 400) { - int var9 = this.getSize(); - var7 = (Ignored)this.addLast(var5, var6); - var7.id = var9; // L: 50 - } - continue; - } + if (this.getSize() < 400) { + int var9 = this.getSize(); + var7 = (Ignored)this.addLast(var5, var6); + var7.id = var9; + } + continue; + } - throw new IllegalStateException(); - } + throw new IllegalStateException(); + } - return; // L: 54 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IS)I", - garbageValue = "-18749" - ) - @Export("iLog") - public static int iLog(int var0) { - int var1 = 0; // L: 34 - if (var0 < 0 || var0 >= 65536) { // L: 35 - var0 >>>= 16; // L: 36 - var1 += 16; // L: 37 - } - - if (var0 >= 256) { // L: 39 - var0 >>>= 8; // L: 40 - var1 += 8; // L: 41 - } - - if (var0 >= 16) { // L: 43 - var0 >>>= 4; // L: 44 - var1 += 4; // L: 45 - } - - if (var0 >= 4) { // L: 47 - var0 >>>= 2; // L: 48 - var1 += 2; // L: 49 - } - - if (var0 >= 1) { // L: 51 - var0 >>>= 1; // L: 52 - ++var1; // L: 53 - } - - return var0 + var1; // L: 55 - } + return; + } + } } diff --git a/runescape-client/src/main/java/Ignored.java b/runescape-client/src/main/java/Ignored.java index 6216a75de2..4fbac2ddd2 100644 --- a/runescape-client/src/main/java/Ignored.java +++ b/runescape-client/src/main/java/Ignored.java @@ -4,40 +4,37 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ks") +@ObfuscatedName("ke") @Implements("Ignored") public class Ignored extends User { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1108684561 - ) - @Export("id") - int id; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1743470609 + ) + @Export("id") + int id; - Ignored() { - } // L: 6 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lke;I)I", + garbageValue = "1892855432" + ) + @Export("compareTo_ignored") + int compareTo_ignored(Ignored var1) { + return this.id - var1.id; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lks;I)I", - garbageValue = "-204847170" - ) - @Export("compareTo_ignored") - int compareTo_ignored(Ignored var1) { - return this.id - var1.id; // L: 9 - } + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(Ljn;I)I", + garbageValue = "642739557" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.compareTo_ignored((Ignored)var1); + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Lju;I)I", - garbageValue = "-1545516578" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.compareTo_ignored((Ignored)var1); // L: 13 - } - - public int compareTo(Object var1) { - return this.compareTo_ignored((Ignored)var1); // L: 17 - } + public int compareTo(Object var1) { + return this.compareTo_ignored((Ignored)var1); + } } diff --git a/runescape-client/src/main/java/IndexedSprite.java b/runescape-client/src/main/java/IndexedSprite.java index a305845fce..a3aaef8dfb 100644 --- a/runescape-client/src/main/java/IndexedSprite.java +++ b/runescape-client/src/main/java/IndexedSprite.java @@ -2,273 +2,273 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lo") +@ObfuscatedName("ly") @Implements("IndexedSprite") public final class IndexedSprite extends Rasterizer2D { - @ObfuscatedName("h") - @Export("pixels") - public byte[] pixels; - @ObfuscatedName("v") - @Export("palette") - public int[] palette; - @ObfuscatedName("x") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("w") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("t") - @Export("xOffset") - public int xOffset; - @ObfuscatedName("j") - @Export("yOffset") - public int yOffset; - @ObfuscatedName("n") - @Export("width") - public int width; - @ObfuscatedName("p") - @Export("height") - public int height; + @ObfuscatedName("n") + @Export("pixels") + public byte[] pixels; + @ObfuscatedName("v") + @Export("palette") + public int[] palette; + @ObfuscatedName("d") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("c") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("y") + @Export("xOffset") + public int xOffset; + @ObfuscatedName("h") + @Export("yOffset") + public int yOffset; + @ObfuscatedName("z") + @Export("width") + public int width; + @ObfuscatedName("e") + @Export("height") + public int height; - @ObfuscatedName("h") - @Export("normalize") - public void normalize() { - if (this.subWidth != this.width || this.subHeight != this.height) { // L: 18 - byte[] var1 = new byte[this.width * this.height]; // L: 19 - int var2 = 0; // L: 20 + @ObfuscatedName("n") + @Export("normalize") + public void normalize() { + if (this.subWidth != this.width || this.subHeight != this.height) { + byte[] var1 = new byte[this.width * this.height]; + int var2 = 0; - for (int var3 = 0; var3 < this.subHeight; ++var3) { // L: 21 - for (int var4 = 0; var4 < this.subWidth; ++var4) { // L: 22 - var1[var4 + (var3 + this.yOffset) * this.width + this.xOffset] = this.pixels[var2++]; // L: 23 - } - } + for(int var3 = 0; var3 < this.subHeight; ++var3) { + for(int var4 = 0; var4 < this.subWidth; ++var4) { + var1[var4 + (var3 + this.yOffset) * this.width + this.xOffset] = this.pixels[var2++]; + } + } - this.pixels = var1; // L: 26 - this.subWidth = this.width; // L: 27 - this.subHeight = this.height; // L: 28 - this.xOffset = 0; // L: 29 - this.yOffset = 0; // L: 30 - } - } // L: 31 + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.xOffset = 0; + this.yOffset = 0; + } + } - @ObfuscatedName("v") - @Export("shiftColors") - public void shiftColors(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.palette.length; ++var4) { // L: 34 - int var5 = this.palette[var4] >> 16 & 255; // L: 35 - var5 += var1; // L: 36 - if (var5 < 0) { // L: 37 - var5 = 0; - } else if (var5 > 255) { // L: 38 - var5 = 255; - } + @ObfuscatedName("v") + @Export("shiftColors") + public void shiftColors(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.palette.length; ++var4) { + int var5 = this.palette[var4] >> 16 & 255; + var5 += var1; + if (var5 < 0) { + var5 = 0; + } else if (var5 > 255) { + var5 = 255; + } - int var6 = this.palette[var4] >> 8 & 255; // L: 39 - var6 += var2; // L: 40 - if (var6 < 0) { // L: 41 - var6 = 0; - } else if (var6 > 255) { // L: 42 - var6 = 255; - } + int var6 = this.palette[var4] >> 8 & 255; + var6 += var2; + if (var6 < 0) { + var6 = 0; + } else if (var6 > 255) { + var6 = 255; + } - int var7 = this.palette[var4] & 255; // L: 43 - var7 += var3; // L: 44 - if (var7 < 0) { // L: 45 - var7 = 0; - } else if (var7 > 255) { // L: 46 - var7 = 255; - } + int var7 = this.palette[var4] & 255; + var7 += var3; + if (var7 < 0) { + var7 = 0; + } else if (var7 > 255) { + var7 = 255; + } - this.palette[var4] = var7 + (var6 << 8) + (var5 << 16); // L: 47 - } + this.palette[var4] = var7 + (var6 << 8) + (var5 << 16); + } - } // L: 49 + } - @ObfuscatedName("x") - @Export("drawAt") - public void drawAt(int var1, int var2) { - var1 += this.xOffset; // L: 52 - var2 += this.yOffset; // L: 53 - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 54 - int var4 = 0; // L: 55 - int var5 = this.subHeight; // L: 56 - int var6 = this.subWidth; // L: 57 - int var7 = Rasterizer2D.Rasterizer2D_width - var6; // L: 58 - int var8 = 0; // L: 59 - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 60 - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 61 - var5 -= var9; // L: 62 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 63 - var4 += var9 * var6; // L: 64 - var3 += var9 * Rasterizer2D.Rasterizer2D_width; // L: 65 - } + @ObfuscatedName("d") + @Export("drawAt") + public void drawAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 67 - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 68 - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 69 - var6 -= var9; // L: 70 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 71 - var4 += var9; // L: 72 - var3 += var9; // L: 73 - var8 += var9; // L: 74 - var7 += var9; // L: 75 - } + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 77 - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 78 - var6 -= var9; // L: 79 - var8 += var9; // L: 80 - var7 += var9; // L: 81 - } + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } - if (var6 > 0 && var5 > 0) { // L: 83 - IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8); // L: 84 - } - } // L: 85 + if (var6 > 0 && var5 > 0) { + IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8); + } + } - @ObfuscatedName("t") - public void method6141(int var1, int var2, int var3, int var4) { - int var5 = this.subWidth; // L: 116 - int var6 = this.subHeight; // L: 117 - int var7 = 0; // L: 118 - int var8 = 0; // L: 119 - int var9 = this.width; // L: 120 - int var10 = this.height; // L: 121 - int var11 = (var9 << 16) / var3; // L: 122 - int var12 = (var10 << 16) / var4; // L: 123 - int var13; - if (this.xOffset > 0) { // L: 124 - var13 = (var11 + (this.xOffset << 16) - 1) / var11; // L: 125 - var1 += var13; // L: 126 - var7 += var13 * var11 - (this.xOffset << 16); // L: 127 - } + @ObfuscatedName("y") + public void method6302(int var1, int var2, int var3, int var4) { + int var5 = this.subWidth; + int var6 = this.subHeight; + int var7 = 0; + int var8 = 0; + int var9 = this.width; + int var10 = this.height; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if (this.xOffset > 0) { + var13 = (var11 + (this.xOffset << 16) - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.xOffset << 16); + } - if (this.yOffset > 0) { // L: 129 - var13 = (var12 + (this.yOffset << 16) - 1) / var12; // L: 130 - var2 += var13; // L: 131 - var8 += var13 * var12 - (this.yOffset << 16); // L: 132 - } + if (this.yOffset > 0) { + var13 = (var12 + (this.yOffset << 16) - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.yOffset << 16); + } - if (var5 < var9) { // L: 134 - var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; - } + if (var5 < var9) { + var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; + } - if (var6 < var10) { // L: 135 - var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } + if (var6 < var10) { + var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } - var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 136 - int var14 = Rasterizer2D.Rasterizer2D_width - var3; // L: 137 - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 138 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } + var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } - int var15; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 139 - var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 140 - var4 -= var15; // L: 141 - var13 += var15 * Rasterizer2D.Rasterizer2D_width; // L: 142 - var8 += var12 * var15; // L: 143 - } + int var15; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var15; + var13 += var15 * Rasterizer2D.Rasterizer2D_width; + var8 += var12 * var15; + } - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 145 - var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 146 - var3 -= var15; // L: 147 - var14 += var15; // L: 148 - } + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var15; + var14 += var15; + } - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 150 - var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 151 - var3 -= var15; // L: 152 - var13 += var15; // L: 153 - var7 += var11 * var15; // L: 154 - var14 += var15; // L: 155 - } + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } - IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); // L: 157 - } // L: 158 + IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } - @ObfuscatedName("w") - @Export("IndexedSprite_two") - static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); // L: 88 - var5 = -(var5 & 3); // L: 89 + @ObfuscatedName("c") + @Export("IndexedSprite_two") + static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); - for (int var10 = -var6; var10 < 0; ++var10) { // L: 90 - int var11; - byte var12; - for (var11 = var9; var11 < 0; ++var11) { // L: 91 - var12 = var1[var3++]; // L: 92 - if (var12 != 0) { - var0[var4++] = var2[var12 & 255]; // L: 93 - } else { - ++var4; // L: 94 - } + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + byte var12; + for(var11 = var9; var11 < 0; ++var11) { + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } - var12 = var1[var3++]; // L: 95 - if (var12 != 0) { // L: 96 - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; // L: 97 - } + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } - var12 = var1[var3++]; // L: 98 - if (var12 != 0) { // L: 99 - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; // L: 100 - } + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } - var12 = var1[var3++]; // L: 101 - if (var12 != 0) { // L: 102 - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; // L: 103 - } - } + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + } - for (var11 = var5; var11 < 0; ++var11) { // L: 105 - var12 = var1[var3++]; // L: 106 - if (var12 != 0) { // L: 107 - var0[var4++] = var2[var12 & 255]; - } else { - ++var4; // L: 108 - } - } + for(var11 = var5; var11 < 0; ++var11) { + var12 = var1[var3++]; + if (var12 != 0) { + var0[var4++] = var2[var12 & 255]; + } else { + ++var4; + } + } - var4 += var7; // L: 110 - var3 += var8; // L: 111 - } + var4 += var7; + var3 += var8; + } - } // L: 113 + } - @ObfuscatedName("j") - @Export("IndexedSprite_something") - static void IndexedSprite_something(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { - int var12 = var3; // L: 161 + @ObfuscatedName("h") + @Export("IndexedSprite_something") + static void IndexedSprite_something(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; - for (int var13 = -var8; var13 < 0; ++var13) { // L: 162 - int var14 = var11 * (var4 >> 16); // L: 163 + for(int var13 = -var8; var13 < 0; ++var13) { + int var14 = var11 * (var4 >> 16); - for (int var15 = -var7; var15 < 0; ++var15) { // L: 164 - byte var16 = var1[(var3 >> 16) + var14]; // L: 165 - if (var16 != 0) { // L: 166 - var0[var5++] = var2[var16 & 255]; - } else { - ++var5; // L: 167 - } + for(int var15 = -var7; var15 < 0; ++var15) { + byte var16 = var1[(var3 >> 16) + var14]; + if (var16 != 0) { + var0[var5++] = var2[var16 & 255]; + } else { + ++var5; + } - var3 += var9; // L: 168 - } + var3 += var9; + } - var4 += var10; // L: 170 - var3 = var12; // L: 171 - var5 += var6; // L: 172 - } + var4 += var10; + var3 = var12; + var5 += var6; + } - } // L: 174 + } } diff --git a/runescape-client/src/main/java/Instrument.java b/runescape-client/src/main/java/Instrument.java index e4db9c7db8..c389364946 100644 --- a/runescape-client/src/main/java/Instrument.java +++ b/runescape-client/src/main/java/Instrument.java @@ -4,423 +4,408 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dc") +@ObfuscatedName("dg") @Implements("Instrument") public class Instrument { - @ObfuscatedName("b") - @Export("Instrument_samples") - static int[] Instrument_samples; - @ObfuscatedName("y") - @Export("Instrument_noise") - static int[] Instrument_noise; - @ObfuscatedName("r") - @Export("Instrument_sine") - static int[] Instrument_sine; - @ObfuscatedName("g") - @Export("Instrument_phases") - static int[] Instrument_phases; - @ObfuscatedName("s") - @Export("Instrument_delays") - static int[] Instrument_delays; - @ObfuscatedName("o") - @Export("Instrument_volumeSteps") - static int[] Instrument_volumeSteps; - @ObfuscatedName("k") - @Export("Instrument_pitchSteps") - static int[] Instrument_pitchSteps; - @ObfuscatedName("d") - @Export("Instrument_pitchBaseSteps") - static int[] Instrument_pitchBaseSteps; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("pitch") - SoundEnvelope pitch; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("volume") - SoundEnvelope volume; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("pitchModifier") - SoundEnvelope pitchModifier; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("pitchModifierAmplitude") - SoundEnvelope pitchModifierAmplitude; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("volumeMultiplier") - SoundEnvelope volumeMultiplier; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("volumeMultiplierAmplitude") - SoundEnvelope volumeMultiplierAmplitude; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("release") - SoundEnvelope release; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("attack") - SoundEnvelope attack; - @ObfuscatedName("l") - @Export("oscillatorVolume") - int[] oscillatorVolume; - @ObfuscatedName("z") - @Export("oscillatorPitch") - int[] oscillatorPitch; - @ObfuscatedName("u") - @Export("oscillatorDelays") - int[] oscillatorDelays; - @ObfuscatedName("e") - @Export("delayTime") - int delayTime; - @ObfuscatedName("m") - @Export("delayDecay") - int delayDecay; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lda;" - ) - @Export("filter") - AudioFilter filter; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Ldr;" - ) - @Export("filterEnvelope") - SoundEnvelope filterEnvelope; - @ObfuscatedName("f") - @Export("duration") - int duration; - @ObfuscatedName("a") - @Export("offset") - int offset; + @ObfuscatedName("f") + @Export("Instrument_samples") + static int[] Instrument_samples; + @ObfuscatedName("g") + @Export("Instrument_noise") + static int[] Instrument_noise = new int['耀']; + @ObfuscatedName("u") + @Export("Instrument_sine") + static int[] Instrument_sine; + @ObfuscatedName("p") + @Export("Instrument_phases") + static int[] Instrument_phases; + @ObfuscatedName("m") + @Export("Instrument_delays") + static int[] Instrument_delays; + @ObfuscatedName("r") + @Export("Instrument_volumeSteps") + static int[] Instrument_volumeSteps; + @ObfuscatedName("o") + @Export("Instrument_pitchSteps") + static int[] Instrument_pitchSteps; + @ObfuscatedName("j") + @Export("Instrument_pitchBaseSteps") + static int[] Instrument_pitchBaseSteps; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("pitch") + SoundEnvelope pitch; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("volume") + SoundEnvelope volume; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("pitchModifier") + SoundEnvelope pitchModifier; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("pitchModifierAmplitude") + SoundEnvelope pitchModifierAmplitude; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("volumeMultiplier") + SoundEnvelope volumeMultiplier; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("volumeMultiplierAmplitude") + SoundEnvelope volumeMultiplierAmplitude; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("release") + SoundEnvelope release; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("attack") + SoundEnvelope attack; + @ObfuscatedName("q") + @Export("oscillatorVolume") + int[] oscillatorVolume = new int[]{0, 0, 0, 0, 0}; + @ObfuscatedName("l") + @Export("oscillatorPitch") + int[] oscillatorPitch = new int[]{0, 0, 0, 0, 0}; + @ObfuscatedName("s") + @Export("oscillatorDelays") + int[] oscillatorDelays = new int[]{0, 0, 0, 0, 0}; + @ObfuscatedName("b") + @Export("delayTime") + int delayTime = 0; + @ObfuscatedName("a") + @Export("delayDecay") + int delayDecay = 100; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lde;" + ) + @Export("filter") + AudioFilter filter; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lds;" + ) + @Export("filterEnvelope") + SoundEnvelope filterEnvelope; + @ObfuscatedName("i") + @Export("duration") + int duration = 500; + @ObfuscatedName("x") + @Export("offset") + int offset = 0; - static { - Instrument_noise = new int[32768]; // L: 31 - Random var0 = new Random(0L); // L: 32 + static { + Random var0 = new Random(0L); - int var1; - for (var1 = 0; var1 < 32768; ++var1) { // L: 33 - Instrument_noise[var1] = (var0.nextInt() & 2) - 1; // L: 34 - } + int var1; + for(var1 = 0; var1 < 32768; ++var1) { + Instrument_noise[var1] = (var0.nextInt() & 2) - 1; + } - Instrument_sine = new int[32768]; // L: 36 + Instrument_sine = new int['耀']; - for (var1 = 0; var1 < 32768; ++var1) { // L: 37 - Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); // L: 38 - } + for(var1 = 0; var1 < 32768; ++var1) { + Instrument_sine[var1] = (int)(Math.sin((double)var1 / 5215.1903D) * 16384.0D); + } - Instrument_samples = new int[220500]; // L: 40 - Instrument_phases = new int[5]; // L: 44 - Instrument_delays = new int[5]; // L: 45 - Instrument_volumeSteps = new int[5]; // L: 46 - Instrument_pitchSteps = new int[5]; // L: 47 - Instrument_pitchBaseSteps = new int[5]; // L: 48 - } + Instrument_samples = new int[220500]; + Instrument_phases = new int[5]; + Instrument_delays = new int[5]; + Instrument_volumeSteps = new int[5]; + Instrument_pitchSteps = new int[5]; + Instrument_pitchBaseSteps = new int[5]; + } - Instrument() { - this.oscillatorVolume = new int[]{0, 0, 0, 0, 0}; // L: 17 - this.oscillatorPitch = new int[]{0, 0, 0, 0, 0}; // L: 18 - this.oscillatorDelays = new int[]{0, 0, 0, 0, 0}; // L: 19 - this.delayTime = 0; // L: 20 - this.delayDecay = 100; // L: 21 - this.duration = 500; // L: 24 - this.offset = 0; // L: 25 - } // L: 50 + @ObfuscatedName("n") + @Export("synthesize") + final int[] synthesize(int var1, int var2) { + class311.clearIntArray(Instrument_samples, 0, var1); + if (var2 < 10) { + return Instrument_samples; + } else { + double var3 = (double)var1 / ((double)var2 + 0.0D); + this.pitch.reset(); + this.volume.reset(); + int var5 = 0; + int var6 = 0; + int var7 = 0; + if (this.pitchModifier != null) { + this.pitchModifier.reset(); + this.pitchModifierAmplitude.reset(); + var5 = (int)((double)(this.pitchModifier.end - this.pitchModifier.start) * 32.768D / var3); + var6 = (int)((double)this.pitchModifier.start * 32.768D / var3); + } - @ObfuscatedName("h") - @Export("synthesize") - final int[] synthesize(int var1, int var2) { - class311.clearIntArray(Instrument_samples, 0, var1); // L: 53 - if (var2 < 10) { // L: 54 - return Instrument_samples; - } else { - double var3 = (double)var1 / ((double)var2 + 0.0D); // L: 55 - this.pitch.reset(); // L: 56 - this.volume.reset(); // L: 57 - int var5 = 0; // L: 58 - int var6 = 0; // L: 59 - int var7 = 0; // L: 60 - if (this.pitchModifier != null) { // L: 61 - this.pitchModifier.reset(); // L: 62 - this.pitchModifierAmplitude.reset(); // L: 63 - var5 = (int)((double)(this.pitchModifier.end - this.pitchModifier.start) * 32.768D / var3); // L: 64 - var6 = (int)((double)this.pitchModifier.start * 32.768D / var3); // L: 65 - } + int var8 = 0; + int var9 = 0; + int var10 = 0; + 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); + } - int var8 = 0; // L: 67 - int var9 = 0; // L: 68 - int var10 = 0; // L: 69 - if (this.volumeMultiplier != null) { // L: 70 - this.volumeMultiplier.reset(); // L: 71 - this.volumeMultiplierAmplitude.reset(); // L: 72 - var8 = (int)((double)(this.volumeMultiplier.end - this.volumeMultiplier.start) * 32.768D / var3); // L: 73 - var9 = (int)((double)this.volumeMultiplier.start * 32.768D / var3); // L: 74 - } + int var11; + for(var11 = 0; var11 < 5; ++var11) { + if (this.oscillatorVolume[var11] != 0) { + Instrument_phases[var11] = 0; + Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3); + Instrument_volumeSteps[var11] = (this.oscillatorVolume[var11] << 14) / 100; + Instrument_pitchSteps[var11] = (int)((double)(this.pitch.end - this.pitch.start) * 32.768D * Math.pow(1.0057929410678534D, (double)this.oscillatorPitch[var11]) / var3); + Instrument_pitchBaseSteps[var11] = (int)((double)this.pitch.start * 32.768D / var3); + } + } - int var11; - for (var11 = 0; var11 < 5; ++var11) { // L: 76 - if (this.oscillatorVolume[var11] != 0) { // L: 77 - Instrument_phases[var11] = 0; // L: 78 - Instrument_delays[var11] = (int)((double)this.oscillatorDelays[var11] * var3); // L: 79 - Instrument_volumeSteps[var11] = (this.oscillatorVolume[var11] << 14) / 100; // L: 80 - Instrument_pitchSteps[var11] = (int)((double)(this.pitch.end - this.pitch.start) * 32.768D * Math.pow(1.0057929410678534D, (double)this.oscillatorPitch[var11]) / var3); // L: 81 - Instrument_pitchBaseSteps[var11] = (int)((double)this.pitch.start * 32.768D / var3); // L: 82 - } - } + int var12; + int var13; + int var14; + int var15; + for(var11 = 0; var11 < var1; ++var11) { + var12 = this.pitch.doStep(var1); + var13 = this.volume.doStep(var1); + if (this.pitchModifier != null) { + var14 = this.pitchModifier.doStep(var1); + var15 = this.pitchModifierAmplitude.doStep(var1); + var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1; + var7 = var7 + var6 + (var14 * var5 >> 16); + } - int var12; - int var13; - int var14; - int var15; - int[] var10000; - for (var11 = 0; var11 < var1; ++var11) { // L: 84 - var12 = this.pitch.doStep(var1); // L: 85 - var13 = this.volume.doStep(var1); // L: 86 - if (this.pitchModifier != null) { // L: 87 - var14 = this.pitchModifier.doStep(var1); // L: 88 - var15 = this.pitchModifierAmplitude.doStep(var1); // L: 89 - var12 += this.evaluateWave(var7, var15, this.pitchModifier.form) >> 1; // L: 90 - var7 = var7 + var6 + (var14 * var5 >> 16); // L: 91 - } + if (this.volumeMultiplier != null) { + var14 = this.volumeMultiplier.doStep(var1); + var15 = this.volumeMultiplierAmplitude.doStep(var1); + var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + '耀') >> 15; + var10 = var10 + var9 + (var14 * var8 >> 16); + } - if (this.volumeMultiplier != null) { // L: 93 - var14 = this.volumeMultiplier.doStep(var1); // L: 94 - var15 = this.volumeMultiplierAmplitude.doStep(var1); // L: 95 - var13 = var13 * ((this.evaluateWave(var10, var15, this.volumeMultiplier.form) >> 1) + 32768) >> 15; // L: 96 - var10 = var10 + var9 + (var14 * var8 >> 16); // L: 97 - } + for(var14 = 0; var14 < 5; ++var14) { + if (this.oscillatorVolume[var14] != 0) { + var15 = Instrument_delays[var14] + var11; + if (var15 < var1) { + 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]; + } + } + } + } - for (var14 = 0; var14 < 5; ++var14) { // L: 99 - if (this.oscillatorVolume[var14] != 0) { // L: 100 - var15 = Instrument_delays[var14] + var11; // L: 101 - if (var15 < var1) { // L: 102 - var10000 = Instrument_samples; // L: 103 - var10000[var15] += this.evaluateWave(Instrument_phases[var14], var13 * Instrument_volumeSteps[var14] >> 15, this.pitch.form); - var10000 = Instrument_phases; // L: 104 - var10000[var14] += (var12 * Instrument_pitchSteps[var14] >> 16) + Instrument_pitchBaseSteps[var14]; - } - } - } - } + int var16; + if (this.release != null) { + this.release.reset(); + this.attack.reset(); + var11 = 0; + boolean var19 = false; + boolean var20 = true; - int var16; - if (this.release != null) { // L: 108 - this.release.reset(); // L: 109 - this.attack.reset(); // L: 110 - var11 = 0; // L: 111 - boolean var19 = false; // L: 112 - boolean var20 = true; // L: 113 + for(var14 = 0; var14 < var1; ++var14) { + var15 = this.release.doStep(var1); + var16 = this.attack.doStep(var1); + if (var20) { + var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; + } else { + var12 = (var16 * (this.release.end - this.release.start) >> 8) + this.release.start; + } - for (var14 = 0; var14 < var1; ++var14) { // L: 114 - var15 = this.release.doStep(var1); // L: 115 - var16 = this.attack.doStep(var1); // L: 116 - if (var20) { // L: 117 - var12 = (var15 * (this.release.end - this.release.start) >> 8) + this.release.start; - } else { - var12 = (var16 * (this.release.end - this.release.start) >> 8) + this.release.start; // L: 118 - } + var11 += 256; + if (var11 >= var12) { + var11 = 0; + var20 = !var20; + } - var11 += 256; // L: 119 - if (var11 >= var12) { - var11 = 0; // L: 120 - var20 = !var20; // L: 121 - } + if (var20) { + Instrument_samples[var14] = 0; + } + } + } - if (var20) { // L: 123 - Instrument_samples[var14] = 0; - } - } - } + if (this.delayTime > 0 && this.delayDecay > 0) { + var11 = (int)((double)this.delayTime * var3); - if (this.delayTime > 0 && this.delayDecay > 0) { // L: 126 - var11 = (int)((double)this.delayTime * var3); // L: 127 + for(var12 = var11; var12 < var1; ++var12) { + Instrument_samples[var12] += Instrument_samples[var12 - var11] * this.delayDecay / 100; + } + } - for (var12 = var11; var12 < var1; ++var12) { // L: 128 - var10000 = Instrument_samples; - var10000[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); + if (var1 >= var12 + var13) { + var14 = 0; + var15 = var13; + if (var13 > var1 - var12) { + var15 = var1 - var12; + } - if (this.filter.pairs[0] > 0 || this.filter.pairs[1] > 0) { // L: 130 - this.filterEnvelope.reset(); // L: 131 - var11 = this.filterEnvelope.doStep(var1 + 1); // L: 132 - var12 = this.filter.compute(0, (float)var11 / 65536.0F); // L: 133 - var13 = this.filter.compute(1, (float)var11 / 65536.0F); // L: 134 - if (var1 >= var12 + var13) { // L: 135 - var14 = 0; // L: 136 - var15 = var13; // L: 137 - if (var13 > var1 - var12) { // L: 138 - var15 = var1 - var12; - } + int var17; + while(var14 < var15) { + var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - int var17; - while (var14 < var15) { - var16 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); // L: 140 + for(var17 = 0; var17 < var12; ++var17) { + var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16); + } - for (var17 = 0; var17 < var12; ++var17) { // L: 141 - var16 += (int)((long)Instrument_samples[var14 + var12 - 1 - var17] * (long)AudioFilter.coefficients[0][var17] >> 16); - } + for(var17 = 0; var17 < var14; ++var17) { + var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); + } - for (var17 = 0; var17 < var14; ++var17) { // L: 142 - var16 -= (int)((long)Instrument_samples[var14 - 1 - var17] * (long)AudioFilter.coefficients[1][var17] >> 16); - } + Instrument_samples[var14] = var16; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } - Instrument_samples[var14] = var16; // L: 143 - var11 = this.filterEnvelope.doStep(var1 + 1); // L: 144 - ++var14; // L: 139 - } + var15 = 128; - var15 = 128; // L: 147 + while(true) { + if (var15 > var1 - var12) { + var15 = var1 - var12; + } - while (true) { - if (var15 > var1 - var12) { // L: 149 - var15 = var1 - var12; - } + int var18; + while(var14 < var15) { + var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); - int var18; - while (var14 < var15) { - var17 = (int)((long)Instrument_samples[var14 + var12] * (long)AudioFilter.forwardMultiplier >> 16); // L: 151 + for(var18 = 0; var18 < var12; ++var18) { + var17 += (int)((long)Instrument_samples[var14 + var12 - 1 - var18] * (long)AudioFilter.coefficients[0][var18] >> 16); + } - for (var18 = 0; var18 < var12; ++var18) { // L: 152 - 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); + } - for (var18 = 0; var18 < var13; ++var18) { // L: 153 - var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); - } + Instrument_samples[var14] = var17; + var11 = this.filterEnvelope.doStep(var1 + 1); + ++var14; + } - Instrument_samples[var14] = var17; // L: 154 - var11 = this.filterEnvelope.doStep(var1 + 1); // L: 155 - ++var14; // L: 150 - } + if (var14 >= var1 - var12) { + while(var14 < var1) { + var17 = 0; - if (var14 >= var1 - var12) { // L: 157 - while (var14 < var1) { - var17 = 0; // L: 163 + 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 = var14 + var12 - var1; var18 < var12; ++var18) { // L: 164 - 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); + } - for (var18 = 0; var18 < var13; ++var18) { // L: 165 - var17 -= (int)((long)Instrument_samples[var14 - 1 - var18] * (long)AudioFilter.coefficients[1][var18] >> 16); - } + Instrument_samples[var14] = var17; + this.filterEnvelope.doStep(var1 + 1); + ++var14; + } + break; + } - Instrument_samples[var14] = var17; // L: 166 - this.filterEnvelope.doStep(var1 + 1); // L: 167 - ++var14; // L: 162 - } - break; - } + var12 = this.filter.compute(0, (float)var11 / 65536.0F); + var13 = this.filter.compute(1, (float)var11 / 65536.0F); + var15 += 128; + } + } + } - var12 = this.filter.compute(0, (float)var11 / 65536.0F); // L: 158 - var13 = this.filter.compute(1, (float)var11 / 65536.0F); // L: 159 - var15 += 128; // L: 160 - } - } - } + for(var11 = 0; var11 < var1; ++var11) { + if (Instrument_samples[var11] < -32768) { + Instrument_samples[var11] = -32768; + } - for (var11 = 0; var11 < var1; ++var11) { // L: 171 - if (Instrument_samples[var11] < -32768) { // L: 172 - Instrument_samples[var11] = -32768; - } + if (Instrument_samples[var11] > 32767) { + Instrument_samples[var11] = 32767; + } + } - if (Instrument_samples[var11] > 32767) { // L: 173 - Instrument_samples[var11] = 32767; - } - } + return Instrument_samples; + } + } - return Instrument_samples; // L: 175 - } - } + @ObfuscatedName("v") + @Export("evaluateWave") + final int evaluateWave(int var1, int var2, int var3) { + if (var3 == 1) { + return (var1 & 32767) < 16384 ? var2 : -var2; + } else if (var3 == 2) { + return Instrument_sine[var1 & 32767] * var2 >> 14; + } else if (var3 == 3) { + return (var2 * (var1 & 32767) >> 14) - var2; + } else { + return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0; + } + } - @ObfuscatedName("v") - @Export("evaluateWave") - final int evaluateWave(int var1, int var2, int var3) { - if (var3 == 1) { // L: 179 - return (var1 & 32767) < 16384 ? var2 : -var2; // L: 180 181 - } else if (var3 == 2) { // L: 183 - return Instrument_sine[var1 & 32767] * var2 >> 14; - } else if (var3 == 3) { // L: 184 - return (var2 * (var1 & 32767) >> 14) - var2; - } else { - return var3 == 4 ? var2 * Instrument_noise[var1 / 2607 & 32767] : 0; // L: 185 186 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + @Export("decode") + final void decode(Buffer var1) { + this.pitch = new SoundEnvelope(); + this.pitch.decode(var1); + this.volume = new SoundEnvelope(); + this.volume.decode(var1); + int var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.pitchModifier = new SoundEnvelope(); + this.pitchModifier.decode(var1); + this.pitchModifierAmplitude = new SoundEnvelope(); + this.pitchModifierAmplitude.decode(var1); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - @Export("decode") - final void decode(Buffer var1) { - this.pitch = new SoundEnvelope(); // L: 190 - this.pitch.decode(var1); // L: 191 - this.volume = new SoundEnvelope(); // L: 192 - this.volume.decode(var1); // L: 193 - int var2 = var1.readUnsignedByte(); // L: 194 - if (var2 != 0) { // L: 195 - --var1.offset; // L: 196 - this.pitchModifier = new SoundEnvelope(); // L: 197 - this.pitchModifier.decode(var1); // L: 198 - this.pitchModifierAmplitude = new SoundEnvelope(); // L: 199 - this.pitchModifierAmplitude.decode(var1); // L: 200 - } + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.volumeMultiplier = new SoundEnvelope(); + this.volumeMultiplier.decode(var1); + this.volumeMultiplierAmplitude = new SoundEnvelope(); + this.volumeMultiplierAmplitude.decode(var1); + } - var2 = var1.readUnsignedByte(); // L: 202 - if (var2 != 0) { // L: 203 - --var1.offset; // L: 204 - this.volumeMultiplier = new SoundEnvelope(); // L: 205 - this.volumeMultiplier.decode(var1); // L: 206 - this.volumeMultiplierAmplitude = new SoundEnvelope(); // L: 207 - this.volumeMultiplierAmplitude.decode(var1); // L: 208 - } + var2 = var1.readUnsignedByte(); + if (var2 != 0) { + --var1.offset; + this.release = new SoundEnvelope(); + this.release.decode(var1); + this.attack = new SoundEnvelope(); + this.attack.decode(var1); + } - var2 = var1.readUnsignedByte(); // L: 210 - if (var2 != 0) { // L: 211 - --var1.offset; // L: 212 - this.release = new SoundEnvelope(); // L: 213 - this.release.decode(var1); // L: 214 - this.attack = new SoundEnvelope(); // L: 215 - this.attack.decode(var1); // L: 216 - } + for(int var3 = 0; var3 < 10; ++var3) { + int var4 = var1.readUShortSmart(); + if (var4 == 0) { + break; + } - for (int var3 = 0; var3 < 10; ++var3) { // L: 218 - int var4 = var1.readUShortSmart(); // L: 219 - if (var4 == 0) { // L: 220 - break; - } + this.oscillatorVolume[var3] = var4; + this.oscillatorPitch[var3] = var1.readShortSmart(); + this.oscillatorDelays[var3] = var1.readUShortSmart(); + } - this.oscillatorVolume[var3] = var4; // L: 221 - this.oscillatorPitch[var3] = var1.readShortSmart(); // L: 222 - this.oscillatorDelays[var3] = var1.readUShortSmart(); // L: 223 - } - - this.delayTime = var1.readUShortSmart(); // L: 225 - this.delayDecay = var1.readUShortSmart(); // L: 226 - this.duration = var1.readUnsignedShort(); // L: 227 - this.offset = var1.readUnsignedShort(); // L: 228 - this.filter = new AudioFilter(); // L: 229 - this.filterEnvelope = new SoundEnvelope(); // L: 230 - this.filter.method2772(var1, this.filterEnvelope); // L: 231 - } // L: 232 + this.delayTime = var1.readUShortSmart(); + this.delayDecay = var1.readUShortSmart(); + this.duration = var1.readUnsignedShort(); + this.offset = var1.readUnsignedShort(); + this.filter = new AudioFilter(); + this.filterEnvelope = new SoundEnvelope(); + this.filter.method2854(var1, this.filterEnvelope); + } } diff --git a/runescape-client/src/main/java/IntHashTable.java b/runescape-client/src/main/java/IntHashTable.java index b7de4d0ed4..89744897a7 100644 --- a/runescape-client/src/main/java/IntHashTable.java +++ b/runescape-client/src/main/java/IntHashTable.java @@ -3,56 +3,58 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mb") +@ObfuscatedName("ma") @Implements("IntHashTable") public class IntHashTable { - @ObfuscatedName("h") - @Export("array") - int[] array; + @ObfuscatedName("n") + @Export("array") + int[] array; - public IntHashTable(int[] var1) { - int var2; - for (var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { // L: 7 8 - } + public IntHashTable(int[] var1) { + int var2; + for(var2 = 1; var2 <= (var1.length >> 1) + var1.length; var2 <<= 1) { + ; + } - this.array = new int[var2 + var2]; // L: 9 + this.array = new int[var2 + var2]; - int var3; - for (var3 = 0; var3 < var2 + var2; ++var3) { // L: 10 - this.array[var3] = -1; - } + int var3; + for(var3 = 0; var3 < var2 + var2; ++var3) { + this.array[var3] = -1; + } - int var4; - for (var3 = 0; var3 < var1.length; this.array[var4 + var4 + 1] = var3++) { // L: 11 15 - for (var4 = var1[var3] & var2 - 1; this.array[var4 + var4 + 1] != -1; var4 = var4 + 1 & var2 - 1) { // L: 12 13 - } + int var4; + for(var3 = 0; var3 < var1.length; this.array[var4 + var4 + 1] = var3++) { + for(var4 = var1[var3] & var2 - 1; this.array[var4 + var4 + 1] != -1; var4 = var4 + 1 & var2 - 1) { + ; + } - this.array[var4 + var4] = var1[var3]; // L: 14 - } + this.array[var4 + var4] = var1[var3]; + } - } // L: 17 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1610554828" - ) - @Export("get") - public int get(int var1) { - int var2 = (this.array.length >> 1) - 1; // L: 20 - int var3 = var1 & var2; // L: 21 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "665276808" + ) + @Export("get") + public int get(int var1) { + int var2 = (this.array.length >> 1) - 1; + int var3 = var1 & var2; - while (true) { - int var4 = this.array[var3 + var3 + 1]; // L: 23 - if (var4 == -1) { // L: 24 - return -1; - } + while(true) { + int var4 = this.array[var3 + var3 + 1]; + if (var4 == -1) { + return -1; + } - if (this.array[var3 + var3] == var1) { // L: 25 - return var4; - } + if (this.array[var3 + var3] == var1) { + return var4; + } - var3 = var3 + 1 & var2; // L: 26 - } - } + var3 = var3 + 1 & var2; + } + } } diff --git a/runescape-client/src/main/java/IntegerNode.java b/runescape-client/src/main/java/IntegerNode.java index 6cff1a8733..ffe907be41 100644 --- a/runescape-client/src/main/java/IntegerNode.java +++ b/runescape-client/src/main/java/IntegerNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("gh") +@ObfuscatedName("gq") @Implements("IntegerNode") public class IntegerNode extends Node { - @ObfuscatedName("h") - @Export("integer") - public int integer; + @ObfuscatedName("n") + @Export("integer") + public int integer; - public IntegerNode(int var1) { - this.integer = var1; // L: 7 - } // L: 8 + public IntegerNode(int var1) { + this.integer = var1; + } } diff --git a/runescape-client/src/main/java/InterfaceParent.java b/runescape-client/src/main/java/InterfaceParent.java index c93474986f..78f7bc1dd0 100644 --- a/runescape-client/src/main/java/InterfaceParent.java +++ b/runescape-client/src/main/java/InterfaceParent.java @@ -1,46 +1,84 @@ -import java.util.concurrent.ScheduledExecutorService; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bt") +@ObfuscatedName("bs") @Implements("InterfaceParent") public class InterfaceParent extends Node { - @ObfuscatedName("t") - @Export("Interpreter_intLocals") - static int[] Interpreter_intLocals; - @ObfuscatedName("p") - @Export("soundSystemExecutor") - static ScheduledExecutorService soundSystemExecutor; - @ObfuscatedName("fq") - @ObfuscatedSignature( - descriptor = "Llr;" - ) - static AbstractSocket field562; - @ObfuscatedName("hy") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("scrollBarSprites") - static IndexedSprite[] scrollBarSprites; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -820173359 - ) - @Export("group") - int group; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1426286051 - ) - @Export("type") - int type; - @ObfuscatedName("x") - boolean field559; + @ObfuscatedName("st") + @ObfuscatedSignature( + descriptor = "Lcp;" + ) + @Export("friendSystem") + public static FriendSystem friendSystem; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("titlebuttonSprite") + static IndexedSprite titlebuttonSprite; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("Widget_spritesArchive") + static AbstractArchive Widget_spritesArchive; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1282105963 + ) + @Export("group") + int group; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1339179059 + ) + @Export("type") + int type; + @ObfuscatedName("d") + boolean field575 = false; - InterfaceParent() { - this.field559 = false; // L: 8 - } // L: 10 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([Lgh;II)Lgh;", + garbageValue = "1668419242" + ) + @Export("findEnumerated") + public static Enumerated findEnumerated(Enumerated[] var0, int var1) { + Enumerated[] var2 = var0; + + for(int var3 = 0; var3 < var2.length; ++var3) { + Enumerated var4 = var2[var3]; + if (var1 == var4.rsOrdinal()) { + return var4; + } + } + + return null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Ljs;", + garbageValue = "82" + ) + @Export("SequenceDefinition_get") + public static SequenceDefinition SequenceDefinition_get(int var0) { + SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); + var1 = new SequenceDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.postDecode(); + SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/Interpreter.java b/runescape-client/src/main/java/Interpreter.java index bfcc9ef2bb..711e68cc6f 100644 --- a/runescape-client/src/main/java/Interpreter.java +++ b/runescape-client/src/main/java/Interpreter.java @@ -4,129 +4,110 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cc") +@ObfuscatedName("cn") @Implements("Interpreter") public class Interpreter { - @ObfuscatedName("n") - @Export("Interpreter_arrayLengths") - static int[] Interpreter_arrayLengths; - @ObfuscatedName("p") - @Export("Interpreter_arrays") - static int[][] Interpreter_arrays; - @ObfuscatedName("l") - @Export("Interpreter_intStack") - static int[] Interpreter_intStack; - @ObfuscatedName("u") - @Export("Interpreter_stringStack") - static String[] Interpreter_stringStack; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1712020733 - ) - @Export("Interpreter_stringStackSize") - static int Interpreter_stringStackSize; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1415753819 - ) - @Export("Interpreter_frameDepth") - static int Interpreter_frameDepth; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "[Lbk;" - ) - @Export("Interpreter_frames") - static ScriptFrame[] Interpreter_frames; - @ObfuscatedName("a") - @Export("Interpreter_calendar") - static java.util.Calendar Interpreter_calendar; - @ObfuscatedName("b") - @Export("Interpreter_MONTHS") - static final String[] Interpreter_MONTHS; - @ObfuscatedName("r") - static boolean field1104; - @ObfuscatedName("q") - static boolean field1103; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1923352627 - ) - static int field1097; - @ObfuscatedName("d") - static final double field1093; + @ObfuscatedName("y") + @Export("Interpreter_intLocals") + static int[] Interpreter_intLocals; + @ObfuscatedName("z") + @Export("Interpreter_arrayLengths") + static int[] Interpreter_arrayLengths = new int[5]; + @ObfuscatedName("e") + @Export("Interpreter_arrays") + static int[][] Interpreter_arrays = new int[5][5000]; + @ObfuscatedName("q") + @Export("Interpreter_intStack") + static int[] Interpreter_intStack = new int[1000]; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1775407691 + ) + @Export("Interpreter_intStackSize") + static int Interpreter_intStackSize; + @ObfuscatedName("s") + @Export("Interpreter_stringStack") + static String[] Interpreter_stringStack = new String[1000]; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1832147507 + ) + @Export("Interpreter_stringStackSize") + static int Interpreter_stringStackSize; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 1349197587 + ) + @Export("Interpreter_frameDepth") + static int Interpreter_frameDepth = 0; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "[Lbz;" + ) + @Export("Interpreter_frames") + static ScriptFrame[] Interpreter_frames = new ScriptFrame[50]; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("scriptActiveWidget") + static Widget scriptActiveWidget; + @ObfuscatedName("x") + @Export("Interpreter_calendar") + static java.util.Calendar Interpreter_calendar = java.util.Calendar.getInstance(); + @ObfuscatedName("f") + @Export("Interpreter_MONTHS") + static final String[] Interpreter_MONTHS = new String[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lav;" + ) + @Export("worldMapEvent") + static WorldMapEvent worldMapEvent; + @ObfuscatedName("u") + static boolean field1120 = false; + @ObfuscatedName("t") + static boolean field1122 = false; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 365610695 + ) + static int field1123 = 0; + @ObfuscatedName("j") + static final double field1124 = Math.log(2.0D); + @ObfuscatedName("ea") + @ObfuscatedGetter( + intValue = 847561081 + ) + static int field1116; + @ObfuscatedName("gk") + @Export("regionMapArchives") + static byte[][] regionMapArchives; - static { - Interpreter_arrayLengths = new int[5]; // L: 70 - Interpreter_arrays = new int[5][5000]; // L: 71 - Interpreter_intStack = new int[1000]; // L: 72 - Interpreter_stringStack = new String[1000]; // L: 74 - Interpreter_frameDepth = 0; // L: 76 - Interpreter_frames = new ScriptFrame[50]; // L: 77 - Interpreter_calendar = java.util.Calendar.getInstance(); // L: 80 - Interpreter_MONTHS = new String[]{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; // L: 83 - field1104 = false; // L: 86 - field1103 = false; // L: 87 - field1097 = 0; // L: 88 - field1093 = Math.log(2.0D); // L: 92 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "-1493110038" + ) + @Export("hslToRgb") + static final int hslToRgb(int var0, int var1, int var2) { + if (var2 > 179) { + var1 /= 2; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;IIIZI)V", - garbageValue = "781493841" - ) - public static void method2082(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { - class206.musicPlayerStatus = 1; // L: 26 - Varps.musicTrackArchive = var0; // L: 27 - HealthBarUpdate.musicTrackGroupId = var1; // L: 28 - class206.musicTrackFileId = var2; // L: 29 - GrandExchangeEvent.musicTrackVolume = var3; // L: 30 - class231.musicTrackBoolean = var4; // L: 31 - WorldMapSection1.pcmSampleLength = 10000; // L: 32 - } // L: 33 + if (var2 > 192) { + var1 /= 2; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "636889033" - ) - static boolean method1995(char var0) { - return "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var0) != -1; // L: 875 - } + if (var2 > 217) { + var1 /= 2; + } - @ObfuscatedName("jn") - @ObfuscatedSignature( - descriptor = "([Lhe;IIIZI)V", - garbageValue = "-182742727" - ) - @Export("resizeInterface") - static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { - for (int var5 = 0; var5 < var0.length; ++var5) { // L: 9482 - Widget var6 = var0[var5]; // L: 9483 - if (var6 != null && var6.parentId == var1) { // L: 9484 9485 - TileItem.alignWidgetSize(var6, var2, var3, var4); // L: 9486 - class7.alignWidgetPosition(var6, var2, var3); // L: 9487 - if (var6.scrollX > var6.scrollWidth - var6.width) { // L: 9488 - var6.scrollX = var6.scrollWidth - var6.width; - } + if (var2 > 243) { + var1 /= 2; + } - if (var6.scrollX < 0) { // L: 9489 - var6.scrollX = 0; - } - - if (var6.scrollY > var6.scrollHeight - var6.height) { - var6.scrollY = var6.scrollHeight - var6.height; // L: 9490 - } - - if (var6.scrollY < 0) { // L: 9491 - var6.scrollY = 0; - } - - if (var6.type == 0) { // L: 9492 - PendingSpawn.revalidateWidgetScroll(var0, var6, var4); - } - } - } - - } // L: 9494 + int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; + return var3; + } } diff --git a/runescape-client/src/main/java/InvDefinition.java b/runescape-client/src/main/java/InvDefinition.java index ab917857d9..601371342e 100644 --- a/runescape-client/src/main/java/InvDefinition.java +++ b/runescape-client/src/main/java/InvDefinition.java @@ -4,280 +4,77 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ix") +@ObfuscatedName("ij") @Implements("InvDefinition") public class InvDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("InvDefinition_archive") - public static AbstractArchive InvDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("InvDefinition_cached") - static EvictingDualNodeHashTable InvDefinition_cached; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -449980577 - ) - @Export("size") - public int size; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("InvDefinition_archive") + static AbstractArchive InvDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("InvDefinition_cached") + static EvictingDualNodeHashTable InvDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 2039181525 + ) + @Export("size") + public int size = 0; - static { - InvDefinition_cached = new EvictingDualNodeHashTable(64); // L: 11 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "-26" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - InvDefinition() { - this.size = 0; // L: 12 - } // L: 14 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1553227533" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 28 - if (var2 == 0) { // L: 29 - return; // L: 32 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-667990593" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 2) { + this.size = var1.readUnsignedShort(); + } - this.decodeNext(var1, var2); // L: 30 - } - } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "127" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 2) { // L: 35 - this.size = var1.readUnsignedShort(); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IB)Lic;", + garbageValue = "63" + ) + @Export("WorldMapElement_get") + public static WorldMapElement WorldMapElement_get(int var0) { + return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); + } - } // L: 37 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)[Lgs;", - garbageValue = "-1827555647" - ) - public static class194[] method4371() { - return new class194[]{class194.field2348, class194.field2342, class194.field2344, class194.field2350, class194.field2346, class194.field2345, class194.field2343, class194.field2349, class194.field2347, class194.field2351}; // L: 17 - } - - @ObfuscatedName("iv") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-982024968" - ) - @Export("addSceneMenuOptions") - static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { - if (Client.isItemSelected == 0 && !Client.isSpellSelected) { // L: 8561 - WorldMapRegion.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); // L: 8562 - } - - long var4 = -1L; // L: 8565 - long var6 = -1L; // L: 8566 - int var8 = 0; - - while (true) { - int var10 = ViewportMouse.ViewportMouse_entityCount; // L: 8571 - if (var8 >= var10) { // L: 8573 - if (var4 != -1L) { // L: 8706 - var8 = ClientPacket.method3671(var4); // L: 8707 - int var9 = (int)(var4 >>> 7 & 127L); // L: 8710 - Player var11 = Client.players[Client.combatTargetPlayerIndex]; // L: 8713 - FloorDecoration.addPlayerToMenu(var11, Client.combatTargetPlayerIndex, var8, var9); // L: 8714 - } - - return; // L: 8716 - } - - long var27 = ViewportMouse.ViewportMouse_entityTags[var8]; // L: 8576 - if (var27 != var6) { // L: 8579 - label336: { - var6 = var27; // L: 8580 - int var15 = LoginScreenAnimation.method1904(var8); // L: 8581 - int var16 = Tiles.method1170(var8); // L: 8582 - int var17 = Widget.Entity_unpackSceneX(ViewportMouse.ViewportMouse_entityTags[var8]); // L: 8585 - int var19 = Occluder.Entity_unpackID(ViewportMouse.ViewportMouse_entityTags[var8]); // L: 8590 - int var20 = var19; // L: 8592 - if (var17 == 2 && ArchiveLoader.scene.getObjectFlags(GameObject.Client_plane, var15, var16, var27) >= 0) { // L: 8593 8594 - ObjectComposition var21 = WorldMapDecoration.getObjectDefinition(var19); // L: 8595 - if (var21.transforms != null) { // L: 8596 - var21 = var21.transform(); - } - - if (var21 == null) { // L: 8597 - break label336; - } - - if (Client.isItemSelected == 1) { // L: 8598 - WorldMapRegion.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class23.colorStartTag(65535) + var21.name, 1, var19, var15, var16); // L: 8599 - } else if (Client.isSpellSelected) { // L: 8602 - if ((Player.selectedSpellFlags & 4) == 4) { // L: 8603 - WorldMapRegion.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class23.colorStartTag(65535) + var21.name, 2, var19, var15, var16); // L: 8604 - } - } else { - String[] var22 = var21.actions; // L: 8609 - if (var22 != null) { // L: 8610 - for (int var23 = 4; var23 >= 0; --var23) { // L: 8611 - if (var22[var23] != null) { // L: 8612 - short var24 = 0; // L: 8613 - if (var23 == 0) { // L: 8614 - var24 = 3; - } - - if (var23 == 1) { // L: 8615 - var24 = 4; - } - - if (var23 == 2) { // L: 8616 - var24 = 5; - } - - if (var23 == 3) { // L: 8617 - var24 = 6; - } - - if (var23 == 4) { // L: 8618 - var24 = 1001; - } - - WorldMapRegion.insertMenuItemNoShift(var22[var23], class23.colorStartTag(65535) + var21.name, var24, var20, var15, var16); // L: 8619 - } - } - } - - WorldMapRegion.insertMenuItemNoShift("Examine", class23.colorStartTag(65535) + var21.name, 1002, var21.id, var15, var16); // L: 8624 - } - } - - Player var25; - int var29; - NPC var30; - int var37; - int[] var38; - if (var17 == 1) { // L: 8629 - NPC var33 = Client.npcs[var20]; // L: 8630 - if (var33 == null) { // L: 8631 - break label336; - } - - if (var33.definition.size == 1 && (var33.x & 127) == 64 && (var33.y & 127) == 64) { // L: 8632 - for (var29 = 0; var29 < Client.npcCount; ++var29) { // L: 8633 - var30 = Client.npcs[Client.npcIndices[var29]]; // L: 8634 - if (var30 != null && var30 != var33 && var30.definition.size == 1 && var33.x == var30.x && var33.y == var30.y) { // L: 8635 - TileItem.addNpcToMenu(var30.definition, Client.npcIndices[var29], var15, var16); - } - } - - var29 = Players.Players_count; // L: 8637 - var38 = Players.Players_indices; // L: 8638 - - for (var37 = 0; var37 < var29; ++var37) { // L: 8639 - var25 = Client.players[var38[var37]]; // L: 8640 - if (var25 != null && var33.x == var25.x && var25.y == var33.y) { // L: 8641 - FloorDecoration.addPlayerToMenu(var25, var38[var37], var15, var16); - } - } - } - - TileItem.addNpcToMenu(var33.definition, var20, var15, var16); // L: 8644 - } - - if (var17 == 0) { // L: 8646 - Player var34 = Client.players[var20]; // L: 8647 - if (var34 == null) { // L: 8648 - break label336; - } - - if ((var34.x & 127) == 64 && (var34.y & 127) == 64) { // L: 8649 - for (var29 = 0; var29 < Client.npcCount; ++var29) { // L: 8650 - var30 = Client.npcs[Client.npcIndices[var29]]; // L: 8651 - if (var30 != null && var30.definition.size == 1 && var30.x == var34.x && var34.y == var30.y) { // L: 8652 - TileItem.addNpcToMenu(var30.definition, Client.npcIndices[var29], var15, var16); - } - } - - var29 = Players.Players_count; // L: 8654 - var38 = Players.Players_indices; // L: 8655 - - for (var37 = 0; var37 < var29; ++var37) { // L: 8656 - var25 = Client.players[var38[var37]]; // L: 8657 - if (var25 != null && var34 != var25 && var34.x == var25.x && var34.y == var25.y) { // L: 8658 - FloorDecoration.addPlayerToMenu(var25, var38[var37], var15, var16); - } - } - } - - if (var20 != Client.combatTargetPlayerIndex) { // L: 8661 - FloorDecoration.addPlayerToMenu(var34, var20, var15, var16); - } else { - var4 = var27; // L: 8662 - } - } - - if (var17 == 3) { // L: 8664 - NodeDeque var36 = Client.groundItems[GameObject.Client_plane][var15][var16]; // L: 8665 - if (var36 != null) { // L: 8666 - for (TileItem var35 = (TileItem)var36.first(); var35 != null; var35 = (TileItem)var36.next()) { // L: 8667 8668 8701 - ItemComposition var39 = SecureRandomCallable.ItemDefinition_get(var35.id); // L: 8669 - if (Client.isItemSelected == 1) { // L: 8670 - WorldMapRegion.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class23.colorStartTag(16748608) + var39.name, 16, var35.id, var15, var16); // L: 8671 - } else if (Client.isSpellSelected) { // L: 8674 - if ((Player.selectedSpellFlags & 1) == 1) { // L: 8675 - WorldMapRegion.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class23.colorStartTag(16748608) + var39.name, 17, var35.id, var15, var16); // L: 8676 - } - } else { - String[] var31 = var39.groundActions; // L: 8681 - - for (int var32 = 4; var32 >= 0; --var32) { // L: 8682 - if (var31 != null && var31[var32] != null) { // L: 8683 - byte var26 = 0; // L: 8684 - if (var32 == 0) { // L: 8685 - var26 = 18; - } - - if (var32 == 1) { // L: 8686 - var26 = 19; - } - - if (var32 == 2) { // L: 8687 - var26 = 20; - } - - if (var32 == 3) { // L: 8688 - var26 = 21; - } - - if (var32 == 4) { // L: 8689 - var26 = 22; - } - - WorldMapRegion.insertMenuItemNoShift(var31[var32], class23.colorStartTag(16748608) + var39.name, var26, var35.id, var15, var16); // L: 8690 - } else if (var32 == 2) { // L: 8693 - WorldMapRegion.insertMenuItemNoShift("Take", class23.colorStartTag(16748608) + var39.name, 20, var35.id, var15, var16); // L: 8694 - } - } - - WorldMapRegion.insertMenuItemNoShift("Examine", class23.colorStartTag(16748608) + var39.name, 1004, var35.id, var15, var16); // L: 8698 - } - } - } - } - } - } - - ++var8; // L: 8567 - } - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "1853243794" + ) + @Export("setLoginResponseString") + static void setLoginResponseString(String var0, String var1, String var2) { + Login.Login_response1 = var0; + Login.Login_response2 = var1; + Login.Login_response3 = var2; + } } diff --git a/runescape-client/src/main/java/IsaacCipher.java b/runescape-client/src/main/java/IsaacCipher.java index ecc1a1daa7..fa4921b19f 100644 --- a/runescape-client/src/main/java/IsaacCipher.java +++ b/runescape-client/src/main/java/IsaacCipher.java @@ -4,241 +4,251 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("md") +@ObfuscatedName("mw") @Implements("IsaacCipher") public final class IsaacCipher { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -201313701 - ) - @Export("valuesRemaining") - int valuesRemaining; - @ObfuscatedName("t") - @Export("results") - int[] results; - @ObfuscatedName("j") - @Export("mm") - int[] mm; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1404092857 - ) - @Export("aa") - int aa; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1680439763 - ) - @Export("bb") - int bb; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -162342365 - ) - @Export("cc") - int cc; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1316013603 + ) + @Export("valuesRemaining") + int valuesRemaining; + @ObfuscatedName("y") + @Export("results") + int[] results = new int[256]; + @ObfuscatedName("h") + @Export("mm") + int[] mm = new int[256]; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 901564777 + ) + @Export("aa") + int aa; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1322054545 + ) + @Export("bb") + int bb; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1647465607 + ) + @Export("cc") + int cc; - public IsaacCipher(int[] var1) { - this.mm = new int[256]; // L: 15 - this.results = new int[256]; // L: 16 + public IsaacCipher(int[] var1) { + for(int var2 = 0; var2 < var1.length; ++var2) { + this.results[var2] = var1[var2]; + } - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 17 - this.results[var2] = var1[var2]; // L: 18 - } + this.method6466(); + } - this.method6309(); // L: 20 - } // L: 21 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "105" + ) + @Export("nextInt") + public final int nextInt() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1023281998" - ) - @Export("nextInt") - public final int nextInt() { - if (this.valuesRemaining == 0) { // L: 24 - this.generateMoreResults(); // L: 25 - this.valuesRemaining = 256; // L: 26 - } + return this.results[--this.valuesRemaining]; + } - return this.results[--this.valuesRemaining]; // L: 28 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "600034731" + ) + public final int method6474() { + if (this.valuesRemaining == 0) { + this.generateMoreResults(); + this.valuesRemaining = 256; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1809615981" - ) - public final int method6307() { - if (this.valuesRemaining == 0) { // L: 32 - this.generateMoreResults(); // L: 33 - this.valuesRemaining = 256; // L: 34 - } + return this.results[this.valuesRemaining - 1]; + } - return this.results[this.valuesRemaining - 1]; // L: 36 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "2032903481" + ) + @Export("generateMoreResults") + final void generateMoreResults() { + this.bb += ++this.cc; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-127327099" - ) - @Export("generateMoreResults") - final void generateMoreResults() { - this.bb += ++this.cc; // L: 43 + for(int var1 = 0; var1 < 256; ++var1) { + int var2 = this.mm[var1]; + if ((var1 & 2) == 0) { + if ((var1 & 1) == 0) { + this.aa ^= this.aa << 13; + } else { + this.aa ^= this.aa >>> 6; + } + } else if ((var1 & 1) == 0) { + this.aa ^= this.aa << 2; + } else { + this.aa ^= this.aa >>> 16; + } - for (int var1 = 0; var1 < 256; ++var1) { // L: 44 - int var2 = this.mm[var1]; // L: 45 - if ((var1 & 2) == 0) { // L: 46 - if ((var1 & 1) == 0) { // L: 47 - this.aa ^= this.aa << 13; - } else { - this.aa ^= this.aa >>> 6; // L: 48 - } - } else if ((var1 & 1) == 0) { // L: 51 - this.aa ^= this.aa << 2; - } else { - this.aa ^= this.aa >>> 16; // L: 52 - } + this.aa += this.mm[var1 + 128 & 255]; + int var3; + this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.aa + this.bb; + this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; + } - this.aa += this.mm[var1 + 128 & 255]; // L: 54 - int var3; - this.mm[var1] = var3 = this.mm[(var2 & 1020) >> 2] + this.aa + this.bb; // L: 55 - this.results[var1] = this.bb = this.mm[(var3 >> 8 & 1020) >> 2] + var2; // L: 56 - } + } - } // L: 58 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-852734098" + ) + final void method6466() { + int var9 = -1640531527; + int var8 = -1640531527; + int var7 = -1640531527; + int var6 = -1640531527; + int var5 = -1640531527; + int var4 = -1640531527; + int var3 = -1640531527; + int var2 = -1640531527; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1669913589" - ) - final void method6309() { - int var9 = -1640531527; // L: 70 - int var8 = -1640531527; // L: 71 - int var7 = -1640531527; // L: 72 - int var6 = -1640531527; // L: 73 - int var5 = -1640531527; // L: 74 - int var4 = -1640531527; // L: 75 - int var3 = -1640531527; // L: 76 - int var2 = -1640531527; // L: 77 + int var1; + for(var1 = 0; var1 < 4; ++var1) { + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + } - int var1; - for (var1 = 0; var1 < 4; ++var1) { // L: 78 - var2 ^= var3 << 11; // L: 79 - var5 += var2; // L: 80 - var3 += var4; // L: 81 - var3 ^= var4 >>> 2; // L: 82 - var6 += var3; // L: 83 - var4 += var5; // L: 84 - var4 ^= var5 << 8; // L: 85 - var7 += var4; // L: 86 - var5 += var6; // L: 87 - var5 ^= var6 >>> 16; // L: 88 - var8 += var5; // L: 89 - var6 += var7; // L: 90 - var6 ^= var7 << 10; // L: 91 - var9 += var6; // L: 92 - var7 += var8; // L: 93 - var7 ^= var8 >>> 4; // L: 94 - var2 += var7; // L: 95 - var8 += var9; // L: 96 - var8 ^= var9 << 8; // L: 97 - var3 += var8; // L: 98 - var9 += var2; // L: 99 - var9 ^= var2 >>> 9; // L: 100 - var4 += var9; // L: 101 - var2 += var3; // L: 102 - } + for(var1 = 0; var1 < 256; var1 += 8) { + var2 += this.results[var1]; + var3 += this.results[var1 + 1]; + var4 += this.results[var1 + 2]; + var5 += this.results[var1 + 3]; + var6 += this.results[var1 + 4]; + var7 += this.results[var1 + 5]; + var8 += this.results[var1 + 6]; + var9 += this.results[var1 + 7]; + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + this.mm[var1] = var2; + this.mm[var1 + 1] = var3; + this.mm[var1 + 2] = var4; + this.mm[var1 + 3] = var5; + this.mm[var1 + 4] = var6; + this.mm[var1 + 5] = var7; + this.mm[var1 + 6] = var8; + this.mm[var1 + 7] = var9; + } - for (var1 = 0; var1 < 256; var1 += 8) { // L: 104 - var2 += this.results[var1]; // L: 105 - var3 += this.results[var1 + 1]; // L: 106 - var4 += this.results[var1 + 2]; // L: 107 - var5 += this.results[var1 + 3]; // L: 108 - var6 += this.results[var1 + 4]; // L: 109 - var7 += this.results[var1 + 5]; // L: 110 - var8 += this.results[var1 + 6]; // L: 111 - var9 += this.results[var1 + 7]; // L: 112 - var2 ^= var3 << 11; // L: 113 - var5 += var2; // L: 114 - var3 += var4; // L: 115 - var3 ^= var4 >>> 2; // L: 116 - var6 += var3; // L: 117 - var4 += var5; // L: 118 - var4 ^= var5 << 8; // L: 119 - var7 += var4; // L: 120 - var5 += var6; // L: 121 - var5 ^= var6 >>> 16; // L: 122 - var8 += var5; // L: 123 - var6 += var7; // L: 124 - var6 ^= var7 << 10; // L: 125 - var9 += var6; // L: 126 - var7 += var8; // L: 127 - var7 ^= var8 >>> 4; // L: 128 - var2 += var7; // L: 129 - var8 += var9; // L: 130 - var8 ^= var9 << 8; // L: 131 - var3 += var8; // L: 132 - var9 += var2; // L: 133 - var9 ^= var2 >>> 9; // L: 134 - var4 += var9; // L: 135 - var2 += var3; // L: 136 - this.mm[var1] = var2; // L: 137 - this.mm[var1 + 1] = var3; // L: 138 - this.mm[var1 + 2] = var4; // L: 139 - this.mm[var1 + 3] = var5; // L: 140 - this.mm[var1 + 4] = var6; // L: 141 - this.mm[var1 + 5] = var7; // L: 142 - this.mm[var1 + 6] = var8; // L: 143 - this.mm[var1 + 7] = var9; // L: 144 - } + for(var1 = 0; var1 < 256; var1 += 8) { + var2 += this.mm[var1]; + var3 += this.mm[var1 + 1]; + var4 += this.mm[var1 + 2]; + var5 += this.mm[var1 + 3]; + var6 += this.mm[var1 + 4]; + var7 += this.mm[var1 + 5]; + var8 += this.mm[var1 + 6]; + var9 += this.mm[var1 + 7]; + var2 ^= var3 << 11; + var5 += var2; + var3 += var4; + var3 ^= var4 >>> 2; + var6 += var3; + var4 += var5; + var4 ^= var5 << 8; + var7 += var4; + var5 += var6; + var5 ^= var6 >>> 16; + var8 += var5; + var6 += var7; + var6 ^= var7 << 10; + var9 += var6; + var7 += var8; + var7 ^= var8 >>> 4; + var2 += var7; + var8 += var9; + var8 ^= var9 << 8; + var3 += var8; + var9 += var2; + var9 ^= var2 >>> 9; + var4 += var9; + var2 += var3; + this.mm[var1] = var2; + this.mm[var1 + 1] = var3; + this.mm[var1 + 2] = var4; + this.mm[var1 + 3] = var5; + this.mm[var1 + 4] = var6; + this.mm[var1 + 5] = var7; + this.mm[var1 + 6] = var8; + this.mm[var1 + 7] = var9; + } - for (var1 = 0; var1 < 256; var1 += 8) { // L: 146 - var2 += this.mm[var1]; // L: 147 - var3 += this.mm[var1 + 1]; // L: 148 - var4 += this.mm[var1 + 2]; // L: 149 - var5 += this.mm[var1 + 3]; // L: 150 - var6 += this.mm[var1 + 4]; // L: 151 - var7 += this.mm[var1 + 5]; // L: 152 - var8 += this.mm[var1 + 6]; // L: 153 - var9 += this.mm[var1 + 7]; // L: 154 - var2 ^= var3 << 11; // L: 155 - var5 += var2; // L: 156 - var3 += var4; // L: 157 - var3 ^= var4 >>> 2; // L: 158 - var6 += var3; // L: 159 - var4 += var5; // L: 160 - var4 ^= var5 << 8; // L: 161 - var7 += var4; // L: 162 - var5 += var6; // L: 163 - var5 ^= var6 >>> 16; // L: 164 - var8 += var5; // L: 165 - var6 += var7; // L: 166 - var6 ^= var7 << 10; // L: 167 - var9 += var6; // L: 168 - var7 += var8; // L: 169 - var7 ^= var8 >>> 4; // L: 170 - var2 += var7; // L: 171 - var8 += var9; // L: 172 - var8 ^= var9 << 8; // L: 173 - var3 += var8; // L: 174 - var9 += var2; // L: 175 - var9 ^= var2 >>> 9; // L: 176 - var4 += var9; // L: 177 - var2 += var3; // L: 178 - this.mm[var1] = var2; // L: 179 - this.mm[var1 + 1] = var3; // L: 180 - this.mm[var1 + 2] = var4; // L: 181 - this.mm[var1 + 3] = var5; // L: 182 - this.mm[var1 + 4] = var6; // L: 183 - this.mm[var1 + 5] = var7; // L: 184 - this.mm[var1 + 6] = var8; // L: 185 - this.mm[var1 + 7] = var9; // L: 186 - } + this.generateMoreResults(); + this.valuesRemaining = 256; + } - this.generateMoreResults(); // L: 188 - this.valuesRemaining = 256; // L: 189 - } // L: 190 + @ObfuscatedName("ja") + @ObfuscatedSignature( + descriptor = "(Lhz;S)V", + garbageValue = "180" + ) + @Export("invalidateWidget") + static void invalidateWidget(Widget var0) { + if (var0.cycle == Client.field868) { + Client.field816[var0.rootIndex] = true; + } + + } } diff --git a/runescape-client/src/main/java/ItemComposition.java b/runescape-client/src/main/java/ItemComposition.java index 010bbcff13..15bac3b3e7 100644 --- a/runescape-client/src/main/java/ItemComposition.java +++ b/runescape-client/src/main/java/ItemComposition.java @@ -4,926 +4,869 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jq") +@ObfuscatedName("jj") @Implements("ItemComposition") public class ItemComposition extends DualNode { - @ObfuscatedName("p") - @Export("ItemDefinition_inMembersWorld") - static boolean ItemDefinition_inMembersWorld; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ItemDefinition_cached") - static EvictingDualNodeHashTable ItemDefinition_cached; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ItemDefinition_cachedModels") - static EvictingDualNodeHashTable ItemDefinition_cachedModels; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ItemDefinition_cachedSprites") - public static EvictingDualNodeHashTable ItemDefinition_cachedSprites; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lku;" - ) - @Export("ItemDefinition_fontPlain11") - static Font ItemDefinition_fontPlain11; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1664014825 - ) - @Export("id") - public int id; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1542603925 - ) - @Export("model") - int model; - @ObfuscatedName("f") - @Export("name") - public String name; - @ObfuscatedName("a") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("b") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("y") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("r") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1249863743 - ) - @Export("zoom2d") - public int zoom2d; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 378039335 - ) - @Export("xan2d") - public int xan2d; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1811336517 - ) - @Export("yan2d") - public int yan2d; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1318527433 - ) - @Export("zan2d") - public int zan2d; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 283491883 - ) - @Export("offsetX2d") - public int offsetX2d; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -2031030215 - ) - @Export("offsetY2d") - public int offsetY2d; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = 1485594721 - ) - @Export("isStackable") - public int isStackable; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -1502595169 - ) - @Export("price") - public int price; - @ObfuscatedName("ax") - @Export("isMembersOnly") - public boolean isMembersOnly; - @ObfuscatedName("ag") - @Export("groundActions") - public String[] groundActions; - @ObfuscatedName("au") - @Export("inventoryActions") - public String[] inventoryActions; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -38561917 - ) - @Export("shiftClickIndex") - int shiftClickIndex; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -1077212297 - ) - @Export("maleModel") - int maleModel; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -2036756411 - ) - @Export("maleModel1") - int maleModel1; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = -68521997 - ) - @Export("maleOffset") - int maleOffset; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -1318898035 - ) - @Export("femaleModel") - int femaleModel; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -77073097 - ) - @Export("femaleModel1") - int femaleModel1; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = 1101903295 - ) - @Export("femaleOffset") - int femaleOffset; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 1577350627 - ) - @Export("maleModel2") - int maleModel2; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -888895899 - ) - @Export("femaleModel2") - int femaleModel2; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -461468775 - ) - @Export("maleHeadModel") - int maleHeadModel; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -327288721 - ) - @Export("maleHeadModel2") - int maleHeadModel2; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = 1741123647 - ) - @Export("femaleHeadModel") - int femaleHeadModel; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -1501910565 - ) - @Export("femaleHeadModel2") - int femaleHeadModel2; - @ObfuscatedName("ai") - @Export("countobj") - int[] countobj; - @ObfuscatedName("al") - @Export("countco") - int[] countco; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = -1267846609 - ) - @Export("note") - public int note; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = -582464211 - ) - @Export("noteTemplate") - public int noteTemplate; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -142471915 - ) - @Export("resizeX") - int resizeX; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 1969283265 - ) - @Export("resizeY") - int resizeY; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -840638399 - ) - @Export("resizeZ") - int resizeZ; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = -774071987 - ) - @Export("ambient") - public int ambient; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = 1805763539 - ) - @Export("contrast") - public int contrast; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -296565947 - ) - @Export("team") - public int team; - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("params") - IterableNodeHashTable params; - @ObfuscatedName("bl") - @Export("isTradable") - public boolean isTradable; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = -1768279497 - ) - @Export("unnotedId") - int unnotedId; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = -1788707457 - ) - @Export("notedId") - int notedId; - @ObfuscatedName("bz") - @ObfuscatedGetter( - intValue = 1260522137 - ) - @Export("placeholder") - public int placeholder; - @ObfuscatedName("bm") - @ObfuscatedGetter( - intValue = 483984813 - ) - @Export("placeholderTemplate") - public int placeholderTemplate; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ItemDefinition_cached") + public static EvictingDualNodeHashTable ItemDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ItemDefinition_cachedModels") + public static EvictingDualNodeHashTable ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ItemDefinition_cachedSprites") + public static EvictingDualNodeHashTable ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("ItemDefinition_fontPlain11") + public static Font ItemDefinition_fontPlain11; + @ObfuscatedName("es") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive17") + static Archive archive17; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1001964101 + ) + @Export("id") + public int id; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1799325523 + ) + @Export("model") + int model; + @ObfuscatedName("i") + @Export("name") + public String name = "null"; + @ObfuscatedName("x") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("f") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("g") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("u") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 6879929 + ) + @Export("zoom2d") + public int zoom2d = 2000; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1688105217 + ) + @Export("xan2d") + public int xan2d = 0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1543947313 + ) + @Export("yan2d") + public int yan2d = 0; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1306292043 + ) + @Export("zan2d") + public int zan2d = 0; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1516282991 + ) + @Export("offsetX2d") + public int offsetX2d = 0; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = 1944648005 + ) + @Export("offsetY2d") + public int offsetY2d = 0; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -1833299999 + ) + @Export("isStackable") + public int isStackable = 0; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 753728935 + ) + @Export("price") + public int price = 1; + @ObfuscatedName("ag") + @Export("isMembersOnly") + public boolean isMembersOnly = false; + @ObfuscatedName("ae") + @Export("groundActions") + public String[] groundActions = new String[]{null, null, "Take", null, null}; + @ObfuscatedName("ac") + @Export("inventoryActions") + public String[] inventoryActions = new String[]{null, null, null, null, "Drop"}; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1719700473 + ) + @Export("shiftClickIndex") + int shiftClickIndex = -2; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1669101649 + ) + @Export("maleModel") + int maleModel = -1; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -2060581313 + ) + @Export("maleModel1") + int maleModel1 = -1; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -924111705 + ) + @Export("maleOffset") + int maleOffset = 0; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -933159689 + ) + @Export("femaleModel") + int femaleModel = -1; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -706743113 + ) + @Export("femaleModel1") + int femaleModel1 = -1; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -224060053 + ) + @Export("femaleOffset") + int femaleOffset = 0; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -156140513 + ) + @Export("maleModel2") + int maleModel2 = -1; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = 1489011567 + ) + @Export("femaleModel2") + int femaleModel2 = -1; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = -1126073689 + ) + @Export("maleHeadModel") + int maleHeadModel = -1; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -579174705 + ) + @Export("maleHeadModel2") + int maleHeadModel2 = -1; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = -1575362213 + ) + @Export("femaleHeadModel") + int femaleHeadModel = -1; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 580683253 + ) + @Export("femaleHeadModel2") + int femaleHeadModel2 = -1; + @ObfuscatedName("ai") + @Export("countobj") + int[] countobj; + @ObfuscatedName("ab") + @Export("countco") + int[] countco; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 1429029547 + ) + @Export("note") + public int note = -1; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1169335275 + ) + @Export("noteTemplate") + public int noteTemplate = -1; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = 1218520383 + ) + @Export("resizeX") + int resizeX = 128; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 1237330743 + ) + @Export("resizeY") + int resizeY = 128; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -52672675 + ) + @Export("resizeZ") + int resizeZ = 128; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = -1894951113 + ) + @Export("ambient") + public int ambient = 0; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = 350905955 + ) + @Export("contrast") + public int contrast = 0; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = -358340883 + ) + @Export("team") + public int team = 0; + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("params") + IterableNodeHashTable params; + @ObfuscatedName("br") + @Export("isTradable") + public boolean isTradable = false; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = 1240574229 + ) + @Export("unnotedId") + int unnotedId = -1; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = 1151278327 + ) + @Export("notedId") + int notedId = -1; + @ObfuscatedName("bc") + @ObfuscatedGetter( + intValue = 1976795321 + ) + @Export("placeholder") + public int placeholder = -1; + @ObfuscatedName("bw") + @ObfuscatedGetter( + intValue = 1745623911 + ) + @Export("placeholderTemplate") + public int placeholderTemplate = -1; - static { - ItemDefinition_cached = new EvictingDualNodeHashTable(64); // L: 28 - ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); // L: 29 - ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200); // L: 30 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "988700298" + ) + @Export("post") + void post() { + } - ItemComposition() { - this.name = "null"; // L: 34 - this.zoom2d = 2000; // L: 39 - this.xan2d = 0; // L: 40 - this.yan2d = 0; // L: 41 - this.zan2d = 0; // L: 42 - this.offsetX2d = 0; // L: 43 - this.offsetY2d = 0; // L: 44 - this.isStackable = 0; // L: 45 - this.price = 1; // L: 46 - this.isMembersOnly = false; // L: 47 - this.groundActions = new String[]{null, null, "Take", null, null}; // L: 48 - this.inventoryActions = new String[]{null, null, null, null, "Drop"}; // L: 49 - this.shiftClickIndex = -2; // L: 51 - this.maleModel = -1; // L: 52 - this.maleModel1 = -1; // L: 53 - this.maleOffset = 0; // L: 54 - this.femaleModel = -1; // L: 55 - this.femaleModel1 = -1; // L: 56 - this.femaleOffset = 0; // L: 57 - this.maleModel2 = -1; // L: 58 - this.femaleModel2 = -1; // L: 59 - this.maleHeadModel = -1; // L: 60 - this.maleHeadModel2 = -1; // L: 61 - this.femaleHeadModel = -1; // L: 62 - this.femaleHeadModel2 = -1; // L: 63 - this.note = -1; // L: 66 - this.noteTemplate = -1; // L: 67 - this.resizeX = 128; // L: 68 - this.resizeY = 128; // L: 69 - this.resizeZ = 128; // L: 70 - this.ambient = 0; // L: 71 - this.contrast = 0; // L: 72 - this.team = 0; // L: 73 - this.isTradable = false; // L: 75 - this.unnotedId = -1; // L: 76 - this.notedId = -1; // L: 77 - this.placeholder = -1; // L: 78 - this.placeholderTemplate = -1; // L: 79 - } // L: 81 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-2119006987" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-617836008" - ) - @Export("post") - void post() { - } // L: 123 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "2011141659" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 127 - if (var2 == 0) { // L: 128 - return; // L: 131 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "42" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.model = var1.readUnsignedShort(); + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.zoom2d = var1.readUnsignedShort(); + } else if (var2 == 5) { + this.xan2d = var1.readUnsignedShort(); + } else if (var2 == 6) { + this.yan2d = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.offsetX2d = var1.readUnsignedShort(); + if (this.offsetX2d > 32767) { + this.offsetX2d -= 65536; + } + } else if (var2 == 8) { + this.offsetY2d = var1.readUnsignedShort(); + if (this.offsetY2d > 32767) { + this.offsetY2d -= 65536; + } + } else if (var2 == 11) { + this.isStackable = 1; + } else if (var2 == 12) { + this.price = var1.readInt(); + } else if (var2 == 16) { + this.isMembersOnly = true; + } else if (var2 == 23) { + this.maleModel = var1.readUnsignedShort(); + this.maleOffset = var1.readUnsignedByte(); + } else if (var2 == 24) { + this.maleModel1 = var1.readUnsignedShort(); + } else if (var2 == 25) { + this.femaleModel = var1.readUnsignedShort(); + this.femaleOffset = var1.readUnsignedByte(); + } else if (var2 == 26) { + this.femaleModel1 = var1.readUnsignedShort(); + } else if (var2 >= 30 && var2 < 35) { + this.groundActions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.groundActions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.groundActions[var2 - 30] = null; + } + } 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]; - this.decodeNext(var1, var2); // L: 129 - } - } + 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]; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "1800832423" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 134 - this.model = var1.readUnsignedShort(); - } else if (var2 == 2) { // L: 135 - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { // L: 136 - this.zoom2d = var1.readUnsignedShort(); - } else if (var2 == 5) { // L: 137 - this.xan2d = var1.readUnsignedShort(); - } else if (var2 == 6) { // L: 138 - this.yan2d = var1.readUnsignedShort(); - } else if (var2 == 7) { // L: 139 - this.offsetX2d = var1.readUnsignedShort(); // L: 140 - if (this.offsetX2d > 32767) { // L: 141 - this.offsetX2d -= 65536; - } - } else if (var2 == 8) { // L: 143 - this.offsetY2d = var1.readUnsignedShort(); // L: 144 - if (this.offsetY2d > 32767) { - this.offsetY2d -= 65536; // L: 145 - } - } else if (var2 == 11) { // L: 147 - this.isStackable = 1; - } else if (var2 == 12) { // L: 148 - this.price = var1.readInt(); - } else if (var2 == 16) { // L: 149 - this.isMembersOnly = true; - } else if (var2 == 23) { // L: 150 - this.maleModel = var1.readUnsignedShort(); // L: 151 - this.maleOffset = var1.readUnsignedByte(); // L: 152 - } else if (var2 == 24) { // L: 154 - this.maleModel1 = var1.readUnsignedShort(); - } else if (var2 == 25) { // L: 155 - this.femaleModel = var1.readUnsignedShort(); // L: 156 - this.femaleOffset = var1.readUnsignedByte(); // L: 157 - } else if (var2 == 26) { // L: 159 - this.femaleModel1 = var1.readUnsignedShort(); - } else if (var2 >= 30 && var2 < 35) { // L: 160 - this.groundActions[var2 - 30] = var1.readStringCp1252NullTerminated(); // L: 161 - if (this.groundActions[var2 - 30].equalsIgnoreCase("Hidden")) { // L: 162 - this.groundActions[var2 - 30] = null; - } - } else if (var2 >= 35 && var2 < 40) { // L: 164 - this.inventoryActions[var2 - 35] = var1.readStringCp1252NullTerminated(); - } else { - int var3; - int var4; - if (var2 == 40) { // L: 165 - var3 = var1.readUnsignedByte(); // L: 166 - this.recolorFrom = new short[var3]; // L: 167 - this.recolorTo = new short[var3]; // L: 168 + 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]; + } - for (var4 = 0; var4 < var3; ++var4) { // L: 169 - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); // L: 170 - this.recolorTo[var4] = (short)var1.readUnsignedShort(); // L: 171 - } - } else if (var2 == 41) { // L: 174 - var3 = var1.readUnsignedByte(); // L: 175 - this.retextureFrom = new short[var3]; // L: 176 - this.retextureTo = new short[var3]; // L: 177 + 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 = TextureProvider.readStringIntParameters(var1, this.params); + } + } - for (var4 = 0; var4 < var3; ++var4) { // L: 178 - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); // L: 179 - this.retextureTo[var4] = (short)var1.readUnsignedShort(); // L: 180 - } - } else if (var2 == 42) { // L: 183 - this.shiftClickIndex = var1.readByte(); // L: 184 - } else if (var2 == 65) { // L: 186 - this.isTradable = true; - } else if (var2 == 78) { // L: 187 - this.maleModel2 = var1.readUnsignedShort(); - } else if (var2 == 79) { // L: 188 - this.femaleModel2 = var1.readUnsignedShort(); - } else if (var2 == 90) { // L: 189 - this.maleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 91) { // L: 190 - this.femaleHeadModel = var1.readUnsignedShort(); - } else if (var2 == 92) { // L: 191 - this.maleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 93) { // L: 192 - this.femaleHeadModel2 = var1.readUnsignedShort(); - } else if (var2 == 95) { // L: 193 - this.zan2d = var1.readUnsignedShort(); - } else if (var2 == 97) { // L: 194 - this.note = var1.readUnsignedShort(); - } else if (var2 == 98) { // L: 195 - this.noteTemplate = var1.readUnsignedShort(); - } else if (var2 >= 100 && var2 < 110) { // L: 196 - if (this.countobj == null) { // L: 197 - this.countobj = new int[10]; // L: 198 - this.countco = new int[10]; // L: 199 - } + } - this.countobj[var2 - 100] = var1.readUnsignedShort(); // L: 201 - this.countco[var2 - 100] = var1.readUnsignedShort(); // L: 202 - } else if (var2 == 110) { // L: 204 - this.resizeX = var1.readUnsignedShort(); - } else if (var2 == 111) { // L: 205 - this.resizeY = var1.readUnsignedShort(); - } else if (var2 == 112) { // L: 206 - this.resizeZ = var1.readUnsignedShort(); - } else if (var2 == 113) { // L: 207 - this.ambient = var1.readByte(); - } else if (var2 == 114) { // L: 208 - this.contrast = var1.readByte() * 5; - } else if (var2 == 115) { // L: 209 - this.team = var1.readUnsignedByte(); - } else if (var2 == 139) { // L: 210 - this.unnotedId = var1.readUnsignedShort(); - } else if (var2 == 140) { // L: 211 - this.notedId = var1.readUnsignedShort(); - } else if (var2 == 148) { // L: 212 - this.placeholder = var1.readUnsignedShort(); - } else if (var2 == 149) { // L: 213 - this.placeholderTemplate = var1.readUnsignedShort(); - } else if (var2 == 249) { // L: 214 - this.params = NetSocket.readStringIntParameters(var1, this.params); - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljj;Ljj;I)V", + garbageValue = "1798328013" + ) + @Export("genCert") + void genCert(ItemComposition var1, ItemComposition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var1.recolorFrom; + this.recolorTo = var1.recolorTo; + this.retextureFrom = var1.retextureFrom; + this.retextureTo = var1.retextureTo; + this.name = var2.name; + this.isMembersOnly = var2.isMembersOnly; + this.price = var2.price; + this.isStackable = 1; + } - } // L: 216 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljj;Ljj;I)V", + garbageValue = "962521022" + ) + @Export("genBought") + void genBought(ItemComposition var1, ItemComposition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var2.recolorFrom; + this.recolorTo = var2.recolorTo; + this.retextureFrom = var2.retextureFrom; + this.retextureTo = var2.retextureTo; + this.name = var2.name; + this.isMembersOnly = var2.isMembersOnly; + this.isStackable = var2.isStackable; + this.maleModel = var2.maleModel; + this.maleModel1 = var2.maleModel1; + this.maleModel2 = var2.maleModel2; + this.femaleModel = var2.femaleModel; + this.femaleModel1 = var2.femaleModel1; + this.femaleModel2 = var2.femaleModel2; + this.maleHeadModel = var2.maleHeadModel; + this.maleHeadModel2 = var2.maleHeadModel2; + this.femaleHeadModel = var2.femaleHeadModel; + this.femaleHeadModel2 = var2.femaleHeadModel2; + this.team = var2.team; + this.groundActions = var2.groundActions; + this.inventoryActions = new String[5]; + if (var2.inventoryActions != null) { + for(int var3 = 0; var3 < 4; ++var3) { + this.inventoryActions[var3] = var2.inventoryActions[var3]; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljq;Ljq;I)V", - garbageValue = "1371211432" - ) - @Export("genCert") - void genCert(ItemComposition var1, ItemComposition var2) { - this.model = var1.model; // L: 219 - this.zoom2d = var1.zoom2d; // L: 220 - this.xan2d = var1.xan2d; // L: 221 - this.yan2d = var1.yan2d; // L: 222 - this.zan2d = var1.zan2d; // L: 223 - this.offsetX2d = var1.offsetX2d; // L: 224 - this.offsetY2d = var1.offsetY2d; // L: 225 - this.recolorFrom = var1.recolorFrom; // L: 226 - this.recolorTo = var1.recolorTo; // L: 227 - this.retextureFrom = var1.retextureFrom; // L: 228 - this.retextureTo = var1.retextureTo; // L: 229 - this.name = var2.name; // L: 230 - this.isMembersOnly = var2.isMembersOnly; // L: 231 - this.price = var2.price; // L: 232 - this.isStackable = 1; // L: 233 - } // L: 234 + this.inventoryActions[4] = "Discard"; + this.price = 0; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljq;Ljq;I)V", - garbageValue = "-1959177502" - ) - @Export("genBought") - void genBought(ItemComposition var1, ItemComposition var2) { - this.model = var1.model; // L: 237 - this.zoom2d = var1.zoom2d; // L: 238 - this.xan2d = var1.xan2d; // L: 239 - this.yan2d = var1.yan2d; // L: 240 - this.zan2d = var1.zan2d; // L: 241 - this.offsetX2d = var1.offsetX2d; // L: 242 - this.offsetY2d = var1.offsetY2d; // L: 243 - this.recolorFrom = var2.recolorFrom; // L: 244 - this.recolorTo = var2.recolorTo; // L: 245 - this.retextureFrom = var2.retextureFrom; // L: 246 - this.retextureTo = var2.retextureTo; // L: 247 - this.name = var2.name; // L: 248 - this.isMembersOnly = var2.isMembersOnly; // L: 249 - this.isStackable = var2.isStackable; // L: 250 - this.maleModel = var2.maleModel; // L: 251 - this.maleModel1 = var2.maleModel1; // L: 252 - this.maleModel2 = var2.maleModel2; // L: 253 - this.femaleModel = var2.femaleModel; // L: 254 - this.femaleModel1 = var2.femaleModel1; // L: 255 - this.femaleModel2 = var2.femaleModel2; // L: 256 - this.maleHeadModel = var2.maleHeadModel; // L: 257 - this.maleHeadModel2 = var2.maleHeadModel2; // L: 258 - this.femaleHeadModel = var2.femaleHeadModel; // L: 259 - this.femaleHeadModel2 = var2.femaleHeadModel2; // L: 260 - this.team = var2.team; // L: 261 - this.groundActions = var2.groundActions; // L: 262 - this.inventoryActions = new String[5]; // L: 263 - if (var2.inventoryActions != null) { // L: 264 - for (int var3 = 0; var3 < 4; ++var3) { - this.inventoryActions[var3] = var2.inventoryActions[var3]; - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Ljj;Ljj;I)V", + garbageValue = "-1559307147" + ) + @Export("genPlaceholder") + void genPlaceholder(ItemComposition var1, ItemComposition var2) { + this.model = var1.model; + this.zoom2d = var1.zoom2d; + this.xan2d = var1.xan2d; + this.yan2d = var1.yan2d; + this.zan2d = var1.zan2d; + this.offsetX2d = var1.offsetX2d; + this.offsetY2d = var1.offsetY2d; + this.recolorFrom = var1.recolorFrom; + this.recolorTo = var1.recolorTo; + this.retextureFrom = var1.retextureFrom; + this.retextureTo = var1.retextureTo; + this.isStackable = var1.isStackable; + this.name = var2.name; + this.price = 0; + this.isMembersOnly = false; + this.isTradable = false; + } - this.inventoryActions[4] = "Discard"; // L: 265 - this.price = 0; // L: 266 - } // L: 267 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(II)Lek;", + garbageValue = "-1144241920" + ) + @Export("getModelData") + public final ModelData getModelData(int var1) { + int var3; + if (this.countobj != null && var1 > 1) { + int var2 = -1; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Ljq;Ljq;I)V", - garbageValue = "312275833" - ) - @Export("genPlaceholder") - void genPlaceholder(ItemComposition var1, ItemComposition var2) { - this.model = var1.model; // L: 270 - this.zoom2d = var1.zoom2d; // L: 271 - this.xan2d = var1.xan2d; // L: 272 - this.yan2d = var1.yan2d; // L: 273 - this.zan2d = var1.zan2d; // L: 274 - this.offsetX2d = var1.offsetX2d; // L: 275 - this.offsetY2d = var1.offsetY2d; // L: 276 - this.recolorFrom = var1.recolorFrom; // L: 277 - this.recolorTo = var1.recolorTo; // L: 278 - this.retextureFrom = var1.retextureFrom; // L: 279 - this.retextureTo = var1.retextureTo; // L: 280 - this.isStackable = var1.isStackable; // L: 281 - this.name = var2.name; // L: 282 - this.price = 0; // L: 283 - this.isMembersOnly = false; // L: 284 - this.isTradable = false; // L: 285 - } // L: 286 + for(var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(II)Les;", - garbageValue = "928211522" - ) - @Export("getModelData") - public final ModelData getModelData(int var1) { - int var3; - if (this.countobj != null && var1 > 1) { // L: 289 - int var2 = -1; // L: 290 + if (var2 != -1) { + return class281.ItemDefinition_get(var2).getModelData(1); + } + } - for (var3 = 0; var3 < 10; ++var3) { // L: 291 - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { // L: 292 - var2 = this.countobj[var3]; - } - } + ModelData var4 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, this.model, 0); + if (var4 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var4.resize(this.resizeX, this.resizeY, this.resizeZ); + } - if (var2 != -1) { // L: 294 - return SecureRandomCallable.ItemDefinition_get(var2).getModelData(1); - } - } + if (this.recolorFrom != null) { + for(var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } - ModelData var4 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, this.model, 0); // L: 296 - if (var4 == null) { // L: 297 - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { // L: 298 - var4.resize(this.resizeX, this.resizeY, this.resizeZ); - } + if (this.retextureFrom != null) { + for(var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } - if (this.recolorFrom != null) { // L: 299 - for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { // L: 300 - var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); // L: 301 - } - } + return var4; + } + } - if (this.retextureFrom != null) { // L: 304 - for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { // L: 305 - var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); // L: 306 - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)Lef;", + garbageValue = "-2139436436" + ) + @Export("getModel") + public final Model getModel(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; - return var4; // L: 309 - } - } + for(int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(II)Leh;", - garbageValue = "893521551" - ) - @Export("getModel") - public final Model getModel(int var1) { - if (this.countobj != null && var1 > 1) { // L: 313 - int var2 = -1; // L: 314 + if (var2 != -1) { + return class281.ItemDefinition_get(var2).getModel(1); + } + } - for (int var3 = 0; var3 < 10; ++var3) { // L: 315 - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { // L: 316 - var2 = this.countobj[var3]; - } - } + Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); + if (var5 != null) { + return var5; + } else { + ModelData var6 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, this.model, 0); + if (var6 == null) { + return null; + } else { + if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { + var6.resize(this.resizeX, this.resizeY, this.resizeZ); + } - if (var2 != -1) { // L: 318 - return SecureRandomCallable.ItemDefinition_get(var2).getModel(1); - } - } + int var4; + if (this.recolorFrom != null) { + for(var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - Model var5 = (Model)ItemDefinition_cachedModels.get((long)this.id); // L: 320 - if (var5 != null) { // L: 321 - return var5; - } else { - ModelData var6 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, this.model, 0); // L: 322 - if (var6 == null) { // L: 323 - return null; - } else { - if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) { // L: 324 - var6.resize(this.resizeX, this.resizeY, this.resizeZ); - } + if (this.retextureFrom != null) { + for(var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - int var4; - if (this.recolorFrom != null) { // L: 325 - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { // L: 326 - var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); // L: 327 - } - } + var5 = var6.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + var5.isSingleTile = true; + ItemDefinition_cachedModels.put(var5, (long)this.id); + return var5; + } + } + } - if (this.retextureFrom != null) { // L: 330 - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { // L: 331 - var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); // L: 332 - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II)Ljj;", + garbageValue = "-309156519" + ) + @Export("getCountObj") + public ItemComposition getCountObj(int var1) { + if (this.countobj != null && var1 > 1) { + int var2 = -1; - var5 = var6.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); // L: 335 - var5.isSingleTile = true; // L: 336 - ItemDefinition_cachedModels.put(var5, (long)this.id); // L: 337 - return var5; // L: 338 - } - } - } + for(int var3 = 0; var3 < 10; ++var3) { + if (var1 >= this.countco[var3] && this.countco[var3] != 0) { + var2 = this.countobj[var3]; + } + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(II)Ljq;", - garbageValue = "-1807857103" - ) - @Export("getCountObj") - public ItemComposition getCountObj(int var1) { - if (this.countobj != null && var1 > 1) { // L: 342 - int var2 = -1; // L: 343 + if (var2 != -1) { + return class281.ItemDefinition_get(var2); + } + } - for (int var3 = 0; var3 < 10; ++var3) { // L: 344 - if (var1 >= this.countco[var3] && this.countco[var3] != 0) { - var2 = this.countobj[var3]; // L: 345 - } - } + return this; + } - if (var2 != -1) { // L: 347 - return SecureRandomCallable.ItemDefinition_get(var2); - } - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(ZI)Z", + garbageValue = "-240048838" + ) + @Export("hasNoValidModel") + public final boolean hasNoValidModel(boolean var1) { + int var2 = this.maleModel; + int var3 = this.maleModel1; + int var4 = this.maleModel2; + if (var1) { + var2 = this.femaleModel; + var3 = this.femaleModel1; + var4 = this.femaleModel2; + } - return this; // L: 349 - } + if (var2 == -1) { + return true; + } else { + boolean var5 = true; + if (!class8.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var5 = false; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(ZS)Z", - garbageValue = "30323" - ) - @Export("hasNoValidModel") - public final boolean hasNoValidModel(boolean var1) { - int var2 = this.maleModel; // L: 427 - int var3 = this.maleModel1; // L: 428 - int var4 = this.maleModel2; // L: 429 - if (var1) { // L: 430 - var2 = this.femaleModel; // L: 431 - var3 = this.femaleModel1; // L: 432 - var4 = this.femaleModel2; // L: 433 - } + if (var3 != -1 && !class8.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var5 = false; + } - if (var2 == -1) { // L: 435 - return true; - } else { - boolean var5 = true; // L: 436 - if (!VertexNormal.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { // L: 437 - var5 = false; - } + if (var4 != -1 && !class8.ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { + var5 = false; + } - if (var3 != -1 && !VertexNormal.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { // L: 438 - var5 = false; - } + return var5; + } + } - if (var4 != -1 && !VertexNormal.ItemDefinition_modelArchive.tryLoadFile(var4, 0)) { // L: 439 - var5 = false; - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(ZI)Lek;", + garbageValue = "-324147139" + ) + public final ModelData method4866(boolean var1) { + int var2 = this.maleModel; + int var3 = this.maleModel1; + int var4 = this.maleModel2; + if (var1) { + var2 = this.femaleModel; + var3 = this.femaleModel1; + var4 = this.femaleModel2; + } - return var5; // L: 440 - } - } + if (var2 == -1) { + return null; + } else { + ModelData var5 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var6 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, var3, 0); + if (var4 != -1) { + ModelData var7 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, var4, 0); + ModelData[] var8 = new ModelData[]{var5, var6, var7}; + var5 = new ModelData(var8, 3); + } else { + ModelData[] var10 = new ModelData[]{var5, var6}; + var5 = new ModelData(var10, 2); + } + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(ZI)Les;", - garbageValue = "-496299107" - ) - public final ModelData method4669(boolean var1) { - int var2 = this.maleModel; // L: 444 - int var3 = this.maleModel1; // L: 445 - int var4 = this.maleModel2; // L: 446 - if (var1) { // L: 447 - var2 = this.femaleModel; // L: 448 - var3 = this.femaleModel1; // L: 449 - var4 = this.femaleModel2; // L: 450 - } + if (!var1 && this.maleOffset != 0) { + var5.changeOffset(0, this.maleOffset, 0); + } - if (var2 == -1) { // L: 452 - return null; - } else { - ModelData var5 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, var2, 0); // L: 453 - if (var3 != -1) { // L: 454 - ModelData var6 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, var3, 0); // L: 455 - if (var4 != -1) { // L: 456 - ModelData var7 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, var4, 0); // L: 457 - ModelData[] var8 = new ModelData[]{var5, var6, var7}; // L: 458 - var5 = new ModelData(var8, 3); // L: 459 - } else { - ModelData[] var10 = new ModelData[]{var5, var6}; // L: 462 - var5 = new ModelData(var10, 2); // L: 463 - } - } + if (var1 && this.femaleOffset != 0) { + var5.changeOffset(0, this.femaleOffset, 0); + } - if (!var1 && this.maleOffset != 0) { // L: 466 - var5.changeOffset(0, this.maleOffset, 0); - } + int var9; + if (this.recolorFrom != null) { + for(var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } - if (var1 && this.femaleOffset != 0) { // L: 467 - var5.changeOffset(0, this.femaleOffset, 0); - } + if (this.retextureFrom != null) { + for(var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } - int var9; - if (this.recolorFrom != null) { // L: 468 - for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { // L: 469 - var5.recolor(this.recolorFrom[var9], this.recolorTo[var9]); // L: 470 - } - } + return var5; + } + } - if (this.retextureFrom != null) { // L: 473 - for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { // L: 474 - var5.retexture(this.retextureFrom[var9], this.retextureTo[var9]); // L: 475 - } - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(ZI)Z", + garbageValue = "-1270984011" + ) + public final boolean method4879(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } - return var5; // L: 478 - } - } + if (var2 == -1) { + return true; + } else { + boolean var4 = true; + if (!class8.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { + var4 = false; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(ZB)Z", - garbageValue = "-128" - ) - public final boolean method4660(boolean var1) { - int var2 = this.maleHeadModel; // L: 482 - int var3 = this.maleHeadModel2; // L: 483 - if (var1) { // L: 484 - var2 = this.femaleHeadModel; // L: 485 - var3 = this.femaleHeadModel2; // L: 486 - } + if (var3 != -1 && !class8.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { + var4 = false; + } - if (var2 == -1) { // L: 488 - return true; - } else { - boolean var4 = true; // L: 489 - if (!VertexNormal.ItemDefinition_modelArchive.tryLoadFile(var2, 0)) { // L: 490 - var4 = false; - } + return var4; + } + } - if (var3 != -1 && !VertexNormal.ItemDefinition_modelArchive.tryLoadFile(var3, 0)) { // L: 491 - var4 = false; - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(ZB)Lek;", + garbageValue = "51" + ) + public final ModelData method4880(boolean var1) { + int var2 = this.maleHeadModel; + int var3 = this.maleHeadModel2; + if (var1) { + var2 = this.femaleHeadModel; + var3 = this.femaleHeadModel2; + } - return var4; // L: 492 - } - } + if (var2 == -1) { + return null; + } else { + ModelData var4 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, var2, 0); + if (var3 != -1) { + ModelData var5 = ModelData.ModelData_get(class8.ItemDefinition_modelArchive, var3, 0); + ModelData[] var6 = new ModelData[]{var4, var5}; + var4 = new ModelData(var6, 2); + } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(ZI)Les;", - garbageValue = "1268940833" - ) - public final ModelData method4671(boolean var1) { - int var2 = this.maleHeadModel; // L: 496 - int var3 = this.maleHeadModel2; // L: 497 - if (var1) { // L: 498 - var2 = this.femaleHeadModel; // L: 499 - var3 = this.femaleHeadModel2; // L: 500 - } + int var7; + if (this.recolorFrom != null) { + for(var7 = 0; var7 < this.recolorFrom.length; ++var7) { + var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); + } + } - if (var2 == -1) { // L: 502 - return null; - } else { - ModelData var4 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, var2, 0); // L: 503 - if (var3 != -1) { // L: 504 - ModelData var5 = ModelData.ModelData_get(VertexNormal.ItemDefinition_modelArchive, var3, 0); // L: 505 - ModelData[] var6 = new ModelData[]{var4, var5}; // L: 506 - var4 = new ModelData(var6, 2); // L: 507 - } + if (this.retextureFrom != null) { + for(var7 = 0; var7 < this.retextureFrom.length; ++var7) { + var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); + } + } - int var7; - if (this.recolorFrom != null) { // L: 509 - for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { // L: 510 - var4.recolor(this.recolorFrom[var7], this.recolorTo[var7]); // L: 511 - } - } + return var4; + } + } - if (this.retextureFrom != null) { // L: 514 - for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { // L: 515 - var4.retexture(this.retextureFrom[var7], this.retextureTo[var7]); // L: 516 - } - } + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(IIB)I", + garbageValue = "-45" + ) + @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 var4; // L: 519 - } - } + return var3; + } - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-79" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var4 = this.params; // L: 524 - int var3; - if (var4 == null) { // L: 526 - var3 = var2; // L: 527 - } else { - IntegerNode var5 = (IntegerNode)var4.get((long)var1); // L: 530 - if (var5 == null) { // L: 531 - var3 = var2; // L: 532 - } else { - var3 = var5.integer; // L: 535 - } - } + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "1156032782" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class69.method1258(this.params, var1, var2); + } - return var3; // L: 537 - } - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)Ljava/lang/String;", - garbageValue = "37" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; // L: 542 - String var3; - if (var4 == null) { // L: 544 - var3 = var2; // L: 545 - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); // L: 548 - if (var5 == null) { // L: 549 - var3 = var2; // L: 550 - } else { - var3 = (String)var5.obj; // L: 553 - } - } - - return var3; // L: 555 - } - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(S)I", - garbageValue = "32767" - ) - @Export("getShiftClickIndex") - public int getShiftClickIndex() { - if (this.shiftClickIndex != -1 && this.inventoryActions != null) { // L: 559 - if (this.shiftClickIndex >= 0) { // L: 560 - return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex * 1648471851 * -38561917 : -1; - } else { - return "Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1; // L: 561 - } - } else { - return -1; - } - } + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "47" + ) + @Export("getShiftClickIndex") + public int getShiftClickIndex() { + if (this.shiftClickIndex != -1 && this.inventoryActions != null) { + if (this.shiftClickIndex >= 0) { + return this.inventoryActions[this.shiftClickIndex] != null ? this.shiftClickIndex : -1; + } else { + return "Drop".equalsIgnoreCase(this.inventoryActions[4]) ? 4 : -1; + } + } else { + return -1; + } + } } diff --git a/runescape-client/src/main/java/ItemContainer.java b/runescape-client/src/main/java/ItemContainer.java index c5a3f4bafb..555d389e20 100644 --- a/runescape-client/src/main/java/ItemContainer.java +++ b/runescape-client/src/main/java/ItemContainer.java @@ -3,250 +3,158 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bj") +@ObfuscatedName("bf") @Implements("ItemContainer") public class ItemContainer extends Node { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("itemContainers") - static NodeHashTable itemContainers; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("options_buttons_2Sprite") - static IndexedSprite options_buttons_2Sprite; - @ObfuscatedName("dg") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive11") - static Archive archive11; - @ObfuscatedName("v") - @Export("ids") - int[] ids; - @ObfuscatedName("x") - @Export("quantities") - int[] quantities; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("itemContainers") + static NodeHashTable itemContainers = new NodeHashTable(32); + @ObfuscatedName("v") + @Export("ids") + int[] ids = new int[]{-1}; + @ObfuscatedName("d") + @Export("quantities") + int[] quantities = new int[]{0}; - static { - itemContainers = new NodeHashTable(32); // L: 7 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(CLgp;S)C", + garbageValue = "-10976" + ) + @Export("standardizeChar") + static char standardizeChar(char var0, Language var1) { + if (var0 >= 192 && var0 <= 255) { + if (var0 >= 192 && var0 <= 198) { + return 'A'; + } - ItemContainer() { - this.ids = new int[]{-1}; // L: 8 - this.quantities = new int[]{0}; - } // L: 11 + if (var0 == 199) { + return 'C'; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lgb;Lmd;B)Lgv;", - garbageValue = "1" - ) - @Export("getPacketBufferNode") - public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { - PacketBufferNode var2; - if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { // L: 24 - var2 = new PacketBufferNode(); // L: 25 - } else { - var2 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; // L: 28 - } + if (var0 >= 200 && var0 <= 203) { + return 'E'; + } - var2.clientPacket = var0; // L: 31 - var2.clientPacketLength = var0.length; // L: 32 - if (var2.clientPacketLength == -1) { - var2.packetBuffer = new PacketBuffer(260); // L: 33 - } else if (var2.clientPacketLength == -2) { // L: 34 - var2.packetBuffer = new PacketBuffer(10000); - } else if (var2.clientPacketLength <= 18) { - var2.packetBuffer = new PacketBuffer(20); // L: 35 - } else if (var2.clientPacketLength <= 98) { // L: 36 - var2.packetBuffer = new PacketBuffer(100); - } else { - var2.packetBuffer = new PacketBuffer(260); // L: 37 - } + if (var0 >= 204 && var0 <= 207) { + return 'I'; + } - var2.packetBuffer.setIsaacCipher(var1); // L: 38 - var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); // L: 39 - var2.index = 0; // L: 40 - return var2; // L: 41 - } + if (var0 == 209 && var1 != Language.Language_ES) { + return 'N'; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lp;I)Lm;", - garbageValue = "1684033530" - ) - public static class12 method1250(class7 var0) { - switch(var0.field26) { // L: 9 - case 0: - return new class5(); // L: 12 - default: - throw new IllegalArgumentException(); // L: 16 - } - } + if (var0 >= 210 && var0 <= 214) { + return 'O'; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Lhe;I[B[BI)V", - garbageValue = "-21779272" - ) - @Export("Widget_setKey") - static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { - if (var0.field2649 == null) { // L: 904 - if (var2 == null) { // L: 905 - return; // L: 911 - } + if (var0 >= 217 && var0 <= 220) { + return 'U'; + } - var0.field2649 = new byte[11][]; // L: 906 - var0.field2637 = new byte[11][]; // L: 907 - var0.field2679 = new int[11]; // L: 908 - var0.field2664 = new int[11]; // L: 909 - } + if (var0 == 221) { + return 'Y'; + } - var0.field2649[var1] = var2; // L: 913 - if (var2 != null) { - var0.field2590 = true; // L: 914 - } else { - var0.field2590 = false; // L: 916 + if (var0 == 223) { + return 's'; + } - for (int var4 = 0; var4 < var0.field2649.length; ++var4) { // L: 917 - if (var0.field2649[var4] != null) { // L: 918 - var0.field2590 = true; // L: 919 - break; - } - } - } + if (var0 >= 224 && var0 <= 230) { + return 'a'; + } - var0.field2637[var1] = var3; // L: 924 - } // L: 925 + if (var0 == 231) { + return 'c'; + } - @ObfuscatedName("hs") - @ObfuscatedSignature( - descriptor = "(ZLky;I)V", - garbageValue = "191589163" - ) - @Export("loadRegions") - static final void loadRegions(boolean var0, PacketBuffer var1) { - Client.isInInstance = var0; // L: 5295 - int var2; - int var4; - int var5; - int var6; - int var7; - int var8; - if (!Client.isInInstance) { // L: 5296 - var2 = var1.readUnsignedShort(); // L: 5297 - int var3 = var1.method5539(); // L: 5298 - var4 = var1.readUnsignedShort(); // L: 5299 - class227.xteaKeys = new int[var4][4]; // L: 5300 + if (var0 >= 232 && var0 <= 235) { + return 'e'; + } - for (var5 = 0; var5 < var4; ++var5) { // L: 5301 - for (var6 = 0; var6 < 4; ++var6) { // L: 5302 - class227.xteaKeys[var5][var6] = var1.readInt(); // L: 5303 - } - } + if (var0 >= 236 && var0 <= 239) { + return 'i'; + } - FileSystem.regions = new int[var4]; // L: 5306 - class41.regionMapArchiveIds = new int[var4]; // L: 5307 - GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds = new int[var4]; // L: 5308 - WorldMapIcon_0.regionLandArchives = new byte[var4][]; // L: 5309 - MouseRecorder.regionMapArchives = new byte[var4][]; // L: 5310 - boolean var16 = false; // L: 5311 - if ((var2 / 8 == 48 || var2 / 8 == 49) && var3 / 8 == 48) { // L: 5312 - var16 = true; - } + if (var0 == 241 && var1 != Language.Language_ES) { + return 'n'; + } - if (var2 / 8 == 48 && var3 / 8 == 148) { // L: 5313 - var16 = true; - } + if (var0 >= 242 && var0 <= 246) { + return 'o'; + } - var4 = 0; // L: 5314 + if (var0 >= 249 && var0 <= 252) { + return 'u'; + } - for (var6 = (var2 - 6) / 8; var6 <= (var2 + 6) / 8; ++var6) { // L: 5315 - for (var7 = (var3 - 6) / 8; var7 <= (var3 + 6) / 8; ++var7) { // L: 5316 - var8 = var7 + (var6 << 8); // L: 5317 - if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { // L: 5318 - FileSystem.regions[var4] = var8; // L: 5319 - class41.regionMapArchiveIds[var4] = GameEngine.archive5.getGroupId("m" + var6 + "_" + var7); // L: 5320 - GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var4] = GameEngine.archive5.getGroupId("l" + var6 + "_" + var7); // L: 5321 - ++var4; // L: 5322 - } - } - } + if (var0 == 253 || var0 == 255) { + return 'y'; + } + } - VarcInt.method4428(var2, var3, true); // L: 5325 - } else { - var2 = var1.readUnsignedShort(); // L: 5328 - boolean var15 = var1.method5573() == 1; // L: 5329 - var4 = var1.method5580(); // L: 5330 - var5 = var1.readUnsignedShort(); // L: 5331 - var1.importIndex(); // L: 5332 + if (var0 == 338) { + return 'O'; + } else if (var0 == 339) { + return 'o'; + } else if (var0 == 376) { + return 'Y'; + } else { + return var0; + } + } - int var9; - for (var6 = 0; var6 < 4; ++var6) { // L: 5333 - for (var7 = 0; var7 < 13; ++var7) { // L: 5334 - for (var8 = 0; var8 < 13; ++var8) { // L: 5335 - var9 = var1.readBits(1); // L: 5336 - if (var9 == 1) { - Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); // L: 5337 - } else { - Client.instanceChunkTemplates[var6][var7][var8] = -1; // L: 5338 - } - } - } - } + @ObfuscatedName("eu") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "752478045" + ) + @Export("updateGameState") + static void updateGameState(int var0) { + if (var0 != Client.gameState) { + if (Client.gameState == 0) { + class1.client.method1078(); + } - var1.exportIndex(); // L: 5342 - class227.xteaKeys = new int[var5][4]; // L: 5343 + if (var0 == 20 || var0 == 40 || var0 == 45) { + Client.loginState = 0; + Client.field696 = 0; + Client.field786 = 0; + Client.timer.method5211(var0); + if (var0 != 20) { + class23.method234(false); + } + } - for (var6 = 0; var6 < var5; ++var6) { // L: 5344 - for (var7 = 0; var7 < 4; ++var7) { // L: 5345 - class227.xteaKeys[var6][var7] = var1.readInt(); // L: 5346 - } - } + if (var0 != 20 && var0 != 40 && UserComparator6.field2008 != null) { + UserComparator6.field2008.close(); + UserComparator6.field2008 = null; + } - FileSystem.regions = new int[var5]; // L: 5349 - class41.regionMapArchiveIds = new int[var5]; // L: 5350 - GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds = new int[var5]; // L: 5351 - WorldMapIcon_0.regionLandArchives = new byte[var5][]; // L: 5352 - MouseRecorder.regionMapArchives = new byte[var5][]; // L: 5353 - var5 = 0; // L: 5354 + if (Client.gameState == 25) { + Client.field720 = 0; + Client.field785 = 0; + Client.field717 = 1; + Client.field718 = 0; + Client.field719 = 1; + } - for (var6 = 0; var6 < 4; ++var6) { // L: 5355 - for (var7 = 0; var7 < 13; ++var7) { // L: 5356 - for (var8 = 0; var8 < 13; ++var8) { // L: 5357 - var9 = Client.instanceChunkTemplates[var6][var7][var8]; // L: 5358 - if (var9 != -1) { // L: 5359 - int var10 = var9 >> 14 & 1023; // L: 5360 - int var11 = var9 >> 3 & 2047; // L: 5361 - int var12 = (var10 / 8 << 8) + var11 / 8; // L: 5362 + if (var0 != 5 && var0 != 10) { + if (var0 == 20) { + class69.method1255(LoginScreenAnimation.archive10, ModeWhere.archive8, true, Client.gameState == 11 ? 4 : 0); + } else if (var0 == 11) { + class69.method1255(LoginScreenAnimation.archive10, ModeWhere.archive8, false, 4); + } else { + WorldMapLabel.method499(); + } + } else { + class69.method1255(LoginScreenAnimation.archive10, ModeWhere.archive8, true, 0); + } - int var13; - for (var13 = 0; var13 < var5; ++var13) { // L: 5363 - if (FileSystem.regions[var13] == var12) { - var12 = -1; // L: 5364 - break; // L: 5365 - } - } - - if (var12 != -1) { // L: 5367 - FileSystem.regions[var5] = var12; // L: 5368 - var13 = var12 >> 8 & 255; // L: 5369 - int var14 = var12 & 255; // L: 5370 - class41.regionMapArchiveIds[var5] = GameEngine.archive5.getGroupId("m" + var13 + "_" + var14); // L: 5371 - GrandExchangeOfferTotalQuantityComparator.regionLandArchiveIds[var5] = GameEngine.archive5.getGroupId("l" + var13 + "_" + var14); // L: 5372 - ++var5; // L: 5373 - } - } - } - } - } - - VarcInt.method4428(var4, var2, !var15); // L: 5379 - } - - } // L: 5381 + Client.gameState = var0; + } + } } diff --git a/runescape-client/src/main/java/ItemLayer.java b/runescape-client/src/main/java/ItemLayer.java index 814aea29e1..04d2a856e1 100644 --- a/runescape-client/src/main/java/ItemLayer.java +++ b/runescape-client/src/main/java/ItemLayer.java @@ -3,154 +3,70 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("dz") +@ObfuscatedName("df") @Implements("ItemLayer") -public final class ItemLayer -{ - @ObfuscatedName("qq") - @ObfuscatedSignature( - descriptor = "Ldn;" - ) - @Export("decimator") - static Decimator decimator; - @ObfuscatedName("s") - @Export("userHomeDirectory") - public static String userHomeDirectory; - @ObfuscatedName("k") - @Export("BZip2Decompressor_block") - static int[] BZip2Decompressor_block; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1833908179 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1901902743 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1891717785 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("first") - Renderable first; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("second") - Renderable second; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("third") - Renderable third; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = 7869520931752751385L - ) - @Export("tag") - long tag; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -423863603 - ) - @Export("height") - int height; +public final class ItemLayer { + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = 1549080399 + ) + static int field1562; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -208446657 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 879742501 + ) + @Export("x") + int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 2010120192 + ) + @Export("y") + int y; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("first") + Renderable first; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("second") + Renderable second; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("third") + Renderable third; + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = -6966472749415094835L + ) + @Export("tag") + long tag; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1439885111 + ) + @Export("height") + int height; - ItemLayer() { - } // L: 13 - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "716540213" - ) - static int method2850(int var0, Script var1, boolean var2) { - int var3; - int var6; - int var9; - if (var0 == ScriptOpcodes.ENUM_STRING) { // L: 1919 - VarcInt.Interpreter_intStackSize -= 2; // L: 1920 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1921 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1922 - EnumComposition var10 = MusicPatchNode.getEnum(var3); // L: 1923 - if (var10.outputType != 's') { // L: 1924 - } - - for (var6 = 0; var6 < var10.outputCount; ++var6) { // L: 1925 - if (var9 == var10.keys[var6]) { // L: 1926 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.strVals[var6]; // L: 1927 - var10 = null; // L: 1928 - break; - } - } - - if (var10 != null) { // L: 1932 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.defaultStr; - } - - return 1; // L: 1933 - } else if (var0 != ScriptOpcodes.ENUM) { // L: 1935 - if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { // L: 1961 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1962 - EnumComposition var4 = MusicPatchNode.getEnum(var3); // L: 1963 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.size(); // L: 1964 - return 1; // L: 1965 - } else { - return 2; // L: 1967 - } - } else { - VarcInt.Interpreter_intStackSize -= 4; // L: 1936 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1937 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1938 - int var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1939 - var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 1940 - EnumComposition var7 = MusicPatchNode.getEnum(var5); // L: 1941 - if (var3 == var7.inputType && var9 == var7.outputType) { // L: 1942 - for (int var8 = 0; var8 < var7.outputCount; ++var8) { // L: 1947 - if (var6 == var7.keys[var8]) { // L: 1948 - if (var9 == 115) { // L: 1949 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.strVals[var8]; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.intVals[var8]; // L: 1950 - } - - var7 = null; // L: 1951 - break; - } - } - - if (var7 != null) { // L: 1955 - if (var9 == 115) { // L: 1956 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.defaultStr; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.defaultInt; // L: 1957 - } - } - - return 1; // L: 1959 - } else { - if (var9 == 115) { // L: 1943 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "null"; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1944 - } - - return 1; // L: 1945 - } - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-81" + ) + public static void method2938() { + WorldMapElement.WorldMapElement_cachedSprites.clear(); + } } diff --git a/runescape-client/src/main/java/IterableDualNodeQueue.java b/runescape-client/src/main/java/IterableDualNodeQueue.java index a41a8c9aa8..d3d0c02acb 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueue.java +++ b/runescape-client/src/main/java/IterableDualNodeQueue.java @@ -7,129 +7,128 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("jf") @Implements("IterableDualNodeQueue") public class IterableDualNodeQueue implements Iterable { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("sentinel") - public DualNode sentinel; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("head") - DualNode head; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("sentinel") + public DualNode sentinel = new DualNode(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("head") + DualNode head; - public IterableDualNodeQueue() { - this.sentinel = new DualNode(); // L: 7 - this.sentinel.previousDual = this.sentinel; // L: 11 - this.sentinel.nextDual = this.sentinel; // L: 12 - } // L: 13 + public IterableDualNodeQueue() { + this.sentinel.previousDual = this.sentinel; + this.sentinel.nextDual = this.sentinel; + } - @ObfuscatedName("h") - @Export("clear") - public void clear() { - while (this.sentinel.previousDual != this.sentinel) { // L: 16 - this.sentinel.previousDual.removeDual(); // L: 17 - } + @ObfuscatedName("n") + @Export("clear") + public void clear() { + while(this.sentinel.previousDual != this.sentinel) { + this.sentinel.previousDual.removeDual(); + } - } // L: 19 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgj;)V" - ) - @Export("add") - public void add(DualNode var1) { - if (var1.nextDual != null) { // L: 22 - var1.removeDual(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lgj;)V" + ) + @Export("add") + public void add(DualNode var1) { + if (var1.nextDual != null) { + var1.removeDual(); + } - var1.nextDual = this.sentinel.nextDual; // L: 23 - var1.previousDual = this.sentinel; // L: 24 - var1.nextDual.previousDual = var1; // L: 25 - var1.previousDual.nextDual = var1; // L: 26 - } // L: 27 + var1.nextDual = this.sentinel.nextDual; + var1.previousDual = this.sentinel; + var1.nextDual.previousDual = var1; + var1.previousDual.nextDual = var1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "()Lgj;" - ) - @Export("removeLast") - public DualNode removeLast() { - DualNode var1 = this.sentinel.previousDual; // L: 38 - if (var1 == this.sentinel) { - return null; // L: 39 - } else { - var1.removeDual(); // L: 40 - return var1; // L: 41 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "()Lgj;" + ) + @Export("removeLast") + public DualNode removeLast() { + DualNode var1 = this.sentinel.previousDual; + if (var1 == this.sentinel) { + return null; + } else { + var1.removeDual(); + return var1; + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "()Lgj;" - ) - @Export("last") - public DualNode last() { - return this.previousOrLast((DualNode)null); // L: 45 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "()Lgj;" + ) + @Export("last") + public DualNode last() { + return this.previousOrLast((DualNode)null); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lgj;)Lgj;" - ) - @Export("previousOrLast") - DualNode previousOrLast(DualNode var1) { - DualNode var2; - if (var1 == null) { // L: 50 - var2 = this.sentinel.previousDual; - } else { - var2 = var1; // L: 51 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lgj;)Lgj;" + ) + @Export("previousOrLast") + DualNode previousOrLast(DualNode var1) { + DualNode var2; + if (var1 == null) { + var2 = this.sentinel.previousDual; + } else { + var2 = var1; + } - if (var2 == this.sentinel) { // L: 52 - this.head = null; // L: 53 - return null; // L: 54 - } else { - this.head = var2.previousDual; // L: 56 - return var2; // L: 57 - } - } + if (var2 == this.sentinel) { + this.head = null; + return null; + } else { + this.head = var2.previousDual; + return var2; + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Lgj;" - ) - @Export("previous") - public DualNode previous() { - DualNode var1 = this.head; // L: 61 - if (var1 == this.sentinel) { // L: 62 - this.head = null; // L: 63 - return null; // L: 64 - } else { - this.head = var1.previousDual; // L: 66 - return var1; // L: 67 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Lgj;" + ) + @Export("previous") + public DualNode previous() { + DualNode var1 = this.head; + if (var1 == this.sentinel) { + this.head = null; + return null; + } else { + this.head = var1.previousDual; + return var1; + } + } - public Iterator iterator() { - return new IterableDualNodeQueueIterator(this); // L: 71 - } + public Iterator iterator() { + return new IterableDualNodeQueueIterator(this); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lgj;Lgj;)V" - ) - @Export("DualNodeDeque_addBefore") - public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { - if (var0.nextDual != null) { // L: 30 - var0.removeDual(); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lgj;Lgj;)V" + ) + @Export("DualNodeDeque_addBefore") + public static void DualNodeDeque_addBefore(DualNode var0, DualNode var1) { + if (var0.nextDual != null) { + var0.removeDual(); + } - var0.nextDual = var1; // L: 31 - var0.previousDual = var1.previousDual; // L: 32 - var0.nextDual.previousDual = var0; // L: 33 - var0.previousDual.nextDual = var0; // L: 34 - } // L: 35 + var0.nextDual = var1; + var0.previousDual = var1.previousDual; + var0.nextDual.previousDual = var0; + var0.previousDual.nextDual = var0; + } } diff --git a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java index 62fef262cc..2e2712a36a 100644 --- a/runescape-client/src/main/java/IterableDualNodeQueueIterator.java +++ b/runescape-client/src/main/java/IterableDualNodeQueueIterator.java @@ -4,61 +4,56 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jw") +@ObfuscatedName("ju") @Implements("IterableDualNodeQueueIterator") public class IterableDualNodeQueueIterator implements Iterator { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljf;" - ) - @Export("queue") - IterableDualNodeQueue queue; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("head") - DualNode head; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgj;" - ) - @Export("last") - DualNode last; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Ljf;" + ) + @Export("queue") + IterableDualNodeQueue queue; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("head") + DualNode head; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgj;" + ) + @Export("last") + DualNode last = null; - @ObfuscatedSignature( - descriptor = "(Ljf;)V" - ) - IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { - this.last = null; // L: 9 - this.queue = var1; // L: 12 - this.head = this.queue.sentinel.previousDual; // L: 13 - this.last = null; // L: 14 - } // L: 15 + @ObfuscatedSignature( + descriptor = "(Ljf;)V" + ) + IterableDualNodeQueueIterator(IterableDualNodeQueue var1) { + this.queue = var1; + this.head = this.queue.sentinel.previousDual; + this.last = null; + } - public void remove() { - if (this.last == null) { // L: 33 - throw new IllegalStateException(); - } else { - this.last.removeDual(); // L: 34 - this.last = null; // L: 35 - } - } // L: 36 + public Object next() { + DualNode var1 = this.head; + if (var1 == this.queue.sentinel) { + var1 = null; + this.head = null; + } else { + this.head = var1.previousDual; + } - public Object next() { - DualNode var1 = this.head; // L: 18 - if (var1 == this.queue.sentinel) { // L: 19 - var1 = null; // L: 20 - this.head = null; // L: 21 - } else { - this.head = var1.previousDual; // L: 23 - } + this.last = var1; + return var1; + } - this.last = var1; // L: 24 - return var1; // L: 25 - } + public void remove() { + this.last.removeDual(); + this.last = null; + } - public boolean hasNext() { - return this.queue.sentinel != this.head; // L: 29 - } + public boolean hasNext() { + return this.queue.sentinel != this.head; + } } diff --git a/runescape-client/src/main/java/IterableNodeDeque.java b/runescape-client/src/main/java/IterableNodeDeque.java index 77846b990f..04764d3b56 100644 --- a/runescape-client/src/main/java/IterableNodeDeque.java +++ b/runescape-client/src/main/java/IterableNodeDeque.java @@ -5,233 +5,232 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jn") +@ObfuscatedName("jv") @Implements("IterableNodeDeque") public class IterableNodeDeque implements Iterable, Collection { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("sentinel") - Node sentinel; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - Node field3567; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("sentinel") + Node sentinel = new Node(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + Node field3568; - public IterableNodeDeque() { - this.sentinel = new Node(); // L: 7 - this.sentinel.previous = this.sentinel; // L: 11 - this.sentinel.next = this.sentinel; // L: 12 - } // L: 13 + public IterableNodeDeque() { + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("h") - @Export("rsClear") - public void rsClear() { - while (this.sentinel.previous != this.sentinel) { // L: 16 - this.sentinel.previous.remove(); // L: 17 - } + @ObfuscatedName("n") + @Export("rsClear") + public void rsClear() { + while(this.sentinel.previous != this.sentinel) { + this.sentinel.previous.remove(); + } - } // L: 19 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgu;)V" - ) - @Export("addFirst") - public void addFirst(Node var1) { - if (var1.next != null) { // L: 22 - var1.remove(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lga;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } - var1.next = this.sentinel.next; // L: 23 - var1.previous = this.sentinel; // L: 24 - var1.next.previous = var1; // L: 25 - var1.previous.next = var1; // L: 26 - } // L: 27 + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lgu;)V" - ) - @Export("addLast") - public void addLast(Node var1) { - if (var1.next != null) { // L: 30 - var1.remove(); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lga;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } - var1.next = this.sentinel; // L: 31 - var1.previous = this.sentinel.previous; // L: 32 - var1.next.previous = var1; // L: 33 - var1.previous.next = var1; // L: 34 - } // L: 35 + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("last") - public Node last() { - return this.method4837((Node)null); // L: 46 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("last") + public Node last() { + return this.method5062((Node)null); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lgu;)Lgu;" - ) - Node method4837(Node var1) { - Node var2; - if (var1 == null) { // L: 51 - var2 = this.sentinel.previous; - } else { - var2 = var1; // L: 52 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lga;)Lga;" + ) + Node method5062(Node var1) { + Node var2; + if (var1 == null) { + var2 = this.sentinel.previous; + } else { + var2 = var1; + } - if (var2 == this.sentinel) { // L: 53 - this.field3567 = null; // L: 54 - return null; // L: 55 - } else { - this.field3567 = var2.previous; // L: 57 - return var2; // L: 58 - } - } + if (var2 == this.sentinel) { + this.field3568 = null; + return null; + } else { + this.field3568 = var2.previous; + return var2; + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("previous") - public Node previous() { - Node var1 = this.field3567; // L: 62 - if (var1 == this.sentinel) { // L: 63 - this.field3567 = null; // L: 64 - return null; // L: 65 - } else { - this.field3567 = var1.previous; // L: 67 - return var1; // L: 68 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("previous") + public Node previous() { + Node var1 = this.field3568; + if (var1 == this.sentinel) { + this.field3568 = null; + return null; + } else { + this.field3568 = var1.previous; + return var1; + } + } - @ObfuscatedName("p") - int method4853() { - int var1 = 0; // L: 72 + @ObfuscatedName("e") + int method5063() { + int var1 = 0; - for (Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { // L: 73 74 76 - ++var1; // L: 75 - } + for(Node var2 = this.sentinel.previous; var2 != this.sentinel; var2 = var2.previous) { + ++var1; + } - return var1; // L: 78 - } + return var1; + } - @ObfuscatedName("l") - public boolean method4840() { - return this.sentinel.previous == this.sentinel; // L: 82 - } + @ObfuscatedName("q") + public boolean method5064() { + return this.sentinel.previous == this.sentinel; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "()[Lgu;" - ) - Node[] method4841() { - Node[] var1 = new Node[this.method4853()]; // L: 86 - int var2 = 0; // L: 87 + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "()[Lga;" + ) + Node[] method5034() { + Node[] var1 = new Node[this.method5063()]; + int var2 = 0; - for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { // L: 88 89 91 - var1[var2++] = var3; // L: 90 - } + for(Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { + var1[var2++] = var3; + } - return var1; // L: 93 - } + return var1; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lgu;)Z" - ) - boolean method4832(Node var1) { - this.addFirst(var1); // L: 127 - return true; // L: 128 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(Lga;)Z" + ) + boolean method5037(Node var1) { + this.addFirst(var1); + return true; + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 160 - } + public Iterator iterator() { + return new IterableNodeDequeDescendingIterator(this); + } - public int size() { - return this.method4853(); // L: 101 - } + public boolean contains(Object var1) { + throw new RuntimeException(); + } - public boolean isEmpty() { - return this.method4840(); // L: 105 - } + public Object[] toArray() { + return this.method5034(); + } - public boolean contains(Object var1) { - throw new RuntimeException(); // L: 109 - } + public Object[] toArray(Object[] var1) { + int var2 = 0; - public Object[] toArray() { - return this.method4841(); // L: 113 - } + for(Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { + var1[var2++] = var3; + } - public Object[] toArray(Object[] var1) { - int var2 = 0; // L: 117 + return var1; + } - for (Node var3 = this.sentinel.previous; var3 != this.sentinel; var3 = var3.previous) { // L: 118 119 121 - var1[var2++] = var3; // L: 120 - } + public boolean remove(Object var1) { + throw new RuntimeException(); + } - return var1; // L: 123 - } + public boolean containsAll(Collection var1) { + throw new RuntimeException(); + } - public boolean addAll(Collection var1) { - throw new RuntimeException(); // L: 140 - } + public boolean removeAll(Collection var1) { + throw new RuntimeException(); + } - public boolean removeAll(Collection var1) { - throw new RuntimeException(); // L: 144 - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public void clear() { - this.rsClear(); // L: 152 - } // L: 153 + public int hashCode() { + return super.hashCode(); + } - public boolean add(Object var1) { - return this.method4832((Node)var1); // L: 156 - } + public int size() { + return this.method5063(); + } - public boolean remove(Object var1) { - throw new RuntimeException(); // L: 132 - } + public boolean add(Object var1) { + return this.method5037((Node)var1); + } - public Iterator iterator() { - return new IterableNodeDequeDescendingIterator(this); // L: 97 - } + public boolean addAll(Collection var1) { + throw new RuntimeException(); + } - public boolean retainAll(Collection var1) { - throw new RuntimeException(); // L: 148 - } + public boolean isEmpty() { + return this.method5064(); + } - public int hashCode() { - return super.hashCode(); // L: 164 - } + public void clear() { + this.rsClear(); + } - public boolean containsAll(Collection var1) { - throw new RuntimeException(); // L: 136 - } + public boolean retainAll(Collection var1) { + throw new RuntimeException(); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lgu;Lgu;)V" - ) - @Export("IterableNodeDeque_addBefore") - public static void IterableNodeDeque_addBefore(Node var0, Node var1) { - if (var0.next != null) { // L: 38 - var0.remove(); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lga;Lga;)V" + ) + @Export("IterableNodeDeque_addBefore") + public static void IterableNodeDeque_addBefore(Node var0, Node var1) { + if (var0.next != null) { + var0.remove(); + } - var0.next = var1; // L: 39 - var0.previous = var1.previous; // L: 40 - var0.next.previous = var0; // L: 41 - var0.previous.next = var0; // L: 42 - } // L: 43 + var0.next = var1; + var0.previous = var1.previous; + var0.next.previous = var0; + var0.previous.next = var0; + } } diff --git a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java index a17a01c8bd..2667c2ade6 100644 --- a/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java +++ b/runescape-client/src/main/java/IterableNodeDequeDescendingIterator.java @@ -4,75 +4,74 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("js") +@ObfuscatedName("ja") @Implements("IterableNodeDequeDescendingIterator") public class IterableNodeDequeDescendingIterator implements Iterator { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljn;" - ) - @Export("deque") - IterableNodeDeque deque; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - Node field3575; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("last") - Node last; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Ljv;" + ) + @Export("deque") + IterableNodeDeque deque; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + Node field3578; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("last") + Node last = null; - @ObfuscatedSignature( - descriptor = "(Ljn;)V" - ) - IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { - this.last = null; // L: 9 - this.setDeque(var1); // L: 12 - } // L: 13 + @ObfuscatedSignature( + descriptor = "(Ljv;)V" + ) + IterableNodeDequeDescendingIterator(IterableNodeDeque var1) { + this.setDeque(var1); + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljn;)V" - ) - @Export("setDeque") - void setDeque(IterableNodeDeque var1) { - this.deque = var1; // L: 16 - this.start(); // L: 17 - } // L: 18 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Ljv;)V" + ) + @Export("setDeque") + void setDeque(IterableNodeDeque var1) { + this.deque = var1; + this.start(); + } - @ObfuscatedName("u") - @Export("start") - void start() { - this.field3575 = this.deque != null ? this.deque.sentinel.previous : null; // L: 21 - this.last = null; // L: 22 - } // L: 23 + @ObfuscatedName("q") + @Export("start") + void start() { + this.field3578 = this.deque != null ? this.deque.sentinel.previous : null; + this.last = null; + } - public Object next() { - Node var1 = this.field3575; // L: 26 - if (var1 == this.deque.sentinel) { // L: 27 - var1 = null; // L: 28 - this.field3575 = null; // L: 29 - } else { - this.field3575 = var1.previous; // L: 31 - } + public Object next() { + Node var1 = this.field3578; + if (var1 == this.deque.sentinel) { + var1 = null; + this.field3578 = null; + } else { + this.field3578 = var1.previous; + } - this.last = var1; // L: 32 - return var1; // L: 33 - } + this.last = var1; + return var1; + } - public void remove() { - if (this.last == null) { // L: 41 - throw new IllegalStateException(); - } else { - this.last.remove(); // L: 42 - this.last = null; // L: 43 - } - } // L: 44 + public boolean hasNext() { + return this.deque.sentinel != this.field3578; + } - public boolean hasNext() { - return this.deque.sentinel != this.field3575; // L: 37 - } + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } } diff --git a/runescape-client/src/main/java/IterableNodeHashTable.java b/runescape-client/src/main/java/IterableNodeHashTable.java index 7c37abfe98..730d849587 100644 --- a/runescape-client/src/main/java/IterableNodeHashTable.java +++ b/runescape-client/src/main/java/IterableNodeHashTable.java @@ -4,141 +4,140 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("la") +@ObfuscatedName("lg") @Implements("IterableNodeHashTable") public final class IterableNodeHashTable implements Iterable { - @ObfuscatedName("h") - @Export("size") - int size; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Lgu;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("current") - Node current; - @ObfuscatedName("t") - @Export("index") - int index; + @ObfuscatedName("n") + @Export("size") + int size; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Lga;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("current") + Node current; + @ObfuscatedName("y") + @Export("index") + int index = 0; - public IterableNodeHashTable(int var1) { - this.index = 0; // L: 11 - this.size = var1; // L: 14 - this.buckets = new Node[var1]; // L: 15 + public IterableNodeHashTable(int var1) { + this.size = var1; + this.buckets = new Node[var1]; - for (int var2 = 0; var2 < var1; ++var2) { // L: 16 - Node var3 = this.buckets[var2] = new Node(); // L: 17 - var3.previous = var3; // L: 18 - var3.next = var3; // L: 19 - } + for(int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } - } // L: 21 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(J)Lgu;" - ) - @Export("get") - public Node get(long var1) { - Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; // L: 24 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(J)Lga;" + ) + @Export("get") + public Node get(long var1) { + Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; - for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { // L: 25 26 32 - if (this.currentGet.key == var1) { // L: 27 - Node var4 = this.currentGet; // L: 28 - this.currentGet = this.currentGet.previous; // L: 29 - return var4; // L: 30 - } - } + for(this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { + if (this.currentGet.key == var1) { + Node var4 = this.currentGet; + this.currentGet = this.currentGet.previous; + return var4; + } + } - this.currentGet = null; // L: 34 - return null; // L: 35 - } + this.currentGet = null; + return null; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgu;J)V" - ) - @Export("put") - public void put(Node var1, long var2) { - if (var1.next != null) { // L: 39 - var1.remove(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lga;J)V" + ) + @Export("put") + public void put(Node var1, long var2) { + if (var1.next != null) { + var1.remove(); + } - Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; // L: 40 - var1.next = var4.next; // L: 41 - var1.previous = var4; // L: 42 - var1.next.previous = var1; // L: 43 - var1.previous.next = var1; // L: 44 - var1.key = var2; // L: 45 - } // L: 46 + Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; + var1.next = var4.next; + var1.previous = var4; + var1.next.previous = var1; + var1.previous.next = var1; + var1.key = var2; + } - @ObfuscatedName("x") - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.size; ++var1) { // L: 49 - Node var2 = this.buckets[var1]; // L: 50 + @ObfuscatedName("d") + @Export("clear") + public void clear() { + for(int var1 = 0; var1 < this.size; ++var1) { + Node var2 = this.buckets[var1]; - while (true) { - Node var3 = var2.previous; // L: 52 - if (var3 == var2) { // L: 53 - break; - } + while(true) { + Node var3 = var2.previous; + if (var3 == var2) { + break; + } - var3.remove(); // L: 54 - } - } + var3.remove(); + } + } - this.currentGet = null; // L: 57 - this.current = null; // L: 58 - } // L: 59 + this.currentGet = null; + this.current = null; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("first") - public Node first() { - this.index = 0; // L: 62 - return this.next(); // L: 63 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("next") - public Node next() { - Node var1; - if (this.index > 0 && this.buckets[this.index - 1] != this.current) { // L: 67 - var1 = this.current; // L: 68 - this.current = var1.previous; // L: 69 - return var1; // L: 70 - } else { - do { - if (this.index >= this.size) { // L: 72 - return null; // L: 79 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("next") + public Node next() { + Node var1; + if (this.index > 0 && this.buckets[this.index - 1] != this.current) { + var1 = this.current; + this.current = var1.previous; + return var1; + } else { + do { + if (this.index >= this.size) { + return null; + } - var1 = this.buckets[this.index++].previous; // L: 73 - } while(var1 == this.buckets[this.index - 1]); // L: 74 + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); - this.current = var1.previous; // L: 75 - return var1; // L: 76 - } - } + this.current = var1.previous; + return var1; + } + } - public Iterator iterator() { - return new IterableNodeHashTableIterator(this); // L: 83 - } + public Iterator iterator() { + return new IterableNodeHashTableIterator(this); + } } diff --git a/runescape-client/src/main/java/IterableNodeHashTableIterator.java b/runescape-client/src/main/java/IterableNodeHashTableIterator.java index 701157390d..2d11ee4621 100644 --- a/runescape-client/src/main/java/IterableNodeHashTableIterator.java +++ b/runescape-client/src/main/java/IterableNodeHashTableIterator.java @@ -4,89 +4,92 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lb") +@ObfuscatedName("lj") @Implements("IterableNodeHashTableIterator") public class IterableNodeHashTableIterator implements Iterator { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("hashTable") - IterableNodeHashTable hashTable; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("head") - Node head; - @ObfuscatedName("x") - @Export("index") - int index; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("last") - Node last; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("hashTable") + IterableNodeHashTable hashTable; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("head") + Node head; + @ObfuscatedName("d") + @Export("index") + int index; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("last") + Node last = null; - @ObfuscatedSignature( - descriptor = "(Lla;)V" - ) - IterableNodeHashTableIterator(IterableNodeHashTable var1) { - this.last = null; // L: 10 - this.hashTable = var1; // L: 13 - this.start(); // L: 14 - } // L: 15 + @ObfuscatedSignature( + descriptor = "(Llg;)V" + ) + IterableNodeHashTableIterator(IterableNodeHashTable var1) { + this.hashTable = var1; + this.start(); + } - @ObfuscatedName("z") - @Export("start") - void start() { - this.head = this.hashTable.buckets[0].previous; // L: 18 - this.index = 1; // L: 19 - this.last = null; // L: 20 - } // L: 21 + @ObfuscatedName("e") + @Export("start") + void start() { + this.head = this.hashTable.buckets[0].previous; + this.index = 1; + this.last = null; + } - public Object next() { - Node var1; - if (this.hashTable.buckets[this.index - 1] != this.head) { // L: 24 - var1 = this.head; // L: 25 - this.head = var1.previous; // L: 26 - this.last = var1; // L: 27 - return var1; // L: 28 - } else { - do { - if (this.index >= this.hashTable.size) { // L: 30 - return null; // L: 38 - } + public Object next() { + Node var1; + if (this.hashTable.buckets[this.index - 1] != this.head) { + var1 = this.head; + this.head = var1.previous; + this.last = var1; + return var1; + } else { + do { + if (this.index >= this.hashTable.size) { + return null; + } - var1 = this.hashTable.buckets[this.index++].previous; // L: 31 - } while(var1 == this.hashTable.buckets[this.index - 1]); // L: 32 + var1 = this.hashTable.buckets[this.index++].previous; + } while(var1 == this.hashTable.buckets[this.index - 1]); - this.head = var1.previous; // L: 33 - this.last = var1; // L: 34 - return var1; // L: 35 - } - } + this.head = var1.previous; + this.last = var1; + return var1; + } + } - public void remove() { - this.last.remove(); // L: 57 - this.last = null; // L: 58 - } // L: 59 + public boolean hasNext() { + if (this.hashTable.buckets[this.index - 1] != this.head) { + return true; + } else { + while(this.index < this.hashTable.size) { + if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { + this.head = this.hashTable.buckets[this.index - 1].previous; + return true; + } - public boolean hasNext() { - if (this.hashTable.buckets[this.index - 1] != this.head) { // L: 42 - return true; - } else { - while (this.index < this.hashTable.size) { // L: 43 - if (this.hashTable.buckets[this.index++].previous != this.hashTable.buckets[this.index - 1]) { // L: 44 - this.head = this.hashTable.buckets[this.index - 1].previous; // L: 45 - return true; // L: 46 - } + this.head = this.hashTable.buckets[this.index - 1]; + } - this.head = this.hashTable.buckets[this.index - 1]; // L: 49 - } + return false; + } + } - return false; // L: 52 - } - } + public void remove() { + if (this.last == null) { + throw new IllegalStateException(); + } else { + this.last.remove(); + this.last = null; + } + } } diff --git a/runescape-client/src/main/java/JagexCache.java b/runescape-client/src/main/java/JagexCache.java index bf4b90413c..31a3b8ec20 100644 --- a/runescape-client/src/main/java/JagexCache.java +++ b/runescape-client/src/main/java/JagexCache.java @@ -4,73 +4,219 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("fu") +@ObfuscatedName("fp") @Implements("JagexCache") public class JagexCache { - @ObfuscatedName("w") - @Export("JagexCache_locationFile") - static File JagexCache_locationFile; - @ObfuscatedName("t") - @Export("cacheDir") - public static File cacheDir; - @ObfuscatedName("p") - @Export("ByteArrayPool_altSizeArrayCounts") - public static int[] ByteArrayPool_altSizeArrayCounts; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lmz;" - ) - @Export("JagexCache_randomDat") - public static BufferedFile JagexCache_randomDat; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lmz;" - ) - @Export("JagexCache_dat2File") - public static BufferedFile JagexCache_dat2File; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lmz;" - ) - @Export("JagexCache_idx255File") - public static BufferedFile JagexCache_idx255File; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -622132541 - ) - @Export("cacheGamebuild") - public static int cacheGamebuild; + @ObfuscatedName("rg") + @ObfuscatedGetter( + intValue = 1085994163 + ) + static int field2070; + @ObfuscatedName("rv") + @ObfuscatedGetter( + intValue = -1320857685 + ) + static int field2056; + @ObfuscatedName("c") + @Export("JagexCache_locationFile") + static File JagexCache_locationFile; + @ObfuscatedName("y") + @Export("cacheDir") + static File cacheDir; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 2009341667 + ) + @Export("idxCount") + static int idxCount; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + @Export("JagexCache_randomDat") + public static BufferedFile JagexCache_randomDat = null; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + @Export("JagexCache_dat2File") + public static BufferedFile JagexCache_dat2File = null; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lme;" + ) + @Export("JagexCache_idx255File") + public static BufferedFile JagexCache_idx255File = null; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 2115151197 + ) + @Export("cacheGamebuild") + static int cacheGamebuild; + @ObfuscatedName("p") + static String field2065; + @ObfuscatedName("m") + @Export("userHomeDirectory") + static String userHomeDirectory; + @ObfuscatedName("ja") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("dragInventoryWidget") + static Widget dragInventoryWidget; - static { - JagexCache_randomDat = null; // L: 22 - JagexCache_dat2File = null; // L: 23 - JagexCache_idx255File = null; // L: 24 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Ljava/lang/String;", + garbageValue = "2062963895" + ) + public static String method3683(Buffer var0) { + return WorldMapRegion.method642(var0, 32767); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;B)I", - garbageValue = "-6" - ) - @Export("hashString") - public static int hashString(CharSequence var0) { - int var1 = var0.length(); // L: 140 - int var2 = 0; // L: 141 + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-638014439" + ) + static int method3686(int var0, Script var1, boolean var2) { + int var4; + int var9; + if (var0 == ScriptOpcodes.ADD) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 + var4; + return 1; + } else if (var0 == ScriptOpcodes.SUB) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 - var4; + return 1; + } else if (var0 == ScriptOpcodes.MULTIPLY) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 * var4; + return 1; + } else if (var0 == ScriptOpcodes.DIV) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 / var4; + return 1; + } else if (var0 == ScriptOpcodes.RANDOM) { + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var9); + return 1; + } else if (var0 == ScriptOpcodes.RANDOMINC) { + var9 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var9 + 1)); + return 1; + } else if (var0 == ScriptOpcodes.INTERPOLATE) { + Interpreter.Interpreter_intStackSize -= 5; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + int var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 + (var4 - var9) * (var11 - var10) / (var6 - var10); + return 1; + } else if (var0 == ScriptOpcodes.ADDPERCENT) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 + var4 * var9 / 100; + return 1; + } else if (var0 == ScriptOpcodes.SETBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 | 1 << var4; + return 1; + } else if (var0 == ScriptOpcodes.CLEARBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 & -1 - (1 << var4); + return 1; + } else if (var0 == ScriptOpcodes.TESTBIT) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var9 & 1 << var4) != 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.MOD) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 % var4; + return 1; + } else if (var0 == ScriptOpcodes.POW) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var9 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var9, (double)var4); + } - for (int var3 = 0; var3 < var1; ++var3) { // L: 142 - var2 = (var2 << 5) - var2 + Varps.charToByteCp1252(var0.charAt(var3)); - } + return 1; + } else if (var0 == ScriptOpcodes.INVPOW) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var9 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + switch(var4) { + case 0: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; + break; + case 1: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9; + break; + case 2: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var9); + break; + case 3: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var9); + break; + case 4: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var9)); + break; + default: + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)Math.pow((double)var9, 1.0D / (double)var4); + } - return var2; // L: 143 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "3" - ) - public static boolean method3566() { - return class206.musicPlayerStatus != 0 ? true : class206.midiPcmStream.isReady(); // L: 68 69 - } + return 1; + } + } else if (var0 == ScriptOpcodes.AND) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 & var4; + return 1; + } else if (var0 == ScriptOpcodes.OR) { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9 | var4; + return 1; + } else if (var0 == ScriptOpcodes.SCALE) { + Interpreter.Interpreter_intStackSize -= 3; + long var3 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + long var5 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + long var7 = (long)Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (int)(var7 * var3 / var5); + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/KeyHandler.java b/runescape-client/src/main/java/KeyHandler.java index ee14cfd09a..c1a09e4ffe 100644 --- a/runescape-client/src/main/java/KeyHandler.java +++ b/runescape-client/src/main/java/KeyHandler.java @@ -1,3 +1,4 @@ +import java.applet.Applet; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.awt.event.KeyEvent; @@ -8,228 +9,268 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bs") +@ObfuscatedName("bi") @Implements("KeyHandler") public final class KeyHandler implements KeyListener, FocusListener { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lbs;" - ) - @Export("KeyHandler_instance") - static KeyHandler KeyHandler_instance; - @ObfuscatedName("cb") - @Export("KeyHandler_pressedKeys") - public static boolean[] KeyHandler_pressedKeys; - @ObfuscatedName("ch") - static int[] field408; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = -1299680861 - ) - static int field401; - @ObfuscatedName("cl") - @ObfuscatedGetter( - intValue = -556224925 - ) - static int field410; - @ObfuscatedName("cw") - static char[] field409; - @ObfuscatedName("cp") - static int[] field412; - @ObfuscatedName("cu") - public static int[] field413; - @ObfuscatedName("ct") - @ObfuscatedGetter( - intValue = -753956463 - ) - public static int field414; - @ObfuscatedName("ck") - @ObfuscatedGetter( - intValue = 56497991 - ) - static int field415; - @ObfuscatedName("cy") - @ObfuscatedGetter( - intValue = -688605193 - ) - static int field419; - @ObfuscatedName("cg") - @ObfuscatedGetter( - intValue = 1389632297 - ) - static int field417; - @ObfuscatedName("cv") - @ObfuscatedGetter( - intValue = 1798762127 - ) - @Export("KeyHandler_idleCycles") - static volatile int KeyHandler_idleCycles; - @ObfuscatedName("cs") - @Export("KeyHandler_keyCodes") - static int[] KeyHandler_keyCodes; - @ObfuscatedName("hf") - @ObfuscatedGetter( - intValue = -25501975 - ) - @Export("cameraY") - static int cameraY; + @ObfuscatedName("ph") + @Export("ClanChat_inClanChat") + static boolean ClanChat_inClanChat; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lbi;" + ) + @Export("KeyHandler_instance") + public static KeyHandler KeyHandler_instance = new KeyHandler(); + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "Lli;" + ) + static Bounds field409; + @ObfuscatedName("cr") + @Export("KeyHandler_pressedKeys") + public static boolean[] KeyHandler_pressedKeys = new boolean[112]; + @ObfuscatedName("cs") + public static int[] field407 = new int[128]; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = -65232469 + ) + public static int field416 = 0; + @ObfuscatedName("cu") + @ObfuscatedGetter( + intValue = -1002446749 + ) + public static int field417 = 0; + @ObfuscatedName("ci") + static char[] field422 = new char[128]; + @ObfuscatedName("cy") + static int[] field428 = new int[128]; + @ObfuscatedName("cm") + public static int[] field420 = new int[128]; + @ObfuscatedName("cc") + @ObfuscatedGetter( + intValue = -1646570973 + ) + public static int field421 = 0; + @ObfuscatedName("co") + @ObfuscatedGetter( + intValue = -1868848877 + ) + public static int field418 = 0; + @ObfuscatedName("cx") + @ObfuscatedGetter( + intValue = 284809291 + ) + public static int field423 = 0; + @ObfuscatedName("cg") + @ObfuscatedGetter( + intValue = -1588472735 + ) + public static int field424 = 0; + @ObfuscatedName("ch") + @ObfuscatedGetter( + intValue = 1023513531 + ) + @Export("KeyHandler_idleCycles") + public static volatile int KeyHandler_idleCycles = 0; + @ObfuscatedName("cl") + @Export("KeyHandler_keyCodes") + static int[] KeyHandler_keyCodes = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; + @ObfuscatedName("hz") + @ObfuscatedGetter( + intValue = -1023846245 + ) + @Export("cameraPitch") + static int cameraPitch; + @ObfuscatedName("iz") + @ObfuscatedGetter( + intValue = -1825492875 + ) + @Export("selectedItemId") + static int selectedItemId; - static { - KeyHandler_instance = new KeyHandler(); // L: 13 - KeyHandler_pressedKeys = new boolean[112]; // L: 100 - field408 = new int[128]; // L: 103 - field401 = 0; // L: 104 - field410 = 0; // L: 105 - field409 = new char[128]; // L: 106 - field412 = new int[128]; // L: 107 - field413 = new int[128]; // L: 108 - field414 = 0; // L: 109 - field415 = 0; // L: 110 - field419 = 0; // L: 111 - field417 = 0; // L: 112 - KeyHandler_idleCycles = 0; // L: 113 - KeyHandler_keyCodes = new int[]{-1, -1, -1, -1, -1, -1, -1, -1, 85, 80, 84, -1, 91, -1, -1, -1, 81, 82, 86, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, 83, 104, 105, 103, 102, 96, 98, 97, 99, -1, -1, -1, -1, -1, -1, -1, 25, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, 48, 68, 66, 50, 34, 51, 52, 53, 39, 54, 55, 56, 70, 69, 40, 41, 32, 35, 49, 36, 38, 67, 33, 65, 37, 64, -1, -1, -1, -1, -1, 228, 231, 227, 233, 224, 219, 225, 230, 226, 232, 89, 87, -1, 88, 229, 90, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 87, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1}; // L: 114 - } + public final synchronized void keyPressed(KeyEvent var1) { + if (KeyHandler_instance != null) { + int var2 = var1.getKeyCode(); + if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { + var2 = KeyHandler_keyCodes[var2]; + if ((var2 & 128) != 0) { + var2 = -1; + } + } else { + var2 = -1; + } - KeyHandler() { - } // L: 116 + if (field417 >= 0 && var2 >= 0) { + field407[field417] = var2; + field417 = field417 + 1 & 127; + if (field417 == field416) { + field417 = -1; + } + } - public final synchronized void keyPressed(KeyEvent var1) { - if (KeyHandler_instance != null) { // L: 205 - int var2 = var1.getKeyCode(); // L: 206 - if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { // L: 207 - var2 = KeyHandler_keyCodes[var2]; // L: 208 - if ((var2 & 128) != 0) { // L: 209 - var2 = -1; - } - } else { - var2 = -1; // L: 211 - } + int var3; + if (var2 >= 0) { + var3 = field423 + 1 & 127; + if (var3 != field418) { + field428[field423] = var2; + field422[field423] = 0; + field423 = var3; + } + } - if (field410 >= 0 && var2 >= 0) { // L: 212 - field408[field410] = var2; // L: 213 - field410 = field410 + 1 & 127; // L: 214 - if (field401 == field410) { // L: 215 - field410 = -1; - } - } + var3 = var1.getModifiers(); + if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { + var1.consume(); + } + } - int var3; - if (var2 >= 0) { // L: 217 - var3 = field419 + 1 & 127; // L: 218 - if (var3 != field415) { // L: 219 - field412[field419] = var2; // L: 220 - field409[field419] = 0; // L: 221 - field419 = var3; // L: 222 - } - } + } - var3 = var1.getModifiers(); // L: 225 - if ((var3 & 10) != 0 || var2 == 85 || var2 == 10) { // L: 226 - var1.consume(); // L: 227 - } - } + public final synchronized void keyReleased(KeyEvent var1) { + if (KeyHandler_instance != null) { + int var2 = var1.getKeyCode(); + if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { + var2 = KeyHandler_keyCodes[var2] & -129; + } else { + var2 = -1; + } - } // L: 230 + if (field417 >= 0 && var2 >= 0) { + field407[field417] = ~var2; + field417 = field417 + 1 & 127; + if (field417 == field416) { + field417 = -1; + } + } + } - public final void focusGained(FocusEvent var1) { - } // L: 261 + var1.consume(); + } - public final synchronized void focusLost(FocusEvent var1) { - if (KeyHandler_instance != null) { // L: 264 - field410 = -1; // L: 265 - } + public final void keyTyped(KeyEvent var1) { + if (KeyHandler_instance != null) { + char var2 = var1.getKeyChar(); + if (var2 != 0 && var2 != '\uffff' && FaceNormal.method3421(var2)) { + int var3 = field423 + 1 & 127; + if (var3 != field418) { + field428[field423] = -1; + field422[field423] = var2; + field423 = var3; + } + } + } - } // L: 267 + var1.consume(); + } - public final synchronized void keyReleased(KeyEvent var1) { - if (KeyHandler_instance != null) { // L: 233 - int var2 = var1.getKeyCode(); // L: 234 - if (var2 >= 0 && var2 < KeyHandler_keyCodes.length) { // L: 235 - var2 = KeyHandler_keyCodes[var2] & -129; - } else { - var2 = -1; // L: 236 - } + public final void focusGained(FocusEvent var1) { + } - if (field410 >= 0 && var2 >= 0) { // L: 237 - field408[field410] = ~var2; // L: 238 - field410 = field410 + 1 & 127; // L: 239 - if (field410 == field401) { // L: 240 - field410 = -1; - } - } - } + public final synchronized void focusLost(FocusEvent var1) { + if (KeyHandler_instance != null) { + field417 = -1; + } - var1.consume(); // L: 243 - } // L: 244 + } - public final void keyTyped(KeyEvent var1) { - if (KeyHandler_instance != null) { // L: 247 - char var2 = var1.getKeyChar(); // L: 248 - if (var2 != 0 && var2 != '\uffff' && WorldMapData_0.method247(var2)) { // L: 249 - int var3 = field419 + 1 & 127; // L: 250 - if (var3 != field415) { // L: 251 - field412[field419] = -1; // L: 252 - field409[field419] = var2; // L: 253 - field419 = var3; // L: 254 - } - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;I)V", + garbageValue = "1009251772" + ) + public static void method912(Applet var0, String var1) { + class60.applet = var0; + if (var1 != null) { + class60.field454 = var1; + } - var1.consume(); // L: 258 - } // L: 259 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I[BLlx;I)V", - garbageValue = "-1114556828" - ) - static void method872(int var0, byte[] var1, ArchiveDisk var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); // L: 18 - var3.type = 0; // L: 19 - var3.key = (long)var0; // L: 20 - var3.data = var1; // L: 21 - var3.archiveDisk = var2; // L: 22 - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { // L: 23 - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); // L: 24 - } // L: 25 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;IIIIIII)V", + garbageValue = "-1349171106" + ) + @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; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { // L: 27 - if (ArchiveDiskActionHandler.field3178 == 0) { // L: 28 - SecureRandomFuture.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); // L: 29 - SecureRandomFuture.ArchiveDiskActionHandler_thread.setDaemon(true); // L: 30 - SecureRandomFuture.ArchiveDiskActionHandler_thread.start(); // L: 31 - SecureRandomFuture.ArchiveDiskActionHandler_thread.setPriority(5); // L: 32 - } + while(true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + if (var1 == 0) { + Tiles.Tiles_heights[0][var2][var3] = -ArchiveLoader.method1237(var2 + 932731 + var4, var5 + 556238 + var3) * 8; + } else { + Tiles.Tiles_heights[var1][var2][var3] = Tiles.Tiles_heights[var1 - 1][var2][var3] - 240; + } + break; + } - ArchiveDiskActionHandler.field3178 = 600; // L: 34 - } - } // L: 37 + if (var7 == 1) { + int var8 = var0.readUnsignedByte(); + if (var8 == 1) { + var8 = 0; + } - @ObfuscatedName("jx") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIB)V", - garbageValue = "1" - ) - @Export("drawWidgets") - static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (class41.loadInterface(var0)) { // L: 8914 - class200.field2390 = null; // L: 8921 - FontName.drawInterface(class9.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); // L: 8922 - if (class200.field2390 != null) { // L: 8923 - FontName.drawInterface(class200.field2390, -1412584499, var1, var2, var3, var4, Client.field923, Renderable.field1893, var7); // L: 8924 - class200.field2390 = null; // L: 8925 - } + 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; + } + break; + } - } else { - if (var7 != -1) { // L: 8915 - Client.field901[var7] = true; - } else { - for (int var8 = 0; var8 < 100; ++var8) { // L: 8917 - Client.field901[var8] = true; - } - } + if (var7 <= 49) { + class200.field2399[var1][var2][var3] = var0.readByte(); + Tiles.field530[var1][var2][var3] = (byte)((var7 - 2) / 4); + class1.field1[var1][var2][var3] = (byte)(var7 - 2 + var6 & 3); + } else if (var7 <= 81) { + Tiles.Tiles_renderFlags[var1][var2][var3] = (byte)(var7 - 49); + } else { + Tiles.field517[var1][var2][var3] = (byte)(var7 - 81); + } + } + } else { + while(true) { + var7 = var0.readUnsignedByte(); + if (var7 == 0) { + break; + } - } - } // L: 8919 8927 + if (var7 == 1) { + var0.readUnsignedByte(); + break; + } + + if (var7 <= 49) { + var0.readUnsignedByte(); + } + } + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2146586711" + ) + public static void method913() { + HitSplatDefinition.HitSplatDefinition_cached.clear(); + HitSplatDefinition.HitSplatDefinition_cachedSprites.clear(); + HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); + } + + @ObfuscatedName("kt") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "534090329" + ) + static final void method911() { + Client.field858 = Client.cycleCntr; + ClanChat_inClanChat = true; + } } diff --git a/runescape-client/src/main/java/KitDefinition.java b/runescape-client/src/main/java/KitDefinition.java index 9144d23669..293e015313 100644 --- a/runescape-client/src/main/java/KitDefinition.java +++ b/runescape-client/src/main/java/KitDefinition.java @@ -4,276 +4,233 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("if") +@ObfuscatedName("it") @Implements("KitDefinition") public class KitDefinition extends DualNode { - @ObfuscatedName("oz") - @ObfuscatedSignature( - descriptor = "Lfi;" - ) - @Export("mouseWheel") - static MouseWheel mouseWheel; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("KitDefinition_archive") - public static AbstractArchive KitDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1665100339 - ) - @Export("KitDefinition_fileCount") - public static int KitDefinition_fileCount; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("KitDefinition_cached") - static EvictingDualNodeHashTable KitDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 240118187 - ) - @Export("bodypartID") - public int bodypartID; - @ObfuscatedName("j") - @Export("models2") - int[] models2; - @ObfuscatedName("n") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("p") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("l") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("z") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("u") - @Export("models") - int[] models; - @ObfuscatedName("e") - @Export("nonSelectable") - public boolean nonSelectable; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("KitDefinition_archive") + static AbstractArchive KitDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("KitDefinition_modelsArchive") + static AbstractArchive KitDefinition_modelsArchive; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1172594075 + ) + @Export("KitDefinition_fileCount") + public static int KitDefinition_fileCount; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("KitDefinition_cached") + public static EvictingDualNodeHashTable KitDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -765113367 + ) + @Export("bodypartID") + public int bodypartID = -1; + @ObfuscatedName("h") + @Export("models2") + int[] models2; + @ObfuscatedName("z") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("e") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("q") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("l") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("s") + @Export("models") + int[] models = new int[]{-1, -1, -1, -1, -1}; + @ObfuscatedName("b") + @Export("nonSelectable") + public boolean nonSelectable = false; - static { - KitDefinition_cached = new EvictingDualNodeHashTable(64); // L: 14 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1001378689" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - KitDefinition() { - this.bodypartID = -1; // L: 15 - this.models = new int[]{-1, -1, -1, -1, -1}; // L: 21 - this.nonSelectable = false; // L: 22 - } // L: 24 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;S)V", - garbageValue = "24464" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 38 - if (var2 == 0) { // L: 39 - return; // L: 42 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "1463228330" + ) + @Export("decodeNext") + 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]; - this.decodeNext(var1, var2); // L: 40 - } - } + 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]; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "-62" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 45 - this.bodypartID = var1.readUnsignedByte(); - } else { - int var3; - int var4; - if (var2 == 2) { // L: 46 - var3 = var1.readUnsignedByte(); // L: 47 - this.models2 = new int[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.models2[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 3) { // L: 51 - this.nonSelectable = true; - } else if (var2 == 40) { // L: 52 - var3 = var1.readUnsignedByte(); - this.recolorFrom = new short[var3]; - this.recolorTo = 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 (var4 = 0; var4 < var3; ++var4) { - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); - this.recolorTo[var4] = (short)var1.readUnsignedShort(); // L: 58 - } - } 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) { // L: 70 - this.models[var2 - 60] = var1.readUnsignedShort(); - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-48" + ) + @Export("ready") + public boolean ready() { + if (this.models2 == null) { + return true; + } else { + boolean var1 = true; - } // L: 72 + for(int var2 = 0; var2 < this.models2.length; ++var2) { + if (!KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { + var1 = false; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1129169926" - ) - @Export("ready") - public boolean ready() { - if (this.models2 == null) { // L: 75 - return true; - } else { - boolean var1 = true; // L: 76 + return var1; + } + } - for (int var2 = 0; var2 < this.models2.length; ++var2) { // L: 77 - if (!class227.KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) { - var1 = false; - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)Lek;", + garbageValue = "-41" + ) + @Export("getModelData") + public ModelData getModelData() { + if (this.models2 == null) { + return null; + } else { + ModelData[] var1 = new ModelData[this.models2.length]; - return var1; // L: 78 - } - } + for(int var2 = 0; var2 < this.models2.length; ++var2) { + var1[var2] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models2[var2], 0); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)Les;", - garbageValue = "-1617446869" - ) - @Export("getModelData") - public ModelData getModelData() { - if (this.models2 == null) { // L: 82 - return null; - } else { - ModelData[] var1 = new ModelData[this.models2.length]; // L: 83 + ModelData var4; + if (var1.length == 1) { + var4 = var1[0]; + } else { + var4 = new ModelData(var1, var1.length); + } - for (int var2 = 0; var2 < this.models2.length; ++var2) { // L: 84 - var1[var2] = ModelData.ModelData_get(class227.KitDefinition_modelsArchive, this.models2[var2], 0); - } + int var3; + if (this.recolorFrom != null) { + for(var3 = 0; var3 < this.recolorFrom.length; ++var3) { + var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); + } + } - ModelData var4; - if (var1.length == 1) { // L: 86 - var4 = var1[0]; - } else { - var4 = new ModelData(var1, var1.length); // L: 87 - } + if (this.retextureFrom != null) { + for(var3 = 0; var3 < this.retextureFrom.length; ++var3) { + var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); + } + } - int var3; - if (this.recolorFrom != null) { // L: 88 - for (var3 = 0; var3 < this.recolorFrom.length; ++var3) { // L: 89 - var4.recolor(this.recolorFrom[var3], this.recolorTo[var3]); // L: 90 - } - } + return var4; + } + } - if (this.retextureFrom != null) { // L: 93 - for (var3 = 0; var3 < this.retextureFrom.length; ++var3) { // L: 94 - var4.retexture(this.retextureFrom[var3], this.retextureTo[var3]); // L: 95 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-121" + ) + public boolean method4640() { + boolean var1 = true; - return var4; // L: 98 - } - } + for(int var2 = 0; var2 < 5; ++var2) { + if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { + var1 = false; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-734430766" - ) - public boolean method4488() { - boolean var1 = true; // L: 102 + return var1; + } - for (int var2 = 0; var2 < 5; ++var2) { // L: 103 - if (this.models[var2] != -1 && !class227.KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) { // L: 104 - var1 = false; - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Lek;", + garbageValue = "2061268949" + ) + @Export("getKitDefinitionModels") + public ModelData getKitDefinitionModels() { + ModelData[] var1 = new ModelData[5]; + int var2 = 0; - return var1; // L: 106 - } + for(int var3 = 0; var3 < 5; ++var3) { + if (this.models[var3] != -1) { + var1[var2++] = ModelData.ModelData_get(KitDefinition_modelsArchive, this.models[var3], 0); + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Les;", - garbageValue = "148590883" - ) - @Export("getKitDefinitionModels") - public ModelData getKitDefinitionModels() { - ModelData[] var1 = new ModelData[5]; // L: 110 - int var2 = 0; // L: 111 + ModelData var5 = new ModelData(var1, var2); + int var4; + if (this.recolorFrom != null) { + for(var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var5.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - for (int var3 = 0; var3 < 5; ++var3) { // L: 112 - if (this.models[var3] != -1) { // L: 113 - var1[var2++] = ModelData.ModelData_get(class227.KitDefinition_modelsArchive, this.models[var3], 0); - } - } + if (this.retextureFrom != null) { + for(var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - ModelData var5 = new ModelData(var1, var2); // L: 115 - int var4; - if (this.recolorFrom != null) { // L: 116 - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { // L: 117 - var5.recolor(this.recolorFrom[var4], this.recolorTo[var4]); // L: 118 - } - } - - if (this.retextureFrom != null) { // L: 121 - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { // L: 122 - var5.retexture(this.retextureFrom[var4], this.retextureTo[var4]); // L: 123 - } - } - - return var5; // L: 126 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1929348115" - ) - public static void method4491(int var0, int var1) { - VarbitComposition var3 = (VarbitComposition) VarbitComposition.VarbitDefinition_cached.get((long)var0); // L: 48 - VarbitComposition var2; - if (var3 != null) { // L: 49 - var2 = var3; // L: 50 - } else { - byte[] var4 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); // L: 53 - var3 = new VarbitComposition(); // L: 54 - if (var4 != null) { // L: 55 - var3.decode(new Buffer(var4)); - } - - VarbitComposition.VarbitDefinition_cached.put(var3, (long)var0); // L: 56 - var2 = var3; // L: 57 - } - - int var8 = var2.baseVar; // L: 60 - int var5 = var2.startBit; // L: 61 - int var6 = var2.endBit; // L: 62 - int var7 = Varps.Varps_masks[var6 - var5]; // L: 63 - if (var1 < 0 || var1 > var7) { // L: 64 - var1 = 0; - } - - var7 <<= var5; // L: 65 - Varps.Varps_main[var8] = Varps.Varps_main[var8] & ~var7 | var1 << var5 & var7; // L: 66 - } // L: 67 + return var5; + } } diff --git a/runescape-client/src/main/java/Language.java b/runescape-client/src/main/java/Language.java index 91a3d650d1..ff11657d10 100644 --- a/runescape-client/src/main/java/Language.java +++ b/runescape-client/src/main/java/Language.java @@ -4,301 +4,138 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gi") +@ObfuscatedName("gp") @Implements("Language") public class Language implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_EN") - public static final Language Language_EN; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_DE") - static final Language Language_DE; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_FR") - public static final Language Language_FR; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_PT") - static final Language Language_PT; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_NL") - static final Language Language_NL; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_ES") - public static final Language Language_ES; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("Language_ES_MX") - static final Language Language_ES_MX; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "[Lgi;" - ) - @Export("Language_valuesOrdered") - static final Language[] Language_valuesOrdered; - @ObfuscatedName("p") - final String field2380; - @ObfuscatedName("l") - @Export("language") - final String language; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1680963867 - ) - @Export("id") - final int id; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_EN") + public static final Language Language_EN; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_DE") + static final Language Language_DE; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_FR") + public static final Language Language_FR; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_PT") + static final Language Language_PT; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_NL") + static final Language Language_NL; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_ES") + public static final Language Language_ES; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("Language_ES_MX") + static final Language Language_ES_MX; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "[Lgp;" + ) + @Export("Language_valuesOrdered") + static final Language[] Language_valuesOrdered; + @ObfuscatedName("e") + final String field2387; + @ObfuscatedName("q") + @Export("language") + final String language; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 426516807 + ) + @Export("id") + final int id; - static { - Language_EN = new Language("EN", "en", "English", ModeWhere.field2402, 0, "GB"); // L: 10 - Language_DE = new Language("DE", "de", "German", ModeWhere.field2402, 1, "DE"); // L: 11 - Language_FR = new Language("FR", "fr", "French", ModeWhere.field2402, 2, "FR"); // L: 12 - Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field2402, 3, "BR"); // L: 13 - Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field2397, 4, "NL"); // L: 14 - Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field2397, 5, "ES"); // L: 15 - Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field2402, 6, "MX"); // L: 16 - Language[] var0 = method3708(); // L: 23 - Language_valuesOrdered = new Language[var0.length]; // L: 24 - Language[] var1 = var0; // L: 26 + static { + Language_EN = new Language("EN", "en", "English", ModeWhere.field2420, 0, "GB"); + Language_DE = new Language("DE", "de", "German", ModeWhere.field2420, 1, "DE"); + Language_FR = new Language("FR", "fr", "French", ModeWhere.field2420, 2, "FR"); + Language_PT = new Language("PT", "pt", "Portuguese", ModeWhere.field2420, 3, "BR"); + Language_NL = new Language("NL", "nl", "Dutch", ModeWhere.field2405, 4, "NL"); + Language_ES = new Language("ES", "es", "Spanish", ModeWhere.field2405, 5, "ES"); + Language_ES_MX = new Language("ES_MX", "es-mx", "Spanish (Latin American)", ModeWhere.field2420, 6, "MX"); + Language[] var0 = new Language[]{Language_FR, Language_DE, Language_ES, Language_NL, Language_PT, Language_EN, Language_ES_MX}; + Language_valuesOrdered = new Language[var0.length]; + Language[] var2 = var0; - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 27 - Language var3 = var1[var2]; // L: 28 - if (Language_valuesOrdered[var3.id] != null) { // L: 30 - throw new IllegalStateException(); // L: 31 - } + for(int var3 = 0; var3 < var2.length; ++var3) { + Language var4 = var2[var3]; + if (Language_valuesOrdered[var4.id] != null) { + throw new IllegalStateException(); + } - Language_valuesOrdered[var3.id] = var3; // L: 33 - } + Language_valuesOrdered[var4.id] = var4; + } - } // L: 37 + } - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lge;ILjava/lang/String;)V" - ) - Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) { - this.field2380 = var1; // L: 44 - this.language = var2; // L: 45 - this.id = var5; // L: 46 - if (var6 != null) { // L: 47 - new Locale(var2.substring(0, 2), var6); // L: 48 - } else { - new Locale(var2.substring(0, 2)); // L: 51 - } + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lgw;ILjava/lang/String;)V" + ) + Language(String var1, String var2, String var3, ModeWhere var4, int var5, String var6) { + this.field2387 = var1; + this.language = var2; + this.id = var5; + if (var6 != null) { + new Locale(var2.substring(0, 2), var6); + } else { + new Locale(var2.substring(0, 2)); + } - } // L: 53 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "379304040" - ) - @Export("getLanguage") - String getLanguage() { - return this.language; // L: 56 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)Ljava/lang/String;", + garbageValue = "-40" + ) + @Export("getLanguage") + String getLanguage() { + return this.language; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 60 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - public String toString() { - return this.getLanguage().toLowerCase(Locale.ENGLISH); - } + public String toString() { + return this.getLanguage().toLowerCase(Locale.ENGLISH); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)[Lgi;", - garbageValue = "-1061791428" - ) - static Language[] method3708() { - return new Language[]{Language_PT, Language_NL, Language_ES, Language_DE, Language_EN, Language_FR, Language_ES_MX}; // L: 40 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)Lgi;", - garbageValue = "-1" - ) - public static Language method3701(int var0) { - return var0 >= 0 && var0 < Language_valuesOrdered.length ? Language_valuesOrdered[var0] : null; - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "684258970" - ) - @Export("clearItemContainer") - static void clearItemContainer(int var0) { - ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 63 - if (var1 != null) { // L: 64 - for (int var2 = 0; var2 < var1.ids.length; ++var2) { // L: 65 - var1.ids[var2] = -1; // L: 66 - var1.quantities[var2] = 0; // L: 67 - } - - } - } // L: 69 - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(ILcs;ZB)I", - garbageValue = "59" - ) - static int method3709(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CLIENTCLOCK) { // L: 1781 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.cycle; // L: 1782 - return 1; // L: 1783 - } else { - int var3; - int var4; - if (var0 == ScriptOpcodes.INV_GETOBJ) { // L: 1785 - VarcInt.Interpreter_intStackSize -= 2; // L: 1786 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1787 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1788 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class60.method942(var3, var4); // L: 1789 - return 1; // L: 1790 - } else if (var0 == ScriptOpcodes.INV_GETNUM) { // L: 1792 - VarcInt.Interpreter_intStackSize -= 2; // L: 1793 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1794 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1795 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class8.ItemContainer_getCount(var3, var4); // L: 1796 - return 1; // L: 1797 - } else if (var0 == ScriptOpcodes.INV_TOTAL) { // L: 1799 - VarcInt.Interpreter_intStackSize -= 2; // L: 1800 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1801 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1802 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Frames.method3356(var3, var4); // L: 1803 - return 1; // L: 1804 - } else if (var0 == ScriptOpcodes.INV_SIZE) { // L: 1806 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1807 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = LoginScreenAnimation.getInvDefinition(var3).size; // L: 1808 - return 1; // L: 1809 - } else if (var0 == ScriptOpcodes.STAT) { // L: 1811 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1812 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; // L: 1813 - return 1; // L: 1814 - } else if (var0 == ScriptOpcodes.STAT_BASE) { // L: 1816 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1817 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.levels[var3]; // L: 1818 - return 1; // L: 1819 - } else if (var0 == ScriptOpcodes.STAT_XP) { // L: 1821 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1822 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.experience[var3]; // L: 1823 - return 1; // L: 1824 - } else { - int var5; - if (var0 == ScriptOpcodes.COORD) { // L: 1826 - var3 = GameObject.Client_plane; // L: 1827 - var4 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; // L: 1828 - var5 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; // L: 1829 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); // L: 1830 - return 1; // L: 1831 - } else if (var0 == ScriptOpcodes.COORDX) { // L: 1833 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1834 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; // L: 1835 - return 1; // L: 1836 - } else if (var0 == ScriptOpcodes.COORDZ) { // L: 1838 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1839 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 >> 28; // L: 1840 - return 1; // L: 1841 - } else if (var0 == ScriptOpcodes.COORDY) { // L: 1843 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1844 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3 & 16383; // L: 1845 - return 1; // L: 1846 - } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { // L: 1848 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; // L: 1849 - return 1; // L: 1850 - } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { // L: 1852 - VarcInt.Interpreter_intStackSize -= 2; // L: 1853 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1854 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1855 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class60.method942(var3, var4); // L: 1856 - return 1; // L: 1857 - } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { // L: 1859 - VarcInt.Interpreter_intStackSize -= 2; // L: 1860 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1861 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1862 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class8.ItemContainer_getCount(var3, var4); // L: 1863 - return 1; // L: 1864 - } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { // L: 1866 - VarcInt.Interpreter_intStackSize -= 2; // L: 1867 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] + 32768; // L: 1868 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1869 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Frames.method3356(var3, var4); // L: 1870 - return 1; // L: 1871 - } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { // L: 1873 - if (Client.staffModLevel >= 2) { // L: 1874 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.staffModLevel; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1875 - } - - return 1; // L: 1876 - } else if (var0 == ScriptOpcodes.REBOOTTIMER) { // L: 1878 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.rebootTimer; // L: 1879 - return 1; // L: 1880 - } else if (var0 == ScriptOpcodes.MAP_WORLD) { // L: 1882 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.worldId; // L: 1883 - return 1; // L: 1884 - } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { // L: 1886 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.runEnergy; // L: 1887 - return 1; // L: 1888 - } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { // L: 1890 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.weight; // L: 1891 - return 1; // L: 1892 - } else if (var0 == ScriptOpcodes.PLAYERMOD) { // L: 1894 - if (Client.playerMod) { // L: 1895 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1896 - } - - return 1; // L: 1897 - } else if (var0 == ScriptOpcodes.WORLDFLAGS) { // L: 1899 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.worldProperties; // L: 1900 - return 1; // L: 1901 - } else if (var0 == ScriptOpcodes.MOVECOORD) { // L: 1903 - VarcInt.Interpreter_intStackSize -= 4; // L: 1904 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1905 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1906 - var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1907 - int var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 1908 - var3 += var4 << 14; // L: 1909 - var3 += var5 << 28; // L: 1910 - var3 += var6; // L: 1911 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3; // L: 1912 - return 1; // L: 1913 - } else { - return 2; // L: 1915 - } - } - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IB)Lgp;", + garbageValue = "-86" + ) + public static Language method3854(int var0) { + return var0 >= 0 && var0 < Language_valuesOrdered.length ? Language_valuesOrdered[var0] : null; + } } diff --git a/runescape-client/src/main/java/Link.java b/runescape-client/src/main/java/Link.java index ac7bc19e21..0948c6c660 100644 --- a/runescape-client/src/main/java/Link.java +++ b/runescape-client/src/main/java/Link.java @@ -6,27 +6,27 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gm") @Implements("Link") public class Link { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgm;" - ) - @Export("previous") - public Link previous; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgm;" - ) - @Export("next") - public Link next; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgm;" + ) + @Export("previous") + public Link previous; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgm;" + ) + @Export("next") + public Link next; - @ObfuscatedName("h") - @Export("remove") - public void remove() { - if (this.next != null) { // L: 8 - this.next.previous = this.previous; // L: 9 - this.previous.next = this.next; // L: 10 - this.previous = null; // L: 11 - this.next = null; // L: 12 - } - } // L: 13 + @ObfuscatedName("n") + @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; + } + } } diff --git a/runescape-client/src/main/java/LinkDeque.java b/runescape-client/src/main/java/LinkDeque.java index fe752919e7..8fcbf68d7f 100644 --- a/runescape-client/src/main/java/LinkDeque.java +++ b/runescape-client/src/main/java/LinkDeque.java @@ -3,73 +3,72 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jj") +@ObfuscatedName("jw") @Implements("LinkDeque") public class LinkDeque { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgm;" - ) - @Export("sentinel") - Link sentinel; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgm;" - ) - @Export("current") - Link current; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgm;" + ) + @Export("sentinel") + Link sentinel = new Link(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgm;" + ) + @Export("current") + Link current; - public LinkDeque() { - this.sentinel = new Link(); // L: 6 - this.sentinel.previous = this.sentinel; // L: 10 - this.sentinel.next = this.sentinel; // L: 11 - } // L: 12 + public LinkDeque() { + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lgm;)V" - ) - @Export("addFirst") - public void addFirst(Link var1) { - if (var1.next != null) { // L: 15 - var1.remove(); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lgm;)V" + ) + @Export("addFirst") + public void addFirst(Link var1) { + if (var1.next != null) { + var1.remove(); + } - var1.next = this.sentinel.next; // L: 16 - var1.previous = this.sentinel; // L: 17 - var1.next.previous = var1; // L: 18 - var1.previous.next = var1; // L: 19 - } // L: 20 + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "()Lgm;" - ) - @Export("last") - public Link last() { - Link var1 = this.sentinel.previous; // L: 23 - if (var1 == this.sentinel) { // L: 24 - this.current = null; // L: 25 - return null; // L: 26 - } else { - this.current = var1.previous; // L: 28 - return var1; // L: 29 - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "()Lgm;" + ) + @Export("last") + public Link last() { + Link var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "()Lgm;" - ) - @Export("previous") - public Link previous() { - Link var1 = this.current; // L: 33 - if (var1 == this.sentinel) { // L: 34 - this.current = null; // L: 35 - return null; // L: 36 - } else { - this.current = var1.previous; // L: 38 - return var1; // L: 39 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "()Lgm;" + ) + @Export("previous") + public Link previous() { + Link var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } } diff --git a/runescape-client/src/main/java/Login.java b/runescape-client/src/main/java/Login.java index 4e1eeb2664..c9864d8f33 100644 --- a/runescape-client/src/main/java/Login.java +++ b/runescape-client/src/main/java/Login.java @@ -4,164 +4,229 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cp") +@ObfuscatedName("cy") @Implements("Login") public class Login { - @ObfuscatedName("v") - @Export("clearLoginScreen") - static boolean clearLoginScreen; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1016567537 - ) - @Export("xPadding") - static int xPadding; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("titlebuttonSprite") - static IndexedSprite titlebuttonSprite; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("title_muteSprite") - static IndexedSprite[] title_muteSprite; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1536172433 - ) - @Export("loginBoxX") - static int loginBoxX; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 998116607 - ) - @Export("loginBoxCenter") - static int loginBoxCenter; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 306504333 - ) - @Export("Login_loadingPercent") - static int Login_loadingPercent; - @ObfuscatedName("s") - @Export("Login_loadingText") - static String Login_loadingText; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -1412635043 - ) - static int field1199; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -2065092859 - ) - static int field1190; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 107403273 - ) - @Export("loginIndex") - static int loginIndex; - @ObfuscatedName("ah") - @Export("Login_response0") - static String Login_response0; - @ObfuscatedName("am") - @Export("Login_response1") - static String Login_response1; - @ObfuscatedName("aa") - @Export("Login_response2") - static String Login_response2; - @ObfuscatedName("ao") - @Export("Login_response3") - static String Login_response3; - @ObfuscatedName("ab") - @Export("Login_username") - static String Login_username; - @ObfuscatedName("aw") - @Export("Login_password") - static String Login_password; - @ObfuscatedName("ar") - static boolean field1192; - @ObfuscatedName("az") - static boolean field1180; - @ObfuscatedName("by") - static boolean field1200; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = 1147044109 - ) - @Export("currentLoginField") - static int currentLoginField; - @ObfuscatedName("bf") - @Export("worldSelectOpen") - static boolean worldSelectOpen; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = 1824198351 - ) - @Export("hoveredWorldIndex") - static int hoveredWorldIndex; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -1471948757 - ) - @Export("worldSelectPage") - static int worldSelectPage; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = 1925512311 - ) - @Export("worldSelectPagesCount") - static int worldSelectPagesCount; - @ObfuscatedName("bt") - @ObfuscatedGetter( - longValue = -8936390045791734837L - ) - static long field1208; - @ObfuscatedName("bb") - @ObfuscatedGetter( - longValue = -247323236330071045L - ) - static long field1209; + @ObfuscatedName("v") + @Export("clearLoginScreen") + static boolean clearLoginScreen; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -798516213 + ) + @Export("xPadding") + static int xPadding = 0; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("runesSprite") + static IndexedSprite[] runesSprite; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("leftTitleSprite") + static SpritePixels leftTitleSprite; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("rightTitleSprite") + static SpritePixels rightTitleSprite; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("logoSprite") + static IndexedSprite logoSprite; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("title_muteSprite") + static IndexedSprite[] title_muteSprite; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("options_buttons_2Sprite") + static IndexedSprite options_buttons_2Sprite; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -491759097 + ) + @Export("loginBoxX") + static int loginBoxX; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1990930167 + ) + @Export("Login_loadingPercent") + static int Login_loadingPercent; + @ObfuscatedName("m") + @Export("Login_loadingText") + static String Login_loadingText; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1379115269 + ) + static int field1206; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -1813136613 + ) + static int field1207; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 1401481889 + ) + @Export("loginIndex") + static int loginIndex; + @ObfuscatedName("aa") + @Export("Login_response0") + static String Login_response0; + @ObfuscatedName("as") + @Export("Login_response1") + static String Login_response1; + @ObfuscatedName("aw") + @Export("Login_response2") + static String Login_response2; + @ObfuscatedName("az") + @Export("Login_response3") + static String Login_response3; + @ObfuscatedName("ah") + @Export("Login_username") + static String Login_username; + @ObfuscatedName("ap") + @Export("Login_password") + static String Login_password; + @ObfuscatedName("af") + static boolean field1222; + @ObfuscatedName("av") + static boolean field1216; + @ObfuscatedName("bn") + static boolean field1217; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = -557955143 + ) + @Export("currentLoginField") + static int currentLoginField; + @ObfuscatedName("bx") + @Export("worldSelectOpen") + static boolean worldSelectOpen; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = 933074711 + ) + @Export("hoveredWorldIndex") + static int hoveredWorldIndex; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = 1816463307 + ) + @Export("worldSelectPage") + static int worldSelectPage; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = 1081007071 + ) + @Export("worldSelectPagesCount") + static int worldSelectPagesCount; + @ObfuscatedName("bs") + @ObfuscatedGetter( + longValue = -6454888937678848821L + ) + static long field1213; + @ObfuscatedName("by") + @ObfuscatedGetter( + longValue = 2692717295757623997L + ) + static long field1226; + @ObfuscatedName("eg") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive20") + static Archive archive20; + @ObfuscatedName("fo") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("fontPlain12") + static Font fontPlain12; - static { - xPadding = 0; // L: 38 - loginBoxX = xPadding + 202; // L: 55 - Login_loadingPercent = 10; // L: 57 - Login_loadingText = ""; // L: 58 - field1199 = -1; // L: 65 - field1190 = 1; // L: 68 - loginIndex = 0; // L: 72 - Login_response0 = ""; // L: 73 - Login_response1 = ""; // L: 74 - Login_response2 = ""; // L: 75 - Login_response3 = ""; // L: 76 - Login_username = ""; // L: 77 - Login_password = ""; // L: 78 - field1192 = false; // L: 85 - field1180 = false; // L: 86 - field1200 = true; // L: 89 - currentLoginField = 0; // L: 90 - worldSelectOpen = false; // L: 94 - hoveredWorldIndex = -1; // L: 102 - worldSelectPage = 0; // L: 103 - worldSelectPagesCount = 0; // L: 104 - new DecimalFormat("##0.00"); // L: 107 - new class171(); - field1208 = -1L; // L: 115 - field1209 = -1L; // L: 116 - } + static { + loginBoxX = xPadding + 202; + Login_loadingPercent = 10; + Login_loadingText = ""; + field1206 = -1; + field1207 = 1; + loginIndex = 0; + Login_response0 = ""; + Login_response1 = ""; + Login_response2 = ""; + Login_response3 = ""; + Login_username = ""; + Login_password = ""; + field1222 = false; + field1216 = false; + field1217 = true; + currentLoginField = 0; + worldSelectOpen = false; + hoveredWorldIndex = -1; + worldSelectPage = 0; + worldSelectPagesCount = 0; + new DecimalFormat("##0.00"); + new class171(); + field1213 = -1L; + field1226 = -1L; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1905829152" - ) - static int method2152() { - return ++Messages.Messages_count - 1; // L: 19 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "2056829974" + ) + public static boolean method2244(int var0) { + return (var0 >> 30 & 1) != 0; + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "23" + ) + static int method2223(int var0, Script var1, boolean var2) { + Widget var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETTARGETMASK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = MusicPatch.Widget_unpackTargetMask(class60.getWidgetFlags(var3)); + return 1; + } else if (var0 != ScriptOpcodes.IF_GETOP) { + if (var0 == ScriptOpcodes.IF_GETOPBASE) { + if (var3.dataText == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; + } + + return 1; + } else { + return 2; + } + } else { + int var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + --var4; + if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } + } } diff --git a/runescape-client/src/main/java/LoginPacket.java b/runescape-client/src/main/java/LoginPacket.java index e44216f725..a4ac03cfaa 100644 --- a/runescape-client/src/main/java/LoginPacket.java +++ b/runescape-client/src/main/java/LoginPacket.java @@ -4,578 +4,198 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gw") +@ObfuscatedName("gv") @Implements("LoginPacket") public class LoginPacket implements class190 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - public static final LoginPacket field2332; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - static final LoginPacket field2339; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - public static final LoginPacket field2334; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - public static final LoginPacket field2335; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - public static final LoginPacket field2336; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lgw;" - ) - static final LoginPacket field2337; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "[Lgw;" - ) - @Export("LoginPacket_indexedValues") - static final LoginPacket[] LoginPacket_indexedValues; - @ObfuscatedName("dr") - @ObfuscatedGetter( - longValue = 2303606948216471517L - ) - static long field2341; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 783182641 - ) - @Export("id") - public final int id; - - static { - field2332 = new LoginPacket(14, 0); // L: 5 - field2339 = new LoginPacket(15, 4); // L: 6 - field2334 = new LoginPacket(16, -2); // L: 7 - field2335 = new LoginPacket(18, -2); // L: 8 - field2336 = new LoginPacket(19, -2); // L: 9 - field2337 = new LoginPacket(27, 0); // L: 10 - LoginPacket_indexedValues = new LoginPacket[32]; // L: 12 - LoginPacket[] var0 = ViewportMouse.method3062(); // L: 15 - - for (int var1 = 0; var1 < var0.length; ++var1) { // L: 16 - LoginPacket_indexedValues[var0[var1].id] = var0[var1]; // L: 17 - } - - } // L: 19 - - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "0" - ) - LoginPacket(int var1, int var2) { - this.id = var1; // L: 26 - } // L: 27 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "1922563005" - ) - static String method3674() { - String var0; - if (Timer.clientPreferences.hideUsername) { // L: 188 - String var2 = Login.Login_username; // L: 190 - int var4 = var2.length(); // L: 193 - char[] var5 = new char[var4]; // L: 195 - - for (int var6 = 0; var6 < var4; ++var6) { // L: 196 - var5[var6] = '*'; - } - - String var3 = new String(var5); // L: 197 - var0 = var3; // L: 201 - } else { - var0 = Login.Login_username; // L: 203 - } - - return var0; // L: 204 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Leo;[Lfo;I)V", - garbageValue = "1844671024" - ) - static final void method3673(Scene var0, CollisionMap[] var1) { - int var2; - int var3; - int var4; - int var5; - for (var2 = 0; var2 < 4; ++var2) { // L: 501 - for (var3 = 0; var3 < 104; ++var3) { // L: 502 - for (var4 = 0; var4 < 104; ++var4) { // L: 503 - if ((Tiles.Tiles_renderFlags[var2][var3][var4] & 1) == 1) { // L: 504 - var5 = var2; // L: 505 - if ((Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { // L: 506 - var5 = var2 - 1; - } - - if (var5 >= 0) { // L: 507 - var1[var5].setBlockedByFloor(var3, var4); - } - } - } - } - } - - Tiles.field516 += (int)(Math.random() * 5.0D) - 2; // L: 512 - if (Tiles.field516 < -8) { // L: 513 - Tiles.field516 = -8; - } - - if (Tiles.field516 > 8) { // L: 514 - Tiles.field516 = 8; - } - - Tiles.field510 += (int)(Math.random() * 5.0D) - 2; // L: 515 - if (Tiles.field510 < -16) { // L: 516 - Tiles.field510 = -16; - } - - if (Tiles.field510 > 16) { // L: 517 - Tiles.field510 = 16; - } - - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int[] var10000; - int var17; - int var18; - for (var2 = 0; var2 < 4; ++var2) { // L: 518 - byte[][] var42 = Tiles.field511[var2]; // L: 519 - var9 = (int)Math.sqrt(5100.0D); // L: 525 - var10 = var9 * 768 >> 8; // L: 526 - - int var19; - int var20; - for (var11 = 1; var11 < 103; ++var11) { // L: 527 - for (var12 = 1; var12 < 103; ++var12) { // L: 528 - var13 = Tiles.Tiles_heights[var2][var12 + 1][var11] - Tiles.Tiles_heights[var2][var12 - 1][var11]; // L: 529 - var14 = Tiles.Tiles_heights[var2][var12][var11 + 1] - Tiles.Tiles_heights[var2][var12][var11 - 1]; // L: 530 - var15 = (int)Math.sqrt((double)(var14 * var14 + var13 * var13 + 65536)); // L: 531 - var16 = (var13 << 8) / var15; // L: 532 - var17 = 65536 / var15; // L: 533 - var18 = (var14 << 8) / var15; // L: 534 - var19 = (var18 * -50 + var16 * -50 + var17 * -10) / var10 + 96; // L: 535 - var20 = (var42[var12][var11 + 1] >> 3) + (var42[var12 - 1][var11] >> 2) + (var42[var12][var11 - 1] >> 2) + (var42[var12 + 1][var11] >> 3) + (var42[var12][var11] >> 1); // L: 536 - class92.field1173[var12][var11] = var19 - var20; // L: 537 - } - } - - for (var11 = 0; var11 < 104; ++var11) { // L: 540 - VarbitComposition.Tiles_hue[var11] = 0; // L: 541 - ArchiveDiskActionHandler.Tiles_saturation[var11] = 0; // L: 542 - class92.Tiles_lightness[var11] = 0; // L: 543 - UserComparator7.Tiles_hueMultiplier[var11] = 0; // L: 544 - Varcs.field1283[var11] = 0; // L: 545 - } - - for (var11 = -5; var11 < 109; ++var11) { // L: 547 - for (var12 = 0; var12 < 104; ++var12) { // L: 548 - var13 = var11 + 5; // L: 549 - int var10002; - if (var13 >= 0 && var13 < 104) { // L: 550 - var14 = Tiles.field514[var2][var13][var12] & 255; // L: 551 - if (var14 > 0) { // L: 552 - FloorUnderlayDefinition var44 = WorldMapElement.method4405(var14 - 1); // L: 553 - var10000 = VarbitComposition.Tiles_hue; // L: 554 - var10000[var12] += var44.hue; - var10000 = ArchiveDiskActionHandler.Tiles_saturation; // L: 555 - var10000[var12] += var44.saturation; - var10000 = class92.Tiles_lightness; // L: 556 - var10000[var12] += var44.lightness; - var10000 = UserComparator7.Tiles_hueMultiplier; // L: 557 - var10000[var12] += var44.hueMultiplier; - var10002 = Varcs.field1283[var12]++; // L: 558 - } - } - - var14 = var11 - 5; // L: 561 - if (var14 >= 0 && var14 < 104) { // L: 562 - var15 = Tiles.field514[var2][var14][var12] & 255; // L: 563 - if (var15 > 0) { // L: 564 - FloorUnderlayDefinition var45 = WorldMapElement.method4405(var15 - 1); // L: 565 - var10000 = VarbitComposition.Tiles_hue; // L: 566 - var10000[var12] -= var45.hue; - var10000 = ArchiveDiskActionHandler.Tiles_saturation; // L: 567 - var10000[var12] -= var45.saturation; - var10000 = class92.Tiles_lightness; // L: 568 - var10000[var12] -= var45.lightness; - var10000 = UserComparator7.Tiles_hueMultiplier; // L: 569 - var10000[var12] -= var45.hueMultiplier; - var10002 = Varcs.field1283[var12]--; // L: 570 - } - } - } - - if (var11 >= 1 && var11 < 103) { // L: 574 - var12 = 0; // L: 575 - var13 = 0; // L: 576 - var14 = 0; // L: 577 - var15 = 0; // L: 578 - var16 = 0; // L: 579 - - for (var17 = -5; var17 < 109; ++var17) { // L: 580 - var18 = var17 + 5; // L: 581 - if (var18 >= 0 && var18 < 104) { // L: 582 - var12 += VarbitComposition.Tiles_hue[var18]; // L: 583 - var13 += ArchiveDiskActionHandler.Tiles_saturation[var18]; // L: 584 - var14 += class92.Tiles_lightness[var18]; // L: 585 - var15 += UserComparator7.Tiles_hueMultiplier[var18]; // L: 586 - var16 += Varcs.field1283[var18]; // L: 587 - } - - var19 = var17 - 5; // L: 589 - if (var19 >= 0 && var19 < 104) { // L: 590 - var12 -= VarbitComposition.Tiles_hue[var19]; // L: 591 - var13 -= ArchiveDiskActionHandler.Tiles_saturation[var19]; // L: 592 - var14 -= class92.Tiles_lightness[var19]; // L: 593 - var15 -= UserComparator7.Tiles_hueMultiplier[var19]; // L: 594 - var16 -= Varcs.field1283[var19]; // L: 595 - } - - if (var17 >= 1 && var17 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var11][var17] & 2) != 0 || (Tiles.Tiles_renderFlags[var2][var11][var17] & 16) == 0)) { // L: 597 598 599 600 - if (var2 < Tiles.Tiles_minPlane) { // L: 603 - Tiles.Tiles_minPlane = var2; - } - - var20 = Tiles.field514[var2][var11][var17] & 255; // L: 604 - int var21 = Tiles.field508[var2][var11][var17] & 255; // L: 605 - if (var20 > 0 || var21 > 0) { // L: 606 - int var22 = Tiles.Tiles_heights[var2][var11][var17]; // L: 607 - int var23 = Tiles.Tiles_heights[var2][var11 + 1][var17]; // L: 608 - int var24 = Tiles.Tiles_heights[var2][var11 + 1][var17 + 1]; // L: 609 - int var25 = Tiles.Tiles_heights[var2][var11][var17 + 1]; // L: 610 - int var26 = class92.field1173[var11][var17]; // L: 611 - int var27 = class92.field1173[var11 + 1][var17]; // L: 612 - int var28 = class92.field1173[var11 + 1][var17 + 1]; // L: 613 - int var29 = class92.field1173[var11][var17 + 1]; // L: 614 - int var30 = -1; // L: 615 - int var31 = -1; // L: 616 - int var32; - int var33; - if (var20 > 0) { // L: 617 - var32 = var12 * 256 / var15; // L: 618 - var33 = var13 / var16; // L: 619 - int var34 = var14 / var16; // L: 620 - var30 = WorldMapLabelSize.hslToRgb(var32, var33, var34); // L: 621 - var32 = var32 + Tiles.field516 & 255; // L: 622 - var34 += Tiles.field510; // L: 623 - if (var34 < 0) { // L: 624 - var34 = 0; - } else if (var34 > 255) { // L: 625 - var34 = 255; - } - - var31 = WorldMapLabelSize.hslToRgb(var32, var33, var34); // L: 626 - } - - if (var2 > 0) { // L: 628 - boolean var47 = true; // L: 629 - if (var20 == 0 && class9.field40[var2][var11][var17] != 0) { // L: 630 - var47 = false; - } - - if (var21 > 0 && !RouteStrategy.method3648(var21 - 1).hideUnderlay) { // L: 631 - var47 = false; - } - - if (var47 && var23 == var22 && var22 == var24 && var25 == var22) { // L: 632 633 - var10000 = GrandExchangeOfferWorldComparator.field52[var2][var11]; - var10000[var17] |= 2340; - } - } - - var32 = 0; // L: 636 - if (var31 != -1) { // L: 637 - var32 = Rasterizer3D.Rasterizer3D_colorPalette[Tile.method2946(var31, 96)]; - } - - if (var21 == 0) { // L: 638 - var0.addTile(var2, var11, var17, 0, 0, -1, var22, var23, var24, var25, Tile.method2946(var30, var26), Tile.method2946(var30, var27), Tile.method2946(var30, var28), Tile.method2946(var30, var29), 0, 0, 0, 0, var32, 0); // L: 639 - } else { - var33 = class9.field40[var2][var11][var17] + 1; // L: 642 - byte var48 = Username.field3663[var2][var11][var17]; // L: 643 - FloorOverlayDefinition var35 = RouteStrategy.method3648(var21 - 1); // L: 644 - int var36 = var35.texture; // L: 645 - int var37; - int var38; - int var39; - int var40; - if (var36 >= 0) { // L: 648 - var38 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var36); // L: 649 - var37 = -1; // L: 650 - } else if (var35.primaryRgb == 16711935) { // L: 653 - var37 = -2; // L: 654 - var36 = -1; // L: 655 - var38 = -2; // L: 656 - } else { - var37 = WorldMapLabelSize.hslToRgb(var35.hue, var35.saturation, var35.lightness); // L: 659 - var39 = var35.hue + Tiles.field516 & 255; // L: 660 - var40 = var35.lightness + Tiles.field510; // L: 661 - if (var40 < 0) { // L: 662 - var40 = 0; - } else if (var40 > 255) { // L: 663 - var40 = 255; - } - - var38 = WorldMapLabelSize.hslToRgb(var39, var35.saturation, var40); // L: 664 - } - - var39 = 0; // L: 667 - if (var38 != -2) { // L: 668 - var39 = Rasterizer3D.Rasterizer3D_colorPalette[class9.method101(var38, 96)]; - } - - if (var35.secondaryRgb != -1) { // L: 669 - var40 = var35.secondaryHue + Tiles.field516 & 255; // L: 670 - int var41 = var35.secondaryLightness + Tiles.field510; // L: 671 - if (var41 < 0) { // L: 672 - var41 = 0; - } else if (var41 > 255) { // L: 673 - var41 = 255; - } - - var38 = WorldMapLabelSize.hslToRgb(var40, var35.secondarySaturation, var41); // L: 674 - var39 = Rasterizer3D.Rasterizer3D_colorPalette[class9.method101(var38, 96)]; // L: 675 - } - - var0.addTile(var2, var11, var17, var33, var48, var36, var22, var23, var24, var25, Tile.method2946(var30, var26), Tile.method2946(var30, var27), Tile.method2946(var30, var28), Tile.method2946(var30, var29), class9.method101(var37, var26), class9.method101(var37, var27), class9.method101(var37, var28), class9.method101(var37, var29), var32, var39); // L: 677 - } - } - } - } - } - } - - for (var11 = 1; var11 < 103; ++var11) { // L: 684 - for (var12 = 1; var12 < 103; ++var12) { // L: 685 - if ((Tiles.Tiles_renderFlags[var2][var12][var11] & 8) != 0) { // L: 692 - var17 = 0; // L: 693 - } else if (var2 > 0 && (Tiles.Tiles_renderFlags[1][var12][var11] & 2) != 0) { // L: 696 - var17 = var2 - 1; // L: 697 - } else { - var17 = var2; // L: 700 - } - - var0.setTileMinPlane(var2, var12, var11, var17); // L: 702 - } - } - - Tiles.field514[var2] = null; // L: 705 - Tiles.field508[var2] = null; // L: 706 - class9.field40[var2] = null; // L: 707 - Username.field3663[var2] = null; // L: 708 - Tiles.field511[var2] = null; // L: 709 - } - - var0.method3190(-50, -10, -50); // L: 711 - - for (var2 = 0; var2 < 104; ++var2) { // L: 712 - for (var3 = 0; var3 < 104; ++var3) { // L: 713 - if ((Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { // L: 714 - var0.setLinkBelow(var2, var3); - } - } - } - - var2 = 1; // L: 717 - var3 = 2; // L: 718 - var4 = 4; // L: 719 - - for (var5 = 0; var5 < 4; ++var5) { // L: 720 - if (var5 > 0) { // L: 721 - var2 <<= 3; // L: 722 - var3 <<= 3; // L: 723 - var4 <<= 3; // L: 724 - } - - for (int var6 = 0; var6 <= var5; ++var6) { // L: 726 - for (int var7 = 0; var7 <= 104; ++var7) { // L: 727 - for (int var8 = 0; var8 <= 104; ++var8) { // L: 728 - short var46; - if ((GrandExchangeOfferWorldComparator.field52[var6][var8][var7] & var2) != 0) { // L: 729 - var9 = var7; // L: 730 - var10 = var7; // L: 731 - var11 = var6; // L: 732 - - for (var12 = var6; var9 > 0 && (GrandExchangeOfferWorldComparator.field52[var6][var8][var9 - 1] & var2) != 0; --var9) { // L: 733 734 - } - - while (var10 < 104 && (GrandExchangeOfferWorldComparator.field52[var6][var8][var10 + 1] & var2) != 0) { // L: 735 - ++var10; - } - - label437: - while (var11 > 0) { // L: 736 - for (var13 = var9; var13 <= var10; ++var13) { // L: 737 - if ((GrandExchangeOfferWorldComparator.field52[var11 - 1][var8][var13] & var2) == 0) { - break label437; - } - } - - --var11; // L: 738 - } - - label426: - while (var12 < var5) { // L: 740 - for (var13 = var9; var13 <= var10; ++var13) { // L: 741 - if ((GrandExchangeOfferWorldComparator.field52[var12 + 1][var8][var13] & var2) == 0) { - break label426; - } - } - - ++var12; // L: 742 - } - - var13 = (var12 + 1 - var11) * (var10 - var9 + 1); // L: 744 - if (var13 >= 8) { // L: 745 - var46 = 240; // L: 746 - var15 = Tiles.Tiles_heights[var12][var8][var9] - var46; // L: 747 - var16 = Tiles.Tiles_heights[var11][var8][var9]; // L: 748 - Scene.Scene_addOccluder(var5, 1, var8 * 128, var8 * 128, var9 * 128, var10 * 128 + 128, var15, var16); // L: 749 - - for (var17 = var11; var17 <= var12; ++var17) { // L: 750 - for (var18 = var9; var18 <= var10; ++var18) { // L: 751 - var10000 = GrandExchangeOfferWorldComparator.field52[var17][var8]; - var10000[var18] &= ~var2; - } - } - } - } - - if ((GrandExchangeOfferWorldComparator.field52[var6][var8][var7] & var3) != 0) { // L: 755 - var9 = var8; // L: 756 - var10 = var8; // L: 757 - var11 = var6; // L: 758 - - for (var12 = var6; var9 > 0 && (GrandExchangeOfferWorldComparator.field52[var6][var9 - 1][var7] & var3) != 0; --var9) { // L: 759 760 - } - - while (var10 < 104 && (GrandExchangeOfferWorldComparator.field52[var6][var10 + 1][var7] & var3) != 0) { // L: 761 - ++var10; - } - - label490: - while (var11 > 0) { // L: 762 - for (var13 = var9; var13 <= var10; ++var13) { // L: 763 - if ((GrandExchangeOfferWorldComparator.field52[var11 - 1][var13][var7] & var3) == 0) { - break label490; - } - } - - --var11; // L: 764 - } - - label479: - while (var12 < var5) { // L: 766 - for (var13 = var9; var13 <= var10; ++var13) { // L: 767 - if ((GrandExchangeOfferWorldComparator.field52[var12 + 1][var13][var7] & var3) == 0) { - break label479; - } - } - - ++var12; // L: 768 - } - - var13 = (var10 - var9 + 1) * (var12 + 1 - var11); // L: 770 - if (var13 >= 8) { // L: 771 - var46 = 240; // L: 772 - var15 = Tiles.Tiles_heights[var12][var9][var7] - var46; // L: 773 - var16 = Tiles.Tiles_heights[var11][var9][var7]; // L: 774 - Scene.Scene_addOccluder(var5, 2, var9 * 128, var10 * 128 + 128, var7 * 128, var7 * 128, var15, var16); // L: 775 - - for (var17 = var11; var17 <= var12; ++var17) { // L: 776 - for (var18 = var9; var18 <= var10; ++var18) { // L: 777 - var10000 = GrandExchangeOfferWorldComparator.field52[var17][var18]; - var10000[var7] &= ~var3; - } - } - } - } - - if ((GrandExchangeOfferWorldComparator.field52[var6][var8][var7] & var4) != 0) { // L: 781 - var9 = var8; // L: 782 - var10 = var8; // L: 783 - var11 = var7; // L: 784 - - for (var12 = var7; var11 > 0 && (GrandExchangeOfferWorldComparator.field52[var6][var8][var11 - 1] & var4) != 0; --var11) { // L: 785 786 - } - - while (var12 < 104 && (GrandExchangeOfferWorldComparator.field52[var6][var8][var12 + 1] & var4) != 0) { // L: 787 - ++var12; - } - - label543: - while (var9 > 0) { // L: 788 - for (var13 = var11; var13 <= var12; ++var13) { // L: 789 - if ((GrandExchangeOfferWorldComparator.field52[var6][var9 - 1][var13] & var4) == 0) { - break label543; - } - } - - --var9; // L: 790 - } - - label532: - while (var10 < 104) { // L: 792 - for (var13 = var11; var13 <= var12; ++var13) { // L: 793 - if ((GrandExchangeOfferWorldComparator.field52[var6][var10 + 1][var13] & var4) == 0) { - break label532; - } - } - - ++var10; // L: 794 - } - - if ((var10 - var9 + 1) * (var12 - var11 + 1) >= 4) { // L: 796 - var13 = Tiles.Tiles_heights[var6][var9][var11]; // L: 797 - Scene.Scene_addOccluder(var5, 4, var9 * 128, var10 * 128 + 128, var11 * 128, var12 * 128 + 128, var13, var13); // L: 798 - - for (var14 = var9; var14 <= var10; ++var14) { // L: 799 - for (var15 = var11; var15 <= var12; ++var15) { // L: 800 - var10000 = GrandExchangeOfferWorldComparator.field52[var6][var14]; - var10000[var15] &= ~var4; - } - } - } - } - } - } - } - } - - } // L: 808 - - @ObfuscatedName("gg") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "58" - ) - static void method3672(int var0, int var1) { - if (Timer.clientPreferences.musicVolume != 0 && var0 != -1) { // L: 3718 - Interpreter.method2082(ItemContainer.archive11, var0, 0, Timer.clientPreferences.musicVolume, false); // L: 3719 - Client.field883 = true; // L: 3720 - } - - } // L: 3722 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + public static final LoginPacket field2342 = new LoginPacket(14, 0); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + static final LoginPacket field2339 = new LoginPacket(15, 4); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + public static final LoginPacket field2336 = new LoginPacket(16, -2); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + public static final LoginPacket field2338 = new LoginPacket(18, -2); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + public static final LoginPacket field2337 = new LoginPacket(19, -2); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgv;" + ) + static final LoginPacket field2340 = new LoginPacket(27, 0); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "[Lgv;" + ) + @Export("LoginPacket_indexedValues") + static final LoginPacket[] LoginPacket_indexedValues = new LoginPacket[32]; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -2092030193 + ) + @Export("id") + public final int id; + + static { + LoginPacket[] var0 = Tiles.method1217(); + + for(int var1 = 0; var1 < var0.length; ++var1) { + LoginPacket_indexedValues[var0[var1].id] = var0[var1]; + } + + } + + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "0" + ) + LoginPacket(int var1, int var2) { + this.id = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(CI)B", + garbageValue = "1633316338" + ) + @Export("charToByteCp1252") + public static byte charToByteCp1252(char var0) { + byte var1; + if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { + var1 = (byte)var0; + } else if (var0 == 8364) { + var1 = -128; + } else if (var0 == 8218) { + var1 = -126; + } else if (var0 == 402) { + var1 = -125; + } else if (var0 == 8222) { + var1 = -124; + } else if (var0 == 8230) { + var1 = -123; + } else if (var0 == 8224) { + var1 = -122; + } else if (var0 == 8225) { + var1 = -121; + } else if (var0 == 710) { + var1 = -120; + } else if (var0 == 8240) { + var1 = -119; + } else if (var0 == 352) { + var1 = -118; + } else if (var0 == 8249) { + var1 = -117; + } else if (var0 == 338) { + var1 = -116; + } else if (var0 == 381) { + var1 = -114; + } else if (var0 == 8216) { + var1 = -111; + } else if (var0 == 8217) { + var1 = -110; + } else if (var0 == 8220) { + var1 = -109; + } else if (var0 == 8221) { + var1 = -108; + } else if (var0 == 8226) { + var1 = -107; + } else if (var0 == 8211) { + var1 = -106; + } else if (var0 == 8212) { + var1 = -105; + } else if (var0 == 732) { + var1 = -104; + } else if (var0 == 8482) { + var1 = -103; + } else if (var0 == 353) { + var1 = -102; + } else if (var0 == 8250) { + var1 = -101; + } else if (var0 == 339) { + var1 = -100; + } else if (var0 == 382) { + var1 = -98; + } else if (var0 == 376) { + var1 = -97; + } else { + var1 = 63; + } + + return var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIII)Llm;", + garbageValue = "-560730174" + ) + static SpritePixels method3816(int var0, int var1, int var2) { + return (SpritePixels)WorldMapRegion.WorldMapRegion_cachedSprites.get(AttackOption.method2203(var0, var1, var2)); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "818544201" + ) + public static void method3815() { + try { + if (class206.musicPlayerStatus == 1) { + int var0 = VertexNormal.midiPcmStream.method3912(); + if (var0 > 0 && VertexNormal.midiPcmStream.isReady()) { + var0 -= class7.pcmSampleLength; + if (var0 < 0) { + var0 = 0; + } + + VertexNormal.midiPcmStream.setPcmStreamVolume(var0); + return; + } + + VertexNormal.midiPcmStream.clear(); + VertexNormal.midiPcmStream.removeAll(); + if (class206.musicTrackArchive != null) { + class206.musicPlayerStatus = 2; + } else { + class206.musicPlayerStatus = 0; + } + + class204.musicTrack = null; + class182.soundCache = null; + } + } catch (Exception var2) { + var2.printStackTrace(); + VertexNormal.midiPcmStream.clear(); + class206.musicPlayerStatus = 0; + class204.musicTrack = null; + class182.soundCache = null; + class206.musicTrackArchive = null; + } + + } + + @ObfuscatedName("ju") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-73" + ) + static void method3812(int var0, int var1) { + MenuAction var2 = class195.tempMenuAction; + AbstractWorldMapIcon.menuAction(var2.param0, var2.param1, var2.opcode, var2.identifier, var2.action, var2.action, var0, var1); + class195.tempMenuAction = null; + } } diff --git a/runescape-client/src/main/java/LoginScreenAnimation.java b/runescape-client/src/main/java/LoginScreenAnimation.java index e34a5782e2..1c5361aff9 100644 --- a/runescape-client/src/main/java/LoginScreenAnimation.java +++ b/runescape-client/src/main/java/LoginScreenAnimation.java @@ -4,517 +4,547 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ca") +@ObfuscatedName("cb") @Implements("LoginScreenAnimation") public class LoginScreenAnimation { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("sprites") - IndexedSprite[] sprites; - @ObfuscatedName("n") - int[] field1033; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1976548071 - ) - int field1034; - @ObfuscatedName("l") - int[] field1035; - @ObfuscatedName("z") - int[] field1036; - @ObfuscatedName("u") - int[] field1037; - @ObfuscatedName("e") - int[] field1028; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1475345785 - ) - int field1040; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -432017653 - ) - int field1047; - @ObfuscatedName("i") - int[] field1041; - @ObfuscatedName("f") - int[] field1042; - @ObfuscatedName("a") - int[] field1043; - @ObfuscatedName("b") - int[] field1044; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 543060497 - ) - int field1045; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1839104549 - ) - int field1046; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 2113799519 - ) - int field1032; - - @ObfuscatedSignature( - descriptor = "([Llo;)V" - ) - LoginScreenAnimation(IndexedSprite[] var1) { - this.field1033 = new int[256]; // L: 13 - this.field1034 = 0; // L: 14 - this.field1040 = 0; - this.field1047 = 0; - this.field1045 = 0; // L: 25 - this.field1046 = 0; // L: 26 - this.field1032 = 0; // L: 27 - this.sprites = var1; // L: 30 - this.initColors(); // L: 31 - } // L: 32 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1184453059" - ) - @Export("initColors") - void initColors() { - this.field1036 = new int[256]; // L: 35 - - int var1; - for (var1 = 0; var1 < 64; ++var1) { // L: 36 - this.field1036[var1] = var1 * 262144; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 37 - this.field1036[var1 + 64] = var1 * 1024 + 16711680; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 38 - this.field1036[var1 + 128] = var1 * 4 + 16776960; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 39 - this.field1036[var1 + 192] = 16777215; - } - - this.field1037 = new int[256]; // L: 40 - - for (var1 = 0; var1 < 64; ++var1) { // L: 41 - this.field1037[var1] = var1 * 1024; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 42 - this.field1037[var1 + 64] = var1 * 4 + 65280; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 43 - this.field1037[var1 + 128] = var1 * 262144 + 65535; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 44 - this.field1037[var1 + 192] = 16777215; - } - - this.field1028 = new int[256]; // L: 45 - - for (var1 = 0; var1 < 64; ++var1) { // L: 46 - this.field1028[var1] = var1 * 4; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 47 - this.field1028[var1 + 64] = var1 * 262144 + 255; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 48 - this.field1028[var1 + 128] = var1 * 1024 + 16711935; - } - - for (var1 = 0; var1 < 64; ++var1) { // L: 49 - this.field1028[var1 + 192] = 16777215; - } - - this.field1035 = new int[256]; // L: 50 - this.field1045 = 0; // L: 51 - this.field1043 = new int[32768]; - this.field1044 = new int[32768]; // L: 53 - this.method1901((IndexedSprite)null); // L: 54 - this.field1041 = new int[32768]; // L: 55 - this.field1042 = new int[32768]; // L: 56 - } // L: 57 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1726461364" - ) - void method1877() { - this.field1036 = null; // L: 60 - this.field1037 = null; // L: 61 - this.field1028 = null; // L: 62 - this.field1035 = null; // L: 63 - this.field1043 = null; // L: 64 - this.field1044 = null; // L: 65 - this.field1041 = null; // L: 66 - this.field1042 = null; // L: 67 - this.field1045 = 0; // L: 68 - this.field1046 = 0; // L: 69 - } // L: 70 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-387686576" - ) - @Export("draw") - void draw(int var1, int var2) { - if (this.field1041 == null) { // L: 73 - this.initColors(); // L: 74 - } - - if (this.field1032 == 0) { // L: 76 - this.field1032 = var2; // L: 77 - } - - int var3 = var2 - this.field1032; // L: 79 - if (var3 >= 256) { // L: 80 - var3 = 0; - } - - this.field1032 = var2; // L: 81 - if (var3 > 0) { // L: 82 - this.method1879(var3); // L: 83 - } - - this.method1881(var1); // L: 85 - } // L: 86 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1542043970" - ) - final void method1879(int var1) { - this.field1045 += var1 * 128; // L: 89 - int var2; - if (this.field1045 > this.field1043.length) { // L: 90 - this.field1045 -= this.field1043.length; // L: 91 - var2 = (int)(Math.random() * 12.0D); // L: 92 - this.method1901(this.sprites[var2]); // L: 93 - } - - var2 = 0; // L: 95 - int var3 = var1 * 128; // L: 96 - int var4 = (256 - var1) * 128; // L: 97 - - int var6; - for (int var5 = 0; var5 < var4; ++var5) { // L: 98 - var6 = this.field1041[var2 + var3] - this.field1043[var2 + this.field1045 & this.field1043.length - 1] * var1 / 6; // L: 99 - if (var6 < 0) { // L: 100 - var6 = 0; - } - - this.field1041[var2++] = var6; // L: 101 - } - - byte var15 = 10; // L: 103 - var6 = 128 - var15; // L: 104 - - int var7; - int var10; - for (var7 = 256 - var1; var7 < 256; ++var7) { // L: 105 - int var8 = var7 * 128; // L: 106 - - for (int var9 = 0; var9 < 128; ++var9) { // L: 107 - var10 = (int)(Math.random() * 100.0D); // L: 108 - if (var10 < 50 && var9 > var15 && var9 < var6) { // L: 109 - this.field1041[var9 + var8] = 255; - } else { - this.field1041[var9 + var8] = 0; // L: 110 - } - } - } - - if (this.field1040 > 0) { // L: 113 - this.field1040 -= var1 * 4; - } - - if (this.field1047 > 0) { // L: 114 - this.field1047 -= var1 * 4; - } - - if (this.field1040 == 0 && this.field1047 == 0) { // L: 115 - var7 = (int)(Math.random() * (double)(2000 / var1)); // L: 116 - if (var7 == 0) { // L: 117 - this.field1040 = 1024; - } - - if (var7 == 1) { // L: 118 - this.field1047 = 1024; - } - } - - for (var7 = 0; var7 < 256 - var1; ++var7) { // L: 120 - this.field1033[var7] = this.field1033[var7 + var1]; - } - - for (var7 = 256 - var1; var7 < 256; ++var7) { // L: 121 - this.field1033[var7] = (int)(Math.sin((double)this.field1034 / 14.0D) * 16.0D + Math.sin((double)this.field1034 / 15.0D) * 14.0D + Math.sin((double)this.field1034 / 16.0D) * 12.0D); // L: 122 - ++this.field1034; // L: 123 - } - - this.field1046 += var1; // L: 125 - var7 = ((Client.cycle & 1) + var1) / 2; // L: 126 - if (var7 > 0) { // L: 127 - short var16 = 128; // L: 128 - byte var17 = 2; // L: 129 - var10 = 128 - var17 - var17; // L: 130 - - int var11; - int var12; - int var13; - for (var11 = 0; var11 < this.field1046 * 100; ++var11) { // L: 131 - var12 = (int)(Math.random() * (double)var10) + var17; // L: 132 - var13 = (int)(Math.random() * (double)var16) + var16; // L: 133 - this.field1041[var12 + (var13 << 7)] = 192; // L: 134 - } - - this.field1046 = 0; // L: 136 - - int var14; - for (var11 = 0; var11 < 256; ++var11) { // L: 137 - var12 = 0; // L: 138 - var13 = var11 * 128; // L: 139 - - for (var14 = -var7; var14 < 128; ++var14) { // L: 140 - if (var7 + var14 < 128) { // L: 141 - var12 += this.field1041[var7 + var14 + var13]; - } - - if (var14 - (var7 + 1) >= 0) { // L: 142 - var12 -= this.field1041[var14 + var13 - (var7 + 1)]; - } - - if (var14 >= 0) { // L: 143 - this.field1042[var13 + var14] = var12 / (var7 * 2 + 1); - } - } - } - - for (var11 = 0; var11 < 128; ++var11) { // L: 146 - var12 = 0; // L: 147 - - for (var13 = -var7; var13 < 256; ++var13) { // L: 148 - var14 = var13 * 128; // L: 149 - if (var7 + var13 < 256) { // L: 150 - var12 += this.field1042[var14 + var11 + var7 * 128]; - } - - if (var13 - (var7 + 1) >= 0) { // L: 151 - var12 -= this.field1042[var14 + var11 - (var7 + 1) * 128]; - } - - if (var13 >= 0) { // L: 152 - this.field1041[var14 + var11] = var12 / (var7 * 2 + 1); - } - } - } - } - - } // L: 156 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "27" - ) - final int method1880(int var1, int var2, int var3) { - int var4 = 256 - var3; // L: 159 - return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var4 * (var1 & 65280) + var3 * (var2 & 65280) & 16711680) >> 8; // L: 160 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "19" - ) - final void method1881(int var1) { - int var2 = this.field1035.length; // L: 164 - if (this.field1040 > 0) { // L: 165 - this.method1905(this.field1040, this.field1037); // L: 166 - } else if (this.field1047 > 0) { // L: 168 - this.method1905(this.field1047, this.field1028); // L: 169 - } else { - for (int var3 = 0; var3 < var2; ++var3) { // L: 172 - this.field1035[var3] = this.field1036[var3]; - } - } - - this.method1902(var1); // L: 174 - } // L: 175 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I[IB)V", - garbageValue = "60" - ) - final void method1905(int var1, int[] var2) { - int var3 = this.field1035.length; // L: 178 - - for (int var4 = 0; var4 < var3; ++var4) { // L: 179 - if (var1 > 768) { // L: 180 - this.field1035[var4] = this.method1880(this.field1036[var4], var2[var4], 1024 - var1); - } else if (var1 > 256) { - this.field1035[var4] = var2[var4]; // L: 181 - } else { - this.field1035[var4] = this.method1880(var2[var4], this.field1036[var4], 256 - var1); // L: 182 - } - } - - } // L: 184 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1090951606" - ) - final void method1902(int var1) { - int var2 = 0; // L: 187 - - for (int var3 = 1; var3 < 255; ++var3) { // L: 188 - int var4 = (256 - var3) * this.field1033[var3] / 256; // L: 189 - int var5 = var4 + var1; // L: 190 - int var6 = 0; // L: 191 - int var7 = 128; // L: 192 - if (var5 < 0) { // L: 193 - var6 = -var5; // L: 194 - var5 = 0; // L: 195 - } - - if (var5 + 128 >= WorldMapIcon_0.rasterProvider.width) { // L: 197 - var7 = WorldMapIcon_0.rasterProvider.width - var5; // L: 198 - } - - int var8 = var5 + (var3 + 8) * WorldMapIcon_0.rasterProvider.width; // L: 200 - var2 += var6; // L: 201 - - for (int var9 = var6; var9 < var7; ++var9) { // L: 202 - int var10 = this.field1041[var2++]; // L: 203 - int var11 = var8 % Rasterizer2D.Rasterizer2D_width; // L: 204 - if (var10 != 0 && var11 >= Rasterizer2D.Rasterizer2D_xClipStart && var11 < Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 205 - int var12 = var10; // L: 206 - int var13 = 256 - var10; // L: 207 - var10 = this.field1035[var10]; // L: 208 - int var14 = WorldMapIcon_0.rasterProvider.pixels[var8]; // L: 209 - WorldMapIcon_0.rasterProvider.pixels[var8++] = -16777216 | ((var10 & 16711935) * var12 + (var14 & 16711935) * var13 & -16711936) + (var13 * (var14 & 65280) + var12 * (var10 & 65280) & 16711680) >> 8; // L: 210 - } else { - ++var8; // L: 212 - } - } - - var2 += 128 - var7; // L: 214 - } - - } // L: 216 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Llo;I)V", - garbageValue = "1524084760" - ) - final void method1901(IndexedSprite var1) { - int var2; - for (var2 = 0; var2 < this.field1043.length; ++var2) { // L: 219 - this.field1043[var2] = 0; - } - - int var3; - for (var2 = 0; var2 < 5000; ++var2) { // L: 220 - var3 = (int)(Math.random() * 128.0D * 256.0D); // L: 221 - this.field1043[var3] = (int)(Math.random() * 256.0D); // L: 222 - } - - int var4; - int var5; - for (var2 = 0; var2 < 20; ++var2) { // L: 224 - for (var3 = 1; var3 < 255; ++var3) { // L: 225 - for (var4 = 1; var4 < 127; ++var4) { // L: 226 - var5 = var4 + (var3 << 7); // L: 227 - this.field1044[var5] = (this.field1043[var5 - 128] + this.field1043[var5 + 1] + this.field1043[var5 + 128] + this.field1043[var5 - 1]) / 4; // L: 228 - } - } - - int[] var8 = this.field1043; // L: 231 - this.field1043 = this.field1044; // L: 232 - this.field1044 = var8; // L: 233 - } - - if (var1 != null) { // L: 235 - var2 = 0; // L: 236 - - for (var3 = 0; var3 < var1.subHeight; ++var3) { // L: 237 - for (var4 = 0; var4 < var1.subWidth; ++var4) { // L: 238 - if (var1.pixels[var2++] != 0) { // L: 239 - var5 = var4 + var1.xOffset + 16; // L: 240 - int var6 = var3 + var1.yOffset + 16; // L: 241 - int var7 = var5 + (var6 << 7); // L: 242 - this.field1043[var7] = 0; // L: 243 - } - } - } - } - - } // L: 248 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Lix;", - garbageValue = "-1374757475" - ) - @Export("getInvDefinition") - public static InvDefinition getInvDefinition(int var0) { - InvDefinition var1 = (InvDefinition)InvDefinition.InvDefinition_cached.get((long)var0); // L: 17 - if (var1 != null) { // L: 18 - return var1; - } else { - byte[] var2 = InvDefinition.InvDefinition_archive.takeFile(5, var0); // L: 19 - var1 = new InvDefinition(); // L: 20 - if (var2 != null) { // L: 21 - var1.decode(new Buffer(var2)); - } - - InvDefinition.InvDefinition_cached.put(var1, (long)var0); // L: 22 - return var1; // L: 23 - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-124" - ) - public static int method1904(int var0) { - return ClientPacket.method3671(ViewportMouse.ViewportMouse_entityTags[var0]); // L: 52 - } - - @ObfuscatedName("fc") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1359894700" - ) - static final void method1903() { - if (Client.logoutTimer > 0) { // L: 2959 - WorldMapRectangle.logOut(); // L: 2960 - } else { - Client.timer.method5018(); // L: 2963 - WorldMapCacheName.updateGameState(40); // L: 2964 - InterfaceParent.field562 = Client.packetWriter.getSocket(); // L: 2965 - Client.packetWriter.removeSocket(); // L: 2966 - } - } // L: 2961 2967 + @ObfuscatedName("dg") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive10") + static Archive archive10; + @ObfuscatedName("gc") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("compass") + static SpritePixels compass; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("sprites") + IndexedSprite[] sprites; + @ObfuscatedName("z") + int[] field1045 = new int[256]; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1212643041 + ) + int field1046 = 0; + @ObfuscatedName("q") + int[] field1047; + @ObfuscatedName("l") + int[] field1048; + @ObfuscatedName("s") + int[] field1049; + @ObfuscatedName("b") + int[] field1057; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1072742705 + ) + int field1051 = 0; + @ObfuscatedName("w") + int field1052 = 0; + @ObfuscatedName("k") + int[] field1053; + @ObfuscatedName("i") + int[] field1054; + @ObfuscatedName("x") + int[] field1064; + @ObfuscatedName("f") + int[] field1056; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -812562451 + ) + int field1050 = 0; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = 491094864 + ) + int field1058 = 0; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1614703881 + ) + int field1059 = 0; + + @ObfuscatedSignature( + descriptor = "([Lly;)V" + ) + LoginScreenAnimation(IndexedSprite[] var1) { + this.sprites = var1; + this.initColors(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "-16274" + ) + @Export("initColors") + void initColors() { + this.field1048 = new int[256]; + + int var1; + for(var1 = 0; var1 < 64; ++var1) { + this.field1048[var1] = var1 * 262144; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1048[var1 + 64] = var1 * 1024 + 16711680; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1048[var1 + 128] = var1 * 4 + 16776960; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1048[var1 + 192] = 16777215; + } + + this.field1049 = new int[256]; + + for(var1 = 0; var1 < 64; ++var1) { + this.field1049[var1] = var1 * 1024; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1049[var1 + 64] = var1 * 4 + '\uff00'; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1049[var1 + 128] = var1 * 262144 + '\uffff'; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1049[var1 + 192] = 16777215; + } + + this.field1057 = new int[256]; + + for(var1 = 0; var1 < 64; ++var1) { + this.field1057[var1] = var1 * 4; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1057[var1 + 64] = var1 * 262144 + 255; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1057[var1 + 128] = var1 * 1024 + 16711935; + } + + for(var1 = 0; var1 < 64; ++var1) { + this.field1057[var1 + 192] = 16777215; + } + + this.field1047 = new int[256]; + this.field1050 = 0; + this.field1064 = new int['耀']; + this.field1056 = new int['耀']; + this.method1928((IndexedSprite)null); + this.field1053 = new int['耀']; + this.field1054 = new int['耀']; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "143600222" + ) + void method1926() { + this.field1048 = null; + this.field1049 = null; + this.field1057 = null; + this.field1047 = null; + this.field1064 = null; + this.field1056 = null; + this.field1053 = null; + this.field1054 = null; + this.field1050 = 0; + this.field1058 = 0; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "67" + ) + @Export("draw") + void draw(int var1, int var2) { + if (this.field1053 == null) { + this.initColors(); + } + + if (this.field1059 == 0) { + this.field1059 = var2; + } + + int var3 = var2 - this.field1059; + if (var3 >= 256) { + var3 = 0; + } + + this.field1059 = var2; + if (var3 > 0) { + this.method1930(var3); + } + + this.method1959(var1); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1510812052" + ) + final void method1930(int var1) { + this.field1050 += var1 * 128; + int var2; + if (this.field1050 > this.field1064.length) { + this.field1050 -= this.field1064.length; + var2 = (int)(Math.random() * 12.0D); + this.method1928(this.sprites[var2]); + } + + var2 = 0; + int var3 = var1 * 128; + int var4 = (256 - var1) * 128; + + int var6; + for(int var5 = 0; var5 < var4; ++var5) { + var6 = this.field1053[var3 + var2] - this.field1064[var2 + this.field1050 & this.field1064.length - 1] * var1 / 6; + if (var6 < 0) { + var6 = 0; + } + + this.field1053[var2++] = var6; + } + + byte var15 = 10; + var6 = 128 - var15; + + int var7; + int var10; + for(var7 = 256 - var1; var7 < 256; ++var7) { + int var8 = var7 * 128; + + for(int var9 = 0; var9 < 128; ++var9) { + var10 = (int)(Math.random() * 100.0D); + if (var10 < 50 && var9 > var15 && var9 < var6) { + this.field1053[var9 + var8] = 255; + } else { + this.field1053[var8 + var9] = 0; + } + } + } + + if (this.field1051 * 16 > 0) { + this.field1051 = this.field1051 * 16 - var1 * 4; + } + + if (this.field1052 * -1152282493 > 0) { + this.field1052 -= var1 * 733804716; + } + + if (this.field1051 * 16 == 0 && this.field1052 * -1152282493 == 0) { + var7 = (int)(Math.random() * (double)(2000 / var1)); + if (var7 == 0) { + this.field1051 = 1024; + } + + if (var7 == 1) { + this.field1052 = -1124553728; + } + } + + for(var7 = 0; var7 < 256 - var1; ++var7) { + this.field1045[var7] = this.field1045[var7 + var1]; + } + + for(var7 = 256 - var1; var7 < 256; ++var7) { + this.field1045[var7] = (int)(Math.sin((double)this.field1046 / 14.0D) * 16.0D + Math.sin((double)this.field1046 / 15.0D) * 14.0D + Math.sin((double)this.field1046 / 16.0D) * 12.0D); + ++this.field1046; + } + + this.field1058 = this.field1058 * 10000 + var1 * 10000; + var7 = ((Client.cycle & 1) + var1) / 2; + if (var7 > 0) { + short var16 = 128; + byte var17 = 2; + var10 = 128 - var17 - var17; + + int var11; + int var12; + int var13; + for(var11 = 0; var11 < this.field1058 * 100; ++var11) { + var12 = (int)(Math.random() * (double)var10) + var17; + var13 = (int)(Math.random() * (double)var16) + var16; + this.field1053[var12 + (var13 << 7)] = 192; + } + + this.field1058 = 0; + + int var14; + for(var11 = 0; var11 < 256; ++var11) { + var12 = 0; + var13 = var11 * 128; + + for(var14 = -var7; var14 < 128; ++var14) { + if (var14 + var7 < 128) { + var12 += this.field1053[var13 + var14 + var7]; + } + + if (var14 - (var7 + 1) >= 0) { + var12 -= this.field1053[var14 + var13 - (var7 + 1)]; + } + + if (var14 >= 0) { + this.field1054[var14 + var13] = var12 / (var7 * 2 + 1); + } + } + } + + for(var11 = 0; var11 < 128; ++var11) { + var12 = 0; + + for(var13 = -var7; var13 < 256; ++var13) { + var14 = var13 * 128; + if (var13 + var7 < 256) { + var12 += this.field1054[var11 + var14 + var7 * 128]; + } + + if (var13 - (var7 + 1) >= 0) { + var12 -= this.field1054[var11 + var14 - (var7 + 1) * 128]; + } + + if (var13 >= 0) { + this.field1053[var11 + var14] = var12 / (var7 * 2 + 1); + } + } + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "696665844" + ) + final int method1931(int var1, int var2, int var3) { + int var4 = 256 - var3; + return (var4 * (var1 & 16711935) + var3 * (var2 & 16711935) & -16711936) + (var3 * (var2 & '\uff00') + var4 * (var1 & '\uff00') & 16711680) >> 8; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-557955143" + ) + final void method1959(int var1) { + int var2 = this.field1047.length; + if (this.field1051 * 16 > 0) { + this.method1933(this.field1051 * 16, this.field1049); + } else if (this.field1052 * -1152282493 > 0) { + this.method1933(this.field1052 * -1152282493, this.field1057); + } else { + for(int var3 = 0; var3 < var2; ++var3) { + this.field1047[var3] = this.field1048[var3]; + } + } + + this.method1934(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I[II)V", + garbageValue = "-1988316375" + ) + final void method1933(int var1, int[] var2) { + int var3 = this.field1047.length; + + for(int var4 = 0; var4 < var3; ++var4) { + if (var1 > 768) { + this.field1047[var4] = this.method1931(this.field1048[var4], var2[var4], 1024 - var1); + } else if (var1 > 256) { + this.field1047[var4] = var2[var4]; + } else { + this.field1047[var4] = this.method1931(var2[var4], this.field1048[var4], 256 - var1); + } + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "25" + ) + final void method1934(int var1) { + int var2 = 0; + + for(int var3 = 1; var3 < 255; ++var3) { + int var4 = (256 - var3) * this.field1045[var3] / 256; + int var5 = var4 + var1; + int var6 = 0; + int var7 = 128; + if (var5 < 0) { + var6 = -var5; + var5 = 0; + } + + if (var5 + 128 >= FileSystem.rasterProvider.width) { + var7 = FileSystem.rasterProvider.width - var5; + } + + int var8 = var5 + (var3 + 8) * FileSystem.rasterProvider.width; + var2 += var6; + + for(int var9 = var6; var9 < var7; ++var9) { + int var10 = this.field1053[var2++]; + int var11 = var8 % Rasterizer2D.Rasterizer2D_width; + if (var10 != 0 && var11 >= Rasterizer2D.Rasterizer2D_xClipStart && var11 < Rasterizer2D.Rasterizer2D_xClipEnd) { + int var12 = var10; + int var13 = 256 - var10; + var10 = this.field1047[var10]; + int var14 = FileSystem.rasterProvider.pixels[var8]; + FileSystem.rasterProvider.pixels[var8++] = -16777216 | (var12 * (var10 & '\uff00') + var13 * (var14 & '\uff00') & 16711680) + ((var10 & 16711935) * var12 + (var14 & 16711935) * var13 & -16711936) >> 8; + } else { + ++var8; + } + } + + var2 += 128 - var7; + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lly;B)V", + garbageValue = "1" + ) + final void method1928(IndexedSprite var1) { + int var2; + for(var2 = 0; var2 < this.field1064.length; ++var2) { + this.field1064[var2] = 0; + } + + int var3; + for(var2 = 0; var2 < 5000; ++var2) { + var3 = (int)(Math.random() * 128.0D * 256.0D); + this.field1064[var3] = (int)(Math.random() * 256.0D); + } + + int var4; + int var5; + for(var2 = 0; var2 < 20; ++var2) { + for(var3 = 1; var3 < 255; ++var3) { + for(var4 = 1; var4 < 127; ++var4) { + var5 = var4 + (var3 << 7); + this.field1056[var5] = (this.field1064[var5 - 128] + this.field1064[var5 + 1] + this.field1064[var5 + 128] + this.field1064[var5 - 1]) / 4; + } + } + + int[] var8 = this.field1064; + this.field1064 = this.field1056; + this.field1056 = var8; + } + + if (var1 != null) { + var2 = 0; + + for(var3 = 0; var3 < var1.subHeight; ++var3) { + for(var4 = 0; var4 < var1.subWidth; ++var4) { + if (var1.pixels[var2++] != 0) { + var5 = var4 + var1.xOffset + 16; + int var6 = var3 + var1.yOffset + 16; + int var7 = var5 + (var6 << 7); + this.field1064[var7] = 0; + } + } + } + } + + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(CI)C", + garbageValue = "742705358" + ) + static char method1927(char var0) { + return var0 != 181 && var0 != 402 ? Character.toTitleCase(var0) : var0; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;IZI)I", + garbageValue = "-1637981491" + ) + @Export("parseIntCustomRadix") + public static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) { + if (var1 >= 2 && var1 <= 36) { + boolean var3 = false; + boolean var4 = false; + int var5 = 0; + int var6 = var0.length(); + + for(int var7 = 0; var7 < var6; ++var7) { + char var8 = var0.charAt(var7); + if (var7 == 0) { + if (var8 == '-') { + var3 = true; + continue; + } + + if (var8 == '+') { + continue; + } + } + + int var10; + if (var8 >= '0' && var8 <= '9') { + var10 = var8 - 48; + } else if (var8 >= 'A' && var8 <= 'Z') { + var10 = var8 - 55; + } else { + if (var8 < 'a' || var8 > 'z') { + throw new NumberFormatException(); + } + + var10 = var8 - 87; + } + + if (var10 >= var1) { + throw new NumberFormatException(); + } + + if (var3) { + var10 = -var10; + } + + int var9 = var10 + var5 * var1; + if (var9 / var1 != var5) { + throw new NumberFormatException(); + } + + var5 = var9; + var4 = true; + } + + if (!var4) { + throw new NumberFormatException(); + } else { + return var5; + } + } else { + throw new IllegalArgumentException("" + var1); + } + } } diff --git a/runescape-client/src/main/java/LoginType.java b/runescape-client/src/main/java/LoginType.java index 3a8919ef3f..96c7d613fa 100644 --- a/runescape-client/src/main/java/LoginType.java +++ b/runescape-client/src/main/java/LoginType.java @@ -4,89 +4,81 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mu") +@ObfuscatedName("ml") @Implements("LoginType") public class LoginType { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - @Export("oldscape") - public static final LoginType oldscape; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4070; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4066; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4073; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4068; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4069; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4071; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - static final LoginType field4064; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lmu;" - ) - public static final LoginType field4072; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -434232697 - ) - final int field4067; - @ObfuscatedName("u") - final String field4074; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("oldscape") + public static final LoginType oldscape = new LoginType(4, 0, "", ""); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4068 = new LoginType(7, 1, "", ""); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4066 = new LoginType(2, 2, "", ""); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4064 = new LoginType(5, 3, "", ""); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4074 = new LoginType(1, 4, "", ""); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4069 = new LoginType(0, 5, "", ""); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4070 = new LoginType(8, 6, "", ""); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + static final LoginType field4071 = new LoginType(6, 7, "", ""); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + public static final LoginType field4072; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 2066001733 + ) + public final int field4073; + @ObfuscatedName("s") + final String field4067; - static { - oldscape = new LoginType(0, 0, "", ""); // L: 5 - field4070 = new LoginType(3, 1, "", ""); // L: 6 - field4066 = new LoginType(1, 2, "", ""); // L: 7 - field4073 = new LoginType(7, 3, "", ""); // L: 8 - field4068 = new LoginType(6, 4, "", ""); // L: 9 - field4069 = new LoginType(2, 5, "", ""); // L: 10 - field4071 = new LoginType(4, 6, "", ""); // L: 11 - field4064 = new LoginType(5, 7, "", ""); // L: 12 - field4072 = new LoginType(8, -1, "", "", true, new LoginType[]{oldscape, field4070, field4066, field4068, field4073}); // L: 13 - } + static { + field4072 = new LoginType(3, -1, "", "", true, new LoginType[]{oldscape, field4068, field4066, field4074, field4064}); + } - LoginType(int var1, int var2, String var3, String var4) { - this.field4067 = var1; // L: 18 - this.field4074 = var4; // L: 19 - } // L: 20 + LoginType(int var1, int var2, String var3, String var4) { + this.field4073 = var1; + this.field4067 = var4; + } - @ObfuscatedSignature( - descriptor = "(IILjava/lang/String;Ljava/lang/String;Z[Lmu;)V" - ) - LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { - this.field4067 = var1; // L: 23 - this.field4074 = var4; // L: 24 - } // L: 25 + @ObfuscatedSignature( + descriptor = "(IILjava/lang/String;Ljava/lang/String;Z[Lml;)V" + ) + LoginType(int var1, int var2, String var3, String var4, boolean var5, LoginType[] var6) { + this.field4073 = var1; + this.field4067 = var4; + } - public String toString() { - return this.field4074; // L: 28 - } + public String toString() { + return this.field4067; + } } diff --git a/runescape-client/src/main/java/MenuAction.java b/runescape-client/src/main/java/MenuAction.java index 459ea7d557..311fbcdf8b 100644 --- a/runescape-client/src/main/java/MenuAction.java +++ b/runescape-client/src/main/java/MenuAction.java @@ -2,38 +2,120 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cq") +@ObfuscatedName("ce") @Implements("MenuAction") public class MenuAction { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -498360171 - ) - @Export("param0") - int param0; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 853980149 - ) - @Export("param1") - int param1; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1397689415 - ) - @Export("opcode") - int opcode; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1633768997 - ) - @Export("identifier") - int identifier; - @ObfuscatedName("t") - @Export("action") - String action; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -280091935 + ) + @Export("param0") + int param0; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1430754159 + ) + @Export("param1") + int param1; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1286467611 + ) + @Export("opcode") + int opcode; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1909904707 + ) + @Export("identifier") + int identifier; + @ObfuscatedName("y") + @Export("action") + String action; - MenuAction() { - } // L: 11246 + @ObfuscatedName("gu") + @ObfuscatedSignature( + descriptor = "(IIIIZI)V", + garbageValue = "-1250415572" + ) + @Export("setViewportShape") + static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { + if (var2 < 1) { + var2 = 1; + } + + if (var3 < 1) { + var3 = 1; + } + + int var5 = var3 - 334; + int var6; + if (var5 < 0) { + var6 = Client.field779; + } else if (var5 >= 100) { + var6 = Client.field913; + } else { + var6 = (Client.field913 - Client.field779) * var5 / 100 + Client.field779; + } + + int var7 = var3 * var6 * 512 / (var2 * 334); + int var8; + int var9; + short var15; + if (var7 < Client.field918) { + var15 = Client.field918; + var6 = var15 * var2 * 334 / (var3 * 512); + if (var6 > Client.field690) { + var6 = Client.field690; + var8 = var3 * var6 * 512 / (var15 * 334); + var9 = (var2 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); + } + + var0 += var9; + var2 -= var9 * 2; + } + } else if (var7 > Client.field846) { + var15 = Client.field846; + var6 = var15 * var2 * 334 / (var3 * 512); + if (var6 < Client.field916) { + var6 = Client.field916; + var8 = var15 * var2 * 334 / (var6 * 512); + var9 = (var3 - var8) / 2; + if (var4) { + Rasterizer2D.Rasterizer2D_resetClip(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); + } + + var1 += var9; + var3 -= var9 * 2; + } + } + + Client.viewportZoom = var3 * var6 / 334; + if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { + int[] var14 = new int[9]; + + for(var9 = 0; var9 < var14.length; ++var9) { + int var10 = var9 * 32 + 15 + 128; + int var11 = var10 * 3 + 600; + int var13 = Rasterizer3D.Rasterizer3D_sine[var10]; + int var12 = SecureRandomCallable.method1233(var11, var3); + var14[var9] = var12 * var13 >> 16; + } + + Scene.Scene_buildVisiblityMap(var14, 500, 800, var2 * 334 / var3, 334); + } + + Client.viewportOffsetX = var0; + Client.viewportOffsetY = var1; + Client.viewportWidth = var2; + Client.viewportHeight = var3; + } } diff --git a/runescape-client/src/main/java/Message.java b/runescape-client/src/main/java/Message.java index f282a55542..f24a81b60c 100644 --- a/runescape-client/src/main/java/Message.java +++ b/runescape-client/src/main/java/Message.java @@ -4,168 +4,184 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bg") +@ObfuscatedName("bd") @Implements("Message") public class Message extends DualNode { - @ObfuscatedName("aa") - @Export("null_string") - protected static String null_string; - @ObfuscatedName("gf") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("headIconPkSprites") - static SpritePixels[] headIconPkSpritePixels; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1661930895 - ) - @Export("count") - int count; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -718562567 - ) - @Export("cycle") - int cycle; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1713352803 - ) - @Export("type") - int type; - @ObfuscatedName("w") - @Export("sender") - String sender; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - @Export("senderUsername") - Username senderUsername; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("isFromFriend0") - TriBool isFromFriend0; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("isFromIgnored0") - TriBool isFromIgnored0; - @ObfuscatedName("p") - @Export("prefix") - String prefix; - @ObfuscatedName("l") - @Export("text") - String text; + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "Lml;" + ) + @Export("loginType") + static LoginType loginType; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -916897149 + ) + @Export("count") + int count; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2019207433 + ) + @Export("cycle") + int cycle; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1490859287 + ) + @Export("type") + int type; + @ObfuscatedName("c") + @Export("sender") + String sender; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lkk;" + ) + @Export("senderUsername") + Username senderUsername; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("isFromFriend0") + TriBool isFromFriend0; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("isFromIgnored0") + TriBool isFromIgnored0; + @ObfuscatedName("e") + @Export("prefix") + String prefix; + @ObfuscatedName("q") + @Export("text") + String text; - Message(int var1, String var2, String var3, String var4) { - this.isFromFriend0 = TriBool.TriBool_unknown; // L: 13 - this.isFromIgnored0 = TriBool.TriBool_unknown; // L: 14 - this.set(var1, var2, var3, var4); // L: 19 - } // L: 20 + Message(int var1, String var2, String var3, String var4) { + this.isFromFriend0 = TriBool.TriBool_unknown; + this.isFromIgnored0 = TriBool.TriBool_unknown; + this.set(var1, var2, var3, var4); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "914812055" - ) - @Export("set") - void set(int var1, String var2, String var3, String var4) { - this.count = Login.method2152(); // L: 23 - this.cycle = Client.cycle; // L: 24 - this.type = var1; // L: 25 - this.sender = var2; // L: 26 - this.fillSenderUsername(); // L: 27 - this.prefix = var3; // L: 28 - this.text = var4; // L: 29 - this.clearIsFromFriend(); // L: 30 - this.clearIsFromIgnored(); // L: 31 - } // L: 32 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", + garbageValue = "-313070172" + ) + @Export("set") + void set(int var1, String var2, String var3, String var4) { + int var5 = ++Messages.Messages_count - 1; + this.count = var5; + this.cycle = Client.cycle; + this.type = var1; + this.sender = var2; + this.fillSenderUsername(); + this.prefix = var3; + this.text = var4; + this.clearIsFromFriend(); + this.clearIsFromIgnored(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "4" - ) - @Export("clearIsFromFriend") - void clearIsFromFriend() { - this.isFromFriend0 = TriBool.TriBool_unknown; // L: 35 - } // L: 36 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-22" + ) + @Export("clearIsFromFriend") + void clearIsFromFriend() { + this.isFromFriend0 = TriBool.TriBool_unknown; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "2060086850" - ) - @Export("isFromFriend") - final boolean isFromFriend() { - if (this.isFromFriend0 == TriBool.TriBool_unknown) { // L: 39 - this.fillIsFromFriend(); // L: 40 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-624975397" + ) + @Export("isFromFriend") + final boolean isFromFriend() { + if (this.isFromFriend0 == TriBool.TriBool_unknown) { + this.fillIsFromFriend(); + } - return this.isFromFriend0 == TriBool.TriBool_true; // L: 42 - } + return this.isFromFriend0 == TriBool.TriBool_true; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-50" - ) - @Export("fillIsFromFriend") - void fillIsFromFriend() { - this.isFromFriend0 = MilliClock.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 46 - } // L: 47 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-547685075" + ) + @Export("fillIsFromFriend") + void fillIsFromFriend() { + this.isFromFriend0 = InterfaceParent.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "534772186" - ) - @Export("clearIsFromIgnored") - void clearIsFromIgnored() { - this.isFromIgnored0 = TriBool.TriBool_unknown; // L: 50 - } // L: 51 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "6" + ) + @Export("clearIsFromIgnored") + void clearIsFromIgnored() { + this.isFromIgnored0 = TriBool.TriBool_unknown; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "2018415105" - ) - @Export("isFromIgnored") - final boolean isFromIgnored() { - if (this.isFromIgnored0 == TriBool.TriBool_unknown) { // L: 54 - this.fillIsFromIgnored(); // L: 55 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "170822627" + ) + @Export("isFromIgnored") + final boolean isFromIgnored() { + if (this.isFromIgnored0 == TriBool.TriBool_unknown) { + this.fillIsFromIgnored(); + } - return this.isFromIgnored0 == TriBool.TriBool_true; // L: 57 - } + return this.isFromIgnored0 == TriBool.TriBool_true; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-53" - ) - @Export("fillIsFromIgnored") - void fillIsFromIgnored() { - this.isFromIgnored0 = MilliClock.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 61 - } // L: 62 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-33" + ) + @Export("fillIsFromIgnored") + void fillIsFromIgnored() { + this.isFromIgnored0 = InterfaceParent.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1096024764" - ) - @Export("fillSenderUsername") - final void fillSenderUsername() { - if (this.sender != null) { // L: 65 - this.senderUsername = new Username(class22.method220(this.sender), GrandExchangeOfferUnitPriceComparator.loginType); - } else { - this.senderUsername = null; // L: 66 - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1712388135" + ) + @Export("fillSenderUsername") + final void fillSenderUsername() { + if (this.sender != null) { + this.senderUsername = new Username(Calendar.method4153(this.sender), loginType); + } else { + this.senderUsername = null; + } - } // L: 67 + } + + @ObfuscatedName("kg") + @ObfuscatedSignature( + descriptor = "(Lhz;IIIB)V", + garbageValue = "1" + ) + @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) { + LoginScreenAnimation.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/Messages.java b/runescape-client/src/main/java/Messages.java index b8cb8a37df..e50d97078f 100644 --- a/runescape-client/src/main/java/Messages.java +++ b/runescape-client/src/main/java/Messages.java @@ -1,4 +1,3 @@ -import java.awt.Component; import java.util.HashMap; import java.util.Map; import net.runelite.mapping.Export; @@ -6,94 +5,73 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("cv") +@ObfuscatedName("ch") @Implements("Messages") public class Messages { - @ObfuscatedName("h") - @Export("Messages_channels") - static final Map Messages_channels; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("Messages_hashTable") - static final IterableNodeHashTable Messages_hashTable; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Ljf;" - ) - @Export("Messages_queue") - static final IterableDualNodeQueue Messages_queue; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1894587741 - ) - @Export("Messages_count") - static int Messages_count; - @ObfuscatedName("di") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive8") - static Archive archive8; + @ObfuscatedName("n") + @Export("Messages_channels") + static final Map Messages_channels = new HashMap(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("Messages_hashTable") + static final IterableNodeHashTable Messages_hashTable = new IterableNodeHashTable(1024); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Ljf;" + ) + @Export("Messages_queue") + static final IterableDualNodeQueue Messages_queue = new IterableDualNodeQueue(); + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -2111099267 + ) + @Export("Messages_count") + static int Messages_count = 0; - static { - Messages_channels = new HashMap(); // L: 9 - Messages_hashTable = new IterableNodeHashTable(1024); // L: 10 - Messages_queue = new IterableDualNodeQueue(); // L: 11 - Messages_count = 0; // L: 12 - } + @ObfuscatedName("n") + @Export("base37DecodeLong") + public static String base37DecodeLong(long var0) { + if (var0 > 0L && var0 < 6582952005840035281L) { + if (var0 % 37L == 0L) { + return null; + } else { + int var2 = 0; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;I)V", - garbageValue = "-826057575" - ) - static void method2275(Component var0) { - var0.setFocusTraversalKeysEnabled(false); // L: 150 - var0.addKeyListener(KeyHandler.KeyHandler_instance); // L: 151 - var0.addFocusListener(KeyHandler.KeyHandler_instance); // L: 152 - } // L: 153 + for(long var3 = var0; var3 != 0L; var3 /= 37L) { + ++var2; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-729014462" - ) - static int method2283(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1012 - if (var0 == ScriptOpcodes.CC_GETX) { // L: 1013 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.x; // L: 1014 - return 1; // L: 1015 - } else if (var0 == ScriptOpcodes.CC_GETY) { // L: 1017 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.y; // L: 1018 - return 1; // L: 1019 - } else if (var0 == ScriptOpcodes.CC_GETWIDTH) { // L: 1021 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.width; // L: 1022 - return 1; // L: 1023 - } else if (var0 == ScriptOpcodes.CC_GETHEIGHT) { // L: 1025 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.height; // L: 1026 - return 1; // L: 1027 - } else if (var0 == ScriptOpcodes.CC_GETHIDE) { // L: 1029 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; // L: 1030 - return 1; // L: 1031 - } else if (var0 == ScriptOpcodes.CC_GETLAYER) { // L: 1033 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.parentId; // L: 1034 - return 1; // L: 1035 - } else { - return 2; // L: 1037 - } - } + StringBuilder var5; + char var8; + for(var5 = new StringBuilder(var2); 0L != var0; var5.append(var8)) { + long var6 = var0; + var0 /= 37L; + var8 = class299.base37Table[(int)(var6 - 37L * var0)]; + if (var8 == '_') { + int var9 = var5.length() - 1; + var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); + var8 = 160; + } + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "804061602" - ) - static void method2285() { - Login.loginIndex = 24; // L: 1517 - GameEngine.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); // L: 1518 - } // L: 1519 + var5.reverse(); + var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); + return var5.toString(); + } + } else { + return null; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "618047929" + ) + static void method2372() { + WorldMapRegion.WorldMapRegion_cachedSprites.clear(); + } } diff --git a/runescape-client/src/main/java/MidiFileReader.java b/runescape-client/src/main/java/MidiFileReader.java index 5b13a7f3e5..694b8876f5 100644 --- a/runescape-client/src/main/java/MidiFileReader.java +++ b/runescape-client/src/main/java/MidiFileReader.java @@ -3,260 +3,245 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hq") +@ObfuscatedName("ho") @Implements("MidiFileReader") public class MidiFileReader { - @ObfuscatedName("z") - static final byte[] field2484; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("v") - @Export("division") - int division; - @ObfuscatedName("x") - @Export("trackStarts") - int[] trackStarts; - @ObfuscatedName("w") - @Export("trackPositions") - int[] trackPositions; - @ObfuscatedName("t") - @Export("trackLengths") - int[] trackLengths; - @ObfuscatedName("j") - int[] field2483; - @ObfuscatedName("n") - int field2480; - @ObfuscatedName("l") - long field2486; + @ObfuscatedName("l") + static final byte[] field2500 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + @Export("buffer") + Buffer buffer = new Buffer((byte[])null); + @ObfuscatedName("v") + @Export("division") + int division; + @ObfuscatedName("d") + @Export("trackStarts") + int[] trackStarts; + @ObfuscatedName("c") + @Export("trackPositions") + int[] trackPositions; + @ObfuscatedName("y") + @Export("trackLengths") + int[] trackLengths; + @ObfuscatedName("h") + int[] field2497; + @ObfuscatedName("z") + int field2498; + @ObfuscatedName("q") + long field2502; - static { - field2484 = new byte[]{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // L: 17 - } + MidiFileReader(byte[] var1) { + this.parse(var1); + } - MidiFileReader(byte[] var1) { - this.buffer = new Buffer((byte[])null); - this.parse(var1); // L: 26 - } // L: 27 + MidiFileReader() { + } - MidiFileReader() { - this.buffer = new Buffer((byte[])null); // L: 8 - } // L: 23 + @ObfuscatedName("n") + @Export("parse") + void parse(byte[] var1) { + this.buffer.array = var1; + this.buffer.offset = 10; + int var2 = this.buffer.readUnsignedShort(); + this.division = this.buffer.readUnsignedShort(); + this.field2498 = 500000; + this.trackStarts = new int[var2]; - @ObfuscatedName("h") - @Export("parse") - void parse(byte[] var1) { - this.buffer.array = var1; // L: 30 - this.buffer.offset = 10; // L: 33 - int var2 = this.buffer.readUnsignedShort(); // L: 34 - this.division = this.buffer.readUnsignedShort(); // L: 36 - this.field2480 = 500000; // L: 37 - this.trackStarts = new int[var2]; // L: 38 + int var3; + int var5; + for(var3 = 0; var3 < var2; this.buffer.offset += var5) { + int var4 = this.buffer.readInt(); + var5 = this.buffer.readInt(); + if (var4 == 1297379947) { + this.trackStarts[var3] = this.buffer.offset; + ++var3; + } + } - Buffer var10000; - int var3; - int var5; - for (var3 = 0; var3 < var2; var10000.offset += var5) { // L: 39 - int var4 = this.buffer.readInt(); // L: 40 - var5 = this.buffer.readInt(); // L: 41 - if (var4 == 1297379947) { // L: 42 - this.trackStarts[var3] = this.buffer.offset; // L: 43 - ++var3; // L: 44 - } + this.field2502 = 0L; + this.trackPositions = new int[var2]; - var10000 = this.buffer; // L: 46 - } + for(var3 = 0; var3 < var2; ++var3) { + this.trackPositions[var3] = this.trackStarts[var3]; + } - this.field2486 = 0L; // L: 48 - this.trackPositions = new int[var2]; // L: 49 + this.trackLengths = new int[var2]; + this.field2497 = new int[var2]; + } - for (var3 = 0; var3 < var2; ++var3) { // L: 50 - this.trackPositions[var3] = this.trackStarts[var3]; - } + @ObfuscatedName("v") + @Export("clear") + void clear() { + this.buffer.array = null; + this.trackStarts = null; + this.trackPositions = null; + this.trackLengths = null; + this.field2497 = null; + } - this.trackLengths = new int[var2]; // L: 51 - this.field2483 = new int[var2]; // L: 52 - } // L: 53 + @ObfuscatedName("d") + @Export("isReady") + boolean isReady() { + return this.buffer.array != null; + } - @ObfuscatedName("v") - @Export("clear") - void clear() { - this.buffer.array = null; // L: 56 - this.trackStarts = null; // L: 57 - this.trackPositions = null; // L: 58 - this.trackLengths = null; // L: 59 - this.field2483 = null; // L: 60 - } // L: 61 + @ObfuscatedName("c") + @Export("trackCount") + int trackCount() { + return this.trackPositions.length; + } - @ObfuscatedName("x") - @Export("isReady") - boolean isReady() { - return this.buffer.array != null; // L: 64 - } + @ObfuscatedName("y") + @Export("gotoTrack") + void gotoTrack(int var1) { + this.buffer.offset = this.trackPositions[var1]; + } - @ObfuscatedName("w") - @Export("trackCount") - int trackCount() { - return this.trackPositions.length; // L: 68 - } + @ObfuscatedName("h") + @Export("markTrackPosition") + void markTrackPosition(int var1) { + this.trackPositions[var1] = this.buffer.offset; + } - @ObfuscatedName("t") - @Export("gotoTrack") - void gotoTrack(int var1) { - this.buffer.offset = this.trackPositions[var1]; // L: 72 - } // L: 73 + @ObfuscatedName("z") + @Export("setTrackDone") + void setTrackDone() { + this.buffer.offset = -1; + } - @ObfuscatedName("j") - @Export("markTrackPosition") - void markTrackPosition(int var1) { - this.trackPositions[var1] = this.buffer.offset; // L: 76 - } // L: 77 + @ObfuscatedName("e") + @Export("readTrackLength") + void readTrackLength(int var1) { + int var2 = this.buffer.readVarInt(); + this.trackLengths[var1] += var2; + } - @ObfuscatedName("n") - @Export("setTrackDone") - void setTrackDone() { - this.buffer.offset = -1; // L: 80 - } // L: 81 + @ObfuscatedName("q") + @Export("readMessage") + int readMessage(int var1) { + int var2 = this.readMessage0(var1); + return var2; + } - @ObfuscatedName("p") - @Export("readTrackLength") - void readTrackLength(int var1) { - int var2 = this.buffer.readVarInt(); // L: 84 - int[] var10000 = this.trackLengths; - var10000[var1] += var2; // L: 85 - } // L: 86 + @ObfuscatedName("l") + @Export("readMessage0") + int readMessage0(int var1) { + byte var2 = this.buffer.array[this.buffer.offset]; + int var5; + if (var2 < 0) { + var5 = var2 & 255; + this.field2497[var1] = var5; + ++this.buffer.offset; + } else { + var5 = this.field2497[var1]; + } - @ObfuscatedName("l") - @Export("readMessage") - int readMessage(int var1) { - int var2 = this.readMessage0(var1); // L: 89 - return var2; // L: 90 - } + if (var5 != 240 && var5 != 247) { + return this.method4047(var1, var5); + } else { + int var3 = this.buffer.readVarInt(); + if (var5 == 247 && var3 > 0) { + int var4 = this.buffer.array[this.buffer.offset] & 255; + if (var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { + ++this.buffer.offset; + this.field2497[var1] = var4; + return this.method4047(var1, var4); + } + } - @ObfuscatedName("z") - @Export("readMessage0") - int readMessage0(int var1) { - byte var2 = this.buffer.array[this.buffer.offset]; // L: 94 - int var5; - if (var2 < 0) { // L: 95 - var5 = var2 & 255; // L: 96 - this.field2483[var1] = var5; // L: 97 - ++this.buffer.offset; // L: 98 - } else { - var5 = this.field2483[var1]; // L: 101 - } + this.buffer.offset += var3; + return 0; + } + } - if (var5 != 240 && var5 != 247) { // L: 103 - return this.method3877(var1, var5); // L: 116 - } else { - int var3 = this.buffer.readVarInt(); // L: 104 - if (var5 == 247 && var3 > 0) { // L: 105 - int var4 = this.buffer.array[this.buffer.offset] & 255; // L: 106 - if (var4 >= 241 && var4 <= 243 || var4 == 246 || var4 == 248 || var4 >= 250 && var4 <= 252 || var4 == 254) { // L: 107 - ++this.buffer.offset; // L: 108 - this.field2483[var1] = var4; // L: 109 - return this.method3877(var1, var4); // L: 110 - } - } + @ObfuscatedName("s") + int method4047(int var1, int var2) { + int var4; + if (var2 == 255) { + int var7 = this.buffer.readUnsignedByte(); + var4 = this.buffer.readVarInt(); + if (var7 == 47) { + this.buffer.offset += var4; + return 1; + } else if (var7 == 81) { + int var5 = this.buffer.readMedium(); + var4 -= 3; + int var6 = this.trackLengths[var1]; + this.field2502 += (long)var6 * (long)(this.field2498 - var5); + this.field2498 = var5; + this.buffer.offset += var4; + return 2; + } else { + this.buffer.offset += var4; + return 3; + } + } else { + byte var3 = field2500[var2 - 128]; + var4 = var2; + if (var3 >= 1) { + var4 = var2 | this.buffer.readUnsignedByte() << 8; + } - Buffer var10000 = this.buffer; // L: 113 - var10000.offset += var3; - return 0; // L: 114 - } - } + if (var3 >= 2) { + var4 |= this.buffer.readUnsignedByte() << 16; + } - @ObfuscatedName("u") - int method3877(int var1, int var2) { - int var4; - if (var2 == 255) { // L: 120 - int var7 = this.buffer.readUnsignedByte(); // L: 121 - var4 = this.buffer.readVarInt(); // L: 122 - Buffer var10000; - if (var7 == 47) { // L: 123 - var10000 = this.buffer; // L: 124 - var10000.offset += var4; - return 1; // L: 125 - } else if (var7 == 81) { // L: 127 - int var5 = this.buffer.readMedium(); // L: 128 - var4 -= 3; // L: 129 - int var6 = this.trackLengths[var1]; // L: 130 - this.field2486 += (long)var6 * (long)(this.field2480 - var5); // L: 131 - this.field2480 = var5; // L: 132 - var10000 = this.buffer; // L: 133 - var10000.offset += var4; - return 2; // L: 134 - } else { - var10000 = this.buffer; // L: 136 - var10000.offset += var4; - return 3; // L: 137 - } - } else { - byte var3 = field2484[var2 - 128]; // L: 139 - var4 = var2; // L: 140 - if (var3 >= 1) { // L: 141 - var4 = var2 | this.buffer.readUnsignedByte() << 8; - } + return var4; + } + } - if (var3 >= 2) { // L: 142 - var4 |= this.buffer.readUnsignedByte() << 16; - } + @ObfuscatedName("b") + long method4048(int var1) { + return this.field2502 + (long)var1 * (long)this.field2498; + } - return var4; // L: 143 - } - } + @ObfuscatedName("a") + @Export("getPrioritizedTrack") + int getPrioritizedTrack() { + int var1 = this.trackPositions.length; + int var2 = -1; + int var3 = Integer.MAX_VALUE; - @ObfuscatedName("e") - long method3878(int var1) { - return this.field2486 + (long)var1 * (long)this.field2480; // L: 147 - } + for(int var4 = 0; var4 < var1; ++var4) { + if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { + var2 = var4; + var3 = this.trackLengths[var4]; + } + } - @ObfuscatedName("m") - @Export("getPrioritizedTrack") - int getPrioritizedTrack() { - int var1 = this.trackPositions.length; // L: 151 - int var2 = -1; // L: 152 - int var3 = Integer.MAX_VALUE; // L: 153 + return var2; + } - for (int var4 = 0; var4 < var1; ++var4) { // L: 154 - if (this.trackPositions[var4] >= 0 && this.trackLengths[var4] < var3) { // L: 155 156 - var2 = var4; // L: 157 - var3 = this.trackLengths[var4]; // L: 158 - } - } + @ObfuscatedName("w") + @Export("isDone") + boolean isDone() { + int var1 = this.trackPositions.length; - return var2; // L: 161 - } + for(int var2 = 0; var2 < var1; ++var2) { + if (this.trackPositions[var2] >= 0) { + return false; + } + } - @ObfuscatedName("c") - @Export("isDone") - boolean isDone() { - int var1 = this.trackPositions.length; // L: 165 + return true; + } - for (int var2 = 0; var2 < var1; ++var2) { // L: 166 - if (this.trackPositions[var2] >= 0) { - return false; - } - } + @ObfuscatedName("k") + @Export("reset") + void reset(long var1) { + this.field2502 = var1; + int var3 = this.trackPositions.length; - return true; // L: 167 - } + for(int var4 = 0; var4 < var3; ++var4) { + this.trackLengths[var4] = 0; + this.field2497[var4] = 0; + this.buffer.offset = this.trackStarts[var4]; + this.readTrackLength(var4); + this.trackPositions[var4] = this.buffer.offset; + } - @ObfuscatedName("i") - @Export("reset") - void reset(long var1) { - this.field2486 = var1; // L: 171 - int var3 = this.trackPositions.length; // L: 172 - - for (int var4 = 0; var4 < var3; ++var4) { // L: 173 - this.trackLengths[var4] = 0; // L: 174 - this.field2483[var4] = 0; // L: 175 - this.buffer.offset = this.trackStarts[var4]; // L: 176 - this.readTrackLength(var4); // L: 177 - this.trackPositions[var4] = this.buffer.offset; // L: 178 - } - - } // L: 180 + } } diff --git a/runescape-client/src/main/java/MidiPcmStream.java b/runescape-client/src/main/java/MidiPcmStream.java index 5fb4ff0b2c..9c4bd67165 100644 --- a/runescape-client/src/main/java/MidiPcmStream.java +++ b/runescape-client/src/main/java/MidiPcmStream.java @@ -4,1088 +4,1092 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gf") +@ObfuscatedName("gg") @Implements("MidiPcmStream") public class MidiPcmStream extends PcmStream { - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 1220950279 - ) - static int field2455; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("musicPatches") - NodeHashTable musicPatches; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -849325487 - ) - int field2429; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -610604135 - ) - int field2437; - @ObfuscatedName("t") - int[] field2446; - @ObfuscatedName("j") - int[] field2432; - @ObfuscatedName("n") - int[] field2433; - @ObfuscatedName("p") - int[] field2443; - @ObfuscatedName("l") - int[] field2435; - @ObfuscatedName("z") - int[] field2436; - @ObfuscatedName("u") - int[] field2441; - @ObfuscatedName("e") - int[] field2438; - @ObfuscatedName("m") - int[] field2439; - @ObfuscatedName("r") - int[] field2454; - @ObfuscatedName("q") - int[] field2440; - @ObfuscatedName("g") - int[] field2434; - @ObfuscatedName("s") - int[] field2430; - @ObfuscatedName("o") - int[] field2444; - @ObfuscatedName("k") - int[] field2442; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "[[Lhn;" - ) - MusicPatchNode[][] field2428; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "[[Lhn;" - ) - MusicPatchNode[][] field2447; - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "Lhq;" - ) - @Export("midiFile") - MidiFileReader midiFile; - @ObfuscatedName("ax") - boolean field2449; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 2016646223 - ) - @Export("track") - int track; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1682462851 - ) - @Export("trackLength") - int trackLength; - @ObfuscatedName("as") - @ObfuscatedGetter( - longValue = 1796535507771878115L - ) - long field2452; - @ObfuscatedName("ae") - @ObfuscatedGetter( - longValue = -5167402805625029887L - ) - long field2453; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "Lhi;" - ) - @Export("patchStream") - MusicPatchPcmStream patchStream; - - public MidiPcmStream() { - this.field2429 = 256; // L: 14 - this.field2437 = 1000000; // L: 15 - this.field2446 = new int[16]; // L: 16 - this.field2432 = new int[16]; // L: 17 - this.field2433 = new int[16]; // L: 18 - this.field2443 = new int[16]; // L: 19 - this.field2435 = new int[16]; // L: 20 - this.field2436 = new int[16]; // L: 21 - this.field2441 = new int[16]; // L: 22 - this.field2438 = new int[16]; // L: 23 - this.field2439 = new int[16]; // L: 24 - this.field2454 = new int[16]; // L: 28 - this.field2440 = new int[16]; // L: 29 - this.field2434 = new int[16]; // L: 30 - this.field2430 = new int[16]; // L: 31 - this.field2444 = new int[16]; // L: 32 - this.field2442 = new int[16]; // L: 33 - this.field2428 = new MusicPatchNode[16][128]; // L: 34 - this.field2447 = new MusicPatchNode[16][128]; // L: 35 - this.midiFile = new MidiFileReader(); // L: 36 - this.patchStream = new MusicPatchPcmStream(this); // L: 42 - this.musicPatches = new NodeHashTable(128); // L: 45 - this.method3842(); // L: 46 - } // L: 47 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "1513" - ) - @Export("setPcmStreamVolume") - public synchronized void setPcmStreamVolume(int var1) { - this.field2429 = var1; // L: 50 - } // L: 51 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "643767530" - ) - int method3816() { - return this.field2429; // L: 54 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lhg;Lib;Lds;IB)Z", - garbageValue = "3" - ) - @Export("loadMusicTrack") - synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { - var1.method3956(); // L: 58 - boolean var5 = true; // L: 59 - int[] var6 = null; // L: 60 - if (var4 > 0) { // L: 61 - var6 = new int[]{var4}; - } - - for (ByteArrayNode var7 = (ByteArrayNode)var1.table.first(); var7 != null; var7 = (ByteArrayNode)var1.table.next()) { // L: 62 - int var8 = (int)var7.key; // L: 63 - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); // L: 64 - if (var9 == null) { // L: 65 - byte[] var11 = var2.takeFileFlat(var8); // L: 68 - MusicPatch var10; - if (var11 == null) { // L: 69 - var10 = null; // L: 70 - } else { - var10 = new MusicPatch(var11); // L: 73 - } - - var9 = var10; // L: 75 - if (var10 == null) { // L: 76 - var5 = false; // L: 77 - continue; - } - - this.musicPatches.put(var10, (long)var8); // L: 80 - } - - if (!var9.method3920(var3, var7.byteArray, var6)) { // L: 82 - var5 = false; - } - } - - if (var5) { // L: 84 - var1.clear(); - } - - return var5; // L: 85 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "51" - ) - @Export("clearAll") - synchronized void clearAll() { - for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { // L: 89 - var1.clear(); - } - - } // L: 90 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1115530445" - ) - @Export("removeAll") - synchronized void removeAll() { - for (MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { // L: 93 - var1.remove(); - } - - } // L: 94 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("firstSubStream") - protected synchronized PcmStream firstSubStream() { - return this.patchStream; // L: 469 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("nextSubStream") - protected synchronized PcmStream nextSubStream() { - return null; // L: 473 - } - - @ObfuscatedName("p") - protected synchronized int vmethod3927() { - return 0; // L: 477 - } - - @ObfuscatedName("l") - @Export("fill") - protected synchronized void fill(int[] var1, int var2, int var3) { - if (this.midiFile.isReady()) { // L: 481 - int var4 = this.midiFile.division * this.field2437 / PcmPlayer.field1443; // L: 482 - - do { - long var5 = this.field2452 + (long)var3 * (long)var4; // L: 484 - if (this.field2453 - var5 >= 0L) { // L: 485 - this.field2452 = var5; // L: 486 - break; - } - - int var7 = (int)((this.field2453 - this.field2452 + (long)var4 - 1L) / (long)var4); // L: 489 - this.field2452 += (long)var7 * (long)var4; // L: 490 - this.patchStream.fill(var1, var2, var7); // L: 491 - var2 += var7; // L: 492 - var3 -= var7; // L: 493 - this.method3784(); // L: 494 - } while(this.midiFile.isReady()); // L: 495 - } - - this.patchStream.fill(var1, var2, var3); // L: 498 - } // L: 499 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Lhg;ZI)V", - garbageValue = "614971049" - ) - @Export("setMusicTrack") - synchronized void setMusicTrack(MusicTrack var1, boolean var2) { - this.clear(); // L: 97 - this.midiFile.parse(var1.midi); // L: 98 - this.field2449 = var2; // L: 99 - this.field2452 = 0L; // L: 100 - int var3 = this.midiFile.trackCount(); // L: 101 - - for (int var4 = 0; var4 < var3; ++var4) { // L: 102 - this.midiFile.gotoTrack(var4); // L: 103 - this.midiFile.readTrackLength(var4); // L: 104 - this.midiFile.markTrackPosition(var4); // L: 105 - } - - this.track = this.midiFile.getPrioritizedTrack(); // L: 107 - this.trackLength = this.midiFile.trackLengths[this.track]; // L: 108 - this.field2453 = this.midiFile.method3878(this.trackLength); // L: 109 - } // L: 110 - - @ObfuscatedName("u") - @Export("skip") - protected synchronized void skip(int var1) { - if (this.midiFile.isReady()) { // L: 502 - int var2 = this.midiFile.division * this.field2437 / PcmPlayer.field1443; // L: 503 - - do { - long var3 = (long)var1 * (long)var2 + this.field2452; // L: 505 - if (this.field2453 - var3 >= 0L) { // L: 506 - this.field2452 = var3; // L: 507 - break; - } - - int var5 = (int)(((long)var2 + (this.field2453 - this.field2452) - 1L) / (long)var2); // L: 510 - this.field2452 += (long)var2 * (long)var5; // L: 511 - this.patchStream.skip(var5); // L: 512 - var1 -= var5; // L: 513 - this.method3784(); // L: 514 - } while(this.midiFile.isReady()); // L: 515 - } - - this.patchStream.skip(var1); // L: 518 - } // L: 519 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "-15313" - ) - @Export("clear") - synchronized void clear() { - this.midiFile.clear(); // L: 113 - this.method3842(); // L: 114 - } // L: 115 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-185002283" - ) - @Export("isReady") - synchronized boolean isReady() { - return this.midiFile.isReady(); // L: 118 - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "77" - ) - public synchronized void method3759(int var1, int var2) { - this.method3752(var1, var2); // L: 122 - } // L: 123 - - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(IIS)V", - garbageValue = "-15440" - ) - void method3752(int var1, int var2) { - this.field2443[var1] = var2; // L: 126 - this.field2436[var1] = var2 & -128; // L: 127 - this.method3761(var1, var2); // L: 128 - } // L: 129 - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1712020733" - ) - void method3761(int var1, int var2) { - if (var2 != this.field2435[var1]) { // L: 132 - this.field2435[var1] = var2; // L: 133 - - for (int var3 = 0; var3 < 128; ++var3) { // L: 134 - this.field2447[var1][var3] = null; - } - } - - } // L: 136 - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "1" - ) - void method3768(int var1, int var2, int var3) { - this.method3814(var1, var2, 64); // L: 139 - if ((this.field2454[var1] & 2) != 0) { // L: 140 - for (MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { // L: 141 - if (var4.field2477 == var1 && var4.field2470 < 0) { // L: 142 - this.field2428[var1][var4.field2461] = null; // L: 143 - this.field2428[var1][var2] = var4; // L: 144 - int var8 = (var4.field2466 * var4.field2464 >> 12) + var4.field2476; // L: 145 - var4.field2476 += var2 - var4.field2461 << 8; // L: 146 - var4.field2464 = var8 - var4.field2476; // L: 147 - var4.field2466 = 4096; // L: 148 - var4.field2461 = var2; // L: 149 - return; // L: 150 - } - } - } - - MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2435[var1]); // L: 154 - if (var9 != null) { // L: 155 - RawSound var5 = var9.rawSounds[var2]; // L: 156 - if (var5 != null) { // L: 157 - MusicPatchNode var6 = new MusicPatchNode(); // L: 158 - var6.field2477 = var1; // L: 159 - var6.patch = var9; // L: 160 - var6.rawSound = var5; // L: 161 - var6.field2459 = var9.field2492[var2]; // L: 162 - var6.field2460 = var9.field2498[var2]; // L: 163 - var6.field2461 = var2; // L: 164 - var6.field2462 = var3 * var3 * var9.field2495[var2] * var9.field2499 + 1024 >> 11; // L: 165 - var6.field2463 = var9.field2496[var2] & 255; // L: 166 - var6.field2476 = (var2 << 8) - (var9.field2494[var2] & 32767); // L: 167 - var6.field2467 = 0; // L: 168 - var6.field2465 = 0; // L: 169 - var6.field2472 = 0; // L: 170 - var6.field2470 = -1; // L: 171 - var6.field2471 = 0; // L: 172 - if (this.field2430[var1] == 0) { // L: 173 - var6.stream = RawPcmStream.method2630(var5, this.method3776(var6), this.method3849(var6), this.method3854(var6)); // L: 174 - } else { - var6.stream = RawPcmStream.method2630(var5, this.method3776(var6), 0, this.method3854(var6)); // L: 177 - this.method3763(var6, var9.field2494[var2] < 0); // L: 178 - } - - if (var9.field2494[var2] < 0) { // L: 180 - var6.stream.setNumLoops(-1); - } - - if (var6.field2460 >= 0) { // L: 181 - MusicPatchNode var7 = this.field2447[var1][var6.field2460]; // L: 182 - if (var7 != null && var7.field2470 < 0) { // L: 183 - this.field2428[var1][var7.field2461] = null; // L: 184 - var7.field2470 = 0; // L: 185 - } - - this.field2447[var1][var6.field2460] = var6; // L: 187 - } - - this.patchStream.queue.addFirst(var6); // L: 189 - this.field2428[var1][var2] = var6; // L: 190 - } - } - } // L: 191 - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(Lhn;ZB)V", - garbageValue = "1" - ) - void method3763(MusicPatchNode var1, boolean var2) { - int var3 = var1.rawSound.samples.length; // L: 194 - int var4; - if (var2 && var1.rawSound.field1408) { // L: 196 - int var5 = var3 + var3 - var1.rawSound.start; // L: 197 - var4 = (int)((long)this.field2430[var1.field2477] * (long)var5 >> 6); // L: 198 - var3 <<= 8; // L: 199 - if (var4 >= var3) { // L: 200 - var4 = var3 + var3 - 1 - var4; // L: 201 - var1.stream.method2616(); // L: 202 - } - } else { - var4 = (int)((long)var3 * (long)this.field2430[var1.field2477] >> 6); // L: 206 - } - - var1.stream.method2615(var4); // L: 208 - } // L: 209 - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "452314933" - ) - void method3814(int var1, int var2, int var3) { - MusicPatchNode var4 = this.field2428[var1][var2]; // L: 212 - if (var4 != null) { // L: 213 - this.field2428[var1][var2] = null; // L: 214 - if ((this.field2454[var1] & 2) != 0) { // L: 215 - for (MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { // L: 216 - if (var4.field2477 == var5.field2477 && var5.field2470 < 0 && var4 != var5) { // L: 217 - var4.field2470 = 0; // L: 218 - break; // L: 219 - } - } - } else { - var4.field2470 = 0; // L: 224 - } - - } - } // L: 226 - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IIIB)V", - garbageValue = "-55" - ) - void method3765(int var1, int var2, int var3) { - } // L: 228 - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "173552395" - ) - void method3777(int var1, int var2) { - } // L: 229 - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "-30" - ) - void method3767(int var1, int var2) { - this.field2441[var1] = var2; // L: 232 - } // L: 233 - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "649437065" - ) - void method3750(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { // L: 236 - if (var1 < 0 || var2.field2477 == var1) { // L: 237 - if (var2.stream != null) { // L: 238 - var2.stream.method2620(PcmPlayer.field1443 / 100); // L: 239 - if (var2.stream.method2624()) { // L: 240 - this.patchStream.mixer.addSubStream(var2.stream); - } - - var2.method3860(); // L: 241 - } - - if (var2.field2470 < 0) { // L: 243 - this.field2428[var2.field2477][var2.field2461] = null; - } - - var2.remove(); // L: 244 - } - } - - } // L: 247 - - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "178885513" - ) - void method3769(int var1) { - if (var1 >= 0) { // L: 250 - this.field2446[var1] = 12800; // L: 254 - this.field2432[var1] = 8192; // L: 255 - this.field2433[var1] = 16383; // L: 256 - this.field2441[var1] = 8192; // L: 257 - this.field2438[var1] = 0; // L: 258 - this.field2439[var1] = 8192; // L: 259 - this.method3779(var1); // L: 260 - this.method3773(var1); // L: 261 - this.field2454[var1] = 0; // L: 262 - this.field2440[var1] = 32767; // L: 263 - this.field2434[var1] = 256; // L: 264 - this.field2430[var1] = 0; // L: 265 - this.method3775(var1, 8192); // L: 266 - } else { - for (var1 = 0; var1 < 16; ++var1) { // L: 251 - this.method3769(var1); - } - - } - } // L: 252 267 - - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "971113747" - ) - void method3805(int var1) { - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { // L: 270 - if ((var1 < 0 || var2.field2477 == var1) && var2.field2470 < 0) { // L: 271 272 - this.field2428[var2.field2477][var2.field2461] = null; // L: 273 - var2.field2470 = 0; // L: 274 - } - } - - } // L: 278 - - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "100" - ) - void method3842() { - this.method3750(-1); // L: 281 - this.method3769(-1); // L: 282 - - int var1; - for (var1 = 0; var1 < 16; ++var1) { // L: 283 - this.field2435[var1] = this.field2443[var1]; - } - - for (var1 = 0; var1 < 16; ++var1) { // L: 284 - this.field2436[var1] = this.field2443[var1] & -128; - } - - } // L: 285 - - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-635370566" - ) - void method3779(int var1) { - if ((this.field2454[var1] & 2) != 0) { // L: 288 - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { // L: 289 - if (var2.field2477 == var1 && this.field2428[var1][var2.field2461] == null && var2.field2470 < 0) { // L: 290 291 - var2.field2470 = 0; - } - } - } - - } // L: 295 - - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "0" - ) - void method3773(int var1) { - if ((this.field2454[var1] & 4) != 0) { // L: 298 - for (MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { // L: 299 - if (var2.field2477 == var1) { // L: 300 - var2.field2456 = 0; - } - } - } - - } // L: 303 - - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "0" - ) - void method3774(int var1) { - int var2 = var1 & 240; // L: 306 - int var3; - int var4; - int var5; - if (var2 == 128) { // L: 307 - var3 = var1 & 15; // L: 308 - var4 = var1 >> 8 & 127; // L: 309 - var5 = var1 >> 16 & 127; // L: 310 - this.method3814(var3, var4, var5); // L: 311 - } else if (var2 == 144) { // L: 314 - var3 = var1 & 15; // L: 315 - var4 = var1 >> 8 & 127; // L: 316 - var5 = var1 >> 16 & 127; // L: 317 - if (var5 > 0) { // L: 318 - this.method3768(var3, var4, var5); - } else { - this.method3814(var3, var4, 64); // L: 319 - } - - } else if (var2 == 160) { // L: 322 - var3 = var1 & 15; // L: 323 - var4 = var1 >> 8 & 127; // L: 324 - var5 = var1 >> 16 & 127; // L: 325 - this.method3765(var3, var4, var5); // L: 326 - } else if (var2 == 176) { // L: 329 - var3 = var1 & 15; // L: 330 - var4 = var1 >> 8 & 127; // L: 331 - var5 = var1 >> 16 & 127; // L: 332 - if (var4 == 0) { // L: 333 - this.field2436[var3] = (var5 << 14) + (this.field2436[var3] & -2080769); - } - - if (var4 == 32) { // L: 334 - this.field2436[var3] = (var5 << 7) + (this.field2436[var3] & -16257); - } - - if (var4 == 1) { // L: 335 - this.field2438[var3] = (var5 << 7) + (this.field2438[var3] & -16257); - } - - if (var4 == 33) { // L: 336 - this.field2438[var3] = var5 + (this.field2438[var3] & -128); - } - - if (var4 == 5) { // L: 337 - this.field2439[var3] = (var5 << 7) + (this.field2439[var3] & -16257); - } - - if (var4 == 37) { // L: 338 - this.field2439[var3] = var5 + (this.field2439[var3] & -128); - } - - if (var4 == 7) { // L: 339 - this.field2446[var3] = (var5 << 7) + (this.field2446[var3] & -16257); - } - - if (var4 == 39) { // L: 340 - this.field2446[var3] = var5 + (this.field2446[var3] & -128); - } - - if (var4 == 10) { // L: 341 - this.field2432[var3] = (var5 << 7) + (this.field2432[var3] & -16257); - } - - if (var4 == 42) { // L: 342 - this.field2432[var3] = var5 + (this.field2432[var3] & -128); - } - - if (var4 == 11) { // L: 343 - this.field2433[var3] = (var5 << 7) + (this.field2433[var3] & -16257); - } - - if (var4 == 43) { // L: 344 - this.field2433[var3] = var5 + (this.field2433[var3] & -128); - } - - int[] var10000; - if (var4 == 64) { // L: 345 - if (var5 >= 64) { // L: 346 - var10000 = this.field2454; - var10000[var3] |= 1; - } else { - var10000 = this.field2454; // L: 347 - var10000[var3] &= -2; - } - } - - if (var4 == 65) { // L: 349 - if (var5 >= 64) { // L: 350 - var10000 = this.field2454; - var10000[var3] |= 2; - } else { - this.method3779(var3); // L: 352 - var10000 = this.field2454; // L: 353 - var10000[var3] &= -3; - } - } - - if (var4 == 99) { // L: 356 - this.field2440[var3] = (var5 << 7) + (this.field2440[var3] & 127); - } - - if (var4 == 98) { // L: 357 - this.field2440[var3] = (this.field2440[var3] & 16256) + var5; - } - - if (var4 == 101) { // L: 358 - this.field2440[var3] = (var5 << 7) + (this.field2440[var3] & 127) + 16384; - } - - if (var4 == 100) { // L: 359 - this.field2440[var3] = (this.field2440[var3] & 16256) + var5 + 16384; - } - - if (var4 == 120) { // L: 360 - this.method3750(var3); - } - - if (var4 == 121) { // L: 361 - this.method3769(var3); - } - - if (var4 == 123) { // L: 362 - this.method3805(var3); - } - - int var6; - if (var4 == 6) { // L: 363 - var6 = this.field2440[var3]; // L: 364 - if (var6 == 16384) { // L: 365 - this.field2434[var3] = (var5 << 7) + (this.field2434[var3] & -16257); - } - } - - if (var4 == 38) { // L: 367 - var6 = this.field2440[var3]; // L: 368 - if (var6 == 16384) { // L: 369 - this.field2434[var3] = var5 + (this.field2434[var3] & -128); - } - } - - if (var4 == 16) { // L: 371 - this.field2430[var3] = (var5 << 7) + (this.field2430[var3] & -16257); - } - - if (var4 == 48) { // L: 372 - this.field2430[var3] = var5 + (this.field2430[var3] & -128); - } - - if (var4 == 81) { // L: 373 - if (var5 >= 64) { // L: 374 - var10000 = this.field2454; - var10000[var3] |= 4; - } else { - this.method3773(var3); // L: 376 - var10000 = this.field2454; // L: 377 - var10000[var3] &= -5; - } - } - - if (var4 == 17) { - this.method3775(var3, (var5 << 7) + (this.field2444[var3] & -16257)); // L: 380 - } - - if (var4 == 49) { // L: 381 - this.method3775(var3, var5 + (this.field2444[var3] & -128)); - } - - } else if (var2 == 192) { // L: 384 - var3 = var1 & 15; // L: 385 - var4 = var1 >> 8 & 127; // L: 386 - this.method3761(var3, var4 + this.field2436[var3]); // L: 387 - } else if (var2 == 208) { // L: 390 - var3 = var1 & 15; // L: 391 - var4 = var1 >> 8 & 127; // L: 392 - this.method3777(var3, var4); // L: 393 - } else if (var2 == 224) { // L: 396 - var3 = var1 & 15; // L: 397 - var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); // L: 398 - this.method3767(var3, var4); // L: 399 - } else { - var2 = var1 & 255; // L: 402 - if (var2 == 255) { // L: 403 - this.method3842(); // L: 404 - } - } - } // L: 312 320 327 382 388 394 400 405 407 - - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "368361036" - ) - void method3775(int var1, int var2) { - this.field2444[var1] = var2; // L: 410 - this.field2442[var1] = (int)(2097152.0D * Math.pow(2.0D, (double)var2 * 5.4931640625E-4D) + 0.5D); // L: 411 - } // L: 412 - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(Lhn;I)I", - garbageValue = "-1046287806" - ) - int method3776(MusicPatchNode var1) { - int var2 = (var1.field2466 * var1.field2464 >> 12) + var1.field2476; // L: 415 - var2 += (this.field2441[var1.field2477] - 8192) * this.field2434[var1.field2477] >> 12; // L: 416 - MusicPatchNode2 var3 = var1.field2459; // L: 417 - int var4; - if (var3.field2416 > 0 && (var3.field2415 > 0 || this.field2438[var1.field2477] > 0)) { // L: 418 - var4 = var3.field2415 << 2; // L: 419 - int var5 = var3.field2409 << 1; // L: 420 - if (var1.field2468 < var5) { // L: 421 - var4 = var4 * var1.field2468 / var5; - } - - var4 += this.field2438[var1.field2477] >> 7; // L: 422 - double var6 = Math.sin((double)(var1.field2469 & 511) * 0.01227184630308513D); // L: 423 - var2 += (int)((double)var4 * var6); // L: 424 - } - - var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)PcmPlayer.field1443 + 0.5D); // L: 426 - return var4 < 1 ? 1 : var4; // L: 427 - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "(Lhn;I)I", - garbageValue = "1961596880" - ) - int method3849(MusicPatchNode var1) { - MusicPatchNode2 var2 = var1.field2459; // L: 431 - int var3 = this.field2433[var1.field2477] * this.field2446[var1.field2477] + 4096 >> 13; // L: 432 - var3 = var3 * var3 + 16384 >> 15; // L: 433 - var3 = var3 * var1.field2462 + 16384 >> 15; // L: 434 - var3 = var3 * this.field2429 + 128 >> 8; // L: 435 - if (var2.field2410 > 0) { // L: 436 - var3 = (int)((double)var3 * Math.pow(0.5D, 1.953125E-5D * (double)var1.field2467 * (double)var2.field2410) + 0.5D); // L: 437 - } - - int var4; - int var5; - int var6; - int var7; - if (var2.field2411 != null) { // L: 439 - var4 = var1.field2465; // L: 440 - var5 = var2.field2411[var1.field2472 + 1]; // L: 441 - if (var1.field2472 < var2.field2411.length - 2) { // L: 442 - var6 = (var2.field2411[var1.field2472] & 255) << 8; // L: 443 - var7 = (var2.field2411[var1.field2472 + 2] & 255) << 8; // L: 444 - var5 += (var2.field2411[var1.field2472 + 3] - var5) * (var4 - var6) / (var7 - var6); // L: 445 - } - - var3 = var3 * var5 + 32 >> 6; // L: 447 - } - - if (var1.field2470 > 0 && var2.field2412 != null) { // L: 449 - var4 = var1.field2470; // L: 450 - var5 = var2.field2412[var1.field2471 + 1]; // L: 451 - if (var1.field2471 < var2.field2412.length - 2) { // L: 452 - var6 = (var2.field2412[var1.field2471] & 255) << 8; // L: 453 - var7 = (var2.field2412[var1.field2471 + 2] & 255) << 8; // L: 454 - var5 += (var2.field2412[var1.field2471 + 3] - var5) * (var4 - var6) / (var7 - var6); // L: 455 - } - - var3 = var3 * var5 + 32 >> 6; // L: 457 - } - - return var3; // L: 459 - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "(Lhn;S)I", - garbageValue = "-9329" - ) - int method3854(MusicPatchNode var1) { - int var2 = this.field2432[var1.field2477]; // L: 463 - return var2 < 8192 ? var2 * var1.field2463 + 32 >> 6 : 16384 - ((128 - var1.field2463) * (16384 - var2) + 32 >> 6); // L: 464 465 - } - - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1360483838" - ) - void method3784() { - int var1 = this.track; // L: 522 - int var2 = this.trackLength; // L: 523 - - long var3; - for (var3 = this.field2453; var2 == this.trackLength; var3 = this.midiFile.method3878(var2)) { // L: 524 525 547 - while (var2 == this.midiFile.trackLengths[var1]) { // L: 526 - this.midiFile.gotoTrack(var1); // L: 527 - int var5 = this.midiFile.readMessage(var1); // L: 528 - if (var5 == 1) { // L: 529 - this.midiFile.setTrackDone(); // L: 530 - this.midiFile.markTrackPosition(var1); // L: 531 - if (this.midiFile.isDone()) { // L: 532 - if (!this.field2449 || var2 == 0) { // L: 533 - this.method3842(); // L: 537 - this.midiFile.clear(); // L: 538 - return; // L: 539 - } - - this.midiFile.reset(var3); // L: 534 - } - break; - } - - if ((var5 & 128) != 0) { // L: 541 - this.method3774(var5); - } - - this.midiFile.readTrackLength(var1); // L: 542 - this.midiFile.markTrackPosition(var1); // L: 543 - } - - var1 = this.midiFile.getPrioritizedTrack(); // L: 545 - var2 = this.midiFile.trackLengths[var1]; // L: 546 - } - - this.track = var1; // L: 549 - this.trackLength = var2; // L: 550 - this.field2453 = var3; // L: 551 - } // L: 552 - - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "(Lhn;I)Z", - garbageValue = "610995738" - ) - boolean method3851(MusicPatchNode var1) { - if (var1.stream == null) { // L: 555 - if (var1.field2470 >= 0) { // L: 556 - var1.remove(); // L: 557 - if (var1.field2460 > 0 && var1 == this.field2447[var1.field2477][var1.field2460]) { // L: 558 - this.field2447[var1.field2477][var1.field2460] = null; // L: 559 - } - } - - return true; // L: 562 - } else { - return false; // L: 564 - } - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "(Lhn;[IIII)Z", - garbageValue = "-638435532" - ) - boolean method3786(MusicPatchNode var1, int[] var2, int var3, int var4) { - var1.field2475 = PcmPlayer.field1443 / 100; // L: 568 - if (var1.field2470 < 0 || var1.stream != null && !var1.stream.method2623()) { // L: 569 - int var5 = var1.field2466; // L: 577 - if (var5 > 0) { // L: 578 - var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field2439[var1.field2477] * 4.921259842519685E-4D) + 0.5D); // L: 579 - if (var5 < 0) { // L: 580 - var5 = 0; - } - - var1.field2466 = var5; // L: 581 - } - - var1.stream.method2621(this.method3776(var1)); // L: 583 - MusicPatchNode2 var6 = var1.field2459; // L: 584 - boolean var7 = false; // L: 585 - ++var1.field2468; // L: 586 - var1.field2469 += var6.field2416; // L: 587 - double var8 = 5.086263020833333E-6D * (double)((var1.field2461 - 60 << 8) + (var1.field2466 * var1.field2464 >> 12)); // L: 588 - if (var6.field2410 > 0) { // L: 589 - if (var6.field2414 > 0) { // L: 590 - var1.field2467 += (int)(128.0D * Math.pow(2.0D, var8 * (double)var6.field2414) + 0.5D); - } else { - var1.field2467 += 128; // L: 591 - } - } - - if (var6.field2411 != null) { // L: 593 - if (var6.field2417 > 0) { // L: 594 - var1.field2465 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2417 * var8) + 0.5D); - } else { - var1.field2465 += 128; // L: 595 - } - - while (var1.field2472 < var6.field2411.length - 2 && var1.field2465 > (var6.field2411[var1.field2472 + 2] & 255) << 8) { // L: 596 - var1.field2472 += 2; - } - - if (var6.field2411.length - 2 == var1.field2472 && var6.field2411[var1.field2472 + 1] == 0) { // L: 597 - var7 = true; - } - } - - if (var1.field2470 >= 0 && var6.field2412 != null && (this.field2454[var1.field2477] & 1) == 0 && (var1.field2460 < 0 || var1 != this.field2447[var1.field2477][var1.field2460])) { // L: 599 600 - if (var6.field2413 > 0) { // L: 601 - var1.field2470 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2413 * var8) + 0.5D); - } else { - var1.field2470 += 128; // L: 602 - } - - while (var1.field2471 < var6.field2412.length - 2 && var1.field2470 > (var6.field2412[var1.field2471 + 2] & 255) << 8) { // L: 603 - var1.field2471 += 2; - } - - if (var6.field2412.length - 2 == var1.field2471) { // L: 604 - var7 = true; - } - } - - if (var7) { // L: 607 - var1.stream.method2620(var1.field2475); // L: 608 - if (var2 != null) { // L: 609 - var1.stream.fill(var2, var3, var4); - } else { - var1.stream.skip(var4); // L: 610 - } - - if (var1.stream.method2624()) { // L: 611 - this.patchStream.mixer.addSubStream(var1.stream); - } - - var1.method3860(); // L: 612 - if (var1.field2470 >= 0) { // L: 613 - var1.remove(); // L: 614 - if (var1.field2460 > 0 && var1 == this.field2447[var1.field2477][var1.field2460]) { // L: 615 - this.field2447[var1.field2477][var1.field2460] = null; // L: 616 - } - } - - return true; // L: 619 - } else { - var1.stream.method2744(var1.field2475, this.method3849(var1), this.method3854(var1)); // L: 621 - return false; // L: 622 - } - } else { - var1.method3860(); // L: 570 - var1.remove(); // L: 571 - if (var1.field2460 > 0 && var1 == this.field2447[var1.field2477][var1.field2460]) { // L: 572 - this.field2447[var1.field2477][var1.field2460] = null; // L: 573 - } - - return true; // L: 575 - } - } + @ObfuscatedName("mf") + @ObfuscatedGetter( + intValue = 806429497 + ) + @Export("selectedSpellWidget") + static int selectedSpellWidget; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("musicPatches") + NodeHashTable musicPatches = new NodeHashTable(128); + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1755740693 + ) + int field2442 = 256; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1633442869 + ) + int field2443 = 1000000; + @ObfuscatedName("c") + int[] field2444 = new int[16]; + @ObfuscatedName("y") + int[] field2447 = new int[16]; + @ObfuscatedName("h") + int[] field2446 = new int[16]; + @ObfuscatedName("z") + int[] field2445 = new int[16]; + @ObfuscatedName("e") + int[] field2448 = new int[16]; + @ObfuscatedName("q") + int[] field2463 = new int[16]; + @ObfuscatedName("l") + int[] field2441 = new int[16]; + @ObfuscatedName("s") + int[] field2451 = new int[16]; + @ObfuscatedName("b") + int[] field2452 = new int[16]; + @ObfuscatedName("u") + int[] field2458 = new int[16]; + @ObfuscatedName("t") + int[] field2455 = new int[16]; + @ObfuscatedName("p") + int[] field2456 = new int[16]; + @ObfuscatedName("m") + int[] field2460 = new int[16]; + @ObfuscatedName("r") + int[] field2457 = new int[16]; + @ObfuscatedName("o") + int[] field2468 = new int[16]; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "[[Lhq;" + ) + MusicPatchNode[][] field2450 = new MusicPatchNode[16][128]; + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "[[Lhq;" + ) + MusicPatchNode[][] field2461 = new MusicPatchNode[16][128]; + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "Lho;" + ) + @Export("midiFile") + MidiFileReader midiFile = new MidiFileReader(); + @ObfuscatedName("ag") + boolean field2459; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1902881545 + ) + @Export("track") + int track; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 418565545 + ) + @Export("trackLength") + int trackLength; + @ObfuscatedName("aq") + @ObfuscatedGetter( + longValue = 7287012741980602557L + ) + long field2466; + @ObfuscatedName("at") + @ObfuscatedGetter( + longValue = -8407851489903223283L + ) + long field2467; + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "Lhe;" + ) + @Export("patchStream") + MusicPatchPcmStream patchStream = new MusicPatchPcmStream(this); + + public MidiPcmStream() { + this.method3931(); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "699438448" + ) + @Export("setPcmStreamVolume") + public synchronized void setPcmStreamVolume(int var1) { + this.field2442 = var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1131484888" + ) + int method3912() { + return this.field2442; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lhr;Lig;Ldy;IB)Z", + garbageValue = "80" + ) + @Export("loadMusicTrack") + public synchronized boolean loadMusicTrack(MusicTrack var1, AbstractArchive var2, SoundCache var3, int var4) { + var1.method4125(); + boolean var5 = true; + int[] var6 = null; + if (var4 > 0) { + var6 = new int[]{var4}; + } + + for(ByteArrayNode var7 = (ByteArrayNode)var1.table.first(); var7 != null; var7 = (ByteArrayNode)var1.table.next()) { + int var8 = (int)var7.key; + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)var8); + if (var9 == null) { + byte[] var11 = var2.takeFileFlat(var8); + MusicPatch var10; + if (var11 == null) { + var10 = null; + } else { + var10 = new MusicPatch(var11); + } + + var9 = var10; + if (var10 == null) { + var5 = false; + continue; + } + + this.musicPatches.put(var10, (long)var8); + } + + if (!var9.method4086(var3, var7.byteArray, var6)) { + var5 = false; + } + } + + if (var5) { + var1.clear(); + } + + return var5; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1484223383" + ) + @Export("clearAll") + public synchronized void clearAll() { + for(MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.clear(); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "-24768" + ) + @Export("removeAll") + synchronized void removeAll() { + for(MusicPatch var1 = (MusicPatch)this.musicPatches.first(); var1 != null; var1 = (MusicPatch)this.musicPatches.next()) { + var1.remove(); + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("firstSubStream") + protected synchronized PcmStream firstSubStream() { + return this.patchStream; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("nextSubStream") + protected synchronized PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("e") + protected synchronized int vmethod4099() { + return 0; + } + + @ObfuscatedName("q") + @Export("fill") + protected synchronized void fill(int[] var1, int var2, int var3) { + if (this.midiFile.isReady()) { + int var4 = this.midiFile.division * this.field2443 * -727379968 / (StructComposition.field3338 * 22050); + + do { + long var5 = this.field2466 + (long)var3 * (long)var4; + if (this.field2467 - var5 >= 0L) { + this.field2466 = var5; + break; + } + + int var7 = (int)(((long)var4 + (this.field2467 - this.field2466) - 1L) / (long)var4); + this.field2466 += (long)var4 * (long)var7; + this.patchStream.fill(var1, var2, var7); + var2 += var7; + var3 -= var7; + this.method3944(); + } while(this.midiFile.isReady()); + } + + this.patchStream.fill(var1, var2, var3); + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lhr;ZI)V", + garbageValue = "99605347" + ) + @Export("setMusicTrack") + public synchronized void setMusicTrack(MusicTrack var1, boolean var2) { + this.clear(); + this.midiFile.parse(var1.midi); + this.field2459 = var2; + this.field2466 = 0L; + int var3 = this.midiFile.trackCount(); + + for(int var4 = 0; var4 < var3; ++var4) { + this.midiFile.gotoTrack(var4); + this.midiFile.readTrackLength(var4); + this.midiFile.markTrackPosition(var4); + } + + this.track = this.midiFile.getPrioritizedTrack(); + this.trackLength = this.midiFile.trackLengths[this.track]; + this.field2467 = this.midiFile.method4048(this.trackLength); + } + + @ObfuscatedName("s") + @Export("skip") + protected synchronized void skip(int var1) { + if (this.midiFile.isReady()) { + int var2 = this.midiFile.division * this.field2443 * -727379968 / (StructComposition.field3338 * 22050); + + do { + long var3 = this.field2466 + (long)var2 * (long)var1; + if (this.field2467 - var3 >= 0L) { + this.field2466 = var3; + break; + } + + int var5 = (int)((this.field2467 - this.field2466 + (long)var2 - 1L) / (long)var2); + this.field2466 += (long)var2 * (long)var5; + this.patchStream.skip(var5); + var1 -= var5; + this.method3944(); + } while(this.midiFile.isReady()); + } + + this.patchStream.skip(var1); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-121" + ) + @Export("clear") + public synchronized void clear() { + this.midiFile.clear(); + this.method3931(); + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1309898808" + ) + @Export("isReady") + synchronized boolean isReady() { + return this.midiFile.isReady(); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1101705080" + ) + public synchronized void method3919(int var1, int var2) { + this.method3920(var1, var2); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1341078259" + ) + void method3920(int var1, int var2) { + this.field2445[var1] = var2; + this.field2463[var1] = var2 & -128; + this.method3921(var1, var2); + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-982058038" + ) + void method3921(int var1, int var2) { + if (var2 != this.field2448[var1]) { + this.field2448[var1] = var2; + + for(int var3 = 0; var3 < 128; ++var3) { + this.field2461[var1][var3] = null; + } + } + + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "441303152" + ) + void method3922(int var1, int var2, int var3) { + this.method3924(var1, var2, 64); + if ((this.field2458[var1] & 2) != 0) { + for(MusicPatchNode var4 = (MusicPatchNode)this.patchStream.queue.first(); var4 != null; var4 = (MusicPatchNode)this.patchStream.queue.next()) { + if (var4.field2471 == var1 && var4.field2486 < 0) { + this.field2450[var1][var4.field2475] = null; + this.field2450[var1][var2] = var4; + int var8 = (var4.field2472 * var4.field2480 >> 12) + var4.field2478; + var4.field2478 += var2 - var4.field2475 << 8; + var4.field2472 = var8 - var4.field2478; + var4.field2480 = 4096; + var4.field2475 = var2; + return; + } + } + } + + MusicPatch var9 = (MusicPatch)this.musicPatches.get((long)this.field2448[var1]); + if (var9 != null) { + RawSound var5 = var9.rawSounds[var2]; + if (var5 != null) { + MusicPatchNode var6 = new MusicPatchNode(); + var6.field2471 = var1; + var6.patch = var9; + var6.rawSound = var5; + var6.field2473 = var9.field2511[var2]; + var6.field2474 = var9.field2512[var2]; + var6.field2475 = var2; + var6.field2476 = var3 * var3 * var9.field2507[var2] * var9.field2509 + 1024 >> 11; + var6.field2477 = var9.field2510[var2] & 255; + var6.field2478 = (var2 << 8) - (var9.field2513[var2] & 32767); + var6.field2481 = 0; + var6.field2491 = 0; + var6.field2483 = 0; + var6.field2486 = -1; + var6.field2482 = 0; + if (this.field2460[var1] == 0) { + var6.stream = RawPcmStream.method2845(var5, this.method4009(var6), this.method3997(var6), this.method3938(var6)); + } else { + var6.stream = RawPcmStream.method2845(var5, this.method4009(var6), 0, this.method3938(var6)); + this.method3923(var6, var9.field2513[var2] < 0); + } + + if (var9.field2513[var2] < 0) { + var6.stream.setNumLoops(-1); + } + + if (var6.field2474 >= 0) { + MusicPatchNode var7 = this.field2461[var1][var6.field2474]; + if (var7 != null && var7.field2486 < 0) { + this.field2450[var1][var7.field2475] = null; + var7.field2486 = 0; + } + + this.field2461[var1][var6.field2474] = var6; + } + + this.patchStream.queue.addFirst(var6); + this.field2450[var1][var2] = var6; + } + } + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Lhq;ZI)V", + garbageValue = "-2147173721" + ) + void method3923(MusicPatchNode var1, boolean var2) { + int var3 = var1.rawSound.samples.length; + int var4; + if (var2 && var1.rawSound.field1404) { + int var5 = var3 + var3 - var1.rawSound.start; + var4 = (int)((long)this.field2460[var1.field2471] * (long)var5 >> 6); + var3 <<= 8; + if (var4 >= var3) { + var4 = var3 + var3 - 1 - var4; + var1.stream.method2722(); + } + } else { + var4 = (int)((long)this.field2460[var1.field2471] * (long)var3 >> 6); + } + + var1.stream.method2781(var4); + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "589612464" + ) + void method3924(int var1, int var2, int var3) { + MusicPatchNode var4 = this.field2450[var1][var2]; + if (var4 != null) { + this.field2450[var1][var2] = null; + if ((this.field2458[var1] & 2) != 0) { + for(MusicPatchNode var5 = (MusicPatchNode)this.patchStream.queue.last(); var5 != null; var5 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var5.field2471 == var4.field2471 && var5.field2486 < 0 && var5 != var4) { + var4.field2486 = 0; + break; + } + } + } else { + var4.field2486 = 0; + } + + } + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(IIIB)V", + garbageValue = "-112" + ) + void method3925(int var1, int var2, int var3) { + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "419517306" + ) + void method3926(int var1, int var2) { + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "10" + ) + void method3995(int var1, int var2) { + this.field2441[var1] = var2; + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "127" + ) + void method3928(int var1) { + for(MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var1 < 0 || var2.field2471 == var1) { + if (var2.stream != null) { + var2.stream.method2803(StructComposition.field3338 * 22050 / 100); + if (var2.stream.method2730()) { + this.patchStream.mixer.addSubStream(var2.stream); + } + + var2.method4032(); + } + + if (var2.field2486 < 0) { + this.field2450[var2.field2471][var2.field2475] = null; + } + + var2.remove(); + } + } + + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "-8109" + ) + void method3929(int var1) { + if (var1 >= 0) { + this.field2444[var1] = 12800; + this.field2447[var1] = 8192; + this.field2446[var1] = 16383; + this.field2441[var1] = 8192; + this.field2451[var1] = 0; + this.field2452[var1] = 8192; + this.method3932(var1); + this.method3971(var1); + this.field2458[var1] = 0; + this.field2455[var1] = 32767; + this.field2456[var1] = 256; + this.field2460[var1] = 0; + this.method3935(var1, 8192); + } else { + for(var1 = 0; var1 < 16; ++var1) { + this.method3929(var1); + } + + } + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "1" + ) + void method4017(int var1) { + for(MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if ((var1 < 0 || var2.field2471 == var1) && var2.field2486 < 0) { + this.field2450[var2.field2471][var2.field2475] = null; + var2.field2486 = 0; + } + } + + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-359198859" + ) + void method3931() { + this.method3928(-1); + this.method3929(-1); + + int var1; + for(var1 = 0; var1 < 16; ++var1) { + this.field2448[var1] = this.field2445[var1]; + } + + for(var1 = 0; var1 < 16; ++var1) { + this.field2463[var1] = this.field2445[var1] & -128; + } + + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "2021609414" + ) + void method3932(int var1) { + if ((this.field2458[var1] & 2) != 0) { + for(MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2471 == var1 && this.field2450[var1][var2.field2475] == null && var2.field2486 < 0) { + var2.field2486 = 0; + } + } + } + + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-781688600" + ) + void method3971(int var1) { + if ((this.field2458[var1] & 4) != 0) { + for(MusicPatchNode var2 = (MusicPatchNode)this.patchStream.queue.last(); var2 != null; var2 = (MusicPatchNode)this.patchStream.queue.previous()) { + if (var2.field2471 == var1) { + var2.field2479 = 0; + } + } + } + + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "30" + ) + void method3934(int var1) { + int var2 = var1 & 240; + int var3; + int var4; + int var5; + if (var2 == 128) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + this.method3924(var3, var4, var5); + } else if (var2 == 144) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var5 > 0) { + this.method3922(var3, var4, var5); + } else { + this.method3924(var3, var4, 64); + } + + } else if (var2 == 160) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + this.method3925(var3, var4, var5); + } else if (var2 == 176) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + var5 = var1 >> 16 & 127; + if (var4 == 0) { + this.field2463[var3] = (var5 << 14) + (this.field2463[var3] & -2080769); + } + + if (var4 == 32) { + this.field2463[var3] = (var5 << 7) + (this.field2463[var3] & -16257); + } + + if (var4 == 1) { + this.field2451[var3] = (var5 << 7) + (this.field2451[var3] & -16257); + } + + if (var4 == 33) { + this.field2451[var3] = var5 + (this.field2451[var3] & -128); + } + + if (var4 == 5) { + this.field2452[var3] = (var5 << 7) + (this.field2452[var3] & -16257); + } + + if (var4 == 37) { + this.field2452[var3] = var5 + (this.field2452[var3] & -128); + } + + if (var4 == 7) { + this.field2444[var3] = (var5 << 7) + (this.field2444[var3] & -16257); + } + + if (var4 == 39) { + this.field2444[var3] = var5 + (this.field2444[var3] & -128); + } + + if (var4 == 10) { + this.field2447[var3] = (var5 << 7) + (this.field2447[var3] & -16257); + } + + if (var4 == 42) { + this.field2447[var3] = var5 + (this.field2447[var3] & -128); + } + + if (var4 == 11) { + this.field2446[var3] = (var5 << 7) + (this.field2446[var3] & -16257); + } + + if (var4 == 43) { + this.field2446[var3] = var5 + (this.field2446[var3] & -128); + } + + if (var4 == 64) { + if (var5 >= 64) { + this.field2458[var3] |= 1; + } else { + this.field2458[var3] &= -2; + } + } + + if (var4 == 65) { + if (var5 >= 64) { + this.field2458[var3] |= 2; + } else { + this.method3932(var3); + this.field2458[var3] &= -3; + } + } + + if (var4 == 99) { + this.field2455[var3] = (var5 << 7) + (this.field2455[var3] & 127); + } + + if (var4 == 98) { + this.field2455[var3] = (this.field2455[var3] & 16256) + var5; + } + + if (var4 == 101) { + this.field2455[var3] = (var5 << 7) + (this.field2455[var3] & 127) + 16384; + } + + if (var4 == 100) { + this.field2455[var3] = (this.field2455[var3] & 16256) + var5 + 16384; + } + + if (var4 == 120) { + this.method3928(var3); + } + + if (var4 == 121) { + this.method3929(var3); + } + + if (var4 == 123) { + this.method4017(var3); + } + + int var6; + if (var4 == 6) { + var6 = this.field2455[var3]; + if (var6 == 16384) { + this.field2456[var3] = (var5 << 7) + (this.field2456[var3] & -16257); + } + } + + if (var4 == 38) { + var6 = this.field2455[var3]; + if (var6 == 16384) { + this.field2456[var3] = var5 + (this.field2456[var3] & -128); + } + } + + if (var4 == 16) { + this.field2460[var3] = (var5 << 7) + (this.field2460[var3] & -16257); + } + + if (var4 == 48) { + this.field2460[var3] = var5 + (this.field2460[var3] & -128); + } + + if (var4 == 81) { + if (var5 >= 64) { + this.field2458[var3] |= 4; + } else { + this.method3971(var3); + this.field2458[var3] &= -5; + } + } + + if (var4 == 17) { + this.method3935(var3, (var5 << 7) + (this.field2457[var3] & -16257)); + } + + if (var4 == 49) { + this.method3935(var3, var5 + (this.field2457[var3] & -128)); + } + + } else if (var2 == 192) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3921(var3, var4 + this.field2463[var3]); + } else if (var2 == 208) { + var3 = var1 & 15; + var4 = var1 >> 8 & 127; + this.method3926(var3, var4); + } else if (var2 == 224) { + var3 = var1 & 15; + var4 = (var1 >> 8 & 127) + (var1 >> 9 & 16256); + this.method3995(var3, var4); + } else { + var2 = var1 & 255; + if (var2 == 255) { + this.method3931(); + } + } + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-1284126948" + ) + void method3935(int var1, int var2) { + this.field2457[var1] = var2; + this.field2468[var1] = (int)(2097152.0D * Math.pow(2.0D, 5.4931640625E-4D * (double)var2) + 0.5D); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(Lhq;B)I", + garbageValue = "-12" + ) + int method4009(MusicPatchNode var1) { + int var2 = (var1.field2472 * var1.field2480 >> 12) + var1.field2478; + var2 += (this.field2441[var1.field2471] - 8192) * this.field2456[var1.field2471] >> 12; + MusicPatchNode2 var3 = var1.field2473; + int var4; + if (var3.field2429 > 0 && (var3.field2428 > 0 || this.field2451[var1.field2471] > 0)) { + var4 = var3.field2428 << 2; + int var5 = var3.field2422 << 1; + if (var1.field2488 < var5) { + var4 = var4 * var1.field2488 / var5; + } + + var4 += this.field2451[var1.field2471] >> 7; + double var6 = Math.sin((double)(var1.field2487 & 511) * 0.01227184630308513D); + var2 += (int)((double)var4 * var6); + } + + var4 = (int)((double)(var1.rawSound.sampleRate * 256) * Math.pow(2.0D, (double)var2 * 3.255208333333333E-4D) / (double)(StructComposition.field3338 * 22050) + 0.5D); + return var4 < 1 ? 1 : var4; + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "(Lhq;B)I", + garbageValue = "75" + ) + int method3997(MusicPatchNode var1) { + MusicPatchNode2 var2 = var1.field2473; + int var3 = this.field2446[var1.field2471] * this.field2444[var1.field2471] + 4096 >> 13; + var3 = var3 * var3 + 16384 >> 15; + var3 = var3 * var1.field2476 + 16384 >> 15; + var3 = var3 * this.field2442 + 128 >> 8; + if (var2.field2424 > 0) { + var3 = (int)((double)var3 * Math.pow(0.5D, (double)var2.field2424 * (double)var1.field2481 * 1.953125E-5D) + 0.5D); + } + + int var4; + int var5; + int var6; + int var7; + if (var2.field2427 != null) { + var4 = var1.field2491; + var5 = var2.field2427[var1.field2483 * 4 + 1]; + if (var1.field2483 * 4 < var2.field2427.length - 2) { + var6 = (var2.field2427[var1.field2483 * 4] & 255) << 8; + var7 = (var2.field2427[var1.field2483 * 4 + 2] & 255) << 8; + var5 += (var4 - var6) * (var2.field2427[var1.field2483 * 4 + 3] - var5) / (var7 - var6); + } + + var3 = var5 * var3 + 32 >> 6; + } + + if (var1.field2486 > 0 && var2.field2423 != null) { + var4 = var1.field2486; + var5 = var2.field2423[var1.field2482 * 2 + 1]; + if (var1.field2482 * 2 < var2.field2423.length - 2) { + var6 = (var2.field2423[var1.field2482 * 2] & 255) << 8; + var7 = (var2.field2423[var1.field2482 * 2 + 2] & 255) << 8; + var5 += (var4 - var6) * (var2.field2423[var1.field2482 * 2 + 3] - var5) / (var7 - var6); + } + + var3 = var3 * var5 + 32 >> 6; + } + + return var3; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "(Lhq;I)I", + garbageValue = "-118932210" + ) + int method3938(MusicPatchNode var1) { + int var2 = this.field2447[var1.field2471]; + return var2 < 8192 ? var2 * var1.field2477 + 32 >> 6 : 16384 - ((128 - var1.field2477) * (16384 - var2) + 32 >> 6); + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-36" + ) + void method3944() { + int var1 = this.track; + int var2 = this.trackLength; + + long var3; + for(var3 = this.field2467; var2 == this.trackLength; var3 = this.midiFile.method4048(var2)) { + while(var2 == this.midiFile.trackLengths[var1]) { + 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.field2459 || var2 == 0) { + this.method3931(); + this.midiFile.clear(); + return; + } + + this.midiFile.reset(var3); + } + break; + } + + if ((var5 & 128) != 0) { + this.method3934(var5); + } + + this.midiFile.readTrackLength(var1); + this.midiFile.markTrackPosition(var1); + } + + var1 = this.midiFile.getPrioritizedTrack(); + var2 = this.midiFile.trackLengths[var1]; + } + + this.track = var1; + this.trackLength = var2; + this.field2467 = var3; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(Lhq;I)Z", + garbageValue = "-1408710575" + ) + boolean method3927(MusicPatchNode var1) { + if (var1.stream == null) { + if (var1.field2486 >= 0) { + var1.remove(); + if (var1.field2474 > 0 && var1 == this.field2461[var1.field2471][var1.field2474]) { + this.field2461[var1.field2471][var1.field2474] = null; + } + } + + return true; + } else { + return false; + } + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "(Lhq;[IIIB)Z", + garbageValue = "8" + ) + boolean method3953(MusicPatchNode var1, int[] var2, int var3, int var4) { + var1.field2484 = StructComposition.field3338 * 22050 / 100; + if (var1.field2486 < 0 || var1.stream != null && !var1.stream.method2786()) { + int var5 = var1.field2480; + if (var5 > 0) { + var5 -= (int)(16.0D * Math.pow(2.0D, (double)this.field2452[var1.field2471] * 4.921259842519685E-4D) + 0.5D); + if (var5 < 0) { + var5 = 0; + } + + var1.field2480 = var5; + } + + var1.stream.method2802(this.method4009(var1)); + MusicPatchNode2 var6 = var1.field2473; + boolean var7 = false; + ++var1.field2488; + var1.field2487 += var6.field2429; + double var8 = (double)((var1.field2475 - 60 << 8) + (var1.field2472 * var1.field2480 >> 12)) * 5.086263020833333E-6D; + if (var6.field2424 > 0) { + if (var6.field2431 > 0) { + var1.field2481 = var1.field2481 * 298074112 + (int)(128.0D * Math.pow(2.0D, (double)var6.field2431 * var8) + 0.5D) * 298074112; + } else { + var1.field2481 = var1.field2481 * 298074112 + -501219328; + } + } + + if (var6.field2427 != null) { + if (var6.field2425 > 0) { + var1.field2491 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2425 * var8) + 0.5D); + } else { + var1.field2491 += 128; + } + + while(var1.field2483 * 4 < var6.field2427.length - 2 && var1.field2491 > (var6.field2427[var1.field2483 * 4 + 2] & 255) << 8) { + var1.field2483 = var1.field2483 * 4 + 2; + } + + if (var1.field2483 * 4 == var6.field2427.length - 2 && var6.field2427[var1.field2483 * 4 + 1] == 0) { + var7 = true; + } + } + + if (var1.field2486 >= 0 && var6.field2423 != null && (this.field2458[var1.field2471] & 1) == 0 && (var1.field2474 < 0 || var1 != this.field2461[var1.field2471][var1.field2474])) { + if (var6.field2426 > 0) { + var1.field2486 += (int)(128.0D * Math.pow(2.0D, (double)var6.field2426 * var8) + 0.5D); + } else { + var1.field2486 += 128; + } + + while(var1.field2482 * 2 < var6.field2423.length - 2 && var1.field2486 > (var6.field2423[var1.field2482 * 2 + 2] & 255) << 8) { + var1.field2482 = var1.field2482 * 4 + 4; + } + + if (var1.field2482 * 2 == var6.field2423.length - 2) { + var7 = true; + } + } + + if (var7) { + var1.stream.method2803(var1.field2484); + if (var2 != null) { + var1.stream.fill(var2, var3, var4); + } else { + var1.stream.skip(var4); + } + + if (var1.stream.method2730()) { + this.patchStream.mixer.addSubStream(var1.stream); + } + + var1.method4032(); + if (var1.field2486 >= 0) { + var1.remove(); + if (var1.field2474 > 0 && var1 == this.field2461[var1.field2471][var1.field2474]) { + this.field2461[var1.field2471][var1.field2474] = null; + } + } + + return true; + } else { + var1.stream.method2843(var1.field2484, this.method3997(var1), this.method3938(var1)); + return false; + } + } else { + var1.method4032(); + var1.remove(); + if (var1.field2474 > 0 && var1 == this.field2461[var1.field2471][var1.field2474]) { + this.field2461[var1.field2471][var1.field2474] = null; + } + + return true; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "76" + ) + public static boolean method3972(int var0, int var1) { + return (var0 >> var1 + 1 & 1) != 0; + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(Ljg;I)Z", + garbageValue = "543287365" + ) + static boolean method4031(ObjectComposition var0) { + if (var0.transforms != null) { + int[] var1 = var0.transforms; + + for(int var2 = 0; var2 < var1.length; ++var2) { + int var3 = var1[var2]; + ObjectComposition var4 = WorldMapAreaData.getObjectDefinition(var3); + if (var4.mapIconId != -1) { + return true; + } + } + } else if (var0.mapIconId != -1) { + return true; + } + + return false; + } } diff --git a/runescape-client/src/main/java/MilliClock.java b/runescape-client/src/main/java/MilliClock.java index 2fcc94a85d..e5618c0acf 100644 --- a/runescape-client/src/main/java/MilliClock.java +++ b/runescape-client/src/main/java/MilliClock.java @@ -4,123 +4,732 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fg") +@ObfuscatedName("fz") @Implements("MilliClock") public class MilliClock extends Clock { - @ObfuscatedName("sy") - @ObfuscatedSignature( - descriptor = "Lcm;" - ) - @Export("friendSystem") - public static FriendSystem friendSystem; - @ObfuscatedName("h") - long[] field2030; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -367823923 - ) - int field2031; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -830034537 - ) - int field2032; - @ObfuscatedName("w") - @ObfuscatedGetter( - longValue = 4655820028414698343L - ) - long field2038; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 744937881 - ) - int field2034; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 802438317 - ) - int field2035; + @ObfuscatedName("ew") + @ObfuscatedGetter( + intValue = -1909140371 + ) + static int field2032; + @ObfuscatedName("gr") + @ObfuscatedSignature( + descriptor = "Leq;" + ) + @Export("scene") + static Scene scene; + @ObfuscatedName("n") + long[] field2029 = new long[10]; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1115691505 + ) + int field2027 = 256; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1924917613 + ) + int field2026 = 1; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = 4130614396061915879L + ) + long field2028 = Tiles.currentTimeMillis(); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1837898463 + ) + int field2030 = 0; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 730128979 + ) + int field2031; - public MilliClock() { - this.field2030 = new long[10]; // L: 7 - this.field2031 = 256; // L: 15 - this.field2032 = 1; // L: 16 - this.field2034 = 0; // L: 17 - this.field2038 = class298.currentTimeMillis(); // L: 18 + public MilliClock() { + for(int var1 = 0; var1 < 10; ++var1) { + this.field2029[var1] = this.field2028; + } - for (int var1 = 0; var1 < 10; ++var1) { // L: 19 - this.field2030[var1] = this.field2038; // L: 20 - } + } - } // L: 22 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "46" + ) + @Export("mark") + public void mark() { + for(int var1 = 0; var1 < 10; ++var1) { + this.field2029[var1] = 0L; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2095078818" - ) - @Export("mark") - public void mark() { - for (int var1 = 0; var1 < 10; ++var1) { // L: 25 - this.field2030[var1] = 0L; // L: 26 - } + } - } // L: 28 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1861957348" + ) + @Export("wait") + public int wait(int var1, int var2) { + int var3 = this.field2027; + int var4 = this.field2026; + this.field2027 = 300; + this.field2026 = 1; + this.field2028 = Tiles.currentTimeMillis(); + if (this.field2029[this.field2031] == 0L) { + this.field2027 = var3; + this.field2026 = var4; + } else if (this.field2028 > this.field2029[this.field2031]) { + this.field2027 = (int)((long)(var1 * 2560) / (this.field2028 - this.field2029[this.field2031])); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-680717242" - ) - @Export("wait") - public int wait(int var1, int var2) { - int var3 = this.field2031; // L: 31 - int var4 = this.field2032; // L: 32 - this.field2031 = 300; // L: 33 - this.field2032 = 1; // L: 34 - this.field2038 = class298.currentTimeMillis(); // L: 35 - if (0L == this.field2030[this.field2035]) { // L: 36 - this.field2031 = var3; // L: 37 - this.field2032 = var4; // L: 38 - } else if (this.field2038 > this.field2030[this.field2035]) { // L: 40 - this.field2031 = (int)((long)(var1 * 2560) / (this.field2038 - this.field2030[this.field2035])); - } + if (this.field2027 < 25) { + this.field2027 = 25; + } - if (this.field2031 < 25) { // L: 41 - this.field2031 = 25; - } + if (this.field2027 > 256) { + this.field2027 = 256; + this.field2026 = (int)((long)var1 - (this.field2028 - this.field2029[this.field2031]) / 10L); + } - if (this.field2031 > 256) { // L: 42 - this.field2031 = 256; // L: 43 - this.field2032 = (int)((long)var1 - (this.field2038 - this.field2030[this.field2035]) / 10L); // L: 44 - } + if (this.field2026 > var1) { + this.field2026 = var1; + } - if (this.field2032 > var1) { // L: 46 - this.field2032 = var1; - } + this.field2029[this.field2031] = this.field2028; + this.field2031 = (this.field2031 + 1) % 10; + int var5; + if (this.field2026 > 1) { + for(var5 = 0; var5 < 10; ++var5) { + if (this.field2029[var5] != 0L) { + this.field2029[var5] += (long)this.field2026; + } + } + } - this.field2030[this.field2035] = this.field2038; // L: 47 - this.field2035 = (this.field2035 + 1) % 10; // L: 48 - int var5; - if (this.field2032 > 1) { // L: 49 - for (var5 = 0; var5 < 10; ++var5) { // L: 50 - if (this.field2030[var5] != 0L) { // L: 51 - this.field2030[var5] += (long)this.field2032; - } - } - } + if (this.field2026 < var2) { + this.field2026 = var2; + } - if (this.field2032 < var2) { // L: 54 - this.field2032 = var2; - } + ApproximateRouteStrategy.sleepExact((long)this.field2026); - class236.sleepExact((long)this.field2032); // L: 55 + for(var5 = 0; this.field2030 < 256; this.field2030 += this.field2027) { + ++var5; + } - for (var5 = 0; this.field2034 < 256; this.field2034 += this.field2031) { // L: 56 57 59 - ++var5; // L: 58 - } + this.field2030 &= 255; + return var5; + } - this.field2034 &= 255; // L: 61 - return var5; // L: 62 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lig;Ljava/lang/String;Ljava/lang/String;I)[Lly;", + garbageValue = "1085285286" + ) + public static IndexedSprite[] method3664(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + return BoundaryObject.method3420(var0, var3, var4); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "9" + ) + @Export("Messages_getHistorySize") + static int Messages_getHistorySize(int var0) { + ChatChannel var1 = (ChatChannel)Messages.Messages_channels.get(var0); + return var1 == null ? 0 : var1.size(); + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(Lkl;Lkl;Lkl;I)V", + garbageValue = "737300507" + ) + @Export("drawTitle") + static void drawTitle(Font var0, Font var1, Font var2) { + Login.xPadding = (GrandExchangeOfferTotalQuantityComparator.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + GraphicsObject.loginBoxCenter = Login.loginBoxX + 180; + byte var3; + int var4; + int var7; + int var9; + int var25; + int var30; + int var38; + if (Login.worldSelectOpen) { + if (WorldMapID.worldSelectBackSprites == null) { + WorldMapID.worldSelectBackSprites = WorldMapID.method648(ModeWhere.archive8, "sl_back", ""); + } + + if (WorldMapManager.worldSelectFlagSprites == null) { + WorldMapManager.worldSelectFlagSprites = method3664(ModeWhere.archive8, "sl_flags", ""); + } + + if (DevicePcmPlayerProvider.worldSelectArrows == null) { + DevicePcmPlayerProvider.worldSelectArrows = method3664(ModeWhere.archive8, "sl_arrows", ""); + } + + if (Occluder.worldSelectStars == null) { + Occluder.worldSelectStars = method3664(ModeWhere.archive8, "sl_stars", ""); + } + + if (class7.worldSelectLeftSprite == null) { + class7.worldSelectLeftSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(ModeWhere.archive8, "leftarrow", ""); + } + + if (class2.worldSelectRightSprite == null) { + class2.worldSelectRightSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(ModeWhere.archive8, "rightarrow", ""); + } + + 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); + var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1); + if (Occluder.worldSelectStars != null) { + Occluder.worldSelectStars[1].drawAt(Login.xPadding + 140, 1); + var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1); + Occluder.worldSelectStars[0].drawAt(Login.xPadding + 140, 12); + var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1); + } + + if (DevicePcmPlayerProvider.worldSelectArrows != null) { + var30 = Login.xPadding + 280; + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 0) { + DevicePcmPlayerProvider.worldSelectArrows[2].drawAt(var30, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[0].drawAt(var30, 4); + } + + if (World.World_sortOption1[0] == 0 && World.World_sortOption2[0] == 1) { + DevicePcmPlayerProvider.worldSelectArrows[3].drawAt(var30 + 15, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[1].drawAt(var30 + 15, 4); + } + + var0.draw("World", var30 + 32, 17, 16777215, -1); + var4 = Login.xPadding + 390; + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 0) { + DevicePcmPlayerProvider.worldSelectArrows[2].drawAt(var4, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[0].drawAt(var4, 4); + } + + if (World.World_sortOption1[0] == 1 && World.World_sortOption2[0] == 1) { + DevicePcmPlayerProvider.worldSelectArrows[3].drawAt(var4 + 15, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[1].drawAt(var4 + 15, 4); + } + + var0.draw("Players", var4 + 32, 17, 16777215, -1); + var38 = Login.xPadding + 500; + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 0) { + DevicePcmPlayerProvider.worldSelectArrows[2].drawAt(var38, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[0].drawAt(var38, 4); + } + + if (World.World_sortOption1[0] == 2 && World.World_sortOption2[0] == 1) { + DevicePcmPlayerProvider.worldSelectArrows[3].drawAt(var38 + 15, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[1].drawAt(var38 + 15, 4); + } + + var0.draw("Location", var38 + 32, 17, 16777215, -1); + var25 = Login.xPadding + 610; + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 0) { + DevicePcmPlayerProvider.worldSelectArrows[2].drawAt(var25, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[0].drawAt(var25, 4); + } + + if (World.World_sortOption1[0] == 3 && World.World_sortOption2[0] == 1) { + DevicePcmPlayerProvider.worldSelectArrows[3].drawAt(var25 + 15, 4); + } else { + DevicePcmPlayerProvider.worldSelectArrows[1].drawAt(var25 + 15, 4); + } + + var0.draw("Type", var25 + 32, 17, 16777215, -1); + } + + Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0); + var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1); + Login.hoveredWorldIndex = -1; + if (WorldMapID.worldSelectBackSprites != null) { + var3 = 88; + byte var35 = 19; + var38 = 765 / (var3 + 1) - 1; + var25 = 480 / (var35 + 1); + + int var33; + do { + var7 = var25; + var33 = var38; + if (var25 * (var38 - 1) >= World.World_count) { + --var38; + } + + if (var38 * (var25 - 1) >= World.World_count) { + --var25; + } + + if (var38 * (var25 - 1) >= World.World_count) { + --var25; + } + } while(var7 != var25 || var33 != var38); + + var7 = (765 - var38 * var3) / (var38 + 1); + if (var7 > 5) { + var7 = 5; + } + + var33 = (480 - var25 * var35) / (var25 + 1); + if (var33 > 5) { + var33 = 5; + } + + var9 = (765 - var38 * var3 - var7 * (var38 - 1)) / 2; + int var36 = (480 - var25 * var35 - var33 * (var25 - 1)) / 2; + int var11 = (var25 + World.World_count - 1) / var25; + Login.worldSelectPagesCount = var11 - var38; + if (class7.worldSelectLeftSprite != null && Login.worldSelectPage > 0) { + class7.worldSelectLeftSprite.drawAt(8, class25.canvasHeight / 2 - class7.worldSelectLeftSprite.subHeight / 2); + } + + if (class2.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) { + class2.worldSelectRightSprite.drawAt(GrandExchangeOfferTotalQuantityComparator.canvasWidth - class2.worldSelectRightSprite.subWidth - 8, class25.canvasHeight / 2 - class2.worldSelectRightSprite.subHeight / 2); + } + + int var12 = var36 + 23; + int var13 = var9 + Login.xPadding; + int var14 = 0; + boolean var15 = false; + int var16 = Login.worldSelectPage; + + int var17; + for(var17 = var16 * var25; var17 < World.World_count && var16 - Login.worldSelectPage < var38; ++var17) { + World var18 = World.World_worlds[var17]; + boolean var19 = true; + String var20 = Integer.toString(var18.population); + if (var18.population == -1) { + var20 = "OFF"; + var19 = false; + } else if (var18.population > 1980) { + var20 = "FULL"; + var19 = false; + } + + int var22 = 0; + byte var21; + if (var18.isBeta()) { + if (var18.isMembersOnly()) { + var21 = 7; + } else { + var21 = 6; + } + } else if (var18.isDeadman()) { + var22 = 16711680; + if (var18.isMembersOnly()) { + var21 = 5; + } else { + var21 = 4; + } + } else if (var18.method1883()) { + if (var18.isMembersOnly()) { + var21 = 9; + } else { + var21 = 8; + } + } else if (var18.isPvp()) { + if (var18.isMembersOnly()) { + var21 = 3; + } else { + var21 = 2; + } + } else if (var18.isMembersOnly()) { + var21 = 1; + } else { + var21 = 0; + } + + if (MouseHandler.MouseHandler_x >= var13 && MouseHandler.MouseHandler_y >= var12 && MouseHandler.MouseHandler_x < var13 + var3 && MouseHandler.MouseHandler_y < var35 + var12 && var19) { + Login.hoveredWorldIndex = var17; + WorldMapID.worldSelectBackSprites[var21].drawTransOverlayAt(var13, var12, 128, 16777215); + var15 = true; + } else { + WorldMapID.worldSelectBackSprites[var21].drawAt(var13, var12); + } + + if (WorldMapManager.worldSelectFlagSprites != null) { + WorldMapManager.worldSelectFlagSprites[(var18.isMembersOnly() ? 8 : 0) + var18.location].drawAt(var13 + 29, var12); + } + + var0.drawCentered(Integer.toString(var18.id), var13 + 15, var35 / 2 + var12 + 5, var22, -1); + var1.drawCentered(var20, var13 + 60, var35 / 2 + var12 + 5, 268435455, -1); + var12 = var12 + var35 + var33; + ++var14; + if (var14 >= var25) { + var12 = var36 + 23; + var13 = var13 + var3 + var7; + var14 = 0; + ++var16; + } + } + + if (var15) { + var17 = var1.stringWidth(World.World_worlds[Login.hoveredWorldIndex].activity) + 6; + int var28 = var1.ascent + 8; + int var37 = MouseHandler.MouseHandler_y + 25; + if (var37 + var28 > 480) { + var37 = MouseHandler.MouseHandler_y - 25 - var28; + } + + Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var17 / 2, var37, var17, var28, 16777120); + Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var17 / 2, var37, var17, var28, 0); + var1.drawCentered(World.World_worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var37 + var1.ascent + 4, 0, -1); + } + } + + FileSystem.rasterProvider.drawFull(0, 0); + } else { + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + Login.logoSprite.drawAt(Login.xPadding + 382 - Login.logoSprite.subWidth / 2, 18); + if (Client.gameState == 0 || Client.gameState == 5) { + var3 = 20; + var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var3, 16777215, -1); + var4 = 253 - var3; + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var4, 304, 34, 9179409); + Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var4 + 1, 302, 32, 0); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var4 + 2, Login.Login_loadingPercent * 3, 30, 9179409); + Rasterizer2D.Rasterizer2D_fillRectangle(Login.Login_loadingPercent * 3 + (Login.loginBoxX + 180 - 150), var4 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0); + var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var3, 16777215, -1); + } + + String var5; + String var6; + short var29; + short var31; + if (Client.gameState == 20) { + GrandExchangeOfferNameComparator.titleboxSprite.drawAt(Login.loginBoxX + 180 - GrandExchangeOfferNameComparator.titleboxSprite.subWidth / 2, 271 - GrandExchangeOfferNameComparator.titleboxSprite.subHeight / 2); + var29 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var30 += 7; + if (Login.loginIndex != 4) { + var0.draw("Login: ", Login.loginBoxX + 180 - 110, var30, 16777215, 0); + var31 = 200; + + for(var5 = WorldMapID.method645(); var0.stringWidth(var5) > var31; var5 = var5.substring(0, var5.length() - 1)) { + ; + } + + var0.draw(AbstractFont.escapeBrackets(var5), Login.loginBoxX + 180 - 70, var30, 16777215, 0); + var30 += 15; + + for(var6 = HitSplatDefinition.method4768(Login.Login_password); var0.stringWidth(var6) > var31; var6 = var6.substring(1)) { + ; + } + + var0.draw("Password: " + var6, Login.loginBoxX + 180 - 108, var30, 16777215, 0); + var30 += 15; + } + } + + if (Client.gameState == 10 || Client.gameState == 11) { + GrandExchangeOfferNameComparator.titleboxSprite.drawAt(Login.loginBoxX, 171); + short var23; + if (Login.loginIndex == 0) { + var29 = 251; + var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 30; + var4 = Login.loginBoxX + 180 - 80; + var23 = 291; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawLines("New User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); + var4 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawLines("Existing User", var4 - 73, var23 - 20, 144, 40, 16777215, 0, 1, 1, 0); + } else if (Login.loginIndex == 1) { + var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0); + var29 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16777215, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Continue", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Cancel", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 2) { + var29 = 201; + var0.drawCentered(Login.Login_response1, GraphicsObject.loginBoxCenter, var29, 16776960, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, GraphicsObject.loginBoxCenter, var30, 16776960, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, GraphicsObject.loginBoxCenter, var30, 16776960, 0); + var30 += 15; + var30 += 7; + var0.draw("Login: ", GraphicsObject.loginBoxCenter - 110, var30, 16777215, 0); + var31 = 200; + + for(var5 = WorldMapID.method645(); var0.stringWidth(var5) > var31; var5 = var5.substring(1)) { + ; + } + + var0.draw(AbstractFont.escapeBrackets(var5) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? FileSystem.colorStartTag(16776960) + "|" : ""), GraphicsObject.loginBoxCenter - 70, var30, 16777215, 0); + var30 += 15; + + for(var6 = HitSplatDefinition.method4768(Login.Login_password); var0.stringWidth(var6) > var31; var6 = var6.substring(1)) { + ; + } + + var0.draw("Password: " + var6 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? FileSystem.colorStartTag(16776960) + "|" : ""), GraphicsObject.loginBoxCenter - 108, var30, 16777215, 0); + var30 += 15; + var29 = 277; + var7 = GraphicsObject.loginBoxCenter + -117; + IndexedSprite var26 = UrlRequest.method3476(Client.Login_isUsernameRemembered, Login.field1222); + var26.drawAt(var7, var29); + var7 = var7 + var26.subWidth + 5; + var1.draw("Remember username", var7, var29 + 13, 16776960, 0); + var7 = GraphicsObject.loginBoxCenter + 24; + var26 = UrlRequest.method3476(WorldMapSectionType.clientPreferences.hideUsername, Login.field1216); + var26.drawAt(var7, var29); + var7 = var7 + var26.subWidth + 5; + var1.draw("Hide username", var7, var29 + 13, 16776960, 0); + var30 = var29 + 15; + var9 = GraphicsObject.loginBoxCenter - 80; + short var10 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var9 - 73, var10 - 20); + var0.drawCentered("Login", var9, var10 + 5, 16777215, 0); + var9 = GraphicsObject.loginBoxCenter + 80; + InterfaceParent.titlebuttonSprite.drawAt(var9 - 73, var10 - 20); + var0.drawCentered("Cancel", var9, var10 + 5, 16777215, 0); + var29 = 357; + switch(Login.field1207) { + case 2: + DevicePcmPlayerProvider.field433 = "Having trouble logging in?"; + break; + default: + DevicePcmPlayerProvider.field433 = "Can't login? Click here."; + } + + AttackOption.field1190 = new Bounds(GraphicsObject.loginBoxCenter, var29, var1.stringWidth(DevicePcmPlayerProvider.field433), 11); + KeyHandler.field409 = new Bounds(GraphicsObject.loginBoxCenter, var29, var1.stringWidth("Still having trouble logging in?"), 11); + var1.drawCentered(DevicePcmPlayerProvider.field433, GraphicsObject.loginBoxCenter, var29, 16777215, 0); + } else if (Login.loginIndex == 3) { + var29 = 201; + var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 20; + var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var4 = Login.loginBoxX + 180; + var23 = 276; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var2.drawCentered("Try again", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180; + var23 = 326; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var2.drawCentered("Forgotten password?", var4, var23 + 5, 16777215, 0); + } else { + short var8; + if (Login.loginIndex == 4) { + var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0); + var29 = 236; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16777215, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var0.draw("PIN: " + HitSplatDefinition.method4768(class1.otp) + (Client.cycle % 40 < 20 ? FileSystem.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var30, 16777215, 0); + var30 -= 8; + var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var30, 16776960, 0); + var30 += 15; + var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var30, 16776960, 0); + var4 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15; + var38 = var30 - var0.ascent; + IndexedSprite var32; + if (Login.field1217) { + var32 = Login.options_buttons_2Sprite; + } else { + var32 = class69.options_buttons_0Sprite; + } + + var32.drawAt(var4, var38); + var30 += 15; + var7 = Login.loginBoxX + 180 - 80; + var8 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); + var0.drawCentered("Continue", var7, var8 + 5, 16777215, 0); + var7 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); + var0.drawCentered("Cancel", var7, var8 + 5, 16777215, 0); + var1.drawCentered("Can't Log In?", Login.loginBoxX + 180, var8 + 36, 255, 0); + } else if (Login.loginIndex == 5) { + var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0); + var29 = 221; + var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var30 += 14; + var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var30, 16777215, 0); + var31 = 174; + + for(var5 = WorldMapID.method645(); var0.stringWidth(var5) > var31; var5 = var5.substring(1)) { + ; + } + + var0.draw(AbstractFont.escapeBrackets(var5) + (Client.cycle % 40 < 20 ? FileSystem.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var30, 16777215, 0); + var30 += 15; + var25 = Login.loginBoxX + 180 - 80; + short var34 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var25 - 73, var34 - 20); + var0.drawCentered("Recover", var25, var34 + 5, 16777215, 0); + var25 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var25 - 73, var34 - 20); + var0.drawCentered("Back", var25, var34 + 5, 16777215, 0); + var34 = 356; + var1.drawCentered("Still having trouble logging in?", GraphicsObject.loginBoxCenter, var34, 268435455, 0); + } else if (Login.loginIndex == 6) { + var29 = 201; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var4 = Login.loginBoxX + 180; + var23 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 7) { + var29 = 216; + var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Set Date of Birth", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 8) { + var29 = 216; + var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var4 = Login.loginBoxX + 180 - 80; + var23 = 321; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Privacy Policy", var4, var23 + 5, 16777215, 0); + var4 = Login.loginBoxX + 180 + 80; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Back", var4, var23 + 5, 16777215, 0); + } else if (Login.loginIndex == 12) { + var29 = 201; + String var24 = ""; + var5 = ""; + var6 = ""; + switch(Login.field1206) { + case 0: + var24 = "Your account has been disabled."; + var5 = Strings.field2841; + var6 = ""; + break; + case 1: + var24 = "Account locked as we suspect it has been stolen."; + var5 = Strings.field2918; + var6 = ""; + break; + default: + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + + var0.drawCentered(var24, Login.loginBoxX + 180, var29, 16776960, 0); + var30 = var29 + 15; + var2.drawCentered(var5, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var2.drawCentered(var6, Login.loginBoxX + 180, var30, 16776960, 0); + var30 += 15; + var7 = Login.loginBoxX + 180; + var8 = 276; + InterfaceParent.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); + var0.drawCentered("Support Page", var7, var8 + 5, 16777215, 0); + var7 = Login.loginBoxX + 180; + var8 = 326; + InterfaceParent.titlebuttonSprite.drawAt(var7 - 73, var8 - 20); + var0.drawCentered("Back", var7, var8 + 5, 16777215, 0); + } else if (Login.loginIndex == 24) { + var29 = 221; + var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var29, 16777215, 0); + var30 = var29 + 15; + var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var30, 16777215, 0); + var30 += 15; + var4 = Login.loginBoxX + 180; + var23 = 301; + InterfaceParent.titlebuttonSprite.drawAt(var4 - 73, var23 - 20); + var0.drawCentered("Ok", var4, var23 + 5, 16777215, 0); + } + } + } + + if (Client.gameState >= 10) { + int[] var27 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var27); + Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, class25.canvasHeight); + class9.loginScreenRunesAnimation.draw(Login.xPadding - 22, Client.cycle); + class9.loginScreenRunesAnimation.draw(Login.xPadding + 22 + 765 - 128, Client.cycle); + Rasterizer2D.Rasterizer2D_setClipArray(var27); + } + + Login.title_muteSprite[WorldMapSectionType.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463); + if (Client.gameState > 5 && Language.Language_EN == NPCComposition.clientLanguage) { + if (World.field1039 != null) { + var30 = Login.xPadding + 5; + var31 = 463; + byte var40 = 100; + byte var39 = 35; + World.field1039.drawAt(var30, var31); + var0.drawCentered("World" + " " + Client.worldId, var40 / 2 + var30, var39 / 2 + var31 - 2, 16777215, 0); + if (UserComparator9.World_request != null) { + var1.drawCentered("Loading...", var40 / 2 + var30, var39 / 2 + var31 + 12, 16777215, 0); + } else { + var1.drawCentered("Click to switch", var40 / 2 + var30, var39 / 2 + var31 + 12, 16777215, 0); + } + } else { + World.field1039 = ChatChannel.SpriteBuffer_getIndexedSpriteByName(ModeWhere.archive8, "sl_button", ""); + } + } + + } + } } diff --git a/runescape-client/src/main/java/ModeWhere.java b/runescape-client/src/main/java/ModeWhere.java index 99c3e2d6b8..41c2f9a68a 100644 --- a/runescape-client/src/main/java/ModeWhere.java +++ b/runescape-client/src/main/java/ModeWhere.java @@ -5,309 +5,197 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ge") +@ObfuscatedName("gw") @Implements("ModeWhere") public enum ModeWhere implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2402("", 0, new class200[]{class200.field2389}), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2392("", 1, new class200[]{class200.field2388, class200.field2389}), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2391("", 2, new class200[]{class200.field2388, class200.field2387, class200.field2389}), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2397("", 3, new class200[]{class200.field2388}), - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2395("", 4), - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2396("", 5, new class200[]{class200.field2388, class200.field2389}), - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2406("", 6, new class200[]{class200.field2389}), - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2398("", 8, new class200[]{class200.field2388, class200.field2389}), - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2399("", 9, new class200[]{class200.field2388, class200.field2387}), - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2400("", 10, new class200[]{class200.field2388}), - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2401("", 11, new class200[]{class200.field2388}), - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2393("", 12, new class200[]{class200.field2388, class200.field2389}), - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lge;" - ) - field2403("", 13, new class200[]{class200.field2388}); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2420("", 0, new class200[]{class200.field2397}), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2402("", 1, new class200[]{class200.field2398, class200.field2397}), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2404("", 2, new class200[]{class200.field2398, class200.field2401, class200.field2397}), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2405("", 3, new class200[]{class200.field2398}), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2403("", 4), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2407("", 5, new class200[]{class200.field2398, class200.field2397}), + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2408("", 6, new class200[]{class200.field2397}), + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2415("", 8, new class200[]{class200.field2398, class200.field2397}), + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2410("", 9, new class200[]{class200.field2398, class200.field2401}), + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2411("", 10, new class200[]{class200.field2398}), + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2412("", 11, new class200[]{class200.field2398}), + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2413("", 12, new class200[]{class200.field2398, class200.field2397}), + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lgw;" + ) + field2414("", 13, new class200[]{class200.field2398}); - @ObfuscatedName("ru") - @ObfuscatedGetter( - intValue = -1945883965 - ) - static int field2405; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -594815881 - ) - @Export("id") - final int id; - @ObfuscatedName("i") - final Set field2404; + @ObfuscatedName("cz") + @ObfuscatedGetter( + intValue = -1707495011 + ) + public static int field2417; + @ObfuscatedName("dw") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive8") + static Archive archive8; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 505828619 + ) + @Export("id") + final int id; + @ObfuscatedName("k") + final Set field2416 = new HashSet(); - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I[Lgp;)V" - ) - ModeWhere(String var3, int var4, class200[] var5) { - this.field2404 = new HashSet(); - this.id = var4; // L: 39 - class200[] var6 = var5; // L: 41 + static { + method3870(); + } - for (int var7 = 0; var7 < var6.length; ++var7) { // L: 42 - class200 var8 = var6[var7]; // L: 43 - this.field2404.add(var8); // L: 44 - } + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I[Lgx;)V" + ) + ModeWhere(String var3, int var4, class200[] var5) { + this.id = var4; + class200[] var6 = var5; - } // L: 47 + for(int var7 = 0; var7 < var6.length; ++var7) { + class200 var8 = var6[var7]; + this.field2416.add(var8); + } - ModeWhere(String var3, int var4) { - this.field2404 = new HashSet(); // L: 32 - this.id = var4; // L: 35 - } // L: 36 + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 50 - } + ModeWhere(String var3, int var4) { + this.id = var4; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1236741986" - ) - static int method3717(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { // L: 947 - var0 -= 1000; // L: 948 - var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 949 - } else { - var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 951 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - String var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 952 - int[] var5 = null; // L: 953 - if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { // L: 954 - int var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 955 - if (var6 > 0) { // L: 956 - for (var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]) { // L: 957 958 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)[Lgw;", + garbageValue = "128" + ) + static ModeWhere[] method3870() { + return new ModeWhere[]{field2402, field2405, field2407, field2415, field2420, field2410, field2414, field2412, field2413, field2404, field2408, field2403, field2411}; + } - var4 = var4.substring(0, var4.length() - 1); // L: 960 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "420566665" + ) + public static boolean method3867(int var0) { + return (var0 >> 29 & 1) != 0; + } - Object[] var8 = new Object[var4.length() + 1]; // L: 962 + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + static final int method3877() { + return ViewportMouse.ViewportMouse_y; + } - int var7; - for (var7 = var8.length - 1; var7 >= 1; --var7) { // L: 963 - if (var4.charAt(var7 - 1) == 's') { // L: 964 - var8[var7] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; - } else { - var8[var7] = new Integer(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 965 - } - } + @ObfuscatedName("je") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "20" + ) + static boolean method3875() { + return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; + } - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 967 - if (var7 != -1) { // L: 968 - var8[0] = new Integer(var7); - } else { - var8 = null; // L: 969 - } + @ObfuscatedName("jh") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "50" + ) + static final void method3878() { + PacketBufferNode var0 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2283, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var0); - if (var0 == ScriptOpcodes.CC_SETONCLICK) { - var3.onClick = var8; // L: 970 - } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { // L: 971 - var3.onHold = var8; - } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { // L: 972 - var3.onRelease = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { // L: 973 - var3.onMouseOver = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { // L: 974 - var3.onMouseLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { // L: 975 - var3.onDrag = var8; - } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { // L: 976 - var3.onTargetLeave = var8; - } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { // L: 977 - var3.onVarTransmit = var8; // L: 978 - var3.varTransmitTriggers = var5; // L: 979 - } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { // L: 981 - var3.onTimer = var8; - } else if (var0 == ScriptOpcodes.CC_SETONOP) { // L: 982 - var3.onOp = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { // L: 983 - var3.onDragComplete = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { // L: 984 - var3.onClickRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { // L: 985 - var3.onMouseRepeat = var8; - } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { // L: 986 - var3.onInvTransmit = var8; // L: 987 - var3.invTransmitTriggers = var5; // L: 988 - } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { // L: 990 - var3.onStatTransmit = var8; // L: 991 - var3.statTransmitTriggers = var5; // L: 992 - } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { // L: 994 - var3.onTargetEnter = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { // L: 995 - var3.onScroll = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { // L: 996 - var3.onChatTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONKEY) { // L: 997 - var3.onKey = var8; - } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { // L: 998 - var3.onFriendTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { // L: 999 - var3.onClanTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { // L: 1000 - var3.onMiscTransmit = var8; - } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { // L: 1001 - var3.onDialogAbort = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { // L: 1002 - var3.onSubChange = var8; - } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { // L: 1003 - var3.onStockTransmit = var8; - } else if (var0 == 1426) { // L: 1004 - var3.field2703 = var8; - } else { - if (var0 != ScriptOpcodes.CC_SETONRESIZE) { // L: 1005 - return 2; // L: 1006 - } + for(InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { + if (var1.type == 0 || var1.type == 3) { + GrandExchangeOffer.closeInterface(var1, true); + } + } - var3.onResize = var8; - } + if (Client.meslayerContinueWidget != null) { + IsaacCipher.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; + } - var3.hasListener = true; // L: 1007 - return 1; // L: 1008 - } + } - @ObfuscatedName("iq") - @ObfuscatedSignature( - descriptor = "(ZLky;B)V", - garbageValue = "57" - ) - static final void method3714(boolean var0, PacketBuffer var1) { - while (true) { - if (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { // L: 7261 - int var2 = var1.readBits(15); // L: 7262 - if (var2 != 32767) { // L: 7263 - boolean var3 = false; // L: 7264 - if (Client.npcs[var2] == null) { // L: 7265 - Client.npcs[var2] = new NPC(); // L: 7266 - var3 = true; // L: 7267 - } + @ObfuscatedName("kf") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1954380312" + ) + static void method3871(int var0) { + for(IntegerNode var1 = (IntegerNode)Client.widgetFlags.first(); var1 != null; var1 = (IntegerNode)Client.widgetFlags.next()) { + if ((long)var0 == (var1.key >> 48 & 65535L)) { + var1.remove(); + } + } - NPC var4 = Client.npcs[var2]; // L: 7269 - Client.npcIndices[++Client.npcCount - 1] = var2; // L: 7270 - var4.npcCycle = Client.cycle; // L: 7271 - var4.definition = WorldMapIcon_0.getNpcDefinition(var1.readBits(14)); // L: 7272 - int var5 = var1.readBits(1); // L: 7273 - if (var5 == 1) { // L: 7274 - Client.field654[++Client.field826 - 1] = var2; - } - - int var6; - if (var0) { // L: 7276 - var6 = var1.readBits(8); // L: 7277 - if (var6 > 127) { // L: 7278 - var6 -= 256; - } - } else { - var6 = var1.readBits(5); // L: 7281 - if (var6 > 15) { // L: 7282 - var6 -= 32; - } - } - - int var7 = Client.defaultRotations[var1.readBits(3)]; // L: 7284 - if (var3) { // L: 7285 - var4.orientation = var4.rotation = var7; - } - - int var8 = var1.readBits(1); // L: 7286 - int var9; - if (var0) { // L: 7288 - var9 = var1.readBits(8); // L: 7289 - if (var9 > 127) { // L: 7290 - var9 -= 256; - } - } else { - var9 = var1.readBits(5); // L: 7293 - if (var9 > 15) { // L: 7294 - var9 -= 32; - } - } - - var4.field941 = var4.definition.size; // L: 7296 - var4.field940 = var4.definition.rotation; // L: 7297 - if (var4.field940 == 0) { // L: 7298 - var4.rotation = 0; - } - - var4.walkSequence = var4.definition.walkSequence; // L: 7299 - var4.walkBackSequence = var4.definition.walkBackSequence; // L: 7300 - var4.walkLeftSequence = var4.definition.walkLeftSequence; // L: 7301 - var4.walkRightSequence = var4.definition.walkRightSequence; // L: 7302 - var4.idleSequence = var4.definition.idleSequence; // L: 7303 - var4.turnLeftSequence = var4.definition.turnLeftSequence; // L: 7304 - var4.turnRightSequence = var4.definition.turnRightSequence; // L: 7305 - var4.method2106(PlayerComposition.localPlayer.pathX[0] + var6, PlayerComposition.localPlayer.pathY[0] + var9, var8 == 1); // L: 7306 - continue; // L: 7307 - } - } - - var1.exportIndex(); // L: 7308 - return; // L: 7309 - } - } + } } diff --git a/runescape-client/src/main/java/Model.java b/runescape-client/src/main/java/Model.java index 6e08e26ef7..6518babf1b 100644 --- a/runescape-client/src/main/java/Model.java +++ b/runescape-client/src/main/java/Model.java @@ -3,1804 +3,1648 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eh") +@ObfuscatedName("ef") @Implements("Model") -public class Model extends Renderable -{ - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Leh;" - ) - @Export("Model_sharedSequenceModel") - static Model Model_sharedSequenceModel; - @ObfuscatedName("v") - @Export("Model_sharedSequenceModelFaceAlphas") - static byte[] Model_sharedSequenceModelFaceAlphas; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Leh;" - ) - @Export("Model_sharedSpotAnimationModel") - static Model Model_sharedSpotAnimationModel; - @ObfuscatedName("w") - @Export("Model_sharedSpotAnimationModelFaceAlphas") - static byte[] Model_sharedSpotAnimationModelFaceAlphas; - @ObfuscatedName("aa") - static boolean[] field1749; - @ObfuscatedName("ao") - static boolean[] field1724; - @ObfuscatedName("ab") - @Export("modelViewportXs") - static int[] modelViewportXs; - @ObfuscatedName("aw") - @Export("modelViewportYs") - static int[] modelViewportYs; - @ObfuscatedName("ap") - static int[] field1727; - @ObfuscatedName("ad") - static int[] field1703; - @ObfuscatedName("ai") - static int[] field1729; - @ObfuscatedName("al") - static int[] field1730; - @ObfuscatedName("af") - static int[] field1732; - @ObfuscatedName("ar") - static int[][] field1733; - @ObfuscatedName("az") - static int[] field1734; - @ObfuscatedName("at") - static int[][] field1735; - @ObfuscatedName("bh") - static int[] field1736; - @ObfuscatedName("by") - static int[] field1737; - @ObfuscatedName("bs") - static int[] field1738; - @ObfuscatedName("br") - static int[] field1689; - @ObfuscatedName("bl") - static int[] field1702; - @ObfuscatedName("bx") - static int[] field1741; - @ObfuscatedName("bf") - @Export("Model_transformTempX") - static int Model_transformTempX; - @ObfuscatedName("bz") - @Export("Model_transformTempY") - static int Model_transformTempY; - @ObfuscatedName("bm") - @Export("Model_transformTempZ") - static int Model_transformTempZ; - @ObfuscatedName("bn") - static boolean field1731; - @ObfuscatedName("bi") - @Export("Model_sine") - static int[] Model_sine; - @ObfuscatedName("bk") - @Export("Model_cosine") - static int[] Model_cosine; - @ObfuscatedName("bw") - static int[] field1750; - @ObfuscatedName("bo") - static int[] field1751; - @ObfuscatedName("t") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("j") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("n") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("p") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("l") - @Export("indicesCount") - int indicesCount; - @ObfuscatedName("z") - @Export("indices1") - int[] indices1; - @ObfuscatedName("u") - @Export("indices2") - int[] indices2; - @ObfuscatedName("e") - @Export("indices3") - int[] indices3; - @ObfuscatedName("m") - @Export("faceColors1") - int[] faceColors1; - @ObfuscatedName("c") - @Export("faceColors2") - int[] faceColors2; - @ObfuscatedName("i") - @Export("faceColors3") - int[] faceColors3; - @ObfuscatedName("f") - @Export("faceRenderPriorities") - byte[] faceRenderPriorities; - @ObfuscatedName("a") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("b") - byte[] field1701; - @ObfuscatedName("y") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("r") - byte field1722; - @ObfuscatedName("q") - int field1704; - @ObfuscatedName("g") - int[] field1723; - @ObfuscatedName("s") - int[] field1745; - @ObfuscatedName("o") - int[] field1707; - @ObfuscatedName("k") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("d") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("an") - @Export("isSingleTile") - public boolean isSingleTile; - @ObfuscatedName("aj") - @Export("boundsType") - int boundsType; - @ObfuscatedName("ax") - @Export("bottomY") - int bottomY; - @ObfuscatedName("ag") - @Export("xzRadius") - int xzRadius; - @ObfuscatedName("au") - @Export("diameter") - int diameter; - @ObfuscatedName("as") - @Export("radius") - int radius; - @ObfuscatedName("ae") - @Export("xMid") - int xMid; - @ObfuscatedName("ac") - @Export("yMid") - int yMid; - @ObfuscatedName("ak") - @Export("zMid") - int zMid; - @ObfuscatedName("av") - @Export("xMidOffset") - int xMidOffset; - @ObfuscatedName("aq") - @Export("yMidOffset") - int yMidOffset; - @ObfuscatedName("ah") - @Export("zMidOffset") - int zMidOffset; - - static { - Model_sharedSequenceModel = new Model(); // L: 6 - Model_sharedSequenceModelFaceAlphas = new byte[1]; // L: 7 - Model_sharedSpotAnimationModel = new Model(); // L: 8 - Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; // L: 9 - field1749 = new boolean[4700]; // L: 45 - field1724 = new boolean[4700]; // L: 46 - modelViewportXs = new int[4700]; // L: 47 - modelViewportYs = new int[4700]; // L: 48 - field1727 = new int[4700]; // L: 49 - field1703 = new int[4700]; // L: 50 - field1729 = new int[4700]; // L: 51 - field1730 = new int[4700]; // L: 52 - field1732 = new int[1600]; // L: 54 - field1733 = new int[1600][512]; // L: 55 - field1734 = new int[12]; // L: 56 - field1735 = new int[12][2000]; // L: 57 - field1736 = new int[2000]; // L: 58 - field1737 = new int[2000]; // L: 59 - field1738 = new int[12]; // L: 60 - field1689 = new int[10]; // L: 61 - field1702 = new int[10]; // L: 62 - field1741 = new int[10]; // L: 63 - field1731 = true; // L: 67 - Model_sine = Rasterizer3D.Rasterizer3D_sine; // L: 70 - Model_cosine = Rasterizer3D.Rasterizer3D_cosine; // L: 71 - field1750 = Rasterizer3D.Rasterizer3D_colorPalette; // L: 72 - field1751 = Rasterizer3D.field1803; // L: 73 - } - - Model() { - this.verticesCount = 0; - this.indicesCount = 0; - this.field1722 = 0; - this.field1704 = 0; - this.isSingleTile = false; - this.xMidOffset = -1; - this.yMidOffset = -1; - this.zMidOffset = -1; - } // L: 77 - - @ObfuscatedSignature( - descriptor = "([Leh;I)V" - ) - public Model(Model[] var1, int var2) { - this.verticesCount = 0; // L: 10 - this.indicesCount = 0; // L: 14 - this.field1722 = 0; // L: 25 - this.field1704 = 0; // L: 26 - this.isSingleTile = false; // L: 32 - this.xMidOffset = -1; // L: 41 - this.yMidOffset = -1; // L: 42 - this.zMidOffset = -1; // L: 43 - boolean var3 = false; // L: 80 - boolean var4 = false; // L: 81 - boolean var5 = false; // L: 82 - boolean var6 = false; // L: 83 - this.verticesCount = 0; // L: 84 - this.indicesCount = 0; // L: 85 - this.field1704 = 0; // L: 86 - this.field1722 = -1; // L: 87 - - int var7; - Model var8; - for (var7 = 0; var7 < var2; ++var7) { // L: 88 - var8 = var1[var7]; // L: 89 - if (var8 != null) { // L: 90 - this.verticesCount += var8.verticesCount; // L: 91 - this.indicesCount += var8.indicesCount; // L: 92 - this.field1704 += var8.field1704; // L: 93 - if (var8.faceRenderPriorities != null) { // L: 94 - var3 = true; - } else { - if (this.field1722 == -1) { // L: 96 - this.field1722 = var8.field1722; - } - - if (this.field1722 != var8.field1722) { // L: 97 - var3 = true; - } - } - - var4 |= var8.faceAlphas != null; // L: 99 - var5 |= var8.faceTextures != null; // L: 100 - var6 |= var8.field1701 != null; // L: 101 - } - } - - this.verticesX = new int[this.verticesCount]; // L: 104 - this.verticesY = new int[this.verticesCount]; // L: 105 - this.verticesZ = new int[this.verticesCount]; // L: 106 - this.indices1 = new int[this.indicesCount]; // L: 107 - this.indices2 = new int[this.indicesCount]; // L: 108 - this.indices3 = new int[this.indicesCount]; // L: 109 - this.faceColors1 = new int[this.indicesCount]; // L: 110 - this.faceColors2 = new int[this.indicesCount]; // L: 111 - this.faceColors3 = new int[this.indicesCount]; // L: 112 - if (var3) { // L: 113 - this.faceRenderPriorities = new byte[this.indicesCount]; - } - - if (var4) { // L: 114 - this.faceAlphas = new byte[this.indicesCount]; - } - - if (var5) { // L: 115 - this.faceTextures = new short[this.indicesCount]; - } - - if (var6) { // L: 116 - this.field1701 = new byte[this.indicesCount]; - } - - if (this.field1704 > 0) { // L: 117 - this.field1723 = new int[this.field1704]; // L: 118 - this.field1745 = new int[this.field1704]; // L: 119 - this.field1707 = new int[this.field1704]; // L: 120 - } - - this.verticesCount = 0; // L: 122 - this.indicesCount = 0; // L: 123 - this.field1704 = 0; // L: 124 - - for (var7 = 0; var7 < var2; ++var7) { // L: 125 - var8 = var1[var7]; // L: 126 - if (var8 != null) { // L: 127 - int var9; - for (var9 = 0; var9 < var8.indicesCount; ++var9) { // L: 128 - this.indices1[this.indicesCount] = this.verticesCount + var8.indices1[var9]; // L: 129 - this.indices2[this.indicesCount] = this.verticesCount + var8.indices2[var9]; // L: 130 - this.indices3[this.indicesCount] = this.verticesCount + var8.indices3[var9]; // L: 131 - this.faceColors1[this.indicesCount] = var8.faceColors1[var9]; // L: 132 - this.faceColors2[this.indicesCount] = var8.faceColors2[var9]; // L: 133 - this.faceColors3[this.indicesCount] = var8.faceColors3[var9]; // L: 134 - if (var3) { // L: 135 - if (var8.faceRenderPriorities != null) { // L: 136 - this.faceRenderPriorities[this.indicesCount] = var8.faceRenderPriorities[var9]; - } else { - this.faceRenderPriorities[this.indicesCount] = var8.field1722; // L: 137 - } - } - - if (var4 && var8.faceAlphas != null) { // L: 139 140 - this.faceAlphas[this.indicesCount] = var8.faceAlphas[var9]; - } - - if (var5) { // L: 142 - if (var8.faceTextures != null) { // L: 143 - this.faceTextures[this.indicesCount] = var8.faceTextures[var9]; - } else { - this.faceTextures[this.indicesCount] = -1; // L: 144 - } - } - - if (var6) { // L: 146 - if (var8.field1701 != null && var8.field1701[var9] != -1) { // L: 147 - this.field1701[this.indicesCount] = (byte)(this.field1704 + var8.field1701[var9]); - } else { - this.field1701[this.indicesCount] = -1; // L: 148 - } - } - - ++this.indicesCount; // L: 150 - } - - for (var9 = 0; var9 < var8.field1704; ++var9) { // L: 152 - this.field1723[this.field1704] = this.verticesCount + var8.field1723[var9]; // L: 153 - this.field1745[this.field1704] = this.verticesCount + var8.field1745[var9]; // L: 154 - this.field1707[this.field1704] = this.verticesCount + var8.field1707[var9]; // L: 155 - ++this.field1704; // L: 156 - } - - for (var9 = 0; var9 < var8.verticesCount; ++var9) { // L: 158 - this.verticesX[this.verticesCount] = var8.verticesX[var9]; // L: 159 - this.verticesY[this.verticesCount] = var8.verticesY[var9]; // L: 160 - this.verticesZ[this.verticesCount] = var8.verticesZ[var9]; // L: 161 - ++this.verticesCount; // L: 162 - } - } - } - - } // L: 166 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([[IIIIZI)Leh;" - ) - @Export("contourGround") - public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.calculateBoundsCylinder(); // L: 169 - int var7 = var2 - this.xzRadius; // L: 170 - int var8 = var2 + this.xzRadius; // L: 171 - int var9 = var4 - this.xzRadius; // L: 172 - int var10 = var4 + this.xzRadius; // L: 173 - if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { // L: 174 - var7 >>= 7; // L: 175 - var8 = var8 + 127 >> 7; // L: 176 - var9 >>= 7; // L: 177 - var10 = var10 + 127 >> 7; // L: 178 - if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { // L: 179 - return this; - } else { - Model var11; - if (var5) { // L: 181 - var11 = new Model(); // L: 182 - var11.verticesCount = this.verticesCount; // L: 183 - var11.indicesCount = this.indicesCount; // L: 184 - var11.field1704 = this.field1704; // L: 185 - var11.verticesX = this.verticesX; // L: 186 - var11.verticesZ = this.verticesZ; // L: 187 - var11.indices1 = this.indices1; // L: 188 - var11.indices2 = this.indices2; // L: 189 - var11.indices3 = this.indices3; // L: 190 - var11.faceColors1 = this.faceColors1; // L: 191 - var11.faceColors2 = this.faceColors2; // L: 192 - var11.faceColors3 = this.faceColors3; // L: 193 - var11.faceRenderPriorities = this.faceRenderPriorities; // L: 194 - var11.faceAlphas = this.faceAlphas; // L: 195 - var11.field1701 = this.field1701; // L: 196 - var11.faceTextures = this.faceTextures; // L: 197 - var11.field1722 = this.field1722; // L: 198 - var11.field1723 = this.field1723; // L: 199 - var11.field1745 = this.field1745; // L: 200 - var11.field1707 = this.field1707; // L: 201 - var11.vertexLabels = this.vertexLabels; // L: 202 - var11.faceLabelsAlpha = this.faceLabelsAlpha; // L: 203 - var11.isSingleTile = this.isSingleTile; // L: 204 - var11.verticesY = new int[var11.verticesCount]; // L: 205 - } else { - var11 = this; // L: 208 - } - - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - int var21; - if (var6 == 0) { // L: 210 - for (var12 = 0; var12 < var11.verticesCount; ++var12) { // L: 211 - var13 = var2 + this.verticesX[var12]; // L: 212 - var14 = var4 + this.verticesZ[var12]; // L: 213 - var15 = var13 & 127; // L: 214 - var16 = var14 & 127; // L: 215 - var17 = var13 >> 7; // L: 216 - var18 = var14 >> 7; // L: 217 - var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; // L: 218 - var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; // L: 219 - var21 = var19 * (128 - var16) + var20 * var16 >> 7; // L: 220 - var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; // L: 221 - } - } else { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { // L: 225 - var13 = (-this.verticesY[var12] << 16) / super.height; // L: 226 - if (var13 < var6) { // L: 227 - var14 = var2 + this.verticesX[var12]; // L: 228 - var15 = var4 + this.verticesZ[var12]; // L: 229 - var16 = var14 & 127; // L: 230 - var17 = var15 & 127; // L: 231 - var18 = var14 >> 7; // L: 232 - var19 = var15 >> 7; // L: 233 - var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; // L: 234 - var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; // L: 235 - int var22 = var20 * (128 - var17) + var21 * var17 >> 7; // L: 236 - var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; // L: 237 - } - } - } - - var11.resetBounds(); // L: 241 - return var11; // L: 242 - } - } else { - return this; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Z)Leh;" - ) - @Export("toSharedSequenceModel") - public Model toSharedSequenceModel(boolean var1) { - if (!var1 && Model_sharedSequenceModelFaceAlphas.length < this.indicesCount) { // L: 246 - Model_sharedSequenceModelFaceAlphas = new byte[this.indicesCount + 100]; - } - - return this.buildSharedModel(var1, Model_sharedSequenceModel, Model_sharedSequenceModelFaceAlphas); // L: 247 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Z)Leh;" - ) - @Export("toSharedSpotAnimationModel") - public Model toSharedSpotAnimationModel(boolean var1) { - if (!var1 && Model_sharedSpotAnimationModelFaceAlphas.length < this.indicesCount) { // L: 251 - Model_sharedSpotAnimationModelFaceAlphas = new byte[this.indicesCount + 100]; - } - - return this.buildSharedModel(var1, Model_sharedSpotAnimationModel, Model_sharedSpotAnimationModelFaceAlphas); // L: 252 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ZLeh;[B)Leh;" - ) - @Export("buildSharedModel") - Model buildSharedModel(boolean var1, Model var2, byte[] var3) { - var2.verticesCount = this.verticesCount; // L: 256 - var2.indicesCount = this.indicesCount; // L: 257 - var2.field1704 = this.field1704; // L: 258 - if (var2.verticesX == null || var2.verticesX.length < this.verticesCount) { // L: 259 - var2.verticesX = new int[this.verticesCount + 100]; // L: 260 - var2.verticesY = new int[this.verticesCount + 100]; // L: 261 - var2.verticesZ = new int[this.verticesCount + 100]; // L: 262 - } - - int var4; - for (var4 = 0; var4 < this.verticesCount; ++var4) { // L: 264 - var2.verticesX[var4] = this.verticesX[var4]; // L: 265 - var2.verticesY[var4] = this.verticesY[var4]; // L: 266 - var2.verticesZ[var4] = this.verticesZ[var4]; // L: 267 - } - - if (var1) { // L: 269 - var2.faceAlphas = this.faceAlphas; - } else { - var2.faceAlphas = var3; // L: 271 - if (this.faceAlphas == null) { // L: 272 - for (var4 = 0; var4 < this.indicesCount; ++var4) { // L: 273 - var2.faceAlphas[var4] = 0; - } - } else { - for (var4 = 0; var4 < this.indicesCount; ++var4) { // L: 276 - var2.faceAlphas[var4] = this.faceAlphas[var4]; - } - } - } - - var2.indices1 = this.indices1; // L: 279 - var2.indices2 = this.indices2; // L: 280 - var2.indices3 = this.indices3; // L: 281 - var2.faceColors1 = this.faceColors1; // L: 282 - var2.faceColors2 = this.faceColors2; // L: 283 - var2.faceColors3 = this.faceColors3; // L: 284 - var2.faceRenderPriorities = this.faceRenderPriorities; // L: 285 - var2.field1701 = this.field1701; // L: 286 - var2.faceTextures = this.faceTextures; // L: 287 - var2.field1722 = this.field1722; // L: 288 - var2.field1723 = this.field1723; // L: 289 - var2.field1745 = this.field1745; // L: 290 - var2.field1707 = this.field1707; // L: 291 - var2.vertexLabels = this.vertexLabels; // L: 292 - var2.faceLabelsAlpha = this.faceLabelsAlpha; // L: 293 - var2.isSingleTile = this.isSingleTile; // L: 294 - var2.resetBounds(); // L: 295 - return var2; // L: 296 - } - - @ObfuscatedName("t") - @Export("calculateBoundingBox") - void calculateBoundingBox(int var1) { - if (this.xMidOffset == -1) { // L: 300 - int var2 = 0; // L: 301 - int var3 = 0; // L: 302 - int var4 = 0; // L: 303 - int var5 = 0; // L: 304 - int var6 = 0; // L: 305 - int var7 = 0; // L: 306 - int var8 = Model_cosine[var1]; // L: 307 - int var9 = Model_sine[var1]; // L: 308 - - for (int var10 = 0; var10 < this.verticesCount; ++var10) { // L: 309 - int var11 = Rasterizer3D.method3088(this.verticesX[var10], this.verticesZ[var10], var8, var9); // L: 310 - int var12 = this.verticesY[var10]; // L: 311 - int var13 = Rasterizer3D.method3143(this.verticesX[var10], this.verticesZ[var10], var8, var9); // L: 312 - if (var11 < var2) { // L: 313 - var2 = var11; - } - - if (var11 > var5) { // L: 314 - var5 = var11; - } - - if (var12 < var3) { // L: 315 - var3 = var12; - } - - if (var12 > var6) { // L: 316 - var6 = var12; - } - - if (var13 < var4) { // L: 317 - var4 = var13; - } - - if (var13 > var7) { // L: 318 - var7 = var13; - } - } - - this.xMid = (var5 + var2) / 2; // L: 320 - this.yMid = (var6 + var3) / 2; // L: 321 - this.zMid = (var7 + var4) / 2; // L: 322 - this.xMidOffset = (var5 - var2 + 1) / 2; // L: 323 - this.yMidOffset = (var6 - var3 + 1) / 2; // L: 324 - this.zMidOffset = (var7 - var4 + 1) / 2; // L: 325 - if (this.xMidOffset < 32) { // L: 327 - this.xMidOffset = 32; - } - - if (this.zMidOffset < 32) { // L: 328 - this.zMidOffset = 32; - } - - if (this.isSingleTile) { // L: 329 - this.xMidOffset += 8; // L: 331 - this.zMidOffset += 8; // L: 332 - } - - } - } // L: 334 - - @ObfuscatedName("j") - @Export("calculateBoundsCylinder") - public void calculateBoundsCylinder() { - if (this.boundsType != 1) { // L: 337 - this.boundsType = 1; // L: 338 - super.height = 0; // L: 339 - this.bottomY = 0; // L: 340 - this.xzRadius = 0; // L: 341 - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 342 - int var2 = this.verticesX[var1]; // L: 343 - int var3 = this.verticesY[var1]; // L: 344 - int var4 = this.verticesZ[var1]; // L: 345 - if (-var3 > super.height) { // L: 346 - super.height = -var3; - } - - if (var3 > this.bottomY) { // L: 347 - this.bottomY = var3; - } - - int var5 = var2 * var2 + var4 * var4; // L: 348 - if (var5 > this.xzRadius) { // L: 349 - this.xzRadius = var5; - } - } - - this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); // L: 351 - this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D); // L: 352 - this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D); // L: 353 - } - } // L: 354 - - @ObfuscatedName("n") - void method2947() { - if (this.boundsType != 2) { // L: 357 - this.boundsType = 2; // L: 358 - this.xzRadius = 0; // L: 359 - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 360 - int var2 = this.verticesX[var1]; // L: 361 - int var3 = this.verticesY[var1]; // L: 362 - int var4 = this.verticesZ[var1]; // L: 363 - int var5 = var2 * var2 + var4 * var4 + var3 * var3; // L: 364 - if (var5 > this.xzRadius) { // L: 365 - this.xzRadius = var5; - } - } - - this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); // L: 367 - this.radius = this.xzRadius; // L: 368 - this.diameter = this.xzRadius + this.xzRadius; // L: 369 - } - } // L: 370 - - @ObfuscatedName("p") - public int method2991() { - this.calculateBoundsCylinder(); // L: 373 - return this.xzRadius; // L: 374 - } - - @ObfuscatedName("z") - @Export("resetBounds") - void resetBounds() { - this.boundsType = 0; // L: 378 - this.xMidOffset = -1; // L: 379 - } // L: 380 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lep;I)V" - ) - @Export("animate") - public void animate(Frames var1, int var2) { - if (this.vertexLabels != null) { // L: 383 - if (var2 != -1) { // L: 384 - Animation var3 = var1.frames[var2]; // L: 385 - Skeleton var4 = var3.skeleton; // L: 386 - Model_transformTempX = 0; // L: 387 - Model_transformTempY = 0; // L: 388 - Model_transformTempZ = 0; // L: 389 - - for (int var5 = 0; var5 < var3.transformCount; ++var5) { // L: 390 - int var6 = var3.transformSkeletonLabels[var5]; // L: 391 - this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]); // L: 392 - } - - this.resetBounds(); // L: 394 - } - } - } // L: 395 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Lep;ILep;I[I)V" - ) - @Export("animate2") - public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { - if (var2 != -1) { // L: 398 - if (var5 != null && var4 != -1) { // L: 399 - Animation var6 = var1.frames[var2]; // L: 403 - Animation var7 = var3.frames[var4]; // L: 404 - Skeleton var8 = var6.skeleton; // L: 405 - Model_transformTempX = 0; // L: 406 - Model_transformTempY = 0; // L: 407 - Model_transformTempZ = 0; // L: 408 - byte var9 = 0; // L: 409 - int var13 = var9 + 1; // L: 410 - int var10 = var5[var9]; - - int var11; - int var12; - for (var11 = 0; var11 < var6.transformCount; ++var11) { // L: 411 - for (var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { // L: 412 413 - } - - if (var12 != var10 || var8.transformTypes[var12] == 0) { // L: 414 - this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]); - } - } - - Model_transformTempX = 0; // L: 416 - Model_transformTempY = 0; // L: 417 - Model_transformTempZ = 0; // L: 418 - var9 = 0; // L: 419 - var13 = var9 + 1; // L: 420 - var10 = var5[var9]; - - for (var11 = 0; var11 < var7.transformCount; ++var11) { // L: 421 - for (var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { // L: 422 423 - } - - if (var12 == var10 || var8.transformTypes[var12] == 0) { // L: 424 - this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]); - } - } - - this.resetBounds(); // L: 426 - } else { - this.animate(var1, var2); // L: 400 - } - } - } // L: 401 427 - - @ObfuscatedName("m") - @Export("transform") - void transform(int var1, int[] var2, int var3, int var4, int var5) { - int var6 = var2.length; // L: 430 - int var7; - int var8; - int var11; - int var12; - if (var1 == 0) { // L: 431 - var7 = 0; // L: 432 - Model_transformTempX = 0; // L: 433 - Model_transformTempY = 0; // L: 434 - Model_transformTempZ = 0; // L: 435 - - for (var8 = 0; var8 < var6; ++var8) { // L: 436 - int var18 = var2[var8]; // L: 437 - if (var18 < this.vertexLabels.length) { // L: 438 - int[] var19 = this.vertexLabels[var18]; // L: 439 - - for (var11 = 0; var11 < var19.length; ++var11) { // L: 440 - var12 = var19[var11]; // L: 441 - Model_transformTempX += this.verticesX[var12]; // L: 442 - Model_transformTempY += this.verticesY[var12]; // L: 443 - Model_transformTempZ += this.verticesZ[var12]; // L: 444 - ++var7; // L: 445 - } - } - } - - if (var7 > 0) { // L: 449 - Model_transformTempX = var3 + Model_transformTempX / var7; // L: 450 - Model_transformTempY = var4 + Model_transformTempY / var7; // L: 451 - Model_transformTempZ = var5 + Model_transformTempZ / var7; // L: 452 - } else { - Model_transformTempX = var3; // L: 455 - Model_transformTempY = var4; // L: 456 - Model_transformTempZ = var5; // L: 457 - } - - } else { - int[] var9; - int var10; - int[] var10000; - if (var1 == 1) { // L: 461 - for (var7 = 0; var7 < var6; ++var7) { // L: 462 - var8 = var2[var7]; // L: 463 - if (var8 < this.vertexLabels.length) { // L: 464 - var9 = this.vertexLabels[var8]; // L: 465 - - for (var10 = 0; var10 < var9.length; ++var10) { // L: 466 - var11 = var9[var10]; // L: 467 - var10000 = this.verticesX; // L: 468 - var10000[var11] += var3; - var10000 = this.verticesY; // L: 469 - var10000[var11] += var4; - var10000 = this.verticesZ; // L: 470 - var10000[var11] += var5; - } - } - } - - } else if (var1 == 2) { // L: 476 - for (var7 = 0; var7 < var6; ++var7) { // L: 477 - var8 = var2[var7]; // L: 478 - if (var8 < this.vertexLabels.length) { // L: 479 - var9 = this.vertexLabels[var8]; // L: 480 - - for (var10 = 0; var10 < var9.length; ++var10) { // L: 481 - var11 = var9[var10]; // L: 482 - var10000 = this.verticesX; // L: 483 - var10000[var11] -= Model_transformTempX; - var10000 = this.verticesY; // L: 484 - var10000[var11] -= Model_transformTempY; - var10000 = this.verticesZ; // L: 485 - var10000[var11] -= Model_transformTempZ; - var12 = (var3 & 255) * 8; // L: 486 - int var13 = (var4 & 255) * 8; // L: 487 - int var14 = (var5 & 255) * 8; // L: 488 - int var15; - int var16; - int var17; - if (var14 != 0) { // L: 489 - var15 = Model_sine[var14]; // L: 490 - var16 = Model_cosine[var14]; // L: 491 - var17 = var15 * this.verticesY[var11] + var16 * this.verticesX[var11] >> 16; // L: 492 - this.verticesY[var11] = var16 * this.verticesY[var11] - var15 * this.verticesX[var11] >> 16; // L: 493 - this.verticesX[var11] = var17; // L: 494 - } - - if (var12 != 0) { // L: 496 - var15 = Model_sine[var12]; // L: 497 - var16 = Model_cosine[var12]; // L: 498 - var17 = var16 * this.verticesY[var11] - var15 * this.verticesZ[var11] >> 16; // L: 499 - this.verticesZ[var11] = var15 * this.verticesY[var11] + var16 * this.verticesZ[var11] >> 16; // L: 500 - this.verticesY[var11] = var17; // L: 501 - } - - if (var13 != 0) { // L: 503 - var15 = Model_sine[var13]; // L: 504 - var16 = Model_cosine[var13]; // L: 505 - var17 = var15 * this.verticesZ[var11] + var16 * this.verticesX[var11] >> 16; // L: 506 - this.verticesZ[var11] = var16 * this.verticesZ[var11] - var15 * this.verticesX[var11] >> 16; // L: 507 - this.verticesX[var11] = var17; // L: 508 - } - - var10000 = this.verticesX; // L: 510 - var10000[var11] += Model_transformTempX; - var10000 = this.verticesY; // L: 511 - var10000[var11] += Model_transformTempY; - var10000 = this.verticesZ; // L: 512 - var10000[var11] += Model_transformTempZ; - } - } - } - - } else if (var1 == 3) { // L: 518 - for (var7 = 0; var7 < var6; ++var7) { // L: 519 - var8 = var2[var7]; // L: 520 - if (var8 < this.vertexLabels.length) { // L: 521 - var9 = this.vertexLabels[var8]; // L: 522 - - for (var10 = 0; var10 < var9.length; ++var10) { // L: 523 - var11 = var9[var10]; // L: 524 - var10000 = this.verticesX; // L: 525 - var10000[var11] -= Model_transformTempX; - var10000 = this.verticesY; // L: 526 - var10000[var11] -= Model_transformTempY; - var10000 = this.verticesZ; // L: 527 - var10000[var11] -= Model_transformTempZ; - this.verticesX[var11] = var3 * this.verticesX[var11] / 128; // L: 528 - this.verticesY[var11] = var4 * this.verticesY[var11] / 128; // L: 529 - this.verticesZ[var11] = var5 * this.verticesZ[var11] / 128; // L: 530 - var10000 = this.verticesX; // L: 531 - var10000[var11] += Model_transformTempX; - var10000 = this.verticesY; // L: 532 - var10000[var11] += Model_transformTempY; - var10000 = this.verticesZ; // L: 533 - var10000[var11] += Model_transformTempZ; - } - } - } - - } else if (var1 == 5) { // L: 539 - if (this.faceLabelsAlpha != null && this.faceAlphas != null) { // L: 540 - for (var7 = 0; var7 < var6; ++var7) { // L: 541 - var8 = var2[var7]; // L: 542 - if (var8 < this.faceLabelsAlpha.length) { // L: 543 - var9 = this.faceLabelsAlpha[var8]; // L: 544 - - for (var10 = 0; var10 < var9.length; ++var10) { // L: 545 - var11 = var9[var10]; // L: 546 - var12 = (this.faceAlphas[var11] & 255) + var3 * 8; // L: 547 - if (var12 < 0) { // L: 548 - var12 = 0; - } else if (var12 > 255) { // L: 549 - var12 = 255; - } - - this.faceAlphas[var11] = (byte)var12; // L: 550 - } - } - } - } - - } - } - } // L: 459 474 516 537 555 557 - - @ObfuscatedName("c") - @Export("rotateY90Ccw") - public void rotateY90Ccw() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 560 - int var2 = this.verticesX[var1]; // L: 561 - this.verticesX[var1] = this.verticesZ[var1]; // L: 562 - this.verticesZ[var1] = -var2; // L: 563 - } - - this.resetBounds(); // L: 565 - } // L: 566 - - @ObfuscatedName("i") - @Export("rotateY180") - public void rotateY180() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 569 - this.verticesX[var1] = -this.verticesX[var1]; // L: 570 - this.verticesZ[var1] = -this.verticesZ[var1]; // L: 571 - } - - this.resetBounds(); // L: 573 - } // L: 574 - - @ObfuscatedName("f") - @Export("rotateY270Ccw") - public void rotateY270Ccw() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 577 - int var2 = this.verticesZ[var1]; // L: 578 - this.verticesZ[var1] = this.verticesX[var1]; // L: 579 - this.verticesX[var1] = -var2; // L: 580 - } - - this.resetBounds(); // L: 582 - } // L: 583 - - @ObfuscatedName("y") - @Export("rotateZ") - public void rotateZ(int var1) { - int var2 = Model_sine[var1]; // L: 586 - int var3 = Model_cosine[var1]; // L: 587 - - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 588 - int var5 = var3 * this.verticesY[var4] - var2 * this.verticesZ[var4] >> 16; // L: 589 - this.verticesZ[var4] = var2 * this.verticesY[var4] + var3 * this.verticesZ[var4] >> 16; // L: 590 - this.verticesY[var4] = var5; // L: 591 - } - - this.resetBounds(); // L: 593 - } // L: 594 - - @ObfuscatedName("r") - @Export("offsetBy") - public void offsetBy(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 597 - int[] var10000 = this.verticesX; // L: 598 - var10000[var4] += var1; - var10000 = this.verticesY; // L: 599 - var10000[var4] += var2; - var10000 = this.verticesZ; // L: 600 - var10000[var4] += var3; - } - - this.resetBounds(); // L: 602 - } // L: 603 - - @ObfuscatedName("q") - @Export("scale") - public void scale(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 606 - this.verticesX[var4] = this.verticesX[var4] * var1 / 128; // L: 607 - this.verticesY[var4] = var2 * this.verticesY[var4] / 128; // L: 608 - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; // L: 609 - } - - this.resetBounds(); // L: 611 - } // L: 612 - - @ObfuscatedName("g") - public final void method2966(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - field1732[0] = -1; // L: 615 - if (this.boundsType != 2 && this.boundsType != 1) { // L: 616 - this.method2947(); - } - - int var8 = Rasterizer3D.Rasterizer3D_clipMidX; // L: 617 - int var9 = Rasterizer3D.Rasterizer3D_clipMidY; // L: 618 - int var10 = Model_sine[var1]; // L: 619 - int var11 = Model_cosine[var1]; // L: 620 - int var12 = Model_sine[var2]; // L: 621 - int var13 = Model_cosine[var2]; // L: 622 - int var14 = Model_sine[var3]; // L: 623 - int var15 = Model_cosine[var3]; // L: 624 - int var16 = Model_sine[var4]; // L: 625 - int var17 = Model_cosine[var4]; // L: 626 - int var18 = var16 * var6 + var17 * var7 >> 16; // L: 627 - - for (int var19 = 0; var19 < this.verticesCount; ++var19) { // L: 628 - int var20 = this.verticesX[var19]; // L: 629 - int var21 = this.verticesY[var19]; // L: 630 - int var22 = this.verticesZ[var19]; // L: 631 - int var23; - if (var3 != 0) { // L: 632 - var23 = var21 * var14 + var20 * var15 >> 16; // L: 633 - var21 = var21 * var15 - var20 * var14 >> 16; // L: 634 - var20 = var23; // L: 635 - } - - if (var1 != 0) { // L: 637 - var23 = var21 * var11 - var22 * var10 >> 16; // L: 638 - var22 = var21 * var10 + var22 * var11 >> 16; // L: 639 - var21 = var23; // L: 640 - } - - if (var2 != 0) { // L: 642 - var23 = var22 * var12 + var20 * var13 >> 16; // L: 643 - var22 = var22 * var13 - var20 * var12 >> 16; // L: 644 - var20 = var23; // L: 645 - } - - var20 += var5; // L: 647 - var21 += var6; // L: 648 - var22 += var7; // L: 649 - var23 = var21 * var17 - var22 * var16 >> 16; // L: 650 - var22 = var21 * var16 + var22 * var17 >> 16; // L: 651 - field1727[var19] = var22 - var18; // L: 653 - modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; // L: 654 - modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; // L: 655 - if (this.field1704 > 0) { // L: 656 - field1703[var19] = var20; // L: 657 - field1729[var19] = var23; // L: 658 - field1730[var19] = var22; // L: 659 - } - } - - try { - this.draw0(false, false, false, 0L); // L: 663 - } catch (Exception var25) { // L: 665 - } - - } // L: 666 - - @ObfuscatedName("o") - public final void method2967(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - field1732[0] = -1; // L: 669 - if (this.boundsType != 2 && this.boundsType != 1) { // L: 670 - this.method2947(); - } - - int var9 = Rasterizer3D.Rasterizer3D_clipMidX; // L: 671 - int var10 = Rasterizer3D.Rasterizer3D_clipMidY; // L: 672 - int var11 = Model_sine[var1]; // L: 673 - int var12 = Model_cosine[var1]; // L: 674 - int var13 = Model_sine[var2]; // L: 675 - int var14 = Model_cosine[var2]; // L: 676 - int var15 = Model_sine[var3]; // L: 677 - int var16 = Model_cosine[var3]; // L: 678 - int var17 = Model_sine[var4]; // L: 679 - int var18 = Model_cosine[var4]; // L: 680 - int var19 = var17 * var6 + var18 * var7 >> 16; // L: 681 - - for (int var20 = 0; var20 < this.verticesCount; ++var20) { // L: 682 - int var21 = this.verticesX[var20]; // L: 683 - int var22 = this.verticesY[var20]; // L: 684 - int var23 = this.verticesZ[var20]; // L: 685 - int var24; - if (var3 != 0) { // L: 686 - var24 = var22 * var15 + var21 * var16 >> 16; // L: 687 - var22 = var22 * var16 - var21 * var15 >> 16; // L: 688 - var21 = var24; // L: 689 - } - - if (var1 != 0) { // L: 691 - var24 = var22 * var12 - var23 * var11 >> 16; // L: 692 - var23 = var22 * var11 + var23 * var12 >> 16; // L: 693 - var22 = var24; // L: 694 - } - - if (var2 != 0) { // L: 696 - var24 = var23 * var13 + var21 * var14 >> 16; // L: 697 - var23 = var23 * var14 - var21 * var13 >> 16; // L: 698 - var21 = var24; // L: 699 - } - - var21 += var5; // L: 701 - var22 += var6; // L: 702 - var23 += var7; // L: 703 - var24 = var22 * var18 - var23 * var17 >> 16; // L: 704 - var23 = var22 * var17 + var23 * var18 >> 16; // L: 705 - field1727[var20] = var23 - var19; // L: 707 - modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; // L: 708 - modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; // L: 709 - if (this.field1704 > 0) { // L: 710 - field1703[var20] = var21; // L: 711 - field1729[var20] = var24; // L: 712 - field1730[var20] = var23; // L: 713 - } - } - - try { - this.draw0(false, false, false, 0L); // L: 717 - } catch (Exception var26) { // L: 719 - } - - } // L: 720 - - @ObfuscatedName("an") - @Export("draw0") - final void draw0(boolean var1, boolean var2, boolean var3, long var4) { - if (this.diameter < 1600) { // L: 926 - int var6; - for (var6 = 0; var6 < this.diameter; ++var6) { // L: 927 - field1732[var6] = 0; - } - - var6 = var3 ? 20 : 5; // L: 928 - - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var15; - int var16; - int var18; - int var28; - for (var7 = 0; var7 < this.indicesCount; ++var7) { // L: 929 - if (this.faceColors3[var7] != -2) { // L: 930 - var8 = this.indices1[var7]; // L: 931 - var9 = this.indices2[var7]; // L: 932 - var10 = this.indices3[var7]; // L: 933 - var11 = modelViewportXs[var8]; // L: 934 - var12 = modelViewportXs[var9]; // L: 935 - var28 = modelViewportXs[var10]; // L: 936 - int var29; - int var30; - if (!var1 || var11 != -5000 && var12 != -5000 && var28 != -5000) { // L: 937 - if (var2) { // L: 963 - var15 = modelViewportYs[var8]; // L: 965 - var16 = modelViewportYs[var9]; // L: 966 - var29 = modelViewportYs[var10]; // L: 967 - var18 = var6 + ViewportMouse.ViewportMouse_y; // L: 969 - boolean var34; - if (var18 < var15 && var18 < var16 && var18 < var29) { // L: 970 - var34 = false; // L: 971 - } else { - var18 = ViewportMouse.ViewportMouse_y - var6; // L: 974 - if (var18 > var15 && var18 > var16 && var18 > var29) { // L: 975 - var34 = false; // L: 976 - } else { - var18 = var6 + ViewportMouse.ViewportMouse_x; // L: 979 - if (var18 < var11 && var18 < var12 && var18 < var28) { // L: 980 - var34 = false; // L: 981 - } else { - var18 = ViewportMouse.ViewportMouse_x - var6; // L: 984 - if (var18 > var11 && var18 > var12 && var18 > var28) { // L: 985 - var34 = false; // L: 986 - } else { - var34 = true; // L: 989 - } - } - } - } - - if (var34) { // L: 991 - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var4; // L: 994 - var2 = false; // L: 996 - } - } - - if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var9]) - (var28 - var12) * (modelViewportYs[var8] - modelViewportYs[var9]) > 0) { // L: 999 - field1724[var7] = false; // L: 1000 - if (var11 >= 0 && var12 >= 0 && var28 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var28 <= Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1001 - field1749[var7] = false; // L: 1002 - } else { - field1749[var7] = true; - } - - var30 = (field1727[var8] + field1727[var9] + field1727[var10]) / 3 + this.radius; // L: 1003 - field1733[var30][field1732[var30]++] = var7; // L: 1004 - } - } else { - var30 = field1703[var8]; // L: 938 - var15 = field1703[var9]; // L: 939 - var16 = field1703[var10]; // L: 940 - var29 = field1729[var8]; // L: 941 - var18 = field1729[var9]; // L: 942 - int var19 = field1729[var10]; // L: 943 - int var20 = field1730[var8]; // L: 944 - int var21 = field1730[var9]; // L: 945 - int var22 = field1730[var10]; // L: 946 - var30 -= var15; // L: 947 - var16 -= var15; // L: 948 - var29 -= var18; // L: 949 - var19 -= var18; // L: 950 - var20 -= var21; // L: 951 - var22 -= var21; // L: 952 - int var23 = var29 * var22 - var20 * var19; // L: 953 - int var24 = var20 * var16 - var30 * var22; // L: 954 - int var25 = var30 * var19 - var29 * var16; // L: 955 - if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { // L: 956 - field1724[var7] = true; // L: 957 - int var26 = (field1727[var8] + field1727[var9] + field1727[var10]) / 3 + this.radius; // L: 958 - field1733[var26][field1732[var26]++] = var7; // L: 959 - } - } - } - } - - int[] var27; - if (this.faceRenderPriorities == null) { // L: 1008 - for (var7 = this.diameter - 1; var7 >= 0; --var7) { // L: 1009 - var8 = field1732[var7]; // L: 1010 - if (var8 > 0) { // L: 1011 - var27 = field1733[var7]; // L: 1012 - - for (var10 = 0; var10 < var8; ++var10) { // L: 1013 - this.drawFace(var27[var10]); - } - } - } - - } else { - for (var7 = 0; var7 < 12; ++var7) { // L: 1018 - field1734[var7] = 0; // L: 1019 - field1738[var7] = 0; // L: 1020 - } - - for (var7 = this.diameter - 1; var7 >= 0; --var7) { // L: 1022 - var8 = field1732[var7]; // L: 1023 - if (var8 > 0) { // L: 1024 - var27 = field1733[var7]; // L: 1025 - - for (var10 = 0; var10 < var8; ++var10) { // L: 1026 - var11 = var27[var10]; // L: 1027 - byte var33 = this.faceRenderPriorities[var11]; // L: 1028 - var28 = field1734[var33]++; // L: 1029 - field1735[var33][var28] = var11; // L: 1030 - if (var33 < 10) { // L: 1031 - int[] var10000 = field1738; - var10000[var33] += var7; - } else if (var33 == 10) { // L: 1032 - field1736[var28] = var7; - } else { - field1737[var28] = var7; // L: 1033 - } - } - } - } - - var7 = 0; // L: 1037 - if (field1734[1] > 0 || field1734[2] > 0) { // L: 1038 - var7 = (field1738[1] + field1738[2]) / (field1734[1] + field1734[2]); - } - - var8 = 0; // L: 1039 - if (field1734[3] > 0 || field1734[4] > 0) { // L: 1040 - var8 = (field1738[3] + field1738[4]) / (field1734[3] + field1734[4]); - } - - var9 = 0; // L: 1041 - if (field1734[6] > 0 || field1734[8] > 0) { // L: 1042 - var9 = (field1738[8] + field1738[6]) / (field1734[8] + field1734[6]); - } - - var11 = 0; // L: 1044 - var12 = field1734[10]; // L: 1045 - int[] var13 = field1735[10]; // L: 1046 - int[] var14 = field1736; // L: 1047 - if (var11 == var12) { // L: 1048 - var11 = 0; // L: 1049 - var12 = field1734[11]; // L: 1050 - var13 = field1735[11]; // L: 1051 - var14 = field1737; // L: 1052 - } - - if (var11 < var12) { // L: 1054 - var10 = var14[var11]; - } else { - var10 = -1000; // L: 1055 - } - - for (var15 = 0; var15 < 10; ++var15) { // L: 1056 - while (var15 == 0 && var10 > var7) { // L: 1057 - this.drawFace(var13[var11++]); // L: 1058 - if (var11 == var12 && var13 != field1735[11]) { // L: 1059 - var11 = 0; // L: 1060 - var12 = field1734[11]; // L: 1061 - var13 = field1735[11]; // L: 1062 - var14 = field1737; // L: 1063 - } - - if (var11 < var12) { // L: 1065 - var10 = var14[var11]; - } else { - var10 = -1000; // L: 1066 - } - } - - while (var15 == 3 && var10 > var8) { // L: 1068 - this.drawFace(var13[var11++]); // L: 1069 - if (var11 == var12 && var13 != field1735[11]) { // L: 1070 - var11 = 0; // L: 1071 - var12 = field1734[11]; // L: 1072 - var13 = field1735[11]; // L: 1073 - var14 = field1737; // L: 1074 - } - - if (var11 < var12) { // L: 1076 - var10 = var14[var11]; - } else { - var10 = -1000; // L: 1077 - } - } - - while (var15 == 5 && var10 > var9) { // L: 1079 - this.drawFace(var13[var11++]); // L: 1080 - if (var11 == var12 && var13 != field1735[11]) { // L: 1081 - var11 = 0; // L: 1082 - var12 = field1734[11]; // L: 1083 - var13 = field1735[11]; // L: 1084 - var14 = field1737; // L: 1085 - } - - if (var11 < var12) { // L: 1087 - var10 = var14[var11]; - } else { - var10 = -1000; // L: 1088 - } - } - - var16 = field1734[var15]; // L: 1090 - int[] var17 = field1735[var15]; // L: 1091 - - for (var18 = 0; var18 < var16; ++var18) { // L: 1092 - this.drawFace(var17[var18]); // L: 1093 - } - } - - while (var10 != -1000) { // L: 1096 - this.drawFace(var13[var11++]); // L: 1097 - if (var11 == var12 && var13 != field1735[11]) { // L: 1098 - var11 = 0; // L: 1099 - var13 = field1735[11]; // L: 1100 - var12 = field1734[11]; // L: 1101 - var14 = field1737; // L: 1102 - } - - if (var11 < var12) { // L: 1104 - var10 = var14[var11]; - } else { - var10 = -1000; // L: 1105 - } - } - - } - } - } // L: 1016 1107 - - @ObfuscatedName("aj") - @Export("drawFace") - final void drawFace(int var1) { - if (field1724[var1]) { // L: 1110 - this.method2978(var1); // L: 1111 - } else { - int var2 = this.indices1[var1]; // L: 1114 - int var3 = this.indices2[var1]; // L: 1115 - int var4 = this.indices3[var1]; // L: 1116 - Rasterizer3D.field1791 = field1749[var1]; // L: 1117 - if (this.faceAlphas == null) { // L: 1118 - Rasterizer3D.Rasterizer3D_alpha = 0; - } else { - Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; // L: 1119 - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { // L: 1120 - int var5; - int var6; - int var7; - if (this.field1701 != null && this.field1701[var1] != -1) { // L: 1128 - int var8 = this.field1701[var1] & 255; // L: 1129 - var5 = this.field1723[var8]; // L: 1130 - var6 = this.field1745[var8]; // L: 1131 - var7 = this.field1707[var8]; // L: 1132 - } else { - var5 = var2; // L: 1135 - var6 = var3; // L: 1136 - var7 = var4; // L: 1137 - } - - if (this.faceColors3[var1] == -1) { - Rasterizer3D.method3083(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1703[var5], field1703[var6], field1703[var7], field1729[var5], field1729[var6], field1729[var7], field1730[var5], field1730[var6], field1730[var7], this.faceTextures[var1]); // L: 1139 - } else { - Rasterizer3D.method3083(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field1703[var5], field1703[var6], field1703[var7], field1729[var5], field1729[var6], field1729[var7], field1730[var5], field1730[var6], field1730[var7], this.faceTextures[var1]); // L: 1140 - } - } else if (this.faceColors3[var1] == -1) { // L: 1121 - Rasterizer3D.method3081(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field1750[this.faceColors1[var1]]); - } else { - Rasterizer3D.method3079(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); // L: 1122 - } - - } - } // L: 1112 1142 - - @ObfuscatedName("ax") - final void method2978(int var1) { - int var2 = Rasterizer3D.Rasterizer3D_clipMidX; // L: 1145 - int var3 = Rasterizer3D.Rasterizer3D_clipMidY; // L: 1146 - int var4 = 0; // L: 1147 - int var5 = this.indices1[var1]; // L: 1148 - int var6 = this.indices2[var1]; // L: 1149 - int var7 = this.indices3[var1]; // L: 1150 - int var8 = field1730[var5]; // L: 1151 - int var9 = field1730[var6]; // L: 1152 - int var10 = field1730[var7]; // L: 1153 - if (this.faceAlphas == null) { // L: 1154 - Rasterizer3D.Rasterizer3D_alpha = 0; - } else { - Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; // L: 1155 - } - - int var11; - int var12; - int var13; - int var14; - if (var8 >= 50) { // L: 1156 - field1689[var4] = modelViewportXs[var5]; // L: 1157 - field1702[var4] = modelViewportYs[var5]; // L: 1158 - field1741[var4++] = this.faceColors1[var1]; // L: 1159 - } else { - var11 = field1703[var5]; // L: 1162 - var12 = field1729[var5]; // L: 1163 - var13 = this.faceColors1[var1]; // L: 1164 - if (var10 >= 50) { // L: 1165 - var14 = field1751[var10 - var8] * (50 - var8); // L: 1166 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var7] - var11) * var14 >> 16)) / 50; // L: 1167 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var7] - var12) * var14 >> 16)) / 50; // L: 1168 - field1741[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); // L: 1169 - } - - if (var9 >= 50) { // L: 1171 - var14 = field1751[var9 - var8] * (50 - var8); // L: 1172 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var6] - var11) * var14 >> 16)) / 50; // L: 1173 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var6] - var12) * var14 >> 16)) / 50; // L: 1174 - field1741[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); // L: 1175 - } - } - - if (var9 >= 50) { // L: 1178 - field1689[var4] = modelViewportXs[var6]; // L: 1179 - field1702[var4] = modelViewportYs[var6]; // L: 1180 - field1741[var4++] = this.faceColors2[var1]; // L: 1181 - } else { - var11 = field1703[var6]; // L: 1184 - var12 = field1729[var6]; // L: 1185 - var13 = this.faceColors2[var1]; // L: 1186 - if (var8 >= 50) { // L: 1187 - var14 = field1751[var8 - var9] * (50 - var9); // L: 1188 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var5] - var11) * var14 >> 16)) / 50; // L: 1189 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var5] - var12) * var14 >> 16)) / 50; // L: 1190 - field1741[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); // L: 1191 - } - - if (var10 >= 50) { // L: 1193 - var14 = field1751[var10 - var9] * (50 - var9); // L: 1194 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var7] - var11) * var14 >> 16)) / 50; // L: 1195 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var7] - var12) * var14 >> 16)) / 50; // L: 1196 - field1741[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); // L: 1197 - } - } - - if (var10 >= 50) { // L: 1200 - field1689[var4] = modelViewportXs[var7]; // L: 1201 - field1702[var4] = modelViewportYs[var7]; // L: 1202 - field1741[var4++] = this.faceColors3[var1]; // L: 1203 - } else { - var11 = field1703[var7]; // L: 1206 - var12 = field1729[var7]; // L: 1207 - var13 = this.faceColors3[var1]; // L: 1208 - if (var9 >= 50) { // L: 1209 - var14 = field1751[var9 - var10] * (50 - var10); // L: 1210 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var6] - var11) * var14 >> 16)) / 50; // L: 1211 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var6] - var12) * var14 >> 16)) / 50; // L: 1212 - field1741[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); // L: 1213 - } - - if (var8 >= 50) { // L: 1215 - var14 = field1751[var8 - var10] * (50 - var10); // L: 1216 - field1689[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1703[var5] - var11) * var14 >> 16)) / 50; // L: 1217 - field1702[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1729[var5] - var12) * var14 >> 16)) / 50; // L: 1218 - field1741[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); // L: 1219 - } - } - - var11 = field1689[0]; // L: 1222 - var12 = field1689[1]; // L: 1223 - var13 = field1689[2]; // L: 1224 - var14 = field1702[0]; // L: 1225 - int var15 = field1702[1]; // L: 1226 - int var16 = field1702[2]; // L: 1227 - Rasterizer3D.field1791 = false; // L: 1228 - int var17; - int var18; - int var19; - int var20; - if (var4 == 3) { // L: 1229 - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1230 - Rasterizer3D.field1791 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { // L: 1231 - if (this.field1701 != null && this.field1701[var1] != -1) { // L: 1239 - var20 = this.field1701[var1] & 255; // L: 1240 - var17 = this.field1723[var20]; // L: 1241 - var18 = this.field1745[var20]; // L: 1242 - var19 = this.field1707[var20]; // L: 1243 - } else { - var17 = var5; // L: 1246 - var18 = var6; // L: 1247 - var19 = var7; // L: 1248 - } - - if (this.faceColors3[var1] == -1) { // L: 1250 - Rasterizer3D.method3083(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], this.faceTextures[var1]); - } else { - Rasterizer3D.method3083(var14, var15, var16, var11, var12, var13, field1741[0], field1741[1], field1741[2], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], this.faceTextures[var1]); // L: 1251 - } - } else if (this.faceColors3[var1] == -1) { // L: 1232 - Rasterizer3D.method3081(var14, var15, var16, var11, var12, var13, field1750[this.faceColors1[var1]]); - } else { - Rasterizer3D.method3079(var14, var15, var16, var11, var12, var13, field1741[0], field1741[1], field1741[2]); // L: 1233 - } - } - - if (var4 == 4) { // L: 1254 - if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field1689[3] < 0 || field1689[3] > Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1255 - Rasterizer3D.field1791 = true; - } - - if (this.faceTextures != null && this.faceTextures[var1] != -1) { // L: 1256 - if (this.field1701 != null && this.field1701[var1] != -1) { // L: 1271 - var20 = this.field1701[var1] & 255; // L: 1272 - var17 = this.field1723[var20]; // L: 1273 - var18 = this.field1745[var20]; // L: 1274 - var19 = this.field1707[var20]; // L: 1275 - } else { - var17 = var5; // L: 1278 - var18 = var6; // L: 1279 - var19 = var7; // L: 1280 - } - - short var21 = this.faceTextures[var1]; // L: 1282 - if (this.faceColors3[var1] == -1) { // L: 1283 - Rasterizer3D.method3083(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], var21); // L: 1284 - Rasterizer3D.method3083(var14, var16, field1702[3], var11, var13, field1689[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], var21); // L: 1285 - } else { - Rasterizer3D.method3083(var14, var15, var16, var11, var12, var13, field1741[0], field1741[1], field1741[2], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], var21); // L: 1288 - Rasterizer3D.method3083(var14, var16, field1702[3], var11, var13, field1689[3], field1741[0], field1741[2], field1741[3], field1703[var17], field1703[var18], field1703[var19], field1729[var17], field1729[var18], field1729[var19], field1730[var17], field1730[var18], field1730[var19], var21); // L: 1289 - } - } else if (this.faceColors3[var1] == -1) { // L: 1257 - var17 = field1750[this.faceColors1[var1]]; // L: 1258 - Rasterizer3D.method3081(var14, var15, var16, var11, var12, var13, var17); // L: 1259 - Rasterizer3D.method3081(var14, var16, field1702[3], var11, var13, field1689[3], var17); // L: 1260 - } else { - Rasterizer3D.method3079(var14, var15, var16, var11, var12, var13, field1741[0], field1741[1], field1741[2]); // L: 1263 - Rasterizer3D.method3079(var14, var16, field1702[3], var11, var13, field1689[3], field1741[0], field1741[2], field1741[3]); // L: 1264 - } - } - - } // L: 1293 - - @ObfuscatedName("cf") - @Export("draw") - void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { - field1732[0] = -1; // L: 723 - if (this.boundsType != 1) { // L: 724 - this.calculateBoundsCylinder(); - } - - this.calculateBoundingBox(var1); // L: 725 - int var11 = var5 * var8 - var4 * var6 >> 16; // L: 726 - int var12 = var2 * var7 + var3 * var11 >> 16; // L: 727 - int var13 = var3 * this.xzRadius >> 16; // L: 728 - int var14 = var12 + var13; // L: 729 - if (var14 > 50 && var12 < 3500) { // L: 730 - int var15 = var8 * var4 + var5 * var6 >> 16; // L: 731 - int var16 = (var15 - this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; // L: 732 - if (var16 / var14 < Rasterizer3D.Rasterizer3D_clipMidX2) { // L: 733 - int var17 = (var15 + this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; // L: 734 - if (var17 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidX) { // L: 735 - int var18 = var3 * var7 - var11 * var2 >> 16; // L: 736 - int var19 = var2 * this.xzRadius >> 16; // L: 737 - int var20 = (var18 + var19) * Rasterizer3D.Rasterizer3D_zoom; // L: 738 - if (var20 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidY) { // L: 739 - int var21 = (var3 * super.height >> 16) + var19; // L: 740 - int var22 = (var18 - var21) * Rasterizer3D.Rasterizer3D_zoom; // L: 741 - if (var22 / var14 < Rasterizer3D.Rasterizer3D_clipMidY2) { // L: 742 - int var23 = var13 + (var2 * super.height >> 16); // L: 743 - boolean var24 = false; // L: 744 - boolean var25 = false; // L: 745 - if (var12 - var23 <= 50) { // L: 746 - var25 = true; - } - - boolean var26 = var25 || this.field1704 > 0; // L: 747 - int var27 = ObjectSound.method1993(); // L: 748 - int var28 = ViewportMouse.ViewportMouse_y; // L: 751 - boolean var30 = FontName.method5355(); // L: 754 - boolean var31 = FriendSystem.method1943(var9); // L: 755 - boolean var32 = false; // L: 756 - int var37; - int var38; - int var39; - int var40; - int var48; - int var54; - int var55; - int var56; - if (var31 && var30) { // L: 757 - boolean var33 = false; // L: 758 - if (field1731) { // L: 759 - boolean var36 = ViewportMouse.ViewportMouse_isInViewport; // L: 765 - boolean var34; - if (!var36) { // L: 767 - var34 = false; // L: 768 - } else { - int var43; - int var44; - int var45; - int var57; - if (!ViewportMouse.ViewportMouse_false0) { // L: 772 - var37 = Scene.Scene_cameraPitchSine; // L: 773 - var38 = Scene.Scene_cameraPitchCosine; // L: 774 - var39 = Scene.Scene_cameraYawSine; // L: 775 - var40 = Scene.Scene_cameraYawCosine; // L: 776 - byte var41 = 50; // L: 777 - short var42 = 3500; // L: 778 - var43 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var41 / Rasterizer3D.Rasterizer3D_zoom; // L: 779 - var44 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var41 / Rasterizer3D.Rasterizer3D_zoom; // L: 780 - var45 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var42 / Rasterizer3D.Rasterizer3D_zoom; // L: 781 - int var46 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var42 / Rasterizer3D.Rasterizer3D_zoom; // L: 782 - int var47 = Rasterizer3D.method3092(var44, var41, var38, var37); // L: 784 - var56 = Rasterizer3D.method3094(var44, var41, var38, var37); // L: 785 - var44 = var47; // L: 786 - var47 = Rasterizer3D.method3092(var46, var42, var38, var37); // L: 787 - var57 = Rasterizer3D.method3094(var46, var42, var38, var37); // L: 788 - var46 = var47; // L: 789 - var47 = Rasterizer3D.method3090(var43, var56, var40, var39); // L: 790 - var56 = Rasterizer3D.method3133(var43, var56, var40, var39); // L: 791 - var43 = var47; // L: 792 - var47 = Rasterizer3D.method3090(var45, var57, var40, var39); // L: 793 - var57 = Rasterizer3D.method3133(var45, var57, var40, var39); // L: 794 - ViewportMouse.field1758 = (var43 + var47) / 2; // L: 796 - ViewportMouse.field1759 = (var44 + var46) / 2; // L: 797 - ViewportMouse.field1765 = (var56 + var57) / 2; // L: 798 - ViewportMouse.field1761 = (var47 - var43) / 2; // L: 799 - ViewportMouse.field1762 = (var46 - var44) / 2; // L: 800 - class232.field2778 = (var57 - var56) / 2; // L: 801 - FriendSystem.field1065 = Math.abs(ViewportMouse.field1761); // L: 802 - SpriteMask.field2535 = Math.abs(ViewportMouse.field1762); // L: 803 - WorldMapIcon_0.field146 = Math.abs(class232.field2778); // L: 804 - } - - var37 = this.xMid + var6; // L: 806 - var38 = var7 + this.yMid; // L: 807 - var39 = var8 + this.zMid; // L: 808 - var40 = this.xMidOffset; // L: 809 - var56 = this.yMidOffset; // L: 810 - var57 = this.zMidOffset; // L: 811 - var43 = ViewportMouse.field1758 - var37; // L: 812 - var44 = ViewportMouse.field1759 - var38; // L: 813 - var45 = ViewportMouse.field1765 - var39; // L: 814 - if (Math.abs(var43) > var40 + FriendSystem.field1065) { // L: 815 - var34 = false; // L: 816 - } else if (Math.abs(var44) > var56 + SpriteMask.field2535) { // L: 819 - var34 = false; // L: 820 - } else if (Math.abs(var45) > var57 + WorldMapIcon_0.field146) { // L: 823 - var34 = false; // L: 824 - } else if (Math.abs(var45 * ViewportMouse.field1762 - var44 * class232.field2778) > var56 * WorldMapIcon_0.field146 + var57 * SpriteMask.field2535) { // L: 827 - var34 = false; // L: 828 - } else if (Math.abs(var43 * class232.field2778 - var45 * ViewportMouse.field1761) > var40 * WorldMapIcon_0.field146 + var57 * FriendSystem.field1065) { // L: 831 - var34 = false; // L: 832 - } else if (Math.abs(var44 * ViewportMouse.field1761 - var43 * ViewportMouse.field1762) > var40 * SpriteMask.field2535 + var56 * FriendSystem.field1065) { // L: 835 - var34 = false; // L: 836 - } else { - var34 = true; // L: 839 - } - } - - var33 = var34; // L: 841 - } else { - var55 = var12 - var13; // L: 844 - if (var55 <= 50) { // L: 845 - var55 = 50; - } - - if (var15 > 0) { // L: 846 - var16 /= var14; // L: 847 - var17 /= var55; // L: 848 - } else { - var17 /= var14; // L: 851 - var16 /= var55; // L: 852 - } - - if (var18 > 0) { // L: 854 - var22 /= var14; // L: 855 - var20 /= var55; // L: 856 - } else { - var20 /= var14; // L: 859 - var22 /= var55; // L: 860 - } - - var48 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; // L: 862 - var54 = var28 - Rasterizer3D.Rasterizer3D_clipMidY; // L: 863 - if (var48 > var16 && var48 < var17 && var54 > var22 && var54 < var20) { // L: 864 - var33 = true; // L: 865 - } - } - - if (var33) { // L: 868 - if (this.isSingleTile) { // L: 869 - ViewportMouse.ViewportMouse_entityTags[++ViewportMouse.ViewportMouse_entityCount - 1] = var9; // L: 872 - } else { - var32 = true; // L: 875 - } - } - } - - int var53 = Rasterizer3D.Rasterizer3D_clipMidX; // L: 878 - var55 = Rasterizer3D.Rasterizer3D_clipMidY; // L: 879 - var48 = 0; // L: 880 - var54 = 0; // L: 881 - if (var1 != 0) { // L: 882 - var48 = Model_sine[var1]; // L: 883 - var54 = Model_cosine[var1]; // L: 884 - } - - for (var37 = 0; var37 < this.verticesCount; ++var37) { // L: 886 - var38 = this.verticesX[var37]; // L: 887 - var39 = this.verticesY[var37]; // L: 888 - var40 = this.verticesZ[var37]; // L: 889 - if (var1 != 0) { // L: 890 - var56 = var40 * var48 + var38 * var54 >> 16; // L: 891 - var40 = var40 * var54 - var38 * var48 >> 16; // L: 892 - var38 = var56; // L: 893 - } - - var38 += var6; // L: 895 - var39 += var7; // L: 896 - var40 += var8; // L: 897 - var56 = var40 * var4 + var5 * var38 >> 16; // L: 898 - var40 = var5 * var40 - var38 * var4 >> 16; // L: 899 - var38 = var56; // L: 900 - var56 = var3 * var39 - var40 * var2 >> 16; // L: 901 - var40 = var39 * var2 + var3 * var40 >> 16; // L: 902 - field1727[var37] = var40 - var12; // L: 904 - if (var40 >= 50) { // L: 905 - modelViewportXs[var37] = var38 * Rasterizer3D.Rasterizer3D_zoom / var40 + var53; // L: 906 - modelViewportYs[var37] = var56 * Rasterizer3D.Rasterizer3D_zoom / var40 + var55; // L: 907 - } else { - modelViewportXs[var37] = -5000; // L: 910 - var24 = true; // L: 911 - } - - if (var26) { // L: 913 - field1703[var37] = var38; // L: 914 - field1729[var37] = var56; // L: 915 - field1730[var37] = var40; // L: 916 - } - } - - try { - this.draw0(var24, var32, this.isSingleTile, var9); // L: 920 - } catch (Exception var52) { // L: 922 - } - - } - } - } - } - } - } // L: 923 +public class Model extends Renderable { + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lef;" + ) + @Export("Model_sharedSequenceModel") + static Model Model_sharedSequenceModel = new Model(); + @ObfuscatedName("v") + @Export("Model_sharedSequenceModelFaceAlphas") + static byte[] Model_sharedSequenceModelFaceAlphas = new byte[1]; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lef;" + ) + @Export("Model_sharedSpotAnimationModel") + static Model Model_sharedSpotAnimationModel = new Model(); + @ObfuscatedName("c") + @Export("Model_sharedSpotAnimationModelFaceAlphas") + static byte[] Model_sharedSpotAnimationModelFaceAlphas = new byte[1]; + @ObfuscatedName("aw") + static boolean[] field1722 = new boolean[4700]; + @ObfuscatedName("az") + static boolean[] field1685 = new boolean[4700]; + @ObfuscatedName("ah") + @Export("modelViewportXs") + static int[] modelViewportXs = new int[4700]; + @ObfuscatedName("ap") + @Export("modelViewportYs") + static int[] modelViewportYs = new int[4700]; + @ObfuscatedName("aj") + static int[] field1726 = new int[4700]; + @ObfuscatedName("an") + static int[] field1727 = new int[4700]; + @ObfuscatedName("ai") + static int[] field1728 = new int[4700]; + @ObfuscatedName("ab") + static int[] field1742 = new int[4700]; + @ObfuscatedName("ad") + static int[] field1731 = new int[1600]; + @ObfuscatedName("af") + static int[][] field1732 = new int[1600][512]; + @ObfuscatedName("av") + static int[] field1707 = new int[12]; + @ObfuscatedName("ao") + static int[][] field1734 = new int[12][2000]; + @ObfuscatedName("bj") + static int[] field1735 = new int[2000]; + @ObfuscatedName("bn") + static int[] field1736 = new int[2000]; + @ObfuscatedName("bi") + static int[] field1730 = new int[12]; + @ObfuscatedName("bp") + static int[] field1738 = new int[10]; + @ObfuscatedName("br") + static int[] field1739 = new int[10]; + @ObfuscatedName("bq") + static int[] field1740 = new int[10]; + @ObfuscatedName("bx") + @Export("Model_transformTempX") + static int Model_transformTempX; + @ObfuscatedName("bc") + @Export("Model_transformTempY") + static int Model_transformTempY; + @ObfuscatedName("bw") + @Export("Model_transformTempZ") + static int Model_transformTempZ; + @ObfuscatedName("bv") + static boolean field1744 = true; + @ObfuscatedName("bh") + @Export("Model_sine") + static int[] Model_sine; + @ObfuscatedName("bz") + @Export("Model_cosine") + static int[] Model_cosine; + @ObfuscatedName("bg") + static int[] field1697; + @ObfuscatedName("bm") + static int[] field1750; + @ObfuscatedName("y") + @Export("verticesCount") + int verticesCount = 0; + @ObfuscatedName("h") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("z") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("e") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("q") + @Export("indicesCount") + int indicesCount = 0; + @ObfuscatedName("l") + @Export("indices1") + int[] indices1; + @ObfuscatedName("s") + @Export("indices2") + int[] indices2; + @ObfuscatedName("b") + @Export("indices3") + int[] indices3; + @ObfuscatedName("a") + @Export("faceColors1") + int[] faceColors1; + @ObfuscatedName("w") + @Export("faceColors2") + int[] faceColors2; + @ObfuscatedName("k") + @Export("faceColors3") + int[] faceColors3; + @ObfuscatedName("i") + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; + @ObfuscatedName("x") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("f") + byte[] field1700; + @ObfuscatedName("g") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("u") + byte field1702 = 0; + @ObfuscatedName("t") + int field1692 = 0; + @ObfuscatedName("p") + int[] field1718; + @ObfuscatedName("m") + int[] field1705; + @ObfuscatedName("r") + int[] field1749; + @ObfuscatedName("o") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("j") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("ay") + @Export("isSingleTile") + public boolean isSingleTile = false; + @ObfuscatedName("am") + @Export("boundsType") + int boundsType; + @ObfuscatedName("ag") + @Export("bottomY") + int bottomY; + @ObfuscatedName("ae") + @Export("xzRadius") + int xzRadius; + @ObfuscatedName("ac") + @Export("diameter") + int diameter; + @ObfuscatedName("aq") + @Export("radius") + int radius; + @ObfuscatedName("at") + @Export("xMid") + int xMid; + @ObfuscatedName("ak") + @Export("yMid") + int yMid; + @ObfuscatedName("ax") + @Export("zMid") + int zMid; + @ObfuscatedName("ar") + @Export("xMidOffset") + int xMidOffset = -1; + @ObfuscatedName("al") + @Export("yMidOffset") + int yMidOffset = -1; + @ObfuscatedName("aa") + @Export("zMidOffset") + int zMidOffset = -1; + + static { + Model_sine = Rasterizer3D.Rasterizer3D_sine; + Model_cosine = Rasterizer3D.Rasterizer3D_cosine; + field1697 = Rasterizer3D.Rasterizer3D_colorPalette; + field1750 = Rasterizer3D.field1774; + } + + Model() { + } + + @ObfuscatedSignature( + descriptor = "([Lef;I)V" + ) + public Model(Model[] var1, int var2) { + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + this.verticesCount = 0; + this.indicesCount = 0; + this.field1692 = 0; + this.field1702 = -1; + + int var7; + Model var8; + for(var7 = 0; var7 < var2; ++var7) { + var8 = var1[var7]; + if (var8 != null) { + this.verticesCount += var8.verticesCount; + this.indicesCount += var8.indicesCount; + this.field1692 += var8.field1692; + if (var8.faceRenderPriorities != null) { + var3 = true; + } else { + if (this.field1702 == -1) { + this.field1702 = var8.field1702; + } + + if (this.field1702 != var8.field1702) { + var3 = true; + } + } + + var4 |= var8.faceAlphas != null; + var5 |= var8.faceTextures != null; + var6 |= var8.field1700 != null; + } + } + + this.verticesX = new int[this.verticesCount]; + this.verticesY = new int[this.verticesCount]; + this.verticesZ = new int[this.verticesCount]; + this.indices1 = new int[this.indicesCount]; + this.indices2 = new int[this.indicesCount]; + this.indices3 = new int[this.indicesCount]; + this.faceColors1 = new int[this.indicesCount]; + this.faceColors2 = new int[this.indicesCount]; + this.faceColors3 = new int[this.indicesCount]; + if (var3) { + this.faceRenderPriorities = new byte[this.indicesCount]; + } + + if (var4) { + this.faceAlphas = new byte[this.indicesCount]; + } + + if (var5) { + this.faceTextures = new short[this.indicesCount]; + } + + if (var6) { + this.field1700 = new byte[this.indicesCount]; + } + + if (this.field1692 > 0) { + this.field1718 = new int[this.field1692]; + this.field1705 = new int[this.field1692]; + this.field1749 = new int[this.field1692]; + } + + this.verticesCount = 0; + this.indicesCount = 0; + this.field1692 = 0; + + for(var7 = 0; var7 < var2; ++var7) { + var8 = var1[var7]; + if (var8 != null) { + int var9; + for(var9 = 0; var9 < var8.indicesCount; ++var9) { + this.indices1[this.indicesCount] = this.verticesCount + var8.indices1[var9]; + this.indices2[this.indicesCount] = this.verticesCount + var8.indices2[var9]; + this.indices3[this.indicesCount] = this.verticesCount + var8.indices3[var9]; + this.faceColors1[this.indicesCount] = var8.faceColors1[var9]; + this.faceColors2[this.indicesCount] = var8.faceColors2[var9]; + this.faceColors3[this.indicesCount] = var8.faceColors3[var9]; + if (var3) { + if (var8.faceRenderPriorities != null) { + this.faceRenderPriorities[this.indicesCount] = var8.faceRenderPriorities[var9]; + } else { + this.faceRenderPriorities[this.indicesCount] = var8.field1702; + } + } + + if (var4 && var8.faceAlphas != null) { + this.faceAlphas[this.indicesCount] = var8.faceAlphas[var9]; + } + + if (var5) { + if (var8.faceTextures != null) { + this.faceTextures[this.indicesCount] = var8.faceTextures[var9]; + } else { + this.faceTextures[this.indicesCount] = -1; + } + } + + if (var6) { + if (var8.field1700 != null && var8.field1700[var9] != -1) { + this.field1700[this.indicesCount] = (byte)(this.field1692 + var8.field1700[var9]); + } else { + this.field1700[this.indicesCount] = -1; + } + } + + ++this.indicesCount; + } + + for(var9 = 0; var9 < var8.field1692; ++var9) { + this.field1718[this.field1692] = this.verticesCount + var8.field1718[var9]; + this.field1705[this.field1692] = this.verticesCount + var8.field1705[var9]; + this.field1749[this.field1692] = this.verticesCount + var8.field1749[var9]; + ++this.field1692; + } + + for(var9 = 0; var9 < var8.verticesCount; ++var9) { + this.verticesX[this.verticesCount] = var8.verticesX[var9]; + this.verticesY[this.verticesCount] = var8.verticesY[var9]; + this.verticesZ[this.verticesCount] = var8.verticesZ[var9]; + ++this.verticesCount; + } + } + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([[IIIIZI)Lef;" + ) + @Export("contourGround") + public Model contourGround(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + this.calculateBoundsCylinder(); + int var7 = var2 - this.xzRadius; + int var8 = var2 + this.xzRadius; + int var9 = var4 - this.xzRadius; + int var10 = var4 + this.xzRadius; + 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; + } else { + Model var11; + if (var5) { + var11 = new Model(); + var11.verticesCount = this.verticesCount; + var11.indicesCount = this.indicesCount; + var11.field1692 = this.field1692; + var11.verticesX = this.verticesX; + var11.verticesZ = this.verticesZ; + var11.indices1 = this.indices1; + var11.indices2 = this.indices2; + var11.indices3 = this.indices3; + var11.faceColors1 = this.faceColors1; + var11.faceColors2 = this.faceColors2; + var11.faceColors3 = this.faceColors3; + var11.faceRenderPriorities = this.faceRenderPriorities; + var11.faceAlphas = this.faceAlphas; + var11.field1700 = this.field1700; + var11.faceTextures = this.faceTextures; + var11.field1702 = this.field1702; + var11.field1718 = this.field1718; + var11.field1705 = this.field1705; + var11.field1749 = this.field1749; + var11.vertexLabels = this.vertexLabels; + var11.faceLabelsAlpha = this.faceLabelsAlpha; + var11.isSingleTile = this.isSingleTile; + var11.verticesY = new int[var11.verticesCount]; + } else { + var11 = this; + } + + 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.resetBounds(); + return var11; + } + } else { + return this; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Z)Lef;" + ) + @Export("toSharedSequenceModel") + public Model toSharedSequenceModel(boolean var1) { + if (!var1 && Model_sharedSequenceModelFaceAlphas.length < this.indicesCount) { + Model_sharedSequenceModelFaceAlphas = new byte[this.indicesCount + 100]; + } + + return this.buildSharedModel(var1, Model_sharedSequenceModel, Model_sharedSequenceModelFaceAlphas); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Z)Lef;" + ) + @Export("toSharedSpotAnimationModel") + public Model toSharedSpotAnimationModel(boolean var1) { + if (!var1 && Model_sharedSpotAnimationModelFaceAlphas.length < this.indicesCount) { + Model_sharedSpotAnimationModelFaceAlphas = new byte[this.indicesCount + 100]; + } + + return this.buildSharedModel(var1, Model_sharedSpotAnimationModel, Model_sharedSpotAnimationModelFaceAlphas); + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(ZLef;[B)Lef;" + ) + @Export("buildSharedModel") + Model buildSharedModel(boolean var1, Model var2, byte[] var3) { + var2.verticesCount = this.verticesCount; + var2.indicesCount = this.indicesCount; + var2.field1692 = this.field1692; + if (var2.verticesX == null || var2.verticesX.length < this.verticesCount) { + var2.verticesX = new int[this.verticesCount + 100]; + var2.verticesY = new int[this.verticesCount + 100]; + var2.verticesZ = new int[this.verticesCount + 100]; + } + + int var4; + for(var4 = 0; var4 < this.verticesCount; ++var4) { + var2.verticesX[var4] = this.verticesX[var4]; + var2.verticesY[var4] = this.verticesY[var4]; + var2.verticesZ[var4] = this.verticesZ[var4]; + } + + if (var1) { + var2.faceAlphas = this.faceAlphas; + } else { + var2.faceAlphas = var3; + if (this.faceAlphas == null) { + for(var4 = 0; var4 < this.indicesCount; ++var4) { + var2.faceAlphas[var4] = 0; + } + } else { + for(var4 = 0; var4 < this.indicesCount; ++var4) { + var2.faceAlphas[var4] = this.faceAlphas[var4]; + } + } + } + + var2.indices1 = this.indices1; + var2.indices2 = this.indices2; + var2.indices3 = this.indices3; + var2.faceColors1 = this.faceColors1; + var2.faceColors2 = this.faceColors2; + var2.faceColors3 = this.faceColors3; + var2.faceRenderPriorities = this.faceRenderPriorities; + var2.field1700 = this.field1700; + var2.faceTextures = this.faceTextures; + var2.field1702 = this.field1702; + var2.field1718 = this.field1718; + var2.field1705 = this.field1705; + var2.field1749 = this.field1749; + var2.vertexLabels = this.vertexLabels; + var2.faceLabelsAlpha = this.faceLabelsAlpha; + var2.isSingleTile = this.isSingleTile; + var2.resetBounds(); + return var2; + } + + @ObfuscatedName("y") + @Export("calculateBoundingBox") + void calculateBoundingBox(int var1) { + if (this.xMidOffset == -1) { + int var2 = 0; + int var3 = 0; + int var4 = 0; + int var5 = 0; + int var6 = 0; + int var7 = 0; + int var8 = Model_cosine[var1]; + int var9 = Model_sine[var1]; + + for(int var10 = 0; var10 < this.verticesCount; ++var10) { + int var11 = Rasterizer3D.method3233(this.verticesX[var10], this.verticesZ[var10], var8, var9); + int var12 = this.verticesY[var10]; + int var13 = Rasterizer3D.method3185(this.verticesX[var10], this.verticesZ[var10], var8, var9); + if (var11 < var2) { + var2 = var11; + } + + if (var11 > var5) { + var5 = var11; + } + + if (var12 < var3) { + var3 = var12; + } + + if (var12 > var6) { + var6 = var12; + } + + if (var13 < var4) { + var4 = var13; + } + + if (var13 > var7) { + var7 = var13; + } + } + + this.xMid = (var5 + var2) / 2; + this.yMid = (var6 + var3) / 2; + this.zMid = (var7 + var4) / 2; + this.xMidOffset = (var5 - var2 + 1) / 2; + this.yMidOffset = (var6 - var3 + 1) / 2; + this.zMidOffset = (var7 - var4 + 1) / 2; + if (this.xMidOffset < 32) { + this.xMidOffset = 32; + } + + if (this.zMidOffset < 32) { + this.zMidOffset = 32; + } + + if (this.isSingleTile) { + this.xMidOffset += 8; + this.zMidOffset += 8; + } + + } + } + + @ObfuscatedName("h") + @Export("calculateBoundsCylinder") + public void calculateBoundsCylinder() { + if (this.boundsType != 1) { + this.boundsType = 1; + super.height = 0; + this.bottomY = 0; + this.xzRadius = 0; + + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.bottomY) { + this.bottomY = var3; + } + + int var5 = var2 * var2 + var4 * var4; + if (var5 > this.xzRadius) { + this.xzRadius = var5; + } + } + + this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); + this.radius = (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + super.height * super.height)) + 0.99D); + this.diameter = this.radius + (int)(Math.sqrt((double)(this.xzRadius * this.xzRadius + this.bottomY * this.bottomY)) + 0.99D); + } + } + + @ObfuscatedName("z") + void method3088() { + if (this.boundsType != 2) { + this.boundsType = 2; + this.xzRadius = 0; + + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + int var3 = this.verticesY[var1]; + int var4 = this.verticesZ[var1]; + int var5 = var2 * var2 + var4 * var4 + var3 * var3; + if (var5 > this.xzRadius) { + this.xzRadius = var5; + } + } + + this.xzRadius = (int)(Math.sqrt((double)this.xzRadius) + 0.99D); + this.radius = this.xzRadius; + this.diameter = this.xzRadius + this.xzRadius; + } + } + + @ObfuscatedName("e") + public int method3079() { + this.calculateBoundsCylinder(); + return this.xzRadius; + } + + @ObfuscatedName("l") + @Export("resetBounds") + void resetBounds() { + this.boundsType = 0; + this.xMidOffset = -1; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(Lel;I)V" + ) + @Export("animate") + public void animate(Frames var1, int var2) { + if (this.vertexLabels != null) { + if (var2 != -1) { + Animation var3 = var1.frames[var2]; + Skeleton var4 = var3.skeleton; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + + for(int var5 = 0; var5 < var3.transformCount; ++var5) { + int var6 = var3.transformSkeletonLabels[var5]; + this.transform(var4.transformTypes[var6], var4.labels[var6], var3.transformXs[var5], var3.transformYs[var5], var3.transformZs[var5]); + } + + this.resetBounds(); + } + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(Lel;ILel;I[I)V" + ) + @Export("animate2") + public void animate2(Frames var1, int var2, Frames var3, int var4, int[] var5) { + if (var2 != -1) { + if (var5 != null && var4 != -1) { + Animation var6 = var1.frames[var2]; + Animation var7 = var3.frames[var4]; + Skeleton var8 = var6.skeleton; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + byte var9 = 0; + int var13 = var9 + 1; + int var10 = var5[var9]; + + int var11; + int var12; + for(var11 = 0; var11 < var6.transformCount; ++var11) { + for(var12 = var6.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { + ; + } + + if (var12 != var10 || var8.transformTypes[var12] == 0) { + this.transform(var8.transformTypes[var12], var8.labels[var12], var6.transformXs[var11], var6.transformYs[var11], var6.transformZs[var11]); + } + } + + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + var9 = 0; + var13 = var9 + 1; + var10 = var5[var9]; + + for(var11 = 0; var11 < var7.transformCount; ++var11) { + for(var12 = var7.transformSkeletonLabels[var11]; var12 > var10; var10 = var5[var13++]) { + ; + } + + if (var12 == var10 || var8.transformTypes[var12] == 0) { + this.transform(var8.transformTypes[var12], var8.labels[var12], var7.transformXs[var11], var7.transformYs[var11], var7.transformZs[var11]); + } + } + + this.resetBounds(); + } else { + this.animate(var1, var2); + } + } + } + + @ObfuscatedName("a") + @Export("transform") + void transform(int var1, int[] var2, int var3, int var4, int var5) { + int var6 = var2.length; + int var7; + int var8; + int var11; + int var12; + if (var1 == 0) { + var7 = 0; + Model_transformTempX = 0; + Model_transformTempY = 0; + Model_transformTempZ = 0; + + for(var8 = 0; var8 < var6; ++var8) { + int var18 = var2[var8]; + if (var18 < this.vertexLabels.length) { + int[] var19 = this.vertexLabels[var18]; + + for(var11 = 0; var11 < var19.length; ++var11) { + var12 = var19[var11]; + Model_transformTempX += this.verticesX[var12]; + Model_transformTempY += this.verticesY[var12]; + Model_transformTempZ += this.verticesZ[var12]; + ++var7; + } + } + } + + if (var7 > 0) { + Model_transformTempX = var3 + Model_transformTempX / var7; + Model_transformTempY = var4 + Model_transformTempY / var7; + Model_transformTempZ = var5 + Model_transformTempZ / var7; + } else { + Model_transformTempX = var3; + Model_transformTempY = var4; + Model_transformTempZ = var5; + } + + } else { + int[] var9; + int var10; + if (var1 == 1) { + for(var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var9 = this.vertexLabels[var8]; + + for(var10 = 0; var10 < var9.length; ++var10) { + var11 = var9[var10]; + this.verticesX[var11] += var3; + this.verticesY[var11] += var4; + this.verticesZ[var11] += var5; + } + } + } + + } else if (var1 == 2) { + for(var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var9 = this.vertexLabels[var8]; + + for(var10 = 0; var10 < var9.length; ++var10) { + var11 = var9[var10]; + this.verticesX[var11] -= Model_transformTempX; + this.verticesY[var11] -= Model_transformTempY; + this.verticesZ[var11] -= Model_transformTempZ; + var12 = (var3 & 255) * 8; + int var13 = (var4 & 255) * 8; + int var14 = (var5 & 255) * 8; + int var15; + int var16; + int var17; + if (var14 != 0) { + var15 = Model_sine[var14]; + var16 = Model_cosine[var14]; + var17 = var15 * this.verticesY[var11] + var16 * this.verticesX[var11] >> 16; + this.verticesY[var11] = var16 * this.verticesY[var11] - var15 * this.verticesX[var11] >> 16; + this.verticesX[var11] = var17; + } + + if (var12 != 0) { + var15 = Model_sine[var12]; + var16 = Model_cosine[var12]; + var17 = var16 * this.verticesY[var11] - var15 * this.verticesZ[var11] >> 16; + this.verticesZ[var11] = var15 * this.verticesY[var11] + var16 * this.verticesZ[var11] >> 16; + this.verticesY[var11] = var17; + } + + if (var13 != 0) { + var15 = Model_sine[var13]; + var16 = Model_cosine[var13]; + var17 = var15 * this.verticesZ[var11] + var16 * this.verticesX[var11] >> 16; + this.verticesZ[var11] = var16 * this.verticesZ[var11] - var15 * this.verticesX[var11] >> 16; + this.verticesX[var11] = var17; + } + + this.verticesX[var11] += Model_transformTempX; + this.verticesY[var11] += Model_transformTempY; + this.verticesZ[var11] += Model_transformTempZ; + } + } + } + + } else if (var1 == 3) { + for(var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.vertexLabels.length) { + var9 = this.vertexLabels[var8]; + + for(var10 = 0; var10 < var9.length; ++var10) { + var11 = var9[var10]; + this.verticesX[var11] -= Model_transformTempX; + this.verticesY[var11] -= Model_transformTempY; + this.verticesZ[var11] -= Model_transformTempZ; + this.verticesX[var11] = var3 * this.verticesX[var11] / 128; + this.verticesY[var11] = var4 * this.verticesY[var11] / 128; + this.verticesZ[var11] = var5 * this.verticesZ[var11] / 128; + this.verticesX[var11] += Model_transformTempX; + this.verticesY[var11] += Model_transformTempY; + this.verticesZ[var11] += Model_transformTempZ; + } + } + } + + } else if (var1 == 5) { + if (this.faceLabelsAlpha != null && this.faceAlphas != null) { + for(var7 = 0; var7 < var6; ++var7) { + var8 = var2[var7]; + if (var8 < this.faceLabelsAlpha.length) { + var9 = this.faceLabelsAlpha[var8]; + + for(var10 = 0; var10 < var9.length; ++var10) { + var11 = var9[var10]; + var12 = (this.faceAlphas[var11] & 255) + var3 * 8; + if (var12 < 0) { + var12 = 0; + } else if (var12 > 255) { + var12 = 255; + } + + this.faceAlphas[var11] = (byte)var12; + } + } + } + } + + } + } + } + + @ObfuscatedName("w") + @Export("rotateY90Ccw") + public void rotateY90Ccw() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + this.verticesX[var1] = this.verticesZ[var1]; + this.verticesZ[var1] = -var2; + } + + this.resetBounds(); + } + + @ObfuscatedName("k") + @Export("rotateY180") + public void rotateY180() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesX[var1] = -this.verticesX[var1]; + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + this.resetBounds(); + } + + @ObfuscatedName("i") + @Export("rotateY270Ccw") + public void rotateY270Ccw() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesZ[var1]; + this.verticesZ[var1] = this.verticesX[var1]; + this.verticesX[var1] = -var2; + } + + this.resetBounds(); + } + + @ObfuscatedName("x") + @Export("rotateZ") + public void rotateZ(int var1) { + int var2 = Model_sine[var1]; + int var3 = Model_cosine[var1]; + + for(int var4 = 0; var4 < this.verticesCount; ++var4) { + int var5 = var3 * this.verticesY[var4] - var2 * this.verticesZ[var4] >> 16; + this.verticesZ[var4] = var2 * this.verticesY[var4] + var3 * this.verticesZ[var4] >> 16; + this.verticesY[var4] = var5; + } + + this.resetBounds(); + } + + @ObfuscatedName("g") + @Export("offsetBy") + public void offsetBy(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.verticesCount; ++var4) { + this.verticesX[var4] += var1; + this.verticesY[var4] += var2; + this.verticesZ[var4] += var3; + } + + this.resetBounds(); + } + + @ObfuscatedName("u") + @Export("scale") + public void scale(int var1, int var2, int var3) { + 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.resetBounds(); + } + + @ObfuscatedName("t") + public final void method3106(int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + field1731[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method3088(); + } + + 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 var18 = var16 * var6 + var17 * var7 >> 16; + + for(int var19 = 0; var19 < this.verticesCount; ++var19) { + int var20 = this.verticesX[var19]; + int var21 = this.verticesY[var19]; + int var22 = this.verticesZ[var19]; + int var23; + if (var3 != 0) { + var23 = var21 * var14 + var20 * var15 >> 16; + var21 = var21 * var15 - var20 * var14 >> 16; + var20 = var23; + } + + if (var1 != 0) { + var23 = var21 * var11 - var22 * var10 >> 16; + var22 = var21 * var10 + var22 * var11 >> 16; + var21 = var23; + } + + if (var2 != 0) { + var23 = var22 * var12 + var20 * var13 >> 16; + var22 = var22 * var13 - var20 * var12 >> 16; + var20 = var23; + } + + var20 += var5; + var21 += var6; + var22 += var7; + var23 = var21 * var17 - var22 * var16 >> 16; + var22 = var21 * var16 + var22 * var17 >> 16; + field1726[var19] = var22 - var18; + modelViewportXs[var19] = var20 * Rasterizer3D.Rasterizer3D_zoom / var22 + var8; + modelViewportYs[var19] = var23 * Rasterizer3D.Rasterizer3D_zoom / var22 + var9; + if (this.field1692 > 0) { + field1727[var19] = var20; + field1728[var19] = var23; + field1742[var19] = var22; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var25) { + ; + } + + } + + @ObfuscatedName("p") + public final void method3053(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + field1731[0] = -1; + if (this.boundsType != 2 && this.boundsType != 1) { + this.method3088(); + } + + int var9 = Rasterizer3D.Rasterizer3D_clipMidX; + int var10 = Rasterizer3D.Rasterizer3D_clipMidY; + int var11 = Model_sine[var1]; + int var12 = Model_cosine[var1]; + int var13 = Model_sine[var2]; + int var14 = Model_cosine[var2]; + int var15 = Model_sine[var3]; + int var16 = Model_cosine[var3]; + int var17 = Model_sine[var4]; + int var18 = Model_cosine[var4]; + int var19 = var17 * var6 + var18 * var7 >> 16; + + for(int var20 = 0; var20 < this.verticesCount; ++var20) { + int var21 = this.verticesX[var20]; + int var22 = this.verticesY[var20]; + int var23 = this.verticesZ[var20]; + int var24; + if (var3 != 0) { + var24 = var22 * var15 + var21 * var16 >> 16; + var22 = var22 * var16 - var21 * var15 >> 16; + var21 = var24; + } + + if (var1 != 0) { + var24 = var22 * var12 - var23 * var11 >> 16; + var23 = var22 * var11 + var23 * var12 >> 16; + var22 = var24; + } + + if (var2 != 0) { + var24 = var23 * var13 + var21 * var14 >> 16; + var23 = var23 * var14 - var21 * var13 >> 16; + var21 = var24; + } + + var21 += var5; + var22 += var6; + var23 += var7; + var24 = var22 * var18 - var23 * var17 >> 16; + var23 = var22 * var17 + var23 * var18 >> 16; + field1726[var20] = var23 - var19; + modelViewportXs[var20] = var9 + var21 * Rasterizer3D.Rasterizer3D_zoom / var8; + modelViewportYs[var20] = var10 + var24 * Rasterizer3D.Rasterizer3D_zoom / var8; + if (this.field1692 > 0) { + field1727[var20] = var21; + field1728[var20] = var24; + field1742[var20] = var23; + } + } + + try { + this.draw0(false, false, false, 0L); + } catch (Exception var26) { + ; + } + + } + + @ObfuscatedName("o") + @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) { + field1731[var6] = 0; + } + + var6 = var3 ? 20 : 5; + + int var7; + int var8; + int var9; + int var10; + int var11; + int var12; + int var15; + int var16; + int var18; + int var28; + for(var7 = 0; var7 < this.indicesCount; ++var7) { + if (this.faceColors3[var7] != -2) { + var8 = this.indices1[var7]; + var9 = this.indices2[var7]; + var10 = this.indices3[var7]; + var11 = modelViewportXs[var8]; + var12 = modelViewportXs[var9]; + var28 = modelViewportXs[var10]; + int var29; + if (!var1 || var11 != -5000 && var12 != -5000 && var28 != -5000) { + if (var2 && UserComparator7.method3592(modelViewportYs[var8], modelViewportYs[var9], modelViewportYs[var10], var11, var12, var28, var6)) { + GrandExchangeOfferWorldComparator.method129(var4); + var2 = false; + } + + if ((var11 - var12) * (modelViewportYs[var10] - modelViewportYs[var9]) - (var28 - var12) * (modelViewportYs[var8] - modelViewportYs[var9]) > 0) { + field1685[var7] = false; + if (var11 >= 0 && var12 >= 0 && var28 >= 0 && var11 <= Rasterizer3D.Rasterizer3D_clipWidth && var12 <= Rasterizer3D.Rasterizer3D_clipWidth && var28 <= Rasterizer3D.Rasterizer3D_clipWidth) { + field1722[var7] = false; + } else { + field1722[var7] = true; + } + + var29 = (field1726[var8] + field1726[var9] + field1726[var10]) / 3 + this.radius; + field1732[var29][field1731[var29]++] = var7; + } + } else { + var29 = field1727[var8]; + var15 = field1727[var9]; + var16 = field1727[var10]; + int var30 = field1728[var8]; + var18 = field1728[var9]; + int var19 = field1728[var10]; + int var20 = field1742[var8]; + int var21 = field1742[var9]; + int var22 = field1742[var10]; + var29 -= var15; + var16 -= var15; + var30 -= var18; + var19 -= var18; + var20 -= var21; + var22 -= var21; + int var23 = var30 * var22 - var20 * var19; + int var24 = var20 * var16 - var29 * var22; + int var25 = var29 * var19 - var30 * var16; + if (var15 * var23 + var18 * var24 + var21 * var25 > 0) { + field1685[var7] = true; + int var26 = (field1726[var8] + field1726[var9] + field1726[var10]) / 3 + this.radius; + field1732[var26][field1731[var26]++] = var7; + } + } + } + } + + int[] var27; + if (this.faceRenderPriorities == null) { + for(var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1731[var7]; + if (var8 > 0) { + var27 = field1732[var7]; + + for(var10 = 0; var10 < var8; ++var10) { + this.drawFace(var27[var10]); + } + } + } + + } else { + for(var7 = 0; var7 < 12; ++var7) { + field1707[var7] = 0; + field1730[var7] = 0; + } + + for(var7 = this.diameter - 1; var7 >= 0; --var7) { + var8 = field1731[var7]; + if (var8 > 0) { + var27 = field1732[var7]; + + for(var10 = 0; var10 < var8; ++var10) { + var11 = var27[var10]; + byte var31 = this.faceRenderPriorities[var11]; + var28 = field1707[var31]++; + field1734[var31][var28] = var11; + if (var31 < 10) { + field1730[var31] += var7; + } else if (var31 == 10) { + field1735[var28] = var7; + } else { + field1736[var28] = var7; + } + } + } + } + + var7 = 0; + if (field1707[1] > 0 || field1707[2] > 0) { + var7 = (field1730[1] + field1730[2]) / (field1707[1] + field1707[2]); + } + + var8 = 0; + if (field1707[3] > 0 || field1707[4] > 0) { + var8 = (field1730[3] + field1730[4]) / (field1707[3] + field1707[4]); + } + + var9 = 0; + if (field1707[6] > 0 || field1707[8] > 0) { + var9 = (field1730[8] + field1730[6]) / (field1707[8] + field1707[6]); + } + + var11 = 0; + var12 = field1707[10]; + int[] var13 = field1734[10]; + int[] var14 = field1735; + if (var11 == var12) { + var11 = 0; + var12 = field1707[11]; + var13 = field1734[11]; + var14 = field1736; + } + + if (var11 < var12) { + var10 = var14[var11]; + } else { + var10 = -1000; + } + + for(var15 = 0; var15 < 10; ++var15) { + while(var15 == 0 && var10 > var7) { + this.drawFace(var13[var11++]); + if (var11 == var12 && var13 != field1734[11]) { + var11 = 0; + var12 = field1707[11]; + var13 = field1734[11]; + var14 = field1736; + } + + if (var11 < var12) { + var10 = var14[var11]; + } else { + var10 = -1000; + } + } + + while(var15 == 3 && var10 > var8) { + this.drawFace(var13[var11++]); + if (var11 == var12 && var13 != field1734[11]) { + var11 = 0; + var12 = field1707[11]; + var13 = field1734[11]; + var14 = field1736; + } + + if (var11 < var12) { + var10 = var14[var11]; + } else { + var10 = -1000; + } + } + + while(var15 == 5 && var10 > var9) { + this.drawFace(var13[var11++]); + if (var11 == var12 && var13 != field1734[11]) { + var11 = 0; + var12 = field1707[11]; + var13 = field1734[11]; + var14 = field1736; + } + + if (var11 < var12) { + var10 = var14[var11]; + } else { + var10 = -1000; + } + } + + var16 = field1707[var15]; + int[] var17 = field1734[var15]; + + for(var18 = 0; var18 < var16; ++var18) { + this.drawFace(var17[var18]); + } + } + + while(var10 != -1000) { + this.drawFace(var13[var11++]); + if (var11 == var12 && var13 != field1734[11]) { + var11 = 0; + var13 = field1734[11]; + var12 = field1707[11]; + var14 = field1736; + } + + if (var11 < var12) { + var10 = var14[var11]; + } else { + var10 = -1000; + } + } + + } + } + } + + @ObfuscatedName("ay") + @Export("drawFace") + final void drawFace(int var1) { + if (field1685[var1]) { + this.method3057(var1); + } else { + int var2 = this.indices1[var1]; + int var3 = this.indices2[var1]; + int var4 = this.indices3[var1]; + Rasterizer3D.field1775 = field1722[var1]; + if (this.faceAlphas == null) { + Rasterizer3D.Rasterizer3D_alpha = 0; + } else { + Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + int var5; + int var6; + int var7; + if (this.field1700 != null && this.field1700[var1] != -1) { + int var8 = this.field1700[var1] & 255; + var5 = this.field1718[var8]; + var6 = this.field1705[var8]; + var7 = this.field1749[var8]; + } else { + var5 = var2; + var6 = var3; + var7 = var4; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3212(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1727[var5], field1727[var6], field1727[var7], field1728[var5], field1728[var6], field1728[var7], field1742[var5], field1742[var6], field1742[var7], this.faceTextures[var1]); + } else { + Rasterizer3D.method3212(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1], field1727[var5], field1727[var6], field1727[var7], field1728[var5], field1728[var6], field1728[var7], field1742[var5], field1742[var6], field1742[var7], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3179(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], field1697[this.faceColors1[var1]]); + } else { + Rasterizer3D.method3175(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]); + } + + } + } + + @ObfuscatedName("am") + final void method3057(int var1) { + int var2 = Rasterizer3D.Rasterizer3D_clipMidX; + int var3 = Rasterizer3D.Rasterizer3D_clipMidY; + int var4 = 0; + int var5 = this.indices1[var1]; + int var6 = this.indices2[var1]; + int var7 = this.indices3[var1]; + int var8 = field1742[var5]; + int var9 = field1742[var6]; + int var10 = field1742[var7]; + if (this.faceAlphas == null) { + Rasterizer3D.Rasterizer3D_alpha = 0; + } else { + Rasterizer3D.Rasterizer3D_alpha = this.faceAlphas[var1] & 255; + } + + int var11; + int var12; + int var13; + int var14; + if (var8 >= 50) { + field1738[var4] = modelViewportXs[var5]; + field1739[var4] = modelViewportYs[var5]; + field1740[var4++] = this.faceColors1[var1]; + } else { + var11 = field1727[var5]; + var12 = field1728[var5]; + var13 = this.faceColors1[var1]; + if (var10 >= 50) { + var14 = field1750[var10 - var8] * (50 - var8); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var7] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var7] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + + if (var9 >= 50) { + var14 = field1750[var9 - var8] * (50 - var8); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var6] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var6] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + } + + if (var9 >= 50) { + field1738[var4] = modelViewportXs[var6]; + field1739[var4] = modelViewportYs[var6]; + field1740[var4++] = this.faceColors2[var1]; + } else { + var11 = field1727[var6]; + var12 = field1728[var6]; + var13 = this.faceColors2[var1]; + if (var8 >= 50) { + var14 = field1750[var8 - var9] * (50 - var9); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var5] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var5] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + + if (var10 >= 50) { + var14 = field1750[var10 - var9] * (50 - var9); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var7] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var7] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors3[var1] - var13) * var14 >> 16); + } + } + + if (var10 >= 50) { + field1738[var4] = modelViewportXs[var7]; + field1739[var4] = modelViewportYs[var7]; + field1740[var4++] = this.faceColors3[var1]; + } else { + var11 = field1727[var7]; + var12 = field1728[var7]; + var13 = this.faceColors3[var1]; + if (var9 >= 50) { + var14 = field1750[var9 - var10] * (50 - var10); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var6] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var6] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors2[var1] - var13) * var14 >> 16); + } + + if (var8 >= 50) { + var14 = field1750[var8 - var10] * (50 - var10); + field1738[var4] = var2 + Rasterizer3D.Rasterizer3D_zoom * (var11 + ((field1727[var5] - var11) * var14 >> 16)) / 50; + field1739[var4] = var3 + Rasterizer3D.Rasterizer3D_zoom * (var12 + ((field1728[var5] - var12) * var14 >> 16)) / 50; + field1740[var4++] = var13 + ((this.faceColors1[var1] - var13) * var14 >> 16); + } + } + + var11 = field1738[0]; + var12 = field1738[1]; + var13 = field1738[2]; + var14 = field1739[0]; + int var15 = field1739[1]; + int var16 = field1739[2]; + Rasterizer3D.field1775 = false; + int var17; + int var18; + int var19; + int var20; + if (var4 == 3) { + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1775 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1700 != null && this.field1700[var1] != -1) { + var20 = this.field1700[var1] & 255; + var17 = this.field1718[var20]; + var18 = this.field1705[var20]; + var19 = this.field1749[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3212(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], this.faceTextures[var1]); + } else { + Rasterizer3D.method3212(var14, var15, var16, var11, var12, var13, field1740[0], field1740[1], field1740[2], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], this.faceTextures[var1]); + } + } else if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3179(var14, var15, var16, var11, var12, var13, field1697[this.faceColors1[var1]]); + } else { + Rasterizer3D.method3175(var14, var15, var16, var11, var12, var13, field1740[0], field1740[1], field1740[2]); + } + } + + if (var4 == 4) { + if (var11 < 0 || var12 < 0 || var13 < 0 || var11 > Rasterizer3D.Rasterizer3D_clipWidth || var12 > Rasterizer3D.Rasterizer3D_clipWidth || var13 > Rasterizer3D.Rasterizer3D_clipWidth || field1738[3] < 0 || field1738[3] > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1775 = true; + } + + if (this.faceTextures != null && this.faceTextures[var1] != -1) { + if (this.field1700 != null && this.field1700[var1] != -1) { + var20 = this.field1700[var1] & 255; + var17 = this.field1718[var20]; + var18 = this.field1705[var20]; + var19 = this.field1749[var20]; + } else { + var17 = var5; + var18 = var6; + var19 = var7; + } + + short var21 = this.faceTextures[var1]; + if (this.faceColors3[var1] == -1) { + Rasterizer3D.method3212(var14, var15, var16, var11, var12, var13, this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], var21); + Rasterizer3D.method3212(var14, var16, field1739[3], var11, var13, field1738[3], this.faceColors1[var1], this.faceColors1[var1], this.faceColors1[var1], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], var21); + } else { + Rasterizer3D.method3212(var14, var15, var16, var11, var12, var13, field1740[0], field1740[1], field1740[2], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], var21); + Rasterizer3D.method3212(var14, var16, field1739[3], var11, var13, field1738[3], field1740[0], field1740[2], field1740[3], field1727[var17], field1727[var18], field1727[var19], field1728[var17], field1728[var18], field1728[var19], field1742[var17], field1742[var18], field1742[var19], var21); + } + } else if (this.faceColors3[var1] == -1) { + var17 = field1697[this.faceColors1[var1]]; + Rasterizer3D.method3179(var14, var15, var16, var11, var12, var13, var17); + Rasterizer3D.method3179(var14, var16, field1739[3], var11, var13, field1738[3], var17); + } else { + Rasterizer3D.method3175(var14, var15, var16, var11, var12, var13, field1740[0], field1740[1], field1740[2]); + Rasterizer3D.method3175(var14, var16, field1739[3], var11, var13, field1738[3], field1740[0], field1740[2], field1740[3]); + } + } + + } + + @ObfuscatedName("cz") + @Export("draw") + void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { + field1731[0] = -1; + if (this.boundsType != 1) { + this.calculateBoundsCylinder(); + } + + this.calculateBoundingBox(var1); + int var11 = var5 * var8 - var4 * var6 >> 16; + int var12 = var2 * var7 + var3 * var11 >> 16; + int var13 = var3 * this.xzRadius >> 16; + int var14 = var12 + var13; + if (var14 > 50 && var12 < 3500) { + int var15 = var8 * var4 + var5 * var6 >> 16; + int var16 = (var15 - this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; + if (var16 / var14 < Rasterizer3D.Rasterizer3D_clipMidX2) { + int var17 = (var15 + this.xzRadius) * Rasterizer3D.Rasterizer3D_zoom; + if (var17 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidX) { + int var18 = var3 * var7 - var11 * var2 >> 16; + int var19 = var2 * this.xzRadius >> 16; + int var20 = (var18 + var19) * Rasterizer3D.Rasterizer3D_zoom; + if (var20 / var14 > Rasterizer3D.Rasterizer3D_clipNegativeMidY) { + int var21 = (var3 * super.height >> 16) + var19; + int var22 = (var18 - var21) * Rasterizer3D.Rasterizer3D_zoom; + if (var22 / var14 < Rasterizer3D.Rasterizer3D_clipMidY2) { + int var23 = var13 + (var2 * super.height >> 16); + boolean var24 = false; + boolean var25 = false; + if (var12 - var23 <= 50) { + var25 = true; + } + + boolean var26 = var25 || this.field1692 > 0; + int var27 = ViewportMouse.ViewportMouse_x; + int var29 = ModeWhere.method3877(); + boolean var30 = ViewportMouse.ViewportMouse_isInViewport; + boolean var32 = TileItem.method2265(var9); + boolean var33 = false; + int var35; + int var36; + int var37; + if (var32 && var30) { + boolean var34 = false; + if (field1744) { + var34 = WorldMapSprite.method498(this, var6, var7, var8); + } else { + var35 = var12 - var13; + if (var35 <= 50) { + var35 = 50; + } + + if (var15 > 0) { + var16 /= var14; + var17 /= var35; + } else { + var17 /= var14; + var16 /= var35; + } + + if (var18 > 0) { + var22 /= var14; + var20 /= var35; + } else { + var20 /= var14; + var22 /= var35; + } + + var36 = var27 - Rasterizer3D.Rasterizer3D_clipMidX; + var37 = var29 - Rasterizer3D.Rasterizer3D_clipMidY; + if (var36 > var16 && var36 < var17 && var37 > var22 && var37 < var20) { + var34 = true; + } + } + + if (var34) { + if (this.isSingleTile) { + GrandExchangeOfferWorldComparator.method129(var9); + } else { + var33 = true; + } + } + } + + int var45 = Rasterizer3D.Rasterizer3D_clipMidX; + var35 = Rasterizer3D.Rasterizer3D_clipMidY; + var36 = 0; + var37 = 0; + if (var1 != 0) { + var36 = Model_sine[var1]; + var37 = Model_cosine[var1]; + } + + for(int var38 = 0; var38 < this.verticesCount; ++var38) { + int var39 = this.verticesX[var38]; + int var40 = this.verticesY[var38]; + int var41 = this.verticesZ[var38]; + int var42; + if (var1 != 0) { + var42 = var41 * var36 + var39 * var37 >> 16; + var41 = var41 * var37 - var39 * var36 >> 16; + var39 = var42; + } + + var39 += var6; + var40 += var7; + var41 += var8; + var42 = var41 * var4 + var5 * var39 >> 16; + var41 = var5 * var41 - var39 * var4 >> 16; + var39 = var42; + var42 = var3 * var40 - var41 * var2 >> 16; + var41 = var40 * var2 + var3 * var41 >> 16; + field1726[var38] = var41 - var12; + if (var41 >= 50) { + modelViewportXs[var38] = var39 * Rasterizer3D.Rasterizer3D_zoom / var41 + var45; + modelViewportYs[var38] = var42 * Rasterizer3D.Rasterizer3D_zoom / var41 + var35; + } else { + modelViewportXs[var38] = -5000; + var24 = true; + } + + if (var26) { + field1727[var38] = var39; + field1728[var38] = var42; + field1742[var38] = var41; + } + } + + try { + this.draw0(var24, var33, this.isSingleTile, var9); + } catch (Exception var44) { + ; + } + + } + } + } + } + } + } } diff --git a/runescape-client/src/main/java/ModelData.java b/runescape-client/src/main/java/ModelData.java index d71b4c3c98..1138817e4d 100644 --- a/runescape-client/src/main/java/ModelData.java +++ b/runescape-client/src/main/java/ModelData.java @@ -3,1744 +3,1720 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("es") +@ObfuscatedName("ek") @Implements("ModelData") -public class ModelData extends Renderable -{ - @ObfuscatedName("av") - static int[] field1598; - @ObfuscatedName("aq") - static int[] field1599; - @ObfuscatedName("ah") - static int field1600; - @ObfuscatedName("am") - @Export("ModelData_sine") - static int[] ModelData_sine; - @ObfuscatedName("aa") - @Export("ModelData_cosine") - static int[] ModelData_cosine; - @ObfuscatedName("h") - @Export("verticesCount") - int verticesCount; - @ObfuscatedName("v") - @Export("verticesX") - int[] verticesX; - @ObfuscatedName("x") - @Export("verticesY") - int[] verticesY; - @ObfuscatedName("w") - @Export("verticesZ") - int[] verticesZ; - @ObfuscatedName("t") - @Export("faceCount") - int faceCount; - @ObfuscatedName("j") - @Export("indices1") - int[] indices1; - @ObfuscatedName("n") - @Export("indices2") - int[] indices2; - @ObfuscatedName("p") - @Export("indices3") - int[] indices3; - @ObfuscatedName("l") - @Export("faceRenderTypes") - byte[] faceRenderTypes; - @ObfuscatedName("z") - @Export("faceRenderPriorities") - byte[] faceRenderPriorities; - @ObfuscatedName("u") - @Export("faceAlphas") - byte[] faceAlphas; - @ObfuscatedName("e") - @Export("textureCoords") - byte[] textureCoords; - @ObfuscatedName("m") - @Export("faceColors") - short[] faceColors; - @ObfuscatedName("c") - @Export("faceTextures") - short[] faceTextures; - @ObfuscatedName("i") - @Export("priority") - byte priority; - @ObfuscatedName("f") - @Export("textureTriangleCount") - int textureTriangleCount; - @ObfuscatedName("a") - @Export("textureRenderTypes") - byte[] textureRenderTypes; - @ObfuscatedName("b") - @Export("texTriangleX") - short[] texTriangleX; - @ObfuscatedName("y") - @Export("texTriangleY") - short[] texTriangleY; - @ObfuscatedName("r") - @Export("texTriangleZ") - short[] texTriangleZ; - @ObfuscatedName("q") - @Export("vertexSkins") - int[] vertexSkins; - @ObfuscatedName("g") - @Export("faceSkins") - int[] faceSkins; - @ObfuscatedName("s") - @Export("vertexLabels") - int[][] vertexLabels; - @ObfuscatedName("o") - @Export("faceLabelsAlpha") - int[][] faceLabelsAlpha; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "[Lef;" - ) - @Export("faceNormals") - FaceNormal[] faceNormals; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "[Leb;" - ) - @Export("vertexNormals") - VertexNormal[] vertexNormals; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "[Leb;" - ) - VertexNormal[] field1601; - @ObfuscatedName("aj") - @Export("ambient") - public short ambient; - @ObfuscatedName("ax") - @Export("contrast") - public short contrast; - @ObfuscatedName("ag") - @Export("isBoundsCalculated") - boolean isBoundsCalculated; - @ObfuscatedName("au") - int field1593; - @ObfuscatedName("as") - int field1585; - @ObfuscatedName("ae") - int field1595; - @ObfuscatedName("ac") - int field1596; - @ObfuscatedName("ak") - int field1597; - - static { - field1598 = new int[10000]; // L: 44 - field1599 = new int[10000]; // L: 45 - field1600 = 0; // L: 46 - ModelData_sine = Rasterizer3D.Rasterizer3D_sine; // L: 47 - ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; // L: 48 - } - - ModelData() { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - } // L: 50 - - @ObfuscatedSignature( - descriptor = "([Les;I)V" - ) - public ModelData(ModelData[] var1, int var2) { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - boolean var3 = false; // L: 471 - boolean var4 = false; // L: 472 - boolean var5 = false; // L: 473 - boolean var6 = false; // L: 474 - boolean var7 = false; // L: 475 - boolean var8 = false; // L: 476 - this.verticesCount = 0; // L: 477 - this.faceCount = 0; // L: 478 - this.textureTriangleCount = 0; // L: 479 - this.priority = -1; // L: 480 - - int var9; - ModelData var10; - for (var9 = 0; var9 < var2; ++var9) { // L: 481 - var10 = var1[var9]; // L: 482 - if (var10 != null) { // L: 483 - this.verticesCount += var10.verticesCount; // L: 484 - this.faceCount += var10.faceCount; // L: 485 - this.textureTriangleCount += var10.textureTriangleCount; // L: 486 - if (var10.faceRenderPriorities != null) { // L: 487 - var4 = true; - } else { - if (this.priority == -1) { // L: 489 - this.priority = var10.priority; - } - - if (this.priority != var10.priority) { // L: 490 - var4 = true; - } - } - - var3 |= var10.faceRenderTypes != null; // L: 492 - var5 |= var10.faceAlphas != null; // L: 493 - var6 |= var10.faceSkins != null; // L: 494 - var7 |= var10.faceTextures != null; // L: 495 - var8 |= var10.textureCoords != null; // L: 496 - } - } - - this.verticesX = new int[this.verticesCount]; // L: 499 - this.verticesY = new int[this.verticesCount]; // L: 500 - this.verticesZ = new int[this.verticesCount]; // L: 501 - this.vertexSkins = new int[this.verticesCount]; // L: 502 - this.indices1 = new int[this.faceCount]; // L: 503 - this.indices2 = new int[this.faceCount]; // L: 504 - this.indices3 = new int[this.faceCount]; // L: 505 - if (var3) { // L: 506 - this.faceRenderTypes = new byte[this.faceCount]; - } - - if (var4) { // L: 507 - this.faceRenderPriorities = new byte[this.faceCount]; - } - - if (var5) { // L: 508 - this.faceAlphas = new byte[this.faceCount]; - } - - if (var6) { // L: 509 - this.faceSkins = new int[this.faceCount]; - } - - if (var7) { // L: 510 - this.faceTextures = new short[this.faceCount]; - } - - if (var8) { // L: 511 - this.textureCoords = new byte[this.faceCount]; - } - - this.faceColors = new short[this.faceCount]; // L: 512 - if (this.textureTriangleCount > 0) { // L: 513 - this.textureRenderTypes = new byte[this.textureTriangleCount]; // L: 514 - this.texTriangleX = new short[this.textureTriangleCount]; // L: 515 - this.texTriangleY = new short[this.textureTriangleCount]; // L: 516 - this.texTriangleZ = new short[this.textureTriangleCount]; // L: 517 - } - - this.verticesCount = 0; // L: 519 - this.faceCount = 0; // L: 520 - this.textureTriangleCount = 0; // L: 521 - - for (var9 = 0; var9 < var2; ++var9) { // L: 522 - var10 = var1[var9]; // L: 523 - if (var10 != null) { // L: 524 - int var11; - for (var11 = 0; var11 < var10.faceCount; ++var11) { // L: 525 - if (var3 && var10.faceRenderTypes != null) { // L: 526 527 - this.faceRenderTypes[this.faceCount] = var10.faceRenderTypes[var11]; - } - - if (var4) { // L: 529 - if (var10.faceRenderPriorities != null) { - this.faceRenderPriorities[this.faceCount] = var10.faceRenderPriorities[var11]; // L: 530 - } else { - this.faceRenderPriorities[this.faceCount] = var10.priority; // L: 531 - } - } - - if (var5 && var10.faceAlphas != null) { // L: 533 534 - this.faceAlphas[this.faceCount] = var10.faceAlphas[var11]; - } - - if (var6 && var10.faceSkins != null) { // L: 536 537 - this.faceSkins[this.faceCount] = var10.faceSkins[var11]; - } - - if (var7) { // L: 539 - if (var10.faceTextures != null) { // L: 540 - this.faceTextures[this.faceCount] = var10.faceTextures[var11]; - } else { - this.faceTextures[this.faceCount] = -1; // L: 541 - } - } - - if (var8) { // L: 543 - if (var10.textureCoords != null && var10.textureCoords[var11] != -1) { // L: 544 - this.textureCoords[this.faceCount] = (byte)(this.textureTriangleCount + var10.textureCoords[var11]); - } else { - this.textureCoords[this.faceCount] = -1; // L: 545 - } - } - - this.faceColors[this.faceCount] = var10.faceColors[var11]; // L: 547 - this.indices1[this.faceCount] = this.method2856(var10, var10.indices1[var11]); // L: 548 - this.indices2[this.faceCount] = this.method2856(var10, var10.indices2[var11]); // L: 549 - this.indices3[this.faceCount] = this.method2856(var10, var10.indices3[var11]); // L: 550 - ++this.faceCount; // L: 551 - } - - for (var11 = 0; var11 < var10.textureTriangleCount; ++var11) { // L: 553 - byte var12 = this.textureRenderTypes[this.textureTriangleCount] = var10.textureRenderTypes[var11]; // L: 554 - if (var12 == 0) { // L: 555 - this.texTriangleX[this.textureTriangleCount] = (short)this.method2856(var10, var10.texTriangleX[var11]); // L: 556 - this.texTriangleY[this.textureTriangleCount] = (short)this.method2856(var10, var10.texTriangleY[var11]); // L: 557 - this.texTriangleZ[this.textureTriangleCount] = (short)this.method2856(var10, var10.texTriangleZ[var11]); // L: 558 - } - - ++this.textureTriangleCount; // L: 560 - } - } - } - - } // L: 564 - - ModelData(byte[] var1) { - this.verticesCount = 0; - this.faceCount = 0; - this.priority = 0; - this.isBoundsCalculated = false; - if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { // L: 59 - this.method2853(var1); - } else { - this.method2854(var1); // L: 60 - } - - } // L: 61 - - @ObfuscatedSignature( - descriptor = "(Les;ZZZZ)V", - garbageValue = "1" - ) - public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { - this.verticesCount = 0; // L: 9 - this.faceCount = 0; // L: 13 - this.priority = 0; // L: 23 - this.isBoundsCalculated = false; // L: 38 - this.verticesCount = var1.verticesCount; // L: 588 - this.faceCount = var1.faceCount; // L: 589 - this.textureTriangleCount = var1.textureTriangleCount; // L: 590 - int var6; - if (var2) { // L: 591 - this.verticesX = var1.verticesX; // L: 592 - this.verticesY = var1.verticesY; // L: 593 - this.verticesZ = var1.verticesZ; // L: 594 - } else { - this.verticesX = new int[this.verticesCount]; // L: 597 - this.verticesY = new int[this.verticesCount]; // L: 598 - this.verticesZ = new int[this.verticesCount]; // L: 599 - - for (var6 = 0; var6 < this.verticesCount; ++var6) { // L: 600 - this.verticesX[var6] = var1.verticesX[var6]; // L: 601 - this.verticesY[var6] = var1.verticesY[var6]; // L: 602 - this.verticesZ[var6] = var1.verticesZ[var6]; // L: 603 - } - } - - if (var3) { // L: 606 - this.faceColors = var1.faceColors; - } else { - this.faceColors = new short[this.faceCount]; // L: 608 - - for (var6 = 0; var6 < this.faceCount; ++var6) { // L: 609 - this.faceColors[var6] = var1.faceColors[var6]; - } - } - - if (!var4 && var1.faceTextures != null) { // L: 611 - this.faceTextures = new short[this.faceCount]; // L: 613 - - for (var6 = 0; var6 < this.faceCount; ++var6) { // L: 614 - this.faceTextures[var6] = var1.faceTextures[var6]; - } - } else { - this.faceTextures = var1.faceTextures; - } - - this.faceAlphas = var1.faceAlphas; // L: 616 - this.indices1 = var1.indices1; // L: 626 - this.indices2 = var1.indices2; // L: 627 - this.indices3 = var1.indices3; // L: 628 - this.faceRenderTypes = var1.faceRenderTypes; // L: 629 - this.faceRenderPriorities = var1.faceRenderPriorities; // L: 630 - this.textureCoords = var1.textureCoords; // L: 631 - this.priority = var1.priority; // L: 632 - this.textureRenderTypes = var1.textureRenderTypes; // L: 633 - this.texTriangleX = var1.texTriangleX; // L: 634 - this.texTriangleY = var1.texTriangleY; // L: 635 - this.texTriangleZ = var1.texTriangleZ; // L: 636 - this.vertexSkins = var1.vertexSkins; // L: 637 - this.faceSkins = var1.faceSkins; // L: 638 - this.vertexLabels = var1.vertexLabels; // L: 639 - this.faceLabelsAlpha = var1.faceLabelsAlpha; // L: 640 - this.vertexNormals = var1.vertexNormals; // L: 641 - this.faceNormals = var1.faceNormals; // L: 642 - this.field1601 = var1.field1601; // L: 643 - this.ambient = var1.ambient; // L: 644 - this.contrast = var1.contrast; // L: 645 - } - - @ObfuscatedName("v") - void method2853(byte[] var1) { - Buffer var2 = new Buffer(var1); // L: 64 - Buffer var3 = new Buffer(var1); // L: 65 - Buffer var4 = new Buffer(var1); // L: 66 - Buffer var5 = new Buffer(var1); // L: 67 - Buffer var6 = new Buffer(var1); // L: 68 - Buffer var7 = new Buffer(var1); // L: 69 - Buffer var8 = new Buffer(var1); // L: 70 - var2.offset = var1.length - 23; // L: 71 - int var9 = var2.readUnsignedShort(); // L: 72 - int var10 = var2.readUnsignedShort(); // L: 73 - int var11 = var2.readUnsignedByte(); // L: 74 - int var12 = var2.readUnsignedByte(); // L: 75 - int var13 = var2.readUnsignedByte(); // L: 76 - int var14 = var2.readUnsignedByte(); // L: 77 - int var15 = var2.readUnsignedByte(); // L: 78 - int var16 = var2.readUnsignedByte(); // L: 79 - int var17 = var2.readUnsignedByte(); // L: 80 - int var18 = var2.readUnsignedShort(); // L: 81 - int var19 = var2.readUnsignedShort(); // L: 82 - int var20 = var2.readUnsignedShort(); // L: 83 - int var21 = var2.readUnsignedShort(); // L: 84 - int var22 = var2.readUnsignedShort(); // L: 85 - int var23 = 0; // L: 86 - int var24 = 0; // L: 87 - int var25 = 0; // L: 88 - int var26; - if (var11 > 0) { // L: 89 - this.textureRenderTypes = new byte[var11]; // L: 90 - var2.offset = 0; // L: 91 - - for (var26 = 0; var26 < var11; ++var26) { // L: 92 - byte var27 = this.textureRenderTypes[var26] = var2.readByte(); // L: 93 - if (var27 == 0) { // L: 94 - ++var23; - } - - if (var27 >= 1 && var27 <= 3) { // L: 95 - ++var24; - } - - if (var27 == 2) { // L: 96 - ++var25; - } - } - } - - var26 = var11 + var9; // L: 101 - int var28 = var26; // L: 102 - if (var12 == 1) { // L: 103 - var26 += var10; - } - - int var29 = var26; // L: 104 - var26 += var10; // L: 105 - int var30 = var26; // L: 106 - if (var13 == 255) { // L: 107 - var26 += var10; - } - - int var31 = var26; // L: 108 - if (var15 == 1) { // L: 109 - var26 += var10; - } - - int var32 = var26; // L: 110 - if (var17 == 1) { // L: 111 - var26 += var9; - } - - int var33 = var26; // L: 112 - if (var14 == 1) { // L: 113 - var26 += var10; - } - - int var34 = var26; // L: 114 - var26 += var21; // L: 115 - int var35 = var26; // L: 116 - if (var16 == 1) { // L: 117 - var26 += var10 * 2; - } - - int var36 = var26; // L: 118 - var26 += var22; // L: 119 - int var37 = var26; // L: 120 - var26 += var10 * 2; // L: 121 - int var38 = var26; // L: 122 - var26 += var18; // L: 123 - int var39 = var26; // L: 124 - var26 += var19; // L: 125 - int var40 = var26; // L: 126 - var26 += var20; // L: 127 - int var41 = var26; // L: 128 - var26 += var23 * 6; // L: 129 - int var42 = var26; // L: 130 - var26 += var24 * 6; // L: 131 - int var43 = var26; // L: 132 - var26 += var24 * 6; // L: 133 - int var44 = var26; // L: 134 - var26 += var24 * 2; // L: 135 - int var45 = var26; // L: 136 - var26 += var24; // L: 137 - int var46 = var26; // L: 138 - var26 += var24 * 2 + var25 * 2; // L: 139 - this.verticesCount = var9; // L: 141 - this.faceCount = var10; // L: 142 - this.textureTriangleCount = var11; // L: 143 - this.verticesX = new int[var9]; // L: 144 - this.verticesY = new int[var9]; // L: 145 - this.verticesZ = new int[var9]; // L: 146 - this.indices1 = new int[var10]; // L: 147 - this.indices2 = new int[var10]; // L: 148 - this.indices3 = new int[var10]; // L: 149 - if (var17 == 1) { // L: 150 - this.vertexSkins = new int[var9]; - } - - if (var12 == 1) { // L: 151 - this.faceRenderTypes = new byte[var10]; - } - - if (var13 == 255) { // L: 152 - this.faceRenderPriorities = new byte[var10]; - } else { - this.priority = (byte)var13; // L: 153 - } - - if (var14 == 1) { // L: 154 - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { // L: 155 - this.faceSkins = new int[var10]; - } - - if (var16 == 1) { // L: 156 - this.faceTextures = new short[var10]; - } - - if (var16 == 1 && var11 > 0) { // L: 157 - this.textureCoords = new byte[var10]; - } - - this.faceColors = new short[var10]; // L: 158 - if (var11 > 0) { // L: 159 - this.texTriangleX = new short[var11]; // L: 160 - this.texTriangleY = new short[var11]; // L: 161 - this.texTriangleZ = new short[var11]; // L: 162 - } - - var2.offset = var11; // L: 164 - var3.offset = var38; // L: 165 - var4.offset = var39; // L: 166 - var5.offset = var40; // L: 167 - var6.offset = var32; // L: 168 - int var48 = 0; // L: 169 - int var49 = 0; // L: 170 - int var50 = 0; // L: 171 - - int var51; - int var52; - int var53; - int var54; - int var55; - for (var51 = 0; var51 < var9; ++var51) { // L: 172 - var52 = var2.readUnsignedByte(); // L: 173 - var53 = 0; // L: 174 - if ((var52 & 1) != 0) { // L: 175 - var53 = var3.readShortSmart(); - } - - var54 = 0; // L: 176 - if ((var52 & 2) != 0) { // L: 177 - var54 = var4.readShortSmart(); - } - - var55 = 0; // L: 178 - if ((var52 & 4) != 0) { // L: 179 - var55 = var5.readShortSmart(); - } - - this.verticesX[var51] = var48 + var53; // L: 180 - this.verticesY[var51] = var49 + var54; // L: 181 - this.verticesZ[var51] = var50 + var55; // L: 182 - var48 = this.verticesX[var51]; // L: 183 - var49 = this.verticesY[var51]; // L: 184 - var50 = this.verticesZ[var51]; // L: 185 - if (var17 == 1) { // L: 186 - this.vertexSkins[var51] = var6.readUnsignedByte(); - } - } - - var2.offset = var37; // L: 188 - var3.offset = var28; // L: 189 - var4.offset = var30; // L: 190 - var5.offset = var33; // L: 191 - var6.offset = var31; // L: 192 - var7.offset = var35; // L: 193 - var8.offset = var36; // L: 194 - - for (var51 = 0; var51 < var10; ++var51) { // L: 195 - this.faceColors[var51] = (short)var2.readUnsignedShort(); // L: 196 - if (var12 == 1) { // L: 197 - this.faceRenderTypes[var51] = var3.readByte(); - } - - if (var13 == 255) { // L: 198 - this.faceRenderPriorities[var51] = var4.readByte(); - } - - if (var14 == 1) { // L: 199 - this.faceAlphas[var51] = var5.readByte(); - } - - if (var15 == 1) { // L: 200 - this.faceSkins[var51] = var6.readUnsignedByte(); - } - - if (var16 == 1) { // L: 201 - this.faceTextures[var51] = (short)(var7.readUnsignedShort() - 1); - } - - if (this.textureCoords != null && this.faceTextures[var51] != -1) { // L: 202 - this.textureCoords[var51] = (byte)(var8.readUnsignedByte() - 1); - } - } - - var2.offset = var34; // L: 204 - var3.offset = var29; // L: 205 - var51 = 0; // L: 206 - var52 = 0; // L: 207 - var53 = 0; // L: 208 - var54 = 0; // L: 209 - - int var56; - for (var55 = 0; var55 < var10; ++var55) { // L: 210 - var56 = var3.readUnsignedByte(); // L: 211 - if (var56 == 1) { // L: 212 - var51 = var2.readShortSmart() + var54; // L: 213 - var52 = var2.readShortSmart() + var51; // L: 215 - var53 = var2.readShortSmart() + var52; // L: 217 - var54 = var53; // L: 218 - this.indices1[var55] = var51; // L: 219 - this.indices2[var55] = var52; // L: 220 - this.indices3[var55] = var53; // L: 221 - } - - if (var56 == 2) { // L: 223 - var52 = var53; // L: 224 - var53 = var2.readShortSmart() + var54; // L: 225 - var54 = var53; // L: 226 - this.indices1[var55] = var51; // L: 227 - this.indices2[var55] = var52; // L: 228 - this.indices3[var55] = var53; // L: 229 - } - - if (var56 == 3) { // L: 231 - var51 = var53; // L: 232 - var53 = var2.readShortSmart() + var54; // L: 233 - var54 = var53; // L: 234 - this.indices1[var55] = var51; // L: 235 - this.indices2[var55] = var52; // L: 236 - this.indices3[var55] = var53; // L: 237 - } - - if (var56 == 4) { // L: 239 - int var57 = var51; // L: 240 - var51 = var52; // L: 241 - var52 = var57; // L: 242 - var53 = var2.readShortSmart() + var54; // L: 243 - var54 = var53; // L: 244 - this.indices1[var55] = var51; // L: 245 - this.indices2[var55] = var57; // L: 246 - this.indices3[var55] = var53; // L: 247 - } - } - - var2.offset = var41; // L: 250 - var3.offset = var42; // L: 251 - var4.offset = var43; // L: 252 - var5.offset = var44; // L: 253 - var6.offset = var45; // L: 254 - var7.offset = var46; // L: 255 - - for (var55 = 0; var55 < var11; ++var55) { // L: 256 - var56 = this.textureRenderTypes[var55] & 255; // L: 257 - if (var56 == 0) { // L: 258 - this.texTriangleX[var55] = (short)var2.readUnsignedShort(); // L: 259 - this.texTriangleY[var55] = (short)var2.readUnsignedShort(); // L: 260 - this.texTriangleZ[var55] = (short)var2.readUnsignedShort(); // L: 261 - } - } - - var2.offset = var26; // L: 264 - var55 = var2.readUnsignedByte(); // L: 265 - if (var55 != 0) { // L: 266 - new ModelData0(); - var2.readUnsignedShort(); // L: 268 - var2.readUnsignedShort(); // L: 269 - var2.readUnsignedShort(); // L: 270 - var2.readInt(); // L: 271 - } - - } // L: 273 - - @ObfuscatedName("x") - void method2854(byte[] var1) { - boolean var2 = false; // L: 276 - boolean var3 = false; // L: 277 - Buffer var4 = new Buffer(var1); // L: 278 - Buffer var5 = new Buffer(var1); // L: 279 - Buffer var6 = new Buffer(var1); // L: 280 - Buffer var7 = new Buffer(var1); // L: 281 - Buffer var8 = new Buffer(var1); // L: 282 - var4.offset = var1.length - 18; // L: 283 - int var9 = var4.readUnsignedShort(); // L: 284 - int var10 = var4.readUnsignedShort(); // L: 285 - int var11 = var4.readUnsignedByte(); // L: 286 - int var12 = var4.readUnsignedByte(); // L: 287 - int var13 = var4.readUnsignedByte(); // L: 288 - int var14 = var4.readUnsignedByte(); // L: 289 - int var15 = var4.readUnsignedByte(); // L: 290 - int var16 = var4.readUnsignedByte(); // L: 291 - int var17 = var4.readUnsignedShort(); // L: 292 - int var18 = var4.readUnsignedShort(); // L: 293 - int var19 = var4.readUnsignedShort(); // L: 294 - int var20 = var4.readUnsignedShort(); // L: 295 - byte var21 = 0; // L: 296 - int var45 = var21 + var9; // L: 298 - int var23 = var45; // L: 299 - var45 += var10; // L: 300 - int var24 = var45; // L: 301 - if (var13 == 255) { // L: 302 - var45 += var10; - } - - int var25 = var45; // L: 303 - if (var15 == 1) { // L: 304 - var45 += var10; - } - - int var26 = var45; // L: 305 - if (var12 == 1) { // L: 306 - var45 += var10; - } - - int var27 = var45; // L: 307 - if (var16 == 1) { // L: 308 - var45 += var9; - } - - int var28 = var45; // L: 309 - if (var14 == 1) { // L: 310 - var45 += var10; - } - - int var29 = var45; // L: 311 - var45 += var20; // L: 312 - int var30 = var45; // L: 313 - var45 += var10 * 2; // L: 314 - int var31 = var45; // L: 315 - var45 += var11 * 6; // L: 316 - int var32 = var45; // L: 317 - var45 += var17; // L: 318 - int var33 = var45; // L: 319 - var45 += var18; // L: 320 - int var10000 = var45 + var19; // L: 322 - this.verticesCount = var9; // L: 323 - this.faceCount = var10; // L: 324 - this.textureTriangleCount = var11; // L: 325 - this.verticesX = new int[var9]; // L: 326 - this.verticesY = new int[var9]; // L: 327 - this.verticesZ = new int[var9]; // L: 328 - this.indices1 = new int[var10]; // L: 329 - this.indices2 = new int[var10]; // L: 330 - this.indices3 = new int[var10]; // L: 331 - if (var11 > 0) { // L: 332 - this.textureRenderTypes = new byte[var11]; // L: 333 - this.texTriangleX = new short[var11]; // L: 334 - this.texTriangleY = new short[var11]; // L: 335 - this.texTriangleZ = new short[var11]; // L: 336 - } - - if (var16 == 1) { // L: 338 - this.vertexSkins = new int[var9]; - } - - if (var12 == 1) { // L: 339 - this.faceRenderTypes = new byte[var10]; // L: 340 - this.textureCoords = new byte[var10]; // L: 341 - this.faceTextures = new short[var10]; // L: 342 - } - - if (var13 == 255) { // L: 344 - this.faceRenderPriorities = new byte[var10]; - } else { - this.priority = (byte)var13; // L: 345 - } - - if (var14 == 1) { // L: 346 - this.faceAlphas = new byte[var10]; - } - - if (var15 == 1) { // L: 347 - this.faceSkins = new int[var10]; - } - - this.faceColors = new short[var10]; // L: 348 - var4.offset = var21; // L: 349 - var5.offset = var32; // L: 350 - var6.offset = var33; // L: 351 - var7.offset = var45; // L: 352 - var8.offset = var27; // L: 353 - int var35 = 0; // L: 354 - int var36 = 0; // L: 355 - int var37 = 0; // L: 356 - - int var38; - int var39; - int var40; - int var41; - int var42; - for (var38 = 0; var38 < var9; ++var38) { // L: 357 - var39 = var4.readUnsignedByte(); // L: 358 - var40 = 0; // L: 359 - if ((var39 & 1) != 0) { // L: 360 - var40 = var5.readShortSmart(); - } - - var41 = 0; // L: 361 - if ((var39 & 2) != 0) { // L: 362 - var41 = var6.readShortSmart(); - } - - var42 = 0; // L: 363 - if ((var39 & 4) != 0) { // L: 364 - var42 = var7.readShortSmart(); - } - - this.verticesX[var38] = var35 + var40; // L: 365 - this.verticesY[var38] = var36 + var41; // L: 366 - this.verticesZ[var38] = var37 + var42; // L: 367 - var35 = this.verticesX[var38]; // L: 368 - var36 = this.verticesY[var38]; // L: 369 - var37 = this.verticesZ[var38]; // L: 370 - if (var16 == 1) { // L: 371 - this.vertexSkins[var38] = var8.readUnsignedByte(); - } - } - - var4.offset = var30; // L: 373 - var5.offset = var26; // L: 374 - var6.offset = var24; // L: 375 - var7.offset = var28; // L: 376 - var8.offset = var25; // L: 377 - - for (var38 = 0; var38 < var10; ++var38) { // L: 378 - this.faceColors[var38] = (short)var4.readUnsignedShort(); // L: 379 - if (var12 == 1) { // L: 380 - var39 = var5.readUnsignedByte(); // L: 381 - if ((var39 & 1) == 1) { // L: 382 - this.faceRenderTypes[var38] = 1; // L: 383 - var2 = true; // L: 384 - } else { - this.faceRenderTypes[var38] = 0; // L: 386 - } - - if ((var39 & 2) == 2) { // L: 387 - this.textureCoords[var38] = (byte)(var39 >> 2); // L: 388 - this.faceTextures[var38] = this.faceColors[var38]; // L: 389 - this.faceColors[var38] = 127; // L: 390 - if (this.faceTextures[var38] != -1) { // L: 391 - var3 = true; - } - } else { - this.textureCoords[var38] = -1; // L: 394 - this.faceTextures[var38] = -1; // L: 395 - } - } - - if (var13 == 255) { // L: 398 - this.faceRenderPriorities[var38] = var6.readByte(); - } - - if (var14 == 1) { // L: 399 - this.faceAlphas[var38] = var7.readByte(); - } - - if (var15 == 1) { // L: 400 - this.faceSkins[var38] = var8.readUnsignedByte(); - } - } - - var4.offset = var29; // L: 402 - var5.offset = var23; // L: 403 - var38 = 0; // L: 404 - var39 = 0; // L: 405 - var40 = 0; // L: 406 - var41 = 0; // L: 407 - - int var43; - int var44; - for (var42 = 0; var42 < var10; ++var42) { // L: 408 - var43 = var5.readUnsignedByte(); // L: 409 - if (var43 == 1) { // L: 410 - var38 = var4.readShortSmart() + var41; // L: 411 - var39 = var4.readShortSmart() + var38; // L: 413 - var40 = var4.readShortSmart() + var39; // L: 415 - var41 = var40; // L: 416 - this.indices1[var42] = var38; // L: 417 - this.indices2[var42] = var39; // L: 418 - this.indices3[var42] = var40; // L: 419 - } - - if (var43 == 2) { // L: 421 - var39 = var40; // L: 422 - var40 = var4.readShortSmart() + var41; // L: 423 - var41 = var40; // L: 424 - this.indices1[var42] = var38; // L: 425 - this.indices2[var42] = var39; // L: 426 - this.indices3[var42] = var40; // L: 427 - } - - if (var43 == 3) { // L: 429 - var38 = var40; // L: 430 - var40 = var4.readShortSmart() + var41; // L: 431 - var41 = var40; // L: 432 - this.indices1[var42] = var38; // L: 433 - this.indices2[var42] = var39; // L: 434 - this.indices3[var42] = var40; // L: 435 - } - - if (var43 == 4) { // L: 437 - var44 = var38; // L: 438 - var38 = var39; // L: 439 - var39 = var44; // L: 440 - var40 = var4.readShortSmart() + var41; // L: 441 - var41 = var40; // L: 442 - this.indices1[var42] = var38; // L: 443 - this.indices2[var42] = var44; // L: 444 - this.indices3[var42] = var40; // L: 445 - } - } - - var4.offset = var31; // L: 448 - - for (var42 = 0; var42 < var11; ++var42) { // L: 449 - this.textureRenderTypes[var42] = 0; // L: 450 - this.texTriangleX[var42] = (short)var4.readUnsignedShort(); // L: 451 - this.texTriangleY[var42] = (short)var4.readUnsignedShort(); // L: 452 - this.texTriangleZ[var42] = (short)var4.readUnsignedShort(); // L: 453 - } - - if (this.textureCoords != null) { // L: 455 - boolean var46 = false; // L: 456 - - for (var43 = 0; var43 < var10; ++var43) { // L: 457 - var44 = this.textureCoords[var43] & 255; // L: 458 - if (var44 != 255) { // L: 459 - if (this.indices1[var43] == (this.texTriangleX[var44] & '\uffff') && this.indices2[var43] == (this.texTriangleY[var44] & '\uffff') && this.indices3[var43] == (this.texTriangleZ[var44] & '\uffff')) { // L: 460 - this.textureCoords[var43] = -1; - } else { - var46 = true; // L: 461 - } - } - } - - if (!var46) { // L: 464 - this.textureCoords = null; - } - } - - if (!var3) { // L: 466 - this.faceTextures = null; - } - - if (!var2) { // L: 467 - this.faceRenderTypes = null; - } - - } // L: 468 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Les;I)I" - ) - final int method2856(ModelData var1, int var2) { - int var3 = -1; // L: 567 - int var4 = var1.verticesX[var2]; // L: 568 - int var5 = var1.verticesY[var2]; // L: 569 - int var6 = var1.verticesZ[var2]; // L: 570 - - for (int var7 = 0; var7 < this.verticesCount; ++var7) { // L: 571 - if (var4 == this.verticesX[var7] && var5 == this.verticesY[var7] && var6 == this.verticesZ[var7]) { // L: 572 - var3 = var7; // L: 573 - break; - } - } - - if (var3 == -1) { // L: 577 - this.verticesX[this.verticesCount] = var4; // L: 578 - this.verticesY[this.verticesCount] = var5; // L: 579 - this.verticesZ[this.verticesCount] = var6; // L: 580 - if (var1.vertexSkins != null) { - this.vertexSkins[this.verticesCount] = var1.vertexSkins[var2]; // L: 581 - } - - var3 = this.verticesCount++; // L: 582 - } - - return var3; // L: 584 - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "()Les;" - ) - public ModelData method2857() { - ModelData var1 = new ModelData(); // L: 650 - if (this.faceRenderTypes != null) { // L: 651 - var1.faceRenderTypes = new byte[this.faceCount]; // L: 652 - - for (int var2 = 0; var2 < this.faceCount; ++var2) { // L: 653 - var1.faceRenderTypes[var2] = this.faceRenderTypes[var2]; - } - } - - var1.verticesCount = this.verticesCount; // L: 655 - var1.faceCount = this.faceCount; // L: 656 - var1.textureTriangleCount = this.textureTriangleCount; // L: 657 - var1.verticesX = this.verticesX; // L: 658 - var1.verticesY = this.verticesY; // L: 659 - var1.verticesZ = this.verticesZ; // L: 660 - var1.indices1 = this.indices1; // L: 661 - var1.indices2 = this.indices2; // L: 662 - var1.indices3 = this.indices3; // L: 663 - var1.faceRenderPriorities = this.faceRenderPriorities; // L: 664 - var1.faceAlphas = this.faceAlphas; // L: 665 - var1.textureCoords = this.textureCoords; // L: 666 - var1.faceColors = this.faceColors; // L: 667 - var1.faceTextures = this.faceTextures; // L: 668 - var1.priority = this.priority; // L: 669 - var1.textureRenderTypes = this.textureRenderTypes; // L: 670 - var1.texTriangleX = this.texTriangleX; // L: 671 - var1.texTriangleY = this.texTriangleY; // L: 672 - var1.texTriangleZ = this.texTriangleZ; // L: 673 - var1.vertexSkins = this.vertexSkins; // L: 674 - var1.faceSkins = this.faceSkins; // L: 675 - var1.vertexLabels = this.vertexLabels; // L: 676 - var1.faceLabelsAlpha = this.faceLabelsAlpha; // L: 677 - var1.vertexNormals = this.vertexNormals; // L: 678 - var1.faceNormals = this.faceNormals; // L: 679 - var1.ambient = this.ambient; // L: 680 - var1.contrast = this.contrast; // L: 681 - return var1; // L: 682 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "([[IIIIZI)Les;" - ) - public ModelData method2858(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { - this.calculateBounds(); // L: 686 - int var7 = var2 + this.field1585; // L: 687 - int var8 = var2 + this.field1595; // L: 688 - int var9 = var4 + this.field1597; // L: 689 - int var10 = var4 + this.field1596; // L: 690 - if (var7 >= 0 && var8 + 128 >> 7 < var1.length && var9 >= 0 && var10 + 128 >> 7 < var1[0].length) { // L: 691 - var7 >>= 7; // L: 692 - var8 = var8 + 127 >> 7; // L: 693 - var9 >>= 7; // L: 694 - var10 = var10 + 127 >> 7; // L: 695 - if (var3 == var1[var7][var9] && var3 == var1[var8][var9] && var3 == var1[var7][var10] && var3 == var1[var8][var10]) { // L: 696 - return this; - } else { - ModelData var11 = new ModelData(); // L: 699 - var11.verticesCount = this.verticesCount; // L: 700 - var11.faceCount = this.faceCount; // L: 701 - var11.textureTriangleCount = this.textureTriangleCount; // L: 702 - var11.verticesX = this.verticesX; // L: 703 - var11.verticesZ = this.verticesZ; // L: 704 - var11.indices1 = this.indices1; // L: 705 - var11.indices2 = this.indices2; // L: 706 - var11.indices3 = this.indices3; // L: 707 - var11.faceRenderTypes = this.faceRenderTypes; // L: 708 - var11.faceRenderPriorities = this.faceRenderPriorities; // L: 709 - var11.faceAlphas = this.faceAlphas; // L: 710 - var11.textureCoords = this.textureCoords; // L: 711 - var11.faceColors = this.faceColors; // L: 712 - var11.faceTextures = this.faceTextures; // L: 713 - var11.priority = this.priority; // L: 714 - var11.textureRenderTypes = this.textureRenderTypes; // L: 715 - var11.texTriangleX = this.texTriangleX; // L: 716 - var11.texTriangleY = this.texTriangleY; // L: 717 - var11.texTriangleZ = this.texTriangleZ; // L: 718 - var11.vertexSkins = this.vertexSkins; // L: 719 - var11.faceSkins = this.faceSkins; // L: 720 - var11.vertexLabels = this.vertexLabels; // L: 721 - var11.faceLabelsAlpha = this.faceLabelsAlpha; // L: 722 - var11.ambient = this.ambient; // L: 723 - var11.contrast = this.contrast; // L: 724 - var11.verticesY = new int[var11.verticesCount]; // L: 725 - int var12; - int var13; - int var14; - int var15; - int var16; - int var17; - int var18; - int var19; - int var20; - int var21; - if (var6 == 0) { // L: 730 - for (var12 = 0; var12 < var11.verticesCount; ++var12) { // L: 731 - var13 = var2 + this.verticesX[var12]; // L: 732 - var14 = var4 + this.verticesZ[var12]; // L: 733 - var15 = var13 & 127; // L: 734 - var16 = var14 & 127; // L: 735 - var17 = var13 >> 7; // L: 736 - var18 = var14 >> 7; // L: 737 - var19 = var1[var17][var18] * (128 - var15) + var1[var17 + 1][var18] * var15 >> 7; // L: 738 - var20 = var1[var17][var18 + 1] * (128 - var15) + var15 * var1[var17 + 1][var18 + 1] >> 7; // L: 739 - var21 = var19 * (128 - var16) + var20 * var16 >> 7; // L: 740 - var11.verticesY[var12] = var21 + this.verticesY[var12] - var3; // L: 741 - } - } else { - for (var12 = 0; var12 < var11.verticesCount; ++var12) { // L: 745 - var13 = (-this.verticesY[var12] << 16) / super.height; // L: 746 - if (var13 < var6) { // L: 747 - var14 = var2 + this.verticesX[var12]; // L: 748 - var15 = var4 + this.verticesZ[var12]; // L: 749 - var16 = var14 & 127; // L: 750 - var17 = var15 & 127; // L: 751 - var18 = var14 >> 7; // L: 752 - var19 = var15 >> 7; // L: 753 - var20 = var1[var18][var19] * (128 - var16) + var1[var18 + 1][var19] * var16 >> 7; // L: 754 - var21 = var1[var18][var19 + 1] * (128 - var16) + var16 * var1[var18 + 1][var19 + 1] >> 7; // L: 755 - int var22 = var20 * (128 - var17) + var21 * var17 >> 7; // L: 756 - var11.verticesY[var12] = (var6 - var13) * (var22 - var3) / var6 + this.verticesY[var12]; // L: 757 - } - } - } - - var11.invalidate(); // L: 761 - return var11; // L: 762 - } - } else { - return this; - } - } - - @ObfuscatedName("n") - void method2859() { - int[] var1; - int var2; - int var10002; - int var3; - int var4; - if (this.vertexSkins != null) { // L: 766 - var1 = new int[256]; // L: 767 - var2 = 0; // L: 768 - - for (var3 = 0; var3 < this.verticesCount; ++var3) { // L: 769 - var4 = this.vertexSkins[var3]; // L: 770 - var10002 = var1[var4]++; // L: 771 - if (var4 > var2) { // L: 772 - var2 = var4; - } - } - - this.vertexLabels = new int[var2 + 1][]; // L: 774 - - for (var3 = 0; var3 <= var2; ++var3) { // L: 775 - this.vertexLabels[var3] = new int[var1[var3]]; // L: 776 - var1[var3] = 0; // L: 777 - } - - for (var3 = 0; var3 < this.verticesCount; this.vertexLabels[var4][var1[var4]++] = var3++) { // L: 779 781 - var4 = this.vertexSkins[var3]; // L: 780 - } - - this.vertexSkins = null; // L: 783 - } - - if (this.faceSkins != null) { // L: 785 - var1 = new int[256]; // L: 786 - var2 = 0; // L: 787 - - for (var3 = 0; var3 < this.faceCount; ++var3) { // L: 788 - var4 = this.faceSkins[var3]; // L: 789 - var10002 = var1[var4]++; // L: 790 - if (var4 > var2) { // L: 791 - var2 = var4; - } - } - - this.faceLabelsAlpha = new int[var2 + 1][]; // L: 793 - - for (var3 = 0; var3 <= var2; ++var3) { // L: 794 - this.faceLabelsAlpha[var3] = new int[var1[var3]]; // L: 795 - var1[var3] = 0; // L: 796 - } - - for (var3 = 0; var3 < this.faceCount; this.faceLabelsAlpha[var4][var1[var4]++] = var3++) { // L: 798 800 - var4 = this.faceSkins[var3]; // L: 799 - } - - this.faceSkins = null; // L: 802 - } - - } // L: 804 - - @ObfuscatedName("p") - public void method2860() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 807 - int var2 = this.verticesX[var1]; // L: 808 - this.verticesX[var1] = this.verticesZ[var1]; // L: 809 - this.verticesZ[var1] = -var2; // L: 810 - } - - this.invalidate(); // L: 812 - } // L: 813 - - @ObfuscatedName("z") - public void method2896() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 816 - this.verticesX[var1] = -this.verticesX[var1]; // L: 817 - this.verticesZ[var1] = -this.verticesZ[var1]; // L: 818 - } - - this.invalidate(); // L: 820 - } // L: 821 - - @ObfuscatedName("u") - public void method2863() { - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 824 - int var2 = this.verticesZ[var1]; // L: 825 - this.verticesZ[var1] = this.verticesX[var1]; // L: 826 - this.verticesX[var1] = -var2; // L: 827 - } - - this.invalidate(); // L: 829 - } // L: 830 - - @ObfuscatedName("e") - public void method2871(int var1) { - int var2 = ModelData_sine[var1]; // L: 833 - int var3 = ModelData_cosine[var1]; // L: 834 - - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 835 - int var5 = var2 * this.verticesZ[var4] + var3 * this.verticesX[var4] >> 16; // L: 836 - this.verticesZ[var4] = var3 * this.verticesZ[var4] - var2 * this.verticesX[var4] >> 16; // L: 837 - this.verticesX[var4] = var5; // L: 838 - } - - this.invalidate(); // L: 840 - } // L: 841 - - @ObfuscatedName("m") - @Export("changeOffset") - public void changeOffset(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 844 - int[] var10000 = this.verticesX; // L: 845 - var10000[var4] += var1; - var10000 = this.verticesY; // L: 846 - var10000[var4] += var2; - var10000 = this.verticesZ; // L: 847 - var10000[var4] += var3; - } - - this.invalidate(); // L: 849 - } // L: 850 - - @ObfuscatedName("c") - @Export("recolor") - public void recolor(short var1, short var2) { - for (int var3 = 0; var3 < this.faceCount; ++var3) { // L: 853 - if (this.faceColors[var3] == var1) { // L: 854 - this.faceColors[var3] = var2; - } - } - - } // L: 856 - - @ObfuscatedName("i") - @Export("retexture") - public void retexture(short var1, short var2) { - if (this.faceTextures != null) { // L: 859 - for (int var3 = 0; var3 < this.faceCount; ++var3) { // L: 860 - if (this.faceTextures[var3] == var1) { - this.faceTextures[var3] = var2; // L: 861 - } - } - - } - } // L: 863 - - @ObfuscatedName("f") - public void method2867() { - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { // L: 866 - this.verticesZ[var1] = -this.verticesZ[var1]; - } - - for (var1 = 0; var1 < this.faceCount; ++var1) { // L: 867 - int var2 = this.indices1[var1]; // L: 868 - this.indices1[var1] = this.indices3[var1]; // L: 869 - this.indices3[var1] = var2; // L: 870 - } - - this.invalidate(); // L: 872 - } // L: 873 - - @ObfuscatedName("y") - @Export("resize") - public void resize(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.verticesCount; ++var4) { // L: 876 - this.verticesX[var4] = this.verticesX[var4] * var1 / 128; // L: 877 - this.verticesY[var4] = var2 * this.verticesY[var4] / 128; // L: 878 - this.verticesZ[var4] = var3 * this.verticesZ[var4] / 128; // L: 879 - } - - this.invalidate(); // L: 881 - } // L: 882 - - @ObfuscatedName("r") - @Export("calculateVertexNormals") - public void calculateVertexNormals() { - if (this.vertexNormals == null) { // L: 885 - this.vertexNormals = new VertexNormal[this.verticesCount]; // L: 886 - - int var1; - for (var1 = 0; var1 < this.verticesCount; ++var1) { // L: 887 - this.vertexNormals[var1] = new VertexNormal(); - } - - for (var1 = 0; var1 < this.faceCount; ++var1) { // L: 888 - int var2 = this.indices1[var1]; // L: 889 - int var3 = this.indices2[var1]; // L: 890 - int var4 = this.indices3[var1]; // L: 891 - int var5 = this.verticesX[var3] - this.verticesX[var2]; // L: 892 - int var6 = this.verticesY[var3] - this.verticesY[var2]; // L: 893 - int var7 = this.verticesZ[var3] - this.verticesZ[var2]; // L: 894 - int var8 = this.verticesX[var4] - this.verticesX[var2]; // L: 895 - int var9 = this.verticesY[var4] - this.verticesY[var2]; // L: 896 - int var10 = this.verticesZ[var4] - this.verticesZ[var2]; // L: 897 - int var11 = var6 * var10 - var9 * var7; // L: 898 - int var12 = var7 * var8 - var10 * var5; // L: 899 - - int var13; - for (var13 = var5 * var9 - var8 * var6; var11 > 8192 || var12 > 8192 || var13 > 8192 || var11 < -8192 || var12 < -8192 || var13 < -8192; var13 >>= 1) { // L: 900 901 904 - var11 >>= 1; // L: 902 - var12 >>= 1; // L: 903 - } - - int var14 = (int)Math.sqrt((double)(var11 * var11 + var12 * var12 + var13 * var13)); // L: 906 - if (var14 <= 0) { // L: 907 - var14 = 1; - } - - var11 = var11 * 256 / var14; // L: 908 - var12 = var12 * 256 / var14; // L: 909 - var13 = var13 * 256 / var14; // L: 910 - byte var15; - if (this.faceRenderTypes == null) { // L: 912 - var15 = 0; - } else { - var15 = this.faceRenderTypes[var1]; // L: 913 - } - - if (var15 == 0) { // L: 914 - VertexNormal var16 = this.vertexNormals[var2]; // L: 916 - var16.x += var11; // L: 917 - var16.y += var12; // L: 918 - var16.z += var13; // L: 919 - ++var16.magnitude; // L: 920 - var16 = this.vertexNormals[var3]; // L: 921 - var16.x += var11; // L: 922 - var16.y += var12; // L: 923 - var16.z += var13; // L: 924 - ++var16.magnitude; // L: 925 - var16 = this.vertexNormals[var4]; // L: 926 - var16.x += var11; // L: 927 - var16.y += var12; // L: 928 - var16.z += var13; // L: 929 - ++var16.magnitude; // L: 930 - } else if (var15 == 1) { // L: 932 - if (this.faceNormals == null) { // L: 933 - this.faceNormals = new FaceNormal[this.faceCount]; - } - - FaceNormal var17 = this.faceNormals[var1] = new FaceNormal(); // L: 934 - var17.x = var11; // L: 935 - var17.y = var12; // L: 936 - var17.z = var13; // L: 937 - } - } - - } - } // L: 940 - - @ObfuscatedName("q") - @Export("invalidate") - void invalidate() { - this.vertexNormals = null; // L: 943 - this.field1601 = null; // L: 944 - this.faceNormals = null; // L: 945 - this.isBoundsCalculated = false; // L: 946 - } // L: 947 - - @ObfuscatedName("g") - @Export("calculateBounds") - void calculateBounds() { - if (!this.isBoundsCalculated) { // L: 950 - super.height = 0; // L: 951 - this.field1593 = 0; // L: 952 - this.field1585 = 999999; // L: 953 - this.field1595 = -999999; // L: 954 - this.field1596 = -99999; // L: 955 - this.field1597 = 99999; // L: 956 - - for (int var1 = 0; var1 < this.verticesCount; ++var1) { // L: 957 - int var2 = this.verticesX[var1]; // L: 958 - int var3 = this.verticesY[var1]; // L: 959 - int var4 = this.verticesZ[var1]; // L: 960 - if (var2 < this.field1585) { // L: 961 - this.field1585 = var2; - } - - if (var2 > this.field1595) { // L: 962 - this.field1595 = var2; - } - - if (var4 < this.field1597) { // L: 963 - this.field1597 = var4; - } - - if (var4 > this.field1596) { // L: 964 - this.field1596 = var4; - } - - if (-var3 > super.height) { // L: 965 - super.height = -var3; - } - - if (var3 > this.field1593) { // L: 966 - this.field1593 = var3; - } - } - - this.isBoundsCalculated = true; // L: 968 - } - } // L: 969 - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(IIIII)Leh;" - ) - @Export("toModel") - public final Model toModel(int var1, int var2, int var3, int var4, int var5) { - this.calculateVertexNormals(); // L: 1028 - int var6 = (int)Math.sqrt((double)(var5 * var5 + var3 * var3 + var4 * var4)); // L: 1029 - int var7 = var6 * var2 >> 8; // L: 1030 - Model var8 = new Model(); // L: 1031 - var8.faceColors1 = new int[this.faceCount]; // L: 1032 - var8.faceColors2 = new int[this.faceCount]; // L: 1033 - var8.faceColors3 = new int[this.faceCount]; // L: 1034 - if (this.textureTriangleCount > 0 && this.textureCoords != null) { // L: 1035 - int[] var9 = new int[this.textureTriangleCount]; // L: 1036 - - int var10; - for (var10 = 0; var10 < this.faceCount; ++var10) { // L: 1037 - if (this.textureCoords[var10] != -1) { // L: 1038 - ++var9[this.textureCoords[var10] & 255]; - } - } - - var8.field1704 = 0; // L: 1040 - - for (var10 = 0; var10 < this.textureTriangleCount; ++var10) { // L: 1041 - if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { // L: 1042 - ++var8.field1704; - } - } - - var8.field1723 = new int[var8.field1704]; // L: 1044 - var8.field1745 = new int[var8.field1704]; // L: 1045 - var8.field1707 = new int[var8.field1704]; // L: 1046 - var10 = 0; // L: 1047 - - int var11; - for (var11 = 0; var11 < this.textureTriangleCount; ++var11) { // L: 1048 - if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { // L: 1049 - var8.field1723[var10] = this.texTriangleX[var11] & '\uffff'; // L: 1050 - var8.field1745[var10] = this.texTriangleY[var11] & '\uffff'; // L: 1051 - var8.field1707[var10] = this.texTriangleZ[var11] & '\uffff'; // L: 1052 - var9[var11] = var10++; // L: 1053 - } else { - var9[var11] = -1; // L: 1055 - } - } - - var8.field1701 = new byte[this.faceCount]; // L: 1057 - - for (var11 = 0; var11 < this.faceCount; ++var11) { // L: 1058 - if (this.textureCoords[var11] != -1) { // L: 1059 - var8.field1701[var11] = (byte)var9[this.textureCoords[var11] & 255]; - } else { - var8.field1701[var11] = -1; // L: 1060 - } - } - } - - for (int var16 = 0; var16 < this.faceCount; ++var16) { // L: 1063 - byte var17; - if (this.faceRenderTypes == null) { // L: 1065 - var17 = 0; - } else { - var17 = this.faceRenderTypes[var16]; // L: 1066 - } - - byte var18; - if (this.faceAlphas == null) { // L: 1068 - var18 = 0; - } else { - var18 = this.faceAlphas[var16]; // L: 1069 - } - - short var12; - if (this.faceTextures == null) { // L: 1071 - var12 = -1; - } else { - var12 = this.faceTextures[var16]; // L: 1072 - } - - if (var18 == -2) { // L: 1073 - var17 = 3; - } - - if (var18 == -1) { // L: 1074 - var17 = 2; - } - - VertexNormal var13; - int var14; - FaceNormal var19; - if (var12 == -1) { // L: 1075 - if (var17 != 0) { // L: 1076 - if (var17 == 1) { // L: 1093 - var19 = this.faceNormals[var16]; // L: 1094 - var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; // L: 1095 - var8.faceColors1[var16] = method2874(this.faceColors[var16] & '\uffff', var14); // L: 1096 - var8.faceColors3[var16] = -1; // L: 1097 - } else if (var17 == 3) { // L: 1099 - var8.faceColors1[var16] = 128; // L: 1100 - var8.faceColors3[var16] = -1; // L: 1101 - } else { - var8.faceColors3[var16] = -2; // L: 1104 - } - } else { - int var15 = this.faceColors[var16] & '\uffff'; // L: 1079 - if (this.field1601 != null && this.field1601[this.indices1[var16]] != null) { // L: 1080 - var13 = this.field1601[this.indices1[var16]]; - } else { - var13 = this.vertexNormals[this.indices1[var16]]; // L: 1081 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1082 - var8.faceColors1[var16] = method2874(var15, var14); // L: 1083 - if (this.field1601 != null && this.field1601[this.indices2[var16]] != null) { // L: 1084 - var13 = this.field1601[this.indices2[var16]]; - } else { - var13 = this.vertexNormals[this.indices2[var16]]; // L: 1085 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1086 - var8.faceColors2[var16] = method2874(var15, var14); // L: 1087 - if (this.field1601 != null && this.field1601[this.indices3[var16]] != null) { // L: 1088 - var13 = this.field1601[this.indices3[var16]]; - } else { - var13 = this.vertexNormals[this.indices3[var16]]; // L: 1089 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1090 - var8.faceColors3[var16] = method2874(var15, var14); // L: 1091 - } - } else if (var17 != 0) { // L: 1108 - if (var17 == 1) { // L: 1124 - var19 = this.faceNormals[var16]; // L: 1125 - var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; // L: 1126 - var8.faceColors1[var16] = method2908(var14); // L: 1127 - var8.faceColors3[var16] = -1; // L: 1128 - } else { - var8.faceColors3[var16] = -2; // L: 1131 - } - } else { - if (this.field1601 != null && this.field1601[this.indices1[var16]] != null) { // L: 1111 - var13 = this.field1601[this.indices1[var16]]; - } else { - var13 = this.vertexNormals[this.indices1[var16]]; // L: 1112 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1113 - var8.faceColors1[var16] = method2908(var14); // L: 1114 - if (this.field1601 != null && this.field1601[this.indices2[var16]] != null) { // L: 1115 - var13 = this.field1601[this.indices2[var16]]; - } else { - var13 = this.vertexNormals[this.indices2[var16]]; // L: 1116 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1117 - var8.faceColors2[var16] = method2908(var14); // L: 1118 - if (this.field1601 != null && this.field1601[this.indices3[var16]] != null) { // L: 1119 - var13 = this.field1601[this.indices3[var16]]; - } else { - var13 = this.vertexNormals[this.indices3[var16]]; // L: 1120 - } - - var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; // L: 1121 - var8.faceColors3[var16] = method2908(var14); // L: 1122 - } - } - - this.method2859(); // L: 1135 - var8.verticesCount = this.verticesCount; // L: 1136 - var8.verticesX = this.verticesX; // L: 1137 - var8.verticesY = this.verticesY; // L: 1138 - var8.verticesZ = this.verticesZ; // L: 1139 - var8.indicesCount = this.faceCount; // L: 1140 - var8.indices1 = this.indices1; // L: 1141 - var8.indices2 = this.indices2; // L: 1142 - var8.indices3 = this.indices3; // L: 1143 - var8.faceRenderPriorities = this.faceRenderPriorities; // L: 1144 - var8.faceAlphas = this.faceAlphas; // L: 1145 - var8.field1722 = this.priority; // L: 1146 - var8.vertexLabels = this.vertexLabels; // L: 1147 - var8.faceLabelsAlpha = this.faceLabelsAlpha; // L: 1148 - var8.faceTextures = this.faceTextures; // L: 1149 - return var8; // L: 1150 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;II)Les;" - ) - @Export("ModelData_get") - public static ModelData ModelData_get(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); // L: 53 - return var3 == null ? null : new ModelData(var3); // L: 54 - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Les;Les;IIIZ)V" - ) - static void method2872(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { - var0.calculateBounds(); // L: 972 - var0.calculateVertexNormals(); // L: 973 - var1.calculateBounds(); // L: 974 - var1.calculateVertexNormals(); // L: 975 - ++field1600; // L: 976 - int var6 = 0; // L: 977 - int[] var7 = var1.verticesX; // L: 978 - int var8 = var1.verticesCount; // L: 979 - - int var9; - for (var9 = 0; var9 < var0.verticesCount; ++var9) { // L: 980 - VertexNormal var10 = var0.vertexNormals[var9]; // L: 981 - if (var10.magnitude != 0) { // L: 982 - int var11 = var0.verticesY[var9] - var3; // L: 983 - if (var11 <= var1.field1593) { // L: 984 - int var12 = var0.verticesX[var9] - var2; // L: 985 - if (var12 >= var1.field1585 && var12 <= var1.field1595) { // L: 986 - int var13 = var0.verticesZ[var9] - var4; // L: 987 - if (var13 >= var1.field1597 && var13 <= var1.field1596) { // L: 988 - for (int var14 = 0; var14 < var8; ++var14) { // L: 989 - VertexNormal var15 = var1.vertexNormals[var14]; // L: 990 - if (var12 == var7[var14] && var13 == var1.verticesZ[var14] && var11 == var1.verticesY[var14] && var15.magnitude != 0) { // L: 991 - if (var0.field1601 == null) { // L: 992 - var0.field1601 = new VertexNormal[var0.verticesCount]; - } - - if (var1.field1601 == null) { // L: 993 - var1.field1601 = new VertexNormal[var8]; - } - - VertexNormal var16 = var0.field1601[var9]; // L: 994 - if (var16 == null) { // L: 995 - var16 = var0.field1601[var9] = new VertexNormal(var10); - } - - VertexNormal var17 = var1.field1601[var14]; // L: 996 - if (var17 == null) { - var17 = var1.field1601[var14] = new VertexNormal(var15); // L: 997 - } - - var16.x += var15.x; // L: 998 - var16.y += var15.y; // L: 999 - var16.z += var15.z; // L: 1000 - var16.magnitude += var15.magnitude; // L: 1001 - var17.x += var10.x; // L: 1002 - var17.y += var10.y; // L: 1003 - var17.z += var10.z; // L: 1004 - var17.magnitude += var10.magnitude; // L: 1005 - ++var6; // L: 1006 - field1598[var9] = field1600; // L: 1007 - field1599[var14] = field1600; // L: 1008 - } - } - } - } - } - } - } - - if (var6 >= 3 && var5) { // L: 1012 - for (var9 = 0; var9 < var0.faceCount; ++var9) { // L: 1013 - if (field1598[var0.indices1[var9]] == field1600 && field1598[var0.indices2[var9]] == field1600 && field1598[var0.indices3[var9]] == field1600) { // L: 1014 - if (var0.faceRenderTypes == null) { // L: 1015 - var0.faceRenderTypes = new byte[var0.faceCount]; - } - - var0.faceRenderTypes[var9] = 2; // L: 1016 - } - } - - for (var9 = 0; var9 < var1.faceCount; ++var9) { // L: 1019 - if (field1600 == field1599[var1.indices1[var9]] && field1600 == field1599[var1.indices2[var9]] && field1600 == field1599[var1.indices3[var9]]) { // L: 1020 - if (var1.faceRenderTypes == null) { // L: 1021 - var1.faceRenderTypes = new byte[var1.faceCount]; - } - - var1.faceRenderTypes[var9] = 2; // L: 1022 - } - } - - } - } // L: 1025 - - @ObfuscatedName("aj") - static final int method2874(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; // L: 1154 - if (var1 < 2) { // L: 1155 - var1 = 2; - } else if (var1 > 126) { // L: 1156 - var1 = 126; - } - - return (var0 & 65408) + var1; // L: 1157 - } - - @ObfuscatedName("ax") - static final int method2908(int var0) { - if (var0 < 2) { // L: 1161 - var0 = 2; - } else if (var0 > 126) { - var0 = 126; // L: 1162 - } - - return var0; // L: 1163 - } +public class ModelData extends Renderable { + @ObfuscatedName("ar") + static int[] field1584 = new int[10000]; + @ObfuscatedName("al") + static int[] field1601 = new int[10000]; + @ObfuscatedName("aa") + static int field1602 = 0; + @ObfuscatedName("as") + @Export("ModelData_sine") + static int[] ModelData_sine; + @ObfuscatedName("aw") + @Export("ModelData_cosine") + static int[] ModelData_cosine; + @ObfuscatedName("n") + @Export("verticesCount") + int verticesCount = 0; + @ObfuscatedName("v") + @Export("verticesX") + int[] verticesX; + @ObfuscatedName("d") + @Export("verticesY") + int[] verticesY; + @ObfuscatedName("c") + @Export("verticesZ") + int[] verticesZ; + @ObfuscatedName("y") + @Export("faceCount") + int faceCount = 0; + @ObfuscatedName("h") + @Export("indices1") + int[] indices1; + @ObfuscatedName("z") + @Export("indices2") + int[] indices2; + @ObfuscatedName("e") + @Export("indices3") + int[] indices3; + @ObfuscatedName("q") + @Export("faceRenderTypes") + byte[] faceRenderTypes; + @ObfuscatedName("l") + @Export("faceRenderPriorities") + byte[] faceRenderPriorities; + @ObfuscatedName("s") + @Export("faceAlphas") + byte[] faceAlphas; + @ObfuscatedName("b") + @Export("textureCoords") + byte[] textureCoords; + @ObfuscatedName("a") + @Export("faceColors") + short[] faceColors; + @ObfuscatedName("w") + @Export("faceTextures") + short[] faceTextures; + @ObfuscatedName("k") + @Export("priority") + byte priority = 0; + @ObfuscatedName("i") + @Export("textureTriangleCount") + int textureTriangleCount; + @ObfuscatedName("x") + @Export("textureRenderTypes") + byte[] textureRenderTypes; + @ObfuscatedName("f") + @Export("texTriangleX") + short[] texTriangleX; + @ObfuscatedName("g") + @Export("texTriangleY") + short[] texTriangleY; + @ObfuscatedName("u") + @Export("texTriangleZ") + short[] texTriangleZ; + @ObfuscatedName("t") + @Export("vertexSkins") + int[] vertexSkins; + @ObfuscatedName("p") + @Export("faceSkins") + int[] faceSkins; + @ObfuscatedName("m") + @Export("vertexLabels") + int[][] vertexLabels; + @ObfuscatedName("r") + @Export("faceLabelsAlpha") + int[][] faceLabelsAlpha; + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "[Ler;" + ) + @Export("faceNormals") + FaceNormal[] faceNormals; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "[Leh;" + ) + @Export("vertexNormals") + VertexNormal[] vertexNormals; + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "[Leh;" + ) + VertexNormal[] field1576; + @ObfuscatedName("am") + @Export("ambient") + public short ambient; + @ObfuscatedName("ag") + @Export("contrast") + public short contrast; + @ObfuscatedName("ae") + @Export("isBoundsCalculated") + boolean isBoundsCalculated = false; + @ObfuscatedName("ac") + int field1595; + @ObfuscatedName("aq") + int field1600; + @ObfuscatedName("at") + int field1597; + @ObfuscatedName("ak") + int field1589; + @ObfuscatedName("ax") + int field1599; + + static { + ModelData_sine = Rasterizer3D.Rasterizer3D_sine; + ModelData_cosine = Rasterizer3D.Rasterizer3D_cosine; + } + + ModelData() { + } + + @ObfuscatedSignature( + descriptor = "([Lek;I)V" + ) + public ModelData(ModelData[] var1, int var2) { + boolean var3 = false; + boolean var4 = false; + boolean var5 = false; + boolean var6 = false; + boolean var7 = false; + boolean var8 = false; + this.verticesCount = 0; + this.faceCount = 0; + 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.textureTriangleCount += var10.textureTriangleCount; + if (var10.faceRenderPriorities != null) { + var4 = true; + } else { + if (this.priority == -1) { + this.priority = var10.priority; + } + + 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.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.faceRenderTypes = new byte[this.faceCount]; + } + + if (var4) { + this.faceRenderPriorities = new byte[this.faceCount]; + } + + if (var5) { + this.faceAlphas = new byte[this.faceCount]; + } + + if (var6) { + this.faceSkins = new int[this.faceCount]; + } + + if (var7) { + this.faceTextures = new short[this.faceCount]; + } + + if (var8) { + this.textureCoords = new byte[this.faceCount]; + } + + this.faceColors = new short[this.faceCount]; + 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.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.faceRenderTypes != null) { + this.faceRenderTypes[this.faceCount] = var10.faceRenderTypes[var11]; + } + + if (var4) { + if (var10.faceRenderPriorities != null) { + this.faceRenderPriorities[this.faceCount] = var10.faceRenderPriorities[var11]; + } else { + this.faceRenderPriorities[this.faceCount] = var10.priority; + } + } + + 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.method2980(var10, var10.indices1[var11]); + this.indices2[this.faceCount] = this.method2980(var10, var10.indices2[var11]); + this.indices3[this.faceCount] = this.method2980(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.method2980(var10, var10.texTriangleX[var11]); + this.texTriangleY[this.textureTriangleCount] = (short)this.method2980(var10, var10.texTriangleY[var11]); + this.texTriangleZ[this.textureTriangleCount] = (short)this.method2980(var10, var10.texTriangleZ[var11]); + } + + ++this.textureTriangleCount; + } + } + } + + } + + ModelData(byte[] var1) { + if (var1[var1.length - 1] == -1 && var1[var1.length - 2] == -1) { + this.method2941(var1); + } else { + this.method2942(var1); + } + + } + + @ObfuscatedSignature( + descriptor = "(Lek;ZZZZ)V", + garbageValue = "1" + ) + public ModelData(ModelData var1, boolean var2, boolean var3, boolean var4, boolean var5) { + this.verticesCount = var1.verticesCount; + this.faceCount = var1.faceCount; + this.textureTriangleCount = var1.textureTriangleCount; + int var6; + if (var2) { + this.verticesX = var1.verticesX; + this.verticesY = var1.verticesY; + this.verticesZ = var1.verticesZ; + } else { + this.verticesX = new int[this.verticesCount]; + this.verticesY = new int[this.verticesCount]; + this.verticesZ = new int[this.verticesCount]; + + for(var6 = 0; var6 < this.verticesCount; ++var6) { + this.verticesX[var6] = var1.verticesX[var6]; + this.verticesY[var6] = var1.verticesY[var6]; + this.verticesZ[var6] = var1.verticesZ[var6]; + } + } + + if (var3) { + this.faceColors = var1.faceColors; + } else { + this.faceColors = new short[this.faceCount]; + + for(var6 = 0; var6 < this.faceCount; ++var6) { + this.faceColors[var6] = var1.faceColors[var6]; + } + } + + if (!var4 && var1.faceTextures != null) { + this.faceTextures = new short[this.faceCount]; + + for(var6 = 0; var6 < this.faceCount; ++var6) { + this.faceTextures[var6] = var1.faceTextures[var6]; + } + } else { + this.faceTextures = var1.faceTextures; + } + + this.faceAlphas = var1.faceAlphas; + this.indices1 = var1.indices1; + this.indices2 = var1.indices2; + this.indices3 = var1.indices3; + this.faceRenderTypes = var1.faceRenderTypes; + this.faceRenderPriorities = var1.faceRenderPriorities; + this.textureCoords = var1.textureCoords; + this.priority = var1.priority; + this.textureRenderTypes = var1.textureRenderTypes; + this.texTriangleX = var1.texTriangleX; + this.texTriangleY = var1.texTriangleY; + this.texTriangleZ = var1.texTriangleZ; + this.vertexSkins = var1.vertexSkins; + this.faceSkins = var1.faceSkins; + this.vertexLabels = var1.vertexLabels; + this.faceLabelsAlpha = var1.faceLabelsAlpha; + this.vertexNormals = var1.vertexNormals; + this.faceNormals = var1.faceNormals; + this.field1576 = var1.field1576; + this.ambient = var1.ambient; + this.contrast = var1.contrast; + } + + @ObfuscatedName("v") + void method2941(byte[] var1) { + Buffer var2 = new Buffer(var1); + Buffer var3 = new Buffer(var1); + Buffer var4 = new Buffer(var1); + Buffer var5 = new Buffer(var1); + Buffer var6 = new Buffer(var1); + Buffer var7 = new Buffer(var1); + Buffer var8 = new Buffer(var1); + var2.offset = var1.length - 23; + int var9 = var2.readUnsignedShort(); + int var10 = var2.readUnsignedShort(); + int var11 = var2.readUnsignedByte(); + int var12 = var2.readUnsignedByte(); + int var13 = var2.readUnsignedByte(); + int var14 = var2.readUnsignedByte(); + int var15 = var2.readUnsignedByte(); + int var16 = var2.readUnsignedByte(); + int var17 = var2.readUnsignedByte(); + int var18 = var2.readUnsignedShort(); + int var19 = var2.readUnsignedShort(); + int var20 = var2.readUnsignedShort(); + int var21 = var2.readUnsignedShort(); + int var22 = var2.readUnsignedShort(); + int var23 = 0; + int var24 = 0; + int var25 = 0; + int var26; + if (var11 > 0) { + this.textureRenderTypes = new byte[var11]; + var2.offset = 0; + + for(var26 = 0; var26 < var11; ++var26) { + byte var27 = this.textureRenderTypes[var26] = var2.readByte(); + if (var27 == 0) { + ++var23; + } + + if (var27 >= 1 && var27 <= 3) { + ++var24; + } + + if (var27 == 2) { + ++var25; + } + } + } + + var26 = var11 + var9; + int var28 = var26; + if (var12 == 1) { + var26 += var10; + } + + int var29 = var26; + var26 += var10; + int var30 = var26; + if (var13 == 255) { + var26 += var10; + } + + int var31 = var26; + if (var15 == 1) { + var26 += var10; + } + + int var32 = var26; + if (var17 == 1) { + var26 += var9; + } + + int var33 = var26; + if (var14 == 1) { + var26 += var10; + } + + int var34 = var26; + var26 += var21; + int var35 = var26; + if (var16 == 1) { + var26 += var10 * 2; + } + + int var36 = var26; + var26 += var22; + int var37 = var26; + var26 += var10 * 2; + int var38 = var26; + var26 += var18; + int var39 = var26; + var26 += var19; + int var40 = var26; + var26 += var20; + int var41 = var26; + var26 += var23 * 6; + int var42 = var26; + var26 += var24 * 6; + int var43 = var26; + var26 += var24 * 6; + int var44 = var26; + var26 += var24 * 2; + int var45 = var26; + var26 += var24; + int var46 = var26; + var26 += var24 * 2 + var25 * 2; + this.verticesCount = var9; + this.faceCount = var10; + this.textureTriangleCount = var11; + this.verticesX = new int[var9]; + this.verticesY = new int[var9]; + this.verticesZ = new int[var9]; + this.indices1 = new int[var10]; + this.indices2 = new int[var10]; + this.indices3 = new int[var10]; + if (var17 == 1) { + this.vertexSkins = new int[var9]; + } + + if (var12 == 1) { + this.faceRenderTypes = new byte[var10]; + } + + if (var13 == 255) { + this.faceRenderPriorities = new byte[var10]; + } else { + this.priority = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.faceSkins = new int[var10]; + } + + if (var16 == 1) { + this.faceTextures = new short[var10]; + } + + if (var16 == 1 && var11 > 0) { + this.textureCoords = new byte[var10]; + } + + this.faceColors = new short[var10]; + if (var11 > 0) { + this.texTriangleX = new short[var11]; + this.texTriangleY = new short[var11]; + this.texTriangleZ = new short[var11]; + } + + var2.offset = var11; + var3.offset = var38; + var4.offset = var39; + var5.offset = var40; + var6.offset = var32; + int var48 = 0; + int var49 = 0; + int var50 = 0; + + int var51; + int var52; + int var53; + int var54; + int var55; + for(var51 = 0; var51 < var9; ++var51) { + var52 = var2.readUnsignedByte(); + var53 = 0; + if ((var52 & 1) != 0) { + var53 = var3.readShortSmart(); + } + + var54 = 0; + if ((var52 & 2) != 0) { + var54 = var4.readShortSmart(); + } + + var55 = 0; + if ((var52 & 4) != 0) { + var55 = var5.readShortSmart(); + } + + this.verticesX[var51] = var48 + var53; + this.verticesY[var51] = var49 + var54; + this.verticesZ[var51] = var50 + var55; + var48 = this.verticesX[var51]; + var49 = this.verticesY[var51]; + var50 = this.verticesZ[var51]; + if (var17 == 1) { + this.vertexSkins[var51] = var6.readUnsignedByte(); + } + } + + var2.offset = var37; + var3.offset = var28; + var4.offset = var30; + var5.offset = var33; + var6.offset = var31; + var7.offset = var35; + var8.offset = var36; + + for(var51 = 0; var51 < var10; ++var51) { + this.faceColors[var51] = (short)var2.readUnsignedShort(); + if (var12 == 1) { + this.faceRenderTypes[var51] = var3.readByte(); + } + + if (var13 == 255) { + this.faceRenderPriorities[var51] = var4.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var51] = var5.readByte(); + } + + if (var15 == 1) { + this.faceSkins[var51] = var6.readUnsignedByte(); + } + + if (var16 == 1) { + this.faceTextures[var51] = (short)(var7.readUnsignedShort() - 1); + } + + if (this.textureCoords != null && this.faceTextures[var51] != -1) { + this.textureCoords[var51] = (byte)(var8.readUnsignedByte() - 1); + } + } + + var2.offset = var34; + var3.offset = var29; + var51 = 0; + var52 = 0; + var53 = 0; + var54 = 0; + + int var56; + for(var55 = 0; var55 < var10; ++var55) { + var56 = var3.readUnsignedByte(); + if (var56 == 1) { + var51 = var2.readShortSmart() + var54; + var52 = var2.readShortSmart() + var51; + var53 = var2.readShortSmart() + var52; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 2) { + var52 = var53; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 3) { + var51 = var53; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var52; + this.indices3[var55] = var53; + } + + if (var56 == 4) { + int var57 = var51; + var51 = var52; + var52 = var57; + var53 = var2.readShortSmart() + var54; + var54 = var53; + this.indices1[var55] = var51; + this.indices2[var55] = var57; + this.indices3[var55] = var53; + } + } + + var2.offset = var41; + var3.offset = var42; + var4.offset = var43; + var5.offset = var44; + var6.offset = var45; + var7.offset = var46; + + for(var55 = 0; var55 < var11; ++var55) { + var56 = this.textureRenderTypes[var55] & 255; + if (var56 == 0) { + this.texTriangleX[var55] = (short)var2.readUnsignedShort(); + this.texTriangleY[var55] = (short)var2.readUnsignedShort(); + this.texTriangleZ[var55] = (short)var2.readUnsignedShort(); + } + } + + var2.offset = var26; + var55 = var2.readUnsignedByte(); + if (var55 != 0) { + new ModelData0(); + var2.readUnsignedShort(); + var2.readUnsignedShort(); + var2.readUnsignedShort(); + var2.readInt(); + } + + } + + @ObfuscatedName("d") + void method2942(byte[] var1) { + boolean var2 = false; + boolean var3 = false; + Buffer var4 = new Buffer(var1); + Buffer var5 = new Buffer(var1); + Buffer var6 = new Buffer(var1); + Buffer var7 = new Buffer(var1); + Buffer var8 = new Buffer(var1); + var4.offset = var1.length - 18; + int var9 = var4.readUnsignedShort(); + int var10 = var4.readUnsignedShort(); + int var11 = var4.readUnsignedByte(); + int var12 = var4.readUnsignedByte(); + int var13 = var4.readUnsignedByte(); + int var14 = var4.readUnsignedByte(); + int var15 = var4.readUnsignedByte(); + int var16 = var4.readUnsignedByte(); + int var17 = var4.readUnsignedShort(); + int var18 = var4.readUnsignedShort(); + int var19 = var4.readUnsignedShort(); + int var20 = var4.readUnsignedShort(); + byte var21 = 0; + int var45 = var21 + var9; + int var23 = var45; + var45 += var10; + int var24 = var45; + if (var13 == 255) { + var45 += var10; + } + + int var25 = var45; + if (var15 == 1) { + var45 += var10; + } + + int var26 = var45; + if (var12 == 1) { + var45 += var10; + } + + int var27 = var45; + if (var16 == 1) { + var45 += var9; + } + + int var28 = var45; + if (var14 == 1) { + var45 += var10; + } + + int var29 = var45; + var45 += var20; + int var30 = var45; + var45 += var10 * 2; + int var31 = var45; + var45 += var11 * 6; + int var32 = var45; + var45 += var17; + int var33 = var45; + var45 += var18; + int var10000 = var45 + var19; + this.verticesCount = var9; + this.faceCount = var10; + this.textureTriangleCount = var11; + this.verticesX = new int[var9]; + this.verticesY = new int[var9]; + this.verticesZ = new int[var9]; + this.indices1 = new int[var10]; + this.indices2 = new int[var10]; + this.indices3 = new int[var10]; + if (var11 > 0) { + this.textureRenderTypes = new byte[var11]; + this.texTriangleX = new short[var11]; + this.texTriangleY = new short[var11]; + this.texTriangleZ = new short[var11]; + } + + if (var16 == 1) { + this.vertexSkins = new int[var9]; + } + + if (var12 == 1) { + this.faceRenderTypes = new byte[var10]; + this.textureCoords = new byte[var10]; + this.faceTextures = new short[var10]; + } + + if (var13 == 255) { + this.faceRenderPriorities = new byte[var10]; + } else { + this.priority = (byte)var13; + } + + if (var14 == 1) { + this.faceAlphas = new byte[var10]; + } + + if (var15 == 1) { + this.faceSkins = new int[var10]; + } + + this.faceColors = new short[var10]; + var4.offset = var21; + var5.offset = var32; + var6.offset = var33; + var7.offset = var45; + var8.offset = var27; + int var35 = 0; + int var36 = 0; + int var37 = 0; + + int var38; + int var39; + int var40; + int var41; + int var42; + for(var38 = 0; var38 < var9; ++var38) { + var39 = var4.readUnsignedByte(); + var40 = 0; + if ((var39 & 1) != 0) { + var40 = var5.readShortSmart(); + } + + var41 = 0; + if ((var39 & 2) != 0) { + var41 = var6.readShortSmart(); + } + + var42 = 0; + if ((var39 & 4) != 0) { + var42 = var7.readShortSmart(); + } + + this.verticesX[var38] = var35 + var40; + this.verticesY[var38] = var36 + var41; + this.verticesZ[var38] = var37 + var42; + var35 = this.verticesX[var38]; + var36 = this.verticesY[var38]; + var37 = this.verticesZ[var38]; + if (var16 == 1) { + this.vertexSkins[var38] = var8.readUnsignedByte(); + } + } + + var4.offset = var30; + var5.offset = var26; + var6.offset = var24; + var7.offset = var28; + var8.offset = var25; + + for(var38 = 0; var38 < var10; ++var38) { + this.faceColors[var38] = (short)var4.readUnsignedShort(); + if (var12 == 1) { + var39 = var5.readUnsignedByte(); + if ((var39 & 1) == 1) { + this.faceRenderTypes[var38] = 1; + var2 = true; + } else { + this.faceRenderTypes[var38] = 0; + } + + if ((var39 & 2) == 2) { + this.textureCoords[var38] = (byte)(var39 >> 2); + this.faceTextures[var38] = this.faceColors[var38]; + this.faceColors[var38] = 127; + if (this.faceTextures[var38] != -1) { + var3 = true; + } + } else { + this.textureCoords[var38] = -1; + this.faceTextures[var38] = -1; + } + } + + if (var13 == 255) { + this.faceRenderPriorities[var38] = var6.readByte(); + } + + if (var14 == 1) { + this.faceAlphas[var38] = var7.readByte(); + } + + if (var15 == 1) { + this.faceSkins[var38] = var8.readUnsignedByte(); + } + } + + var4.offset = var29; + var5.offset = var23; + var38 = 0; + var39 = 0; + var40 = 0; + var41 = 0; + + int var43; + int var44; + for(var42 = 0; var42 < var10; ++var42) { + var43 = var5.readUnsignedByte(); + if (var43 == 1) { + var38 = var4.readShortSmart() + var41; + var39 = var4.readShortSmart() + var38; + var40 = var4.readShortSmart() + var39; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 2) { + var39 = var40; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 3) { + var38 = var40; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var39; + this.indices3[var42] = var40; + } + + if (var43 == 4) { + var44 = var38; + var38 = var39; + var39 = var44; + var40 = var4.readShortSmart() + var41; + var41 = var40; + this.indices1[var42] = var38; + this.indices2[var42] = var44; + this.indices3[var42] = var40; + } + } + + var4.offset = var31; + + for(var42 = 0; var42 < var11; ++var42) { + this.textureRenderTypes[var42] = 0; + this.texTriangleX[var42] = (short)var4.readUnsignedShort(); + this.texTriangleY[var42] = (short)var4.readUnsignedShort(); + this.texTriangleZ[var42] = (short)var4.readUnsignedShort(); + } + + if (this.textureCoords != null) { + boolean var46 = false; + + 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 (!var46) { + this.textureCoords = null; + } + } + + if (!var3) { + this.faceTextures = null; + } + + if (!var2) { + this.faceRenderTypes = null; + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lek;I)I" + ) + final int method2980(ModelData var1, int var2) { + int var3 = -1; + int var4 = var1.verticesX[var2]; + int var5 = var1.verticesY[var2]; + int var6 = var1.verticesZ[var2]; + + for(int var7 = 0; var7 < this.verticesCount; ++var7) { + if (var4 == this.verticesX[var7] && var5 == this.verticesY[var7] && var6 == this.verticesZ[var7]) { + var3 = var7; + break; + } + } + + if (var3 == -1) { + this.verticesX[this.verticesCount] = var4; + this.verticesY[this.verticesCount] = var5; + this.verticesZ[this.verticesCount] = var6; + if (var1.vertexSkins != null) { + this.vertexSkins[this.verticesCount] = var1.vertexSkins[var2]; + } + + var3 = this.verticesCount++; + } + + return var3; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "()Lek;" + ) + public ModelData method2945() { + ModelData var1 = new ModelData(); + if (this.faceRenderTypes != null) { + var1.faceRenderTypes = new byte[this.faceCount]; + + for(int var2 = 0; var2 < this.faceCount; ++var2) { + var1.faceRenderTypes[var2] = this.faceRenderTypes[var2]; + } + } + + var1.verticesCount = this.verticesCount; + var1.faceCount = this.faceCount; + 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.faceRenderPriorities = this.faceRenderPriorities; + var1.faceAlphas = this.faceAlphas; + var1.textureCoords = this.textureCoords; + var1.faceColors = this.faceColors; + var1.faceTextures = this.faceTextures; + var1.priority = this.priority; + var1.textureRenderTypes = this.textureRenderTypes; + var1.texTriangleX = this.texTriangleX; + var1.texTriangleY = this.texTriangleY; + var1.texTriangleZ = this.texTriangleZ; + var1.vertexSkins = this.vertexSkins; + var1.faceSkins = this.faceSkins; + var1.vertexLabels = this.vertexLabels; + var1.faceLabelsAlpha = this.faceLabelsAlpha; + var1.vertexNormals = this.vertexNormals; + var1.faceNormals = this.faceNormals; + var1.ambient = this.ambient; + var1.contrast = this.contrast; + return var1; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "([[IIIIZI)Lek;" + ) + public ModelData method2946(int[][] var1, int var2, int var3, int var4, boolean var5, int var6) { + this.calculateBounds(); + int var7 = var2 + this.field1600; + int var8 = var2 + this.field1597; + int var9 = var4 + this.field1599; + int var10 = var4 + this.field1589; + 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; + } else { + 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) { + 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; + } + } else { + return this; + } + } + + @ObfuscatedName("z") + void method2947() { + int[] var1; + int var2; + int var3; + int var4; + if (this.vertexSkins != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.verticesCount; ++var3) { + var4 = this.vertexSkins[var3]; + ++var1[var4]; + if (var4 > var2) { + var2 = var4; + } + } + + this.vertexLabels = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.vertexLabels[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.verticesCount; this.vertexLabels[var4][var1[var4]++] = var3++) { + var4 = this.vertexSkins[var3]; + } + + this.vertexSkins = null; + } + + if (this.faceSkins != null) { + var1 = new int[256]; + var2 = 0; + + for(var3 = 0; var3 < this.faceCount; ++var3) { + var4 = this.faceSkins[var3]; + ++var1[var4]; + if (var4 > var2) { + var2 = var4; + } + } + + this.faceLabelsAlpha = new int[var2 + 1][]; + + for(var3 = 0; var3 <= var2; ++var3) { + this.faceLabelsAlpha[var3] = new int[var1[var3]]; + var1[var3] = 0; + } + + for(var3 = 0; var3 < this.faceCount; this.faceLabelsAlpha[var4][var1[var4]++] = var3++) { + var4 = this.faceSkins[var3]; + } + + this.faceSkins = null; + } + + } + + @ObfuscatedName("e") + public void method2948() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesX[var1]; + this.verticesX[var1] = this.verticesZ[var1]; + this.verticesZ[var1] = -var2; + } + + this.invalidate(); + } + + @ObfuscatedName("l") + public void method2949() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesX[var1] = -this.verticesX[var1]; + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + this.invalidate(); + } + + @ObfuscatedName("s") + public void method3006() { + for(int var1 = 0; var1 < this.verticesCount; ++var1) { + int var2 = this.verticesZ[var1]; + this.verticesZ[var1] = this.verticesX[var1]; + this.verticesX[var1] = -var2; + } + + this.invalidate(); + } + + @ObfuscatedName("b") + public void method2951(int var1) { + int var2 = ModelData_sine[var1]; + int var3 = ModelData_cosine[var1]; + + for(int var4 = 0; var4 < this.verticesCount; ++var4) { + int var5 = var2 * this.verticesZ[var4] + var3 * this.verticesX[var4] >> 16; + this.verticesZ[var4] = var3 * this.verticesZ[var4] - var2 * this.verticesX[var4] >> 16; + this.verticesX[var4] = var5; + } + + this.invalidate(); + } + + @ObfuscatedName("a") + @Export("changeOffset") + public void changeOffset(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.verticesCount; ++var4) { + this.verticesX[var4] += var1; + this.verticesY[var4] += var2; + this.verticesZ[var4] += var3; + } + + this.invalidate(); + } + + @ObfuscatedName("w") + @Export("recolor") + public void recolor(short var1, short var2) { + for(int var3 = 0; var3 < this.faceCount; ++var3) { + if (this.faceColors[var3] == var1) { + this.faceColors[var3] = var2; + } + } + + } + + @ObfuscatedName("k") + @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; + } + } + + } + } + + @ObfuscatedName("i") + public void method2989() { + int var1; + for(var1 = 0; var1 < this.verticesCount; ++var1) { + this.verticesZ[var1] = -this.verticesZ[var1]; + } + + for(var1 = 0; var1 < this.faceCount; ++var1) { + int var2 = this.indices1[var1]; + this.indices1[var1] = this.indices3[var1]; + this.indices3[var1] = var2; + } + + this.invalidate(); + } + + @ObfuscatedName("x") + @Export("resize") + public void resize(int var1, int var2, int var3) { + 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.invalidate(); + } + + @ObfuscatedName("g") + @Export("calculateVertexNormals") + public void calculateVertexNormals() { + if (this.vertexNormals == null) { + this.vertexNormals = new VertexNormal[this.verticesCount]; + + 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; + } + + 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("u") + @Export("invalidate") + void invalidate() { + this.vertexNormals = null; + this.field1576 = null; + this.faceNormals = null; + this.isBoundsCalculated = false; + } + + @ObfuscatedName("t") + @Export("calculateBounds") + void calculateBounds() { + if (!this.isBoundsCalculated) { + super.height = 0; + this.field1595 = 0; + this.field1600 = 999999; + this.field1597 = -999999; + this.field1589 = -99999; + this.field1599 = 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.field1600) { + this.field1600 = var2; + } + + if (var2 > this.field1597) { + this.field1597 = var2; + } + + if (var4 < this.field1599) { + this.field1599 = var4; + } + + if (var4 > this.field1589) { + this.field1589 = var4; + } + + if (-var3 > super.height) { + super.height = -var3; + } + + if (var3 > this.field1595) { + this.field1595 = var3; + } + } + + this.isBoundsCalculated = true; + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(IIIII)Lef;" + ) + @Export("toModel") + public final Model toModel(int var1, int var2, int var3, int var4, int var5) { + 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.textureTriangleCount > 0 && this.textureCoords != null) { + int[] var9 = new int[this.textureTriangleCount]; + + int var10; + for(var10 = 0; var10 < this.faceCount; ++var10) { + if (this.textureCoords[var10] != -1) { + ++var9[this.textureCoords[var10] & 255]; + } + } + + var8.field1692 = 0; + + for(var10 = 0; var10 < this.textureTriangleCount; ++var10) { + if (var9[var10] > 0 && this.textureRenderTypes[var10] == 0) { + ++var8.field1692; + } + } + + var8.field1718 = new int[var8.field1692]; + var8.field1705 = new int[var8.field1692]; + var8.field1749 = new int[var8.field1692]; + var10 = 0; + + int var11; + for(var11 = 0; var11 < this.textureTriangleCount; ++var11) { + if (var9[var11] > 0 && this.textureRenderTypes[var11] == 0) { + var8.field1718[var10] = this.texTriangleX[var11] & '\uffff'; + var8.field1705[var10] = this.texTriangleY[var11] & '\uffff'; + var8.field1749[var10] = this.texTriangleZ[var11] & '\uffff'; + var9[var11] = var10++; + } else { + var9[var11] = -1; + } + } + + var8.field1700 = new byte[this.faceCount]; + + for(var11 = 0; var11 < this.faceCount; ++var11) { + if (this.textureCoords[var11] != -1) { + var8.field1700[var11] = (byte)var9[this.textureCoords[var11] & 255]; + } else { + var8.field1700[var11] = -1; + } + } + } + + for(int var16 = 0; var16 < this.faceCount; ++var16) { + byte var17; + if (this.faceRenderTypes == null) { + var17 = 0; + } else { + var17 = this.faceRenderTypes[var16]; + } + + byte var18; + if (this.faceAlphas == null) { + var18 = 0; + } else { + var18 = this.faceAlphas[var16]; + } + + short var12; + if (this.faceTextures == null) { + var12 = -1; + } else { + var12 = this.faceTextures[var16]; + } + + if (var18 == -2) { + var17 = 3; + } + + if (var18 == -1) { + var17 = 2; + } + + VertexNormal var13; + int var14; + FaceNormal var19; + if (var12 == -1) { + if (var17 != 0) { + if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2962(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 (this.field1576 != null && this.field1576[this.indices1[var16]] != null) { + var13 = this.field1576[this.indices1[var16]]; + } else { + var13 = this.vertexNormals[this.indices1[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors1[var16] = method2962(var15, var14); + if (this.field1576 != null && this.field1576[this.indices2[var16]] != null) { + var13 = this.field1576[this.indices2[var16]]; + } else { + var13 = this.vertexNormals[this.indices2[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors2[var16] = method2962(var15, var14); + if (this.field1576 != null && this.field1576[this.indices3[var16]] != null) { + var13 = this.field1576[this.indices3[var16]]; + } else { + var13 = this.vertexNormals[this.indices3[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors3[var16] = method2962(var15, var14); + } + } else if (var17 != 0) { + if (var17 == 1) { + var19 = this.faceNormals[var16]; + var14 = (var4 * var19.y + var5 * var19.z + var3 * var19.x) / (var7 / 2 + var7) + var1; + var8.faceColors1[var16] = method2963(var14); + var8.faceColors3[var16] = -1; + } else { + var8.faceColors3[var16] = -2; + } + } else { + if (this.field1576 != null && this.field1576[this.indices1[var16]] != null) { + var13 = this.field1576[this.indices1[var16]]; + } else { + var13 = this.vertexNormals[this.indices1[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors1[var16] = method2963(var14); + if (this.field1576 != null && this.field1576[this.indices2[var16]] != null) { + var13 = this.field1576[this.indices2[var16]]; + } else { + var13 = this.vertexNormals[this.indices2[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors2[var16] = method2963(var14); + if (this.field1576 != null && this.field1576[this.indices3[var16]] != null) { + var13 = this.field1576[this.indices3[var16]]; + } else { + var13 = this.vertexNormals[this.indices3[var16]]; + } + + var14 = (var4 * var13.y + var5 * var13.z + var3 * var13.x) / (var7 * var13.magnitude) + var1; + var8.faceColors3[var16] = method2963(var14); + } + } + + this.method2947(); + var8.verticesCount = this.verticesCount; + var8.verticesX = this.verticesX; + var8.verticesY = this.verticesY; + var8.verticesZ = this.verticesZ; + var8.indicesCount = this.faceCount; + var8.indices1 = this.indices1; + var8.indices2 = this.indices2; + var8.indices3 = this.indices3; + var8.faceRenderPriorities = this.faceRenderPriorities; + var8.faceAlphas = this.faceAlphas; + var8.field1702 = this.priority; + var8.vertexLabels = this.vertexLabels; + var8.faceLabelsAlpha = this.faceLabelsAlpha; + var8.faceTextures = this.faceTextures; + return var8; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;II)Lek;" + ) + @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); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(Lek;Lek;IIIZ)V" + ) + static void method2960(ModelData var0, ModelData var1, int var2, int var3, int var4, boolean var5) { + var0.calculateBounds(); + var0.calculateVertexNormals(); + var1.calculateBounds(); + var1.calculateVertexNormals(); + ++field1602; + int var6 = 0; + int[] var7 = var1.verticesX; + int var8 = var1.verticesCount; + + int var9; + for(var9 = 0; var9 < var0.verticesCount; ++var9) { + VertexNormal var10 = var0.vertexNormals[var9]; + if (var10.magnitude != 0) { + int var11 = var0.verticesY[var9] - var3; + if (var11 <= var1.field1595) { + int var12 = var0.verticesX[var9] - var2; + if (var12 >= var1.field1600 && var12 <= var1.field1597) { + int var13 = var0.verticesZ[var9] - var4; + if (var13 >= var1.field1599 && var13 <= var1.field1589) { + 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) { + if (var0.field1576 == null) { + var0.field1576 = new VertexNormal[var0.verticesCount]; + } + + if (var1.field1576 == null) { + var1.field1576 = new VertexNormal[var8]; + } + + VertexNormal var16 = var0.field1576[var9]; + if (var16 == null) { + var16 = var0.field1576[var9] = new VertexNormal(var10); + } + + VertexNormal var17 = var1.field1576[var14]; + if (var17 == null) { + var17 = var1.field1576[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] = field1602; + field1601[var14] = field1602; + } + } + } + } + } + } + } + + if (var6 >= 3 && var5) { + for(var9 = 0; var9 < var0.faceCount; ++var9) { + if (field1584[var0.indices1[var9]] == field1602 && field1584[var0.indices2[var9]] == field1602 && field1584[var0.indices3[var9]] == field1602) { + if (var0.faceRenderTypes == null) { + var0.faceRenderTypes = new byte[var0.faceCount]; + } + + var0.faceRenderTypes[var9] = 2; + } + } + + for(var9 = 0; var9 < var1.faceCount; ++var9) { + if (field1602 == field1601[var1.indices1[var9]] && field1602 == field1601[var1.indices2[var9]] && field1602 == field1601[var1.indices3[var9]]) { + if (var1.faceRenderTypes == null) { + var1.faceRenderTypes = new byte[var1.faceCount]; + } + + var1.faceRenderTypes[var9] = 2; + } + } + + } + } + + @ObfuscatedName("ay") + static final int method2962(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 'タ') + var1; + } + + @ObfuscatedName("am") + static final int method2963(int var0) { + if (var0 < 2) { + var0 = 2; + } else if (var0 > 126) { + var0 = 126; + } + + return var0; + } } diff --git a/runescape-client/src/main/java/ModelData0.java b/runescape-client/src/main/java/ModelData0.java index 23b7e1613d..4812b7bae5 100644 --- a/runescape-client/src/main/java/ModelData0.java +++ b/runescape-client/src/main/java/ModelData0.java @@ -1,95 +1,61 @@ -import java.io.File; -import java.io.RandomAccessFile; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("et") +@ObfuscatedName("ey") @Implements("ModelData0") public class ModelData0 { - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1312474223 - ) - @Export("canvasHeight") - public static int canvasHeight; + @ObfuscatedName("ib") + @ObfuscatedGetter( + intValue = -1948740643 + ) + static int field1882; - ModelData0() { - } // L: 4 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkd;II)V", + garbageValue = "-1780574680" + ) + @Export("updatePlayers") + static final void updatePlayers(PacketBuffer var0, int var1) { + int var2 = var0.offset; + Players.Players_pendingUpdateCount = 0; + WorldMapDecoration.method404(var0); + MusicPatch.method4095(var0); + if (var0.offset - var2 != var1) { + throw new RuntimeException(var0.offset - var2 + " " + var1); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/io/File;", - garbageValue = "1637999764" - ) - @Export("getFile") - public static File getFile(String var0) { - if (!FileSystem.FileSystem_hasPermissions) { // L: 16 - throw new RuntimeException(""); - } else { - File var1 = (File)FileSystem.FileSystem_cacheFiles.get(var0); - if (var1 != null) { - return var1; - } else { - File var2 = new File(FileSystem.FileSystem_cacheDir, var0); // L: 19 - RandomAccessFile var3 = null; // L: 20 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "([BIIII[Lfe;I)V", + garbageValue = "255234267" + ) + static final void method3411(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { + int var7; + int var8; + for(int var6 = 0; var6 < 4; ++var6) { + for(var7 = 0; var7 < 64; ++var7) { + for(var8 = 0; var8 < 64; ++var8) { + if (var7 + var1 > 0 && var7 + var1 < 103 && var8 + var2 > 0 && var8 + var2 < 103) { + var5[var6].flags[var7 + var1][var8 + var2] &= -16777217; + } + } + } + } - try { - File var4 = new File(var2.getParent()); // L: 22 - if (!var4.exists()) { // L: 23 - throw new RuntimeException(""); - } else { - var3 = new RandomAccessFile(var2, "rw"); // L: 24 - int var5 = var3.read(); // L: 25 - var3.seek(0L); // L: 26 - var3.write(var5); // L: 27 - var3.seek(0L); // L: 28 - var3.close(); // L: 29 - FileSystem.FileSystem_cacheFiles.put(var0, var2); // L: 30 - return var2; // L: 31 - } - } catch (Exception var8) { - try { - if (var3 != null) { // L: 35 - var3.close(); // L: 36 - var3 = null; // L: 37 - } - } catch (Exception var7) { // L: 40 - } + Buffer var10 = new Buffer(var0); - throw new RuntimeException(); // L: 42 - } - } - } - } + for(var7 = 0; var7 < 4; ++var7) { + for(var8 = 0; var8 < 64; ++var8) { + for(int var9 = 0; var9 < 64; ++var9) { + KeyHandler.loadTerrain(var10, var7, var8 + var1, var9 + var2, var3, var4, 0); + } + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;I)V", - garbageValue = "402911181" - ) - public static void method3331(AbstractArchive var0, AbstractArchive var1) { - SpotAnimationDefinition.SpotAnimationDefinition_archive = var0; // L: 32 - SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var1; // L: 33 - } // L: 34 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;I)V", - garbageValue = "2029131503" - ) - public static void method3330(AbstractArchive var0) { - VarcInt.VarcInt_archive = var0; // L: 17 - } // L: 18 - - @ObfuscatedName("jf") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "237482387" - ) - static final String method3329(int var0) { - return var0 < 999999999 ? Integer.toString(var0) : "*"; // L: 9582 9583 - } + } } diff --git a/runescape-client/src/main/java/MouseHandler.java b/runescape-client/src/main/java/MouseHandler.java index dd15e8ef38..853eb153bf 100644 --- a/runescape-client/src/main/java/MouseHandler.java +++ b/runescape-client/src/main/java/MouseHandler.java @@ -8,265 +8,274 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bc") +@ObfuscatedName("bl") @Implements("MouseHandler") public class MouseHandler implements MouseListener, MouseMotionListener, FocusListener { - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1946834755 - ) - @Export("MouseHandler_y") - public static int MouseHandler_y; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lbc;" - ) - @Export("MouseHandler_instance") - static MouseHandler MouseHandler_instance; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 775805491 - ) - @Export("MouseHandler_idleCycles") - static volatile int MouseHandler_idleCycles; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 573166023 - ) - @Export("MouseHandler_currentButtonVolatile") - static volatile int MouseHandler_currentButtonVolatile; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1601241931 - ) - @Export("MouseHandler_xVolatile") - static volatile int MouseHandler_xVolatile; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -393042359 - ) - @Export("MouseHandler_yVolatile") - static volatile int MouseHandler_yVolatile; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = 2107554156313021357L - ) - @Export("MouseHandler_lastMovedVolatile") - static volatile long MouseHandler_lastMovedVolatile; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -40540789 - ) - @Export("MouseHandler_currentButton") - public static int MouseHandler_currentButton; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1140294545 - ) - @Export("MouseHandler_x") - public static int MouseHandler_x; - @ObfuscatedName("m") - @ObfuscatedGetter( - longValue = 3330713262365834661L - ) - @Export("MouseHandler_millis") - public static long MouseHandler_millis; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1471802557 - ) - @Export("MouseHandler_lastButtonVolatile") - static volatile int MouseHandler_lastButtonVolatile; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -424181839 - ) - @Export("MouseHandler_lastPressedXVolatile") - static volatile int MouseHandler_lastPressedXVolatile; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -896112983 - ) - @Export("MouseHandler_lastPressedYVolatile") - static volatile int MouseHandler_lastPressedYVolatile; - @ObfuscatedName("a") - @ObfuscatedGetter( - longValue = 4573498381714569869L - ) - @Export("MouseHandler_lastPressedTimeMillisVolatile") - static volatile long MouseHandler_lastPressedTimeMillisVolatile; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1823163477 - ) - @Export("MouseHandler_lastButton") - public static int MouseHandler_lastButton; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -246658433 - ) - @Export("MouseHandler_lastPressedX") - public static int MouseHandler_lastPressedX; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 1476930385 - ) - @Export("MouseHandler_lastPressedY") - public static int MouseHandler_lastPressedY; - @ObfuscatedName("q") - @ObfuscatedGetter( - longValue = -5526312633867782885L - ) - @Export("MouseHandler_lastPressedTimeMillis") - public static long MouseHandler_lastPressedTimeMillis; - @ObfuscatedName("ez") - static int[] field487; - @ObfuscatedName("ma") - @ObfuscatedGetter( - intValue = -139305955 - ) - @Export("selectedSpellWidget") - static int selectedSpellWidget; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lbl;" + ) + @Export("MouseHandler_instance") + public static MouseHandler MouseHandler_instance = new MouseHandler(); + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = -7050613403176353347L + ) + @Export("MouseHandler_millis") + public static long MouseHandler_millis = 0L; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1826122279 + ) + @Export("MouseHandler_idleCycles") + public static volatile int MouseHandler_idleCycles = 0; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1193500929 + ) + @Export("MouseHandler_currentButtonVolatile") + static volatile int MouseHandler_currentButtonVolatile = 0; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 69676803 + ) + @Export("MouseHandler_xVolatile") + static volatile int MouseHandler_xVolatile = -1; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1528729291 + ) + @Export("MouseHandler_yVolatile") + static volatile int MouseHandler_yVolatile = -1; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = -7426561845363356173L + ) + @Export("MouseHandler_lastMovedVolatile") + static volatile long MouseHandler_lastMovedVolatile = -1L; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 411605215 + ) + @Export("MouseHandler_currentButton") + public static int MouseHandler_currentButton = 0; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -414755305 + ) + @Export("MouseHandler_x") + public static int MouseHandler_x = 0; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 586562237 + ) + @Export("MouseHandler_y") + public static int MouseHandler_y = 0; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 635740657 + ) + @Export("MouseHandler_lastButtonVolatile") + static volatile int MouseHandler_lastButtonVolatile = 0; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1027797435 + ) + @Export("MouseHandler_lastPressedXVolatile") + static volatile int MouseHandler_lastPressedXVolatile = 0; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -1792893405 + ) + @Export("MouseHandler_lastPressedYVolatile") + static volatile int MouseHandler_lastPressedYVolatile = 0; + @ObfuscatedName("x") + @ObfuscatedGetter( + longValue = -8649203811003384729L + ) + @Export("MouseHandler_lastPressedTimeMillisVolatile") + static volatile long MouseHandler_lastPressedTimeMillisVolatile = 0L; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -266650857 + ) + @Export("MouseHandler_lastButton") + public static int MouseHandler_lastButton = 0; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -80903917 + ) + @Export("MouseHandler_lastPressedX") + public static int MouseHandler_lastPressedX = 0; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -199008981 + ) + @Export("MouseHandler_lastPressedY") + public static int MouseHandler_lastPressedY = 0; + @ObfuscatedName("t") + @ObfuscatedGetter( + longValue = 3494656380039963363L + ) + @Export("MouseHandler_lastPressedTimeMillis") + public static long MouseHandler_lastPressedTimeMillis = 0L; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 47148611 + ) + static int field512; - static { - MouseHandler_instance = new MouseHandler(); // L: 15 - MouseHandler_idleCycles = 0; // L: 16 - MouseHandler_currentButtonVolatile = 0; // L: 17 - MouseHandler_xVolatile = -1; // L: 18 - MouseHandler_yVolatile = -1; // L: 19 - MouseHandler_lastMovedVolatile = -1L; // L: 20 - MouseHandler_currentButton = 0; // L: 21 - MouseHandler_x = 0; // L: 22 - MouseHandler_y = 0; // L: 23 - MouseHandler_millis = 0L; // L: 24 - MouseHandler_lastButtonVolatile = 0; // L: 25 - MouseHandler_lastPressedXVolatile = 0; - MouseHandler_lastPressedYVolatile = 0; - MouseHandler_lastPressedTimeMillisVolatile = 0L; // L: 28 - MouseHandler_lastButton = 0; // L: 29 - MouseHandler_lastPressedX = 0; // L: 30 - MouseHandler_lastPressedY = 0; // L: 31 - MouseHandler_lastPressedTimeMillis = 0L; // L: 32 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/event/MouseEvent;I)I", + garbageValue = "-287252269" + ) + @Export("getButton") + final int getButton(MouseEvent var1) { + int var2 = var1.getButton(); + if (!var1.isAltDown() && var2 != 2) { + return !var1.isMetaDown() && var2 != 3 ? 1 : 2; + } else { + return 4; + } + } - MouseHandler() { - } // L: 34 + public final synchronized void mouseMoved(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_xVolatile = var1.getX(); + MouseHandler_yVolatile = var1.getY(); + MouseHandler_lastMovedVolatile = var1.getWhen(); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/event/MouseEvent;I)I", - garbageValue = "-2088746983" - ) - @Export("getButton") - final int getButton(MouseEvent var1) { - int var2 = var1.getButton(); // L: 67 - if (!var1.isAltDown() && var2 != 2) { // L: 68 - return !var1.isMetaDown() && var2 != 3 ? 1 : 2; // L: 69 70 - } else { - return 4; - } - } + } - public final synchronized void mouseMoved(MouseEvent var1) { - if (MouseHandler_instance != null) { // L: 115 - MouseHandler_idleCycles = 0; // L: 116 - MouseHandler_xVolatile = var1.getX(); // L: 117 - MouseHandler_yVolatile = var1.getY(); // L: 118 - MouseHandler_lastMovedVolatile = var1.getWhen(); // L: 119 - } + public final synchronized void mousePressed(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_lastPressedXVolatile = var1.getX(); + MouseHandler_lastPressedYVolatile = var1.getY(); + MouseHandler_lastPressedTimeMillisVolatile = Tiles.currentTimeMillis(); + MouseHandler_lastButtonVolatile = this.getButton(var1); + if (MouseHandler_lastButtonVolatile != 0) { + MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; + } + } - } // L: 121 + if (var1.isPopupTrigger()) { + var1.consume(); + } - public final synchronized void focusLost(FocusEvent var1) { - if (MouseHandler_instance != null) { // L: 126 - MouseHandler_currentButtonVolatile = 0; - } + } - } // L: 127 + public final synchronized void mouseReleased(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_currentButtonVolatile = 0; + } - public final synchronized void mousePressed(MouseEvent var1) { - if (MouseHandler_instance != null) { // L: 74 - MouseHandler_idleCycles = 0; // L: 75 - MouseHandler_lastPressedXVolatile = var1.getX(); // L: 76 - MouseHandler_lastPressedYVolatile = var1.getY(); // L: 77 - MouseHandler_lastPressedTimeMillisVolatile = class298.currentTimeMillis(); // L: 78 - MouseHandler_lastButtonVolatile = this.getButton(var1); // L: 79 - if (MouseHandler_lastButtonVolatile != 0) { // L: 80 - MouseHandler_currentButtonVolatile = MouseHandler_lastButtonVolatile; - } - } + if (var1.isPopupTrigger()) { + var1.consume(); + } - if (var1.isPopupTrigger()) { // L: 82 - var1.consume(); - } + } - } // L: 83 + public final void mouseClicked(MouseEvent var1) { + if (var1.isPopupTrigger()) { + var1.consume(); + } - public final void mouseClicked(MouseEvent var1) { - if (var1.isPopupTrigger()) { // L: 94 - var1.consume(); - } + } - } // L: 95 + public final synchronized void mouseEntered(MouseEvent var1) { + this.mouseMoved(var1); + } - public final synchronized void mouseExited(MouseEvent var1) { - if (MouseHandler_instance != null) { // L: 102 - MouseHandler_idleCycles = 0; // L: 103 - MouseHandler_xVolatile = -1; // L: 104 - MouseHandler_yVolatile = -1; // L: 105 - MouseHandler_lastMovedVolatile = var1.getWhen(); // L: 106 - } + public final synchronized void mouseExited(MouseEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_idleCycles = 0; + MouseHandler_xVolatile = -1; + MouseHandler_yVolatile = -1; + MouseHandler_lastMovedVolatile = var1.getWhen(); + } - } // L: 108 + } - public final synchronized void mouseReleased(MouseEvent var1) { - if (MouseHandler_instance != null) { // L: 86 - MouseHandler_idleCycles = 0; // L: 87 - MouseHandler_currentButtonVolatile = 0; // L: 88 - } + public final synchronized void focusLost(FocusEvent var1) { + if (MouseHandler_instance != null) { + MouseHandler_currentButtonVolatile = 0; + } - if (var1.isPopupTrigger()) { // L: 90 - var1.consume(); - } + } - } // L: 91 + public final void focusGained(FocusEvent var1) { + } - public final void focusGained(FocusEvent var1) { - } // L: 123 + public final synchronized void mouseDragged(MouseEvent var1) { + this.mouseMoved(var1); + } - public final synchronized void mouseEntered(MouseEvent var1) { - this.mouseMoved(var1); // L: 98 - } // L: 99 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;Lig;Lig;I)V", + garbageValue = "1350296670" + ) + public static void method1151(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, AbstractArchive var3) { + FontName.Widget_archive = var0; + DirectByteArrayCopier.Widget_modelsArchive = var1; + InterfaceParent.Widget_spritesArchive = var2; + Widget.Widget_fontsArchive = var3; + DefaultsGroup.Widget_interfaceComponents = new Widget[FontName.Widget_archive.getGroupCount()][]; + Widget.Widget_loadedInterfaces = new boolean[FontName.Widget_archive.getGroupCount()]; + } - public final synchronized void mouseDragged(MouseEvent var1) { - this.mouseMoved(var1); // L: 111 - } // L: 112 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1766193005" + ) + public static int method1176(int var0, int var1) { + int var2 = var0 >>> 31; + return (var0 + var2) / var1 - var2; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;I)V", - garbageValue = "-1589242946" - ) - public static void method1157(AbstractArchive var0) { - FloorOverlayDefinition.FloorOverlayDefinition_archive = var0; // L: 26 - } // L: 27 + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "-67" + ) + static int method1174(int var0, Script var1, boolean var2) { + Widget var5; + if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { + var5 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var5.itemId; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { + var5 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var5.itemId != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var5.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-870366396" - ) - static int method1156(int var0) { - return (int)((Math.log((double)var0) / Interpreter.field1093 - 7.0D) * 256.0D); // L: 3263 - } + return 1; + } else if (var0 == ScriptOpcodes.IF_HASSUB) { + int var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3); + if (var4 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } - @ObfuscatedName("hk") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1220632952" - ) - static boolean method1150() { - return (Client.drawPlayerNames & 8) != 0; // L: 4795 - } + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.rootInterface; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/MouseRecorder.java b/runescape-client/src/main/java/MouseRecorder.java index 3f8ad9959b..771a3af0ae 100644 --- a/runescape-client/src/main/java/MouseRecorder.java +++ b/runescape-client/src/main/java/MouseRecorder.java @@ -2,216 +2,50 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bv") +@ObfuscatedName("bb") @Implements("MouseRecorder") public class MouseRecorder implements Runnable { - @ObfuscatedName("gv") - @Export("regionMapArchives") - static byte[][] regionMapArchives; - @ObfuscatedName("h") - @Export("isRunning") - boolean isRunning; - @ObfuscatedName("v") - @Export("lock") - Object lock; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1074522321 - ) - @Export("index") - int index; - @ObfuscatedName("w") - @Export("xs") - int[] xs; - @ObfuscatedName("t") - @Export("ys") - int[] ys; - @ObfuscatedName("j") - @Export("millis") - long[] millis; + @ObfuscatedName("em") + @ObfuscatedGetter( + intValue = -1626344665 + ) + @Export("port1") + static int port1; + @ObfuscatedName("n") + @Export("isRunning") + boolean isRunning = true; + @ObfuscatedName("v") + @Export("lock") + Object lock = new Object(); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1370756697 + ) + @Export("index") + int index = 0; + @ObfuscatedName("c") + @Export("xs") + int[] xs = new int[500]; + @ObfuscatedName("y") + @Export("ys") + int[] ys = new int[500]; + @ObfuscatedName("h") + @Export("millis") + long[] millis = new long[500]; - MouseRecorder() { - this.isRunning = true; // L: 7 - this.lock = new Object(); // L: 8 - this.index = 0; // L: 9 - this.xs = new int[500]; // L: 10 - this.ys = new int[500]; // L: 11 - this.millis = new long[500]; // L: 12 - } // L: 14 + public void run() { + for(; this.isRunning; ApproximateRouteStrategy.sleepExact(50L)) { + Object var1 = this.lock; + synchronized(this.lock) { + if (this.index < 500) { + this.xs[this.index] = MouseHandler.MouseHandler_x; + this.ys[this.index] = MouseHandler.MouseHandler_y; + this.millis[this.index] = MouseHandler.MouseHandler_millis; + ++this.index; + } + } + } - public void run() { - for (; this.isRunning; class236.sleepExact(50L)) { // L: 17 26 - synchronized(this.lock) { // L: 18 - if (this.index < 500) { // L: 19 - this.xs[this.index] = MouseHandler.MouseHandler_x; // L: 20 - this.ys[this.index] = MouseHandler.MouseHandler_y; // L: 21 - this.millis[this.index] = MouseHandler.MouseHandler_millis; // L: 22 - ++this.index; // L: 23 - } - } - } - - } // L: 28 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lcj;Lcj;IZI)I", - garbageValue = "1286095524" - ) - @Export("compareWorlds") - static int compareWorlds(World var0, World var1, int var2, boolean var3) { - if (var2 == 1) { // L: 221 - int var4 = var0.population; // L: 222 - int var5 = var1.population; // L: 223 - if (!var3) { // L: 224 - if (var4 == -1) { // L: 225 - var4 = 2001; - } - - if (var5 == -1) { // L: 226 - var5 = 2001; - } - } - - return var4 - var5; // L: 228 - } else if (var2 == 2) { // L: 230 - return var0.location - var1.location; - } else if (var2 == 3) { // L: 231 - if (var0.activity.equals("-")) { // L: 232 - if (var1.activity.equals("-")) { // L: 233 - return 0; - } else { - return var3 ? -1 : 1; // L: 234 - } - } else if (var1.activity.equals("-")) { // L: 236 - return var3 ? 1 : -1; - } else { - return var0.activity.compareTo(var1.activity); // L: 237 - } - } else if (var2 == 4) { // L: 239 - return var0.method1831() ? (var1.method1831() ? 0 : 1) : (var1.method1831() ? -1 : 0); - } else if (var2 == 5) { // L: 240 - return var0.method1829() ? (var1.method1829() ? 0 : 1) : (var1.method1829() ? -1 : 0); - } else if (var2 == 6) { // L: 241 - return var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0); - } else if (var2 == 7) { // L: 242 - return var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0); - } else { - return var0.id - var1.id; // L: 243 - } - } - - @ObfuscatedName("gp") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2045975634" - ) - static void method1264() { - PacketBufferNode var0 = ItemContainer.getPacketBufferNode(ClientPacket.field2273, Client.packetWriter.isaacCipher); // L: 4192 - var0.packetBuffer.writeByte(SoundSystem.getWindowedMode()); // L: 4193 - var0.packetBuffer.writeShort(IgnoreList.canvasWidth); // L: 4194 - var0.packetBuffer.writeShort(ModelData0.canvasHeight); // L: 4195 - Client.packetWriter.addNode(var0); // L: 4196 - } // L: 4197 - - @ObfuscatedName("hd") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1589366551" - ) - @Export("updateItemPile") - static final void updateItemPile(int var0, int var1) { - NodeDeque var2 = Client.groundItems[GameObject.Client_plane][var0][var1]; // L: 7029 - if (var2 == null) { // L: 7030 - ArchiveLoader.scene.removeGroundItemPile(GameObject.Client_plane, var0, var1); // L: 7031 - } else { - long var3 = -99999999L; // L: 7034 - TileItem var5 = null; // L: 7035 - - TileItem var6; - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { // L: 7036 7037 7045 - ItemComposition var7 = SecureRandomCallable.ItemDefinition_get(var6.id); // L: 7038 - long var11 = (long)var7.price; // L: 7039 - if (var7.isStackable == 1) { // L: 7040 - var11 *= (long)(var6.quantity + 1); - } - - if (var11 > var3) { // L: 7041 - var3 = var11; // L: 7042 - var5 = var6; // L: 7043 - } - } - - if (var5 == null) { // L: 7047 - ArchiveLoader.scene.removeGroundItemPile(GameObject.Client_plane, var0, var1); // L: 7048 - } else { - var2.addLast(var5); // L: 7051 - TileItem var13 = null; // L: 7052 - TileItem var8 = null; // L: 7053 - - for (var6 = (TileItem)var2.last(); var6 != null; var6 = (TileItem)var2.previous()) { // L: 7054 7055 7060 - if (var5.id != var6.id) { // L: 7056 - if (var13 == null) { // L: 7057 - var13 = var6; - } - - if (var13.id != var6.id && var8 == null) { // L: 7058 - var8 = var6; - } - } - } - - long var9 = NPC.calculateTag(var0, var1, 3, false, 0); // L: 7062 - ArchiveLoader.scene.newGroundItemPile(GameObject.Client_plane, var0, var1, SecureRandomFuture.getTileHeight(var0 * 128 + 64, var1 * 128 + 64, GameObject.Client_plane), var5, var9, var13, var8); // L: 7063 - } - } - } // L: 7032 7049 7064 - - @ObfuscatedName("ku") - @ObfuscatedSignature( - descriptor = "(Lbt;ZI)V", - garbageValue = "1519561634" - ) - @Export("closeInterface") - static final void closeInterface(InterfaceParent var0, boolean var1) { - int var2 = var0.group; // L: 10817 - int var3 = (int)var0.key; // L: 10818 - var0.remove(); // L: 10819 - if (var1 && var2 != -1 && class195.Widget_loadedInterfaces[var2]) { // L: 10820 10821 10822 - class58.Widget_archive.clearFilesGroup(var2); // L: 10823 - if (class9.Widget_interfaceComponents[var2] != null) { // L: 10824 - boolean var4 = true; // L: 10825 - - for (int var5 = 0; var5 < class9.Widget_interfaceComponents[var2].length; ++var5) { // L: 10826 - if (class9.Widget_interfaceComponents[var2][var5] != null) { // L: 10827 - if (class9.Widget_interfaceComponents[var2][var5].type != 2) { // L: 10828 - class9.Widget_interfaceComponents[var2][var5] = null; - } else { - var4 = false; // L: 10829 - } - } - } - - if (var4) { // L: 10832 - class9.Widget_interfaceComponents[var2] = null; - } - - class195.Widget_loadedInterfaces[var2] = false; // L: 10833 - } - } - - WorldMapRegion.method589(var2); // L: 10835 - Widget var6 = CollisionMap.getWidget(var3); // L: 10836 - if (var6 != null) { - CollisionMap.invalidateWidget(var6); // L: 10837 - } - - WorldMapData_1.method767(); // L: 10838 - if (Client.rootInterface != -1) { // L: 10839 - WorldMapRectangle.runIntfCloseListeners(Client.rootInterface, 1); - } - - } // L: 10840 + } } diff --git a/runescape-client/src/main/java/MouseWheel.java b/runescape-client/src/main/java/MouseWheel.java index 926deb31b2..d1b7a7dccd 100644 --- a/runescape-client/src/main/java/MouseWheel.java +++ b/runescape-client/src/main/java/MouseWheel.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fi") +@ObfuscatedName("fo") @Implements("MouseWheel") public interface MouseWheel { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "16" - ) - @Export("useRotation") - int useRotation(); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "-7695" + ) + @Export("useRotation") + int useRotation(); } diff --git a/runescape-client/src/main/java/MouseWheelHandler.java b/runescape-client/src/main/java/MouseWheelHandler.java index f709cdc37c..bafa556d3b 100644 --- a/runescape-client/src/main/java/MouseWheelHandler.java +++ b/runescape-client/src/main/java/MouseWheelHandler.java @@ -7,53 +7,49 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("by") +@ObfuscatedName("bn") @Implements("MouseWheelHandler") public final class MouseWheelHandler implements MouseWheel, MouseWheelListener { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1401911287 - ) - @Export("rotation") - int rotation; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 2059879703 + ) + @Export("rotation") + int rotation = 0; - MouseWheelHandler() { - this.rotation = 0; // L: 8 - } // L: 10 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "-1000758187" + ) + @Export("addTo") + void addTo(Component var1) { + var1.addMouseWheelListener(this); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;B)V", - garbageValue = "-124" - ) - @Export("addTo") - void addTo(Component var1) { - var1.addMouseWheelListener(this); // L: 13 - } // L: 14 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "-1520122283" + ) + @Export("removeFrom") + void removeFrom(Component var1) { + var1.removeMouseWheelListener(this); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;I)V", - garbageValue = "-1451320085" - ) - @Export("removeFrom") - void removeFrom(Component var1) { - var1.removeMouseWheelListener(this); // L: 17 - } // L: 18 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "-7695" + ) + @Export("useRotation") + public synchronized int useRotation() { + int var1 = this.rotation; + this.rotation = 0; + return var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "16" - ) - @Export("useRotation") - public synchronized int useRotation() { - int var1 = this.rotation; // L: 26 - this.rotation = 0; // L: 27 - return var1; // L: 28 - } - - public synchronized void mouseWheelMoved(MouseWheelEvent var1) { - this.rotation += var1.getWheelRotation(); // L: 22 - } // L: 23 + public synchronized void mouseWheelMoved(MouseWheelEvent var1) { + this.rotation += var1.getWheelRotation(); + } } diff --git a/runescape-client/src/main/java/MusicPatch.java b/runescape-client/src/main/java/MusicPatch.java index 4f3bb1b904..55703e67c5 100644 --- a/runescape-client/src/main/java/MusicPatch.java +++ b/runescape-client/src/main/java/MusicPatch.java @@ -7,533 +7,548 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ha") @Implements("MusicPatch") public class MusicPatch extends Node { - @ObfuscatedName("ed") - @ObfuscatedGetter( - intValue = -179610783 - ) - static int field2497; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 791296859 - ) - int field2499; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Ldf;" - ) - @Export("rawSounds") - RawSound[] rawSounds; - @ObfuscatedName("x") - short[] field2494; - @ObfuscatedName("w") - byte[] field2495; - @ObfuscatedName("t") - byte[] field2496; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "[Lgy;" - ) - MusicPatchNode2[] field2492; - @ObfuscatedName("n") - byte[] field2498; - @ObfuscatedName("p") - int[] field2500; - - MusicPatch(byte[] var1) { - this.rawSounds = new RawSound[128]; // L: 21 - this.field2494 = new short[128]; // L: 22 - this.field2495 = new byte[128]; // L: 23 - this.field2496 = new byte[128]; // L: 24 - this.field2492 = new MusicPatchNode2[128]; // L: 25 - this.field2498 = new byte[128]; // L: 26 - this.field2500 = new int[128]; // L: 27 - Buffer var2 = new Buffer(var1); // L: 28 - - int var3; - for (var3 = 0; var2.array[var3 + var2.offset] != 0; ++var3) { // L: 29 30 - } - - byte[] var4 = new byte[var3]; // L: 31 - - int var5; - for (var5 = 0; var5 < var3; ++var5) { // L: 32 - var4[var5] = var2.readByte(); - } - - ++var2.offset; // L: 33 - ++var3; // L: 34 - var5 = var2.offset; // L: 35 - var2.offset += var3; // L: 36 - - int var6; - for (var6 = 0; var2.array[var6 + var2.offset] != 0; ++var6) { // L: 37 38 - } - - byte[] var7 = new byte[var6]; // L: 39 - - int var8; - for (var8 = 0; var8 < var6; ++var8) { // L: 40 - var7[var8] = var2.readByte(); - } - - ++var2.offset; // L: 41 - ++var6; // L: 42 - var8 = var2.offset; // L: 43 - var2.offset += var6; // L: 44 - - int var9; - for (var9 = 0; var2.array[var9 + var2.offset] != 0; ++var9) { // L: 45 46 - } - - byte[] var10 = new byte[var9]; // L: 47 - - for (int var11 = 0; var11 < var9; ++var11) { // L: 48 - var10[var11] = var2.readByte(); - } - - ++var2.offset; // L: 49 - ++var9; // L: 50 - byte[] var38 = new byte[var9]; // L: 51 - int var12; - int var14; - if (var9 > 1) { // L: 53 - var38[1] = 1; // L: 54 - int var13 = 1; // L: 55 - var12 = 2; // L: 56 - - for (var14 = 2; var14 < var9; ++var14) { // L: 57 - int var43 = var2.readUnsignedByte(); // L: 58 - if (var43 == 0) { // L: 59 - var13 = var12++; - } else { - if (var43 <= var13) { // L: 61 - --var43; - } - - var13 = var43; // L: 62 - } - - var38[var14] = (byte)var13; // L: 64 - } - } else { - var12 = var9; // L: 67 - } - - MusicPatchNode2[] var39 = new MusicPatchNode2[var12]; // L: 68 - - MusicPatchNode2 var15; - for (var14 = 0; var14 < var39.length; ++var14) { // L: 69 - var15 = var39[var14] = new MusicPatchNode2(); // L: 70 - int var42 = var2.readUnsignedByte(); // L: 71 - if (var42 > 0) { // L: 72 - var15.field2411 = new byte[var42 * 2]; - } - - var42 = var2.readUnsignedByte(); // L: 73 - if (var42 > 0) { // L: 74 - var15.field2412 = new byte[var42 * 2 + 2]; // L: 75 - var15.field2412[1] = 64; // L: 76 - } - } - - var14 = var2.readUnsignedByte(); // L: 79 - byte[] var44 = var14 > 0 ? new byte[var14 * 2] : null; // L: 80 - var14 = var2.readUnsignedByte(); // L: 81 - byte[] var16 = var14 > 0 ? new byte[var14 * 2] : null; // L: 82 - - int var17; - for (var17 = 0; var2.array[var17 + var2.offset] != 0; ++var17) { // L: 83 84 - } - - byte[] var18 = new byte[var17]; // L: 85 - - int var19; - for (var19 = 0; var19 < var17; ++var19) { // L: 86 - var18[var19] = var2.readByte(); - } - - ++var2.offset; // L: 87 - ++var17; // L: 88 - var19 = 0; // L: 89 - - int var20; - for (var20 = 0; var20 < 128; ++var20) { // L: 90 - var19 += var2.readUnsignedByte(); // L: 91 - this.field2494[var20] = (short)var19; // L: 92 - } - - var19 = 0; // L: 94 - - short[] var50; - for (var20 = 0; var20 < 128; ++var20) { // L: 95 - var19 += var2.readUnsignedByte(); // L: 96 - var50 = this.field2494; // L: 97 - var50[var20] = (short)(var50[var20] + (var19 << 8)); - } - - var20 = 0; // L: 99 - int var21 = 0; // L: 100 - int var22 = 0; // L: 101 - - int var23; - for (var23 = 0; var23 < 128; ++var23) { // L: 102 - if (var20 == 0) { // L: 103 - if (var21 < var18.length) { // L: 104 - var20 = var18[var21++]; - } else { - var20 = -1; // L: 105 - } - - var22 = var2.readVarInt(); // L: 106 - } - - var50 = this.field2494; // L: 108 - var50[var23] = (short)(var50[var23] + ((var22 - 1 & 2) << 14)); - this.field2500[var23] = var22; // L: 109 - --var20; // L: 110 - } - - var20 = 0; // L: 112 - var21 = 0; // L: 113 - var23 = 0; // L: 114 - - int var24; - for (var24 = 0; var24 < 128; ++var24) { // L: 115 - if (this.field2500[var24] != 0) { // L: 116 - if (var20 == 0) { // L: 117 - if (var21 < var4.length) { // L: 118 - var20 = var4[var21++]; - } else { - var20 = -1; // L: 119 - } - - var23 = var2.array[var5++] - 1; // L: 120 - } - - this.field2498[var24] = (byte)var23; // L: 122 - --var20; // L: 123 - } - } - - var20 = 0; // L: 125 - var21 = 0; // L: 126 - var24 = 0; // L: 127 - - for (int var25 = 0; var25 < 128; ++var25) { // L: 128 - if (this.field2500[var25] != 0) { // L: 129 - if (var20 == 0) { // L: 130 - if (var21 < var7.length) { // L: 131 - var20 = var7[var21++]; - } else { - var20 = -1; // L: 132 - } - - var24 = var2.array[var8++] + 16 << 2; // L: 133 - } - - this.field2496[var25] = (byte)var24; // L: 135 - --var20; // L: 136 - } - } - - var20 = 0; // L: 138 - var21 = 0; // L: 139 - MusicPatchNode2 var40 = null; // L: 140 - - int var26; - for (var26 = 0; var26 < 128; ++var26) { // L: 141 - if (this.field2500[var26] != 0) { // L: 142 - if (var20 == 0) { // L: 143 - var40 = var39[var38[var21]]; // L: 144 - if (var21 < var10.length) { // L: 145 - var20 = var10[var21++]; - } else { - var20 = -1; // L: 146 - } - } - - this.field2492[var26] = var40; // L: 148 - --var20; // L: 149 - } - } - - var20 = 0; // L: 151 - var21 = 0; // L: 152 - var26 = 0; // L: 153 - - int var27; - for (var27 = 0; var27 < 128; ++var27) { // L: 154 - if (var20 == 0) { // L: 155 - if (var21 < var18.length) { // L: 156 - var20 = var18[var21++]; - } else { - var20 = -1; // L: 157 - } - - if (this.field2500[var27] > 0) { // L: 158 - var26 = var2.readUnsignedByte() + 1; - } - } - - this.field2495[var27] = (byte)var26; // L: 160 - --var20; // L: 161 - } - - this.field2499 = var2.readUnsignedByte() + 1; // L: 163 - - int var29; - MusicPatchNode2 var41; - for (var27 = 0; var27 < var12; ++var27) { // L: 164 - var41 = var39[var27]; // L: 165 - if (var41.field2411 != null) { // L: 166 - for (var29 = 1; var29 < var41.field2411.length; var29 += 2) { // L: 167 - var41.field2411[var29] = var2.readByte(); - } - } - - if (var41.field2412 != null) { // L: 169 - for (var29 = 3; var29 < var41.field2412.length - 2; var29 += 2) { // L: 170 - var41.field2412[var29] = var2.readByte(); - } - } - } - - if (var44 != null) { // L: 173 - for (var27 = 1; var27 < var44.length; var27 += 2) { // L: 174 - var44[var27] = var2.readByte(); - } - } - - if (var16 != null) { // L: 176 - for (var27 = 1; var27 < var16.length; var27 += 2) { // L: 177 - var16[var27] = var2.readByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 179 - var41 = var39[var27]; // L: 180 - if (var41.field2412 != null) { // L: 181 - var19 = 0; // L: 182 - - for (var29 = 2; var29 < var41.field2412.length; var29 += 2) { // L: 183 - var19 = 1 + var19 + var2.readUnsignedByte(); // L: 184 - var41.field2412[var29] = (byte)var19; // L: 185 - } - } - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 189 - var41 = var39[var27]; // L: 190 - if (var41.field2411 != null) { // L: 191 - var19 = 0; // L: 192 - - for (var29 = 2; var29 < var41.field2411.length; var29 += 2) { // L: 193 - var19 = var19 + 1 + var2.readUnsignedByte(); // L: 194 - var41.field2411[var29] = (byte)var19; // L: 195 - } - } - } - - byte var30; - int var32; - int var33; - int var34; - int var35; - int var36; - int var47; - byte var49; - if (var44 != null) { // L: 199 - var19 = var2.readUnsignedByte(); // L: 200 - var44[0] = (byte)var19; // L: 201 - - for (var27 = 2; var27 < var44.length; var27 += 2) { // L: 202 - var19 = var19 + 1 + var2.readUnsignedByte(); // L: 203 - var44[var27] = (byte)var19; // L: 204 - } - - var49 = var44[0]; // L: 206 - byte var28 = var44[1]; // L: 207 - - for (var29 = 0; var29 < var49; ++var29) { // L: 208 - this.field2495[var29] = (byte)(var28 * this.field2495[var29] + 32 >> 6); - } - - for (var29 = 2; var29 < var44.length; var29 += 2) { // L: 209 210 227 - var30 = var44[var29]; // L: 211 - byte var31 = var44[var29 + 1]; // L: 212 - var32 = var28 * (var30 - var49) + (var30 - var49) / 2; // L: 213 - - for (var33 = var49; var33 < var30; ++var33) { // L: 214 - var35 = var30 - var49; // L: 216 - var36 = var32 >>> 31; // L: 218 - var34 = (var32 + var36) / var35 - var36; // L: 219 - this.field2495[var33] = (byte)(var34 * this.field2495[var33] + 32 >> 6); // L: 222 - var32 += var31 - var28; // L: 223 - } - - var49 = var30; // L: 225 - var28 = var31; // L: 226 - } - - for (var47 = var49; var47 < 128; ++var47) { // L: 229 - this.field2495[var47] = (byte)(var28 * this.field2495[var47] + 32 >> 6); - } - - var15 = null; // L: 230 - } - - if (var16 != null) { // L: 232 - var19 = var2.readUnsignedByte(); // L: 233 - var16[0] = (byte)var19; // L: 234 - - for (var27 = 2; var27 < var16.length; var27 += 2) { // L: 235 - var19 = 1 + var19 + var2.readUnsignedByte(); // L: 236 - var16[var27] = (byte)var19; // L: 237 - } - - var49 = var16[0]; // L: 239 - int var46 = var16[1] << 1; // L: 240 - - for (var29 = 0; var29 < var49; ++var29) { // L: 241 - var47 = var46 + (this.field2496[var29] & 255); // L: 242 - if (var47 < 0) { // L: 243 - var47 = 0; - } - - if (var47 > 128) { // L: 244 - var47 = 128; - } - - this.field2496[var29] = (byte)var47; // L: 245 - } - - int var48; - for (var29 = 2; var29 < var16.length; var29 += 2) { // L: 247 248 268 - var30 = var16[var29]; // L: 249 - var48 = var16[var29 + 1] << 1; // L: 250 - var32 = var46 * (var30 - var49) + (var30 - var49) / 2; // L: 251 - - for (var33 = var49; var33 < var30; ++var33) { // L: 252 - var35 = var30 - var49; // L: 254 - var36 = var32 >>> 31; // L: 256 - var34 = (var32 + var36) / var35 - var36; // L: 257 - int var37 = var34 + (this.field2496[var33] & 255); // L: 260 - if (var37 < 0) { // L: 261 - var37 = 0; - } - - if (var37 > 128) { // L: 262 - var37 = 128; - } - - this.field2496[var33] = (byte)var37; // L: 263 - var32 += var48 - var46; // L: 264 - } - - var49 = var30; // L: 266 - var46 = var48; // L: 267 - } - - for (var47 = var49; var47 < 128; ++var47) { // L: 270 - var48 = var46 + (this.field2496[var47] & 255); // L: 271 - if (var48 < 0) { // L: 272 - var48 = 0; - } - - if (var48 > 128) { // L: 273 - var48 = 128; - } - - this.field2496[var47] = (byte)var48; // L: 274 - } - - Object var45 = null; // L: 276 - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 278 - var39[var27].field2410 = var2.readUnsignedByte(); - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 279 - var41 = var39[var27]; // L: 280 - if (var41.field2411 != null) { // L: 281 - var41.field2417 = var2.readUnsignedByte(); - } - - if (var41.field2412 != null) { // L: 282 - var41.field2413 = var2.readUnsignedByte(); - } - - if (var41.field2410 > 0) { // L: 283 - var41.field2414 = var2.readUnsignedByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 285 - var39[var27].field2416 = var2.readUnsignedByte(); - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 286 - var41 = var39[var27]; // L: 287 - if (var41.field2416 > 0) { // L: 288 - var41.field2415 = var2.readUnsignedByte(); - } - } - - for (var27 = 0; var27 < var12; ++var27) { // L: 290 - var41 = var39[var27]; // L: 291 - if (var41.field2415 > 0) { // L: 292 - var41.field2409 = var2.readUnsignedByte(); - } - } - - } // L: 294 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lds;[B[II)Z", - garbageValue = "189208991" - ) - boolean method3920(SoundCache var1, byte[] var2, int[] var3) { - boolean var4 = true; // L: 297 - int var5 = 0; // L: 298 - RawSound var6 = null; // L: 299 - - for (int var7 = 0; var7 < 128; ++var7) { // L: 300 - if (var2 == null || var2[var7] != 0) { // L: 301 - int var8 = this.field2500[var7]; // L: 302 - if (var8 != 0) { // L: 303 - if (var5 != var8) { // L: 304 - var5 = var8--; // L: 305 306 - if ((var8 & 1) == 0) { // L: 307 - var6 = var1.getSoundEffect(var8 >> 2, var3); - } else { - var6 = var1.getMusicSample(var8 >> 2, var3); // L: 308 - } - - if (var6 == null) { // L: 309 - var4 = false; - } - } - - if (var6 != null) { // L: 311 - this.rawSounds[var7] = var6; // L: 312 - this.field2500[var7] = 0; // L: 313 - } - } - } - } - - return var4; // L: 317 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-118" - ) - @Export("clear") - void clear() { - this.field2500 = null; // L: 321 - } // L: 322 + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -145246635 + ) + int field2509; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Ldm;" + ) + @Export("rawSounds") + RawSound[] rawSounds = new RawSound[128]; + @ObfuscatedName("d") + short[] field2513 = new short[128]; + @ObfuscatedName("c") + byte[] field2507 = new byte[128]; + @ObfuscatedName("y") + byte[] field2510 = new byte[128]; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "[Lgy;" + ) + MusicPatchNode2[] field2511 = new MusicPatchNode2[128]; + @ObfuscatedName("z") + byte[] field2512 = new byte[128]; + @ObfuscatedName("e") + int[] field2506 = new int[128]; + + MusicPatch(byte[] var1) { + Buffer var2 = new Buffer(var1); + + int var3; + for(var3 = 0; var2.array[var3 + var2.offset] != 0; ++var3) { + ; + } + + byte[] var4 = new byte[var3]; + + int var5; + for(var5 = 0; var5 < var3; ++var5) { + var4[var5] = var2.readByte(); + } + + ++var2.offset; + ++var3; + var5 = var2.offset; + var2.offset += var3; + + int var6; + for(var6 = 0; var2.array[var6 + var2.offset] != 0; ++var6) { + ; + } + + byte[] var7 = new byte[var6]; + + int var8; + for(var8 = 0; var8 < var6; ++var8) { + var7[var8] = var2.readByte(); + } + + ++var2.offset; + ++var6; + var8 = var2.offset; + var2.offset += var6; + + int var9; + for(var9 = 0; var2.array[var9 + var2.offset] != 0; ++var9) { + ; + } + + byte[] var10 = new byte[var9]; + + for(int var11 = 0; var11 < var9; ++var11) { + var10[var11] = var2.readByte(); + } + + ++var2.offset; + ++var9; + byte[] var37 = new byte[var9]; + int var12; + int var14; + if (var9 > 1) { + var37[1] = 1; + int var13 = 1; + var12 = 2; + + for(var14 = 2; var14 < var9; ++var14) { + int var42 = var2.readUnsignedByte(); + if (var42 == 0) { + var13 = var12++; + } else { + if (var42 <= var13) { + --var42; + } + + var13 = var42; + } + + var37[var14] = (byte)var13; + } + } else { + var12 = var9; + } + + MusicPatchNode2[] var38 = new MusicPatchNode2[var12]; + + MusicPatchNode2 var15; + for(var14 = 0; var14 < var38.length; ++var14) { + var15 = var38[var14] = new MusicPatchNode2(); + int var41 = var2.readUnsignedByte(); + if (var41 > 0) { + var15.field2427 = new byte[var41 * 2]; + } + + var41 = var2.readUnsignedByte(); + if (var41 > 0) { + var15.field2423 = new byte[var41 * 2 + 2]; + var15.field2423[1] = 64; + } + } + + var14 = var2.readUnsignedByte(); + byte[] var43 = var14 > 0 ? new byte[var14 * 2] : null; + var14 = var2.readUnsignedByte(); + byte[] var16 = var14 > 0 ? new byte[var14 * 2] : null; + + int var17; + for(var17 = 0; var2.array[var17 + var2.offset] != 0; ++var17) { + ; + } + + byte[] var18 = new byte[var17]; + + int var19; + for(var19 = 0; var19 < var17; ++var19) { + var18[var19] = var2.readByte(); + } + + ++var2.offset; + ++var17; + var19 = 0; + + int var20; + for(var20 = 0; var20 < 128; ++var20) { + var19 += var2.readUnsignedByte(); + this.field2513[var20] = (short)var19; + } + + var19 = 0; + + for(var20 = 0; var20 < 128; ++var20) { + var19 += var2.readUnsignedByte(); + this.field2513[var20] = (short)(this.field2513[var20] + (var19 << 8)); + } + + var20 = 0; + int var21 = 0; + int var22 = 0; + + int var23; + for(var23 = 0; var23 < 128; ++var23) { + if (var20 == 0) { + if (var21 < var18.length) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + var22 = var2.readVarInt(); + } + + this.field2513[var23] = (short)(this.field2513[var23] + ((var22 - 1 & 2) << 14)); + this.field2506[var23] = var22; + --var20; + } + + var20 = 0; + var21 = 0; + var23 = 0; + + int var24; + for(var24 = 0; var24 < 128; ++var24) { + if (this.field2506[var24] != 0) { + if (var20 == 0) { + if (var21 < var4.length) { + var20 = var4[var21++]; + } else { + var20 = -1; + } + + var23 = var2.array[var5++] - 1; + } + + this.field2512[var24] = (byte)var23; + --var20; + } + } + + var20 = 0; + var21 = 0; + var24 = 0; + + for(int var25 = 0; var25 < 128; ++var25) { + if (this.field2506[var25] != 0) { + if (var20 == 0) { + if (var21 < var7.length) { + var20 = var7[var21++]; + } else { + var20 = -1; + } + + var24 = var2.array[var8++] + 16 << 2; + } + + this.field2510[var25] = (byte)var24; + --var20; + } + } + + var20 = 0; + var21 = 0; + MusicPatchNode2 var39 = null; + + int var26; + for(var26 = 0; var26 < 128; ++var26) { + if (this.field2506[var26] != 0) { + if (var20 == 0) { + var39 = var38[var37[var21]]; + if (var21 < var10.length) { + var20 = var10[var21++]; + } else { + var20 = -1; + } + } + + this.field2511[var26] = var39; + --var20; + } + } + + var20 = 0; + var21 = 0; + var26 = 0; + + int var27; + for(var27 = 0; var27 < 128; ++var27) { + if (var20 == 0) { + if (var21 < var18.length) { + var20 = var18[var21++]; + } else { + var20 = -1; + } + + if (this.field2506[var27] > 0) { + var26 = var2.readUnsignedByte() + 1; + } + } + + this.field2507[var27] = (byte)var26; + --var20; + } + + this.field2509 = var2.readUnsignedByte() + 1; + + int var29; + MusicPatchNode2 var40; + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2427 != null) { + for(var29 = 1; var29 < var40.field2427.length; var29 += 2) { + var40.field2427[var29] = var2.readByte(); + } + } + + if (var40.field2423 != null) { + for(var29 = 3; var29 < var40.field2423.length - 2; var29 += 2) { + var40.field2423[var29] = var2.readByte(); + } + } + } + + if (var43 != null) { + for(var27 = 1; var27 < var43.length; var27 += 2) { + var43[var27] = var2.readByte(); + } + } + + if (var16 != null) { + for(var27 = 1; var27 < var16.length; var27 += 2) { + var16[var27] = var2.readByte(); + } + } + + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2423 != null) { + var19 = 0; + + for(var29 = 2; var29 < var40.field2423.length; var29 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var40.field2423[var29] = (byte)var19; + } + } + } + + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2427 != null) { + var19 = 0; + + for(var29 = 2; var29 < var40.field2427.length; var29 += 2) { + var19 = 1 + var19 + var2.readUnsignedByte(); + var40.field2427[var29] = (byte)var19; + } + } + } + + byte var30; + int var32; + int var33; + int var34; + int var35; + int var46; + byte var48; + if (var43 != null) { + var19 = var2.readUnsignedByte(); + var43[0] = (byte)var19; + + for(var27 = 2; var27 < var43.length; var27 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var43[var27] = (byte)var19; + } + + var48 = var43[0]; + byte var28 = var43[1]; + + for(var29 = 0; var29 < var48; ++var29) { + this.field2507[var29] = (byte)(var28 * this.field2507[var29] + 32 >> 6); + } + + for(var29 = 2; var29 < var43.length; var29 += 2) { + var30 = var43[var29]; + byte var31 = var43[var29 + 1]; + var32 = var28 * (var30 - var48) + (var30 - var48) / 2; + + for(var33 = var48; var33 < var30; ++var33) { + var35 = var30 - var48; + int var36 = var32 >>> 31; + var34 = (var36 + var32) / var35 - var36; + this.field2507[var33] = (byte)(var34 * this.field2507[var33] + 32 >> 6); + var32 += var31 - var28; + } + + var48 = var30; + var28 = var31; + } + + for(var46 = var48; var46 < 128; ++var46) { + this.field2507[var46] = (byte)(var28 * this.field2507[var46] + 32 >> 6); + } + + var15 = null; + } + + if (var16 != null) { + var19 = var2.readUnsignedByte(); + var16[0] = (byte)var19; + + for(var27 = 2; var27 < var16.length; var27 += 2) { + var19 = var19 + 1 + var2.readUnsignedByte(); + var16[var27] = (byte)var19; + } + + var48 = var16[0]; + int var45 = var16[1] << 1; + + for(var29 = 0; var29 < var48; ++var29) { + var46 = var45 + (this.field2510[var29] & 255); + if (var46 < 0) { + var46 = 0; + } + + if (var46 > 128) { + var46 = 128; + } + + this.field2510[var29] = (byte)var46; + } + + int var47; + for(var29 = 2; var29 < var16.length; var29 += 2) { + var30 = var16[var29]; + var47 = var16[var29 + 1] << 1; + var32 = var45 * (var30 - var48) + (var30 - var48) / 2; + + for(var33 = var48; var33 < var30; ++var33) { + var34 = MouseHandler.method1176(var32, var30 - var48); + var35 = var34 + (this.field2510[var33] & 255); + if (var35 < 0) { + var35 = 0; + } + + if (var35 > 128) { + var35 = 128; + } + + this.field2510[var33] = (byte)var35; + var32 += var47 - var45; + } + + var48 = var30; + var45 = var47; + } + + for(var46 = var48; var46 < 128; ++var46) { + var47 = var45 + (this.field2510[var46] & 255); + if (var47 < 0) { + var47 = 0; + } + + if (var47 > 128) { + var47 = 128; + } + + this.field2510[var46] = (byte)var47; + } + + Object var44 = null; + } + + for(var27 = 0; var27 < var12; ++var27) { + var38[var27].field2424 = var2.readUnsignedByte(); + } + + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2427 != null) { + var40.field2425 = var2.readUnsignedByte(); + } + + if (var40.field2423 != null) { + var40.field2426 = var2.readUnsignedByte(); + } + + if (var40.field2424 > 0) { + var40.field2431 = var2.readUnsignedByte(); + } + } + + for(var27 = 0; var27 < var12; ++var27) { + var38[var27].field2429 = var2.readUnsignedByte(); + } + + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2429 > 0) { + var40.field2428 = var2.readUnsignedByte(); + } + } + + for(var27 = 0; var27 < var12; ++var27) { + var40 = var38[var27]; + if (var40.field2428 > 0) { + var40.field2422 = var2.readUnsignedByte(); + } + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ldy;[B[II)Z", + garbageValue = "2106723997" + ) + boolean method4086(SoundCache var1, byte[] var2, int[] var3) { + boolean var4 = true; + int var5 = 0; + RawSound var6 = null; + + for(int var7 = 0; var7 < 128; ++var7) { + if (var2 == null || var2[var7] != 0) { + int var8 = this.field2506[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.field2506[var7] = 0; + } + } + } + } + + return var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "26821632" + ) + @Export("clear") + void clear() { + this.field2506 = null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-9" + ) + @Export("Widget_unpackTargetMask") + public static int Widget_unpackTargetMask(int var0) { + return var0 >> 11 & 63; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lkd;I)V", + garbageValue = "-1581933835" + ) + static final void method4095(PacketBuffer var0) { + for(int var1 = 0; var1 < Players.Players_pendingUpdateCount; ++var1) { + int var2 = Players.Players_pendingUpdateIndices[var1]; + Player var3 = Client.players[var2]; + int var4 = var0.readUnsignedByte(); + if ((var4 & 4) != 0) { + var4 += var0.readUnsignedByte() << 8; + } + + Skills.method4320(var0, var2, var3, var4); + } + + } } diff --git a/runescape-client/src/main/java/MusicPatchNode.java b/runescape-client/src/main/java/MusicPatchNode.java index f5db1cdb49..3713a03bc0 100644 --- a/runescape-client/src/main/java/MusicPatchNode.java +++ b/runescape-client/src/main/java/MusicPatchNode.java @@ -4,152 +4,130 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hn") +@ObfuscatedName("hq") @Implements("MusicPatchNode") public class MusicPatchNode extends Node { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -780037221 - ) - int field2477; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lha;" - ) - @Export("patch") - MusicPatch patch; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Ldf;" - ) - @Export("rawSound") - RawSound rawSound; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgy;" - ) - MusicPatchNode2 field2459; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -988921205 - ) - int field2460; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1698248805 - ) - int field2461; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1639163759 - ) - int field2462; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -239406377 - ) - int field2463; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1040186295 - ) - int field2476; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1414126871 - ) - int field2464; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -907348397 - ) - int field2466; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 1674863125 - ) - int field2467; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -72116075 - ) - int field2465; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -8690283 - ) - int field2472; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1112640035 - ) - int field2470; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1473586889 - ) - int field2471; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1781294933 - ) - int field2468; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -1965880629 - ) - int field2469; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Ldj;" - ) - @Export("stream") - RawPcmStream stream; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -1121296603 - ) - int field2475; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -865267785 - ) - int field2456; + @ObfuscatedName("ey") + @Export("worldHost") + static String worldHost; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 550011447 + ) + int field2471; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lha;" + ) + @Export("patch") + MusicPatch patch; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Ldm;" + ) + @Export("rawSound") + RawSound rawSound; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgy;" + ) + MusicPatchNode2 field2473; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 2110028369 + ) + int field2474; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -96343197 + ) + int field2475; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1440668291 + ) + int field2476; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1716873171 + ) + int field2477; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1965253533 + ) + int field2478; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -323457353 + ) + int field2472; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1000773439 + ) + int field2480; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 715997184 + ) + int field2481; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -720324353 + ) + int field2491; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1839598813 + ) + int field2483; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -378867617 + ) + int field2486; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -898261362 + ) + int field2482; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1114388965 + ) + int field2488; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1049905099 + ) + int field2487; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Ldt;" + ) + @Export("stream") + RawPcmStream stream; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -2011885117 + ) + int field2484; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1908320753 + ) + int field2479; - MusicPatchNode() { - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2082654889" - ) - void method3860() { - this.patch = null; - this.rawSound = null; - this.field2459 = null; // L: 36 - this.stream = null; // L: 37 - } // L: 38 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljx;", - garbageValue = "-621121394" - ) - @Export("getEnum") - public static EnumComposition getEnum(int var0) { - EnumComposition var1 = (EnumComposition) EnumComposition.EnumDefinition_cached.get((long)var0); // L: 29 - if (var1 != null) { // L: 30 - return var1; - } else { - byte[] var2 = EnumComposition.EnumDefinition_archive.takeFile(8, var0); // L: 31 - var1 = new EnumComposition(); // L: 32 - if (var2 != null) { // L: 33 - var1.decode(new Buffer(var2)); - } - - EnumComposition.EnumDefinition_cached.put(var1, (long)var0); // L: 34 - return var1; // L: 35 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "71" + ) + void method4032() { + this.patch = null; + this.rawSound = null; + this.field2473 = null; + this.stream = null; + } } diff --git a/runescape-client/src/main/java/MusicPatchNode2.java b/runescape-client/src/main/java/MusicPatchNode2.java index e75deeb7c9..2618a4f599 100644 --- a/runescape-client/src/main/java/MusicPatchNode2.java +++ b/runescape-client/src/main/java/MusicPatchNode2.java @@ -1,200 +1,51 @@ -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.Random; +import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gy") @Implements("MusicPatchNode2") public class MusicPatchNode2 { - @ObfuscatedName("h") - byte[] field2411; - @ObfuscatedName("v") - byte[] field2412; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1761129663 - ) - int field2410; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1532426433 - ) - int field2417; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1235995601 - ) - int field2413; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1053337205 - ) - int field2414; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 196885279 - ) - int field2415; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -540093809 - ) - int field2416; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -180969663 - ) - int field2409; - - MusicPatchNode2() { - } // L: 14 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(JLjava/lang/String;S)I", - garbageValue = "765" - ) - static final int method3724(long var0, String var2) { - Random var3 = new Random(); // L: 35 - Buffer var4 = new Buffer(128); // L: 36 - Buffer var5 = new Buffer(128); // L: 37 - int[] var6 = new int[]{var3.nextInt(), var3.nextInt(), (int)(var0 >> 32), (int)var0}; // L: 38 39 40 41 42 - var4.writeByte(10); // L: 43 - - int var7; - for (var7 = 0; var7 < 4; ++var7) { // L: 44 - var4.writeInt(var3.nextInt()); // L: 45 - } - - var4.writeInt(var6[0]); // L: 47 - var4.writeInt(var6[1]); // L: 48 - var4.writeLong(var0); // L: 49 - var4.writeLong(0L); // L: 50 - - for (var7 = 0; var7 < 4; ++var7) { // L: 51 - var4.writeInt(var3.nextInt()); // L: 52 - } - - var4.encryptRsa(class89.field1147, class89.field1142); // L: 54 - var5.writeByte(10); // L: 55 - - for (var7 = 0; var7 < 3; ++var7) { // L: 56 - var5.writeInt(var3.nextInt()); // L: 57 - } - - var5.writeLong(var3.nextLong()); - var5.writeLongMedium(var3.nextLong()); - FileSystem.method3573(var5); - var5.writeLong(var3.nextLong()); - var5.encryptRsa(class89.field1147, class89.field1142); - var7 = FloorDecoration.stringCp1252NullTerminatedByteSize(var2); // L: 64 - if (var7 % 8 != 0) { - var7 += 8 - var7 % 8; - } - - Buffer var8 = new Buffer(var7); // L: 66 - var8.writeStringCp1252NullTerminated(var2); // L: 67 - var8.offset = var7; // L: 68 - var8.xteaEncryptAll(var6); // L: 69 - Buffer var9 = new Buffer(var8.offset + var5.offset + var4.offset + 5); // L: 70 - var9.writeByte(2); // L: 71 - var9.writeByte(var4.offset); // L: 72 - var9.writeBytes(var4.array, 0, var4.offset); // L: 73 - var9.writeByte(var5.offset); // L: 74 - var9.writeBytes(var5.array, 0, var5.offset); // L: 75 - var9.writeShort(var8.offset); // L: 76 - var9.writeBytes(var8.array, 0, var8.offset); // L: 77 - byte[] var11 = var9.array; // L: 79 - String var10 = ArchiveLoader.method1229(var11, 0, var11.length); // L: 81 - String var12 = var10; // L: 83 - - try { - URL var13 = new URL(AbstractWorldMapIcon.method632("services", false) + "m=accountappeal/login.ws"); // L: 85 - URLConnection var14 = var13.openConnection(); // L: 86 - var14.setDoInput(true); // L: 87 - var14.setDoOutput(true); // L: 88 - var14.setConnectTimeout(5000); // L: 89 - OutputStreamWriter var15 = new OutputStreamWriter(var14.getOutputStream()); // L: 90 - var15.write("data2=" + BoundaryObject.method3343(var12) + "&dest=" + BoundaryObject.method3343("passwordchoice.ws")); // L: 91 - var15.flush(); // L: 92 - InputStream var16 = var14.getInputStream(); // L: 93 - var9 = new Buffer(new byte[1000]); // L: 94 - - do { - int var17 = var16.read(var9.array, var9.offset, 1000 - var9.offset); // L: 96 - if (var17 == -1) { // L: 97 - var15.close(); // L: 103 - var16.close(); // L: 104 - String var20 = new String(var9.array); // L: 105 - if (var20.startsWith("OFFLINE")) { // L: 106 - return 4; // L: 107 - } else if (var20.startsWith("WRONG")) { // L: 109 - return 7; // L: 110 - } else if (var20.startsWith("RELOAD")) { // L: 112 - return 3; // L: 113 - } else if (var20.startsWith("Not permitted for social network accounts.")) { // L: 115 - return 6; // L: 116 - } else { - var9.xteaDecryptAll(var6); // L: 118 - - while (var9.offset > 0 && var9.array[var9.offset - 1] == 0) { // L: 119 - --var9.offset; // L: 120 - } - - var20 = new String(var9.array, 0, var9.offset); // L: 122 - boolean var18; - if (var20 == null) { // L: 125 - var18 = false; // L: 126 - } else { - label85: { - try { - new URL(var20); - } catch (MalformedURLException var21) { // L: 132 - var18 = false; // L: 133 - break label85; // L: 134 - } - - var18 = true; // L: 136 - } - } - - if (var18) { // L: 138 - AttackOption.openURL(var20, true, false); // L: 139 - return 2; // L: 140 - } else { - return 5; // L: 142 - } - } - } - - var9.offset += var17; // L: 98 - } while(var9.offset < 1000); // L: 99 - - return 5; // L: 100 - } catch (Throwable var22) { // L: 144 - var22.printStackTrace(); // L: 145 - return 5; // L: 146 - } - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-94" - ) - public static int method3723(int var0, int var1) { - int var2; - for (var2 = 0; var1 > 0; --var1) { // L: 59 60 63 - var2 = var2 << 1 | var0 & 1; // L: 61 - var0 >>>= 1; // L: 62 - } - - return var2; // L: 65 - } + @ObfuscatedName("gv") + @Export("regionLandArchiveIds") + static int[] regionLandArchiveIds; + @ObfuscatedName("n") + byte[] field2427; + @ObfuscatedName("v") + byte[] field2423; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -60094231 + ) + int field2424; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 296644157 + ) + int field2425; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1202436859 + ) + int field2426; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 458226763 + ) + int field2431; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 205219227 + ) + int field2428; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 584378027 + ) + int field2429; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -798284831 + ) + int field2422; } diff --git a/runescape-client/src/main/java/MusicPatchPcmStream.java b/runescape-client/src/main/java/MusicPatchPcmStream.java index 20c27f4e5a..a970f3fdd4 100644 --- a/runescape-client/src/main/java/MusicPatchPcmStream.java +++ b/runescape-client/src/main/java/MusicPatchPcmStream.java @@ -3,224 +3,682 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("hi") +@ObfuscatedName("he") @Implements("MusicPatchPcmStream") public class MusicPatchPcmStream extends PcmStream { - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 468748381 - ) - @Export("idxCount") - public static int idxCount; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgf;" - ) - @Export("superStream") - MidiPcmStream superStream; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("queue") - NodeDeque queue; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lde;" - ) - @Export("mixer") - PcmStreamMixer mixer; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -148316237 + ) + static int field2516; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgg;" + ) + @Export("superStream") + MidiPcmStream superStream; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("queue") + NodeDeque queue = new NodeDeque(); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Ldi;" + ) + @Export("mixer") + PcmStreamMixer mixer = new PcmStreamMixer(); - @ObfuscatedSignature( - descriptor = "(Lgf;)V" - ) - MusicPatchPcmStream(MidiPcmStream var1) { - this.queue = new NodeDeque(); // L: 11 - this.mixer = new PcmStreamMixer(); // L: 12 - this.superStream = var1; // L: 15 - } // L: 16 + @ObfuscatedSignature( + descriptor = "(Lgg;)V" + ) + MusicPatchPcmStream(MidiPcmStream var1) { + this.superStream = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lhn;[IIIII)V", - garbageValue = "882339994" - ) - void method3930(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { - if ((this.superStream.field2454[var1.field2477] & 4) != 0 && var1.field2470 < 0) { // L: 73 - int var6 = this.superStream.field2442[var1.field2477] / PcmPlayer.field1443; // L: 74 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lhq;[IIIIS)V", + garbageValue = "23507" + ) + void method4102(MusicPatchNode var1, int[] var2, int var3, int var4, int var5) { + if ((this.superStream.field2458[var1.field2471] & 4) != 0 && var1.field2486 < 0) { + int var6 = this.superStream.field2468[var1.field2471] / (StructComposition.field3338 * 22050); - while (true) { - int var7 = (var6 + 1048575 - var1.field2456) / var6; // L: 76 - if (var7 > var4) { // L: 77 - var1.field2456 += var4 * var6; // L: 99 - break; - } + while(true) { + int var7 = (var6 + 1048575 - var1.field2479) / var6; + if (var7 > var4) { + var1.field2479 += var6 * var4; + break; + } - var1.stream.fill(var2, var3, var7); // L: 78 - var3 += var7; // L: 79 - var4 -= var7; // L: 80 - var1.field2456 += var7 * var6 - 1048576; // L: 81 - int var8 = PcmPlayer.field1443 / 100; - int var9 = 262144 / var6; - if (var9 < var8) { // L: 84 - var8 = var9; - } + var1.stream.fill(var2, var3, var7); + var3 += var7; + var4 -= var7; + var1.field2479 += var6 * var7 - 1048576; + int var8 = StructComposition.field3338 * 22050 / 100; + int var9 = 262144 / var6; + if (var9 < var8) { + var8 = var9; + } - RawPcmStream var10 = var1.stream; // L: 85 - if (this.superStream.field2430[var1.field2477] == 0) { // L: 86 - var1.stream = RawPcmStream.method2630(var1.rawSound, var10.method2622(), var10.method2613(), var10.method2614()); // L: 87 - } else { - var1.stream = RawPcmStream.method2630(var1.rawSound, var10.method2622(), 0, var10.method2614()); // L: 90 - this.superStream.method3763(var1, var1.patch.field2494[var1.field2461] < 0); // L: 91 - var1.stream.method2707(var8, var10.method2613()); // L: 92 - } + RawPcmStream var10 = var1.stream; + if (this.superStream.field2460[var1.field2471] == 0) { + var1.stream = RawPcmStream.method2845(var1.rawSound, var10.method2728(), var10.method2719(), var10.method2773()); + } else { + var1.stream = RawPcmStream.method2845(var1.rawSound, var10.method2728(), 0, var10.method2773()); + this.superStream.method3923(var1, var1.patch.field2513[var1.field2475] < 0); + var1.stream.method2741(var8, var10.method2719()); + } - if (var1.patch.field2494[var1.field2461] < 0) { // L: 94 - var1.stream.setNumLoops(-1); - } + if (var1.patch.field2513[var1.field2475] < 0) { + var1.stream.setNumLoops(-1); + } - var10.method2620(var8); // L: 95 - var10.fill(var2, var3, var5 - var3); // L: 96 - if (var10.method2624()) { // L: 97 - this.mixer.addSubStream(var10); - } - } - } + var10.method2803(var8); + var10.fill(var2, var3, var5 - var3); + if (var10.method2730()) { + this.mixer.addSubStream(var10); + } + } + } - var1.stream.fill(var2, var3, var4); // L: 101 - } // L: 102 + var1.stream.fill(var2, var3, var4); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lhn;II)V", - garbageValue = "1389060283" - ) - void method3931(MusicPatchNode var1, int var2) { - if ((this.superStream.field2454[var1.field2477] & 4) != 0 && var1.field2470 < 0) { // L: 105 - int var3 = this.superStream.field2442[var1.field2477] / PcmPlayer.field1443; // L: 106 - int var4 = (var3 + 1048575 - var1.field2456) / var3; // L: 107 - var1.field2456 = var3 * var2 + var1.field2456 & 1048575; // L: 108 - if (var4 <= var2) { // L: 109 - if (this.superStream.field2430[var1.field2477] == 0) { // L: 110 - var1.stream = RawPcmStream.method2630(var1.rawSound, var1.stream.method2622(), var1.stream.method2613(), var1.stream.method2614()); // L: 111 - } else { - var1.stream = RawPcmStream.method2630(var1.rawSound, var1.stream.method2622(), 0, var1.stream.method2614()); // L: 114 - this.superStream.method3763(var1, var1.patch.field2494[var1.field2461] < 0); // L: 115 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lhq;II)V", + garbageValue = "-1159313608" + ) + void method4103(MusicPatchNode var1, int var2) { + if ((this.superStream.field2458[var1.field2471] & 4) != 0 && var1.field2486 < 0) { + int var3 = this.superStream.field2468[var1.field2471] / (StructComposition.field3338 * 22050); + int var4 = (var3 + 1048575 - var1.field2479) / var3; + var1.field2479 = var3 * var2 + var1.field2479 & 1048575; + if (var4 <= var2) { + if (this.superStream.field2460[var1.field2471] == 0) { + var1.stream = RawPcmStream.method2845(var1.rawSound, var1.stream.method2728(), var1.stream.method2719(), var1.stream.method2773()); + } else { + var1.stream = RawPcmStream.method2845(var1.rawSound, var1.stream.method2728(), 0, var1.stream.method2773()); + this.superStream.method3923(var1, var1.patch.field2513[var1.field2475] < 0); + } - if (var1.patch.field2494[var1.field2461] < 0) { // L: 117 - var1.stream.setNumLoops(-1); - } + if (var1.patch.field2513[var1.field2475] < 0) { + var1.stream.setNumLoops(-1); + } - var2 = var1.field2456 / var3; // L: 118 - } - } + var2 = var1.field2479 / var3; + } + } - var1.stream.skip(var2); // L: 121 - } // L: 122 + var1.stream.skip(var2); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - MusicPatchNode var1 = (MusicPatchNode)this.queue.last(); // L: 19 - if (var1 == null) { // L: 20 - return null; - } else { - return (PcmStream)(var1.stream != null ? var1.stream : this.nextSubStream()); // L: 21 22 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + MusicPatchNode var1 = (MusicPatchNode)this.queue.last(); + if (var1 == null) { + return null; + } else { + return (PcmStream)(var1.stream != null ? var1.stream : this.nextSubStream()); + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - MusicPatchNode var1; - do { - var1 = (MusicPatchNode)this.queue.previous(); // L: 27 - if (var1 == null) { - return null; // L: 28 - } - } while(var1.stream == null); // L: 29 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + MusicPatchNode var1; + do { + var1 = (MusicPatchNode)this.queue.previous(); + if (var1 == null) { + return null; + } + } while(var1.stream == null); - return var1.stream; - } + return var1.stream; + } - @ObfuscatedName("p") - protected int vmethod3927() { - return 0; // L: 34 - } + @ObfuscatedName("e") + protected int vmethod4099() { + return 0; + } - @ObfuscatedName("l") - @Export("fill") - protected void fill(int[] var1, int var2, int var3) { - this.mixer.fill(var1, var2, var3); // L: 40 + @ObfuscatedName("q") + @Export("fill") + protected void fill(int[] var1, int var2, int var3) { + this.mixer.fill(var1, var2, var3); - for (MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { // L: 41 - if (!this.superStream.method3851(var6)) { // L: 42 - int var4 = var2; // L: 43 - int var5 = var3; // L: 44 + for(MusicPatchNode var6 = (MusicPatchNode)this.queue.last(); var6 != null; var6 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3927(var6)) { + int var4 = var2; + int var5 = var3; - do { - if (var5 <= var6.field2475) { // L: 45 - this.method3930(var6, var1, var4, var5, var4 + var5); // L: 51 - var6.field2475 -= var5; // L: 52 - break; - } + do { + if (var5 <= var6.field2484) { + this.method4102(var6, var1, var4, var5, var5 + var4); + var6.field2484 -= var5; + break; + } - this.method3930(var6, var1, var4, var6.field2475, var4 + var5); // L: 46 - var4 += var6.field2475; // L: 47 - var5 -= var6.field2475; // L: 48 - } while(!this.superStream.method3786(var6, var1, var4, var5)); // L: 49 - } - } + this.method4102(var6, var1, var4, var6.field2484, var5 + var4); + var4 += var6.field2484; + var5 -= var6.field2484; + } while(!this.superStream.method3953(var6, var1, var4, var5)); + } + } - } // L: 54 + } - @ObfuscatedName("u") - @Export("skip") - protected void skip(int var1) { - this.mixer.skip(var1); // L: 58 + @ObfuscatedName("s") + @Export("skip") + protected void skip(int var1) { + this.mixer.skip(var1); - for (MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { // L: 59 - if (!this.superStream.method3851(var3)) { // L: 60 - int var2 = var1; // L: 61 + for(MusicPatchNode var3 = (MusicPatchNode)this.queue.last(); var3 != null; var3 = (MusicPatchNode)this.queue.previous()) { + if (!this.superStream.method3927(var3)) { + int var2 = var1; - do { - if (var2 <= var3.field2475) { // L: 62 - this.method3931(var3, var2); // L: 67 - var3.field2475 -= var2; // L: 68 - break; - } + do { + if (var2 <= var3.field2484) { + this.method4103(var3, var2); + var3.field2484 -= var2; + break; + } - this.method3931(var3, var3.field2475); // L: 63 - var2 -= var3.field2475; // L: 64 - } while(!this.superStream.method3786(var3, (int[])null, 0, var2)); // L: 65 - } - } + this.method4103(var3, var3.field2484); + var2 -= var3.field2484; + } while(!this.superStream.method3953(var3, (int[])null, 0, var2)); + } + } - } // L: 70 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-2" - ) - public static int method3954(int var0, int var1) { - return (var0 + 40000 << 8) + var1; // L: 13 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IILgz;Lfe;I)Z", + garbageValue = "604178296" + ) + public static final boolean method4098(int var0, int var1, RouteStrategy var2, CollisionMap var3) { + int var4 = var0; + int var5 = var1; + byte var6 = 64; + byte var7 = 64; + int var8 = var0 - var6; + int var9 = var1 - var7; + class182.directions[var6][var7] = 99; + class182.distances[var6][var7] = 0; + byte var10 = 0; + int var11 = 0; + class182.bufferX[var10] = var0; + byte var10001 = var10; + int var18 = var10 + 1; + class182.bufferY[var10001] = var1; + int[][] var12 = var3.flags; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "10083789" - ) - public static void method3953() { - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); // L: 82 - } // L: 83 + while(var18 != var11) { + var4 = class182.bufferX[var11]; + var5 = class182.bufferY[var11]; + var11 = var11 + 1 & 4095; + int var16 = var4 - var8; + int var17 = var5 - var9; + int var13 = var4 - var3.xInset; + int var14 = var5 - var3.yInset; + if (var2.hasArrived(1, var4, var5, var3)) { + class182.field2118 = var4; + class182.field2124 = var5; + return true; + } + + int var15 = class182.distances[var16][var17] + 1; + if (var16 > 0 && class182.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136776) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17] = 2; + class182.distances[var16 - 1][var17] = var15; + } + + if (var16 < 127 && class182.directions[var16 + 1][var17] == 0 && (var12[var13 + 1][var14] & 19136896) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17] = 8; + class182.distances[var16 + 1][var17] = var15; + } + + if (var17 > 0 && class182.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class182.bufferX[var18] = var4; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16][var17 - 1] = 1; + class182.distances[var16][var17 - 1] = var15; + } + + if (var17 < 127 && class182.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class182.bufferX[var18] = var4; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16][var17 + 1] = 4; + class182.distances[var16][var17 + 1] = var15; + } + + if (var16 > 0 && var17 > 0 && class182.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17 - 1] = 3; + class182.distances[var16 - 1][var17 - 1] = var15; + } + + if (var16 < 127 && var17 > 0 && class182.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 - 1] & 19136770) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17 - 1] = 9; + class182.distances[var16 + 1][var17 - 1] = var15; + } + + if (var16 > 0 && var17 < 127 && class182.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0 && (var12[var13 - 1][var14] & 19136776) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17 + 1] = 6; + class182.distances[var16 - 1][var17 + 1] = var15; + } + + if (var16 < 127 && var17 < 127 && class182.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 1] & 19136992) == 0 && (var12[var13 + 1][var14] & 19136896) == 0 && (var12[var13][var14 + 1] & 19136800) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17 + 1] = 12; + class182.distances[var16 + 1][var17 + 1] = var15; + } + } + + class182.field2118 = var4; + class182.field2124 = var5; + return false; + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1484291347" + ) + static int method4118(int var0, Script var1, boolean var2) { + String var7; + if (var0 == ScriptOpcodes.MES) { + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + AbstractWorldMapData.addGameMessage(0, "", var7); + return 1; + } else if (var0 == ScriptOpcodes.ANIM) { + Interpreter.Interpreter_intStackSize -= 2; + UserComparator7.performPlayerAnimation(UserComparator9.localPlayer, Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize], Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + return 1; + } else if (var0 == ScriptOpcodes.IF_CLOSE) { + if (!Interpreter.field1122) { + Interpreter.field1120 = true; + } + + return 1; + } else { + int var16; + if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var16 = 0; + if (WorldMapDecoration.isNumber(var7)) { + var16 = class217.parseInt(var7); + } + + PacketBufferNode var14 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher); + var14.packetBuffer.writeInt(var16); + Client.packetWriter.addNode(var14); + return 1; + } else { + PacketBufferNode var12; + if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var12 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2303, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeByte(var7.length() + 1); + var12.packetBuffer.writeStringCp1252NullTerminated(var7); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var12 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2311, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeByte(var7.length() + 1); + var12.packetBuffer.writeStringCp1252NullTerminated(var7); + Client.packetWriter.addNode(var12); + return 1; + } else { + String var4; + int var10; + if (var0 == ScriptOpcodes.OPPLAYER) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + class7.method83(var10, var4); + return 1; + } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { + Interpreter.Interpreter_intStackSize -= 3; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var16 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + Widget var15 = class237.getWidget(var9); + FriendSystem.clickWidget(var15, var10, var16); + return 1; + } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { + Interpreter.Interpreter_intStackSize -= 2; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var16 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Widget var13 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + FriendSystem.clickWidget(var13, var10, var16); + return 1; + } else if (var0 == ScriptOpcodes.MOUSECAM) { + class8.mouseCam = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSectionType.clientPreferences.roofsHidden ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { + WorldMapSectionType.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + class23.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.OPENURL) { + var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + boolean var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapRectangle.openURL(var7, var8, false); + return 1; + } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var12 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2331, Client.packetWriter.isaacCipher); + var12.packetBuffer.writeShort(var10); + Client.packetWriter.addNode(var12); + return 1; + } else if (var0 == ScriptOpcodes.BUG_REPORT) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStackSize -= 2; + var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + String var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + if (var4.length() > 500) { + return 1; + } else if (var5.length() > 500) { + return 1; + } else { + PacketBufferNode var6 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2319, Client.packetWriter.isaacCipher); + var6.packetBuffer.writeShort(1 + WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var4) + WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var5)); + var6.packetBuffer.writeStringCp1252NullTerminated(var4); + var6.packetBuffer.method5778(var10); + var6.packetBuffer.writeStringCp1252NullTerminated(var5); + Client.packetWriter.addNode(var6); + return 1; + } + } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { + Client.shiftClickDrop = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { + Client.showMouseOverText = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.RENDERSELF) { + Client.renderSelf = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == 3120) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 1; + } else { + Client.drawPlayerNames &= -2; + } + + return 1; + } else if (var0 == 3121) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 2; + } else { + Client.drawPlayerNames &= -3; + } + + return 1; + } else if (var0 == 3122) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 4; + } else { + Client.drawPlayerNames &= -5; + } + + return 1; + } else if (var0 == 3123) { + if (Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1) { + Client.drawPlayerNames |= 8; + } else { + Client.drawPlayerNames &= -9; + } + + return 1; + } else if (var0 == 3124) { + Client.drawPlayerNames = 0; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { + Client.showMouseCross = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { + Client.showLoadingMessages = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.SETTAPTODROP) { + Tiles.setTapToDrop(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1); + return 1; + } else if (var0 == ScriptOpcodes.GETTAPTODROP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapArea.getTapToDrop() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { + Interpreter.Interpreter_intStackSize -= 2; + Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + return 1; + } else if (var0 == 3130) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3131) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferTotalQuantityComparator.canvasWidth; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class25.canvasHeight; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { + return 1; + } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3136) { + Client.field705 = 3; + Client.field699 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3137) { + Client.field705 = 2; + Client.field699 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == 3138) { + Client.field705 = 0; + return 1; + } else if (var0 == 3139) { + Client.field705 = 1; + return 1; + } else if (var0 == 3140) { + Client.field705 = 3; + Client.field699 = var2 ? class277.scriptDotWidget.id : Interpreter.scriptActiveWidget.id; + return 1; + } else { + boolean var11; + if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSectionType.clientPreferences.hideUsername = var11; + class23.savePreferences(); + return 1; + } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSectionType.clientPreferences.hideUsername ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + Client.Login_isUsernameRemembered = var11; + if (!var11) { + WorldMapSectionType.clientPreferences.rememberedUsername = ""; + class23.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; + return 1; + } else if (var0 == 3145) { + return 1; + } else if (var0 == ScriptOpcodes.SETTITLEMUSICENABLED) { + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (var11 == WorldMapSectionType.clientPreferences.titleMusicDisabled) { + WorldMapSectionType.clientPreferences.titleMusicDisabled = !var11; + class23.savePreferences(); + } + + return 1; + } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSectionType.clientPreferences.titleMusicDisabled ? 0 : 1; + return 1; + } else if (var0 == 3148) { + return 1; + } else if (var0 == 3149) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3150) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3151) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3152) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3153) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; + return 1; + } else if (var0 == 3154) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ViewportMouse.method3161(); + return 1; + } else if (var0 == 3155) { + --Interpreter.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3156) { + return 1; + } else if (var0 == 3157) { + Interpreter.Interpreter_intStackSize -= 2; + return 1; + } else if (var0 == 3158) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3159) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3160) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3161) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3162) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3163) { + --Interpreter.Interpreter_stringStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3164) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3165) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3166) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3167) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3168) { + Interpreter.Interpreter_intStackSize -= 2; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + return 1; + } else if (var0 == 3169) { + return 1; + } else if (var0 == 3170) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3171) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3172) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 3173) { + --Interpreter.Interpreter_intStackSize; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3174) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else if (var0 == 3175) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else if (var0 == 3176) { + return 1; + } else if (var0 == 3177) { + return 1; + } else if (var0 == 3178) { + --Interpreter.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3179) { + return 1; + } else if (var0 == 3180) { + --Interpreter.Interpreter_stringStackSize; + return 1; + } else if (var0 == 3181) { + var10 = 100 - Math.min(Math.max(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize], 0), 100); + Decimator.method2707((double)(0.5F + (float)var10 / 200.0F)); + return 1; + } else if (var0 == 3182) { + float var3 = 200.0F * ((float)WorldMapSectionType.clientPreferences.field1072 - 0.5F); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 100 - Math.round(var3); + return 1; + } else { + return 2; + } + } + } + } + } + } } diff --git a/runescape-client/src/main/java/MusicTrack.java b/runescape-client/src/main/java/MusicTrack.java index 794b759fe0..95a9944444 100644 --- a/runescape-client/src/main/java/MusicTrack.java +++ b/runescape-client/src/main/java/MusicTrack.java @@ -3,432 +3,432 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hg") +@ObfuscatedName("hr") @Implements("MusicTrack") public class MusicTrack extends Node { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("table") - NodeHashTable table; - @ObfuscatedName("v") - @Export("midi") - byte[] midi; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("table") + NodeHashTable table; + @ObfuscatedName("v") + @Export("midi") + byte[] midi; - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - MusicTrack(Buffer var1) { - var1.offset = var1.array.length - 3; // L: 22 - int var2 = var1.readUnsignedByte(); // L: 23 - int var3 = var1.readUnsignedShort(); // L: 24 - int var4 = var2 * 10 + 14; // L: 25 - var1.offset = 0; // L: 26 - int var5 = 0; // L: 27 - int var6 = 0; // L: 28 - int var7 = 0; // L: 29 - int var8 = 0; // L: 30 - int var9 = 0; // L: 31 - int var10 = 0; // L: 32 - int var11 = 0; // L: 33 - int var12 = 0; // L: 34 + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + MusicTrack(Buffer var1) { + var1.offset = var1.array.length - 3; + int var2 = var1.readUnsignedByte(); + int var3 = var1.readUnsignedShort(); + int var4 = var2 * 10 + 14; + var1.offset = 0; + int var5 = 0; + int var6 = 0; + int var7 = 0; + int var8 = 0; + int var9 = 0; + int var10 = 0; + int var11 = 0; + int var12 = 0; - int var13; - int var14; - int var15; - for (var13 = 0; var13 < var2; ++var13) { // L: 35 - var14 = -1; // L: 36 + int var13; + int var14; + int var15; + for(var13 = 0; var13 < var2; ++var13) { + var14 = -1; - while (true) { - var15 = var1.readUnsignedByte(); // L: 38 - if (var15 != var14) { // L: 39 - ++var4; - } + while(true) { + var15 = var1.readUnsignedByte(); + if (var15 != var14) { + ++var4; + } - var14 = var15 & 15; // L: 40 - if (var15 == 7) { // L: 41 - break; - } + var14 = var15 & 15; + if (var15 == 7) { + break; + } - if (var15 == 23) { // L: 42 - ++var5; // L: 43 - } else if (var14 == 0) { // L: 46 - ++var7; // L: 47 - } else if (var14 == 1) { // L: 50 - ++var8; // L: 51 - } else if (var14 == 2) { // L: 54 - ++var6; // L: 55 - } else if (var14 == 3) { // L: 58 - ++var9; // L: 59 - } else if (var14 == 4) { // L: 62 - ++var10; // L: 63 - } else if (var14 == 5) { // L: 66 - ++var11; // L: 67 - } else { - if (var14 != 6) { // L: 70 - throw new RuntimeException(); // L: 74 - } + if (var15 == 23) { + ++var5; + } else if (var14 == 0) { + ++var7; + } else if (var14 == 1) { + ++var8; + } else if (var14 == 2) { + ++var6; + } else if (var14 == 3) { + ++var9; + } else if (var14 == 4) { + ++var10; + } else if (var14 == 5) { + ++var11; + } else { + if (var14 != 6) { + throw new RuntimeException(); + } - ++var12; // L: 71 - } - } - } + ++var12; + } + } + } - var4 += var5 * 5; // L: 77 - var4 += (var7 + var8 + var6 + var9 + var11) * 2; // L: 78 - var4 = var4 + var10 + var12; // L: 79 - var13 = var1.offset; // L: 80 - var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12; // L: 81 + var4 += var5 * 5; + var4 += (var7 + var8 + var6 + var9 + var11) * 2; + var4 = var4 + var10 + var12; + var13 = var1.offset; + var14 = var2 + var5 + var6 + var7 + var8 + var9 + var10 + var11 + var12; - for (var15 = 0; var15 < var14; ++var15) { // L: 82 - var1.readVarInt(); - } + for(var15 = 0; var15 < var14; ++var15) { + var1.readVarInt(); + } - var4 += var1.offset - var13; // L: 83 - var15 = var1.offset; // L: 84 - int var16 = 0; // L: 85 - int var17 = 0; // L: 86 - int var18 = 0; // L: 87 - int var19 = 0; // L: 88 - int var20 = 0; // L: 89 - int var21 = 0; // L: 90 - int var22 = 0; // L: 91 - int var23 = 0; // L: 92 - int var24 = 0; // L: 93 - int var25 = 0; // L: 94 - int var26 = 0; // L: 95 - int var27 = 0; // L: 96 - int var28 = 0; // L: 97 + var4 += var1.offset - var13; + var15 = var1.offset; + int var16 = 0; + int var17 = 0; + int var18 = 0; + int var19 = 0; + int var20 = 0; + int var21 = 0; + int var22 = 0; + int var23 = 0; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; - int var29; - for (var29 = 0; var29 < var6; ++var29) { // L: 98 - var28 = var28 + var1.readUnsignedByte() & 127; // L: 99 - if (var28 != 0 && var28 != 32) { // L: 100 - if (var28 == 1) { // L: 101 - ++var16; - } else if (var28 == 33) { // L: 102 - ++var17; - } else if (var28 == 7) { // L: 103 - ++var18; - } else if (var28 == 39) { // L: 104 - ++var19; - } else if (var28 == 10) { // L: 105 - ++var20; - } else if (var28 == 42) { // L: 106 - ++var21; - } else if (var28 == 99) { // L: 107 - ++var22; - } else if (var28 == 98) { // L: 108 - ++var23; - } else if (var28 == 101) { // L: 109 - ++var24; - } else if (var28 == 100) { // L: 110 - ++var25; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { // L: 111 - ++var27; // L: 112 - } else { - ++var26; - } - } else { - ++var12; - } - } + 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 { + ++var12; + } + } - var29 = 0; // L: 114 - int var30 = var1.offset; // L: 115 - var1.offset += var26; // L: 116 - int var31 = var1.offset; // L: 117 - var1.offset += var11; // L: 118 - int var32 = var1.offset; // L: 119 - var1.offset += var10; // L: 120 - int var33 = var1.offset; // L: 121 - var1.offset += var9; // L: 122 - int var34 = var1.offset; // L: 123 - var1.offset += var16; // L: 124 - int var35 = var1.offset; // L: 125 - var1.offset += var18; // L: 126 - int var36 = var1.offset; // L: 127 - var1.offset += var20; // L: 128 - int var37 = var1.offset; // L: 129 - var1.offset += var7 + var8 + var11; // L: 130 - int var38 = var1.offset; // L: 131 - var1.offset += var7; // L: 132 - int var39 = var1.offset; // L: 133 - var1.offset += var27; // L: 134 - int var40 = var1.offset; // L: 135 - var1.offset += var8; // L: 136 - int var41 = var1.offset; // L: 137 - var1.offset += var17; // L: 138 - int var42 = var1.offset; // L: 139 - var1.offset += var19; // L: 140 - int var43 = var1.offset; // L: 141 - var1.offset += var21; // L: 142 - int var44 = var1.offset; // L: 143 - var1.offset += var12; // L: 144 - int var45 = var1.offset; // L: 145 - var1.offset += var9; // L: 146 - int var46 = var1.offset; // L: 147 - var1.offset += var22; // L: 148 - int var47 = var1.offset; // L: 149 - var1.offset += var23; // L: 150 - int var48 = var1.offset; // L: 151 - var1.offset += var24; // L: 152 - int var49 = var1.offset; // L: 153 - var1.offset += var25; // L: 154 - int var50 = var1.offset; // L: 155 - var1.offset += var5 * 3; // L: 156 - this.midi = new byte[var4]; // L: 157 - Buffer var51 = new Buffer(this.midi); // L: 158 - var51.writeInt(1297377380); // L: 159 - var51.writeInt(6); // L: 160 - var51.writeShort(var2 > 1 ? 1 : 0); // L: 161 - var51.writeShort(var2); // L: 162 - var51.writeShort(var3); // L: 163 - var1.offset = var13; // L: 164 - int var52 = 0; // L: 165 - int var53 = 0; // L: 166 - int var54 = 0; // L: 167 - int var55 = 0; // L: 168 - int var56 = 0; // L: 169 - int var57 = 0; // L: 170 - int var58 = 0; // L: 171 - int[] var59 = new int[128]; // L: 172 - var28 = 0; // L: 173 + var29 = 0; + int var30 = var1.offset; + var1.offset += var26; + int var31 = var1.offset; + var1.offset += var11; + int var32 = var1.offset; + var1.offset += var10; + int var33 = var1.offset; + var1.offset += var9; + int var34 = var1.offset; + var1.offset += var16; + int var35 = var1.offset; + var1.offset += var18; + int var36 = var1.offset; + var1.offset += var20; + int var37 = var1.offset; + var1.offset += var7 + var8 + var11; + int var38 = var1.offset; + var1.offset += var7; + int var39 = var1.offset; + var1.offset += var27; + int var40 = var1.offset; + var1.offset += var8; + int var41 = var1.offset; + var1.offset += var17; + int var42 = var1.offset; + var1.offset += var19; + int var43 = var1.offset; + var1.offset += var21; + int var44 = var1.offset; + var1.offset += var12; + int var45 = var1.offset; + var1.offset += var9; + int var46 = var1.offset; + var1.offset += var22; + int var47 = var1.offset; + var1.offset += var23; + int var48 = var1.offset; + var1.offset += var24; + int var49 = var1.offset; + var1.offset += var25; + int var50 = var1.offset; + var1.offset += var5 * 3; + this.midi = new byte[var4]; + Buffer var51 = new Buffer(this.midi); + var51.writeInt(1297377380); + var51.writeInt(6); + var51.writeShort(var2 > 1 ? 1 : 0); + var51.writeShort(var2); + var51.writeShort(var3); + var1.offset = var13; + int var52 = 0; + int var53 = 0; + int var54 = 0; + int var55 = 0; + int var56 = 0; + int var57 = 0; + int var58 = 0; + int[] var59 = new int[128]; + var28 = 0; - label243: - for (int var60 = 0; var60 < var2; ++var60) { // L: 174 - var51.writeInt(1297379947); // L: 175 - var51.offset += 4; // L: 176 - int var61 = var51.offset; // L: 177 - int var62 = -1; // L: 178 + label243: + for(int var60 = 0; var60 < var2; ++var60) { + var51.writeInt(1297379947); + var51.offset += 4; + int var61 = var51.offset; + int var62 = -1; - while (true) { - while (true) { - int var63 = var1.readVarInt(); // L: 180 - var51.writeVarInt(var63); // L: 181 - int var64 = var1.array[var29++] & 255; // L: 182 - boolean var65 = var64 != var62; // L: 183 - var62 = var64 & 15; // L: 184 - if (var64 == 7) { // L: 185 - if (var65) { // L: 186 - var51.writeByte(255); - } + 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); // L: 187 - var51.writeByte(0); // L: 188 - var51.writeLengthInt(var51.offset - var61); // L: 269 - continue label243; - } + var51.writeByte(47); + var51.writeByte(0); + var51.writeLengthInt(var51.offset - var61); + continue label243; + } - if (var64 == 23) { // L: 191 - if (var65) { // L: 192 - var51.writeByte(255); - } + if (var64 == 23) { + if (var65) { + var51.writeByte(255); + } - var51.writeByte(81); // L: 193 - var51.writeByte(3); // L: 194 - var51.writeByte(var1.array[var50++]); // L: 195 - var51.writeByte(var1.array[var50++]); // L: 196 - var51.writeByte(var1.array[var50++]); // L: 197 - } else { - var52 ^= var64 >> 4; // L: 200 - if (var62 == 0) { // L: 201 - if (var65) { // L: 202 - var51.writeByte(var52 + 144); - } + var51.writeByte(81); + var51.writeByte(3); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + var51.writeByte(var1.array[var50++]); + } else { + var52 ^= var64 >> 4; + if (var62 == 0) { + if (var65) { + var51.writeByte(var52 + 144); + } - var53 += var1.array[var37++]; // L: 203 - var54 += var1.array[var38++]; // L: 204 - var51.writeByte(var53 & 127); // L: 205 - var51.writeByte(var54 & 127); // L: 206 - } else if (var62 == 1) { // L: 209 - if (var65) { // L: 210 - var51.writeByte(var52 + 128); - } + 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++]; // L: 211 - var55 += var1.array[var40++]; // L: 212 - var51.writeByte(var53 & 127); // L: 213 - var51.writeByte(var55 & 127); // L: 214 - } else if (var62 == 2) { // L: 217 - if (var65) { // L: 218 - var51.writeByte(var52 + 176); - } + 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; // L: 219 - var51.writeByte(var28); // L: 220 - byte var66; - if (var28 != 0 && var28 != 32) { // L: 222 - if (var28 == 1) { // L: 223 - var66 = var1.array[var34++]; - } else if (var28 == 33) { // L: 224 - var66 = var1.array[var41++]; - } else if (var28 == 7) { // L: 225 - var66 = var1.array[var35++]; - } else if (var28 == 39) { // L: 226 - var66 = var1.array[var42++]; - } else if (var28 == 10) { // L: 227 - var66 = var1.array[var36++]; - } else if (var28 == 42) { // L: 228 - var66 = var1.array[var43++]; - } else if (var28 == 99) { // L: 229 - var66 = var1.array[var46++]; - } else if (var28 == 98) { // L: 230 - var66 = var1.array[var47++]; - } else if (var28 == 101) { // L: 231 - var66 = var1.array[var48++]; - } else if (var28 == 100) { // L: 232 - var66 = var1.array[var49++]; - } else if (var28 != 64 && var28 != 65 && var28 != 120 && var28 != 121 && var28 != 123) { // L: 233 - var66 = var1.array[var39++]; // L: 234 - } else { - var66 = var1.array[var30++]; - } - } else { - var66 = var1.array[var44++]; - } + 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]; // L: 235 - var59[var28] = var67; // L: 236 - var51.writeByte(var67 & 127); // L: 237 - } else if (var62 == 3) { // L: 240 - if (var65) { // L: 241 - var51.writeByte(var52 + 224); - } + 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++]; // L: 242 - var56 += var1.array[var33++] << 7; // L: 243 - var51.writeByte(var56 & 127); // L: 244 - var51.writeByte(var56 >> 7 & 127); // L: 245 - } else if (var62 == 4) { // L: 248 - if (var65) { // L: 249 - var51.writeByte(var52 + 208); - } + 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++]; // L: 250 - var51.writeByte(var57 & 127); // L: 251 - } else if (var62 == 5) { // L: 254 - if (var65) { // L: 255 - var51.writeByte(var52 + 160); - } + var57 += var1.array[var32++]; + var51.writeByte(var57 & 127); + } else if (var62 == 5) { + if (var65) { + var51.writeByte(var52 + 160); + } - var53 += var1.array[var37++]; // L: 256 - var58 += var1.array[var31++]; // L: 257 - var51.writeByte(var53 & 127); // L: 258 - var51.writeByte(var58 & 127); // L: 259 - } else { - if (var62 != 6) { // L: 262 - throw new RuntimeException(); // L: 267 - } + 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) { // L: 263 - var51.writeByte(var52 + 192); - } + if (var65) { + var51.writeByte(var52 + 192); + } - var51.writeByte(var1.array[var44++]); // L: 264 - } - } - } - } - } + var51.writeByte(var1.array[var44++]); + } + } + } + } + } - } // L: 271 + } - @ObfuscatedName("v") - void method3956() { - if (this.table == null) { // L: 274 - this.table = new NodeHashTable(16); // L: 275 - int[] var1 = new int[16]; // L: 276 - int[] var2 = new int[16]; // L: 277 - var2[9] = 128; // L: 279 - var1[9] = 128; // L: 280 - MidiFileReader var4 = new MidiFileReader(this.midi); // L: 281 - int var5 = var4.trackCount(); // L: 282 + @ObfuscatedName("v") + void method4125() { + 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) { // L: 283 - var4.gotoTrack(var6); // L: 284 - var4.readTrackLength(var6); // L: 285 - var4.markTrackPosition(var6); // L: 286 - } + int var6; + for(var6 = 0; var6 < var5; ++var6) { + var4.gotoTrack(var6); + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } - label54: - do { - while (true) { - var6 = var4.getPrioritizedTrack(); // L: 289 - int var7 = var4.trackLengths[var6]; // L: 290 + label56: + do { + while(true) { + var6 = var4.getPrioritizedTrack(); + int var7 = var4.trackLengths[var6]; - while (var7 == var4.trackLengths[var6]) { // L: 291 - var4.gotoTrack(var6); // L: 292 - int var8 = var4.readMessage(var6); // L: 293 - if (var8 == 1) { // L: 294 - var4.setTrackDone(); // L: 295 - var4.markTrackPosition(var6); // L: 296 - continue label54; - } + while(var7 == var4.trackLengths[var6]) { + var4.gotoTrack(var6); + int var8 = var4.readMessage(var6); + if (var8 == 1) { + var4.setTrackDone(); + var4.markTrackPosition(var6); + continue label56; + } - int var9 = var8 & 240; // L: 300 - int var10; - int var11; - int var12; - if (var9 == 176) { // L: 301 - var10 = var8 & 15; // L: 302 - var11 = var8 >> 8 & 127; // L: 303 - var12 = var8 >> 16 & 127; // L: 304 - if (var11 == 0) { // L: 305 - var1[var10] = (var12 << 14) + (var1[var10] & -2080769); - } + 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) { // L: 306 - var1[var10] = (var1[var10] & -16257) + (var12 << 7); - } - } + if (var11 == 32) { + var1[var10] = (var1[var10] & -16257) + (var12 << 7); + } + } - if (var9 == 192) { // L: 308 - var10 = var8 & 15; // L: 309 - var11 = var8 >> 8 & 127; // L: 310 - var2[var10] = var11 + var1[var10]; // L: 311 - } + if (var9 == 192) { + var10 = var8 & 15; + var11 = var8 >> 8 & 127; + var2[var10] = var11 + var1[var10]; + } - if (var9 == 144) { // L: 313 - var10 = var8 & 15; // L: 314 - var11 = var8 >> 8 & 127; // L: 315 - var12 = var8 >> 16 & 127; // L: 316 - if (var12 > 0) { // L: 317 - int var13 = var2[var10]; // L: 318 - ByteArrayNode var14 = (ByteArrayNode)this.table.get((long)var13); // L: 319 - if (var14 == null) { // L: 320 - var14 = new ByteArrayNode(new byte[128]); // L: 321 - this.table.put(var14, (long)var13); // L: 322 - } + 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; // L: 324 - } - } + var14.byteArray[var11] = 1; + } + } - var4.readTrackLength(var6); // L: 327 - var4.markTrackPosition(var6); // L: 328 - } - } - } while(!var4.isDone()); // L: 297 + var4.readTrackLength(var6); + var4.markTrackPosition(var6); + } + } + } while(!var4.isDone()); - } - } // L: 331 + } + } - @ObfuscatedName("x") - @Export("clear") - void clear() { - this.table = null; // L: 334 - } // L: 335 + @ObfuscatedName("d") + @Export("clear") + void clear() { + this.table = null; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;II)Lhg;" - ) - @Export("readTrack") - static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); // L: 16 - return var3 == null ? null : new MusicTrack(new Buffer(var3)); // L: 17 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;II)Lhr;" + ) + @Export("readTrack") + public static MusicTrack readTrack(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new MusicTrack(new Buffer(var3)); + } } diff --git a/runescape-client/src/main/java/NPC.java b/runescape-client/src/main/java/NPC.java index 8f30d2b937..a0570a74de 100644 --- a/runescape-client/src/main/java/NPC.java +++ b/runescape-client/src/main/java/NPC.java @@ -1,193 +1,203 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cf") +@ObfuscatedName("ca") @Implements("NPC") public final class NPC extends Actor { - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("ItemDefinition_archive") - static AbstractArchive ItemDefinition_archive; - @ObfuscatedName("jp") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - static Widget field1131; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljd;" - ) - @Export("definition") - NPCComposition definition; + @ObfuscatedName("si") + @ObfuscatedGetter( + intValue = -1643634883 + ) + @Export("foundItemIdCount") + static int foundItemIdCount; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Ljy;" + ) + @Export("definition") + NPCComposition definition; - NPC() { - } // L: 12 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IBB)V", + garbageValue = "1" + ) + final void method2178(int var1, byte var2) { + int var3 = super.pathX[0]; + int var4 = super.pathY[0]; + if (var1 == 0) { + --var3; + ++var4; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IBI)V", - garbageValue = "1912112100" - ) - final void method2102(int var1, byte var2) { - int var3 = super.pathX[0]; // L: 15 - int var4 = super.pathY[0]; // L: 16 - if (var1 == 0) { // L: 17 - --var3; // L: 18 - ++var4; // L: 19 - } + if (var1 == 1) { + ++var4; + } - if (var1 == 1) { // L: 21 - ++var4; - } + if (var1 == 2) { + ++var3; + ++var4; + } - if (var1 == 2) { // L: 22 - ++var3; // L: 23 - ++var4; // L: 24 - } + if (var1 == 3) { + --var3; + } - if (var1 == 3) { // L: 26 - --var3; - } + if (var1 == 4) { + ++var3; + } - if (var1 == 4) { // L: 27 - ++var3; - } + if (var1 == 5) { + --var3; + --var4; + } - if (var1 == 5) { // L: 28 - --var3; // L: 29 - --var4; // L: 30 - } + if (var1 == 6) { + --var4; + } - if (var1 == 6) { // L: 32 - --var4; - } + if (var1 == 7) { + ++var3; + --var4; + } - if (var1 == 7) { // L: 33 - ++var3; // L: 34 - --var4; // L: 35 - } + if (super.sequence != -1 && InterfaceParent.SequenceDefinition_get(super.sequence).field3565 == 1) { + super.sequence = -1; + } - if (super.sequence != -1 && ParamComposition.SequenceDefinition_get(super.sequence).field3555 == 1) { // L: 37 - super.sequence = -1; - } + if (super.pathLength < 9) { + ++super.pathLength; + } - if (super.pathLength < 9) { // L: 38 - ++super.pathLength; - } + for(int var5 = super.pathLength; var5 > 0; --var5) { + super.pathX[var5] = super.pathX[var5 - 1]; + super.pathY[var5] = super.pathY[var5 - 1]; + super.pathTraversed[var5] = super.pathTraversed[var5 - 1]; + } - for (int var5 = super.pathLength; var5 > 0; --var5) { // L: 39 - super.pathX[var5] = super.pathX[var5 - 1]; // L: 40 - super.pathY[var5] = super.pathY[var5 - 1]; // L: 41 - super.pathTraversed[var5] = super.pathTraversed[var5 - 1]; // L: 42 - } + super.pathX[0] = var3; + super.pathY[0] = var4; + super.pathTraversed[0] = var2; + } - super.pathX[0] = var3; // L: 44 - super.pathY[0] = var4; // L: 45 - super.pathTraversed[0] = var2; // L: 46 - } // L: 47 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIZI)V", + garbageValue = "502000680" + ) + final void method2181(int var1, int var2, boolean var3) { + if (super.sequence != -1 && InterfaceParent.SequenceDefinition_get(super.sequence).field3565 == 1) { + super.sequence = -1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIZI)V", - garbageValue = "-169739231" - ) - final void method2106(int var1, int var2, boolean var3) { - if (super.sequence != -1 && ParamComposition.SequenceDefinition_get(super.sequence).field3555 == 1) { // L: 50 - super.sequence = -1; - } + if (!var3) { + int var4 = var1 - super.pathX[0]; + int var5 = var2 - super.pathY[0]; + if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { + if (super.pathLength < 9) { + ++super.pathLength; + } - if (!var3) { // L: 51 - int var4 = var1 - super.pathX[0]; // L: 52 - int var5 = var2 - super.pathY[0]; // L: 53 - if (var4 >= -8 && var4 <= 8 && var5 >= -8 && var5 <= 8) { // L: 54 - if (super.pathLength < 9) { // L: 55 - ++super.pathLength; - } + for(int var6 = super.pathLength; var6 > 0; --var6) { + super.pathX[var6] = super.pathX[var6 - 1]; + super.pathY[var6] = super.pathY[var6 - 1]; + super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; + } - for (int var6 = super.pathLength; var6 > 0; --var6) { // L: 56 - super.pathX[var6] = super.pathX[var6 - 1]; // L: 57 - super.pathY[var6] = super.pathY[var6 - 1]; // L: 58 - super.pathTraversed[var6] = super.pathTraversed[var6 - 1]; // L: 59 - } + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = 1; + return; + } + } - super.pathX[0] = var1; // L: 61 - super.pathY[0] = var2; // L: 62 - super.pathTraversed[0] = 1; // L: 63 - return; // L: 64 - } - } + super.pathLength = 0; + super.field1012 = 0; + super.field989 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + super.x = super.field1007 * 64 + super.pathX[0] * 128; + super.y = super.field1007 * 64 + super.pathY[0] * 128; + } - super.pathLength = 0; // L: 67 - super.field996 = 0; // L: 68 - super.field963 = 0; // L: 69 - super.pathX[0] = var1; // L: 70 - super.pathY[0] = var2; // L: 71 - super.x = super.pathX[0] * 128 + super.field941 * 64; // L: 72 - super.y = super.field941 * 64 + super.pathY[0] * 128; // L: 73 - } // L: 74 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + if (this.definition == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? InterfaceParent.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence != -1 && (super.idleSequence != super.movementSequence || var1 == null) ? InterfaceParent.SequenceDefinition_get(super.movementSequence) : null; + Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); + if (var3 == null) { + return null; + } else { + var3.calculateBoundsCylinder(); + super.defaultHeight = var3.height; + if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { + Model var4 = AbstractUserComparator.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + if (var4 != null) { + var4.offsetBy(0, -super.field994, 0); + Model[] var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - if (this.definition == null) { // L: 77 - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? ParamComposition.SequenceDefinition_get(super.sequence) : null; // L: 78 - SequenceDefinition var2 = super.movementSequence != -1 && (super.idleSequence != super.movementSequence || var1 == null) ? ParamComposition.SequenceDefinition_get(super.movementSequence) : null; // L: 79 - Model var3 = this.definition.getModel(var1, super.sequenceFrame, var2, super.movementFrame); // L: 80 - if (var3 == null) { - return null; - } else { - var3.calculateBoundsCylinder(); - super.defaultHeight = var3.height; - if (super.spotAnimation != -1 && super.spotAnimationFrame != -1) { // L: 84 - Model var4 = TileItem.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); // L: 85 - if (var4 != null) { // L: 86 - var4.offsetBy(0, -super.field979, 0); // L: 87 - Model[] var5 = new Model[]{var3, var4}; // L: 88 - var3 = new Model(var5, 2); // L: 89 - } - } + if (this.definition.size == 1) { + var3.isSingleTile = true; + } - if (this.definition.size == 1) { // L: 92 - var3.isSingleTile = true; - } + return var3; + } + } + } - return var3; // L: 93 - } - } - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-251916247" + ) + @Export("isVisible") + final boolean isVisible() { + return this.definition != null; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1661589479" - ) - @Export("isVisible") - final boolean isVisible() { - return this.definition != null; // L: 97 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Lbd;", + garbageValue = "874682655" + ) + @Export("Messages_getMessage") + static Message Messages_getMessage(int var0) { + return (Message)Messages.Messages_hashTable.get((long)var0); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IIIZIB)J", - garbageValue = "-40" - ) - @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; // L: 81 - if (var3) { // L: 82 - var5 |= 65536L; - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-55" + ) + public static int method2179(int var0) { + return GrandExchangeOfferNameComparator.Entity_unpackSceneX(ViewportMouse.ViewportMouse_entityTags[var0]); + } - return var5; // L: 83 - } + @ObfuscatedName("fx") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "51" + ) + static void method2180(int var0, int var1) { + if (WorldMapSectionType.clientPreferences.musicVolume != 0 && var0 != -1) { + ReflectionCheck.method2450(WorldMapManager.archive11, var0, 0, WorldMapSectionType.clientPreferences.musicVolume, false); + Client.field899 = true; + } + + } } diff --git a/runescape-client/src/main/java/NPCComposition.java b/runescape-client/src/main/java/NPCComposition.java index 70c8521202..00f49e803f 100644 --- a/runescape-client/src/main/java/NPCComposition.java +++ b/runescape-client/src/main/java/NPCComposition.java @@ -4,604 +4,554 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jd") +@ObfuscatedName("jy") @Implements("NPCComposition") public class NPCComposition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("NpcDefinition_archive") - static AbstractArchive NpcDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("NpcDefinition_modelArchive") - static AbstractArchive NpcDefinition_modelArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("NpcDefinition_cached") - static EvictingDualNodeHashTable NpcDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("NpcDefinition_cachedModels") - static EvictingDualNodeHashTable NpcDefinition_cachedModels; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1827419891 - ) - @Export("id") - public int id; - @ObfuscatedName("j") - @Export("name") - public String name; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1550442265 - ) - @Export("size") - public int size; - @ObfuscatedName("p") - @Export("models") - int[] models; - @ObfuscatedName("l") - int[] field3502; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 336574561 - ) - @Export("idleSequence") - public int idleSequence; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -673738421 - ) - @Export("turnLeftSequence") - public int turnLeftSequence; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -884212635 - ) - @Export("turnRightSequence") - public int turnRightSequence; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -497441899 - ) - @Export("walkSequence") - public int walkSequence; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -1479864431 - ) - @Export("walkBackSequence") - public int walkBackSequence; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 1205423787 - ) - @Export("walkLeftSequence") - public int walkLeftSequence; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -948681777 - ) - @Export("walkRightSequence") - public int walkRightSequence; - @ObfuscatedName("a") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("b") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("y") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("r") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("q") - @Export("actions") - public String[] actions; - @ObfuscatedName("g") - @Export("drawMapDot") - public boolean drawMapDot; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = 1734384763 - ) - @Export("combatLevel") - public int combatLevel; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 2070711827 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1419724991 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("d") - @Export("isVisible") - public boolean isVisible; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -493625907 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1808853841 - ) - @Export("contrast") - int contrast; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -185118159 - ) - @Export("headIconPrayer") - public int headIconPrayer; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -46619171 - ) - @Export("rotation") - public int rotation; - @ObfuscatedName("au") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1883823959 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -1506306671 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("ac") - @Export("isInteractable") - public boolean isInteractable; - @ObfuscatedName("ak") - @Export("isClickable") - public boolean isClickable; - @ObfuscatedName("av") - @Export("isFollower") - public boolean isFollower; - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("params") - IterableNodeHashTable params; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("NpcDefinition_archive") + static AbstractArchive NpcDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("NpcDefinition_modelArchive") + static AbstractArchive NpcDefinition_modelArchive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("NpcDefinition_cached") + public static EvictingDualNodeHashTable NpcDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("NpcDefinition_cachedModels") + public static EvictingDualNodeHashTable NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Lgp;" + ) + @Export("clientLanguage") + static Language clientLanguage; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 24232169 + ) + @Export("id") + public int id; + @ObfuscatedName("h") + @Export("name") + public String name = "null"; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 2004298727 + ) + @Export("size") + public int size = 1; + @ObfuscatedName("e") + @Export("models") + int[] models; + @ObfuscatedName("q") + int[] field3505; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1510853809 + ) + @Export("idleSequence") + public int idleSequence = -1; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1120127837 + ) + @Export("turnLeftSequence") + public int turnLeftSequence = -1; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1037555383 + ) + @Export("turnRightSequence") + public int turnRightSequence = -1; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1864602667 + ) + @Export("walkSequence") + public int walkSequence = -1; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1620043443 + ) + @Export("walkBackSequence") + public int walkBackSequence = -1; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -934098427 + ) + @Export("walkLeftSequence") + public int walkLeftSequence = -1; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 549437629 + ) + @Export("walkRightSequence") + public int walkRightSequence = -1; + @ObfuscatedName("x") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("f") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("g") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("u") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("t") + @Export("actions") + public String[] actions = new String[5]; + @ObfuscatedName("p") + @Export("drawMapDot") + public boolean drawMapDot = true; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = -1257946639 + ) + @Export("combatLevel") + public int combatLevel = -1; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1224141093 + ) + @Export("widthScale") + int widthScale = 128; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1903775087 + ) + @Export("heightScale") + int heightScale = 128; + @ObfuscatedName("j") + @Export("isVisible") + public boolean isVisible = false; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = -1351720473 + ) + @Export("ambient") + int ambient = 0; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 1022021323 + ) + @Export("contrast") + int contrast = 0; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -1867413513 + ) + @Export("headIconPrayer") + public int headIconPrayer = -1; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -1974627065 + ) + @Export("rotation") + public int rotation = 32; + @ObfuscatedName("ac") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = -564802311 + ) + @Export("transformVarbit") + int transformVarbit = -1; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 1138034643 + ) + @Export("transformVarp") + int transformVarp = -1; + @ObfuscatedName("ak") + @Export("isInteractable") + public boolean isInteractable = true; + @ObfuscatedName("ax") + @Export("isClickable") + public boolean isClickable = true; + @ObfuscatedName("ar") + @Export("isFollower") + public boolean isFollower = false; + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("params") + IterableNodeHashTable params; - static { - NpcDefinition_cached = new EvictingDualNodeHashTable(64); // L: 18 - NpcDefinition_cachedModels = new EvictingDualNodeHashTable(50); // L: 19 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1161139559" + ) + @Export("postDecode") + void postDecode() { + } - NPCComposition() { - this.name = "null"; // L: 21 - this.size = 1; // L: 22 - this.idleSequence = -1; // L: 25 - this.turnLeftSequence = -1; // L: 26 - this.turnRightSequence = -1; // L: 27 - this.walkSequence = -1; // L: 28 - this.walkBackSequence = -1; // L: 29 - this.walkLeftSequence = -1; // L: 30 - this.walkRightSequence = -1; // L: 31 - this.actions = new String[5]; // L: 36 - this.drawMapDot = true; // L: 37 - this.combatLevel = -1; // L: 38 - this.widthScale = 128; // L: 39 - this.heightScale = 128; // L: 40 - this.isVisible = false; // L: 41 - this.ambient = 0; // L: 42 - this.contrast = 0; // L: 43 - this.headIconPrayer = -1; // L: 44 - this.rotation = 32; // L: 45 - this.transformVarbit = -1; // L: 47 - this.transformVarp = -1; // L: 48 - this.isInteractable = true; // L: 49 - this.isClickable = true; // L: 50 - this.isFollower = false; // L: 51 - } // L: 54 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "0" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1458839985" - ) - @Export("postDecode") - void postDecode() { - } // L: 73 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-174515624" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 77 - if (var2 == 0) { // L: 78 - return; // L: 81 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "43" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedByte(); + this.models = new int[var3]; - this.decodeNext(var1, var2); // L: 79 - } - } + for(var4 = 0; var4 < var3; ++var4) { + this.models[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 12) { + this.size = var1.readUnsignedByte(); + } else if (var2 == 13) { + this.idleSequence = var1.readUnsignedShort(); + } else if (var2 == 14) { + this.walkSequence = var1.readUnsignedShort(); + } else if (var2 == 15) { + this.turnLeftSequence = var1.readUnsignedShort(); + } else if (var2 == 16) { + this.turnRightSequence = var1.readUnsignedShort(); + } else if (var2 == 17) { + this.walkSequence = var1.readUnsignedShort(); + this.walkBackSequence = var1.readUnsignedShort(); + this.walkLeftSequence = var1.readUnsignedShort(); + this.walkRightSequence = var1.readUnsignedShort(); + } else if (var2 >= 30 && var2 < 35) { + this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.actions[var2 - 30] = null; + } + } else if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "-100" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { // L: 84 - var3 = var1.readUnsignedByte(); // L: 85 - this.models = new int[var3]; // L: 86 + 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) { // L: 87 - this.models[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 2) { // L: 89 - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 12) { // L: 90 - this.size = var1.readUnsignedByte(); - } else if (var2 == 13) { // L: 91 - this.idleSequence = var1.readUnsignedShort(); - } else if (var2 == 14) { // L: 92 - this.walkSequence = var1.readUnsignedShort(); - } else if (var2 == 15) { // L: 93 - this.turnLeftSequence = var1.readUnsignedShort(); - } else if (var2 == 16) { // L: 94 - this.turnRightSequence = var1.readUnsignedShort(); - } else if (var2 == 17) { // L: 95 - this.walkSequence = var1.readUnsignedShort(); // L: 96 - this.walkBackSequence = var1.readUnsignedShort(); // L: 97 - this.walkLeftSequence = var1.readUnsignedShort(); // L: 98 - this.walkRightSequence = var1.readUnsignedShort(); // L: 99 - } else if (var2 >= 30 && var2 < 35) { // L: 101 - this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); // L: 102 - if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { // L: 103 - this.actions[var2 - 30] = null; - } - } else if (var2 == 40) { // L: 105 - var3 = var1.readUnsignedByte(); // L: 106 - this.recolorFrom = new short[var3]; // L: 107 - this.recolorTo = new short[var3]; // L: 108 + for(var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } else if (var2 == 60) { + var3 = var1.readUnsignedByte(); + this.field3505 = new int[var3]; - for (var4 = 0; var4 < var3; ++var4) { // L: 109 - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); // L: 110 - this.recolorTo[var4] = (short)var1.readUnsignedShort(); // L: 111 - } - } else if (var2 == 41) { // L: 114 - var3 = var1.readUnsignedByte(); // L: 115 - this.retextureFrom = new short[var3]; // L: 116 - this.retextureTo = new short[var3]; // L: 117 + for(var4 = 0; var4 < var3; ++var4) { + this.field3505[var4] = var1.readUnsignedShort(); + } + } else if (var2 == 93) { + this.drawMapDot = false; + } else if (var2 == 95) { + this.combatLevel = var1.readUnsignedShort(); + } else if (var2 == 97) { + this.widthScale = var1.readUnsignedShort(); + } else if (var2 == 98) { + this.heightScale = var1.readUnsignedShort(); + } else if (var2 == 99) { + this.isVisible = true; + } else if (var2 == 100) { + this.ambient = var1.readByte(); + } else if (var2 == 101) { + this.contrast = var1.readByte(); + } else if (var2 == 102) { + this.headIconPrayer = var1.readUnsignedShort(); + } else if (var2 == 103) { + this.rotation = var1.readUnsignedShort(); + } else if (var2 != 106 && var2 != 118) { + if (var2 == 107) { + this.isInteractable = false; + } else if (var2 == 109) { + this.isClickable = false; + } else if (var2 == 111) { + this.isFollower = true; + } else if (var2 == 249) { + this.params = TextureProvider.readStringIntParameters(var1, this.params); + } + } else { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } - for (var4 = 0; var4 < var3; ++var4) { // L: 118 - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); // L: 119 - this.retextureTo[var4] = (short)var1.readUnsignedShort(); // L: 120 - } - } else if (var2 == 60) { // L: 123 - var3 = var1.readUnsignedByte(); // L: 124 - this.field3502 = new int[var3]; // L: 125 + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } - for (var4 = 0; var4 < var3; ++var4) { // L: 126 - this.field3502[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 93) { // L: 128 - this.drawMapDot = false; - } else if (var2 == 95) { // L: 129 - this.combatLevel = var1.readUnsignedShort(); - } else if (var2 == 97) { // L: 130 - this.widthScale = var1.readUnsignedShort(); - } else if (var2 == 98) { // L: 131 - this.heightScale = var1.readUnsignedShort(); - } else if (var2 == 99) { // L: 132 - this.isVisible = true; - } else if (var2 == 100) { // L: 133 - this.ambient = var1.readByte(); - } else if (var2 == 101) { // L: 134 - this.contrast = var1.readByte() * 5; - } else if (var2 == 102) { // L: 135 - this.headIconPrayer = var1.readUnsignedShort(); - } else if (var2 == 103) { // L: 136 - this.rotation = var1.readUnsignedShort(); - } else if (var2 != 106 && var2 != 118) { // L: 137 - if (var2 == 107) { // L: 155 - this.isInteractable = false; - } else if (var2 == 109) { // L: 156 - this.isClickable = false; - } else if (var2 == 111) { // L: 157 - this.isFollower = true; - } else if (var2 == 249) { // L: 158 - this.params = NetSocket.readStringIntParameters(var1, this.params); - } - } else { - this.transformVarbit = var1.readUnsignedShort(); // L: 138 - if (this.transformVarbit == 65535) { // L: 139 - this.transformVarbit = -1; - } + var3 = -1; + if (var2 == 118) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } - this.transformVarp = var1.readUnsignedShort(); // L: 140 - if (this.transformVarp == 65535) { // L: 141 - this.transformVarp = -1; - } + var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; - var3 = -1; // L: 142 - if (var2 == 118) { // L: 143 - var3 = var1.readUnsignedShort(); // L: 144 - if (var3 == 65535) { // L: 145 - var3 = -1; - } - } + for(int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } - var4 = var1.readUnsignedByte(); // L: 147 - this.transforms = new int[var4 + 2]; // L: 148 + this.transforms[var4 + 1] = var3; + } - for (int var5 = 0; var5 <= var4; ++var5) { // L: 149 - this.transforms[var5] = var1.readUnsignedShort(); // L: 150 - if (this.transforms[var5] == 65535) { // L: 151 - this.transforms[var5] = -1; - } - } + } - this.transforms[var4 + 1] = var3; // L: 153 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljs;ILjs;II)Lef;", + garbageValue = "-2134889702" + ) + @Export("getModel") + public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { + if (this.transforms != null) { + NPCComposition var12 = this.transform(); + return var12 == null ? null : var12.getModel(var1, var2, var3, var4); + } else { + Model var5 = (Model)NpcDefinition_cachedModels.get((long)this.id); + if (var5 == null) { + boolean var6 = false; - } // L: 160 + for(int var7 = 0; var7 < this.models.length; ++var7) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.models[var7], 0)) { + var6 = true; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljy;ILjy;IB)Leh;", - garbageValue = "86" - ) - @Export("getModel") - public final Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.transforms != null) { // L: 163 - NPCComposition var12 = this.transform(); // L: 164 - return var12 == null ? null : var12.getModel(var1, var2, var3, var4); // L: 165 166 - } else { - Model var5 = (Model)NpcDefinition_cachedModels.get((long)this.id); // L: 168 - if (var5 == null) { // L: 169 - boolean var6 = false; // L: 170 + if (var6) { + return null; + } - for (int var7 = 0; var7 < this.models.length; ++var7) { // L: 171 - if (!NpcDefinition_modelArchive.tryLoadFile(this.models[var7], 0)) { - var6 = true; - } - } + ModelData[] var8 = new ModelData[this.models.length]; - if (var6) { // L: 172 - return null; - } + int var9; + for(var9 = 0; var9 < this.models.length; ++var9) { + var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0); + } - ModelData[] var8 = new ModelData[this.models.length]; // L: 174 + ModelData var10; + if (var8.length == 1) { + var10 = var8[0]; + } else { + var10 = new ModelData(var8, var8.length); + } - int var9; - for (var9 = 0; var9 < this.models.length; ++var9) { // L: 175 - var8[var9] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.models[var9], 0); - } + if (this.recolorFrom != null) { + for(var9 = 0; var9 < this.recolorFrom.length; ++var9) { + var10.recolor(this.recolorFrom[var9], this.recolorTo[var9]); + } + } - ModelData var10; - if (var8.length == 1) { // L: 176 - var10 = var8[0]; - } else { - var10 = new ModelData(var8, var8.length); // L: 177 - } + if (this.retextureFrom != null) { + for(var9 = 0; var9 < this.retextureFrom.length; ++var9) { + var10.retexture(this.retextureFrom[var9], this.retextureTo[var9]); + } + } - if (this.recolorFrom != null) { // L: 178 - for (var9 = 0; var9 < this.recolorFrom.length; ++var9) { // L: 179 - var10.recolor(this.recolorFrom[var9], this.recolorTo[var9]); // L: 180 - } - } + var5 = var10.toModel(this.ambient + 64, this.contrast * 5 + 850, -30, -50, -30); + NpcDefinition_cachedModels.put(var5, (long)this.id); + } - if (this.retextureFrom != null) { // L: 183 - for (var9 = 0; var9 < this.retextureFrom.length; ++var9) { // L: 184 - var10.retexture(this.retextureFrom[var9], this.retextureTo[var9]); // L: 185 - } - } + Model var11; + if (var1 != null && var3 != null) { + var11 = var1.applyTransformations(var5, var2, var3, var4); + } else if (var1 != null) { + var11 = var1.transformActorModel(var5, var2); + } else if (var3 != null) { + var11 = var3.transformActorModel(var5, var4); + } else { + var11 = var5.toSharedSequenceModel(true); + } - var5 = var10.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); // L: 188 - NpcDefinition_cachedModels.put(var5, (long)this.id); // L: 189 - } + if (this.widthScale != 128 || this.heightScale != 128) { + var11.scale(this.widthScale, this.heightScale, this.widthScale); + } - Model var11; - if (var1 != null && var3 != null) { // L: 192 - var11 = var1.applyTransformations(var5, var2, var3, var4); - } else if (var1 != null) { // L: 193 - var11 = var1.transformActorModel(var5, var2); - } else if (var3 != null) { // L: 194 - var11 = var3.transformActorModel(var5, var4); - } else { - var11 = var5.toSharedSequenceModel(true); // L: 195 - } + return var11; + } + } - if (this.widthScale != 128 || this.heightScale != 128) { // L: 196 - var11.scale(this.widthScale, this.heightScale, this.widthScale); - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)Lek;", + garbageValue = "-5" + ) + @Export("getModelData") + public final ModelData getModelData() { + if (this.transforms != null) { + NPCComposition var7 = this.transform(); + return var7 == null ? null : var7.getModelData(); + } else if (this.field3505 == null) { + return null; + } else { + boolean var1 = false; - return var11; // L: 197 - } - } + for(int var2 = 0; var2 < this.field3505.length; ++var2) { + if (!NpcDefinition_modelArchive.tryLoadFile(this.field3505[var2], 0)) { + var1 = true; + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Les;", - garbageValue = "-1865075990" - ) - @Export("getModelData") - public final ModelData getModelData() { - if (this.transforms != null) { // L: 201 - NPCComposition var7 = this.transform(); // L: 202 - return var7 == null ? null : var7.getModelData(); // L: 203 204 - } else if (this.field3502 == null) { // L: 206 - return null; - } else { - boolean var1 = false; // L: 207 + if (var1) { + return null; + } else { + ModelData[] var5 = new ModelData[this.field3505.length]; - for (int var2 = 0; var2 < this.field3502.length; ++var2) { // L: 208 - if (!NpcDefinition_modelArchive.tryLoadFile(this.field3502[var2], 0)) { - var1 = true; - } - } + for(int var3 = 0; var3 < this.field3505.length; ++var3) { + var5[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3505[var3], 0); + } - if (var1) { // L: 209 - return null; - } else { - ModelData[] var5 = new ModelData[this.field3502.length]; // L: 210 + ModelData var6; + if (var5.length == 1) { + var6 = var5[0]; + } else { + var6 = new ModelData(var5, var5.length); + } - for (int var3 = 0; var3 < this.field3502.length; ++var3) { // L: 211 - var5[var3] = ModelData.ModelData_get(NpcDefinition_modelArchive, this.field3502[var3], 0); - } + int var4; + if (this.recolorFrom != null) { + for(var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - ModelData var6; - if (var5.length == 1) { - var6 = var5[0]; // L: 213 - } else { - var6 = new ModelData(var5, var5.length); // L: 214 - } + if (this.retextureFrom != null) { + for(var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - int var4; - if (this.recolorFrom != null) { // L: 215 - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { // L: 216 - var6.recolor(this.recolorFrom[var4], this.recolorTo[var4]); // L: 217 - } - } + return var6; + } + } + } - if (this.retextureFrom != null) { // L: 220 - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { // L: 221 - var6.retexture(this.retextureFrom[var4], this.retextureTo[var4]); // L: 222 - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Ljy;", + garbageValue = "1357950663" + ) + @Export("transform") + public final NPCComposition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = FontName.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - return var6; // L: 225 - } - } - } + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(B)Ljd;", - garbageValue = "-51" - ) - @Export("transform") - public final NPCComposition transform() { - int var1 = -1; // L: 229 - if (this.transformVarbit != -1) { // L: 230 - var1 = Coord.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { // L: 231 - var1 = Varps.Varps_main[this.transformVarp]; - } + return var2 != -1 ? class90.getNpcDefinition(var2) : null; + } - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { // L: 233 - var2 = this.transforms[var1]; // L: 234 - } else { - var2 = this.transforms[this.transforms.length - 1]; - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "122" + ) + @Export("transformIsVisible") + public boolean transformIsVisible() { + if (this.transforms == null) { + return true; + } else { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = FontName.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } - return var2 != -1 ? WorldMapIcon_0.getNpcDefinition(var2) : null; // L: 235 236 - } + if (var1 >= 0 && var1 < this.transforms.length) { + return this.transforms[var1] != -1; + } else { + return this.transforms[this.transforms.length - 1] != -1; + } + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1926927124" - ) - @Export("transformIsVisible") - public boolean transformIsVisible() { - if (this.transforms == null) { // L: 240 - return true; - } else { - int var1 = -1; // L: 241 - if (this.transformVarbit != -1) { // L: 242 - var1 = Coord.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { // L: 243 - var1 = Varps.Varps_main[this.transformVarp]; - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IIB)I", + garbageValue = "93" + ) + @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; + } + } - if (var1 >= 0 && var1 < this.transforms.length) { // L: 244 - return this.transforms[var1] != -1; // L: 245 - } else { - return this.transforms[this.transforms.length - 1] != -1; - } - } - } + return var3; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "2117097592" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var4 = this.params; // L: 250 - int var3; - if (var4 == null) { // L: 252 - var3 = var2; // L: 253 - } else { - IntegerNode var5 = (IntegerNode)var4.get((long)var1); // L: 256 - if (var5 == null) { // L: 257 - var3 = var2; // L: 258 - } else { - var3 = var5.integer; // L: 261 - } - } - - return var3; // L: 263 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1136396836" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; // L: 268 - String var3; - if (var4 == null) { // L: 270 - var3 = var2; // L: 271 - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); // L: 274 - if (var5 == null) { // L: 275 - var3 = var2; // L: 276 - } else { - var3 = (String)var5.obj; // L: 279 - } - } - - return var3; // L: 281 - } - - @ObfuscatedName("kt") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1068618315" - ) - static final void method4759(int var0) { - if (class41.loadInterface(var0)) { // L: 10591 - Skeleton.drawModelComponents(class9.Widget_interfaceComponents[var0], -1); // L: 10592 - } - } // L: 10593 + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;B)Ljava/lang/String;", + garbageValue = "2" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class69.method1258(this.params, var1, var2); + } } diff --git a/runescape-client/src/main/java/NanoClock.java b/runescape-client/src/main/java/NanoClock.java index 3ab8fb4195..d2a7c80b35 100644 --- a/runescape-client/src/main/java/NanoClock.java +++ b/runescape-client/src/main/java/NanoClock.java @@ -4,55 +4,51 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fb") +@ObfuscatedName("fx") @Implements("NanoClock") public class NanoClock extends Clock { - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = 4167164667386910969L - ) - @Export("lastTimeNano") - long lastTimeNano; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = 7306161736253436303L + ) + @Export("lastTimeNano") + long lastTimeNano = System.nanoTime(); - public NanoClock() { - this.lastTimeNano = System.nanoTime(); // L: 10 - } // L: 11 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "46" + ) + @Export("mark") + public void mark() { + this.lastTimeNano = System.nanoTime(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2095078818" - ) - @Export("mark") - public void mark() { - this.lastTimeNano = System.nanoTime(); // L: 14 - } // L: 15 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1861957348" + ) + @Export("wait") + public int wait(int var1, int var2) { + long var3 = (long)var2 * 1000000L; + long var5 = this.lastTimeNano - System.nanoTime(); + if (var5 < var3) { + var5 = var3; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-680717242" - ) - @Export("wait") - public int wait(int var1, int var2) { - long var3 = 1000000L * (long)var2; // L: 18 - long var5 = this.lastTimeNano - System.nanoTime(); // L: 19 - if (var5 < var3) { // L: 20 - var5 = var3; - } + ApproximateRouteStrategy.sleepExact(var5 / 1000000L); + long var7 = System.nanoTime(); - class236.sleepExact(var5 / 1000000L); // L: 21 - long var7 = System.nanoTime(); // L: 22 + int var9; + for(var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += 1000000L * (long)var1) { + ++var9; + } - int var9; - for (var9 = 0; var9 < 10 && (var9 < 1 || this.lastTimeNano < var7); this.lastTimeNano += (long)var1 * 1000000L) { // L: 23 24 26 - ++var9; // L: 25 - } + if (this.lastTimeNano < var7) { + this.lastTimeNano = var7; + } - if (this.lastTimeNano < var7) { // L: 28 - this.lastTimeNano = var7; - } - - return var9; // L: 29 - } + return var9; + } } diff --git a/runescape-client/src/main/java/NetCache.java b/runescape-client/src/main/java/NetCache.java index fdddfe8bda..6d2ed525ca 100644 --- a/runescape-client/src/main/java/NetCache.java +++ b/runescape-client/src/main/java/NetCache.java @@ -5,154 +5,118 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("im") +@ObfuscatedName("ii") @Implements("NetCache") public class NetCache { - @ObfuscatedName("se") - @ObfuscatedGetter( - intValue = 761250751 - ) - @Export("foundItemIndex") - static int foundItemIndex; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Llr;" - ) - @Export("NetCache_socket") - public static AbstractSocket NetCache_socket; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 964305567 - ) - @Export("NetCache_loadTime") - public static int NetCache_loadTime; - @ObfuscatedName("x") - @ObfuscatedGetter( - longValue = 3297605902831572423L - ) - public static long field3195; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("NetCache_pendingPriorityWrites") - public static NodeHashTable NetCache_pendingPriorityWrites; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1897511423 - ) - @Export("NetCache_pendingPriorityWritesCount") - public static int NetCache_pendingPriorityWritesCount; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("NetCache_pendingPriorityResponses") - public static NodeHashTable NetCache_pendingPriorityResponses; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -732248525 - ) - @Export("NetCache_pendingPriorityResponsesCount") - public static int NetCache_pendingPriorityResponsesCount; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lji;" - ) - @Export("NetCache_pendingWritesQueue") - public static DualNodeDeque NetCache_pendingWritesQueue; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("NetCache_pendingWrites") - public static NodeHashTable NetCache_pendingWrites; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -513904171 - ) - @Export("NetCache_pendingWritesCount") - public static int NetCache_pendingWritesCount; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("NetCache_pendingResponses") - public static NodeHashTable NetCache_pendingResponses; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -370784475 - ) - @Export("NetCache_pendingResponsesCount") - public static int NetCache_pendingResponsesCount; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lia;" - ) - @Export("NetCache_currentResponse") - public static NetFileRequest NetCache_currentResponse; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - @Export("NetCache_responseHeaderBuffer") - public static Buffer NetCache_responseHeaderBuffer; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -602672523 - ) - public static int field3207; - @ObfuscatedName("y") - @Export("NetCache_crc") - public static CRC32 NetCache_crc; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "[Lil;" - ) - @Export("NetCache_archives") - public static Archive[] NetCache_archives; - @ObfuscatedName("g") - public static byte field3210; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1412570605 - ) - @Export("NetCache_crcMismatches") - public static int NetCache_crcMismatches; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1701913817 - ) - @Export("NetCache_ioExceptions") - public static int NetCache_ioExceptions; - - static { - NetCache_loadTime = 0; // L: 13 - NetCache_pendingPriorityWrites = new NodeHashTable(4096); // L: 15 - NetCache_pendingPriorityWritesCount = 0; // L: 16 - NetCache_pendingPriorityResponses = new NodeHashTable(32); // L: 17 - NetCache_pendingPriorityResponsesCount = 0; // L: 18 - NetCache_pendingWritesQueue = new DualNodeDeque(); // L: 19 - NetCache_pendingWrites = new NodeHashTable(4096); // L: 20 - NetCache_pendingWritesCount = 0; // L: 21 - NetCache_pendingResponses = new NodeHashTable(4096); // L: 22 - NetCache_pendingResponsesCount = 0; // L: 23 - NetCache_responseHeaderBuffer = new Buffer(8); // L: 26 - field3207 = 0; // L: 28 - NetCache_crc = new CRC32(); // L: 30 - NetCache_archives = new Archive[256]; // L: 32 - field3210 = 0; // L: 33 - NetCache_crcMismatches = 0; // L: 34 - NetCache_ioExceptions = 0; // L: 35 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(CB)Z", - garbageValue = "-111" - ) - @Export("isCharAlphabetic") - public static boolean isCharAlphabetic(char var0) { - return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; // L: 147 - } + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 2069303121 + ) + @Export("NetCache_loadTime") + public static int NetCache_loadTime = 0; + @ObfuscatedName("d") + @ObfuscatedGetter( + longValue = 5972391004989116827L + ) + public static long field3222; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("NetCache_pendingPriorityWrites") + public static NodeHashTable NetCache_pendingPriorityWrites = new NodeHashTable(4096); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1443113315 + ) + @Export("NetCache_pendingPriorityWritesCount") + public static int NetCache_pendingPriorityWritesCount = 0; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("NetCache_pendingPriorityResponses") + public static NodeHashTable NetCache_pendingPriorityResponses = new NodeHashTable(32); + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1708401617 + ) + @Export("NetCache_pendingPriorityResponsesCount") + public static int NetCache_pendingPriorityResponsesCount = 0; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Ljd;" + ) + @Export("NetCache_pendingWritesQueue") + public static DualNodeDeque NetCache_pendingWritesQueue = new DualNodeDeque(); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("NetCache_pendingWrites") + public static NodeHashTable NetCache_pendingWrites = new NodeHashTable(4096); + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -767239881 + ) + @Export("NetCache_pendingWritesCount") + public static int NetCache_pendingWritesCount = 0; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("NetCache_pendingResponses") + public static NodeHashTable NetCache_pendingResponses = new NodeHashTable(4096); + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -462830745 + ) + @Export("NetCache_pendingResponsesCount") + public static int NetCache_pendingResponsesCount = 0; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + @Export("NetCache_responseHeaderBuffer") + public static Buffer NetCache_responseHeaderBuffer = new Buffer(8); + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + @Export("NetCache_responseArchiveBuffer") + public static Buffer NetCache_responseArchiveBuffer; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 1342919903 + ) + public static int field3219 = 0; + @ObfuscatedName("g") + @Export("NetCache_crc") + public static CRC32 NetCache_crc = new CRC32(); + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "[Liy;" + ) + @Export("NetCache_archives") + public static Archive[] NetCache_archives = new Archive[256]; + @ObfuscatedName("p") + public static byte field3213 = 0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 26880845 + ) + @Export("NetCache_crcMismatches") + public static int NetCache_crcMismatches = 0; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 953608549 + ) + @Export("NetCache_ioExceptions") + public static int NetCache_ioExceptions = 0; + @ObfuscatedName("gz") + @ObfuscatedGetter( + intValue = -128407789 + ) + @Export("baseY") + static int baseY; } diff --git a/runescape-client/src/main/java/NetFileRequest.java b/runescape-client/src/main/java/NetFileRequest.java index 32b6a55632..bebf288d9f 100644 --- a/runescape-client/src/main/java/NetFileRequest.java +++ b/runescape-client/src/main/java/NetFileRequest.java @@ -4,65 +4,22 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ia") +@ObfuscatedName("ip") @Implements("NetFileRequest") public class NetFileRequest extends DualNode { - @ObfuscatedName("eu") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive20") - static Archive archive20; - @ObfuscatedName("gc") - @ObfuscatedGetter( - intValue = 2065438809 - ) - @Export("baseX") - static int baseX; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive") - public Archive archive; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -257937565 - ) - @Export("crc") - public int crc; - @ObfuscatedName("x") - @Export("padding") - public byte padding; - - NetFileRequest() { - } // L: 10 - - @ObfuscatedName("kw") - @ObfuscatedSignature( - descriptor = "(IIII)Lbt;", - garbageValue = "102160869" - ) - static final InterfaceParent method4189(int var0, int var1, int var2) { - InterfaceParent var3 = new InterfaceParent(); // L: 10798 - var3.group = var1; // L: 10799 - var3.type = var2; // L: 10800 - Client.interfaceParents.put(var3, (long)var0); // L: 10801 - class304.Widget_resetModelFrames(var1); // L: 10802 - Widget var4 = CollisionMap.getWidget(var0); // L: 10803 - CollisionMap.invalidateWidget(var4); // L: 10804 - if (Client.meslayerContinueWidget != null) { // L: 10805 - CollisionMap.invalidateWidget(Client.meslayerContinueWidget); // L: 10806 - Client.meslayerContinueWidget = null; // L: 10807 - } - - WorldMapData_1.method767(); // L: 10809 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var0 >> 16], var4, false); // L: 10810 - VarpDefinition.runWidgetOnLoadListener(var1); // L: 10811 - if (Client.rootInterface != -1) { // L: 10812 - WorldMapRectangle.runIntfCloseListeners(Client.rootInterface, 1); - } - - return var3; // L: 10813 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive") + public Archive archive; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -319627239 + ) + @Export("crc") + public int crc; + @ObfuscatedName("d") + @Export("padding") + public byte padding; } diff --git a/runescape-client/src/main/java/NetSocket.java b/runescape-client/src/main/java/NetSocket.java index c872bafa17..ea3889bb8e 100644 --- a/runescape-client/src/main/java/NetSocket.java +++ b/runescape-client/src/main/java/NetSocket.java @@ -9,423 +9,305 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fw") +@ObfuscatedName("fr") @Implements("NetSocket") public final class NetSocket extends AbstractSocket implements Runnable { - @ObfuscatedName("h") - @Export("inputStream") - InputStream inputStream; - @ObfuscatedName("v") - @Export("outputStream") - OutputStream outputStream; - @ObfuscatedName("x") - @Export("socket") - Socket socket; - @ObfuscatedName("w") - @Export("isClosed") - boolean isClosed; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lfa;" - ) - @Export("taskHandler") - TaskHandler taskHandler; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("task") - Task task; - @ObfuscatedName("n") - @Export("outBuffer") - byte[] outBuffer; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1457420997 - ) - @Export("outLength") - int outLength; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 976468503 - ) - @Export("outOffset") - int outOffset; - @ObfuscatedName("z") - @Export("exceptionWriting") - boolean exceptionWriting; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 464417007 - ) - @Export("bufferLength") - final int bufferLength; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1893306917 - ) - @Export("maxPacketLength") - final int maxPacketLength; + @ObfuscatedName("fy") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("socketTask") + static Task socketTask; + @ObfuscatedName("n") + @Export("inputStream") + InputStream inputStream; + @ObfuscatedName("v") + @Export("outputStream") + OutputStream outputStream; + @ObfuscatedName("d") + @Export("socket") + Socket socket; + @ObfuscatedName("c") + @Export("isClosed") + boolean isClosed = false; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lfu;" + ) + @Export("taskHandler") + TaskHandler taskHandler; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("task") + Task task; + @ObfuscatedName("z") + @Export("outBuffer") + byte[] outBuffer; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -80175503 + ) + @Export("outLength") + int outLength = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -502445773 + ) + @Export("outOffset") + int outOffset = 0; + @ObfuscatedName("l") + @Export("exceptionWriting") + boolean exceptionWriting = false; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1447892009 + ) + @Export("bufferLength") + final int bufferLength; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -1889811971 + ) + @Export("maxPacketLength") + final int maxPacketLength; - @ObfuscatedSignature( - descriptor = "(Ljava/net/Socket;Lfa;I)V" - ) - public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { - this.isClosed = false; - this.outLength = 0; // L: 20 - this.outOffset = 0; - this.exceptionWriting = false; - this.taskHandler = var2; // L: 28 - this.socket = var1; - this.bufferLength = var3; // L: 30 - this.maxPacketLength = var3 - 100; // L: 31 - this.socket.setSoTimeout(30000); // L: 32 - this.socket.setTcpNoDelay(true); // L: 33 - this.socket.setReceiveBufferSize(65536); // L: 34 - this.socket.setSendBufferSize(65536); // L: 35 - this.inputStream = this.socket.getInputStream(); // L: 36 - this.outputStream = this.socket.getOutputStream(); // L: 37 - } // L: 38 + @ObfuscatedSignature( + descriptor = "(Ljava/net/Socket;Lfu;I)V" + ) + public NetSocket(Socket var1, TaskHandler var2, int var3) throws IOException { + this.taskHandler = var2; + this.socket = var1; + this.bufferLength = var3; + this.maxPacketLength = var3 - 100; + this.socket.setSoTimeout(30000); + this.socket.setTcpNoDelay(true); + this.socket.setReceiveBufferSize(65536); + this.socket.setSendBufferSize(65536); + this.inputStream = this.socket.getInputStream(); + this.outputStream = this.socket.getOutputStream(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-10" - ) - @Export("close") - public void close() { - if (!this.isClosed) { // L: 41 - synchronized(this) { // L: 42 - this.isClosed = true; // L: 43 - this.notifyAll(); // L: 44 - } // L: 45 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "136255387" + ) + @Export("close") + public void close() { + if (!this.isClosed) { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } - if (this.task != null) { // L: 46 - while (this.task.status == 0) { // L: 47 - class236.sleepExact(1L); // L: 48 - } + if (this.task != null) { + while(this.task.status == 0) { + ApproximateRouteStrategy.sleepExact(1L); + } - if (this.task.status == 1) { // L: 50 - try { - ((Thread)this.task.result).join(); // L: 52 - } catch (InterruptedException var3) { // L: 54 - } - } - } + if (this.task.status == 1) { + try { + ((Thread)this.task.result).join(); + } catch (InterruptedException var3) { + ; + } + } + } - this.task = null; // L: 57 - } - } // L: 58 + this.task = null; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "0" - ) - @Export("readUnsignedByte") - public int readUnsignedByte() throws IOException { - return this.isClosed ? 0 : this.inputStream.read(); // L: 65 66 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-29" + ) + @Export("readUnsignedByte") + public int readUnsignedByte() throws IOException { + return this.isClosed ? 0 : this.inputStream.read(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1974658106" - ) - @Export("available") - public int available() throws IOException { - return this.isClosed ? 0 : this.inputStream.available(); // L: 70 71 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + @Export("available") + public int available() throws IOException { + return this.isClosed ? 0 : this.inputStream.available(); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)Z", - garbageValue = "-7" - ) - @Export("isAvailable") - public boolean isAvailable(int var1) throws IOException { - if (this.isClosed) { // L: 75 - return false; - } else { - return this.inputStream.available() >= var1; // L: 76 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1621767276" + ) + @Export("isAvailable") + public boolean isAvailable(int var1) throws IOException { + if (this.isClosed) { + return false; + } else { + return this.inputStream.available() >= var1; + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "([BIIB)I", - garbageValue = "98" - ) - @Export("read") - public int read(byte[] var1, int var2, int var3) throws IOException { - if (this.isClosed) { // L: 80 - return 0; - } else { - int var4; - int var5; - for (var4 = var3; var3 > 0; var3 -= var5) { // L: 81 82 86 - var5 = this.inputStream.read(var1, var2, var3); // L: 83 - if (var5 <= 0) { // L: 84 - throw new EOFException(); - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BIIB)I", + garbageValue = "-127" + ) + @Export("read") + public int read(byte[] var1, int var2, int var3) throws IOException { + if (this.isClosed) { + return 0; + } else { + int var4; + int var5; + for(var4 = var3; var3 > 0; var3 -= var5) { + var5 = this.inputStream.read(var1, var2, var3); + if (var5 <= 0) { + throw new EOFException(); + } - var2 += var5; // L: 85 - } + var2 += var5; + } - return var4; // L: 88 - } - } + return var4; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "2119529681" - ) - @Export("write0") - void write0(byte[] var1, int var2, int var3) throws IOException { - if (!this.isClosed) { // L: 92 - if (this.exceptionWriting) { // L: 93 - this.exceptionWriting = false; // L: 94 - throw new IOException(); // L: 95 - } else { - if (this.outBuffer == null) { // L: 97 - this.outBuffer = new byte[this.bufferLength]; - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "-2045267371" + ) + @Export("write0") + void write0(byte[] var1, int var2, int var3) throws IOException { + if (!this.isClosed) { + if (this.exceptionWriting) { + this.exceptionWriting = false; + throw new IOException(); + } else { + if (this.outBuffer == null) { + this.outBuffer = new byte[this.bufferLength]; + } - synchronized(this) { // L: 98 - for (int var5 = 0; var5 < var3; ++var5) { // L: 99 - this.outBuffer[this.outOffset] = var1[var5 + var2]; // L: 100 - this.outOffset = (this.outOffset + 1) % this.bufferLength; // L: 101 - if ((this.maxPacketLength + this.outLength) % this.bufferLength == this.outOffset) { // L: 102 - throw new IOException(); // L: 103 - } - } + synchronized(this) { + for(int var5 = 0; var5 < var3; ++var5) { + this.outBuffer[this.outOffset] = var1[var5 + var2]; + this.outOffset = (this.outOffset + 1) % this.bufferLength; + if ((this.maxPacketLength + this.outLength) % this.bufferLength == this.outOffset) { + throw new IOException(); + } + } - if (this.task == null) { // L: 106 - this.task = this.taskHandler.newThreadTask(this, 3); // L: 107 - } + if (this.task == null) { + this.task = this.taskHandler.newThreadTask(this, 3); + } - this.notifyAll(); // L: 109 - } - } - } - } // L: 111 + this.notifyAll(); + } + } + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "-2028715299" - ) - @Export("write") - public void write(byte[] var1, int var2, int var3) throws IOException { - this.write0(var1, var2, var3); // L: 160 - } // L: 161 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIII)V", + garbageValue = "1032488862" + ) + @Export("write") + public void write(byte[] var1, int var2, int var3) throws IOException { + this.write0(var1, var2, var3); + } - public void run() { - try { - while (true) { - label84: { - int var1; - int var2; - synchronized(this) { // L: 118 - if (this.outLength == this.outOffset) { // L: 119 - if (this.isClosed) { // L: 120 - break label84; - } + protected void finalize() { + this.close(); + } - try { - this.wait(); // L: 122 - } catch (InterruptedException var10) { // L: 124 - } - } + public void run() { + try { + while(true) { + label84: { + int var1; + int var2; + synchronized(this) { + if (this.outOffset == this.outLength) { + if (this.isClosed) { + break label84; + } - var2 = this.outLength; // L: 126 - if (this.outOffset >= this.outLength) { // L: 127 - var1 = this.outOffset - this.outLength; - } else { - var1 = this.bufferLength - this.outLength; // L: 128 - } - } + try { + this.wait(); + } catch (InterruptedException var10) { + ; + } + } - if (var1 <= 0) { // L: 130 - 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); // L: 132 - } catch (IOException var9) { // L: 134 - this.exceptionWriting = true; // L: 135 - } + if (var1 <= 0) { + continue; + } - this.outLength = (var1 + this.outLength) % this.bufferLength; // L: 137 + try { + this.outputStream.write(this.outBuffer, var2, var1); + } catch (IOException var9) { + this.exceptionWriting = true; + } - try { - if (this.outOffset == this.outLength) { // L: 139 - this.outputStream.flush(); - } - } catch (IOException var8) { // L: 141 - this.exceptionWriting = true; // L: 142 - } - continue; - } + this.outLength = (var1 + this.outLength) % this.bufferLength; - try { - if (this.inputStream != null) { // L: 147 - this.inputStream.close(); - } + try { + if (this.outLength == this.outOffset) { + this.outputStream.flush(); + } + } catch (IOException var8) { + this.exceptionWriting = true; + } + continue; + } - if (this.outputStream != null) { // L: 148 - this.outputStream.close(); - } + try { + if (this.inputStream != null) { + this.inputStream.close(); + } - if (this.socket != null) { // L: 149 - this.socket.close(); - } - } catch (IOException var7) { // L: 151 - } + if (this.outputStream != null) { + this.outputStream.close(); + } - this.outBuffer = null; // L: 152 - break; - } - } catch (Exception var12) { // L: 154 - PlayerComposition.RunException_sendStackTrace((String)null, var12); // L: 155 - } + if (this.socket != null) { + this.socket.close(); + } + } catch (IOException var7) { + ; + } - } // L: 157 + this.outBuffer = null; + break; + } + } catch (Exception var12) { + SequenceDefinition.RunException_sendStackTrace((String)null, var12); + } - protected void finalize() { - this.close(); // L: 61 - } // L: 62 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;Lla;I)Lla;", - garbageValue = "-1038873122" - ) - @Export("readStringIntParameters") - static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { - int var2 = var0.readUnsignedByte(); // L: 16 - int var3; - if (var1 == null) { // L: 17 - var3 = World.method1870(var2); // L: 18 - var1 = new IterableNodeHashTable(var3); // L: 19 - } - - for (var3 = 0; var3 < var2; ++var3) { // L: 21 - boolean var4 = var0.readUnsignedByte() == 1; // L: 22 - int var5 = var0.readMedium(); // L: 23 - Object var6; - if (var4) { - var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); // L: 25 - } else { - var6 = new IntegerNode(var0.readInt()); // L: 26 - } - - var1.put((Node)var6, (long)var5); // L: 27 - } - - return var1; // L: 29 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Llj;", - garbageValue = "8" - ) - @Export("FillMode_values") - public static WidgetFillMode[] FillMode_values() { - return new WidgetFillMode[]{WidgetFillMode.field3897, WidgetFillMode.field3898, WidgetFillMode.SOLID}; // L: 15 - } - - @ObfuscatedName("gh") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "327738104" - ) - static final void method3608() { - if (GameObject.Client_plane != Client.field874) { // L: 3735 - Client.field874 = GameObject.Client_plane; // L: 3736 - int var0 = GameObject.Client_plane; // L: 3737 - int[] var1 = class25.sceneMinimapSprite.pixels; // L: 3739 - int var2 = var1.length; // L: 3740 - - int var3; - for (var3 = 0; var3 < var2; ++var3) { // L: 3741 - var1[var3] = 0; - } - - int var4; - int var5; - for (var3 = 1; var3 < 103; ++var3) { // L: 3742 - var4 = (103 - var3) * 2048 + 24628; // L: 3743 - - for (var5 = 1; var5 < 103; ++var5) { // L: 3744 - if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { // L: 3745 - ArchiveLoader.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { - ArchiveLoader.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); // L: 3746 - } - - var4 += 4; // L: 3747 - } - } - - var3 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); // L: 3750 - var4 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; // L: 3751 - class25.sceneMinimapSprite.setRaster(); // L: 3752 - - int var6; - for (var5 = 1; var5 < 103; ++var5) { // L: 3753 - for (var6 = 1; var6 < 103; ++var6) { // L: 3754 - if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { // L: 3755 - class1.drawObject(var0, var6, var5, var3, var4); - } - - if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { // L: 3756 - class1.drawObject(var0 + 1, var6, var5, var3, var4); - } - } - } - - Client.mapIconCount = 0; // L: 3759 - - for (var5 = 0; var5 < 104; ++var5) { // L: 3760 - for (var6 = 0; var6 < 104; ++var6) { // L: 3761 - long var7 = ArchiveLoader.scene.getFloorDecorationTag(GameObject.Client_plane, var5, var6); // L: 3762 - if (0L != var7) { // L: 3763 - int var9 = Occluder.Entity_unpackID(var7); // L: 3764 - int var10 = WorldMapDecoration.getObjectDefinition(var9).mapIconId; // L: 3765 - if (var10 >= 0 && UserComparator10.WorldMapElement_get(var10).field3263) { // L: 3766 3767 - Client.mapIcons[Client.mapIconCount] = UserComparator10.WorldMapElement_get(var10).getSpriteBool(false); // L: 3770 - Client.mapIconXs[Client.mapIconCount] = var5; // L: 3771 - Client.mapIconYs[Client.mapIconCount] = var6; // L: 3772 - ++Client.mapIconCount; // L: 3773 - } - } - } - } - - WorldMapIcon_0.rasterProvider.apply(); // L: 3778 - } - - } // L: 3781 - - @ObfuscatedName("hc") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-60" - ) - static int method3587(int var0, int var1) { - int var2 = var1 - 334; // L: 5287 - if (var2 < 0) { // L: 5288 - var2 = 0; - } else if (var2 > 100) { // L: 5289 - var2 = 100; - } - - int var3 = (Client.zoomWidth - Client.zoomHeight) * var2 / 100 + Client.zoomHeight; // L: 5290 - return var0 * var3 / 256; // L: 5291 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "-3619" + ) + static final void method3748() { + class300.method5473("You can't add yourself to your own ignore list"); + } } diff --git a/runescape-client/src/main/java/Node.java b/runescape-client/src/main/java/Node.java index 8e502d4fd6..6424b787af 100644 --- a/runescape-client/src/main/java/Node.java +++ b/runescape-client/src/main/java/Node.java @@ -3,39 +3,39 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gu") +@ObfuscatedName("ga") @Implements("Node") public class Node { - @ObfuscatedName("cu") - @Export("key") - public long key; - @ObfuscatedName("ct") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("previous") - public Node previous; - @ObfuscatedName("ck") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("next") - public Node next; + @ObfuscatedName("cm") + @Export("key") + public long key; + @ObfuscatedName("cc") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("previous") + public Node previous; + @ObfuscatedName("co") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("next") + public Node next; - @ObfuscatedName("fg") - @Export("remove") - public void remove() { - if (this.next != null) { // L: 9 - this.next.previous = this.previous; // L: 10 - this.previous.next = this.next; // L: 11 - this.previous = null; // L: 12 - this.next = null; // L: 13 - } - } // L: 14 + @ObfuscatedName("ea") + @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; + } + } - @ObfuscatedName("fd") - @Export("hasNext") - public boolean hasNext() { - return this.next != null; // L: 17 - } + @ObfuscatedName("eu") + @Export("hasNext") + public boolean hasNext() { + return this.next != null; + } } diff --git a/runescape-client/src/main/java/NodeDeque.java b/runescape-client/src/main/java/NodeDeque.java index 3d48568869..16c02537aa 100644 --- a/runescape-client/src/main/java/NodeDeque.java +++ b/runescape-client/src/main/java/NodeDeque.java @@ -3,181 +3,180 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jp") +@ObfuscatedName("ji") @Implements("NodeDeque") public class NodeDeque { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("sentinel") - public Node sentinel; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("current") - Node current; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("sentinel") + public Node sentinel = new Node(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("current") + Node current; - public NodeDeque() { - this.sentinel = new Node(); // L: 6 - this.sentinel.previous = this.sentinel; // L: 10 - this.sentinel.next = this.sentinel; // L: 11 - } // L: 12 + public NodeDeque() { + this.sentinel.previous = this.sentinel; + this.sentinel.next = this.sentinel; + } - @ObfuscatedName("h") - @Export("clear") - public void clear() { - while (true) { - Node var1 = this.sentinel.previous; // L: 16 - if (var1 == this.sentinel) { // L: 17 - this.current = null; // L: 20 - return; // L: 21 - } + @ObfuscatedName("n") + @Export("clear") + public void clear() { + while(true) { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return; + } - var1.remove(); // L: 18 - } - } + var1.remove(); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgu;)V" - ) - @Export("addFirst") - public void addFirst(Node var1) { - if (var1.next != null) { // L: 24 - var1.remove(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lga;)V" + ) + @Export("addFirst") + public void addFirst(Node var1) { + if (var1.next != null) { + var1.remove(); + } - var1.next = this.sentinel.next; // L: 25 - var1.previous = this.sentinel; // L: 26 - var1.next.previous = var1; // L: 27 - var1.previous.next = var1; // L: 28 - } // L: 29 + var1.next = this.sentinel.next; + var1.previous = this.sentinel; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lgu;)V" - ) - @Export("addLast") - public void addLast(Node var1) { - if (var1.next != null) { // L: 32 - var1.remove(); - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lga;)V" + ) + @Export("addLast") + public void addLast(Node var1) { + if (var1.next != null) { + var1.remove(); + } - var1.next = this.sentinel; // L: 33 - var1.previous = this.sentinel.previous; // L: 34 - var1.next.previous = var1; // L: 35 - var1.previous.next = var1; // L: 36 - } // L: 37 + var1.next = this.sentinel; + var1.previous = this.sentinel.previous; + var1.next.previous = var1; + var1.previous.next = var1; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("removeLast") - public Node removeLast() { - Node var1 = this.sentinel.previous; // L: 48 - if (var1 == this.sentinel) { - return null; // L: 49 - } else { - var1.remove(); // L: 50 - return var1; // L: 51 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("removeLast") + public Node removeLast() { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + return null; + } else { + var1.remove(); + return var1; + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("removeFirst") - public Node removeFirst() { - Node var1 = this.sentinel.next; // L: 55 - if (var1 == this.sentinel) { - return null; // L: 56 - } else { - var1.remove(); // L: 57 - return var1; // L: 58 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("removeFirst") + public Node removeFirst() { + Node var1 = this.sentinel.next; + if (var1 == this.sentinel) { + return null; + } else { + var1.remove(); + return var1; + } + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("last") - public Node last() { - Node var1 = this.sentinel.previous; // L: 62 - if (var1 == this.sentinel) { // L: 63 - this.current = null; // L: 64 - return null; // L: 65 - } else { - this.current = var1.previous; // L: 67 - return var1; // L: 68 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("last") + public Node last() { + Node var1 = this.sentinel.previous; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("first") - public Node first() { - Node var1 = this.sentinel.next; // L: 72 - if (var1 == this.sentinel) { // L: 73 - this.current = null; // L: 74 - return null; // L: 75 - } else { - this.current = var1.next; // L: 77 - return var1; // L: 78 - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("first") + public Node first() { + Node var1 = this.sentinel.next; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.next; + return var1; + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("previous") - public Node previous() { - Node var1 = this.current; // L: 82 - if (var1 == this.sentinel) { // L: 83 - this.current = null; // L: 84 - return null; // L: 85 - } else { - this.current = var1.previous; // L: 87 - return var1; // L: 88 - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("previous") + public Node previous() { + Node var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.previous; + return var1; + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("next") - public Node next() { - Node var1 = this.current; // L: 92 - if (var1 == this.sentinel) { // L: 93 - this.current = null; // L: 94 - return null; // L: 95 - } else { - this.current = var1.next; // L: 97 - return var1; // L: 98 - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("next") + public Node next() { + Node var1 = this.current; + if (var1 == this.sentinel) { + this.current = null; + return null; + } else { + this.current = var1.next; + return var1; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lgu;Lgu;)V" - ) - @Export("NodeDeque_addBefore") - public static void NodeDeque_addBefore(Node var0, Node var1) { - if (var0.next != null) { // L: 40 - var0.remove(); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lga;Lga;)V" + ) + @Export("NodeDeque_addBefore") + public static void NodeDeque_addBefore(Node var0, Node var1) { + if (var0.next != null) { + var0.remove(); + } - var0.next = var1.next; // L: 41 - var0.previous = var1; // L: 42 - var0.next.previous = var0; // L: 43 - var0.previous.next = var0; // L: 44 - } // L: 45 + var0.next = var1.next; + var0.previous = var1; + var0.next.previous = var0; + var0.previous.next = var0; + } } diff --git a/runescape-client/src/main/java/NodeHashTable.java b/runescape-client/src/main/java/NodeHashTable.java index eb0cce46ce..613aaf4c4d 100644 --- a/runescape-client/src/main/java/NodeHashTable.java +++ b/runescape-client/src/main/java/NodeHashTable.java @@ -3,117 +3,116 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ls") +@ObfuscatedName("lq") @Implements("NodeHashTable") public final class NodeHashTable { - @ObfuscatedName("h") - @Export("size") - int size; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Lgu;" - ) - @Export("buckets") - Node[] buckets; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("currentGet") - Node currentGet; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgu;" - ) - @Export("current") - Node current; - @ObfuscatedName("t") - @Export("index") - int index; + @ObfuscatedName("n") + @Export("size") + int size; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Lga;" + ) + @Export("buckets") + Node[] buckets; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("currentGet") + Node currentGet; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lga;" + ) + @Export("current") + Node current; + @ObfuscatedName("y") + @Export("index") + int index = 0; - public NodeHashTable(int var1) { - this.index = 0; // L: 10 - this.size = var1; // L: 13 - this.buckets = new Node[var1]; // L: 14 + public NodeHashTable(int var1) { + this.size = var1; + this.buckets = new Node[var1]; - for (int var2 = 0; var2 < var1; ++var2) { // L: 15 - Node var3 = this.buckets[var2] = new Node(); // L: 16 - var3.previous = var3; // L: 17 - var3.next = var3; // L: 18 - } + for(int var2 = 0; var2 < var1; ++var2) { + Node var3 = this.buckets[var2] = new Node(); + var3.previous = var3; + var3.next = var3; + } - } // L: 20 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(J)Lgu;" - ) - @Export("get") - public Node get(long var1) { - Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; // L: 23 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(J)Lga;" + ) + @Export("get") + public Node get(long var1) { + Node var3 = this.buckets[(int)(var1 & (long)(this.size - 1))]; - for (this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { // L: 24 25 31 - if (this.currentGet.key == var1) { // L: 26 - Node var4 = this.currentGet; // L: 27 - this.currentGet = this.currentGet.previous; // L: 28 - return var4; // L: 29 - } - } + for(this.currentGet = var3.previous; var3 != this.currentGet; this.currentGet = this.currentGet.previous) { + if (this.currentGet.key == var1) { + Node var4 = this.currentGet; + this.currentGet = this.currentGet.previous; + return var4; + } + } - this.currentGet = null; // L: 33 - return null; // L: 34 - } + this.currentGet = null; + return null; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lgu;J)V" - ) - @Export("put") - public void put(Node var1, long var2) { - if (var1.next != null) { // L: 38 - var1.remove(); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lga;J)V" + ) + @Export("put") + public void put(Node var1, long var2) { + if (var1.next != null) { + var1.remove(); + } - Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; // L: 39 - var1.next = var4.next; // L: 40 - var1.previous = var4; // L: 41 - var1.next.previous = var1; // L: 42 - var1.previous.next = var1; // L: 43 - var1.key = var2; // L: 44 - } // L: 45 + Node var4 = this.buckets[(int)(var2 & (long)(this.size - 1))]; + var1.next = var4.next; + var1.previous = var4; + var1.next.previous = var1; + var1.previous.next = var1; + var1.key = var2; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("first") - public Node first() { - this.index = 0; // L: 48 - return this.next(); // L: 49 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("first") + public Node first() { + this.index = 0; + return this.next(); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "()Lgu;" - ) - @Export("next") - public Node next() { - Node var1; - if (this.index > 0 && this.buckets[this.index - 1] != this.current) { // L: 53 - var1 = this.current; // L: 54 - this.current = var1.previous; // L: 55 - return var1; // L: 56 - } else { - do { - if (this.index >= this.size) { // L: 58 - return null; // L: 65 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "()Lga;" + ) + @Export("next") + public Node next() { + Node var1; + if (this.index > 0 && this.buckets[this.index - 1] != this.current) { + var1 = this.current; + this.current = var1.previous; + return var1; + } else { + do { + if (this.index >= this.size) { + return null; + } - var1 = this.buckets[this.index++].previous; // L: 59 - } while(var1 == this.buckets[this.index - 1]); // L: 60 + var1 = this.buckets[this.index++].previous; + } while(var1 == this.buckets[this.index - 1]); - this.current = var1.previous; // L: 61 - return var1; // L: 62 - } - } + this.current = var1.previous; + return var1; + } + } } diff --git a/runescape-client/src/main/java/ObjectComposition.java b/runescape-client/src/main/java/ObjectComposition.java index c4f4028c87..b490f64a14 100644 --- a/runescape-client/src/main/java/ObjectComposition.java +++ b/runescape-client/src/main/java/ObjectComposition.java @@ -4,965 +4,946 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jm") +@ObfuscatedName("jg") @Implements("ObjectComposition") public class ObjectComposition extends DualNode { - @ObfuscatedName("h") - @Export("ObjectDefinition_isLowDetail") - public static boolean ObjectDefinition_isLowDetail; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("ObjectDefinition_archive") - public static AbstractArchive ObjectDefinition_archive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("ObjectDefinition_modelsArchive") - public static AbstractArchive ObjectDefinition_modelsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ObjectDefinition_cached") - public static EvictingDualNodeHashTable ObjectDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ObjectDefinition_cachedModelData") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ObjectDefinition_cachedEntities") - public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ObjectDefinition_cachedModels") - public static EvictingDualNodeHashTable ObjectDefinition_cachedModels; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "[Les;" - ) - static ModelData[] field3386; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -719556255 - ) - @Export("id") - public int id; - @ObfuscatedName("z") - @Export("modelIds") - int[] modelIds; - @ObfuscatedName("u") - @Export("models") - int[] models; - @ObfuscatedName("e") - @Export("name") - public String name; - @ObfuscatedName("m") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("c") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("i") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("f") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1884883837 - ) - @Export("sizeX") - public int sizeX; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1224864347 - ) - @Export("sizeY") - public int sizeY; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 2044365805 - ) - @Export("interactType") - public int interactType; - @ObfuscatedName("r") - @Export("boolean1") - public boolean boolean1; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -769318345 - ) - @Export("int1") - public int int1; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1480722935 - ) - @Export("clipType") - int clipType; - @ObfuscatedName("s") - @Export("nonFlatShading") - boolean nonFlatShading; - @ObfuscatedName("o") - @Export("modelClipped") - public boolean modelClipped; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -780408595 - ) - @Export("animationId") - public int animationId; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = -518941775 - ) - @Export("int2") - public int int2; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -1748919543 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 885999181 - ) - @Export("contrast") - int contrast; - @ObfuscatedName("ax") - @Export("actions") - public String[] actions; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -608967805 - ) - @Export("mapIconId") - public int mapIconId; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 696114967 - ) - @Export("mapSceneId") - public int mapSceneId; - @ObfuscatedName("as") - @Export("isRotated") - boolean isRotated; - @ObfuscatedName("ae") - @Export("clipped") - public boolean clipped; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -1812292835 - ) - @Export("modelSizeX") - int modelSizeX; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -1253539583 - ) - @Export("modelHeight") - int modelHeight; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 572246447 - ) - @Export("modelSizeY") - int modelSizeY; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 1976263041 - ) - @Export("offsetX") - int offsetX; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 1166185667 - ) - @Export("offsetHeight") - int offsetHeight; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -1393853851 - ) - @Export("offsetY") - int offsetY; - @ObfuscatedName("aa") - @Export("boolean2") - public boolean boolean2; - @ObfuscatedName("ao") - @Export("isSolid") - boolean isSolid; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -819592679 - ) - @Export("int3") - public int int3; - @ObfuscatedName("aw") - @Export("transforms") - public int[] transforms; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -1488066183 - ) - @Export("transformVarbit") - int transformVarbit; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = 1558225089 - ) - @Export("transformVarp") - int transformVarp; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = -1815763753 - ) - @Export("ambientSoundId") - public int ambientSoundId; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = 872359031 - ) - @Export("int4") - public int int4; - @ObfuscatedName("ay") - @ObfuscatedGetter( - intValue = -1122049857 - ) - @Export("int5") - public int int5; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 677102575 - ) - @Export("int6") - public int int6; - @ObfuscatedName("ar") - @Export("soundEffectIds") - public int[] soundEffectIds; - @ObfuscatedName("az") - public boolean field3429; - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("params") - IterableNodeHashTable params; - - static { - ObjectDefinition_isLowDetail = false; // L: 17 - ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); // L: 20 - ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); // L: 21 - ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); // L: 22 - ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); // L: 23 - field3386 = new ModelData[4]; // L: 24 - } - - ObjectComposition() { - this.name = "null"; - this.sizeX = 1; - this.sizeY = 1; - this.interactType = 2; // L: 35 - this.boolean1 = true; // L: 36 - this.int1 = -1; // L: 37 - this.clipType = -1; - this.nonFlatShading = false; - this.modelClipped = false; - this.animationId = -1; - this.int2 = 16; // L: 42 - this.ambient = 0; // L: 43 - this.contrast = 0; - this.actions = new String[5]; // L: 45 - this.mapIconId = -1; // L: 46 - this.mapSceneId = -1; // L: 47 - this.isRotated = false; // L: 48 - this.clipped = true; // L: 49 - this.modelSizeX = 128; // L: 50 - this.modelHeight = 128; // L: 51 - this.modelSizeY = 128; // L: 52 - this.offsetX = 0; // L: 53 - this.offsetHeight = 0; // L: 54 - this.offsetY = 0; // L: 55 - this.boolean2 = false; // L: 56 - this.isSolid = false; // L: 57 - this.int3 = -1; // L: 58 - this.transformVarbit = -1; // L: 60 - this.transformVarp = -1; // L: 61 - this.ambientSoundId = -1; // L: 62 - this.int4 = 0; // L: 63 - this.int5 = 0; // L: 64 - this.int6 = 0; // L: 65 - this.field3429 = true; // L: 67 - } // L: 70 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-883040110" - ) - @Export("postDecode") - void postDecode() { - if (this.int1 == -1) { // L: 89 - this.int1 = 0; // L: 90 - if (this.modelIds != null && (this.models == null || this.models[0] == 10)) { // L: 91 - this.int1 = 1; - } - - for (int var1 = 0; var1 < 5; ++var1) { // L: 92 - if (this.actions[var1] != null) { - this.int1 = 1; - } - } - } - - if (this.int3 == -1) { // L: 94 - this.int3 = this.interactType != 0 ? 1 : 0; - } - - } // L: 95 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "2" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 99 - if (var2 == 0) { // L: 100 - return; // L: 103 - } - - this.decodeNext(var1, var2); // L: 101 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "1322137078" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { // L: 106 - var3 = var1.readUnsignedByte(); // L: 107 - if (var3 > 0) { // L: 108 - if (this.modelIds != null && !ObjectDefinition_isLowDetail) { // L: 109 - var1.offset += 3 * var3; // L: 117 - } else { - this.models = new int[var3]; // L: 110 - this.modelIds = new int[var3]; // L: 111 - - for (var4 = 0; var4 < var3; ++var4) { // L: 112 - this.modelIds[var4] = var1.readUnsignedShort(); // L: 113 - this.models[var4] = var1.readUnsignedByte(); // L: 114 - } - } - } - } else if (var2 == 2) { // L: 120 - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 5) { // L: 121 - var3 = var1.readUnsignedByte(); // L: 122 - if (var3 > 0) { // L: 123 - if (this.modelIds != null && !ObjectDefinition_isLowDetail) { // L: 124 - var1.offset += 2 * var3; // L: 129 - } else { - this.models = null; // L: 125 - this.modelIds = new int[var3]; // L: 126 - - for (var4 = 0; var4 < var3; ++var4) { // L: 127 - this.modelIds[var4] = var1.readUnsignedShort(); - } - } - } - } else if (var2 == 14) { // L: 132 - this.sizeX = var1.readUnsignedByte(); - } else if (var2 == 15) { // L: 133 - this.sizeY = var1.readUnsignedByte(); - } else if (var2 == 17) { // L: 134 - this.interactType = 0; // L: 135 - this.boolean1 = false; // L: 136 - } else if (var2 == 18) { // L: 138 - this.boolean1 = false; - } else if (var2 == 19) { // L: 139 - this.int1 = var1.readUnsignedByte(); - } else if (var2 == 21) { // L: 140 - this.clipType = 0; - } else if (var2 == 22) { // L: 141 - this.nonFlatShading = true; - } else if (var2 == 23) { // L: 142 - this.modelClipped = true; - } else if (var2 == 24) { // L: 143 - this.animationId = var1.readUnsignedShort(); // L: 144 - if (this.animationId == 65535) { // L: 145 - this.animationId = -1; - } - } else if (var2 == 27) { // L: 147 - this.interactType = 1; - } else if (var2 == 28) { // L: 148 - this.int2 = var1.readUnsignedByte(); - } else if (var2 == 29) { // L: 149 - this.ambient = var1.readByte(); - } else if (var2 == 39) { // L: 150 - this.contrast = var1.readByte() * 25; - } else if (var2 >= 30 && var2 < 35) { // L: 151 - this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); // L: 152 - if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { // L: 153 - this.actions[var2 - 30] = null; - } - } else if (var2 == 40) { // L: 155 - var3 = var1.readUnsignedByte(); // L: 156 - this.recolorFrom = new short[var3]; // L: 157 - this.recolorTo = new short[var3]; // L: 158 - - for (var4 = 0; var4 < var3; ++var4) { // L: 159 - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); // L: 160 - this.recolorTo[var4] = (short)var1.readUnsignedShort(); // L: 161 - } - } else if (var2 == 41) { // L: 164 - var3 = var1.readUnsignedByte(); // L: 165 - this.retextureFrom = new short[var3]; // L: 166 - this.retextureTo = new short[var3]; // L: 167 - - for (var4 = 0; var4 < var3; ++var4) { // L: 168 - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); // L: 169 - this.retextureTo[var4] = (short)var1.readUnsignedShort(); // L: 170 - } - } else if (var2 == 62) { // L: 173 - this.isRotated = true; - } else if (var2 == 64) { // L: 174 - this.clipped = false; - } else if (var2 == 65) { // L: 175 - this.modelSizeX = var1.readUnsignedShort(); - } else if (var2 == 66) { // L: 176 - this.modelHeight = var1.readUnsignedShort(); - } else if (var2 == 67) { // L: 177 - this.modelSizeY = var1.readUnsignedShort(); - } else if (var2 == 68) { // L: 178 - this.mapSceneId = var1.readUnsignedShort(); - } else if (var2 == 69) { // L: 179 - var1.readUnsignedByte(); // L: 180 - } else if (var2 == 70) { // L: 182 - this.offsetX = var1.readShort(); - } else if (var2 == 71) { // L: 183 - this.offsetHeight = var1.readShort(); - } else if (var2 == 72) { // L: 184 - this.offsetY = var1.readShort(); - } else if (var2 == 73) { // L: 185 - this.boolean2 = true; - } else if (var2 == 74) { // L: 186 - this.isSolid = true; - } else if (var2 == 75) { // L: 187 - this.int3 = var1.readUnsignedByte(); - } else if (var2 != 77 && var2 != 92) { // L: 188 - if (var2 == 78) { // L: 206 - this.ambientSoundId = var1.readUnsignedShort(); // L: 207 - this.int4 = var1.readUnsignedByte(); // L: 208 - } else if (var2 == 79) { // L: 210 - this.int5 = var1.readUnsignedShort(); // L: 211 - this.int6 = var1.readUnsignedShort(); // L: 212 - this.int4 = var1.readUnsignedByte(); // L: 213 - var3 = var1.readUnsignedByte(); // L: 214 - this.soundEffectIds = new int[var3]; // L: 215 - - for (var4 = 0; var4 < var3; ++var4) { // L: 216 - this.soundEffectIds[var4] = var1.readUnsignedShort(); - } - } else if (var2 == 81) { // L: 218 - this.clipType = var1.readUnsignedByte() * 256; - } else if (var2 == 82) { // L: 219 - this.mapIconId = var1.readUnsignedShort(); - } else if (var2 == 89) { // L: 220 - this.field3429 = false; - } else if (var2 == 249) { // L: 221 - this.params = NetSocket.readStringIntParameters(var1, this.params); - } - } else { - this.transformVarbit = var1.readUnsignedShort(); // L: 189 - if (this.transformVarbit == 65535) { // L: 190 - this.transformVarbit = -1; - } - - this.transformVarp = var1.readUnsignedShort(); // L: 191 - if (this.transformVarp == 65535) { // L: 192 - this.transformVarp = -1; - } - - var3 = -1; // L: 193 - if (var2 == 92) { // L: 194 - var3 = var1.readUnsignedShort(); // L: 195 - if (var3 == 65535) { // L: 196 - var3 = -1; - } - } - - var4 = var1.readUnsignedByte(); // L: 198 - this.transforms = new int[var4 + 2]; // L: 199 - - for (int var5 = 0; var5 <= var4; ++var5) { // L: 200 - this.transforms[var5] = var1.readUnsignedShort(); // L: 201 - if (this.transforms[var5] == 65535) { // L: 202 - this.transforms[var5] = -1; - } - } - - this.transforms[var4 + 1] = var3; // L: 204 - } - - } // L: 223 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "1705283608" - ) - public final boolean method4614(int var1) { - if (this.models != null) { // L: 226 - for (int var4 = 0; var4 < this.models.length; ++var4) { // L: 236 - if (this.models[var4] == var1) { // L: 237 - return ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var4] & 65535, 0); - } - } - - return true; // L: 239 - } else if (this.modelIds == null) { // L: 227 - return true; - } else if (var1 != 10) { // L: 228 - return true; - } else { - boolean var2 = true; // L: 229 - - for (int var3 = 0; var3 < this.modelIds.length; ++var3) { // L: 230 - var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & 65535, 0); // L: 231 - } - - return var2; // L: 233 - } - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-851923890" - ) - @Export("needsModelFiles") - public final boolean needsModelFiles() { - if (this.modelIds == null) { // L: 244 - return true; - } else { - boolean var1 = true; // L: 245 - - for (int var2 = 0; var2 < this.modelIds.length; ++var2) { // L: 246 - var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & 65535, 0); // L: 247 - } - - return var1; // L: 249 - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II[[IIIIS)Ler;", - garbageValue = "-18803" - ) - @Export("getEntity") - public final Renderable getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.models == null) { // L: 254 - var7 = (long)(var2 + (this.id << 10)); - } else { - var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); // L: 255 - } - - Object var9 = (Renderable)ObjectDefinition_cachedEntities.get(var7); // L: 256 - if (var9 == null) { // L: 257 - ModelData var10 = this.getModelData(var1, var2); // L: 258 - if (var10 == null) { // L: 259 - return null; - } - - if (!this.nonFlatShading) { // L: 260 - var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); - } else { - var10.ambient = (short)(this.ambient + 64); // L: 262 - var10.contrast = (short)(this.contrast + 768); // L: 263 - var10.calculateVertexNormals(); // L: 264 - var9 = var10; // L: 265 - } - - ObjectDefinition_cachedEntities.put((DualNode)var9, var7); // L: 267 - } - - if (this.nonFlatShading) { // L: 269 - var9 = ((ModelData)var9).method2857(); // L: 270 - } - - if (this.clipType >= 0) { // L: 272 - if (var9 instanceof Model) { // L: 273 - var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType); - } else if (var9 instanceof ModelData) { - var9 = ((ModelData)var9).method2858(var3, var4, var5, var6, true, this.clipType); // L: 274 - } - } - - return (Renderable)var9; // L: 276 - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(II[[IIIII)Leh;", - garbageValue = "-1672761222" - ) - @Export("getModel") - public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { - long var7; - if (this.models == null) { // L: 281 - var7 = (long)(var2 + (this.id << 10)); - } else { - var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); // L: 282 - } - - Model var9 = (Model)ObjectDefinition_cachedModels.get(var7); // L: 283 - if (var9 == null) { // L: 284 - ModelData var10 = this.getModelData(var1, var2); // L: 285 - if (var10 == null) { // L: 286 - return null; - } - - var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); // L: 287 - ObjectDefinition_cachedModels.put(var9, var7); // L: 288 - } - - if (this.clipType >= 0) { - var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType); // L: 290 - } - - return var9; // L: 291 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(II[[IIIILjy;II)Leh;", - garbageValue = "-1432537935" - ) - @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.models == null) { // L: 296 - var9 = (long)(var2 + (this.id << 10)); - } else { - var9 = (long)(var2 + (var1 << 3) + (this.id << 10)); // L: 297 - } - - Model var11 = (Model)ObjectDefinition_cachedModels.get(var9); // L: 298 - if (var11 == null) { // L: 299 - ModelData var12 = this.getModelData(var1, var2); // L: 300 - if (var12 == null) { // L: 301 - return null; - } - - var11 = var12.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); // L: 302 - ObjectDefinition_cachedModels.put(var11, var9); // L: 303 - } - - if (var7 == null && this.clipType == -1) { // L: 305 - return var11; - } else { - if (var7 != null) { // L: 306 - var11 = var7.transformObjectModel(var11, var8, var2); - } else { - var11 = var11.toSharedSequenceModel(true); // L: 307 - } - - if (this.clipType >= 0) { // L: 308 - var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType); - } - - return var11; // L: 309 - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(III)Les;", - garbageValue = "2119637200" - ) - @Export("getModelData") - final ModelData getModelData(int var1, int var2) { - ModelData var3 = null; // L: 313 - boolean var4; - int var5; - int var7; - if (this.models == null) { // L: 314 - if (var1 != 10) { // L: 315 - return null; - } - - if (this.modelIds == null) { // L: 316 - return null; - } - - var4 = this.isRotated; // L: 317 - if (var1 == 2 && var2 > 3) { // L: 318 - var4 = !var4; - } - - var5 = this.modelIds.length; // L: 319 - - for (int var6 = 0; var6 < var5; ++var6) { // L: 320 - var7 = this.modelIds[var6]; // L: 321 - if (var4) { // L: 322 - var7 += 65536; - } - - var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); // L: 323 - if (var3 == null) { // L: 324 - var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & 65535, 0); // L: 325 - if (var3 == null) { // L: 326 - return null; - } - - if (var4) { // L: 327 - var3.method2867(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var7); // L: 328 - } - - if (var5 > 1) { // L: 330 - field3386[var6] = var3; - } - } - - if (var5 > 1) { // L: 332 - var3 = new ModelData(field3386, var5); - } - } else { - int var9 = -1; // L: 335 - - for (var5 = 0; var5 < this.models.length; ++var5) { // L: 336 - if (this.models[var5] == var1) { // L: 337 - var9 = var5; // L: 338 - break; - } - } - - if (var9 == -1) { // L: 342 - return null; - } - - var5 = this.modelIds[var9]; // L: 343 - boolean var10 = this.isRotated ^ var2 > 3; // L: 344 - if (var10) { // L: 345 - var5 += 65536; - } - - var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); // L: 346 - if (var3 == null) { // L: 347 - var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & 65535, 0); // L: 348 - if (var3 == null) { // L: 349 - return null; - } - - if (var10) { // L: 350 - var3.method2867(); - } - - ObjectDefinition_cachedModelData.put(var3, (long)var5); // L: 351 - } - } - - if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) { // L: 355 - var4 = false; // L: 356 - } else { - var4 = true; - } - - boolean var11; - if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) { // L: 358 - var11 = false; // L: 359 - } else { - var11 = true; - } - - ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, null == this.recolorFrom, this.retextureFrom == null, true); // L: 360 - if (var1 == 4 && var2 > 3) { // L: 361 - var8.method2871(256); // L: 362 - var8.changeOffset(45, 0, -45); // L: 363 - } - - var2 &= 3; // L: 365 - if (var2 == 1) { // L: 366 - var8.method2860(); - } else if (var2 == 2) { // L: 367 - var8.method2896(); - } else if (var2 == 3) { // L: 368 - var8.method2863(); - } - - if (this.recolorFrom != null) { // L: 369 - for (var7 = 0; var7 < this.recolorFrom.length; ++var7) { // L: 370 - var8.recolor(this.recolorFrom[var7], this.recolorTo[var7]); // L: 371 - } - } - - if (this.retextureFrom != null) { // L: 374 - for (var7 = 0; var7 < this.retextureFrom.length; ++var7) { // L: 375 - var8.retexture(this.retextureFrom[var7], this.retextureTo[var7]); // L: 376 - } - } - - if (var4) { // L: 379 - var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY); - } - - if (var11) { // L: 380 - var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY); - } - - return var8; // L: 381 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Ljm;", - garbageValue = "2135439243" - ) - @Export("transform") - public final ObjectComposition transform() { - int var1 = -1; // L: 385 - if (this.transformVarbit != -1) { // L: 386 - var1 = Coord.getVarbit(this.transformVarbit); - } else if (this.transformVarp != -1) { // L: 387 - var1 = Varps.Varps_main[this.transformVarp]; - } - - int var2; - if (var1 >= 0 && var1 < this.transforms.length - 1) { // L: 389 - var2 = this.transforms[var1]; // L: 390 - } else { - var2 = this.transforms[this.transforms.length - 1]; - } - - return var2 != -1 ? WorldMapDecoration.getObjectDefinition(var2) : null; // L: 391 392 - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "-50" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var4 = this.params; // L: 397 - int var3; - if (var4 == null) { // L: 399 - var3 = var2; // L: 400 - } else { - IntegerNode var5 = (IntegerNode)var4.get((long)var1); // L: 403 - if (var5 == null) { // L: 404 - var3 = var2; // L: 405 - } else { - var3 = var5.integer; // L: 408 - } - } - - return var3; // L: 410 - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "2059045293" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; // L: 415 - String var3; - if (var4 == null) { // L: 417 - var3 = var2; // L: 418 - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); // L: 421 - if (var5 == null) { // L: 422 - var3 = var2; // L: 423 - } else { - var3 = (String)var5.obj; // L: 426 - } - } - - return var3; // L: 428 - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-2120899422" - ) - @Export("hasSound") - public boolean hasSound() { - if (this.transforms == null) { // L: 432 - return this.ambientSoundId != -1 || this.soundEffectIds != null; - } else { - for (int var1 = 0; var1 < this.transforms.length; ++var1) { // L: 433 - if (this.transforms[var1] != -1) { // L: 434 - ObjectComposition var2 = WorldMapDecoration.getObjectDefinition(this.transforms[var1]); // L: 435 - if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) { // L: 436 - return true; - } - } - } - - return false; // L: 439 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "1234402449" - ) - static final boolean method4657(char var0) { - if (Character.isISOControl(var0)) { // L: 28 - return false; - } else if (FriendLoginUpdate.isAlphaNumeric(var0)) { // L: 29 - return true; - } else { - char[] var1 = class349.field4077; // L: 31 - - int var2; - char var3; - for (var2 = 0; var2 < var1.length; ++var2) { // L: 32 - var3 = var1[var2]; // L: 33 - if (var0 == var3) { // L: 34 - return true; - } - } - - var1 = class349.field4079; // L: 38 - - for (var2 = 0; var2 < var1.length; ++var2) { // L: 39 - var3 = var1[var2]; // L: 40 - if (var0 == var3) { - return true; // L: 41 - } - } - - return false; // L: 44 - } - } + @ObfuscatedName("n") + @Export("ObjectDefinition_isLowDetail") + static boolean ObjectDefinition_isLowDetail = false; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("ObjectDefinition_archive") + static AbstractArchive ObjectDefinition_archive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("ObjectDefinition_modelsArchive") + static AbstractArchive ObjectDefinition_modelsArchive; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ObjectDefinition_cached") + public static EvictingDualNodeHashTable ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ObjectDefinition_cachedModelData") + public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ObjectDefinition_cachedEntities") + public static EvictingDualNodeHashTable ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ObjectDefinition_cachedModels") + public static EvictingDualNodeHashTable ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "[Lek;" + ) + static ModelData[] field3410 = new ModelData[4]; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -448703229 + ) + @Export("id") + public int id; + @ObfuscatedName("l") + @Export("modelIds") + int[] modelIds; + @ObfuscatedName("s") + @Export("models") + int[] models; + @ObfuscatedName("b") + @Export("name") + public String name = "null"; + @ObfuscatedName("a") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("w") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("k") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("i") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 298630257 + ) + @Export("sizeX") + public int sizeX = 1; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1328331405 + ) + @Export("sizeY") + public int sizeY = 1; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 270471379 + ) + @Export("interactType") + public int interactType = 2; + @ObfuscatedName("u") + @Export("boolean1") + public boolean boolean1 = true; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 49633811 + ) + @Export("int1") + public int int1 = -1; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 1668805195 + ) + @Export("clipType") + int clipType = -1; + @ObfuscatedName("m") + @Export("nonFlatShading") + boolean nonFlatShading = false; + @ObfuscatedName("r") + @Export("modelClipped") + public boolean modelClipped = false; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 581638001 + ) + @Export("animationId") + public int animationId = -1; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -211640911 + ) + @Export("int2") + public int int2 = 16; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 453955421 + ) + @Export("ambient") + int ambient = 0; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = -1979235761 + ) + @Export("contrast") + int contrast = 0; + @ObfuscatedName("ag") + @Export("actions") + public String[] actions = new String[5]; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = 2137777107 + ) + @Export("mapIconId") + public int mapIconId = -1; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = 59768053 + ) + @Export("mapSceneId") + public int mapSceneId = -1; + @ObfuscatedName("aq") + @Export("isRotated") + boolean isRotated = false; + @ObfuscatedName("at") + @Export("clipped") + public boolean clipped = true; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1499464739 + ) + @Export("modelSizeX") + int modelSizeX = 128; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -561367673 + ) + @Export("modelHeight") + int modelHeight = 128; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 1882279433 + ) + @Export("modelSizeY") + int modelSizeY = 128; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 1934528115 + ) + @Export("offsetX") + int offsetX = 0; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 1408363841 + ) + @Export("offsetHeight") + int offsetHeight = 0; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = 1403538025 + ) + @Export("offsetY") + int offsetY = 0; + @ObfuscatedName("aw") + @Export("boolean2") + public boolean boolean2 = false; + @ObfuscatedName("az") + @Export("isSolid") + boolean isSolid = false; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = -1437084271 + ) + @Export("int3") + public int int3 = -1; + @ObfuscatedName("ap") + @Export("transforms") + public int[] transforms; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = -351065157 + ) + @Export("transformVarbit") + int transformVarbit = -1; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 759778209 + ) + @Export("transformVarp") + int transformVarp = -1; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = 411474029 + ) + @Export("ambientSoundId") + public int ambientSoundId = -1; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = 968058385 + ) + @Export("int4") + public int int4 = 0; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 693369209 + ) + @Export("int5") + public int int5 = 0; + @ObfuscatedName("ad") + @ObfuscatedGetter( + intValue = 1791348031 + ) + @Export("int6") + public int int6 = 0; + @ObfuscatedName("af") + @Export("soundEffectIds") + public int[] soundEffectIds; + @ObfuscatedName("av") + public boolean field3429 = true; + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("params") + IterableNodeHashTable params; + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-80" + ) + @Export("postDecode") + void postDecode() { + if (this.int1 == -1) { + this.int1 = 0; + if (this.modelIds != null && (this.models == null || this.models[0] == 10)) { + this.int1 = 1; + } + + for(int var1 = 0; var1 < 5; ++var1) { + if (this.actions[var1] != null) { + this.int1 = 1; + } + } + } + + if (this.int3 == -1) { + this.int3 = this.interactType != 0 ? 1 : 0; + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "0" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "504124934" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.modelIds != null && !ObjectDefinition_isLowDetail) { + var1.offset += 3 * var3; + } else { + this.models = new int[var3]; + this.modelIds = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); + this.models[var4] = var1.readUnsignedByte(); + } + } + } + } else if (var2 == 2) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 5) { + var3 = var1.readUnsignedByte(); + if (var3 > 0) { + if (this.modelIds != null && !ObjectDefinition_isLowDetail) { + var1.offset += var3 * 2; + } else { + this.models = null; + this.modelIds = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.modelIds[var4] = var1.readUnsignedShort(); + } + } + } + } else if (var2 == 14) { + this.sizeX = var1.readUnsignedByte(); + } else if (var2 == 15) { + this.sizeY = var1.readUnsignedByte(); + } else if (var2 == 17) { + this.interactType = 0; + this.boolean1 = false; + } else if (var2 == 18) { + this.boolean1 = false; + } else if (var2 == 19) { + this.int1 = var1.readUnsignedByte(); + } else if (var2 == 21) { + this.clipType = 0; + } else if (var2 == 22) { + this.nonFlatShading = true; + } else if (var2 == 23) { + this.modelClipped = true; + } else if (var2 == 24) { + this.animationId = var1.readUnsignedShort(); + if (this.animationId == 65535) { + this.animationId = -1; + } + } else if (var2 == 27) { + this.interactType = 1; + } else if (var2 == 28) { + this.int2 = var1.readUnsignedByte(); + } else if (var2 == 29) { + this.ambient = var1.readByte(); + } else if (var2 == 39) { + this.contrast = var1.readByte() * 25; + } else if (var2 >= 30 && var2 < 35) { + this.actions[var2 - 30] = var1.readStringCp1252NullTerminated(); + if (this.actions[var2 - 30].equalsIgnoreCase("Hidden")) { + this.actions[var2 - 30] = null; + } + } 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 == 62) { + this.isRotated = true; + } else if (var2 == 64) { + this.clipped = false; + } else if (var2 == 65) { + this.modelSizeX = var1.readUnsignedShort(); + } else if (var2 == 66) { + this.modelHeight = var1.readUnsignedShort(); + } else if (var2 == 67) { + this.modelSizeY = var1.readUnsignedShort(); + } else if (var2 == 68) { + this.mapSceneId = var1.readUnsignedShort(); + } else if (var2 == 69) { + var1.readUnsignedByte(); + } else if (var2 == 70) { + this.offsetX = var1.readShort(); + } else if (var2 == 71) { + this.offsetHeight = var1.readShort(); + } else if (var2 == 72) { + this.offsetY = var1.readShort(); + } else if (var2 == 73) { + this.boolean2 = true; + } else if (var2 == 74) { + 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() * 256; + } else if (var2 == 82) { + this.mapIconId = var1.readUnsignedShort(); + } else if (var2 == 89) { + this.field3429 = false; + } else if (var2 == 249) { + this.params = TextureProvider.readStringIntParameters(var1, this.params); + } + } else { + this.transformVarbit = var1.readUnsignedShort(); + if (this.transformVarbit == 65535) { + this.transformVarbit = -1; + } + + this.transformVarp = var1.readUnsignedShort(); + if (this.transformVarp == 65535) { + this.transformVarp = -1; + } + + var3 = -1; + if (var2 == 92) { + var3 = var1.readUnsignedShort(); + if (var3 == 65535) { + var3 = -1; + } + } + + var4 = var1.readUnsignedByte(); + this.transforms = new int[var4 + 2]; + + for(int var5 = 0; var5 <= var4; ++var5) { + this.transforms[var5] = var1.readUnsignedShort(); + if (this.transforms[var5] == 65535) { + this.transforms[var5] = -1; + } + } + + this.transforms[var4 + 1] = var3; + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "2131864128" + ) + public final boolean method4806(int var1) { + 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] & '\uffff', 0); + } + } + + return true; + } else if (this.modelIds == null) { + return true; + } else if (var1 != 10) { + return true; + } else { + boolean var2 = true; + + for(int var3 = 0; var3 < this.modelIds.length; ++var3) { + var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var3] & '\uffff', 0); + } + + return var2; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "2" + ) + @Export("needsModelFiles") + public final boolean needsModelFiles() { + if (this.modelIds == null) { + return true; + } else { + boolean var1 = true; + + for(int var2 = 0; var2 < this.modelIds.length; ++var2) { + var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.modelIds[var2] & '\uffff', 0); + } + + return var1; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(II[[IIIII)Lem;", + garbageValue = "2086147511" + ) + @Export("getEntity") + public final Renderable getEntity(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.models == null) { + var7 = (long)(var2 + (this.id << 10)); + } else { + var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Object var9 = (Renderable)ObjectDefinition_cachedEntities.get(var7); + if (var9 == null) { + ModelData var10 = this.getModelData(var1, var2); + if (var10 == null) { + return null; + } + + if (!this.nonFlatShading) { + var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + } else { + var10.ambient = (short)(this.ambient + 64); + var10.contrast = (short)(this.contrast + 768); + var10.calculateVertexNormals(); + var9 = var10; + } + + ObjectDefinition_cachedEntities.put((DualNode)var9, var7); + } + + if (this.nonFlatShading) { + var9 = ((ModelData)var9).method2945(); + } + + if (this.clipType * 65536 >= 0) { + if (var9 instanceof Model) { + var9 = ((Model)var9).contourGround(var3, var4, var5, var6, true, this.clipType * 65536); + } else if (var9 instanceof ModelData) { + var9 = ((ModelData)var9).method2946(var3, var4, var5, var6, true, this.clipType * 65536); + } + } + + return (Renderable)var9; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II[[IIIII)Lef;", + garbageValue = "-1813150019" + ) + @Export("getModel") + public final Model getModel(int var1, int var2, int[][] var3, int var4, int var5, int var6) { + long var7; + if (this.models == null) { + var7 = (long)(var2 + (this.id << 10)); + } else { + var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Model var9 = (Model)ObjectDefinition_cachedModels.get(var7); + if (var9 == null) { + ModelData var10 = this.getModelData(var1, var2); + if (var10 == null) { + return null; + } + + var9 = var10.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + ObjectDefinition_cachedModels.put(var9, var7); + } + + if (this.clipType * 65536 >= 0) { + var9 = var9.contourGround(var3, var4, var5, var6, true, this.clipType * 65536); + } + + return var9; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(II[[IIIILjs;II)Lef;", + garbageValue = "1938080829" + ) + @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.models == null) { + var9 = (long)(var2 + (this.id << 10)); + } else { + var9 = (long)(var2 + (var1 << 3) + (this.id << 10)); + } + + Model var11 = (Model)ObjectDefinition_cachedModels.get(var9); + if (var11 == null) { + ModelData var12 = this.getModelData(var1, var2); + if (var12 == null) { + return null; + } + + var11 = var12.toModel(this.ambient + 64, this.contrast + 768, -50, -10, -50); + ObjectDefinition_cachedModels.put(var11, var9); + } + + if (var7 == null && this.clipType * 65536 == -1) { + return var11; + } else { + if (var7 != null) { + var11 = var7.transformObjectModel(var11, var8, var2); + } else { + var11 = var11.toSharedSequenceModel(true); + } + + if (this.clipType * 65536 >= 0) { + var11 = var11.contourGround(var3, var4, var5, var6, false, this.clipType * 65536); + } + + return var11; + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(III)Lek;", + garbageValue = "-1880429080" + ) + @Export("getModelData") + final ModelData getModelData(int var1, int var2) { + ModelData var3 = null; + boolean var4; + int var5; + int var7; + if (this.models == null) { + if (var1 != 10) { + return null; + } + + if (this.modelIds == null) { + return null; + } + + var4 = this.isRotated; + if (var1 == 2 && var2 > 3) { + var4 = !var4; + } + + var5 = this.modelIds.length; + + for(int var6 = 0; var6 < var5; ++var6) { + var7 = this.modelIds[var6]; + if (var4) { + var7 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var7); + if (var3 == null) { + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var7 & '\uffff', 0); + if (var3 == null) { + return null; + } + + if (var4) { + var3.method2989(); + } + + ObjectDefinition_cachedModelData.put(var3, (long)var7); + } + + if (var5 > 1) { + field3410[var6] = var3; + } + } + + if (var5 > 1) { + var3 = new ModelData(field3410, var5); + } + } else { + int var9 = -1; + + for(var5 = 0; var5 < this.models.length; ++var5) { + if (this.models[var5] == var1) { + var9 = var5; + break; + } + } + + if (var9 == -1) { + return null; + } + + var5 = this.modelIds[var9]; + boolean var10 = this.isRotated ^ var2 > 3; + if (var10) { + var5 += 65536; + } + + var3 = (ModelData)ObjectDefinition_cachedModelData.get((long)var5); + if (var3 == null) { + var3 = ModelData.ModelData_get(ObjectDefinition_modelsArchive, var5 & '\uffff', 0); + if (var3 == null) { + return null; + } + + if (var10) { + var3.method2989(); + } + + ObjectDefinition_cachedModelData.put(var3, (long)var5); + } + } + + if (this.modelSizeX == 128 && this.modelHeight == 128 && this.modelSizeY == 128) { + var4 = false; + } else { + var4 = true; + } + + boolean var11; + if (this.offsetX == 0 && this.offsetHeight == 0 && this.offsetY == 0) { + var11 = false; + } else { + var11 = true; + } + + ModelData var8 = new ModelData(var3, var2 == 0 && !var4 && !var11, this.recolorFrom == null, this.retextureFrom == null, true); + if (var1 == 4 && var2 > 3) { + var8.method2951(256); + var8.changeOffset(45, 0, -45); + } + + var2 &= 3; + if (var2 == 1) { + var8.method2948(); + } else if (var2 == 2) { + var8.method2949(); + } else if (var2 == 3) { + var8.method3006(); + } + + if (this.recolorFrom != null) { + for(var7 = 0; var7 < this.recolorFrom.length; ++var7) { + var8.recolor(this.recolorFrom[var7], this.recolorTo[var7]); + } + } + + if (this.retextureFrom != null) { + for(var7 = 0; var7 < this.retextureFrom.length; ++var7) { + var8.retexture(this.retextureFrom[var7], this.retextureTo[var7]); + } + } + + if (var4) { + var8.resize(this.modelSizeX, this.modelHeight, this.modelSizeY); + } + + if (var11) { + var8.changeOffset(this.offsetX, this.offsetHeight, this.offsetY); + } + + return var8; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)Ljg;", + garbageValue = "-1578474044" + ) + @Export("transform") + public final ObjectComposition transform() { + int var1 = -1; + if (this.transformVarbit != -1) { + var1 = FontName.getVarbit(this.transformVarbit); + } else if (this.transformVarp != -1) { + var1 = Varps.Varps_main[this.transformVarp]; + } + + int var2; + if (var1 >= 0 && var1 < this.transforms.length - 1) { + var2 = this.transforms[var1]; + } else { + var2 = this.transforms[this.transforms.length - 1]; + } + + return var2 != -1 ? WorldMapAreaData.getObjectDefinition(var2) : null; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "495952846" + ) + @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 var3; + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "244944647" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class69.method1258(this.params, var1, var2); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1187773047" + ) + @Export("hasSound") + public boolean hasSound() { + if (this.transforms == null) { + return this.ambientSoundId != -1 || this.soundEffectIds != null; + } else { + for(int var1 = 0; var1 < this.transforms.length; ++var1) { + if (this.transforms[var1] != -1) { + ObjectComposition var2 = WorldMapAreaData.getObjectDefinition(this.transforms[var1]); + if (var2.ambientSoundId != -1 || var2.soundEffectIds != null) { + return true; + } + } + } + + return false; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;II[BII)I", + garbageValue = "-314683087" + ) + @Export("encodeStringCp1252") + public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { + int var5 = var2 - var1; + + for(int var6 = 0; var6 < var5; ++var6) { + char var7 = var0.charAt(var6 + var1); + if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { + var3[var6 + var4] = (byte)var7; + } else if (var7 == 8364) { + var3[var6 + var4] = -128; + } else if (var7 == 8218) { + var3[var6 + var4] = -126; + } else if (var7 == 402) { + var3[var6 + var4] = -125; + } else if (var7 == 8222) { + var3[var6 + var4] = -124; + } else if (var7 == 8230) { + var3[var6 + var4] = -123; + } else if (var7 == 8224) { + var3[var6 + var4] = -122; + } else if (var7 == 8225) { + var3[var6 + var4] = -121; + } else if (var7 == 710) { + var3[var6 + var4] = -120; + } else if (var7 == 8240) { + var3[var6 + var4] = -119; + } else if (var7 == 352) { + var3[var6 + var4] = -118; + } else if (var7 == 8249) { + var3[var6 + var4] = -117; + } else if (var7 == 338) { + var3[var6 + var4] = -116; + } else if (var7 == 381) { + var3[var6 + var4] = -114; + } else if (var7 == 8216) { + var3[var6 + var4] = -111; + } else if (var7 == 8217) { + var3[var6 + var4] = -110; + } else if (var7 == 8220) { + var3[var6 + var4] = -109; + } else if (var7 == 8221) { + var3[var6 + var4] = -108; + } else if (var7 == 8226) { + var3[var6 + var4] = -107; + } else if (var7 == 8211) { + var3[var6 + var4] = -106; + } else if (var7 == 8212) { + var3[var6 + var4] = -105; + } else if (var7 == 732) { + var3[var6 + var4] = -104; + } else if (var7 == 8482) { + var3[var6 + var4] = -103; + } else if (var7 == 353) { + var3[var6 + var4] = -102; + } else if (var7 == 8250) { + var3[var6 + var4] = -101; + } else if (var7 == 339) { + var3[var6 + var4] = -100; + } else if (var7 == 382) { + var3[var6 + var4] = -98; + } else if (var7 == 376) { + var3[var6 + var4] = -97; + } else { + var3[var6 + var4] = 63; + } + } + + return var5; + } } diff --git a/runescape-client/src/main/java/ObjectNode.java b/runescape-client/src/main/java/ObjectNode.java index 65d2048adf..230d4b4434 100644 --- a/runescape-client/src/main/java/ObjectNode.java +++ b/runescape-client/src/main/java/ObjectNode.java @@ -2,14 +2,14 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("gr") +@ObfuscatedName("gf") @Implements("ObjectNode") public class ObjectNode extends Node { - @ObfuscatedName("h") - @Export("obj") - public final Object obj; + @ObfuscatedName("n") + @Export("obj") + public final Object obj; - public ObjectNode(Object var1) { - this.obj = var1; // L: 7 - } // L: 8 + public ObjectNode(Object var1) { + this.obj = var1; + } } diff --git a/runescape-client/src/main/java/ObjectSound.java b/runescape-client/src/main/java/ObjectSound.java index 1a0179a566..7694b12002 100644 --- a/runescape-client/src/main/java/ObjectSound.java +++ b/runescape-client/src/main/java/ObjectSound.java @@ -4,136 +4,175 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cz") +@ObfuscatedName("ck") @Implements("ObjectSound") public final class ObjectSound extends Node { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("objectSounds") - static NodeDeque objectSounds; - @ObfuscatedName("q") - public static String field1077; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1758157691 - ) - @Export("plane") - int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1615552035 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1115826247 - ) - @Export("x") - int x; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -686767343 - ) - int field1073; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 744417563 - ) - int field1078; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 417885395 - ) - int field1086; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 736414323 - ) - @Export("soundEffectId") - int soundEffectId; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Ldj;" - ) - @Export("stream1") - RawPcmStream stream1; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 959647129 - ) - int field1085; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 409516173 - ) - int field1083; - @ObfuscatedName("e") - @Export("soundEffectIds") - int[] soundEffectIds; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1988798929 - ) - int field1081; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Ldj;" - ) - @Export("stream2") - RawPcmStream stream2; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Ljm;" - ) - @Export("obj") - ObjectComposition obj; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("objectSounds") + static NodeDeque objectSounds = new NodeDeque(); + @ObfuscatedName("hb") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("scrollBarSprites") + static IndexedSprite[] scrollBarSprites; + @ObfuscatedName("hv") + @ObfuscatedGetter( + intValue = -1964902031 + ) + @Export("cameraZ") + static int cameraZ; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -2133589173 + ) + @Export("plane") + int plane; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1700481629 + ) + @Export("x") + int x; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 63156075 + ) + @Export("y") + int y; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1427133393 + ) + int field1090; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -125163379 + ) + int field1094; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1800180133 + ) + int field1092; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -334742389 + ) + @Export("soundEffectId") + int soundEffectId; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Ldt;" + ) + @Export("stream1") + RawPcmStream stream1; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -718153563 + ) + int field1095; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1722103043 + ) + int field1096; + @ObfuscatedName("b") + @Export("soundEffectIds") + int[] soundEffectIds; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -603753603 + ) + int field1097; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Ldt;" + ) + @Export("stream2") + RawPcmStream stream2; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Ljg;" + ) + @Export("obj") + ObjectComposition obj; - static { - objectSounds = new NodeDeque(); // L: 11 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "82" + ) + @Export("set") + void set() { + int var1 = this.soundEffectId; + ObjectComposition var2 = this.obj.transform(); + if (var2 != null) { + this.soundEffectId = var2.ambientSoundId; + this.field1092 = var2.int4 * 128; + this.field1095 = var2.int5; + this.field1096 = var2.int6; + this.soundEffectIds = var2.soundEffectIds; + } else { + this.soundEffectId = -1; + this.field1092 = 0; + this.field1095 = 0; + this.field1096 = 0; + this.soundEffectIds = null; + } - ObjectSound() { - } // L: 27 + if (var1 != this.soundEffectId && this.stream1 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(this.stream1); + this.stream1 = null; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "401252200" - ) - @Export("set") - void set() { - int var1 = this.soundEffectId; // L: 30 - ObjectComposition var2 = this.obj.transform(); // L: 31 - if (var2 != null) { // L: 32 - this.soundEffectId = var2.ambientSoundId; // L: 33 - this.field1086 = var2.int4 * 128; // L: 34 - this.field1085 = var2.int5; // L: 35 - this.field1083 = var2.int6; // L: 36 - this.soundEffectIds = var2.soundEffectIds; // L: 37 - } else { - this.soundEffectId = -1; // L: 40 - this.field1086 = 0; // L: 41 - this.field1085 = 0; // L: 42 - this.field1083 = 0; // L: 43 - this.soundEffectIds = null; // L: 44 - } + } - if (var1 != this.soundEffectId && this.stream1 != null) { // L: 46 - WorldMapManager.pcmStreamMixer.removeSubStream(this.stream1); // L: 47 - this.stream1 = null; // L: 48 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)J", + garbageValue = "-293129030" + ) + public static long method2044(int var0) { + return ViewportMouse.ViewportMouse_entityTags[var0]; + } - } // L: 50 + @ObfuscatedName("is") + @ObfuscatedSignature( + descriptor = "([Lhz;IIIZI)V", + garbageValue = "2024248022" + ) + @Export("resizeInterface") + static void resizeInterface(Widget[] var0, int var1, int var2, int var3, boolean var4) { + for(int var5 = 0; var5 < var0.length; ++var5) { + Widget var6 = var0[var5]; + if (var6 != null && var6.parentId == var1) { + WorldMapManager.alignWidgetSize(var6, var2, var3, var4); + ClientPreferences.alignWidgetPosition(var6, var2, var3); + if (var6.scrollX > var6.scrollWidth - var6.width) { + var6.scrollX = var6.scrollWidth - var6.width; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "725701035" - ) - static final int method1993() { - return ViewportMouse.ViewportMouse_x; // L: 99 - } + if (var6.scrollX < 0) { + var6.scrollX = 0; + } + + if (var6.scrollY > var6.scrollHeight - var6.height) { + var6.scrollY = var6.scrollHeight - var6.height; + } + + if (var6.scrollY < 0) { + var6.scrollY = 0; + } + + if (var6.type == 0) { + class182.revalidateWidgetScroll(var0, var6, var4); + } + } + } + + } } diff --git a/runescape-client/src/main/java/Occluder.java b/runescape-client/src/main/java/Occluder.java index 7ffa0de1a6..6184ead0d6 100644 --- a/runescape-client/src/main/java/Occluder.java +++ b/runescape-client/src/main/java/Occluder.java @@ -3,148 +3,488 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ed") +@ObfuscatedName("ea") @Implements("Occluder") public final class Occluder { - @ObfuscatedName("jf") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("hoveredItemContainer") - static Widget hoveredItemContainer; - @ObfuscatedName("lf") - @ObfuscatedGetter( - intValue = 1001038233 - ) - @Export("menuWidth") - static int menuWidth; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -961555273 - ) - @Export("minTileX") - int minTileX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -115587993 - ) - @Export("maxTileX") - int maxTileX; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -2031501137 - ) - @Export("minTileY") - int minTileY; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -2011315243 - ) - @Export("maxTileY") - int maxTileY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1543277097 - ) - @Export("type") - int type; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1717742133 - ) - @Export("minX") - int minX; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -274411845 - ) - @Export("maxX") - int maxX; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -698195239 - ) - @Export("minZ") - int minZ; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1418804225 - ) - @Export("maxZ") - int maxZ; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1159677951 - ) - @Export("minY") - int minY; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 253591851 - ) - @Export("maxY") - int maxY; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1918923367 - ) - int field1921; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1725164325 - ) - int field1925; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1353837759 - ) - int field1923; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1307252971 - ) - int field1924; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -164056125 - ) - int field1929; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 635255003 - ) - int field1926; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -1055944847 - ) - int field1927; + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("worldSelectStars") + static IndexedSprite[] worldSelectStars; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1869642923 + ) + @Export("minTileX") + int minTileX; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1553345215 + ) + @Export("maxTileX") + int maxTileX; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -419916701 + ) + @Export("minTileY") + int minTileY; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 249944423 + ) + @Export("maxTileY") + int maxTileY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1981412121 + ) + @Export("type") + int type; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -552540519 + ) + @Export("minX") + int minX; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -558367511 + ) + @Export("maxX") + int maxX; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 246269295 + ) + @Export("minZ") + int minZ; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 371713265 + ) + @Export("maxZ") + int maxZ; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1905227411 + ) + @Export("minY") + int minY; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1548952897 + ) + @Export("maxY") + int maxY; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -806607637 + ) + int field1918; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -1254231211 + ) + int field1920; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1231922825 + ) + int field1909; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -1302725109 + ) + int field1922; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 634677509 + ) + int field1919; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -321996029 + ) + int field1923; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -1993636743 + ) + int field1924; - Occluder() { - } // L: 23 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Lcq;", + garbageValue = "37280546" + ) + @Export("worldListStart") + static World worldListStart() { + World.World_listCount = 0; + return Player.getNextWorldListWorld(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lig;", - garbageValue = "79" - ) - static class238[] method3377() { - return new class238[]{class238.field3111, class238.field3114}; // L: 35 - } + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "809632906" + ) + static int method3447(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.FRIEND_COUNT) { + if (InterfaceParent.friendSystem.field1084 == 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -2; + } else if (InterfaceParent.friendSystem.field1084 == 1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = InterfaceParent.friendSystem.friendsList.getSize(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1625020333" - ) - public static int method3378() { - return ++MouseHandler.MouseHandler_idleCycles - 1; // L: 59 - } + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.FRIEND_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (InterfaceParent.friendSystem.method1974() && var3 >= 0 && var3 < InterfaceParent.friendSystem.friendsList.getSize()) { + Friend var8 = (Friend)InterfaceParent.friendSystem.friendsList.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getName(); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } - @ObfuscatedName("p") - @Export("Entity_unpackID") - public static int Entity_unpackID(long var0) { - return (int)(var0 >>> 17 & 4294967295L); // L: 77 - } + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (InterfaceParent.friendSystem.method1974() && var3 >= 0 && var3 < InterfaceParent.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)InterfaceParent.friendSystem.friendsList.get(var3)).world; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_GETRANK) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (InterfaceParent.friendSystem.method1974() && var3 >= 0 && var3 < InterfaceParent.friendSystem.friendsList.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)InterfaceParent.friendSystem.friendsList.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + String var5; + if (var0 == ScriptOpcodes.FRIEND_SETRANK) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + int var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + GrandExchangeOfferTotalQuantityComparator.method163(var5, var6); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + InterfaceParent.friendSystem.addFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + InterfaceParent.friendSystem.removeFriend(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_ADD) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + InterfaceParent.friendSystem.addIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_DEL) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + InterfaceParent.friendSystem.removeIgnore(var5); + return 1; + } else if (var0 == ScriptOpcodes.FRIEND_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var5 = Calendar.method4153(var5); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = InterfaceParent.friendSystem.isFriended(new Username(var5, Message.loginType), false) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATDISPLAYNAME) { + if (WorldMapID.clanChat != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapID.clanChat.name; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATCOUNT) { + if (WorldMapID.clanChat != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapID.clanChat.getSize(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize()) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapID.clanChat.get(var3).getUsername().getName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)WorldMapID.clanChat.get(var3)).getWorld(); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERRANK) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ((Buddy)WorldMapID.clanChat.get(var3)).rank; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapID.clanChat != null ? WorldMapID.clanChat.minKick : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_KICKUSER) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + PacketWriter.clanKickUser(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapID.clanChat != null ? WorldMapID.clanChat.rank : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_JOINCHAT) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + VarbitComposition.Clan_joinChat(var5); + return 1; + } else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) { + Canvas.Clan_leaveChat(); + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_COUNT) { + if (!InterfaceParent.friendSystem.method1974()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = InterfaceParent.friendSystem.ignoreList.getSize(); + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_GETNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (InterfaceParent.friendSystem.method1974() && var3 >= 0 && var3 < InterfaceParent.friendSystem.ignoreList.getSize()) { + Ignored var4 = (Ignored)InterfaceParent.friendSystem.ignoreList.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getName(); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousName(); + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.IGNORE_TEST) { + var5 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var5 = Calendar.method4153(var5); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = InterfaceParent.friendSystem.isIgnored(new Username(var5, Message.loginType)) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISSELF) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize() && WorldMapID.clanChat.get(var3).getUsername().equals(UserComparator9.localPlayer.username)) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_GETCHATOWNERNAME) { + if (WorldMapID.clanChat != null && WorldMapID.clanChat.owner != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = WorldMapID.clanChat.owner; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } + + return 1; + } else if (var0 == ScriptOpcodes.CLAN_ISFRIEND) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize() && ((ClanMate)WorldMapID.clanChat.get(var3)).isFriend()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 != ScriptOpcodes.CLAN_ISIGNORE) { + if (var0 == 3628) { + InterfaceParent.friendSystem.friendsList.removeComparator(); + return 1; + } else { + boolean var7; + if (var0 == 3629) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3630) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3631) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator3(var7)); + return 1; + } else if (var0 == 3632) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator4(var7)); + return 1; + } else if (var0 == 3633) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator5(var7)); + return 1; + } else if (var0 == 3634) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator6(var7)); + return 1; + } else if (var0 == 3635) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator7(var7)); + return 1; + } else if (var0 == 3636) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator8(var7)); + return 1; + } else if (var0 == 3637) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator9(var7)); + return 1; + } else if (var0 == 3638) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new UserComparator10(var7)); + return 1; + } else if (var0 == 3639) { + InterfaceParent.friendSystem.friendsList.sort(); + return 1; + } else if (var0 == 3640) { + InterfaceParent.friendSystem.ignoreList.removeComparator(); + return 1; + } else if (var0 == 3641) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.ignoreList.addComparator(new UserComparator1(var7)); + return 1; + } else if (var0 == 3642) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.ignoreList.addComparator(new UserComparator2(var7)); + return 1; + } else if (var0 == 3643) { + InterfaceParent.friendSystem.ignoreList.sort(); + return 1; + } else if (var0 == 3644) { + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.removeComparator(); + } + + return 1; + } else if (var0 == 3645) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator1(var7)); + } + + return 1; + } else if (var0 == 3646) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator2(var7)); + } + + return 1; + } else if (var0 == 3647) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator3(var7)); + } + + return 1; + } else if (var0 == 3648) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator4(var7)); + } + + return 1; + } else if (var0 == 3649) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator5(var7)); + } + + return 1; + } else if (var0 == 3650) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator6(var7)); + } + + return 1; + } else if (var0 == 3651) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator7(var7)); + } + + return 1; + } else if (var0 == 3652) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator8(var7)); + } + + return 1; + } else if (var0 == 3653) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator9(var7)); + } + + return 1; + } else if (var0 == 3654) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new UserComparator10(var7)); + } + + return 1; + } else if (var0 == 3655) { + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.sort(); + } + + return 1; + } else if (var0 == 3656) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + InterfaceParent.friendSystem.friendsList.addComparator(new BuddyRankComparator(var7)); + return 1; + } else if (var0 == 3657) { + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.addComparator(new BuddyRankComparator(var7)); + } + + return 1; + } else { + return 2; + } + } + } else { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (WorldMapID.clanChat != null && var3 < WorldMapID.clanChat.getSize() && ((ClanMate)WorldMapID.clanChat.get(var3)).isIgnored()) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } + } } diff --git a/runescape-client/src/main/java/PacketBuffer.java b/runescape-client/src/main/java/PacketBuffer.java index 449082085b..966460e0fc 100644 --- a/runescape-client/src/main/java/PacketBuffer.java +++ b/runescape-client/src/main/java/PacketBuffer.java @@ -4,157 +4,153 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ky") +@ObfuscatedName("kd") @Implements("PacketBuffer") public class PacketBuffer extends Buffer { - @ObfuscatedName("v") - static final int[] field3747; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lmd;" - ) - @Export("isaacCipher") - IsaacCipher isaacCipher; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -2055902739 - ) - @Export("bitIndex") - int bitIndex; + @ObfuscatedName("v") + static final int[] field3738 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lmw;" + ) + @Export("isaacCipher") + IsaacCipher isaacCipher; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1273165901 + ) + @Export("bitIndex") + int bitIndex; - static { - field3747 = new int[]{0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215, 33554431, 67108863, 134217727, 268435455, 536870911, 1073741823, Integer.MAX_VALUE, -1}; // L: 7 - } + public PacketBuffer(int var1) { + super(var1); + } - public PacketBuffer(int var1) { - super(var1); // L: 11 - } // L: 12 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([II)V", + garbageValue = "-20223224" + ) + @Export("newIsaacCipher") + public void newIsaacCipher(int[] var1) { + this.isaacCipher = new IsaacCipher(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([II)V", - garbageValue = "-1781705436" - ) - @Export("newIsaacCipher") - public void newIsaacCipher(int[] var1) { - this.isaacCipher = new IsaacCipher(var1); // L: 15 - } // L: 16 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lmw;B)V", + garbageValue = "-10" + ) + @Export("setIsaacCipher") + public void setIsaacCipher(IsaacCipher var1) { + this.isaacCipher = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lmd;B)V", - garbageValue = "-50" - ) - @Export("setIsaacCipher") - public void setIsaacCipher(IsaacCipher var1) { - this.isaacCipher = var1; // L: 19 - } // L: 20 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IS)V", + garbageValue = "31106" + ) + @Export("writeByteIsaac") + public void writeByteIsaac(int var1) { + super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "781650330" - ) - @Export("writeByteIsaac") - public void writeByteIsaac(int var1) { - super.array[++super.offset - 1] = (byte)(var1 + this.isaacCipher.nextInt()); // L: 23 - } // L: 24 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "150314526" + ) + @Export("readByteIsaac") + public int readByteIsaac() { + return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-2007530678" - ) - @Export("readByteIsaac") - public int readByteIsaac() { - return super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; // L: 27 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1479248666" + ) + public boolean method5634() { + int var1 = super.array[super.offset] - this.isaacCipher.method6474() & 255; + return var1 >= 128; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1524437372" - ) - public boolean method5491() { - int var1 = super.array[super.offset] - this.isaacCipher.method6307() & 255; // L: 31 - return var1 >= 128; // L: 32 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "726838641" + ) + @Export("readSmartByteShortIsaac") + public int readSmartByteShortIsaac() { + int var1 = super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; + return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "1" - ) - @Export("readSmartByteShortIsaac") - public int readSmartByteShortIsaac() { - int var1 = super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255; // L: 37 - return var1 < 128 ? var1 : (var1 - 128 << 8) + (super.array[++super.offset - 1] - this.isaacCipher.nextInt() & 255); // L: 38 39 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIIS)V", + garbageValue = "-3177" + ) + public void method5642(byte[] var1, int var2, int var3) { + for(int var4 = 0; var4 < var3; ++var4) { + var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt()); + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIII)V", - garbageValue = "1348771898" - ) - public void method5493(byte[] var1, int var2, int var3) { - for (int var4 = 0; var4 < var3; ++var4) { // L: 43 - var1[var4 + var2] = (byte)(super.array[++super.offset - 1] - this.isaacCipher.nextInt()); - } + } - } // L: 44 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1484486196" + ) + @Export("importIndex") + public void importIndex() { + this.bitIndex = super.offset * 8; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1090912894" - ) - @Export("importIndex") - public void importIndex() { - this.bitIndex = super.offset * 8; // L: 47 - } // L: 48 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "-102" + ) + @Export("readBits") + public int readBits(int var1) { + int var2 = this.bitIndex >> 3; + int var3 = 8 - (this.bitIndex & 7); + int var4 = 0; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "-109" - ) - @Export("readBits") - public int readBits(int var1) { - int var2 = this.bitIndex >> 3; // L: 51 - int var3 = 8 - (this.bitIndex & 7); // L: 52 - int var4 = 0; // L: 53 + for(this.bitIndex += var1; var1 > var3; var3 = 8) { + var4 += (super.array[var2++] & field3738[var3]) << var1 - var3; + var1 -= var3; + } - for (this.bitIndex += var1; var1 > var3; var3 = 8) { // L: 54 55 58 - var4 += (super.array[var2++] & field3747[var3]) << var1 - var3; // L: 56 - var1 -= var3; // L: 57 - } + if (var3 == var1) { + var4 += super.array[var2] & field3738[var3]; + } else { + var4 += super.array[var2] >> var3 - var1 & field3738[var1]; + } - if (var3 == var1) { // L: 60 - var4 += super.array[var2] & field3747[var3]; - } else { - var4 += super.array[var2] >> var3 - var1 & field3747[var1]; // L: 61 - } + return var4; + } - return var4; // L: 62 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1519575230" + ) + @Export("exportIndex") + public void exportIndex() { + super.offset = (this.bitIndex + 7) / 8; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "578417910" - ) - @Export("exportIndex") - public void exportIndex() { - super.offset = (this.bitIndex + 7) / 8; // L: 66 - } // L: 67 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-2129780483" - ) - @Export("bitsRemaining") - public int bitsRemaining(int var1) { - return var1 * 8 - this.bitIndex; // L: 70 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "716997837" + ) + @Export("bitsRemaining") + public int bitsRemaining(int var1) { + return var1 * 8 - this.bitIndex; + } } diff --git a/runescape-client/src/main/java/PacketBufferNode.java b/runescape-client/src/main/java/PacketBufferNode.java index 49de9cf7c8..e0df63b877 100644 --- a/runescape-client/src/main/java/PacketBufferNode.java +++ b/runescape-client/src/main/java/PacketBufferNode.java @@ -4,80 +4,55 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gv") +@ObfuscatedName("gk") @Implements("PacketBufferNode") public class PacketBufferNode extends Node { - @ObfuscatedName("so") - @ObfuscatedGetter( - intValue = -1389539327 - ) - @Export("foundItemIdCount") - static int foundItemIdCount; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "[Lgv;" - ) - @Export("PacketBufferNode_packetBufferNodes") - static PacketBufferNode[] PacketBufferNode_packetBufferNodes; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 388445817 - ) - @Export("PacketBufferNode_packetBufferNodeCount") - static int PacketBufferNode_packetBufferNodeCount; - @ObfuscatedName("dk") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive12") - static Archive archive12; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgb;" - ) - @Export("clientPacket") - ClientPacket clientPacket; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1047967593 - ) - @Export("clientPacketLength") - int clientPacketLength; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lky;" - ) - @Export("packetBuffer") - public PacketBuffer packetBuffer; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -3253035 - ) - @Export("index") - public int index; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "[Lgk;" + ) + @Export("PacketBufferNode_packetBufferNodes") + public static PacketBufferNode[] PacketBufferNode_packetBufferNodes = new PacketBufferNode[300]; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -547850915 + ) + @Export("PacketBufferNode_packetBufferNodeCount") + public static int PacketBufferNode_packetBufferNodeCount = 0; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgd;" + ) + @Export("clientPacket") + public ClientPacket clientPacket; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 60073813 + ) + @Export("clientPacketLength") + public int clientPacketLength; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lkd;" + ) + @Export("packetBuffer") + public PacketBuffer packetBuffer; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -646251635 + ) + @Export("index") + public int index; - static { - PacketBufferNode_packetBufferNodes = new PacketBufferNode[300]; // L: 13 - PacketBufferNode_packetBufferNodeCount = 0; // L: 14 - } - - PacketBufferNode() { - } // L: 19 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-111" - ) - @Export("release") - public void release() { - if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { // L: 61 - PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; // L: 62 - } - } // L: 63 - - @ObfuscatedName("h") - static boolean method3682(long var0) { - return Widget.Entity_unpackSceneX(var0) == 2; // L: 44 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2134338868" + ) + @Export("release") + public void release() { + if (PacketBufferNode_packetBufferNodeCount < PacketBufferNode_packetBufferNodes.length) { + PacketBufferNode_packetBufferNodes[++PacketBufferNode_packetBufferNodeCount - 1] = this; + } + } } diff --git a/runescape-client/src/main/java/PacketWriter.java b/runescape-client/src/main/java/PacketWriter.java index df925f553c..9a94402cfd 100644 --- a/runescape-client/src/main/java/PacketWriter.java +++ b/runescape-client/src/main/java/PacketWriter.java @@ -5,207 +5,517 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dh") +@ObfuscatedName("dx") @Implements("PacketWriter") public class PacketWriter { - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1231198347 - ) - @Export("graphicsTickTimeIdx") - static int graphicsTickTimeIdx; - @ObfuscatedName("ge") - @ObfuscatedGetter( - intValue = -840603711 - ) - static int field1331; - @ObfuscatedName("id") - @ObfuscatedGetter( - intValue = 512771779 - ) - static int field1341; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Llr;" - ) - @Export("socket") - AbstractSocket socket; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljn;" - ) - @Export("packetBufferNodes") - IterableNodeDeque packetBufferNodes; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -818108241 - ) - @Export("bufferSize") - int bufferSize; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - @Export("buffer") - Buffer buffer; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lmd;" - ) - @Export("isaacCipher") - public IsaacCipher isaacCipher; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lky;" - ) - @Export("packetBuffer") - PacketBuffer packetBuffer; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - @Export("serverPacket") - ServerPacket serverPacket; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 2012352771 - ) - @Export("serverPacketLength") - int serverPacketLength; - @ObfuscatedName("l") - boolean field1332; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1974762033 - ) - int field1333; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1113999339 - ) - @Export("pendingWrites") - int pendingWrites; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - ServerPacket field1335; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - ServerPacket field1336; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - ServerPacket field1337; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lls;" + ) + @Export("socket") + AbstractSocket socket; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Ljv;" + ) + @Export("packetBufferNodes") + IterableNodeDeque packetBufferNodes = new IterableNodeDeque(); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1444259663 + ) + @Export("bufferSize") + int bufferSize = 0; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + @Export("buffer") + Buffer buffer = new Buffer(5000); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lmw;" + ) + @Export("isaacCipher") + public IsaacCipher isaacCipher; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lkd;" + ) + @Export("packetBuffer") + PacketBuffer packetBuffer = new PacketBuffer(40000); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + @Export("serverPacket") + ServerPacket serverPacket = null; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1918231479 + ) + @Export("serverPacketLength") + int serverPacketLength = 0; + @ObfuscatedName("q") + boolean field1327 = true; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 2141926027 + ) + int field1330 = 0; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1260062843 + ) + @Export("pendingWrites") + int pendingWrites = 0; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + ServerPacket field1331; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + ServerPacket field1333; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + ServerPacket field1334; - PacketWriter() { - this.packetBufferNodes = new IterableNodeDeque(); // L: 15 - this.bufferSize = 0; // L: 16 - this.buffer = new Buffer(5000); // L: 17 - this.packetBuffer = new PacketBuffer(40000); // L: 19 - this.serverPacket = null; // L: 20 - this.serverPacketLength = 0; // L: 21 - this.field1332 = true; // L: 22 - this.field1333 = 0; // L: 23 - this.pendingWrites = 0; // L: 24 - } // L: 29 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-126347974" + ) + @Export("clearBuffer") + final void clearBuffer() { + this.packetBufferNodes.rsClear(); + this.bufferSize = 0; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "-15320" - ) - @Export("clearBuffer") - final void clearBuffer() { - this.packetBufferNodes.rsClear(); // L: 32 - this.bufferSize = 0; // L: 33 - } // L: 34 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "523459495" + ) + @Export("flush") + final void flush() throws IOException { + if (this.socket != null && this.bufferSize > 0) { + this.buffer.offset = 0; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1507185593" - ) - @Export("flush") - final void flush() throws IOException { - if (this.socket != null && this.bufferSize > 0) { // L: 37 - this.buffer.offset = 0; // L: 38 + 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.pendingWrites = 0; + break; + } - while (true) { - PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last(); // L: 40 - if (var1 == null || var1.index > this.buffer.array.length - this.buffer.offset) { // L: 41 42 - this.socket.write(this.buffer.array, 0, this.buffer.offset); // L: 49 - this.pendingWrites = 0; // L: 50 - break; - } + this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); + this.bufferSize -= var1.index; + var1.remove(); + var1.packetBuffer.releaseArray(); + var1.release(); + } + } - this.buffer.writeBytes(var1.packetBuffer.array, 0, var1.index); // L: 43 - this.bufferSize -= var1.index; // L: 44 - var1.remove(); // L: 45 - var1.packetBuffer.releaseArray(); // L: 46 - var1.release(); // L: 47 - } - } + } - } // L: 52 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lgk;I)V", + garbageValue = "-315377283" + ) + @Export("addNode") + public final void addNode(PacketBufferNode var1) { + this.packetBufferNodes.addFirst(var1); + var1.index = var1.packetBuffer.offset; + var1.packetBuffer.offset = 0; + this.bufferSize += var1.index; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lgv;I)V", - garbageValue = "1911016563" - ) - @Export("addNode") - public final void addNode(PacketBufferNode var1) { - this.packetBufferNodes.addFirst(var1); // L: 55 - var1.index = var1.packetBuffer.offset; // L: 56 - var1.packetBuffer.offset = 0; // L: 57 - this.bufferSize += var1.index; // L: 58 - } // L: 59 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lls;I)V", + garbageValue = "-1829169841" + ) + @Export("setSocket") + void setSocket(AbstractSocket var1) { + this.socket = var1; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Llr;I)V", - garbageValue = "-412452109" - ) - @Export("setSocket") - void setSocket(AbstractSocket var1) { - this.socket = var1; // L: 62 - } // L: 63 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1622261099" + ) + @Export("close") + void close() { + if (this.socket != null) { + this.socket.close(); + this.socket = null; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1483874445" - ) - @Export("close") - void close() { - if (this.socket != null) { // L: 66 - this.socket.close(); // L: 67 - this.socket = null; // L: 68 - } + } - } // L: 70 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1730600275" + ) + @Export("removeSocket") + void removeSocket() { + this.socket = null; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "210420137" - ) - @Export("removeSocket") - void removeSocket() { - this.socket = null; // L: 73 - } // L: 74 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)Lls;", + garbageValue = "-1714919219" + ) + @Export("getSocket") + AbstractSocket getSocket() { + return this.socket; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Llr;", - garbageValue = "659174081" - ) - @Export("getSocket") - AbstractSocket getSocket() { - return this.socket; // L: 77 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lby;I)V", + garbageValue = "1366873098" + ) + @Export("runScriptEvent") + public static void runScriptEvent(ScriptEvent var0) { + GrandExchangeOfferWorldComparator.runScript(var0, 500000); + } + + @ObfuscatedName("hf") + @ObfuscatedSignature( + descriptor = "(Lgs;I)V", + garbageValue = "-718074338" + ) + static final void method2429(class194 var0) { + PacketBuffer var1 = Client.packetWriter.packetBuffer; + int var2; + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var9; + if (class194.field2354 == var0) { + var2 = var1.method5720(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field724[var3]; + var6 = var1.readUnsignedByte(); + var7 = (var6 >> 4 & 7) + GrandExchangeEvent.field82; + var8 = (var6 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var9 = var1.method5727(); + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + Canvas.updatePendingSpawn(class90.Client_plane, var7, var8, var5, var9, var3, var4, 0, -1); + } + + } else if (class194.field2347 == var0) { + var2 = var1.method5729(); + var3 = var1.readUnsignedByte(); + var4 = var1.readUnsignedShort(); + var5 = var1.method5776(); + var6 = (var5 >> 4 & 7) + GrandExchangeEvent.field82; + var7 = (var5 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + if (var6 >= 0 && var7 >= 0 && var6 < 104 && var7 < 104) { + var6 = var6 * 128 + 64; + var7 = var7 * 128 + 64; + GraphicsObject var44 = new GraphicsObject(var2, class90.Client_plane, var6, var7, WorldMapRegion.getTileHeight(var6, var7, class90.Client_plane) - var3, var4, Client.cycle); + Client.graphicsObjects.addFirst(var44); + } + + } else { + TileItem var35; + if (class194.field2348 == var0) { + var2 = var1.method5717(); + var3 = (var2 >> 4 & 7) + GrandExchangeEvent.field82; + var4 = (var2 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var5 = var1.readUnsignedShort(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + NodeDeque var36 = Client.groundItems[class90.Client_plane][var3][var4]; + if (var36 != null) { + for(var35 = (TileItem)var36.last(); var35 != null; var35 = (TileItem)var36.previous()) { + if ((var5 & 32767) == var35.id) { + var35.remove(); + break; + } + } + + if (var36.last() == null) { + Client.groundItems[class90.Client_plane][var3][var4] = null; + } + + HitSplatDefinition.updateItemPile(var3, var4); + } + } + + } else { + int var10; + if (class194.field2346 == var0) { + var2 = var1.method5728(); + var3 = var1.method5720(); + var4 = (var3 >> 4 & 7) + GrandExchangeEvent.field82; + var5 = (var3 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var6 = var1.readUnsignedByte(); + var7 = var6 >> 4 & 15; + var8 = var6 & 7; + var9 = var1.method5717(); + if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { + var10 = var7 + 1; + if (UserComparator9.localPlayer.pathX[0] >= var4 - var10 && UserComparator9.localPlayer.pathX[0] <= var4 + var10 && UserComparator9.localPlayer.pathY[0] >= var5 - var10 && UserComparator9.localPlayer.pathY[0] <= var5 + var10 && WorldMapSectionType.clientPreferences.areaSoundEffectsVolume != 0 && var8 > 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var2; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var8; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = var7 + (var5 << 8) + (var4 << 16); + ++Client.soundEffectCount; + } + } + } + + if (class194.field2356 == var0) { + var2 = var1.method5729(); + var3 = var1.method5728(); + var4 = var1.readUnsignedByte(); + var5 = (var4 >> 4 & 7) + GrandExchangeEvent.field82; + var6 = (var4 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + if (var5 >= 0 && var6 >= 0 && var5 < 104 && var6 < 104) { + var35 = new TileItem(); + var35.id = var2; + var35.quantity = var3; + if (Client.groundItems[class90.Client_plane][var5][var6] == null) { + Client.groundItems[class90.Client_plane][var5][var6] = new NodeDeque(); + } + + Client.groundItems[class90.Client_plane][var5][var6].addFirst(var35); + HitSplatDefinition.updateItemPile(var5, var6); + } + + } else { + int var11; + int var12; + int var14; + if (class194.field2352 == var0) { + var2 = var1.method5776(); + var3 = var1.method5717() * 4; + var4 = var1.method5731(); + var5 = var1.method5729(); + byte var38 = var1.method5747(); + var7 = var1.readUnsignedShort(); + var8 = var1.method5776() * 4; + byte var39 = var1.method5722(); + var10 = var1.method5776(); + var11 = var1.method5729(); + var12 = var1.method5717(); + int var40 = (var12 >> 4 & 7) + GrandExchangeEvent.field82; + var14 = (var12 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var6 = var38 + var40; + var9 = var39 + var14; + if (var40 >= 0 && var14 >= 0 && var40 < 104 && var14 < 104 && var6 >= 0 && var9 >= 0 && var6 < 104 && var9 < 104 && var5 != 65535) { + var40 = var40 * 128 + 64; + var14 = var14 * 128 + 64; + var6 = var6 * 128 + 64; + var9 = var9 * 128 + 64; + Projectile var34 = new Projectile(var5, class90.Client_plane, var40, var14, WorldMapRegion.getTileHeight(var40, var14, class90.Client_plane) - var3, var7 + Client.cycle, var11 + Client.cycle, var10, var2, var4, var8); + var34.setDestination(var6, var9, WorldMapRegion.getTileHeight(var6, var9, class90.Client_plane) - var8, var7 + Client.cycle); + Client.projectiles.addFirst(var34); + } + + } else if (class194.field2351 == var0) { + var2 = var1.readUnsignedByte(); + var3 = (var2 >> 4 & 7) + GrandExchangeEvent.field82; + var4 = (var2 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var5 = var1.method5727(); + var6 = var1.method5727(); + var7 = var1.method5727(); + if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { + NodeDeque var32 = Client.groundItems[class90.Client_plane][var3][var4]; + if (var32 != null) { + for(TileItem var33 = (TileItem)var32.last(); var33 != null; var33 = (TileItem)var32.previous()) { + if ((var7 & 32767) == var33.id && var5 == var33.quantity) { + var33.quantity = var6; + break; + } + } + + HitSplatDefinition.updateItemPile(var3, var4); + } + } + + } else if (class194.field2353 == var0) { + var2 = var1.method5717(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field724[var3]; + var6 = var1.method5729(); + var7 = var1.readUnsignedByte(); + var8 = (var7 >> 4 & 7) + GrandExchangeEvent.field82; + var9 = (var7 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + if (var8 >= 0 && var9 >= 0 && var8 < 103 && var9 < 103) { + if (var5 == 0) { + BoundaryObject var31 = MilliClock.scene.method3351(class90.Client_plane, var8, var9); + if (var31 != null) { + var11 = class25.Entity_unpackID(var31.tag); + if (var3 == 2) { + var31.renderable1 = new DynamicObject(var11, 2, var4 + 4, class90.Client_plane, var8, var9, var6, false, var31.renderable1); + var31.renderable2 = new DynamicObject(var11, 2, var4 + 1 & 3, class90.Client_plane, var8, var9, var6, false, var31.renderable2); + } else { + var31.renderable1 = new DynamicObject(var11, var3, var4, class90.Client_plane, var8, var9, var6, false, var31.renderable1); + } + } + } + + if (var5 == 1) { + WallDecoration var41 = MilliClock.scene.method3264(class90.Client_plane, var8, var9); + if (var41 != null) { + var11 = class25.Entity_unpackID(var41.tag); + if (var3 != 4 && var3 != 5) { + if (var3 == 6) { + var41.renderable1 = new DynamicObject(var11, 4, var4 + 4, class90.Client_plane, var8, var9, var6, false, var41.renderable1); + } else if (var3 == 7) { + var41.renderable1 = new DynamicObject(var11, 4, (var4 + 2 & 3) + 4, class90.Client_plane, var8, var9, var6, false, var41.renderable1); + } else if (var3 == 8) { + var41.renderable1 = new DynamicObject(var11, 4, var4 + 4, class90.Client_plane, var8, var9, var6, false, var41.renderable1); + var41.renderable2 = new DynamicObject(var11, 4, (var4 + 2 & 3) + 4, class90.Client_plane, var8, var9, var6, false, var41.renderable2); + } + } else { + var41.renderable1 = new DynamicObject(var11, 4, var4, class90.Client_plane, var8, var9, var6, false, var41.renderable1); + } + } + } + + if (var5 == 2) { + GameObject var42 = MilliClock.scene.method3385(class90.Client_plane, var8, var9); + if (var3 == 11) { + var3 = 10; + } + + if (var42 != null) { + var42.renderable = new DynamicObject(class25.Entity_unpackID(var42.tag), var3, var4, class90.Client_plane, var8, var9, var6, false, var42.renderable); + } + } + + if (var5 == 3) { + FloorDecoration var43 = MilliClock.scene.getFloorDecoration(class90.Client_plane, var8, var9); + if (var43 != null) { + var43.renderable = new DynamicObject(class25.Entity_unpackID(var43.tag), 22, var4, class90.Client_plane, var8, var9, var6, false, var43.renderable); + } + } + } + + } else if (class194.field2355 == var0) { + var2 = var1.method5717(); + var3 = var2 >> 2; + var4 = var2 & 3; + var5 = Client.field724[var3]; + var6 = var1.method5720(); + var7 = (var6 >> 4 & 7) + GrandExchangeEvent.field82; + var8 = (var6 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + if (var7 >= 0 && var8 >= 0 && var7 < 104 && var8 < 104) { + Canvas.updatePendingSpawn(class90.Client_plane, var7, var8, var5, -1, var3, var4, 0, -1); + } + + } else { + if (class194.field2350 == var0) { + var2 = var1.method5729(); + var3 = var1.method5720(); + var4 = var3 >> 2; + var5 = var3 & 3; + var6 = Client.field724[var4]; + byte var37 = var1.method5722(); + var8 = var1.method5727(); + var9 = var1.method5720(); + var10 = (var9 >> 4 & 7) + GrandExchangeEvent.field82; + var11 = (var9 & 7) + GrandExchangeOfferUnitPriceComparator.field103; + var12 = var1.readUnsignedShort(); + byte var13 = var1.method5722(); + var14 = var1.method5727(); + byte var15 = var1.method5721(); + byte var16 = var1.readByte(); + Player var17; + if (var14 == Client.localPlayerIndex) { + var17 = UserComparator9.localPlayer; + } else { + var17 = Client.players[var14]; + } + + if (var17 != null) { + ObjectComposition var18 = WorldMapAreaData.getObjectDefinition(var12); + int var19; + int var20; + if (var5 != 1 && var5 != 3) { + var19 = var18.sizeX; + var20 = var18.sizeY; + } else { + var19 = var18.sizeY; + var20 = var18.sizeX; + } + + int var21 = var10 + (var19 >> 1); + int var22 = var10 + (var19 + 1 >> 1); + int var23 = var11 + (var20 >> 1); + int var24 = var11 + (var20 + 1 >> 1); + int[][] var25 = Tiles.Tiles_heights[class90.Client_plane]; + int var26 = var25[var22][var24] + var25[var21][var24] + var25[var21][var23] + var25[var22][var23] >> 2; + int var27 = (var10 << 7) + (var19 << 6); + int var28 = (var11 << 7) + (var20 << 6); + Model var29 = var18.getModel(var4, var5, var25, var27, var26, var28); + if (var29 != null) { + Canvas.updatePendingSpawn(class90.Client_plane, var10, var11, var6, -1, 0, 0, var8 + 1, var2 + 1); + var17.animationCycleStart = var8 + Client.cycle; + var17.animationCycleEnd = var2 + Client.cycle; + var17.model0 = var29; + var17.field637 = var10 * 128 + var19 * 64; + var17.field639 = var11 * 128 + var20 * 64; + var17.tileHeight2 = var26; + byte var30; + if (var15 > var13) { + var30 = var15; + var15 = var13; + var13 = var30; + } + + if (var16 > var37) { + var30 = var16; + var16 = var37; + var37 = var30; + } + + var17.field641 = var10 + var15; + var17.field640 = var10 + var13; + var17.field642 = var11 + var16; + var17.field644 = var11 + var37; + } + } + } + + } + } + } + } + } + + @ObfuscatedName("kj") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "216002934" + ) + @Export("clanKickUser") + static final void clanKickUser(String var0) { + if (WorldMapID.clanChat != null) { + PacketBufferNode var1 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + } } diff --git a/runescape-client/src/main/java/ParamComposition.java b/runescape-client/src/main/java/ParamComposition.java index 286aa3b34a..2dfd17e90e 100644 --- a/runescape-client/src/main/java/ParamComposition.java +++ b/runescape-client/src/main/java/ParamComposition.java @@ -7,177 +7,137 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("jl") @Implements("ParamComposition") public class ParamComposition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("ParamDefinition_archive") - static AbstractArchive ParamDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("ParamDefinition_cached") - static EvictingDualNodeHashTable ParamDefinition_cached; - @ObfuscatedName("x") - @Export("type") - char type; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1005886373 - ) - @Export("defaultInt") - public int defaultInt; - @ObfuscatedName("t") - @Export("defaultStr") - public String defaultStr; - @ObfuscatedName("j") - @Export("autoDisable") - boolean autoDisable; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("ParamDefinition_archive") + static AbstractArchive ParamDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("ParamDefinition_cached") + public static EvictingDualNodeHashTable ParamDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @Export("type") + char type; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -551037179 + ) + @Export("defaultInt") + public int defaultInt; + @ObfuscatedName("y") + @Export("defaultStr") + public String defaultStr; + @ObfuscatedName("h") + @Export("autoDisable") + boolean autoDisable = true; - static { - ParamDefinition_cached = new EvictingDualNodeHashTable(64); // L: 12 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1000046844" + ) + @Export("postDecode") + void postDecode() { + } - ParamComposition() { - this.autoDisable = true; // L: 16 - } // L: 18 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "1362546091" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "10" - ) - @Export("postDecode") - void postDecode() { - } // L: 35 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "65535" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 39 - if (var2 == 0) { // L: 40 - return; - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "1500921565" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + byte var4 = var1.readByte(); + int var5 = var4 & 255; + if (var5 == 0) { + throw new IllegalArgumentException("" + Integer.toString(var5, 16)); + } - this.decodeNext(var1, var2); - } - } + if (var5 >= 128 && var5 < 160) { + char var6 = class298.cp1252AsciiExtension[var5 - 128]; + if (var6 == 0) { + var6 = '?'; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "1000544289" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { - byte var4 = var1.readByte(); - int var5 = var4 & 255; - if (var5 == 0) { - throw new IllegalArgumentException("" + Integer.toString(var5, 16)); - } + var5 = var6; + } - if (var5 >= 128 && var5 < 160) { - char var6 = class298.cp1252AsciiExtension[var5 - 128]; - if (var6 == 0) { - var6 = '?'; - } + char var3 = (char)var5; + this.type = var3; + } else if (var2 == 2) { + this.defaultInt = var1.readInt(); + } else if (var2 == 4) { + this.autoDisable = false; + } else if (var2 == 5) { + this.defaultStr = var1.readStringCp1252NullTerminated(); + } - var5 = var6; - } + } - char var3 = (char)var5; - this.type = var3; - } else if (var2 == 2) { - this.defaultInt = var1.readInt(); - } else if (var2 == 4) { - this.autoDisable = false; - } else if (var2 == 5) { - this.defaultStr = var1.readStringCp1252NullTerminated(); - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(S)Z", + garbageValue = "31310" + ) + @Export("isString") + public boolean isString() { + return this.type == 's'; + } - } + @ObfuscatedName("gc") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "-1478943473" + ) + @Export("worldToScreen") + static final void worldToScreen(int var0, int var1, int var2) { + if (var0 >= 128 && var1 >= 128 && var0 <= 13056 && var1 <= 13056) { + int var3 = WorldMapRegion.getTileHeight(var0, var1, class90.Client_plane) - var2; + var0 -= SecureRandomFuture.cameraX; + var3 -= ArchiveLoader.cameraY; + var1 -= ObjectSound.cameraZ; + int var4 = Rasterizer3D.Rasterizer3D_sine[KeyHandler.cameraPitch]; + int var5 = Rasterizer3D.Rasterizer3D_cosine[KeyHandler.cameraPitch]; + int var6 = Rasterizer3D.Rasterizer3D_sine[class39.cameraYaw]; + int var7 = Rasterizer3D.Rasterizer3D_cosine[class39.cameraYaw]; + int var8 = var6 * var1 + var0 * var7 >> 16; + var1 = var7 * var1 - var0 * var6 >> 16; + var0 = var8; + var8 = var5 * var3 - var4 * var1 >> 16; + var1 = var5 * var1 + var3 * var4 >> 16; + if (var1 >= 50) { + Client.viewportTempX = var0 * Client.viewportZoom / var1 + Client.viewportWidth / 2; + Client.viewportTempY = var8 * Client.viewportZoom / var1 + Client.viewportHeight / 2; + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "0" - ) - @Export("isString") - public boolean isString() { - return this.type == 's'; // L: 68 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;I)V", - garbageValue = "1899658312" - ) - public static void method4526(AbstractArchive var0) { - StructComposition.StructDefinition_archive = var0; // L: 19 - } // L: 20 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljy;", - garbageValue = "-1708661851" - ) - @Export("SequenceDefinition_get") - public static SequenceDefinition SequenceDefinition_get(int var0) { - SequenceDefinition var1 = (SequenceDefinition)SequenceDefinition.SequenceDefinition_cached.get((long)var0); // L: 41 - if (var1 != null) { // L: 42 - return var1; - } else { - byte[] var2 = SequenceDefinition.SequenceDefinition_archive.takeFile(12, var0); // L: 43 - var1 = new SequenceDefinition(); // L: 44 - if (var2 != null) { // L: 45 - var1.decode(new Buffer(var2)); - } - - var1.postDecode(); // L: 46 - SequenceDefinition.SequenceDefinition_cached.put(var1, (long)var0); // L: 47 - return var1; // L: 48 - } - } - - @ObfuscatedName("x") - @Export("base37DecodeLong") - public static String base37DecodeLong(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { // L: 49 - if (var0 % 37L == 0L) { // L: 50 - return null; - } else { - int var2 = 0; // L: 51 - - for (long var3 = var0; var3 != 0L; var3 /= 37L) { // L: 52 53 55 - ++var2; // L: 54 - } - - StringBuilder var5; - char var8; - for (var5 = new StringBuilder(var2); 0L != var0; var5.append(var8)) { // L: 57 58 67 - long var6 = var0; // L: 59 - var0 /= 37L; // L: 60 - var8 = class299.base37Table[(int)(var6 - var0 * 37L)]; // L: 61 - if (var8 == '_') { // L: 62 - int var9 = var5.length() - 1; // L: 63 - var5.setCharAt(var9, Character.toUpperCase(var5.charAt(var9))); // L: 64 - var8 = 160; // L: 65 - } - } - - var5.reverse(); // L: 69 - var5.setCharAt(0, Character.toUpperCase(var5.charAt(0))); // L: 70 - return var5.toString(); // L: 71 - } - } else { - return null; - } - } + } else { + Client.viewportTempX = -1; + Client.viewportTempY = -1; + } + } } diff --git a/runescape-client/src/main/java/PcmPlayer.java b/runescape-client/src/main/java/PcmPlayer.java index 28d8efd334..9d292c72b9 100644 --- a/runescape-client/src/main/java/PcmPlayer.java +++ b/runescape-client/src/main/java/PcmPlayer.java @@ -1,511 +1,583 @@ +import java.util.concurrent.ScheduledExecutorService; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dp") +@ObfuscatedName("dh") @Implements("PcmPlayer") public class PcmPlayer { - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -804003183 - ) - public static int field1443; - @ObfuscatedName("j") - @Export("PcmPlayer_stereo") - protected static boolean PcmPlayer_stereo; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -1343221865 - ) - static int field1424; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Ldt;" - ) - @Export("soundSystem") - static SoundSystem soundSystem; - @ObfuscatedName("c") - @Export("samples") - protected int[] samples; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Ldi;" - ) - @Export("stream") - PcmStream stream; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 1633759265 - ) - int field1425; - @ObfuscatedName("a") - @ObfuscatedGetter( - longValue = -8429726973010117483L - ) - @Export("timeMs") - long timeMs; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -1292607887 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1569726481 - ) - int field1431; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -246859759 - ) - int field1432; - @ObfuscatedName("q") - @ObfuscatedGetter( - longValue = 3904158006998688263L - ) - long field1433; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1780329359 - ) - int field1427; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -1504765301 - ) - int field1435; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -727818553 - ) - int field1436; - @ObfuscatedName("k") - @ObfuscatedGetter( - longValue = -674058996011130719L - ) - long field1437; - @ObfuscatedName("d") - boolean field1422; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 977089873 - ) - int field1439; - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "[Ldi;" - ) - PcmStream[] field1440; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "[Ldi;" - ) - PcmStream[] field1428; + @ObfuscatedName("h") + @Export("PcmPlayer_stereo") + public static boolean PcmPlayer_stereo; + @ObfuscatedName("e") + @Export("soundSystemExecutor") + static ScheduledExecutorService soundSystemExecutor; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 967437073 + ) + public static int field1419; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Ldp;" + ) + @Export("soundSystem") + static SoundSystem soundSystem; + @ObfuscatedName("ai") + @Export("hasFocus") + protected static boolean hasFocus; + @ObfuscatedName("w") + @Export("samples") + protected int[] samples; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Ldw;" + ) + @Export("stream") + PcmStream stream; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -464372219 + ) + int field1424 = 32; + @ObfuscatedName("x") + @ObfuscatedGetter( + longValue = 2749366115172109131L + ) + @Export("timeMs") + long timeMs = Tiles.currentTimeMillis(); + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 167448973 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 237802631 + ) + int field1427; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -1086019069 + ) + int field1430; + @ObfuscatedName("t") + @ObfuscatedGetter( + longValue = 5727430496503551515L + ) + long field1429 = 0L; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 319512497 + ) + int field1428 = 0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1292152149 + ) + int field1439 = 0; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -264782125 + ) + int field1432 = 0; + @ObfuscatedName("o") + @ObfuscatedGetter( + longValue = 4709147703826691947L + ) + long field1425 = 0L; + @ObfuscatedName("j") + boolean field1433 = true; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 1127821299 + ) + int field1417 = 0; + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "[Ldw;" + ) + PcmStream[] field1437 = new PcmStream[8]; + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "[Ldw;" + ) + PcmStream[] field1438 = new PcmStream[8]; - protected PcmPlayer() { - this.field1425 = 32; // L: 22 - this.timeMs = class298.currentTimeMillis(); // L: 23 - this.field1433 = 0L; // L: 27 - this.field1427 = 0; // L: 28 - this.field1435 = 0; // L: 29 - this.field1436 = 0; // L: 30 - this.field1437 = 0L; // L: 31 - this.field1422 = true; // L: 32 - this.field1439 = 0; - this.field1440 = new PcmStream[8]; // L: 39 - this.field1428 = new PcmStream[8]; // L: 40 - } // L: 42 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "0" + ) + @Export("init") + protected void init() throws Exception { + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "99" - ) - @Export("init") - protected void init() throws Exception { - } // L: 284 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1929759603" + ) + @Export("open") + protected void open(int var1) throws Exception { + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IS)V", - garbageValue = "3677" - ) - @Export("open") - protected void open(int var1) throws Exception { - } // L: 285 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "6543" + ) + @Export("position") + protected int position() throws Exception { + return this.capacity; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "60" - ) - @Export("position") - protected int position() throws Exception { - return this.capacity; // L: 288 - } + @ObfuscatedName("c") + @Export("write") + protected void write() throws Exception { + } - @ObfuscatedName("w") - @Export("write") - protected void write() throws Exception { - } // L: 291 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "64" + ) + @Export("close") + protected void close() { + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-310479525" - ) - @Export("close") - protected void close() { - } // L: 292 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-674709942" + ) + @Export("discard") + protected void discard() throws Exception { + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-7" - ) - @Export("discard") - protected void discard() throws Exception { - } // L: 293 + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(Ldw;I)V", + garbageValue = "-1612898797" + ) + @Export("setStream") + public final synchronized void setStream(PcmStream var1) { + this.stream = var1; + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "2012600293" - ) - @Export("setStream") - public final synchronized void setStream(PcmStream var1) { - this.stream = var1; // L: 83 - } // L: 84 + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-310510465" + ) + @Export("run") + public final synchronized void run() { + if (this.samples != null) { + long var1 = Tiles.currentTimeMillis(); - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2081423658" - ) - @Export("run") - public final synchronized void run() { - if (this.samples != null) { // L: 87 - long var1 = class298.currentTimeMillis(); // L: 88 + try { + if (this.field1429 != 0L) { + if (var1 < this.field1429) { + return; + } - try { - if (this.field1433 != 0L) { // L: 90 - if (var1 < this.field1433) { // L: 91 - return; - } + this.open(this.capacity); + this.field1429 = 0L; + this.field1433 = true; + } - this.open(this.capacity); // L: 92 - this.field1433 = 0L; // L: 93 - this.field1422 = true; // L: 94 - } + int var3 = this.position(); + if (this.field1432 - var3 > this.field1428) { + this.field1428 = this.field1432 - var3; + } - int var3 = this.position(); // L: 96 - if (this.field1436 - var3 > this.field1427) { // L: 97 - this.field1427 = this.field1436 - var3; - } + int var4 = this.field1427 + this.field1430; + if (var4 + 256 > 16384) { + var4 = 16128; + } - int var4 = this.field1431 + this.field1432; // L: 98 - if (var4 + 256 > 16384) { // L: 99 - var4 = 16128; - } + if (var4 + 256 > this.capacity) { + this.capacity += 1024; + if (this.capacity > 16384) { + this.capacity = 16384; + } - if (var4 + 256 > this.capacity) { // L: 100 - this.capacity += 1024; // L: 101 - if (this.capacity > 16384) { // L: 102 - this.capacity = 16384; - } + this.close(); + this.open(this.capacity); + var3 = 0; + this.field1433 = true; + if (var4 + 256 > this.capacity) { + var4 = this.capacity - 256; + this.field1430 = var4 - this.field1427; + } + } - this.close(); // L: 103 - this.open(this.capacity); // L: 104 - var3 = 0; // L: 105 - this.field1422 = true; // L: 106 - if (var4 + 256 > this.capacity) { // L: 107 - var4 = this.capacity - 256; // L: 108 - this.field1432 = var4 - this.field1431; // L: 109 - } - } + while(var3 < var4) { + this.fill(this.samples, 256); + this.write(); + var3 += 256; + } - while (var3 < var4) { // L: 112 - this.fill(this.samples, 256); // L: 113 - this.write(); // L: 114 - var3 += 256; // L: 115 - } + if (var1 > this.field1425) { + if (!this.field1433) { + if (this.field1428 == 0 && this.field1439 == 0) { + this.close(); + this.field1429 = 2000L + var1; + return; + } - if (var1 > this.field1437) { // L: 117 - if (!this.field1422) { // L: 118 - if (this.field1427 == 0 && this.field1435 == 0) { // L: 119 - this.close(); // L: 120 - this.field1433 = var1 + 2000L; // L: 121 - return; // L: 122 - } + this.field1430 = Math.min(this.field1439, this.field1428); + this.field1439 = this.field1428; + } else { + this.field1433 = false; + } - this.field1432 = Math.min(this.field1435, this.field1427); // L: 124 - this.field1435 = this.field1427; // L: 125 - } else { - this.field1422 = false; // L: 127 - } + this.field1428 = 0; + this.field1425 = 2000L + var1; + } - this.field1427 = 0; // L: 128 - this.field1437 = var1 + 2000L; // L: 129 - } + this.field1432 = var3; + } catch (Exception var7) { + this.close(); + this.field1429 = 2000L + var1; + } - this.field1436 = var3; // L: 131 - } catch (Exception var7) { // L: 133 - this.close(); // L: 134 - this.field1433 = var1 + 2000L; // L: 135 - } + try { + if (var1 > 500000L + this.timeMs) { + var1 = this.timeMs; + } - try { - if (var1 > this.timeMs + 500000L) { // L: 138 - var1 = this.timeMs; - } + while(var1 > this.timeMs + 5000L) { + this.skip(256); + this.timeMs += (long)(256000 / (StructComposition.field3338 * 22050)); + } + } catch (Exception var6) { + this.timeMs = var1; + } - while (var1 > 5000L + this.timeMs) { // L: 139 - this.skip(256); // L: 140 - this.timeMs += (long)(256000 / field1443); // L: 141 - } - } catch (Exception var6) { // L: 144 - this.timeMs = var1; // L: 145 - } + } + } - } - } // L: 147 + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + public final void method2612() { + this.field1433 = true; + } - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-764201060" - ) - public final void method2485() { - this.field1422 = true; // L: 150 - } // L: 151 + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-44" + ) + @Export("tryDiscard") + public final synchronized void tryDiscard() { + this.field1433 = true; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1507981291" - ) - @Export("tryDiscard") - public final synchronized void tryDiscard() { - this.field1422 = true; // L: 154 + try { + this.discard(); + } catch (Exception var2) { + this.close(); + this.field1429 = Tiles.currentTimeMillis() + 2000L; + } - try { - this.discard(); // L: 156 - } catch (Exception var2) { // L: 158 - this.close(); // L: 159 - this.field1433 = class298.currentTimeMillis() + 2000L; // L: 160 - } + } - } // L: 162 + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "10262" + ) + @Export("shutdown") + public final synchronized void shutdown() { + if (soundSystem != null) { + boolean var1 = true; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "65535" - ) - @Export("shutdown") - public final synchronized void shutdown() { - if (soundSystem != null) { // L: 165 - boolean var1 = true; // L: 166 + for(int var2 = 0; var2 < 2; ++var2) { + if (this == soundSystem.players[var2]) { + soundSystem.players[var2] = null; + } - for (int var2 = 0; var2 < 2; ++var2) { // L: 167 - if (this == soundSystem.players[var2]) { // L: 168 - soundSystem.players[var2] = null; - } + if (soundSystem.players[var2] != null) { + var1 = false; + } + } - if (soundSystem.players[var2] != null) { // L: 169 - var1 = false; - } - } + if (var1) { + soundSystemExecutor.shutdownNow(); + soundSystemExecutor = null; + soundSystem = null; + } + } - if (var1) { // L: 171 - InterfaceParent.soundSystemExecutor.shutdownNow(); // L: 172 - InterfaceParent.soundSystemExecutor = null; // L: 173 - soundSystem = null; // L: 174 - } - } + this.close(); + this.samples = null; + } - this.close(); // L: 177 - this.samples = null; // L: 178 - } // L: 179 + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-108727695" + ) + @Export("skip") + final void skip(int var1) { + this.field1417 -= var1; + if (this.field1417 < 0) { + this.field1417 = 0; + } - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "4" - ) - @Export("skip") - final void skip(int var1) { - this.field1439 -= var1; // L: 182 - if (this.field1439 < 0) { - this.field1439 = 0; // L: 183 - } + if (this.stream != null) { + this.stream.skip(var1); + } - if (this.stream != null) { - this.stream.skip(var1); // L: 184 - } + } - } // L: 185 + @ObfuscatedName("ak") + @Export("fill") + final void fill(int[] var1, int var2) { + int var3 = var2; + if (PcmPlayer_stereo) { + var3 = var2 << 1; + } - @ObfuscatedName("aq") - @Export("fill") - final void fill(int[] var1, int var2) { - int var3 = var2; // L: 189 - if (PcmPlayer_stereo) { // L: 190 - var3 = var2 << 1; - } + class311.clearIntArray(var1, 0, var3); + this.field1417 -= var2; + if (this.stream != null && this.field1417 <= 0) { + this.field1417 += StructComposition.field3338 * 22050 >> 4; + ReflectionCheck.PcmStream_disable(this.stream); + this.method2658(this.stream, this.stream.vmethod2880()); + int var4 = 0; + int var5 = 255; - class311.clearIntArray(var1, 0, var3); // L: 191 - this.field1439 -= var2; // L: 192 - if (this.stream != null && this.field1439 <= 0) { // L: 193 - this.field1439 += field1443 >> 4; // L: 194 - Varcs.PcmStream_disable(this.stream); // L: 195 - this.method2492(this.stream, this.stream.vmethod2800()); // L: 196 - int var4 = 0; // L: 197 - int var5 = 255; // L: 198 + int var6; + PcmStream var10; + label109: + for(var6 = 7; var5 != 0; --var6) { + int var7; + int var8; + if (var6 < 0) { + var7 = var6 & 3; + var8 = -(var6 >> 2); + } else { + var7 = var6; + var8 = 0; + } - int var6; - PcmStream var10; - label108: - for (var6 = 7; var5 != 0; --var6) { // L: 199 - int var7; - int var8; - if (var6 < 0) { // L: 202 - var7 = var6 & 3; // L: 203 - var8 = -(var6 >> 2); // L: 204 - } else { - var7 = var6; // L: 207 - var8 = 0; // L: 208 - } + for(int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { + if ((var9 & 1) != 0) { + var5 &= ~(1 << var7); + var10 = null; + PcmStream var11 = this.field1437[var7]; - for (int var9 = var5 >>> var7 & 286331153; var9 != 0; var9 >>>= 4) { // L: 210 212 - if ((var9 & 1) != 0) { // L: 215 - var5 &= ~(1 << var7); // L: 218 - var10 = null; // L: 219 - PcmStream var11 = this.field1440[var7]; // L: 220 + label103: + while(true) { + while(true) { + if (var11 == null) { + break label103; + } - label102: - while (true) { - while (true) { - if (var11 == null) { // L: 221 - break label102; - } + 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.vmethod4099(); + var4 += var13; + if (var12 != null) { + var12.position += var13; + } - AbstractSound var12 = var11.sound; // L: 222 - if (var12 != null && var12.position > var8) { // L: 223 - var5 |= 1 << var7; // L: 224 - var10 = var11; // L: 225 - var11 = var11.after; // L: 226 - } else { - var11.active = true; // L: 229 - int var13 = var11.vmethod3927(); // L: 230 - var4 += var13; // L: 231 - if (var12 != null) { // L: 232 - var12.position += var13; - } + if (var4 >= this.field1424) { + break label109; + } - if (var4 >= this.field1425) { // L: 233 - break label108; - } + PcmStream var14 = var11.firstSubStream(); + if (var14 != null) { + for(int var15 = var11.field1511; var14 != null; var14 = var11.nextSubStream()) { + this.method2658(var14, var15 * var14.vmethod2880() >> 8); + } + } - PcmStream var14 = var11.firstSubStream(); // L: 234 - if (var14 != null) { // L: 235 - for (int var15 = var11.field1508; var14 != null; var14 = var11.nextSubStream()) { // L: 236 237 239 - this.method2492(var14, var15 * var14.vmethod2800() >> 8); // L: 238 - } - } + PcmStream var18 = var11.after; + var11.after = null; + if (var10 == null) { + this.field1437[var7] = var18; + } else { + var10.after = var18; + } - PcmStream var18 = var11.after; // L: 242 - var11.after = null; // L: 243 - if (var10 == null) { // L: 244 - this.field1440[var7] = var18; - } else { - var10.after = var18; // L: 245 - } + if (var18 == null) { + this.field1438[var7] = var10; + } - if (var18 == null) { // L: 246 - this.field1428[var7] = var10; - } + var11 = var18; + } + } + } + } - var11 = var18; // L: 247 - } - } - } - } + var7 += 4; + ++var8; + } + } - var7 += 4; // L: 211 - ++var8; - } - } + for(var6 = 0; var6 < 8; ++var6) { + PcmStream var16 = this.field1437[var6]; + PcmStream[] var17 = this.field1437; + this.field1438[var6] = null; - for (var6 = 0; var6 < 8; ++var6) { // L: 251 - PcmStream var16 = this.field1440[var6]; // L: 252 - PcmStream[] var17 = this.field1440; // L: 253 - this.field1428[var6] = null; // L: 255 + for(var17[var6] = null; var16 != null; var16 = var10) { + var10 = var16.after; + var16.after = null; + } + } + } - for (var17[var6] = null; var16 != null; var16 = var10) { // L: 256 257 260 - var10 = var16.after; // L: 258 - var16.after = null; // L: 259 - } - } - } + if (this.field1417 < 0) { + this.field1417 = 0; + } - if (this.field1439 < 0) { // L: 264 - this.field1439 = 0; - } + if (this.stream != null) { + this.stream.fill(var1, 0, var2); + } - if (this.stream != null) { - this.stream.fill(var1, 0, var2); // L: 265 - } + this.timeMs = Tiles.currentTimeMillis(); + } - this.timeMs = class298.currentTimeMillis(); // L: 266 - } // L: 267 + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(Ldw;IB)V", + garbageValue = "-16" + ) + final void method2658(PcmStream var1, int var2) { + int var3 = var2 >> 5; + PcmStream var4 = this.field1438[var3]; + if (var4 == null) { + this.field1437[var3] = var1; + } else { + var4.after = var1; + } - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(Ldi;IB)V", - garbageValue = "-108" - ) - final void method2492(PcmStream var1, int var2) { - int var3 = var2 >> 5; // L: 276 - PcmStream var4 = this.field1428[var3]; // L: 277 - if (var4 == null) { // L: 278 - this.field1440[var3] = var1; - } else { - var4.after = var1; // L: 279 - } + this.field1438[var3] = var1; + var1.field1511 = var2; + } - this.field1428[var3] = var1; // L: 280 - var1.field1508 = var2; // L: 281 - } // L: 282 + @ObfuscatedName("ho") + @ObfuscatedSignature( + descriptor = "(IIZI)V", + garbageValue = "-392680019" + ) + static final void method2661(int var0, int var1, boolean var2) { + if (!var2 || var0 != class3.field24 || class39.field284 != var1) { + class3.field24 = var0; + class39.field284 = var1; + ItemContainer.updateGameState(25); + WorldMapIcon_1.drawLoadingMessage("Loading - please wait.", true); + int var3 = GrandExchangeOfferNameComparator.baseX * 64; + int var4 = NetCache.baseY * 64; + GrandExchangeOfferNameComparator.baseX = (var0 - 6) * 8; + NetCache.baseY = (var1 - 6) * 8; + int var5 = GrandExchangeOfferNameComparator.baseX * 64 - var3; + int var6 = NetCache.baseY * 64 - var4; + var3 = GrandExchangeOfferNameComparator.baseX * 64; + var4 = NetCache.baseY * 64; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;Lib;B)V", - garbageValue = "47" - ) - public static void method2538(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { - SequenceDefinition.SequenceDefinition_archive = var0; // L: 35 - SequenceDefinition.SequenceDefinition_animationsArchive = var1; // L: 36 - SequenceDefinition.SequenceDefinition_skeletonsArchive = var2; // L: 37 - } // L: 38 + int var7; + int var9; + for(var7 = 0; var7 < 32768; ++var7) { + NPC var19 = Client.npcs[var7]; + if (var19 != null) { + for(var9 = 0; var9 < 10; ++var9) { + var19.pathX[var9] -= var5; + var19.pathY[var9] -= var6; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1085535536" - ) - static final int method2544(int var0, int var1) { - int var2 = class4.method56(45365 + var0, var1 + 91923, 4) - 128 + (class4.method56(var0 + 10294, 37821 + var1, 2) - 128 >> 1) + (class4.method56(var0, var1, 1) - 128 >> 2); // L: 811 - var2 = (int)(0.3D * (double)var2) + 35; // L: 812 - if (var2 < 10) { // L: 813 - var2 = 10; - } else if (var2 > 60) { // L: 814 - var2 = 60; - } + var19.x -= var5 * 128; + var19.y -= var6 * 128; + } + } - return var2; // L: 815 - } + for(var7 = 0; var7 < 2048; ++var7) { + Player var22 = Client.players[var7]; + if (var22 != null) { + for(var9 = 0; var9 < 10; ++var9) { + var22.pathX[var9] -= var5; + var22.pathY[var9] -= var6; + } + + var22.x -= var5 * 128; + var22.y -= var6 * 128; + } + } + + byte var20 = 0; + byte var8 = 104; + byte var21 = 1; + if (var5 < 0) { + var20 = 103; + var8 = -1; + var21 = -1; + } + + byte var10 = 0; + byte var11 = 104; + byte var12 = 1; + if (var6 < 0) { + var10 = 103; + var11 = -1; + var12 = -1; + } + + int var14; + for(int var13 = var20; var13 != var8; var13 += var21) { + for(var14 = var10; var11 != var14; var14 += var12) { + int var15 = var5 + var13; + int var16 = var6 + var14; + + for(int var17 = 0; var17 < 4; ++var17) { + if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { + Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; + } else { + Client.groundItems[var17][var13][var14] = null; + } + } + } + } + + for(PendingSpawn var18 = (PendingSpawn)Client.pendingSpawns.last(); var18 != null; var18 = (PendingSpawn)Client.pendingSpawns.previous()) { + var18.x -= var5; + var18.y -= var6; + if (var18.x < 0 || var18.y < 0 || var18.x >= 104 || var18.y >= 104) { + var18.remove(); + } + } + + if (Client.destinationX != 0) { + Client.destinationX -= var5; + Client.destinationY -= var6; + } + + Client.soundEffectCount = 0; + Client.isCameraLocked = false; + SecureRandomFuture.cameraX -= var5 << 7; + ObjectSound.cameraZ -= var6 << 7; + HealthBarUpdate.oculusOrbFocalPointX -= var5 << 7; + ApproximateRouteStrategy.oculusOrbFocalPointY -= var6 << 7; + Client.field889 = -1; + Client.graphicsObjects.clear(); + Client.projectiles.clear(); + + for(var14 = 0; var14 < 4; ++var14) { + Client.collisionMaps[var14].clear(); + } + + } + } } diff --git a/runescape-client/src/main/java/PcmStream.java b/runescape-client/src/main/java/PcmStream.java index 0504b85439..b47c00312d 100644 --- a/runescape-client/src/main/java/PcmStream.java +++ b/runescape-client/src/main/java/PcmStream.java @@ -3,69 +3,65 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("di") +@ObfuscatedName("dw") @Implements("PcmStream") public abstract class PcmStream extends Node { - @ObfuscatedName("w") - @Export("active") - volatile boolean active; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Ldi;" - ) - @Export("after") - PcmStream after; - @ObfuscatedName("b") - int field1508; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Ldg;" - ) - @Export("sound") - AbstractSound sound; + @ObfuscatedName("w") + @Export("active") + volatile boolean active = true; + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Ldw;" + ) + @Export("after") + PcmStream after; + @ObfuscatedName("f") + int field1511; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Ldn;" + ) + @Export("sound") + AbstractSound sound; - protected PcmStream() { - this.active = true; // L: 11 - } // L: 13 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("firstSubStream") + protected abstract PcmStream firstSubStream(); - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("firstSubStream") - protected abstract PcmStream firstSubStream(); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("nextSubStream") + protected abstract PcmStream nextSubStream(); - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("nextSubStream") - protected abstract PcmStream nextSubStream(); + @ObfuscatedName("e") + protected abstract int vmethod4099(); - @ObfuscatedName("p") - protected abstract int vmethod3927(); + @ObfuscatedName("q") + @Export("fill") + protected abstract void fill(int[] var1, int var2, int var3); - @ObfuscatedName("l") - @Export("fill") - protected abstract void fill(int[] var1, int var2, int var3); + @ObfuscatedName("s") + @Export("skip") + protected abstract void skip(int var1); - @ObfuscatedName("u") - @Export("skip") - protected abstract void skip(int var1); + @ObfuscatedName("bi") + int vmethod2880() { + return 255; + } - @ObfuscatedName("ay") - int vmethod2800() { - return 255; // L: 16 - } + @ObfuscatedName("em") + @Export("update") + final void update(int[] var1, int var2, int var3) { + if (this.active) { + this.fill(var1, var2, var3); + } else { + this.skip(var3); + } - @ObfuscatedName("fh") - @Export("update") - final void update(int[] var1, int var2, int var3) { - if (this.active) { // L: 24 - this.fill(var1, var2, var3); - } else { - this.skip(var3); // L: 25 - } - - } // L: 26 + } } diff --git a/runescape-client/src/main/java/PcmStreamMixer.java b/runescape-client/src/main/java/PcmStreamMixer.java index 467525d454..4d147f182d 100644 --- a/runescape-client/src/main/java/PcmStreamMixer.java +++ b/runescape-client/src/main/java/PcmStreamMixer.java @@ -3,201 +3,194 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("de") +@ObfuscatedName("di") @Implements("PcmStreamMixer") public class PcmStreamMixer extends PcmStream { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("subStreams") - NodeDeque subStreams; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - NodeDeque field1357; - @ObfuscatedName("x") - int field1356; - @ObfuscatedName("t") - int field1359; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("subStreams") + NodeDeque subStreams = new NodeDeque(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + NodeDeque field1353 = new NodeDeque(); + @ObfuscatedName("d") + int field1354 = 0; + @ObfuscatedName("c") + int field1355 = -1; - public PcmStreamMixer() { - this.subStreams = new NodeDeque(); // L: 9 - this.field1357 = new NodeDeque(); // L: 10 - this.field1356 = 0; // L: 11 - this.field1359 = -1; // L: 12 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ldw;)V" + ) + @Export("addSubStream") + public final synchronized void addSubStream(PcmStream var1) { + this.subStreams.addLast(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ldi;)V" - ) - @Export("addSubStream") - public final synchronized void addSubStream(PcmStream var1) { - this.subStreams.addLast(var1); // L: 15 - } // L: 16 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ldw;)V" + ) + @Export("removeSubStream") + public final synchronized void removeSubStream(PcmStream var1) { + var1.remove(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ldi;)V" - ) - @Export("removeSubStream") - public final synchronized void removeSubStream(PcmStream var1) { - var1.remove(); // L: 19 - } // L: 20 + @ObfuscatedName("d") + void method2456() { + if (this.field1354 > 0) { + for(PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field1353.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field1353.previous()) { + var1.field1466 -= this.field1354; + } - @ObfuscatedName("x") - void method2354() { - if (this.field1356 > 0) { // L: 23 - for (PcmStreamMixerListener var1 = (PcmStreamMixerListener)this.field1357.last(); var1 != null; var1 = (PcmStreamMixerListener)this.field1357.previous()) { // L: 24 - var1.field1464 -= this.field1356; // L: 25 - } + this.field1355 -= this.field1354; + this.field1354 = 0; + } - this.field1359 -= this.field1356; // L: 27 - this.field1356 = 0; // L: 28 - } + } - } // L: 30 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lga;Ldr;)V" + ) + void method2458(Node var1, PcmStreamMixerListener var2) { + while(this.field1353.sentinel != var1 && ((PcmStreamMixerListener)var1).field1466 <= var2.field1466) { + var1 = var1.previous; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lgu;Ldd;)V" - ) - void method2355(Node var1, PcmStreamMixerListener var2) { - while (this.field1357.sentinel != var1 && ((PcmStreamMixerListener)var1).field1464 <= var2.field1464) { // L: 33 - var1 = var1.previous; - } + NodeDeque.NodeDeque_addBefore(var2, var1); + this.field1355 = ((PcmStreamMixerListener)this.field1353.sentinel.previous).field1466; + } - NodeDeque.NodeDeque_addBefore(var2, var1); // L: 34 - this.field1359 = ((PcmStreamMixerListener)this.field1357.sentinel.previous).field1464; // L: 35 - } // L: 36 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ldr;)V" + ) + void method2459(PcmStreamMixerListener var1) { + var1.remove(); + var1.remove2(); + Node var2 = this.field1353.sentinel.previous; + if (var2 == this.field1353.sentinel) { + this.field1355 = -1; + } else { + this.field1355 = ((PcmStreamMixerListener)var2).field1466; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Ldd;)V" - ) - void method2351(PcmStreamMixerListener var1) { - var1.remove(); // L: 39 - var1.remove2(); // L: 40 - Node var2 = this.field1357.sentinel.previous; // L: 41 - if (var2 == this.field1357.sentinel) { - this.field1359 = -1; // L: 42 - } else { - this.field1359 = ((PcmStreamMixerListener)var2).field1464; // L: 43 - } + } - } // L: 44 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + return (PcmStream)this.subStreams.last(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return (PcmStream)this.subStreams.last(); // L: 47 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + return (PcmStream)this.subStreams.previous(); + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return (PcmStream)this.subStreams.previous(); // L: 51 - } + @ObfuscatedName("e") + protected int vmethod4099() { + return 0; + } - @ObfuscatedName("p") - protected int vmethod3927() { - return 0; // L: 55 - } + @ObfuscatedName("q") + @Export("fill") + public final synchronized void fill(int[] var1, int var2, int var3) { + do { + if (this.field1355 < 0) { + this.updateSubStreams(var1, var2, var3); + return; + } - @ObfuscatedName("l") - @Export("fill") - public final synchronized void fill(int[] var1, int var2, int var3) { - do { - if (this.field1359 < 0) { // L: 60 - this.updateSubStreams(var1, var2, var3); // L: 61 - return; // L: 62 - } + if (var3 + this.field1354 < this.field1355) { + this.field1354 += var3; + this.updateSubStreams(var1, var2, var3); + return; + } - if (var3 + this.field1356 < this.field1359) { // L: 64 - this.field1356 += var3; // L: 65 - this.updateSubStreams(var1, var2, var3); // L: 66 - return; // L: 67 - } + int var4 = this.field1355 - this.field1354; + this.updateSubStreams(var1, var2, var4); + var2 += var4; + var3 -= var4; + this.field1354 += var4; + this.method2456(); + PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field1353.last(); + synchronized(var5) { + int var7 = var5.update(); + if (var7 < 0) { + var5.field1466 = 0; + this.method2459(var5); + } else { + var5.field1466 = var7; + this.method2458(var5.previous, var5); + } + } + } while(var3 != 0); - int var4 = this.field1359 - this.field1356; // L: 69 - this.updateSubStreams(var1, var2, var4); // L: 70 - var2 += var4; // L: 71 - var3 -= var4; // L: 72 - this.field1356 += var4; // L: 73 - this.method2354(); // L: 74 - PcmStreamMixerListener var5 = (PcmStreamMixerListener)this.field1357.last(); // L: 75 - synchronized(var5) { // L: 76 - int var7 = var5.update(); // L: 77 - if (var7 < 0) { // L: 78 - var5.field1464 = 0; // L: 79 - this.method2351(var5); // L: 80 - } else { - var5.field1464 = var7; // L: 83 - this.method2355(var5.previous, var5); // L: 84 - } - } - } while(var3 != 0); // L: 87 + } - } + @ObfuscatedName("l") + @Export("updateSubStreams") + void updateSubStreams(int[] var1, int var2, int var3) { + for(PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { + var4.update(var1, var2, var3); + } - @ObfuscatedName("z") - @Export("updateSubStreams") - void updateSubStreams(int[] var1, int var2, int var3) { - for (PcmStream var4 = (PcmStream)this.subStreams.last(); var4 != null; var4 = (PcmStream)this.subStreams.previous()) { // L: 92 - var4.update(var1, var2, var3); // L: 93 - } + } - } // L: 95 + @ObfuscatedName("s") + @Export("skip") + public final synchronized void skip(int var1) { + do { + if (this.field1355 < 0) { + this.skipSubStreams(var1); + return; + } - @ObfuscatedName("u") - @Export("skip") - public final synchronized void skip(int var1) { - do { - if (this.field1359 < 0) { // L: 99 - this.skipSubStreams(var1); // L: 100 - return; // L: 101 - } + if (this.field1354 + var1 < this.field1355) { + this.field1354 += var1; + this.skipSubStreams(var1); + return; + } - if (this.field1356 + var1 < this.field1359) { // L: 103 - this.field1356 += var1; // L: 104 - this.skipSubStreams(var1); // L: 105 - return; // L: 106 - } + int var2 = this.field1355 - this.field1354; + this.skipSubStreams(var2); + var1 -= var2; + this.field1354 += var2; + this.method2456(); + PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field1353.last(); + synchronized(var3) { + int var5 = var3.update(); + if (var5 < 0) { + var3.field1466 = 0; + this.method2459(var3); + } else { + var3.field1466 = var5; + this.method2458(var3.previous, var3); + } + } + } while(var1 != 0); - int var2 = this.field1359 - this.field1356; // L: 108 - this.skipSubStreams(var2); // L: 109 - var1 -= var2; // L: 110 - this.field1356 += var2; // L: 111 - this.method2354(); // L: 112 - PcmStreamMixerListener var3 = (PcmStreamMixerListener)this.field1357.last(); // L: 113 - synchronized(var3) { // L: 114 - int var5 = var3.update(); // L: 115 - if (var5 < 0) { // L: 116 - var3.field1464 = 0; // L: 117 - this.method2351(var3); // L: 118 - } else { - var3.field1464 = var5; // L: 121 - this.method2355(var3.previous, var3); // L: 122 - } - } - } while(var1 != 0); // L: 125 + } - } + @ObfuscatedName("b") + @Export("skipSubStreams") + void skipSubStreams(int var1) { + for(PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { + var2.skip(var1); + } - @ObfuscatedName("e") - @Export("skipSubStreams") - void skipSubStreams(int var1) { - for (PcmStream var2 = (PcmStream)this.subStreams.last(); var2 != null; var2 = (PcmStream)this.subStreams.previous()) { // L: 130 - var2.skip(var1); // L: 131 - } - - } // L: 133 + } } diff --git a/runescape-client/src/main/java/PcmStreamMixerListener.java b/runescape-client/src/main/java/PcmStreamMixerListener.java index 1bef29da6d..69855b4fab 100644 --- a/runescape-client/src/main/java/PcmStreamMixerListener.java +++ b/runescape-client/src/main/java/PcmStreamMixerListener.java @@ -3,20 +3,20 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dd") +@ObfuscatedName("dr") @Implements("PcmStreamMixerListener") public abstract class PcmStreamMixerListener extends Node { - @ObfuscatedName("h") - int field1464; + @ObfuscatedName("n") + int field1466; - @ObfuscatedName("h") - @Export("remove2") - abstract void remove2(); + @ObfuscatedName("n") + @Export("remove2") + abstract void remove2(); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lde;)I" - ) - @Export("update") - abstract int update(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ldi;)I" + ) + @Export("update") + abstract int update(); } diff --git a/runescape-client/src/main/java/PendingSpawn.java b/runescape-client/src/main/java/PendingSpawn.java index 71867b49be..1c15585c7b 100644 --- a/runescape-client/src/main/java/PendingSpawn.java +++ b/runescape-client/src/main/java/PendingSpawn.java @@ -3,106 +3,649 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bp") +@ObfuscatedName("bo") @Implements("PendingSpawn") public final class PendingSpawn extends Node { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -561970277 - ) - @Export("plane") - int plane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 2016613855 - ) - @Export("type") - int type; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1300188483 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1005104193 - ) - @Export("x") - int x; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -179134245 - ) - @Export("objectId") - int objectId; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1421473345 - ) - int field929; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1135196695 - ) - int field935; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1885792769 - ) - @Export("id") - int id; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 281500635 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1520740959 - ) - int field933; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1918474747 - ) - @Export("delay") - int delay; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -470194177 - ) - @Export("hitpoints") - int hitpoints; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -67559491 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1512914817 + ) + @Export("type") + int type; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -333030369 + ) + @Export("x") + int x; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1122963499 + ) + @Export("y") + int y; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1919980867 + ) + @Export("objectId") + int objectId; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1123556215 + ) + int field944; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1772002075 + ) + int field945; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 2057325195 + ) + @Export("id") + int id; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1376003913 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -251784439 + ) + int field948; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 6874789 + ) + @Export("delay") + int delay = 0; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 738564505 + ) + @Export("hitpoints") + int hitpoints = -1; - PendingSpawn() { - this.delay = 0; // L: 16 - this.hitpoints = -1; // L: 17 - } // L: 19 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkd;IB)V", + garbageValue = "-61" + ) + @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; + } - @ObfuscatedName("jy") - @ObfuscatedSignature( - descriptor = "([Lhe;Lhe;ZB)V", - garbageValue = "0" - ) - @Export("revalidateWidgetScroll") - static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { - int var3 = var1.scrollWidth != 0 ? var1.scrollWidth * 23997287 * -1515274153 : var1.width * -1889150965 * -832572509; // L: 9467 - int var4 = var1.scrollHeight != 0 ? var1.scrollHeight * -1479373561 * -1602400073 : var1.height * 1772768209 * -1282937551; // L: 9468 - Interpreter.resizeInterface(var0, var1.id, var3, var4, var2); // L: 9469 - if (var1.children != null) { // L: 9470 - Interpreter.resizeInterface(var1.children, var1.id, var3, var4, var2); - } + int var3 = var0.readBits(2); + Player var4 = Client.players[var1]; + if (var3 == 0) { + if (var2) { + var4.field652 = false; + } else if (Client.localPlayerIndex == var1) { + throw new RuntimeException(); + } else { + Players.Players_regions[var1] = (var4.plane << 28) + (GrandExchangeOfferNameComparator.baseX * 64 + var4.pathX[0] >> 13 << 14) + (NetCache.baseY * 64 + var4.pathY[0] >> 13); + if (var4.field981 != -1) { + Players.Players_orientations[var1] = var4.field981; + } else { + Players.Players_orientations[var1] = var4.orientation; + } - InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); // L: 9471 - if (var5 != null) { - WorldMapManager.method686(var5.group, var3, var4, var2); // L: 9472 - } + Players.Players_targetIndices[var1] = var4.targetIndex; + Client.players[var1] = null; + if (var0.readBits(1) != 0) { + World.updateExternalPlayer(var0, var1); + } - if (var1.contentType == 1337) { // L: 9473 - } + } + } 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; + } - } // L: 9474 + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var6, var7); + var4.field652 = false; + } else if (var2) { + var4.field652 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field652 = false; + var4.method1327(var6, var7, Players.field1274[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.field652 = true; + var4.tileX = var6; + var4.tileY = var7; + } else { + var4.field652 = false; + var4.method1327(var6, var7, Players.field1274[var1]); + } + } else { + var4.resetPath(var6, var7); + var4.field652 = false; + } + + } 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.field652 = false; + } else if (var2) { + var4.field652 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field652 = false; + var4.method1327(var10, var11, Players.field1274[var1]); + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + class90.Client_plane = var4.plane; + } + + } else { + var6 = var0.readBits(30); + var7 = var6 >> 28; + var8 = var6 >> 14 & 16383; + var9 = var6 & 16383; + var10 = (GrandExchangeOfferNameComparator.baseX * 64 + var8 + var4.pathX[0] & 16383) - GrandExchangeOfferNameComparator.baseX * 64; + var11 = (NetCache.baseY * 64 + var9 + var4.pathY[0] & 16383) - NetCache.baseY * 64; + if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { + var4.resetPath(var10, var11); + var4.field652 = false; + } else if (var2) { + var4.field652 = true; + var4.tileX = var10; + var4.tileY = var11; + } else { + var4.field652 = false; + var4.method1327(var10, var11, Players.field1274[var1]); + } + + var4.plane = (byte)(var7 + var4.plane & 3); + if (Client.localPlayerIndex == var1) { + class90.Client_plane = var4.plane; + } + + } + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "-1139571995" + ) + @Export("Messages_getNextChatID") + static int Messages_getNextChatID(int var0) { + Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); + if (var1 == null) { + return -1; + } else { + return var1.previousDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.previousDual).count; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "54" + ) + static int method1845(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemId; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { + if (var3.itemId != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.itemQuantity; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_GETID) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.childIndex; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-369076606" + ) + static int method1846(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.publicChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { + Interpreter.Interpreter_intStackSize -= 3; + Client.publicChatMode = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + ArchiveLoader.privateChatMode = UserComparator5.method3604(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + if (ArchiveLoader.privateChatMode == null) { + ArchiveLoader.privateChatMode = PrivateChatMode.field3830; + } + + Client.tradeChatMode = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + PacketBufferNode var18 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2264, Client.packetWriter.isaacCipher); + var18.packetBuffer.writeByte(Client.publicChatMode); + var18.packetBuffer.writeByte(ArchiveLoader.privateChatMode.field3832); + var18.packetBuffer.writeByte(Client.tradeChatMode); + Client.packetWriter.addNode(var18); + return 1; + } else { + String var3; + int var11; + if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + Interpreter.Interpreter_intStackSize -= 2; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var12 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + PacketBufferNode var13 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2314, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var3) + 2); + var13.packetBuffer.writeStringCp1252NullTerminated(var3); + var13.packetBuffer.writeByte(var11 - 1); + var13.packetBuffer.writeByte(var12); + Client.packetWriter.addNode(var13); + return 1; + } else { + int var10; + if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { + Interpreter.Interpreter_intStackSize -= 2; + var10 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Message var16 = class89.Messages_getByChannelAndID(var10, var11); + if (var16 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.count; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.cycle; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.sender != null ? var16.sender : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.prefix != null ? var16.prefix : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.text != null ? var16.text : ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var16.isFromFriend() ? 1 : (var16.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Message var14 = NPC.Messages_getMessage(var10); + if (var14 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.type; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.cycle; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.sender != null ? var14.sender : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.prefix != null ? var14.prefix : ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.text != null ? var14.text : ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.isFromFriend() ? 1 : (var14.isFromIgnored() ? 2 : 0); + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { + if (ArchiveLoader.privateChatMode == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = ArchiveLoader.privateChatMode.field3832; + } + + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var11 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + String var15 = var3.toLowerCase(); + byte var17 = 0; + if (var15.startsWith("yellow:")) { + var17 = 0; + var3 = var3.substring("yellow:".length()); + } else if (var15.startsWith("red:")) { + var17 = 1; + var3 = var3.substring("red:".length()); + } else if (var15.startsWith("green:")) { + var17 = 2; + var3 = var3.substring("green:".length()); + } else if (var15.startsWith("cyan:")) { + var17 = 3; + var3 = var3.substring("cyan:".length()); + } else if (var15.startsWith("purple:")) { + var17 = 4; + var3 = var3.substring("purple:".length()); + } else if (var15.startsWith("white:")) { + var17 = 5; + var3 = var3.substring("white:".length()); + } else if (var15.startsWith("flash1:")) { + var17 = 6; + var3 = var3.substring("flash1:".length()); + } else if (var15.startsWith("flash2:")) { + var17 = 7; + var3 = var3.substring("flash2:".length()); + } else if (var15.startsWith("flash3:")) { + var17 = 8; + var3 = var3.substring("flash3:".length()); + } else if (var15.startsWith("glow1:")) { + var17 = 9; + var3 = var3.substring("glow1:".length()); + } else if (var15.startsWith("glow2:")) { + var17 = 10; + var3 = var3.substring("glow2:".length()); + } else if (var15.startsWith("glow3:")) { + var17 = 11; + var3 = var3.substring("glow3:".length()); + } else if (Language.Language_EN != NPCComposition.clientLanguage) { + if (var15.startsWith("yellow:")) { + var17 = 0; + var3 = var3.substring("yellow:".length()); + } else if (var15.startsWith("red:")) { + var17 = 1; + var3 = var3.substring("red:".length()); + } else if (var15.startsWith("green:")) { + var17 = 2; + var3 = var3.substring("green:".length()); + } else if (var15.startsWith("cyan:")) { + var17 = 3; + var3 = var3.substring("cyan:".length()); + } else if (var15.startsWith("purple:")) { + var17 = 4; + var3 = var3.substring("purple:".length()); + } else if (var15.startsWith("white:")) { + var17 = 5; + var3 = var3.substring("white:".length()); + } else if (var15.startsWith("flash1:")) { + var17 = 6; + var3 = var3.substring("flash1:".length()); + } else if (var15.startsWith("flash2:")) { + var17 = 7; + var3 = var3.substring("flash2:".length()); + } else if (var15.startsWith("flash3:")) { + var17 = 8; + var3 = var3.substring("flash3:".length()); + } else if (var15.startsWith("glow1:")) { + var17 = 9; + var3 = var3.substring("glow1:".length()); + } else if (var15.startsWith("glow2:")) { + var17 = 10; + var3 = var3.substring("glow2:".length()); + } else if (var15.startsWith("glow3:")) { + var17 = 11; + var3 = var3.substring("glow3:".length()); + } + } + + var15 = var3.toLowerCase(); + byte var7 = 0; + if (var15.startsWith("wave:")) { + var7 = 1; + var3 = var3.substring("wave:".length()); + } else if (var15.startsWith("wave2:")) { + var7 = 2; + var3 = var3.substring("wave2:".length()); + } else if (var15.startsWith("shake:")) { + var7 = 3; + var3 = var3.substring("shake:".length()); + } else if (var15.startsWith("scroll:")) { + var7 = 4; + var3 = var3.substring("scroll:".length()); + } else if (var15.startsWith("slide:")) { + var7 = 5; + var3 = var3.substring("slide:".length()); + } else if (NPCComposition.clientLanguage != Language.Language_EN) { + if (var15.startsWith("wave:")) { + var7 = 1; + var3 = var3.substring("wave:".length()); + } else if (var15.startsWith("wave2:")) { + var7 = 2; + var3 = var3.substring("wave2:".length()); + } else if (var15.startsWith("shake:")) { + var7 = 3; + var3 = var3.substring("shake:".length()); + } else if (var15.startsWith("scroll:")) { + var7 = 4; + var3 = var3.substring("scroll:".length()); + } else if (var15.startsWith("slide:")) { + var7 = 5; + var3 = var3.substring("slide:".length()); + } + } + + PacketBufferNode var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2293, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeByte(0); + int var9 = var8.packetBuffer.offset; + var8.packetBuffer.writeByte(var11); + var8.packetBuffer.writeByte(var17); + var8.packetBuffer.writeByte(var7); + Clock.method3721(var8.packetBuffer, var3); + var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); + Client.packetWriter.addNode(var8); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { + Interpreter.Interpreter_stringStackSize -= 2; + var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; + String var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; + PacketBufferNode var5 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2289, Client.packetWriter.isaacCipher); + var5.packetBuffer.writeShort(0); + int var6 = var5.packetBuffer.offset; + var5.packetBuffer.writeStringCp1252NullTerminated(var3); + Clock.method3721(var5.packetBuffer, var4); + var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6); + Client.packetWriter.addNode(var5); + return 1; + } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { + if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.tradeChatMode; + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = MilliClock.Messages_getHistorySize(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Messages_getNextChatID(var10); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { + var10 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = HealthBarUpdate.Messages_getLastChatID(var10); + return 1; + } else if (var0 == ScriptOpcodes.DOCHEAT) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + WorldMapSection0.doCheat(var3); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { + Client.field882 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize].toLowerCase().trim(); + return 1; + } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Client.field882; + return 1; + } else if (var0 == ScriptOpcodes.DEBUGMES) { + var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + System.out.println(var3); + return 1; + } else { + return 2; + } + } else { + if (UserComparator9.localPlayer != null && UserComparator9.localPlayer.username != null) { + var3 = UserComparator9.localPlayer.username.getName(); + } else { + var3 = ""; + } + + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; + return 1; + } + } + } + } + + @ObfuscatedName("ks") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZI)V", + garbageValue = "1774948144" + ) + @Export("findItemDefinitions") + static void findItemDefinitions(String var0, boolean var1) { + var0 = var0.toLowerCase(); + short[] var2 = new short[16]; + int var3 = 0; + + for(int var4 = 0; var4 < class52.ItemDefinition_fileCount; ++var4) { + ItemComposition var9 = class281.ItemDefinition_get(var4); + if ((!var1 || var9.isTradable) && var9.noteTemplate == -1 && var9.name.toLowerCase().indexOf(var0) != -1) { + if (var3 >= 250) { + NPC.foundItemIdCount = -1; + class52.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; + } + } + + class52.foundItemIds = var2; + WorldMapLabelSize.foundItemIndex = 0; + NPC.foundItemIdCount = var3; + String[] var8 = new String[NPC.foundItemIdCount]; + + for(int var5 = 0; var5 < NPC.foundItemIdCount; ++var5) { + var8[var5] = class281.ItemDefinition_get(var2[var5]).name; + } + + HealthBarUpdate.method1873(var8, class52.foundItemIds); + } } diff --git a/runescape-client/src/main/java/PlatformInfo.java b/runescape-client/src/main/java/PlatformInfo.java index 0a0ce48d0c..522b259434 100644 --- a/runescape-client/src/main/java/PlatformInfo.java +++ b/runescape-client/src/main/java/PlatformInfo.java @@ -4,188 +4,212 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mf") +@ObfuscatedName("mn") @Implements("PlatformInfo") public class PlatformInfo extends Node { - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = -622798091 - ) - int field3950; - @ObfuscatedName("ac") - boolean field3964; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = -598446107 - ) - int field3970; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 100950821 - ) - int field3956; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 2569291 - ) - int field3959; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -345735103 - ) - int field3960; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -1780669889 - ) - int field3957; - @ObfuscatedName("aa") - boolean field3962; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 1651186511 - ) - int field3945; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1652125295 - ) - int field3975; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -1267108745 - ) - int field3958; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = -906951475 - ) - int field3966; - @ObfuscatedName("ai") - String field3967; - @ObfuscatedName("al") - String field3968; - @ObfuscatedName("ay") - String field3949; - @ObfuscatedName("af") - String field3969; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -1702101169 - ) - int field3971; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 812667753 - ) - int field3961; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -92695857 - ) - int field3973; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 293448253 - ) - int field3952; - @ObfuscatedName("by") - String field3963; - @ObfuscatedName("bs") - String field3976; - @ObfuscatedName("br") - int[] field3977; - @ObfuscatedName("bl") - @ObfuscatedGetter( - intValue = -497607943 - ) - int field3978; - @ObfuscatedName("bx") - String field3979; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 815275653 + ) + int field3945; + @ObfuscatedName("ak") + boolean field3951; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -1145818319 + ) + int field3952; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -1017850713 + ) + int field3953; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 1420360389 + ) + int field3956; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = 522167755 + ) + int field3955; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = 1444442479 + ) + int field3967; + @ObfuscatedName("aw") + boolean field3957; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -881839919 + ) + int field3958; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 1492819171 + ) + int field3959; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = -612286533 + ) + int field3960; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = 445372909 + ) + int field3962; + @ObfuscatedName("ai") + String field3972; + @ObfuscatedName("ab") + String field3963; + @ObfuscatedName("au") + String field3964; + @ObfuscatedName("ad") + String field3942; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = -543314391 + ) + int field3966; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = -1469678885 + ) + int field3950; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -771005193 + ) + int field3968; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = 2032975169 + ) + int field3961; + @ObfuscatedName("bn") + String field3970; + @ObfuscatedName("bi") + String field3971; + @ObfuscatedName("bp") + int[] field3948 = new int[3]; + @ObfuscatedName("br") + @ObfuscatedGetter( + intValue = 988785623 + ) + int field3973; + @ObfuscatedName("bq") + String field3974; - PlatformInfo(int var1, boolean var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11, int var12, String var13, String var14, String var15, String var16, int var17, int var18, int var19, int var20, String var21, String var22, int[] var23, int var24, String var25) { - this.field3977 = new int[3]; // L: 62 - this.field3950 = var1; // L: 67 - this.field3964 = var2; // L: 68 - this.field3970 = var3; // L: 69 - this.field3956 = var4; // L: 70 - this.field3959 = var5; // L: 71 - this.field3960 = var6; // L: 72 - this.field3957 = var7; // L: 73 - this.field3962 = var8; // L: 74 - this.field3945 = var9; // L: 75 - this.field3975 = var10; // L: 76 - this.field3958 = var11; // L: 77 - this.field3966 = var12; // L: 78 - this.field3967 = var13; // L: 79 - this.field3968 = var14; // L: 80 - this.field3949 = var15; // L: 81 - this.field3969 = var16; // L: 82 - this.field3971 = var17; // L: 83 - this.field3961 = var18; // L: 84 - this.field3973 = var19; // L: 85 - this.field3952 = var20; // L: 86 - this.field3963 = var21; // L: 87 - this.field3976 = var22; // L: 88 - this.field3977 = var23; // L: 89 - this.field3978 = var24; // L: 90 - this.field3979 = var25; // L: 91 - } // L: 92 + PlatformInfo(int var1, boolean var2, int var3, int var4, int var5, int var6, int var7, boolean var8, int var9, int var10, int var11, int var12, String var13, String var14, String var15, String var16, int var17, int var18, int var19, int var20, String var21, String var22, int[] var23, int var24, String var25) { + this.field3945 = var1; + this.field3951 = var2; + this.field3952 = var3; + this.field3953 = var4; + this.field3956 = var5; + this.field3955 = var6; + this.field3967 = var7; + this.field3957 = var8; + this.field3958 = var9; + this.field3959 = var10; + this.field3960 = var11; + this.field3962 = var12; + this.field3972 = var13; + this.field3963 = var14; + this.field3964 = var15; + this.field3942 = var16; + this.field3966 = var17; + this.field3950 = var18; + this.field3968 = var19; + this.field3961 = var20; + this.field3970 = var21; + this.field3971 = var22; + this.field3948 = var23; + this.field3973 = var24; + this.field3974 = var25; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "5" - ) - @Export("write") - public void write(Buffer var1) { - var1.writeByte(8); // L: 95 - var1.writeByte(this.field3950); // L: 96 - var1.writeByte(this.field3964 ? 1 : 0); // L: 97 - var1.writeShort(this.field3970); // L: 98 - var1.writeByte(this.field3956); // L: 99 - var1.writeByte(this.field3959); // L: 100 - var1.writeByte(this.field3960); // L: 101 - var1.writeByte(this.field3957); // L: 102 - var1.writeByte(this.field3962 ? 1 : 0); // L: 103 - var1.writeShort(this.field3945); // L: 104 - var1.writeByte(this.field3975); // L: 105 - var1.writeMedium(this.field3958); // L: 106 - var1.writeShort(this.field3966); // L: 107 - var1.writeStringCp1252NullCircumfixed(this.field3967); // L: 108 - var1.writeStringCp1252NullCircumfixed(this.field3968); // L: 109 - var1.writeStringCp1252NullCircumfixed(this.field3949); // L: 110 - var1.writeStringCp1252NullCircumfixed(this.field3969); // L: 111 - var1.writeByte(this.field3961); // L: 112 - var1.writeShort(this.field3971); // L: 113 - var1.writeStringCp1252NullCircumfixed(this.field3963); // L: 114 - var1.writeStringCp1252NullCircumfixed(this.field3976); // L: 115 - var1.writeByte(this.field3973); // L: 116 - var1.writeByte(this.field3952); // L: 117 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1387696137" + ) + @Export("write") + public void write(Buffer var1) { + var1.writeByte(8); + var1.writeByte(this.field3945); + var1.writeByte(this.field3951 ? 1 : 0); + var1.writeShort(this.field3952); + var1.writeByte(this.field3953); + var1.writeByte(this.field3956); + var1.writeByte(this.field3955); + var1.writeByte(this.field3967); + var1.writeByte(this.field3957 ? 1 : 0); + var1.writeShort(this.field3958); + var1.writeByte(this.field3959); + var1.writeMedium(this.field3960); + var1.writeShort(this.field3962); + var1.writeStringCp1252NullCircumfixed(this.field3972); + var1.writeStringCp1252NullCircumfixed(this.field3963); + var1.writeStringCp1252NullCircumfixed(this.field3964); + var1.writeStringCp1252NullCircumfixed(this.field3942); + var1.writeByte(this.field3950); + var1.writeShort(this.field3966); + var1.writeStringCp1252NullCircumfixed(this.field3970); + var1.writeStringCp1252NullCircumfixed(this.field3971); + var1.writeByte(this.field3968); + var1.writeByte(this.field3961); - for (int var2 = 0; var2 < this.field3977.length; ++var2) { // L: 118 - var1.writeInt(this.field3977[var2]); - } + for(int var2 = 0; var2 < this.field3948.length; ++var2) { + var1.writeInt(this.field3948[var2]); + } - var1.writeInt(this.field3978); // L: 119 - var1.writeStringCp1252NullCircumfixed(this.field3979); // L: 120 - } // L: 121 + var1.writeInt(this.field3973); + var1.writeStringCp1252NullCircumfixed(this.field3974); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "68" - ) - @Export("size") - public int size() { - byte var1 = 39; // L: 124 - int var2 = var1 + SoundSystem.method2566(this.field3967); // L: 125 - var2 += SoundSystem.method2566(this.field3968); // L: 126 - var2 += SoundSystem.method2566(this.field3949); // L: 127 - var2 += SoundSystem.method2566(this.field3969); // L: 128 - var2 += SoundSystem.method2566(this.field3963); // L: 129 - var2 += SoundSystem.method2566(this.field3976); // L: 130 - var2 += SoundSystem.method2566(this.field3979); // L: 131 - return var2; // L: 132 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-90" + ) + @Export("size") + public int size() { + byte var1 = 39; + int var11 = var1 + ApproximateRouteStrategy.method1314(this.field3972); + var11 += ApproximateRouteStrategy.method1314(this.field3963); + var11 += ApproximateRouteStrategy.method1314(this.field3964); + var11 += ApproximateRouteStrategy.method1314(this.field3942); + String var4 = this.field3970; + int var3 = var4.length() + 2; + var11 += var3; + String var7 = this.field3971; + int var6 = var7.length() + 2; + var11 += var6; + String var10 = this.field3974; + int var9 = var10.length() + 2; + var11 += var9; + return var11; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;B)V", + garbageValue = "-1" + ) + @Export("addChatMessage") + static void addChatMessage(int var0, String var1, String var2, String var3) { + ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); + if (var4 == null) { + var4 = new ChatChannel(); + Messages.Messages_channels.put(var0, var4); + } + + Message var5 = var4.addMessage(var0, var1, var2, var3); + Messages.Messages_hashTable.put(var5, (long)var5.count); + Messages.Messages_queue.add(var5); + Client.chatCycle = Client.cycleCntr; + } } diff --git a/runescape-client/src/main/java/PlatformInfoProvider.java b/runescape-client/src/main/java/PlatformInfoProvider.java index 93f7f50cda..fbfe7f16f2 100644 --- a/runescape-client/src/main/java/PlatformInfoProvider.java +++ b/runescape-client/src/main/java/PlatformInfoProvider.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mi") +@ObfuscatedName("md") @Implements("PlatformInfoProvider") public interface PlatformInfoProvider { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Lmf;", - garbageValue = "-1820791637" - ) - @Export("get") - PlatformInfo get(); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Lmn;", + garbageValue = "583399336" + ) + @Export("get") + PlatformInfo get(); } diff --git a/runescape-client/src/main/java/Player.java b/runescape-client/src/main/java/Player.java index fd66ee817f..b8bb8d1346 100644 --- a/runescape-client/src/main/java/Player.java +++ b/runescape-client/src/main/java/Player.java @@ -4,1045 +4,919 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bq") +@ObfuscatedName("bk") @Implements("Player") public final class Player extends Actor { - @ObfuscatedName("hh") - @ObfuscatedGetter( - intValue = 838938309 - ) - @Export("cameraX") - static int cameraX; - @ObfuscatedName("mq") - @ObfuscatedGetter( - intValue = -726280905 - ) - @Export("selectedSpellFlags") - static int selectedSpellFlags; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - @Export("username") - Username username; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lhh;" - ) - @Export("appearance") - PlayerComposition appearance; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1265111393 - ) - @Export("headIconPk") - int headIconPk; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 732262151 - ) - @Export("headIconPrayer") - int headIconPrayer; - @ObfuscatedName("j") - @Export("actions") - String[] actions; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -818142941 - ) - @Export("combatLevel") - int combatLevel; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 906508591 - ) - @Export("skillLevel") - int skillLevel; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1192790671 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 1807661199 - ) - @Export("animationCycleStart") - int animationCycleStart; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -124646805 - ) - @Export("animationCycleEnd") - int animationCycleEnd; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -508660831 - ) - int field634; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1663722753 - ) - @Export("tileHeight2") - int tileHeight2; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 89818503 - ) - int field626; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Leh;" - ) - @Export("model0") - Model model0; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = 291010439 - ) - int field620; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 2101860893 - ) - int field606; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1794275211 - ) - int field622; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1140466467 - ) - int field623; - @ObfuscatedName("r") - @Export("isUnanimated") - boolean isUnanimated; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -577457335 - ) - @Export("team") - int team; - @ObfuscatedName("g") - @Export("isHidden") - boolean isHidden; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -285633019 - ) - @Export("plane") - int plane; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1218536575 - ) - @Export("index") - int index; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("isFriendTriBool") - TriBool isFriendTriBool; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("isInClanChat") - TriBool isInClanChat; - @ObfuscatedName("aj") - boolean field631; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 732463017 - ) - @Export("tileX") - int tileX; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -548320531 - ) - @Export("tileY") - int tileY; - - Player() { - this.headIconPk = -1; // L: 18 - this.headIconPrayer = -1; // L: 19 - this.actions = new String[3]; // L: 21 - - for (int var1 = 0; var1 < 3; ++var1) { // L: 24 - this.actions[var1] = ""; - } - - this.combatLevel = 0; // L: 27 - this.skillLevel = 0; // L: 28 - this.animationCycleStart = 0; // L: 30 - this.animationCycleEnd = 0; // L: 31 - this.isUnanimated = false; // L: 40 - this.team = 0; // L: 41 - this.isHidden = false; // L: 42 - this.isFriendTriBool = TriBool.TriBool_unknown; // L: 45 - this.isInClanChat = TriBool.TriBool_unknown; // L: 46 - this.field631 = false; // L: 47 - } // L: 51 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "-58" - ) - @Export("read") - final void read(Buffer var1) { - var1.offset = 0; // L: 54 - int var2 = var1.readUnsignedByte(); // L: 55 - this.headIconPk = var1.readByte(); // L: 56 - this.headIconPrayer = var1.readByte(); // L: 57 - int var3 = -1; // L: 58 - this.team = 0; // L: 59 - int[] var4 = new int[12]; // L: 60 - - int var6; - int var7; - for (int var5 = 0; var5 < 12; ++var5) { // L: 61 - var6 = var1.readUnsignedByte(); // L: 62 - if (var6 == 0) { // L: 63 - var4[var5] = 0; // L: 64 - } else { - var7 = var1.readUnsignedByte(); // L: 67 - var4[var5] = var7 + (var6 << 8); // L: 68 - if (var5 == 0 && var4[0] == 65535) { // L: 69 - var3 = var1.readUnsignedShort(); // L: 70 - break; - } - - if (var4[var5] >= 512) { // L: 73 - int var8 = SecureRandomCallable.ItemDefinition_get(var4[var5] - 512).team; // L: 74 - if (var8 != 0) { // L: 75 - this.team = var8; - } - } - } - } - - int[] var9 = new int[5]; // L: 78 - - for (var6 = 0; var6 < 5; ++var6) { // L: 79 - var7 = var1.readUnsignedByte(); // L: 80 - if (var7 < 0 || var7 >= WorldMapScaleHandler.field366[var6].length) { // L: 81 - var7 = 0; - } - - var9[var6] = var7; // L: 82 - } - - super.idleSequence = var1.readUnsignedShort(); // L: 84 - if (super.idleSequence == 65535) { // L: 85 - super.idleSequence = -1; - } - - super.turnLeftSequence = var1.readUnsignedShort(); // L: 86 - if (super.turnLeftSequence == 65535) { // L: 87 - super.turnLeftSequence = -1; - } - - super.turnRightSequence = super.turnLeftSequence; // L: 88 - super.walkSequence = var1.readUnsignedShort(); // L: 89 - if (super.walkSequence == 65535) { // L: 90 - super.walkSequence = -1; - } - - super.walkBackSequence = var1.readUnsignedShort(); // L: 91 - if (super.walkBackSequence == 65535) { // L: 92 - super.walkBackSequence = -1; - } - - super.walkLeftSequence = var1.readUnsignedShort(); // L: 93 - if (super.walkLeftSequence == 65535) { - super.walkLeftSequence = -1; // L: 94 - } - - super.walkRightSequence = var1.readUnsignedShort(); // L: 95 - if (super.walkRightSequence == 65535) { // L: 96 - super.walkRightSequence = -1; - } - - super.runSequence = var1.readUnsignedShort(); // L: 97 - if (super.runSequence == 65535) { // L: 98 - super.runSequence = -1; - } - - this.username = new Username(var1.readStringCp1252NullTerminated(), GrandExchangeOfferUnitPriceComparator.loginType); // L: 99 - this.clearIsFriend(); // L: 100 - this.clearIsInClanChat(); // L: 101 - if (this == PlayerComposition.localPlayer) { // L: 102 - RunException.localPlayerName = this.username.getName(); - } - - this.combatLevel = var1.readUnsignedByte(); // L: 103 - this.skillLevel = var1.readUnsignedShort(); // L: 104 - this.isHidden = var1.readUnsignedByte() == 1; // L: 105 - if (Client.gameBuild == 0 && Client.staffModLevel >= 2) { // L: 106 - this.isHidden = false; - } - - if (this.appearance == null) { // L: 107 - this.appearance = new PlayerComposition(); - } - - this.appearance.update(var4, var9, var2 == 1, var3); // L: 108 - } // L: 109 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "338154305" - ) - @Export("isFriend") - boolean isFriend() { - if (this.isFriendTriBool == TriBool.TriBool_unknown) { // L: 112 - this.checkIsFriend(); // L: 113 - } - - return this.isFriendTriBool == TriBool.TriBool_true; // L: 115 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-730921547" - ) - @Export("clearIsFriend") - void clearIsFriend() { - this.isFriendTriBool = TriBool.TriBool_unknown; // L: 119 - } // L: 120 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "886706251" - ) - @Export("checkIsFriend") - void checkIsFriend() { - this.isFriendTriBool = MilliClock.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 123 - } // L: 124 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-26" - ) - @Export("isClanMember") - boolean isClanMember() { - if (this.isInClanChat == TriBool.TriBool_unknown) { // L: 127 - this.updateIsInClanChat(); // L: 128 - } - - return this.isInClanChat == TriBool.TriBool_true; // L: 130 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1880119871" - ) - @Export("clearIsInClanChat") - void clearIsInClanChat() { - this.isInClanChat = TriBool.TriBool_unknown; // L: 134 - } // L: 135 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "327273294" - ) - @Export("updateIsInClanChat") - void updateIsInClanChat() { - this.isInClanChat = WorldMapArea.clanChat != null && WorldMapArea.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; // L: 138 - } // L: 139 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-20" - ) - @Export("transformedSize") - int transformedSize() { - return this.appearance != null && this.appearance.npcTransformId != -1 ? WorldMapIcon_0.getNpcDefinition(this.appearance.npcTransformId).size : 1; // L: 142 143 145 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - if (this.appearance == null) { // L: 149 - return null; - } else { - SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? ParamComposition.SequenceDefinition_get(super.sequence) : null; // L: 150 - SequenceDefinition var2 = super.movementSequence == -1 || this.isUnanimated || super.idleSequence == super.movementSequence && var1 != null ? null : ParamComposition.SequenceDefinition_get(super.movementSequence); // L: 151 - Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); // L: 152 - if (var3 == null) { // L: 153 - return null; - } else { - var3.calculateBoundsCylinder(); // L: 154 - super.defaultHeight = var3.height; // L: 155 - Model var4; - Model[] var5; - if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { // L: 156 - var4 = TileItem.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); // L: 157 - if (var4 != null) { // L: 158 - var4.offsetBy(0, -super.field979, 0); // L: 159 - var5 = new Model[]{var3, var4}; // L: 160 - var3 = new Model(var5, 2); // L: 161 - } - } - - if (!this.isUnanimated && this.model0 != null) { // L: 164 - if (Client.cycle >= this.animationCycleEnd) { // L: 165 - this.model0 = null; - } - - if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { // L: 166 - var4 = this.model0; // L: 167 - var4.offsetBy(this.field634 - super.x, this.tileHeight2 - this.tileHeight, this.field626 - super.y); // L: 168 - if (super.orientation == 512) { // L: 169 - var4.rotateY90Ccw(); // L: 170 - var4.rotateY90Ccw(); // L: 171 - var4.rotateY90Ccw(); // L: 172 - } else if (super.orientation == 1024) { // L: 174 - var4.rotateY90Ccw(); // L: 175 - var4.rotateY90Ccw(); // L: 176 - } else if (super.orientation == 1536) { // L: 178 - var4.rotateY90Ccw(); - } - - var5 = new Model[]{var3, var4}; // L: 179 - var3 = new Model(var5, 2); // L: 180 - if (super.orientation == 512) { // L: 181 - var4.rotateY90Ccw(); - } else if (super.orientation == 1024) { // L: 182 - var4.rotateY90Ccw(); // L: 183 - var4.rotateY90Ccw(); // L: 184 - } else if (super.orientation == 1536) { // L: 186 - var4.rotateY90Ccw(); // L: 187 - var4.rotateY90Ccw(); // L: 188 - var4.rotateY90Ccw(); // L: 189 - } - - var4.offsetBy(super.x - this.field634, this.tileHeight - this.tileHeight2, super.y - this.field626); // L: 191 - } - } - - var3.isSingleTile = true; // L: 194 - return var3; // L: 195 - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IIBI)V", - garbageValue = "1635620178" - ) - final void method1313(int var1, int var2, byte var3) { - if (super.sequence != -1 && ParamComposition.SequenceDefinition_get(super.sequence).field3555 == 1) { // L: 199 - super.sequence = -1; - } - - super.field959 = -1; // L: 200 - if (var1 >= 0 && var1 < 104 && var2 >= 0 && var2 < 104) { // L: 201 - if (super.pathX[0] >= 0 && super.pathX[0] < 104 && super.pathY[0] >= 0 && super.pathY[0] < 104) { // L: 202 - if (var3 == 2) { // L: 204 - Player var4 = this; // L: 205 - int var5 = super.pathX[0]; // L: 207 - int var6 = super.pathY[0]; // L: 208 - int var7 = this.transformedSize(); // L: 209 - if (var5 >= var7 && var5 < 104 - var7 && var6 >= var7 && var6 < 104 - var7 && var1 >= var7 && var1 < 104 - var7 && var2 >= var7 && var2 < 104 - var7) { // L: 210 211 - int var9 = this.transformedSize(); // L: 213 - Client.field919.approxDestinationX = var1; // L: 216 - Client.field919.approxDestinationY = var2; // L: 217 - Client.field919.approxDestinationSizeX = 1; // L: 218 - Client.field919.approxDestinationSizeY = 1; // L: 219 - ApproximateRouteStrategy var10 = Client.field919; // L: 220 - ApproximateRouteStrategy var11 = var10; // L: 222 - CollisionMap var12 = Client.collisionMaps[this.plane]; // L: 223 - int[] var13 = Client.field920; // L: 224 - int[] var14 = Client.field921; // L: 225 - int var15 = 0; - - label686: - while (true) { - int var16; - if (var15 >= 128) { - int var17; - int var18; - byte var19; - byte var20; - int var21; - int var22; - byte var23; - int var24; - int[][] var25; - int var26; - int var27; - int var28; - int var29; - boolean var35; - boolean var36; - int var37; - int var38; - int var40; - if (var9 == 1) { // L: 234 - var17 = var5; // L: 237 - var18 = var6; // L: 238 - var19 = 64; // L: 239 - var20 = 64; // L: 240 - var21 = var5 - var19; // L: 241 - var22 = var6 - var20; // L: 242 - class182.directions[var19][var20] = 99; // L: 243 - class182.distances[var19][var20] = 0; // L: 244 - var23 = 0; // L: 245 - var24 = 0; // L: 246 - class182.bufferX[var23] = var5; // L: 247 - var40 = var23 + 1; - class182.bufferY[var23] = var6; // L: 248 - var25 = var12.flags; // L: 249 - - while (true) { - if (var24 == var40) { // L: 252 - class182.field2115 = var17; // L: 324 - class182.field2121 = var18; // L: 325 - var36 = false; // L: 326 - break; - } - - var17 = class182.bufferX[var24]; // L: 253 - var18 = class182.bufferY[var24]; // L: 254 - var24 = var24 + 1 & 4095; // L: 255 - var37 = var17 - var21; // L: 256 - var38 = var18 - var22; // L: 257 - var26 = var17 - var12.xInset; // L: 258 - var27 = var18 - var12.yInset; // L: 259 - if (var11.hasArrived(1, var17, var18, var12)) { // L: 260 - class182.field2115 = var17; // L: 261 - class182.field2121 = var18; // L: 262 - var36 = true; // L: 263 - break; - } - - var28 = class182.distances[var37][var38] + 1; // L: 266 - if (var37 > 0 && class182.directions[var37 - 1][var38] == 0 && (var25[var26 - 1][var27] & 19136776) == 0) { // L: 267 - class182.bufferX[var40] = var17 - 1; // L: 268 - class182.bufferY[var40] = var18; // L: 269 - var40 = var40 + 1 & 4095; // L: 270 - class182.directions[var37 - 1][var38] = 2; // L: 271 - class182.distances[var37 - 1][var38] = var28; // L: 272 - } - - if (var37 < 127 && class182.directions[var37 + 1][var38] == 0 && (var25[var26 + 1][var27] & 19136896) == 0) { // L: 274 - class182.bufferX[var40] = var17 + 1; // L: 275 - class182.bufferY[var40] = var18; // L: 276 - var40 = var40 + 1 & 4095; // L: 277 - class182.directions[var37 + 1][var38] = 8; // L: 278 - class182.distances[var37 + 1][var38] = var28; // L: 279 - } - - if (var38 > 0 && class182.directions[var37][var38 - 1] == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { // L: 281 - class182.bufferX[var40] = var17; // L: 282 - class182.bufferY[var40] = var18 - 1; // L: 283 - var40 = var40 + 1 & 4095; // L: 284 - class182.directions[var37][var38 - 1] = 1; // L: 285 - class182.distances[var37][var38 - 1] = var28; // L: 286 - } - - if (var38 < 127 && class182.directions[var37][var38 + 1] == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { // L: 288 - class182.bufferX[var40] = var17; // L: 289 - class182.bufferY[var40] = var18 + 1; // L: 290 - var40 = var40 + 1 & 4095; // L: 291 - class182.directions[var37][var38 + 1] = 4; // L: 292 - class182.distances[var37][var38 + 1] = var28; // L: 293 - } - - if (var37 > 0 && var38 > 0 && class182.directions[var37 - 1][var38 - 1] == 0 && (var25[var26 - 1][var27 - 1] & 19136782) == 0 && (var25[var26 - 1][var27] & 19136776) == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { // L: 295 - class182.bufferX[var40] = var17 - 1; // L: 296 - class182.bufferY[var40] = var18 - 1; // L: 297 - var40 = var40 + 1 & 4095; // L: 298 - class182.directions[var37 - 1][var38 - 1] = 3; // L: 299 - class182.distances[var37 - 1][var38 - 1] = var28; // L: 300 - } - - if (var37 < 127 && var38 > 0 && class182.directions[var37 + 1][var38 - 1] == 0 && (var25[var26 + 1][var27 - 1] & 19136899) == 0 && (var25[var26 + 1][var27] & 19136896) == 0 && (var25[var26][var27 - 1] & 19136770) == 0) { // L: 302 - class182.bufferX[var40] = var17 + 1; // L: 303 - class182.bufferY[var40] = var18 - 1; // L: 304 - var40 = var40 + 1 & 4095; // L: 305 - class182.directions[var37 + 1][var38 - 1] = 9; // L: 306 - class182.distances[var37 + 1][var38 - 1] = var28; // L: 307 - } - - if (var37 > 0 && var38 < 127 && class182.directions[var37 - 1][var38 + 1] == 0 && (var25[var26 - 1][var27 + 1] & 19136824) == 0 && (var25[var26 - 1][var27] & 19136776) == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { // L: 309 - class182.bufferX[var40] = var17 - 1; // L: 310 - class182.bufferY[var40] = var18 + 1; // L: 311 - var40 = var40 + 1 & 4095; // L: 312 - class182.directions[var37 - 1][var38 + 1] = 6; // L: 313 - class182.distances[var37 - 1][var38 + 1] = var28; // L: 314 - } - - if (var37 < 127 && var38 < 127 && class182.directions[var37 + 1][var38 + 1] == 0 && (var25[var26 + 1][var27 + 1] & 19136992) == 0 && (var25[var26 + 1][var27] & 19136896) == 0 && (var25[var26][var27 + 1] & 19136800) == 0) { // L: 316 - class182.bufferX[var40] = var17 + 1; // L: 317 - class182.bufferY[var40] = var18 + 1; // L: 318 - var40 = var40 + 1 & 4095; // L: 319 - class182.directions[var37 + 1][var38 + 1] = 12; // L: 320 - class182.distances[var37 + 1][var38 + 1] = var28; // L: 321 - } - } - - var35 = var36; // L: 328 - } else if (var9 == 2) { // L: 330 - var35 = class231.method4152(var5, var6, var10, var12); - } else { - var17 = var5; // L: 334 - var18 = var6; // L: 335 - var19 = 64; // L: 336 - var20 = 64; // L: 337 - var21 = var5 - var19; // L: 338 - var22 = var6 - var20; // L: 339 - class182.directions[var19][var20] = 99; // L: 340 - class182.distances[var19][var20] = 0; // L: 341 - var23 = 0; // L: 342 - var24 = 0; // L: 343 - class182.bufferX[var23] = var5; // L: 344 - var40 = var23 + 1; - class182.bufferY[var23] = var6; // L: 345 - var25 = var12.flags; // L: 346 - - label672: - while (true) { - label670: - while (true) { - do { - do { - do { - label647: - do { - if (var24 == var40) { // L: 347 - class182.field2115 = var17; // L: 467 - class182.field2121 = var18; // L: 468 - var36 = false; // L: 469 - break label672; - } - - var17 = class182.bufferX[var24]; // L: 348 - var18 = class182.bufferY[var24]; // L: 349 - var24 = var24 + 1 & 4095; // L: 350 - var37 = var17 - var21; // L: 351 - var38 = var18 - var22; // L: 352 - var26 = var17 - var12.xInset; // L: 353 - var27 = var18 - var12.yInset; // L: 354 - if (var11.hasArrived(var9, var17, var18, var12)) { // L: 355 - class182.field2115 = var17; // L: 356 - class182.field2121 = var18; // L: 357 - var36 = true; // L: 358 - break label672; - } - - var28 = class182.distances[var37][var38] + 1; // L: 361 - if (var37 > 0 && class182.directions[var37 - 1][var38] == 0 && (var25[var26 - 1][var27] & 19136782) == 0 && (var25[var26 - 1][var27 + var9 - 1] & 19136824) == 0) { // L: 362 363 364 365 - var29 = 1; - - while (true) { - if (var29 >= var9 - 1) { - class182.bufferX[var40] = var17 - 1; // L: 369 - class182.bufferY[var40] = var18; // L: 370 - var40 = var40 + 1 & 4095; // L: 371 - class182.directions[var37 - 1][var38] = 2; // L: 372 - class182.distances[var37 - 1][var38] = var28; // L: 373 - break; - } - - if ((var25[var26 - 1][var29 + var27] & 19136830) != 0) { // L: 367 - break; - } - - ++var29; // L: 366 - } - } - - if (var37 < 128 - var9 && class182.directions[var37 + 1][var38] == 0 && (var25[var9 + var26][var27] & 19136899) == 0 && (var25[var26 + var9][var9 + var27 - 1] & 19136992) == 0) { // L: 375 376 377 378 - var29 = 1; - - while (true) { - if (var29 >= var9 - 1) { - class182.bufferX[var40] = var17 + 1; // L: 382 - class182.bufferY[var40] = var18; // L: 383 - var40 = var40 + 1 & 4095; // L: 384 - class182.directions[var37 + 1][var38] = 8; // L: 385 - class182.distances[var37 + 1][var38] = var28; // L: 386 - break; - } - - if ((var25[var26 + var9][var27 + var29] & 19136995) != 0) { // L: 380 - break; - } - - ++var29; // L: 379 - } - } - - if (var38 > 0 && class182.directions[var37][var38 - 1] == 0 && (var25[var26][var27 - 1] & 19136782) == 0 && (var25[var9 + var26 - 1][var27 - 1] & 19136899) == 0) { // L: 388 389 390 391 - var29 = 1; - - while (true) { - if (var29 >= var9 - 1) { - class182.bufferX[var40] = var17; // L: 395 - class182.bufferY[var40] = var18 - 1; // L: 396 - var40 = var40 + 1 & 4095; // L: 397 - class182.directions[var37][var38 - 1] = 1; // L: 398 - class182.distances[var37][var38 - 1] = var28; // L: 399 - break; - } - - if ((var25[var26 + var29][var27 - 1] & 19136911) != 0) { // L: 393 - break; - } - - ++var29; // L: 392 - } - } - - if (var38 < 128 - var9 && class182.directions[var37][var38 + 1] == 0 && (var25[var26][var27 + var9] & 19136824) == 0 && (var25[var9 + var26 - 1][var9 + var27] & 19136992) == 0) { // L: 401 402 403 404 - var29 = 1; - - while (true) { - if (var29 >= var9 - 1) { - class182.bufferX[var40] = var17; // L: 408 - class182.bufferY[var40] = var18 + 1; // L: 409 - var40 = var40 + 1 & 4095; // L: 410 - class182.directions[var37][var38 + 1] = 4; // L: 411 - class182.distances[var37][var38 + 1] = var28; // L: 412 - break; - } - - if ((var25[var29 + var26][var9 + var27] & 19137016) != 0) { // L: 406 - break; - } - - ++var29; // L: 405 - } - } - - if (var37 > 0 && var38 > 0 && class182.directions[var37 - 1][var38 - 1] == 0 && (var25[var26 - 1][var27 - 1] & 19136782) == 0) { // L: 414 415 416 - var29 = 1; - - while (true) { - if (var29 >= var9) { - class182.bufferX[var40] = var17 - 1; // L: 421 - class182.bufferY[var40] = var18 - 1; // L: 422 - var40 = var40 + 1 & 4095; // L: 423 - class182.directions[var37 - 1][var38 - 1] = 3; // L: 424 - class182.distances[var37 - 1][var38 - 1] = var28; // L: 425 - break; - } - - if ((var25[var26 - 1][var29 + (var27 - 1)] & 19136830) != 0 || (var25[var29 + (var26 - 1)][var27 - 1] & 19136911) != 0) { // L: 418 419 - break; - } - - ++var29; // L: 417 - } - } - - if (var37 < 128 - var9 && var38 > 0 && class182.directions[var37 + 1][var38 - 1] == 0 && (var25[var26 + var9][var27 - 1] & 19136899) == 0) { // L: 427 428 429 - var29 = 1; - - while (true) { - if (var29 >= var9) { - class182.bufferX[var40] = var17 + 1; // L: 434 - class182.bufferY[var40] = var18 - 1; // L: 435 - var40 = var40 + 1 & 4095; // L: 436 - class182.directions[var37 + 1][var38 - 1] = 9; // L: 437 - class182.distances[var37 + 1][var38 - 1] = var28; // L: 438 - break; - } - - if ((var25[var26 + var9][var29 + (var27 - 1)] & 19136995) != 0 || (var25[var26 + var29][var27 - 1] & 19136911) != 0) { // L: 431 432 - break; - } - - ++var29; // L: 430 - } - } - - if (var37 > 0 && var38 < 128 - var9 && class182.directions[var37 - 1][var38 + 1] == 0 && (var25[var26 - 1][var9 + var27] & 19136824) == 0) { // L: 440 441 442 - for (var29 = 1; var29 < var9; ++var29) { // L: 443 - if ((var25[var26 - 1][var29 + var27] & 19136830) != 0 || (var25[var29 + (var26 - 1)][var27 + var9] & 19137016) != 0) { // L: 444 445 - continue label647; - } - } - - class182.bufferX[var40] = var17 - 1; // L: 447 - class182.bufferY[var40] = var18 + 1; // L: 448 - var40 = var40 + 1 & 4095; // L: 449 - class182.directions[var37 - 1][var38 + 1] = 6; // L: 450 - class182.distances[var37 - 1][var38 + 1] = var28; // L: 451 - } - } while(var37 >= 128 - var9); // L: 453 - } while(var38 >= 128 - var9); - } while(class182.directions[var37 + 1][var38 + 1] != 0); // L: 454 - } while((var25[var9 + var26][var9 + var27] & 19136992) != 0); // L: 455 - - for (var29 = 1; var29 < var9; ++var29) { // L: 456 - if ((var25[var26 + var29][var9 + var27] & 19137016) != 0 || (var25[var9 + var26][var29 + var27] & 19136995) != 0) { // L: 457 458 - continue label670; - } - } - - class182.bufferX[var40] = var17 + 1; // L: 460 - class182.bufferY[var40] = var18 + 1; // L: 461 - var40 = var40 + 1 & 4095; // L: 462 - class182.directions[var37 + 1][var38 + 1] = 12; // L: 463 - class182.distances[var37 + 1][var38 + 1] = var28; // L: 464 - } - } - - var35 = var36; // L: 471 - } - - int var8; - label727: { - var16 = var5 - 64; // L: 473 - var17 = var6 - 64; // L: 474 - var18 = class182.field2115; // L: 475 - var37 = class182.field2121; // L: 476 - if (!var35) { // L: 477 - var38 = Integer.MAX_VALUE; // L: 479 - var21 = Integer.MAX_VALUE; // L: 480 - byte var39 = 10; // L: 481 - var40 = var11.approxDestinationX; // L: 482 - var24 = var11.approxDestinationY; // L: 483 - int var34 = var11.approxDestinationSizeX; // L: 484 - var26 = var11.approxDestinationSizeY; // L: 485 - - for (var27 = var40 - var39; var27 <= var39 + var40; ++var27) { // L: 486 - for (var28 = var24 - var39; var28 <= var39 + var24; ++var28) { // L: 487 - var29 = var27 - var16; // L: 488 - int var30 = var28 - var17; // L: 489 - if (var29 >= 0 && var30 >= 0 && var29 < 128 && var30 < 128 && class182.distances[var29][var30] < 100) { // L: 490 491 - int var31 = 0; // L: 492 - if (var27 < var40) { // L: 493 - var31 = var40 - var27; - } else if (var27 > var40 + var34 - 1) { // L: 494 - var31 = var27 - (var40 + var34 - 1); - } - - int var32 = 0; // L: 495 - if (var28 < var24) { // L: 496 - var32 = var24 - var28; - } else if (var28 > var26 + var24 - 1) { // L: 497 - var32 = var28 - (var24 + var26 - 1); - } - - int var33 = var31 * var31 + var32 * var32; // L: 498 - if (var33 < var38 || var38 == var33 && class182.distances[var29][var30] < var21) { // L: 499 - var38 = var33; // L: 500 - var21 = class182.distances[var29][var30]; // L: 501 - var18 = var27; // L: 502 - var37 = var28; // L: 503 - } - } - } - } - - if (var38 == Integer.MAX_VALUE) { // L: 509 - var8 = -1; // L: 510 - break label727; - } - } - - if (var18 == var5 && var37 == var6) { // L: 519 - var8 = 0; // L: 520 - } else { - var20 = 0; // L: 523 - class182.bufferX[var20] = var18; // L: 526 - var38 = var20 + 1; - class182.bufferY[var20] = var37; // L: 527 - - for (var21 = var22 = class182.directions[var18 - var16][var37 - var17]; var18 != var5 || var37 != var6; var21 = class182.directions[var18 - var16][var37 - var17]) { // L: 528 529 539 - if (var22 != var21) { // L: 530 - var22 = var21; // L: 531 - class182.bufferX[var38] = var18; // L: 532 - class182.bufferY[var38++] = var37; // L: 533 - } - - if ((var21 & 2) != 0) { // L: 535 - ++var18; - } else if ((var21 & 8) != 0) { // L: 536 - --var18; - } - - if ((var21 & 1) != 0) { // L: 537 - ++var37; - } else if ((var21 & 4) != 0) { // L: 538 - --var37; - } - } - - var40 = 0; // L: 541 - - while (var38-- > 0) { // L: 542 - var13[var40] = class182.bufferX[var38]; // L: 543 - var14[var40++] = class182.bufferY[var38]; // L: 544 - if (var40 >= var13.length) { // L: 545 - break; - } - } - - var8 = var40; // L: 547 - } - } - - var15 = var8; // L: 549 - if (var8 < 1) { // L: 550 - break; - } - - var16 = 0; // L: 551 - - while (true) { - if (var16 >= var15 - 1) { - break label686; - } - - var4.method1315(Client.field920[var16], Client.field921[var16], (byte)2); - ++var16; - } - } - - for (var16 = 0; var16 < 128; ++var16) { // L: 228 - class182.directions[var15][var16] = 0; // L: 229 - class182.distances[var15][var16] = 99999999; // L: 230 - } - - ++var15; // L: 227 - } - } - } - - this.method1315(var1, var2, var3); // L: 554 - } else { - this.resetPath(var1, var2); - } - } else { - this.resetPath(var1, var2); - } - - } // L: 556 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "273949660" - ) - @Export("resetPath") - void resetPath(int var1, int var2) { - super.pathLength = 0; // L: 559 - super.field996 = 0; // L: 560 - super.field963 = 0; // L: 561 - super.pathX[0] = var1; // L: 562 - super.pathY[0] = var2; // L: 563 - int var3 = this.transformedSize(); // L: 564 - super.x = var3 * 64 + super.pathX[0] * 128; // L: 565 - super.y = super.pathY[0] * 128 + var3 * 64; // L: 566 - } // L: 567 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIBI)V", - garbageValue = "-52932388" - ) - final void method1315(int var1, int var2, byte var3) { - if (super.pathLength < 9) { // L: 570 - ++super.pathLength; - } - - for (int var4 = super.pathLength; var4 > 0; --var4) { // L: 571 - super.pathX[var4] = super.pathX[var4 - 1]; // L: 572 - super.pathY[var4] = super.pathY[var4 - 1]; // L: 573 - super.pathTraversed[var4] = super.pathTraversed[var4 - 1]; // L: 574 - } - - super.pathX[0] = var1; // L: 576 - super.pathY[0] = var2; // L: 577 - super.pathTraversed[0] = var3; // L: 578 - } // L: 579 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "1661589479" - ) - @Export("isVisible") - final boolean isVisible() { - return this.appearance != null; // L: 582 - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Lhe;IIII)V", - garbageValue = "715521473" - ) - @Export("Widget_setKeyRate") - static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { - if (var0.field2679 == null) { // L: 928 - throw new RuntimeException(); // L: 929 - } else { - var0.field2679[var1] = var2; // L: 931 - var0.field2664[var1] = var3; // L: 932 - } - } // L: 933 - - @ObfuscatedName("ki") - @ObfuscatedSignature( - descriptor = "(Lhe;I)Lhe;", - garbageValue = "1020097317" - ) - static Widget method1351(Widget var0) { - Widget var2 = var0; // L: 10553 - int var4 = FaceNormal.getWidgetFlags(var0); // L: 10556 - int var3 = var4 >> 17 & 7; // L: 10558 - int var5 = var3; // L: 10560 - Widget var1; - if (var3 == 0) { // L: 10561 - var1 = null; // L: 10562 - } else { - int var6 = 0; - - while (true) { - if (var6 >= var5) { - var1 = var2; // L: 10572 - break; - } - - var2 = CollisionMap.getWidget(var2.parentId); // L: 10566 - if (var2 == null) { // L: 10567 - var1 = null; // L: 10568 - break; // L: 10569 - } - - ++var6; // L: 10565 - } - } - - Widget var7 = var1; // L: 10574 - if (var1 == null) { // L: 10575 - var7 = var0.parent; - } - - return var7; // L: 10576 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lkk;" + ) + @Export("username") + Username username; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lhu;" + ) + @Export("appearance") + PlayerComposition appearance; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -542532009 + ) + @Export("headIconPk") + int headIconPk = -1; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 2086179455 + ) + @Export("headIconPrayer") + int headIconPrayer = -1; + @ObfuscatedName("h") + @Export("actions") + String[] actions = new String[3]; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1032185691 + ) + @Export("combatLevel") + int combatLevel; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -844211389 + ) + @Export("skillLevel") + int skillLevel; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 2099878383 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1111564727 + ) + @Export("animationCycleStart") + int animationCycleStart; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1006983921 + ) + @Export("animationCycleEnd") + int animationCycleEnd; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 2021402629 + ) + int field637; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -141826323 + ) + @Export("tileHeight2") + int tileHeight2; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -2121626467 + ) + int field639; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lef;" + ) + @Export("model0") + Model model0; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 123594343 + ) + int field641; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 2053334325 + ) + int field642; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1294199975 + ) + int field640; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -1259880177 + ) + int field644; + @ObfuscatedName("u") + @Export("isUnanimated") + boolean isUnanimated; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1563525681 + ) + @Export("team") + int team; + @ObfuscatedName("p") + @Export("isHidden") + boolean isHidden; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 1722408107 + ) + @Export("plane") + int plane; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -1541347041 + ) + @Export("index") + int index; + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("isFriendTriBool") + TriBool isFriendTriBool; + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("isInClanChat") + TriBool isInClanChat; + @ObfuscatedName("ay") + boolean field652; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 1937405249 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = 1915597601 + ) + @Export("tileY") + int tileY; + + Player() { + for(int var1 = 0; var1 < 3; ++var1) { + this.actions[var1] = ""; + } + + this.combatLevel = 0; + this.skillLevel = 0; + this.animationCycleStart = 0; + this.animationCycleEnd = 0; + this.isUnanimated = false; + this.team = 0; + this.isHidden = false; + this.isFriendTriBool = TriBool.TriBool_unknown; + this.isInClanChat = TriBool.TriBool_unknown; + this.field652 = false; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "937296924" + ) + @Export("read") + final void read(Buffer var1) { + var1.offset = 0; + int var2 = var1.readUnsignedByte(); + this.headIconPk = var1.readByte(); + this.headIconPrayer = var1.readByte(); + int var3 = -1; + this.team = 0; + int[] var4 = new int[12]; + + int var6; + int var7; + for(int var5 = 0; var5 < 12; ++var5) { + var6 = var1.readUnsignedByte(); + if (var6 == 0) { + var4[var5] = 0; + } else { + var7 = var1.readUnsignedByte(); + var4[var5] = var7 + (var6 << 8); + if (var5 == 0 && var4[0] == 65535) { + var3 = var1.readUnsignedShort(); + break; + } + + if (var4[var5] >= 512) { + int var8 = class281.ItemDefinition_get(var4[var5] - 512).team; + if (var8 != 0) { + this.team = var8; + } + } + } + } + + int[] var9 = new int[5]; + + for(var6 = 0; var6 < 5; ++var6) { + var7 = var1.readUnsignedByte(); + if (var7 < 0 || var7 >= class105.field1339[var6].length) { + var7 = 0; + } + + var9[var6] = var7; + } + + super.idleSequence = var1.readUnsignedShort(); + if (super.idleSequence == 65535) { + super.idleSequence = -1; + } + + super.turnLeftSequence = var1.readUnsignedShort(); + if (super.turnLeftSequence == 65535) { + super.turnLeftSequence = -1; + } + + super.turnRightSequence = super.turnLeftSequence; + super.walkSequence = var1.readUnsignedShort(); + if (super.walkSequence == 65535) { + super.walkSequence = -1; + } + + super.walkBackSequence = var1.readUnsignedShort(); + if (super.walkBackSequence == 65535) { + super.walkBackSequence = -1; + } + + super.walkLeftSequence = var1.readUnsignedShort(); + if (super.walkLeftSequence == 65535) { + super.walkLeftSequence = -1; + } + + super.walkRightSequence = var1.readUnsignedShort(); + if (super.walkRightSequence == 65535) { + super.walkRightSequence = -1; + } + + super.runSequence = var1.readUnsignedShort(); + if (super.runSequence == 65535) { + super.runSequence = -1; + } + + this.username = new Username(var1.readStringCp1252NullTerminated(), Message.loginType); + this.clearIsFriend(); + this.clearIsInClanChat(); + if (this == UserComparator9.localPlayer) { + class1.localPlayerName = this.username.getName(); + } + + this.combatLevel = var1.readUnsignedByte(); + this.skillLevel = var1.readUnsignedShort(); + this.isHidden = var1.readUnsignedByte() == 1; + if (Client.gameBuild == 0 && Client.staffModLevel >= 2) { + this.isHidden = false; + } + + if (this.appearance == null) { + this.appearance = new PlayerComposition(); + } + + this.appearance.update(var4, var9, var2 == 1, var3); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "644215303" + ) + @Export("isFriend") + boolean isFriend() { + if (this.isFriendTriBool == TriBool.TriBool_unknown) { + this.checkIsFriend(); + } + + return this.isFriendTriBool == TriBool.TriBool_true; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "511487286" + ) + @Export("clearIsFriend") + void clearIsFriend() { + this.isFriendTriBool = TriBool.TriBool_unknown; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "667815611" + ) + @Export("checkIsFriend") + void checkIsFriend() { + this.isFriendTriBool = InterfaceParent.friendSystem.isFriendAndHasWorld(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "34388997" + ) + @Export("isClanMember") + boolean isClanMember() { + if (this.isInClanChat == TriBool.TriBool_unknown) { + this.updateIsInClanChat(); + } + + return this.isInClanChat == TriBool.TriBool_true; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-54" + ) + @Export("clearIsInClanChat") + void clearIsInClanChat() { + this.isInClanChat = TriBool.TriBool_unknown; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "3" + ) + @Export("updateIsInClanChat") + void updateIsInClanChat() { + this.isInClanChat = WorldMapID.clanChat != null && WorldMapID.clanChat.contains(this.username) ? TriBool.TriBool_true : TriBool.TriBool_false; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1075941627" + ) + @Export("transformedSize") + int transformedSize() { + return this.appearance != null && this.appearance.npcTransformId != -1 ? class90.getNpcDefinition(this.appearance.npcTransformId).size : 1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + if (this.appearance == null) { + return null; + } else { + SequenceDefinition var1 = super.sequence != -1 && super.sequenceDelay == 0 ? InterfaceParent.SequenceDefinition_get(super.sequence) : null; + SequenceDefinition var2 = super.movementSequence == -1 || this.isUnanimated || super.idleSequence == super.movementSequence && var1 != null ? null : InterfaceParent.SequenceDefinition_get(super.movementSequence); + Model var3 = this.appearance.getModel(var1, super.sequenceFrame, var2, super.movementFrame); + if (var3 == null) { + return null; + } else { + var3.calculateBoundsCylinder(); + super.defaultHeight = var3.height; + Model var4; + Model[] var5; + if (!this.isUnanimated && super.spotAnimation != -1 && super.spotAnimationFrame != -1) { + var4 = AbstractUserComparator.SpotAnimationDefinition_get(super.spotAnimation).getModel(super.spotAnimationFrame); + if (var4 != null) { + var4.offsetBy(0, -super.field994, 0); + var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + } + } + + if (!this.isUnanimated && this.model0 != null) { + if (Client.cycle >= this.animationCycleEnd) { + this.model0 = null; + } + + if (Client.cycle >= this.animationCycleStart && Client.cycle < this.animationCycleEnd) { + var4 = this.model0; + var4.offsetBy(this.field637 * 4096 - super.x, this.tileHeight2 - this.tileHeight, this.field639 * 4096 - super.y); + if (super.orientation == 512) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1024) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1536) { + var4.rotateY90Ccw(); + } + + var5 = new Model[]{var3, var4}; + var3 = new Model(var5, 2); + if (super.orientation == 512) { + var4.rotateY90Ccw(); + } else if (super.orientation == 1024) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } else if (super.orientation == 1536) { + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + var4.rotateY90Ccw(); + } + + var4.offsetBy(super.x - this.field637 * 4096, this.tileHeight - this.tileHeight2, super.y - this.field639 * 4096); + } + } + + var3.isSingleTile = true; + return var3; + } + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IIBI)V", + garbageValue = "1833516243" + ) + final void method1327(int var1, int var2, byte var3) { + if (super.sequence != -1 && InterfaceParent.SequenceDefinition_get(super.sequence).field3565 == 1) { + super.sequence = -1; + } + + super.field981 = -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) { + Player var4 = this; + int var5 = super.pathX[0]; + int var6 = super.pathY[0]; + int var7 = this.transformedSize(); + if (var5 >= var7 && var5 < 104 - var7 && var6 >= var7 && var6 < 104 - var7 && var1 >= var7 && var1 < 104 - var7 && var2 >= var7 && var2 < 104 - var7) { + int var9 = this.transformedSize(); + RouteStrategy var10 = GrandExchangeOfferAgeComparator.method214(var1, var2); + CollisionMap var11 = Client.collisionMaps[this.plane]; + int[] var12 = Client.field708; + int[] var13 = Client.field859; + int var14 = 0; + + label550: + while(true) { + int var15; + if (var14 >= 128) { + int var16; + int var17; + byte var19; + int var20; + int var21; + int var23; + int var25; + int var26; + int var27; + int var28; + boolean var34; + int var36; + int var37; + int var39; + if (var9 == 1) { + var34 = MusicPatchPcmStream.method4098(var5, var6, var10, var11); + } else if (var9 == 2) { + var34 = WorldMapElement.method4591(var5, var6, var10, var11); + } else { + var16 = var5; + var17 = var6; + byte var18 = 64; + var19 = 64; + var20 = var5 - var18; + var21 = var6 - var19; + class182.directions[var18][var19] = 99; + class182.distances[var18][var19] = 0; + byte var22 = 0; + var23 = 0; + class182.bufferX[var22] = var5; + var39 = var22 + 1; + class182.bufferY[var22] = var6; + int[][] var24 = var11.flags; + + boolean var35; + label536: + while(true) { + label534: + while(true) { + do { + do { + do { + label511: + do { + if (var23 == var39) { + class182.field2118 = var16; + class182.field2124 = var17; + var35 = false; + break label536; + } + + var16 = class182.bufferX[var23]; + var17 = class182.bufferY[var23]; + var23 = var23 + 1 & 4095; + var36 = var16 - var20; + var37 = var17 - var21; + var25 = var16 - var11.xInset; + var26 = var17 - var11.yInset; + if (var10.hasArrived(var9, var16, var17, var11)) { + class182.field2118 = var16; + class182.field2124 = var17; + var35 = true; + break label536; + } + + var27 = class182.distances[var36][var37] + 1; + if (var36 > 0 && class182.directions[var36 - 1][var37] == 0 && (var24[var25 - 1][var26] & 19136782) == 0 && (var24[var25 - 1][var9 + var26 - 1] & 19136824) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9 - 1) { + class182.bufferX[var39] = var16 - 1; + class182.bufferY[var39] = var17; + var39 = var39 + 1 & 4095; + class182.directions[var36 - 1][var37] = 2; + class182.distances[var36 - 1][var37] = var27; + break; + } + + if ((var24[var25 - 1][var28 + var26] & 19136830) != 0) { + break; + } + + ++var28; + } + } + + if (var36 < 128 - var9 && class182.directions[var36 + 1][var37] == 0 && (var24[var9 + var25][var26] & 19136899) == 0 && (var24[var25 + var9][var26 + var9 - 1] & 19136992) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9 - 1) { + class182.bufferX[var39] = var16 + 1; + class182.bufferY[var39] = var17; + var39 = var39 + 1 & 4095; + class182.directions[var36 + 1][var37] = 8; + class182.distances[var36 + 1][var37] = var27; + break; + } + + if ((var24[var25 + var9][var28 + var26] & 19136995) != 0) { + break; + } + + ++var28; + } + } + + if (var37 > 0 && class182.directions[var36][var37 - 1] == 0 && (var24[var25][var26 - 1] & 19136782) == 0 && (var24[var25 + var9 - 1][var26 - 1] & 19136899) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9 - 1) { + class182.bufferX[var39] = var16; + class182.bufferY[var39] = var17 - 1; + var39 = var39 + 1 & 4095; + class182.directions[var36][var37 - 1] = 1; + class182.distances[var36][var37 - 1] = var27; + break; + } + + if ((var24[var28 + var25][var26 - 1] & 19136911) != 0) { + break; + } + + ++var28; + } + } + + if (var37 < 128 - var9 && class182.directions[var36][var37 + 1] == 0 && (var24[var25][var26 + var9] & 19136824) == 0 && (var24[var25 + var9 - 1][var9 + var26] & 19136992) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9 - 1) { + class182.bufferX[var39] = var16; + class182.bufferY[var39] = var17 + 1; + var39 = var39 + 1 & 4095; + class182.directions[var36][var37 + 1] = 4; + class182.distances[var36][var37 + 1] = var27; + break; + } + + if ((var24[var28 + var25][var26 + var9] & 19137016) != 0) { + break; + } + + ++var28; + } + } + + if (var36 > 0 && var37 > 0 && class182.directions[var36 - 1][var37 - 1] == 0 && (var24[var25 - 1][var26 - 1] & 19136782) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9) { + class182.bufferX[var39] = var16 - 1; + class182.bufferY[var39] = var17 - 1; + var39 = var39 + 1 & 4095; + class182.directions[var36 - 1][var37 - 1] = 3; + class182.distances[var36 - 1][var37 - 1] = var27; + break; + } + + if ((var24[var25 - 1][var28 + (var26 - 1)] & 19136830) != 0 || (var24[var28 + (var25 - 1)][var26 - 1] & 19136911) != 0) { + break; + } + + ++var28; + } + } + + if (var36 < 128 - var9 && var37 > 0 && class182.directions[var36 + 1][var37 - 1] == 0 && (var24[var25 + var9][var26 - 1] & 19136899) == 0) { + var28 = 1; + + while(true) { + if (var28 >= var9) { + class182.bufferX[var39] = var16 + 1; + class182.bufferY[var39] = var17 - 1; + var39 = var39 + 1 & 4095; + class182.directions[var36 + 1][var37 - 1] = 9; + class182.distances[var36 + 1][var37 - 1] = var27; + break; + } + + if ((var24[var9 + var25][var28 + (var26 - 1)] & 19136995) != 0 || (var24[var25 + var28][var26 - 1] & 19136911) != 0) { + break; + } + + ++var28; + } + } + + if (var36 > 0 && var37 < 128 - var9 && class182.directions[var36 - 1][var37 + 1] == 0 && (var24[var25 - 1][var26 + var9] & 19136824) == 0) { + for(var28 = 1; var28 < var9; ++var28) { + if ((var24[var25 - 1][var26 + var28] & 19136830) != 0 || (var24[var28 + (var25 - 1)][var9 + var26] & 19137016) != 0) { + continue label511; + } + } + + class182.bufferX[var39] = var16 - 1; + class182.bufferY[var39] = var17 + 1; + var39 = var39 + 1 & 4095; + class182.directions[var36 - 1][var37 + 1] = 6; + class182.distances[var36 - 1][var37 + 1] = var27; + } + } while(var36 >= 128 - var9); + } while(var37 >= 128 - var9); + } while(class182.directions[var36 + 1][var37 + 1] != 0); + } while((var24[var25 + var9][var9 + var26] & 19136992) != 0); + + for(var28 = 1; var28 < var9; ++var28) { + if ((var24[var25 + var28][var26 + var9] & 19137016) != 0 || (var24[var9 + var25][var26 + var28] & 19136995) != 0) { + continue label534; + } + } + + class182.bufferX[var39] = var16 + 1; + class182.bufferY[var39] = var17 + 1; + var39 = var39 + 1 & 4095; + class182.directions[var36 + 1][var37 + 1] = 12; + class182.distances[var36 + 1][var37 + 1] = var27; + } + } + + var34 = var35; + } + + int var8; + label589: { + var15 = var5 - 64; + var16 = var6 - 64; + var17 = class182.field2118; + var36 = class182.field2124; + if (!var34) { + var37 = Integer.MAX_VALUE; + var20 = Integer.MAX_VALUE; + byte var38 = 10; + var39 = var10.approxDestinationX; + var23 = var10.approxDestinationY; + int var33 = var10.approxDestinationSizeX; + var25 = var10.approxDestinationSizeY; + + for(var26 = var39 - var38; var26 <= var39 + var38; ++var26) { + for(var27 = var23 - var38; var27 <= var38 + var23; ++var27) { + var28 = var26 - var15; + int var29 = var27 - var16; + if (var28 >= 0 && var29 >= 0 && var28 < 128 && var29 < 128 && class182.distances[var28][var29] < 100) { + int var30 = 0; + if (var26 < var39) { + var30 = var39 - var26; + } else if (var26 > var33 + var39 - 1) { + var30 = var26 - (var39 + var33 - 1); + } + + int var31 = 0; + if (var27 < var23) { + var31 = var23 - var27; + } else if (var27 > var25 + var23 - 1) { + var31 = var27 - (var23 + var25 - 1); + } + + int var32 = var31 * var31 + var30 * var30; + if (var32 < var37 || var37 == var32 && class182.distances[var28][var29] < var20) { + var37 = var32; + var20 = class182.distances[var28][var29]; + var17 = var26; + var36 = var27; + } + } + } + } + + if (var37 == Integer.MAX_VALUE) { + var8 = -1; + break label589; + } + } + + if (var5 == var17 && var6 == var36) { + var8 = 0; + } else { + var19 = 0; + class182.bufferX[var19] = var17; + var37 = var19 + 1; + class182.bufferY[var19] = var36; + + for(var20 = var21 = class182.directions[var17 - var15][var36 - var16]; var17 != var5 || var6 != var36; var20 = class182.directions[var17 - var15][var36 - var16]) { + if (var20 != var21) { + var21 = var20; + class182.bufferX[var37] = var17; + class182.bufferY[var37++] = var36; + } + + if ((var20 & 2) != 0) { + ++var17; + } else if ((var20 & 8) != 0) { + --var17; + } + + if ((var20 & 1) != 0) { + ++var36; + } else if ((var20 & 4) != 0) { + --var36; + } + } + + var39 = 0; + + while(var37-- > 0) { + var12[var39] = class182.bufferX[var37]; + var13[var39++] = class182.bufferY[var37]; + if (var39 >= var12.length) { + break; + } + } + + var8 = var39; + } + } + + var14 = var8; + if (var8 < 1) { + break; + } + + var15 = 0; + + while(true) { + if (var15 >= var14 - 1) { + break label550; + } + + var4.method1329(Client.field708[var15], Client.field859[var15], (byte)2); + ++var15; + } + } + + for(var15 = 0; var15 < 128; ++var15) { + class182.directions[var14][var15] = 0; + class182.distances[var14][var15] = 99999999; + } + + ++var14; + } + } + } + + this.method1329(var1, var2, var3); + } else { + this.resetPath(var1, var2); + } + } else { + this.resetPath(var1, var2); + } + + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-101" + ) + @Export("resetPath") + void resetPath(int var1, int var2) { + super.pathLength = 0; + super.field1012 = 0; + super.field989 = 0; + super.pathX[0] = var1; + super.pathY[0] = var2; + int var3 = this.transformedSize(); + super.x = var3 * 64 + super.pathX[0] * 128; + super.y = var3 * 64 + super.pathY[0] * 128; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IIBI)V", + garbageValue = "-498567231" + ) + final void method1329(int var1, int var2, byte var3) { + if (super.pathLength < 9) { + ++super.pathLength; + } + + for(int var4 = super.pathLength; var4 > 0; --var4) { + super.pathX[var4] = super.pathX[var4 - 1]; + super.pathY[var4] = super.pathY[var4 - 1]; + super.pathTraversed[var4] = super.pathTraversed[var4 - 1]; + } + + super.pathX[0] = var1; + super.pathY[0] = var2; + super.pathTraversed[0] = var3; + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-251916247" + ) + @Export("isVisible") + final boolean isVisible() { + return this.appearance != null; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lcq;", + garbageValue = "1" + ) + @Export("getNextWorldListWorld") + static World getNextWorldListWorld() { + return World.World_listCount < World.World_count ? World.World_worlds[++World.World_listCount - 1] : null; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "([BIIB)I", + garbageValue = "4" + ) + public static int method1317(byte[] var0, int var1, int var2) { + int var3 = -1; + + for(int var4 = var1; var4 < var2; ++var4) { + var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; + } + + var3 = ~var3; + return var3; + } + + @ObfuscatedName("hn") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1132112001" + ) + @Export("addCancelMenuEntry") + static void addCancelMenuEntry() { + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + Client.menuActions[0] = "Cancel"; + Client.menuTargets[0] = ""; + Client.menuOpcodes[0] = 1006; + Client.menuShiftClick[0] = false; + Client.menuOptionsCount = 1; + } + + @ObfuscatedName("ki") + @ObfuscatedSignature( + descriptor = "(Lhz;B)Ljava/lang/String;", + garbageValue = "101" + ) + @Export("Widget_getSpellActionName") + static String Widget_getSpellActionName(Widget var0) { + if (MusicPatch.Widget_unpackTargetMask(class60.getWidgetFlags(var0)) == 0) { + return null; + } else { + return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; + } + } } diff --git a/runescape-client/src/main/java/PlayerComposition.java b/runescape-client/src/main/java/PlayerComposition.java index 76c7f06d42..cc1a2cecd3 100644 --- a/runescape-client/src/main/java/PlayerComposition.java +++ b/runescape-client/src/main/java/PlayerComposition.java @@ -1,531 +1,435 @@ -import java.io.BufferedReader; -import java.io.DataInputStream; -import java.io.PrintWriter; -import java.io.StringReader; -import java.io.StringWriter; -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hh") -@Implements("PlayerAppearance") +@ObfuscatedName("hu") +@Implements("PlayerComposition") public class PlayerComposition { - @ObfuscatedName("n") - public static short[] field2551; - @ObfuscatedName("l") - public static short[] field2557; - @ObfuscatedName("u") - @Export("equipmentIndices") - static final int[] equipmentIndices; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("PlayerAppearance_cachedModels") - public static EvictingDualNodeHashTable PlayerAppearance_cachedModels; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "[Lmz;" - ) - @Export("JagexCache_idxFiles") - public static BufferedFile[] JagexCache_idxFiles; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("scriptDotWidget") - static Widget scriptDotWidget; - @ObfuscatedName("kn") - @ObfuscatedSignature( - descriptor = "Lbq;" - ) - @Export("localPlayer") - static Player localPlayer; - @ObfuscatedName("h") - @Export("equipment") - int[] equipment; - @ObfuscatedName("v") - @Export("bodyColors") - int[] bodyColors; - @ObfuscatedName("x") - @Export("isFemale") - public boolean isFemale; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1354767305 - ) - @Export("npcTransformId") - public int npcTransformId; - @ObfuscatedName("t") - @ObfuscatedGetter( - longValue = 4237745926834105329L - ) - @Export("hash") - long hash; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -9032621896431904669L - ) - long field2555; + @ObfuscatedName("nn") + @ObfuscatedGetter( + intValue = 458719567 + ) + @Export("widgetDragDuration") + static int widgetDragDuration; + @ObfuscatedName("z") + public static short[] field2565; + @ObfuscatedName("s") + @Export("equipmentIndices") + static final int[] equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("PlayerAppearance_cachedModels") + public static EvictingDualNodeHashTable PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); + @ObfuscatedName("dr") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive3") + static Archive archive3; + @ObfuscatedName("n") + @Export("equipment") + int[] equipment; + @ObfuscatedName("v") + @Export("bodyColors") + int[] bodyColors; + @ObfuscatedName("d") + @Export("isFemale") + public boolean isFemale; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -690765261 + ) + @Export("npcTransformId") + public int npcTransformId; + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = -999355041191352595L + ) + @Export("hash") + long hash; + @ObfuscatedName("h") + @ObfuscatedGetter( + longValue = -9216110116012845385L + ) + long field2567; - static { - equipmentIndices = new int[]{8, 11, 4, 6, 9, 7, 10}; // L: 23 - PlayerAppearance_cachedModels = new EvictingDualNodeHashTable(260); // L: 24 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([I[IZII)V", + garbageValue = "201187402" + ) + @Export("update") + public void update(int[] var1, int[] var2, boolean var3, int var4) { + if (var1 == null) { + var1 = new int[12]; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([I[IZII)V", - garbageValue = "1899379562" - ) - @Export("update") - public void update(int[] var1, int[] var2, boolean var3, int var4) { - if (var1 == null) { // L: 27 - var1 = new int[12]; // L: 28 + for(int var5 = 0; var5 < 7; ++var5) { + for(int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { + KitDefinition var7 = Client.KitDefinition_get(var6); + if (var7 != null && !var7.nonSelectable && var5 + (var3 ? 7 : 0) == var7.bodypartID) { + var1[equipmentIndices[var5]] = var6 + 256; + break; + } + } + } + } - for (int var5 = 0; var5 < 7; ++var5) { // L: 29 - for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) { // L: 30 - KitDefinition var7 = WorldMapData_1.KitDefinition_get(var6); // L: 31 - if (var7 != null && !var7.nonSelectable && var7.bodypartID == var5 + (var3 ? 7 : 0)) { // L: 32 - var1[equipmentIndices[var5]] = var6 + 256; - break; - } - } - } - } + this.equipment = var1; + this.bodyColors = var2; + this.isFemale = var3; + this.npcTransformId = var4; + this.setHash(); + } - this.equipment = var1; - this.bodyColors = var2; - this.isFemale = var3; - this.npcTransformId = var4; - this.setHash(); // L: 43 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IZB)V", + garbageValue = "2" + ) + @Export("changeAppearance") + public void changeAppearance(int var1, boolean var2) { + if (var1 != 1 || !this.isFemale) { + int var3 = this.equipment[equipmentIndices[var1]]; + if (var3 != 0) { + var3 -= 256; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IZI)V", - garbageValue = "-1452083272" - ) - @Export("changeAppearance") - public void changeAppearance(int var1, boolean var2) { - if (var1 != 1 || !this.isFemale) { - int var3 = this.equipment[equipmentIndices[var1]]; - if (var3 != 0) { - var3 -= 256; + KitDefinition var4; + do { + if (!var2) { + --var3; + if (var3 < 0) { + var3 = KitDefinition.KitDefinition_fileCount - 1; + } + } else { + ++var3; + if (var3 >= KitDefinition.KitDefinition_fileCount) { + var3 = 0; + } + } - KitDefinition var4; - do { - if (!var2) { // L: 52 - --var3; - if (var3 < 0) { - var3 = KitDefinition.KitDefinition_fileCount - 1; - } - } else { - ++var3; - if (var3 >= KitDefinition.KitDefinition_fileCount) { - var3 = 0; - } - } + var4 = Client.KitDefinition_get(var3); + } while(var4 == null || var4.nonSelectable || var4.bodypartID != var1 + (this.isFemale ? 7 : 0)); - var4 = WorldMapData_1.KitDefinition_get(var3); - } while(var4 == null || var4.nonSelectable || var4.bodypartID != (this.isFemale ? 7 : 0) + var1); + this.equipment[equipmentIndices[var1]] = var3 + 256; + this.setHash(); + } + } + } - this.equipment[equipmentIndices[var1]] = var3 + 256; - this.setHash(); // L: 64 - } - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IZI)V", + garbageValue = "1851941979" + ) + public void method4206(int var1, boolean var2) { + int var3 = this.bodyColors[var1]; + boolean var4; + if (!var2) { + do { + --var3; + if (var3 < 0) { + var3 = class105.field1339[var1].length - 1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IZI)V", - garbageValue = "-1113913855" - ) - public void method4043(int var1, boolean var2) { - int var3 = this.bodyColors[var1]; - if (!var2) { - do { - --var3; // L: 71 - if (var3 < 0) { - var3 = WorldMapScaleHandler.field366[var1].length - 1; // L: 73 - } - } while(!class171.method3535(var1, var3)); - } else { - do { - ++var3; // L: 80 - if (var3 >= WorldMapScaleHandler.field366[var1].length) { - var3 = 0; - } - } while(!class171.method3535(var1, var3)); - } + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); + } else { + do { + ++var3; + if (var3 >= class105.field1339[var1].length) { + var3 = 0; + } - this.bodyColors[var1] = var3; - this.setHash(); - } + if (var1 == 4 && var3 >= 8) { + var4 = false; + } else { + var4 = true; + } + } while(!var4); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "77" - ) - @Export("changeSex") - public void changeSex(boolean var1) { - if (this.isFemale != var1) { - this.update((int[])null, this.bodyColors, var1, -1); // L: 91 - } - } + this.bodyColors[var1] = var3; + this.setHash(); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1256612207" - ) - @Export("write") - public void write(Buffer var1) { - var1.writeByte(this.isFemale ? 1 : 0); // L: 95 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(ZB)V", + garbageValue = "50" + ) + @Export("changeSex") + public void changeSex(boolean var1) { + if (this.isFemale != var1) { + this.update((int[])null, this.bodyColors, var1, -1); + } + } - int var2; - for (var2 = 0; var2 < 7; ++var2) { // L: 96 - int var3 = this.equipment[equipmentIndices[var2]]; // L: 97 - if (var3 == 0) { // L: 98 - var1.writeByte(-1); - } else { - var1.writeByte(var3 - 256); // L: 99 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "1010099742" + ) + @Export("write") + public void write(Buffer var1) { + var1.writeByte(this.isFemale ? 1 : 0); - for (var2 = 0; var2 < 5; ++var2) { // L: 101 - var1.writeByte(this.bodyColors[var2]); - } + int var2; + for(var2 = 0; var2 < 7; ++var2) { + int var3 = this.equipment[equipmentIndices[var2]]; + if (var3 == 0) { + var1.writeByte(-1); + } else { + var1.writeByte(var3 - 256); + } + } - } // L: 102 + for(var2 = 0; var2 < 5; ++var2) { + var1.writeByte(this.bodyColors[var2]); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1623503155" - ) - @Export("setHash") - void setHash() { - long var1 = this.hash; // L: 105 - int var3 = this.equipment[5]; // L: 106 - int var4 = this.equipment[9]; // L: 107 - this.equipment[5] = var4; // L: 108 - this.equipment[9] = var3; // L: 109 - this.hash = 0L; // L: 110 + } - int var5; - for (var5 = 0; var5 < 12; ++var5) { // L: 111 - this.hash <<= 4; // L: 112 - if (this.equipment[var5] >= 256) { // L: 113 - this.hash += (long)(this.equipment[var5] - 256); - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "90" + ) + @Export("setHash") + void setHash() { + long var1 = this.hash; + int var3 = this.equipment[5]; + int var4 = this.equipment[9]; + this.equipment[5] = var4; + this.equipment[9] = var3; + this.hash = 0L; - if (this.equipment[0] >= 256) { // L: 115 - this.hash += (long)(this.equipment[0] - 256 >> 4); - } + int var5; + for(var5 = 0; var5 < 12; ++var5) { + this.hash <<= 4; + if (this.equipment[var5] >= 256) { + this.hash += (long)(this.equipment[var5] - 256); + } + } - if (this.equipment[1] >= 256) { // L: 116 - this.hash += (long)(this.equipment[1] - 256 >> 8); - } + if (this.equipment[0] >= 256) { + this.hash += (long)(this.equipment[0] - 256 >> 4); + } - for (var5 = 0; var5 < 5; ++var5) { // L: 117 - this.hash <<= 3; // L: 118 - this.hash += (long)this.bodyColors[var5]; // L: 119 - } + if (this.equipment[1] >= 256) { + this.hash += (long)(this.equipment[1] - 256 >> 8); + } - this.hash <<= 1; // L: 121 - this.hash += (long)(this.isFemale ? 1 : 0); // L: 122 - this.equipment[5] = var3; // L: 123 - this.equipment[9] = var4; // L: 124 - if (0L != var1 && this.hash != var1) { // L: 125 - PlayerAppearance_cachedModels.remove(var1); - } + for(var5 = 0; var5 < 5; ++var5) { + this.hash <<= 3; + this.hash += (long)this.bodyColors[var5]; + } - } // L: 126 + this.hash <<= 1; + this.hash += (long)(this.isFemale ? 1 : 0); + this.equipment[5] = var3; + this.equipment[9] = var4; + if (0L != var1 && var1 != this.hash) { + PlayerAppearance_cachedModels.remove(var1); + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljy;ILjy;II)Leh;", - garbageValue = "-344109414" - ) - @Export("getModel") - public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { - if (this.npcTransformId != -1) { // L: 129 - return WorldMapIcon_0.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); // L: 130 - } else { - long var5 = this.hash; // L: 132 - int[] var7 = this.equipment; // L: 133 - if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { // L: 134 - var7 = new int[12]; // L: 135 + } - for (int var8 = 0; var8 < 12; ++var8) { // L: 136 - var7[var8] = this.equipment[var8]; - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Ljs;ILjs;IB)Lef;", + garbageValue = "-34" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, SequenceDefinition var3, int var4) { + if (this.npcTransformId != -1) { + return class90.getNpcDefinition(this.npcTransformId).getModel(var1, var2, var3, var4); + } else { + long var5 = this.hash; + int[] var7 = this.equipment; + if (var1 != null && (var1.shield >= 0 || var1.weapon >= 0)) { + var7 = new int[12]; - if (var1.shield >= 0) { // L: 137 - var5 += (long)(var1.shield - this.equipment[5] << 40); // L: 138 - var7[5] = var1.shield; // L: 139 - } + for(int var8 = 0; var8 < 12; ++var8) { + var7[var8] = this.equipment[var8]; + } - if (var1.weapon >= 0) { // L: 141 - var5 += (long)(var1.weapon - this.equipment[3] << 48); // L: 142 - var7[3] = var1.weapon; // L: 143 - } - } + if (var1.shield >= 0) { + var5 += (long)(var1.shield - this.equipment[5] << 40); + var7[5] = var1.shield; + } - Model var15 = (Model)PlayerAppearance_cachedModels.get(var5); // L: 146 - if (var15 == null) { // L: 147 - boolean var9 = false; // L: 148 + if (var1.weapon >= 0) { + var5 += (long)(var1.weapon - this.equipment[3] << 48); + var7[3] = var1.weapon; + } + } - int var11; - for (int var10 = 0; var10 < 12; ++var10) { // L: 149 - var11 = var7[var10]; // L: 150 - if (var11 >= 256 && var11 < 512 && !WorldMapData_1.KitDefinition_get(var11 - 256).ready()) { // L: 151 152 - var9 = true; - } + Model var15 = (Model)PlayerAppearance_cachedModels.get(var5); + if (var15 == null) { + boolean var9 = false; - if (var11 >= 512 && !SecureRandomCallable.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { // L: 154 155 - var9 = true; - } - } + int var11; + for(int var10 = 0; var10 < 12; ++var10) { + var11 = var7[var10]; + if (var11 >= 256 && var11 < 512 && !Client.KitDefinition_get(var11 - 256).ready()) { + var9 = true; + } - if (var9) { // L: 158 - if (-1L != this.field2555) { // L: 159 - var15 = (Model)PlayerAppearance_cachedModels.get(this.field2555); - } + if (var11 >= 512 && !class281.ItemDefinition_get(var11 - 512).hasNoValidModel(this.isFemale)) { + var9 = true; + } + } - if (var15 == null) { // L: 160 - return null; - } - } + if (var9) { + if (-1L != this.field2567) { + var15 = (Model)PlayerAppearance_cachedModels.get(this.field2567); + } - if (var15 == null) { // L: 162 - ModelData[] var16 = new ModelData[12]; // L: 163 - var11 = 0; // L: 164 + if (var15 == null) { + return null; + } + } - int var13; - for (int var12 = 0; var12 < 12; ++var12) { // L: 165 - var13 = var7[var12]; // L: 166 - ModelData var14; - if (var13 >= 256 && var13 < 512) { // L: 167 - var14 = WorldMapData_1.KitDefinition_get(var13 - 256).getModelData(); // L: 168 - if (var14 != null) { // L: 169 - var16[var11++] = var14; - } - } + if (var15 == null) { + ModelData[] var16 = new ModelData[12]; + var11 = 0; - if (var13 >= 512) { // L: 171 - var14 = SecureRandomCallable.ItemDefinition_get(var13 - 512).method4669(this.isFemale); // L: 172 - if (var14 != null) { // L: 173 - var16[var11++] = var14; - } - } - } + int var13; + for(int var12 = 0; var12 < 12; ++var12) { + var13 = var7[var12]; + ModelData var14; + if (var13 >= 256 && var13 < 512) { + var14 = Client.KitDefinition_get(var13 - 256).getModelData(); + if (var14 != null) { + var16[var11++] = var14; + } + } - ModelData var17 = new ModelData(var16, var11); // L: 176 + if (var13 >= 512) { + var14 = class281.ItemDefinition_get(var13 - 512).method4866(this.isFemale); + if (var14 != null) { + var16[var11++] = var14; + } + } + } - for (var13 = 0; var13 < 5; ++var13) { // L: 177 - if (this.bodyColors[var13] < WorldMapScaleHandler.field366[var13].length) { // L: 178 - var17.recolor(field2551[var13], WorldMapScaleHandler.field366[var13][this.bodyColors[var13]]); - } + ModelData var17 = new ModelData(var16, var11); - if (this.bodyColors[var13] < WorldMapCacheName.field331[var13].length) { // L: 179 - var17.recolor(field2557[var13], WorldMapCacheName.field331[var13][this.bodyColors[var13]]); - } - } + for(var13 = 0; var13 < 5; ++var13) { + if (this.bodyColors[var13] < class105.field1339[var13].length) { + var17.recolor(field2565[var13], class105.field1339[var13][this.bodyColors[var13]]); + } - var15 = var17.toModel(64, 850, -30, -50, -30); // L: 181 - PlayerAppearance_cachedModels.put(var15, var5); // L: 182 - this.field2555 = var5; // L: 183 - } - } + if (this.bodyColors[var13] < WorldMapSprite.field259[var13].length) { + var17.recolor(HealthBar.field1143[var13], WorldMapSprite.field259[var13][this.bodyColors[var13]]); + } + } - if (var1 == null && var3 == null) { // L: 187 - return var15; - } else { - Model var18; - if (var1 != null && var3 != null) { // L: 188 - var18 = var1.applyTransformations(var15, var2, var3, var4); - } else if (var1 != null) { // L: 189 - var18 = var1.transformActorModel(var15, var2); - } else { - var18 = var3.transformActorModel(var15, var4); // L: 190 - } + var15 = var17.toModel(64, 850, -30, -50, -30); + PlayerAppearance_cachedModels.put(var15, var5); + this.field2567 = var5; + } + } - return var18; // L: 191 - } - } - } + if (var1 == null && var3 == null) { + return var15; + } else { + Model var18; + if (var1 != null && var3 != null) { + var18 = var1.applyTransformations(var15, var2, var3, var4); + } else if (var1 != null) { + var18 = var1.transformActorModel(var15, var2); + } else { + var18 = var3.transformActorModel(var15, var4); + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Les;", - garbageValue = "1602412572" - ) - @Export("getModelData") - ModelData getModelData() { - if (this.npcTransformId != -1) { // L: 195 - return WorldMapIcon_0.getNpcDefinition(this.npcTransformId).getModelData(); // L: 196 - } else { - boolean var1 = false; // L: 198 + return var18; + } + } + } - int var3; - for (int var2 = 0; var2 < 12; ++var2) { // L: 199 - var3 = this.equipment[var2]; // L: 200 - if (var3 >= 256 && var3 < 512 && !WorldMapData_1.KitDefinition_get(var3 - 256).method4488()) { // L: 201 202 - var1 = true; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)Lek;", + garbageValue = "1513420182" + ) + @Export("getModelData") + ModelData getModelData() { + if (this.npcTransformId != -1) { + return class90.getNpcDefinition(this.npcTransformId).getModelData(); + } else { + boolean var1 = false; - if (var3 >= 512 && !SecureRandomCallable.ItemDefinition_get(var3 - 512).method4660(this.isFemale)) { // L: 204 205 - var1 = true; - } - } + int var3; + for(int var2 = 0; var2 < 12; ++var2) { + var3 = this.equipment[var2]; + if (var3 >= 256 && var3 < 512 && !Client.KitDefinition_get(var3 - 256).method4640()) { + var1 = true; + } - if (var1) { // L: 208 - return null; - } else { - ModelData[] var7 = new ModelData[12]; // L: 209 - var3 = 0; // L: 210 + if (var3 >= 512 && !class281.ItemDefinition_get(var3 - 512).method4879(this.isFemale)) { + var1 = true; + } + } - int var5; - for (int var4 = 0; var4 < 12; ++var4) { // L: 211 - var5 = this.equipment[var4]; // L: 212 - ModelData var6; - if (var5 >= 256 && var5 < 512) { // L: 213 - var6 = WorldMapData_1.KitDefinition_get(var5 - 256).getKitDefinitionModels(); // L: 214 - if (var6 != null) { // L: 215 - var7[var3++] = var6; - } - } + if (var1) { + return null; + } else { + ModelData[] var7 = new ModelData[12]; + var3 = 0; - if (var5 >= 512) { // L: 217 - var6 = SecureRandomCallable.ItemDefinition_get(var5 - 512).method4671(this.isFemale); // L: 218 - if (var6 != null) { // L: 219 - var7[var3++] = var6; - } - } - } + int var5; + for(int var4 = 0; var4 < 12; ++var4) { + var5 = this.equipment[var4]; + ModelData var6; + if (var5 >= 256 && var5 < 512) { + var6 = Client.KitDefinition_get(var5 - 256).getKitDefinitionModels(); + if (var6 != null) { + var7[var3++] = var6; + } + } - ModelData var8 = new ModelData(var7, var3); // L: 222 + if (var5 >= 512) { + var6 = class281.ItemDefinition_get(var5 - 512).method4880(this.isFemale); + if (var6 != null) { + var7[var3++] = var6; + } + } + } - for (var5 = 0; var5 < 5; ++var5) { // L: 223 - if (this.bodyColors[var5] < WorldMapScaleHandler.field366[var5].length) { // L: 224 - var8.recolor(field2551[var5], WorldMapScaleHandler.field366[var5][this.bodyColors[var5]]); - } + ModelData var8 = new ModelData(var7, var3); - if (this.bodyColors[var5] < WorldMapCacheName.field331[var5].length) { // L: 225 - var8.recolor(field2557[var5], WorldMapCacheName.field331[var5][this.bodyColors[var5]]); - } - } + for(var5 = 0; var5 < 5; ++var5) { + if (this.bodyColors[var5] < class105.field1339[var5].length) { + var8.recolor(field2565[var5], class105.field1339[var5][this.bodyColors[var5]]); + } - return var8; // L: 227 - } - } - } + if (this.bodyColors[var5] < WorldMapSprite.field259[var5].length) { + var8.recolor(HealthBar.field1143[var5], WorldMapSprite.field259[var5][this.bodyColors[var5]]); + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-2065578262" - ) - @Export("getChatHeadId") - public int getChatHeadId() { - return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + WorldMapIcon_0.getNpcDefinition(this.npcTransformId).id; // L: 231 232 - } + return var8; + } + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/Throwable;I)V", - garbageValue = "2079924758" - ) - @Export("RunException_sendStackTrace") - public static void RunException_sendStackTrace(String var0, Throwable var1) { - if (var1 != null) { - var1.printStackTrace(); - } else { - try { - String var2 = ""; // L: 33 - if (var1 != null) { // L: 34 - Throwable var4 = var1; // L: 36 - String var5; - if (var1 instanceof RunException) { // L: 39 - RunException var6 = (RunException)var1; // L: 40 - var5 = var6.message + " | "; // L: 41 - var4 = var6.throwable; // L: 42 - } else { - var5 = ""; // L: 44 - } - - StringWriter var18 = new StringWriter(); // L: 45 - PrintWriter var7 = new PrintWriter(var18); // L: 46 - var4.printStackTrace(var7); // L: 47 - var7.close(); // L: 48 - String var8 = var18.toString(); // L: 49 - BufferedReader var9 = new BufferedReader(new StringReader(var8)); // L: 50 - String var10 = var9.readLine(); // L: 51 - - label62: - while (true) { - while (true) { - String var11 = var9.readLine(); // L: 53 - if (var11 == null) { // L: 54 - var5 = var5 + "| " + var10; // L: 72 - var2 = var5; // L: 75 - break label62; - } - - int var12 = var11.indexOf(40); // L: 55 - int var13 = var11.indexOf(41, var12 + 1); // L: 56 - if (var12 >= 0 && var13 >= 0) { // L: 57 - String var14 = var11.substring(var12 + 1, var13); // L: 58 - int var15 = var14.indexOf(".java:"); // L: 59 - if (var15 >= 0) { // L: 60 - var14 = var14.substring(0, var15) + var14.substring(var15 + 5); // L: 61 - var5 = var5 + var14 + ' '; // L: 62 - continue; // L: 63 - } - - var11 = var11.substring(0, var12); // L: 65 - } - - var11 = var11.trim(); // L: 67 - var11 = var11.substring(var11.lastIndexOf(32) + 1); // L: 68 - var11 = var11.substring(var11.lastIndexOf(9) + 1); // L: 69 - var5 = var5 + var11 + ' '; // L: 70 - } - } - } - - if (var0 != null) { // L: 77 - if (var1 != null) { // L: 78 - var2 = var2 + " | "; - } - - var2 = var2 + var0; // L: 79 - } - - System.out.println("Error: " + var2); // L: 81 - var2 = var2.replace(':', '.'); // L: 82 - var2 = var2.replace('@', '_'); // L: 83 - var2 = var2.replace('&', '_'); // L: 84 - var2 = var2.replace('#', '_'); // L: 85 - if (RunException.RunException_applet == null) { // L: 86 - return; - } - - URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.RunException_revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + class39.clientType + "&e=" + var2); // L: 87 - DataInputStream var17 = new DataInputStream(var3.openStream()); // L: 88 - var17.read(); // L: 89 - var17.close(); // L: 90 - } catch (Exception var16) { // L: 92 - } - - } - } // L: 93 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1390124562" + ) + @Export("getChatHeadId") + public int getChatHeadId() { + return this.npcTransformId == -1 ? (this.equipment[0] << 15) + this.equipment[1] + (this.equipment[11] << 5) + (this.equipment[8] << 10) + (this.bodyColors[0] << 25) + (this.bodyColors[4] << 20) : 305419896 + class90.getNpcDefinition(this.npcTransformId).id; + } } diff --git a/runescape-client/src/main/java/PlayerProvider.java b/runescape-client/src/main/java/PlayerProvider.java deleted file mode 100644 index a55f1b2596..0000000000 --- a/runescape-client/src/main/java/PlayerProvider.java +++ /dev/null @@ -1,16 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("dw") -@Implements("PlayerProvider") -public interface PlayerProvider { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Ldp;", - garbageValue = "-2011148953" - ) - @Export("player") - PcmPlayer player(); -} diff --git a/runescape-client/src/main/java/PlayerType.java b/runescape-client/src/main/java/PlayerType.java index 3001c8563e..5c619df5d6 100644 --- a/runescape-client/src/main/java/PlayerType.java +++ b/runescape-client/src/main/java/PlayerType.java @@ -1,98 +1,165 @@ +import java.awt.Component; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("in") +@ObfuscatedName("iv") @Implements("PlayerType") public enum PlayerType implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_normal") - PlayerType_normal(0, -1, true, false, true), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_playerModerator") - PlayerType_playerModerator(1, 0, true, true, true), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_jagexModerator") - PlayerType_jagexModerator(2, 1, true, true, false), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_ironman") - PlayerType_ironman(3, 2, false, false, true), - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_ultimateIronman") - PlayerType_ultimateIronman(4, 3, false, false, true), - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - @Export("PlayerType_hardcoreIronman") - PlayerType_hardcoreIronman(5, 10, false, false, true), - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lin;" - ) - field3124(6, 22, false, false, true); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_normal") + PlayerType_normal(0, -1, true, false, true), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_playerModerator") + PlayerType_playerModerator(1, 0, true, true, true), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_jagexModerator") + PlayerType_jagexModerator(2, 1, true, true, false), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_ironman") + PlayerType_ironman(3, 2, false, false, true), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_ultimateIronman") + PlayerType_ultimateIronman(4, 3, false, false, true), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + @Export("PlayerType_hardcoreIronman") + PlayerType_hardcoreIronman(5, 10, false, false, true), + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Liv;" + ) + field3132(6, 22, false, false, true); - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1249989015 - ) - @Export("id") - final int id; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 597925501 - ) - @Export("modIcon") - public final int modIcon; - @ObfuscatedName("z") - @Export("isPrivileged") - public final boolean isPrivileged; - @ObfuscatedName("u") - @Export("isUser") - public final boolean isUser; + @ObfuscatedName("oa") + @ObfuscatedSignature( + descriptor = "Lfo;" + ) + @Export("mouseWheel") + static MouseWheel mouseWheel; + @ObfuscatedName("a") + public static boolean field3137; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -765581079 + ) + @Export("id") + final int id; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1093542945 + ) + @Export("modIcon") + public final int modIcon; + @ObfuscatedName("l") + @Export("isPrivileged") + public final boolean isPrivileged; + @ObfuscatedName("s") + @Export("isUser") + public final boolean isUser; - PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { - this.id = var3; // L: 24 - this.modIcon = var4; // L: 25 - this.isPrivileged = var6; // L: 26 - this.isUser = var7; // L: 27 - } // L: 28 + PlayerType(int var3, int var4, boolean var5, boolean var6, boolean var7) { + this.id = var3; + this.modIcon = var4; + this.isPrivileged = var6; + this.isUser = var7; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 31 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIII)Llm;", - garbageValue = "-320192439" - ) - static SpritePixels method4170(int var0, int var1, int var2) { - DemotingHashTable var3 = WorldMapRegion.WorldMapRegion_cachedSprites; // L: 38 - long var4 = (long)(var2 << 16 | var0 << 8 | var1); // L: 41 - return (SpritePixels)var3.get(var4); // L: 43 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "2124061265" + ) + static void method4345(Component var0) { + var0.removeKeyListener(KeyHandler.KeyHandler_instance); + var0.removeFocusListener(KeyHandler.KeyHandler_instance); + KeyHandler.field417 = -1; + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "373518150" + ) + static int method4346(int var0, Script var1, boolean var2) { + Widget var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var0 == ScriptOpcodes.IF_GETSCROLLX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTEXT) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.IF_GETFILLMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/Players.java b/runescape-client/src/main/java/Players.java index 2145eb0fa8..f6decb0bef 100644 --- a/runescape-client/src/main/java/Players.java +++ b/runescape-client/src/main/java/Players.java @@ -4,799 +4,154 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cy") +@ObfuscatedName("cx") @Implements("Players") public class Players { - @ObfuscatedName("ry") - @ObfuscatedGetter( - intValue = -1480705449 - ) - static int field1267; - @ObfuscatedName("x") - static byte[] field1252; - @ObfuscatedName("w") - static byte[] field1253; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "[Lkj;" - ) - static Buffer[] field1254; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 2141619955 - ) - @Export("Players_count") - static int Players_count; - @ObfuscatedName("n") - @Export("Players_indices") - static int[] Players_indices; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 377595229 - ) - @Export("Players_emptyIdxCount") - static int Players_emptyIdxCount; - @ObfuscatedName("l") - @Export("Players_emptyIndices") - static int[] Players_emptyIndices; - @ObfuscatedName("z") - @Export("Players_regions") - static int[] Players_regions; - @ObfuscatedName("u") - @Export("Players_orientations") - static int[] Players_orientations; - @ObfuscatedName("e") - @Export("Players_targetIndices") - static int[] Players_targetIndices; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1362134323 - ) - @Export("Players_pendingUpdateCount") - static int Players_pendingUpdateCount; - @ObfuscatedName("c") - @Export("Players_pendingUpdateIndices") - static int[] Players_pendingUpdateIndices; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - static Buffer field1264; - @ObfuscatedName("af") - @ObfuscatedGetter( - intValue = 565306891 - ) - static int field1260; - @ObfuscatedName("ev") - @ObfuscatedGetter( - intValue = -1518369629 - ) - @Export("port2") - static int port2; - - static { - field1252 = new byte[2048]; // L: 18 - field1253 = new byte[2048]; // L: 19 - field1254 = new Buffer[2048]; // L: 20 - Players_count = 0; // L: 21 - Players_indices = new int[2048]; // L: 22 - Players_emptyIdxCount = 0; // L: 23 - Players_emptyIndices = new int[2048]; // L: 24 - Players_regions = new int[2048]; // L: 25 - Players_orientations = new int[2048]; // L: 26 - Players_targetIndices = new int[2048]; // L: 27 - Players_pendingUpdateCount = 0; // L: 28 - Players_pendingUpdateIndices = new int[2048]; // L: 29 - field1264 = new Buffer(new byte[5000]); // L: 30 - } - - @ObfuscatedName("fg") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1916239177" - ) - static void method2208() { - Client.mouseLastLastPressedTimeMillis = -1L; // L: 2645 - SoundCache.mouseRecorder.index = 0; // L: 2646 - ScriptEvent.hasFocus = true; // L: 2647 - Client.hadFocus = true; // L: 2648 - Client.field817 = -1L; // L: 2649 - class105.reflectionChecks = new IterableNodeDeque(); // L: 2651 - Client.packetWriter.clearBuffer(); // L: 2653 - Client.packetWriter.packetBuffer.offset = 0; // L: 2654 - Client.packetWriter.serverPacket = null; // L: 2655 - Client.packetWriter.field1335 = null; // L: 2656 - Client.packetWriter.field1336 = null; // L: 2657 - Client.packetWriter.field1337 = null; // L: 2658 - Client.packetWriter.serverPacketLength = 0; // L: 2659 - Client.packetWriter.field1333 = 0; // L: 2660 - Client.rebootTimer = 0; // L: 2661 - Client.logoutTimer = 0; // L: 2662 - Client.hintArrowType = 0; // L: 2663 - Client.menuOptionsCount = 0; // L: 2665 - Client.isMenuOpen = false; // L: 2666 - ChatChannel.method2317(0); // L: 2668 - Tiles.method1203(); // L: 2669 - Client.isItemSelected = 0; // L: 2670 - Client.isSpellSelected = false; // L: 2671 - Client.soundEffectCount = 0; // L: 2672 - Client.camAngleY = 0; // L: 2673 - Client.oculusOrbState = 0; // L: 2674 - WorldMapIcon_0.field148 = null; // L: 2675 - Client.minimapState = 0; // L: 2676 - Client.field874 = -1; // L: 2677 - Client.destinationX = 0; // L: 2678 - Client.destinationY = 0; // L: 2679 - Client.playerAttackOption = AttackOption.AttackOption_hidden; // L: 2680 - Client.npcAttackOption = AttackOption.AttackOption_hidden; // L: 2681 - Client.npcCount = 0; // L: 2682 - Players_count = 0; // L: 2684 - - int var0; - for (var0 = 0; var0 < 2048; ++var0) { // L: 2685 - field1254[var0] = null; // L: 2686 - field1253[var0] = 1; // L: 2687 - } - - for (var0 = 0; var0 < 2048; ++var0) { // L: 2690 - Client.players[var0] = null; - } - - for (var0 = 0; var0 < 32768; ++var0) { // L: 2691 - Client.npcs[var0] = null; - } - - Client.combatTargetPlayerIndex = -1; // L: 2692 - Client.projectiles.clear(); // L: 2693 - Client.graphicsObjects.clear(); // L: 2694 - - int var2; - for (var0 = 0; var0 < 4; ++var0) { // L: 2695 - for (int var1 = 0; var1 < 104; ++var1) { // L: 2696 - for (var2 = 0; var2 < 104; ++var2) { // L: 2697 - Client.groundItems[var0][var1][var2] = null; // L: 2698 - } - } - } - - Client.pendingSpawns = new NodeDeque(); // L: 2702 - MilliClock.friendSystem.clear(); // L: 2703 - - for (var0 = 0; var0 < VarpDefinition.VarpDefinition_fileCount; ++var0) { // L: 2704 - VarpDefinition var4 = class219.VarpDefinition_get(var0); // L: 2705 - if (var4 != null) { // L: 2706 - Varps.Varps_temp[var0] = 0; // L: 2707 - Varps.Varps_main[var0] = 0; // L: 2708 - } - } - - Varcs.varcs.clearTransient(); // L: 2711 - Client.followerIndex = -1; // L: 2712 - if (Client.rootInterface != -1) { // L: 2713 - var0 = Client.rootInterface; // L: 2714 - if (var0 != -1 && class195.Widget_loadedInterfaces[var0]) { // L: 2716 2717 - class58.Widget_archive.clearFilesGroup(var0); // L: 2718 - if (class9.Widget_interfaceComponents[var0] != null) { // L: 2719 - boolean var5 = true; // L: 2720 - - for (var2 = 0; var2 < class9.Widget_interfaceComponents[var0].length; ++var2) { // L: 2721 - if (class9.Widget_interfaceComponents[var0][var2] != null) { // L: 2722 - if (class9.Widget_interfaceComponents[var0][var2].type != 2) { // L: 2723 - class9.Widget_interfaceComponents[var0][var2] = null; - } else { - var5 = false; // L: 2724 - } - } - } - - if (var5) { // L: 2727 - class9.Widget_interfaceComponents[var0] = null; - } - - class195.Widget_loadedInterfaces[var0] = false; // L: 2728 - } - } - } - - for (InterfaceParent var3 = (InterfaceParent)Client.interfaceParents.first(); var3 != null; var3 = (InterfaceParent)Client.interfaceParents.next()) { // L: 2731 - MouseRecorder.closeInterface(var3, true); // L: 2732 - } - - Client.rootInterface = -1; // L: 2734 - Client.interfaceParents = new NodeHashTable(8); // L: 2735 - Client.meslayerContinueWidget = null; // L: 2736 - Client.menuOptionsCount = 0; // L: 2738 - Client.isMenuOpen = false; // L: 2739 - Client.playerComposition.update((int[])null, new int[]{0, 0, 0, 0, 0}, false, -1); // L: 2741 - - for (var0 = 0; var0 < 8; ++var0) { // L: 2742 - Client.playerMenuActions[var0] = null; // L: 2743 - Client.playerOptionsPriorities[var0] = false; // L: 2744 - } - - ItemContainer.itemContainers = new NodeHashTable(32); // L: 2747 - Client.isLoading = true; // L: 2749 - - for (var0 = 0; var0 < 100; ++var0) { // L: 2750 - Client.field901[var0] = true; - } - - MouseRecorder.method1264(); // L: 2751 - WorldMapArea.clanChat = null; // L: 2752 - - for (var0 = 0; var0 < 8; ++var0) { // L: 2753 - Client.grandExchangeOffers[var0] = new GrandExchangeOffer(); - } - - AbstractUserComparator.grandExchangeEvents = null; // L: 2754 - } // L: 2755 - - @ObfuscatedName("ia") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-871973097" - ) - static final boolean method2225(int var0) { - if (var0 < 0) { // L: 7460 - return false; - } else { - int var1 = Client.menuOpcodes[var0]; // L: 7461 - if (var1 >= 2000) { // L: 7462 - var1 -= 2000; - } - - return var1 == 1007; // L: 7463 - } - } - - @ObfuscatedName("jr") - @ObfuscatedSignature( - descriptor = "([Lhe;IIIIIIII)V", - garbageValue = "-2127436431" - ) - @Export("updateInterface") - static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - for (int var8 = 0; var8 < var0.length; ++var8) { // L: 9910 - Widget var9 = var0[var8]; // L: 9911 - if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || FaceNormal.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { // L: 9912 9913 9914 - if (var9.isIf3) { // L: 9915 - if (DevicePcmPlayerProvider.isComponentHidden(var9)) { // L: 9916 - continue; - } - } else if (var9.type == 0 && var9 != EnumComposition.mousedOverWidgetIf1 && DevicePcmPlayerProvider.isComponentHidden(var9)) { // L: 9919 - continue; - } - - int var10 = var9.x + var6; // L: 9921 - int var11 = var7 + var9.y; // L: 9922 - int var12; - int var13; - int var14; - int var15; - int var17; - int var18; - if (var9.type == 2) { // L: 9927 - var12 = var2; // L: 9928 - var13 = var3; // L: 9929 - var14 = var4; // L: 9930 - var15 = var5; // L: 9931 - } else { - int var16; - if (var9.type == 9) { // L: 9933 - var16 = var10; // L: 9934 - var17 = var11; // L: 9935 - var18 = var10 + var9.width; // L: 9936 - int var19 = var11 + var9.height; // L: 9937 - if (var18 < var10) { // L: 9938 - var16 = var18; // L: 9940 - var18 = var10; // L: 9941 - } - - if (var19 < var11) { // L: 9943 - var17 = var19; // L: 9945 - var19 = var11; // L: 9946 - } - - ++var18; // L: 9948 - ++var19; // L: 9949 - var12 = var16 > var2 ? var16 : var2; // L: 9950 - var13 = var17 > var3 ? var17 : var3; // L: 9951 - var14 = var18 < var4 ? var18 : var4; // L: 9952 - var15 = var19 < var5 ? var19 : var5; // L: 9953 - } else { - var16 = var10 + var9.width; // L: 9956 - var17 = var11 + var9.height; // L: 9957 - var12 = var10 > var2 ? var10 : var2; // L: 9958 - var13 = var11 > var3 ? var11 : var3; // L: 9959 - var14 = var16 < var4 ? var16 : var4; // L: 9960 - var15 = var17 < var5 ? var17 : var5; // L: 9961 - } - } - - if (var9 == Client.clickedWidget) { // L: 9963 - Client.field829 = true; // L: 9964 - Client.field853 = var10; // L: 9965 - Client.field862 = var11; // L: 9966 - } - - boolean var32 = false; // L: 9968 - if (var9.field2590) { // L: 9969 - switch(Client.field810) { // L: 9970 - case 0: - var32 = true; // L: 9972 - case 1: - default: - break; - case 2: - if (Client.field811 == var9.id >>> 16) { // L: 9975 - var32 = true; // L: 9976 - } - break; - case 3: - if (var9.id == Client.field811) { // L: 9980 - var32 = true; // L: 9981 - } - } - } - - if (var32 || !var9.isIf3 || var12 < var14 && var13 < var15) { // L: 9986 - if (var9.isIf3) { // L: 9987 - ScriptEvent var26; - if (var9.noClickThrough) { // L: 9988 - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { // L: 9989 - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { // L: 9990 - if (var26.isMouseInputEvent) { // L: 9991 - var26.remove(); // L: 9992 - var26.widget.containsMouse = false; // L: 9993 - } - } - - if (ScriptFrame.widgetDragDuration == 0) { // L: 9996 - Client.clickedWidget = null; // L: 9997 - Client.clickedWidgetParent = null; // L: 9998 - } - - if (!Client.isMenuOpen) { // L: 10000 - ApproximateRouteStrategy.addCancelMenuEntry(); // L: 10001 - } - } - } else if (var9.noScrollThrough && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { // L: 10005 10006 - for (var26 = (ScriptEvent)Client.scriptEvents.last(); var26 != null; var26 = (ScriptEvent)Client.scriptEvents.previous()) { // L: 10007 - if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { // L: 10008 - var26.remove(); // L: 10009 - } - } - } - } - - var17 = MouseHandler.MouseHandler_x; // L: 10015 - var18 = MouseHandler.MouseHandler_y; // L: 10016 - if (MouseHandler.MouseHandler_lastButton != 0) { // L: 10017 - var17 = MouseHandler.MouseHandler_lastPressedX; // L: 10018 - var18 = MouseHandler.MouseHandler_lastPressedY; // L: 10019 - } - - boolean var33 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; // L: 10021 - if (var9.contentType == 1337) { // L: 10022 - if (!Client.isLoading && !Client.isMenuOpen && var33) { // L: 10023 - InvDefinition.addSceneMenuOptions(var17, var18, var12, var13); - } - } else if (var9.contentType == 1338) { // L: 10026 - UserComparator5.checkIfMinimapClicked(var9, var10, var11); // L: 10027 - } else { - if (var9.contentType == 1400) { // L: 10030 - WorldMapRectangle.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height); // L: 10031 - } - - if (!Client.isMenuOpen && var33) { // L: 10033 - if (var9.contentType == 1400) { // L: 10034 - WorldMapRectangle.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); // L: 10035 - } else { - WorldMapRegion.Widget_addToMenu(var9, var17 - var10, var18 - var11); // L: 10038 - } - } - - boolean var21; - int var23; - if (var32) { // L: 10041 - for (int var20 = 0; var20 < var9.field2649.length; ++var20) { // L: 10042 - var21 = false; // L: 10043 - boolean var27 = false; // L: 10044 - if (!var21 && var9.field2649[var20] != null) { // L: 10045 - for (var23 = 0; var23 < var9.field2649[var20].length; ++var23) { // L: 10046 - boolean var24 = false; // L: 10047 - if (var9.field2684 != null) { // L: 10048 - var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2649[var20][var23]]; // L: 10049 - } - - if (Canvas.method911(var9.field2649[var20][var23]) || var24) { // L: 10051 - var21 = true; // L: 10052 - if (var9.field2684 != null && var9.field2684[var20] > Client.cycle) { // L: 10053 - break; - } - - byte var31 = var9.field2637[var20][var23]; // L: 10054 - if (var31 == 0 || ((var31 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var31 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var31 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var31 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { // L: 10055 10056 10057 10058 10059 - var27 = true; // L: 10061 - break; - } - } - } - } - - if (var27) { // L: 10067 - if (var20 < 10) { // L: 10068 - class3.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); - } else if (var20 == 10) { // L: 10069 - WorldMapManager.Widget_runOnTargetLeave(); // L: 10070 - class194.selectSpell(var9.id, var9.childIndex, ServerPacket.Widget_unpackTargetMask(FaceNormal.getWidgetFlags(var9)), var9.itemId); // L: 10071 - Client.selectedSpellActionName = StudioGame.Widget_getSpellActionName(var9); // L: 10072 - if (Client.selectedSpellActionName == null) { // L: 10073 - Client.selectedSpellActionName = "null"; - } - - Client.selectedSpellName = var9.dataText + class23.colorStartTag(16777215); // L: 10074 - } - - var23 = var9.field2679[var20]; // L: 10076 - if (var9.field2684 == null) { // L: 10077 - var9.field2684 = new int[var9.field2649.length]; - } - - if (var9.field2664 == null) { // L: 10078 - var9.field2664 = new int[var9.field2649.length]; - } - - if (var23 != 0) { // L: 10079 - if (var9.field2684[var20] == 0) { // L: 10080 - var9.field2684[var20] = var23 + Client.cycle + var9.field2664[var20]; - } else { - var9.field2684[var20] = var23 + Client.cycle; // L: 10081 - } - } else { - var9.field2684[var20] = Integer.MAX_VALUE; // L: 10083 - } - } - - if (!var21 && var9.field2684 != null) { // L: 10085 10086 - var9.field2684[var20] = 0; - } - } - } - - if (var9.isIf3) { // L: 10090 - if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { // L: 10091 - var33 = true; - } else { - var33 = false; // L: 10092 - } - - boolean var34 = false; // L: 10093 - if ((MouseHandler.MouseHandler_currentButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) { // L: 10094 - var34 = true; - } - - var21 = false; // L: 10095 - if ((MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { // L: 10096 - var21 = true; - } - - if (var21) { // L: 10097 - class13.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); - } - - if (var9.contentType == 1400) { // L: 10098 - WorldMapRectangle.worldMap.method6362(var17, var18, var33 & var34, var33 & var21); // L: 10099 - } - - if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && SecureRandomCallable.method1216(FaceNormal.getWidgetFlags(var9))) { // L: 10101 - Client.draggedOnWidget = var9; - } - - if (var9 == Client.clickedWidgetParent) { // L: 10102 - Client.field859 = true; // L: 10103 - Client.field827 = var10; // L: 10104 - Client.field716 = var11; // L: 10105 - } - - if (var9.hasListener) { // L: 10107 - ScriptEvent var22; - if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { // L: 10108 - var22 = new ScriptEvent(); // L: 10109 - var22.isMouseInputEvent = true; // L: 10110 - var22.widget = var9; // L: 10111 - var22.mouseY = Client.mouseWheelRotation; // L: 10112 - var22.args = var9.onScroll; // L: 10113 - Client.scriptEvents.addFirst(var22); // L: 10114 - } - - if (Client.clickedWidget != null || class171.dragInventoryWidget != null || Client.isMenuOpen) { // L: 10116 - var21 = false; // L: 10117 - var34 = false; // L: 10118 - var33 = false; // L: 10119 - } - - if (!var9.isClicked && var21) { // L: 10121 - var9.isClicked = true; // L: 10122 - if (var9.onClick != null) { // L: 10123 - var22 = new ScriptEvent(); // L: 10124 - var22.isMouseInputEvent = true; // L: 10125 - var22.widget = var9; // L: 10126 - var22.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; // L: 10127 - var22.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; // L: 10128 - var22.args = var9.onClick; // L: 10129 - Client.scriptEvents.addFirst(var22); // L: 10130 - } - } - - if (var9.isClicked && var34 && var9.onClickRepeat != null) { // L: 10133 10134 - var22 = new ScriptEvent(); // L: 10135 - var22.isMouseInputEvent = true; // L: 10136 - var22.widget = var9; // L: 10137 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10138 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10139 - var22.args = var9.onClickRepeat; // L: 10140 - Client.scriptEvents.addFirst(var22); // L: 10141 - } - - if (var9.isClicked && !var34) { // L: 10144 - var9.isClicked = false; // L: 10145 - if (var9.onRelease != null) { // L: 10146 - var22 = new ScriptEvent(); // L: 10147 - var22.isMouseInputEvent = true; // L: 10148 - var22.widget = var9; // L: 10149 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10150 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10151 - var22.args = var9.onRelease; // L: 10152 - Client.field849.addFirst(var22); // L: 10153 - } - } - - if (var34 && var9.onHold != null) { // L: 10156 10157 - var22 = new ScriptEvent(); // L: 10158 - var22.isMouseInputEvent = true; // L: 10159 - var22.widget = var9; // L: 10160 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10161 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10162 - var22.args = var9.onHold; // L: 10163 - Client.scriptEvents.addFirst(var22); // L: 10164 - } - - if (!var9.containsMouse && var33) { // L: 10167 - var9.containsMouse = true; // L: 10168 - if (var9.onMouseOver != null) { // L: 10169 - var22 = new ScriptEvent(); // L: 10170 - var22.isMouseInputEvent = true; // L: 10171 - var22.widget = var9; // L: 10172 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10173 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10174 - var22.args = var9.onMouseOver; // L: 10175 - Client.scriptEvents.addFirst(var22); // L: 10176 - } - } - - if (var9.containsMouse && var33 && var9.onMouseRepeat != null) { // L: 10179 10180 - var22 = new ScriptEvent(); // L: 10181 - var22.isMouseInputEvent = true; // L: 10182 - var22.widget = var9; // L: 10183 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10184 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10185 - var22.args = var9.onMouseRepeat; // L: 10186 - Client.scriptEvents.addFirst(var22); // L: 10187 - } - - if (var9.containsMouse && !var33) { // L: 10190 - var9.containsMouse = false; // L: 10191 - if (var9.onMouseLeave != null) { // L: 10192 - var22 = new ScriptEvent(); // L: 10193 - var22.isMouseInputEvent = true; // L: 10194 - var22.widget = var9; // L: 10195 - var22.mouseX = MouseHandler.MouseHandler_x - var10; // L: 10196 - var22.mouseY = MouseHandler.MouseHandler_y - var11; // L: 10197 - var22.args = var9.onMouseLeave; // L: 10198 - Client.field849.addFirst(var22); // L: 10199 - } - } - - if (var9.onTimer != null) { // L: 10202 - var22 = new ScriptEvent(); // L: 10203 - var22.widget = var9; // L: 10204 - var22.args = var9.onTimer; // L: 10205 - Client.field715.addFirst(var22); // L: 10206 - } - - ScriptEvent var25; - int var35; - int var36; - if (var9.onVarTransmit != null && Client.changedVarpCount > var9.field2645) { // L: 10208 - if (var9.varTransmitTriggers != null && Client.changedVarpCount - var9.field2645 <= 32) { // L: 10209 - label777: - for (var36 = var9.field2645; var36 < Client.changedVarpCount; ++var36) { // L: 10216 - var23 = Client.changedVarps[var36 & 31]; // L: 10217 - - for (var35 = 0; var35 < var9.varTransmitTriggers.length; ++var35) { // L: 10218 - if (var23 == var9.varTransmitTriggers[var35]) { // L: 10219 - var25 = new ScriptEvent(); // L: 10220 - var25.widget = var9; // L: 10221 - var25.args = var9.onVarTransmit; // L: 10222 - Client.scriptEvents.addFirst(var25); // L: 10223 - break label777; // L: 10224 - } - } - } - } else { - var22 = new ScriptEvent(); // L: 10210 - var22.widget = var9; // L: 10211 - var22.args = var9.onVarTransmit; // L: 10212 - Client.scriptEvents.addFirst(var22); // L: 10213 - } - - var9.field2645 = Client.changedVarpCount; // L: 10229 - } - - if (var9.onInvTransmit != null && Client.field837 > var9.field2721) { // L: 10231 - if (var9.invTransmitTriggers != null && Client.field837 - var9.field2721 <= 32) { // L: 10232 - label753: - for (var36 = var9.field2721; var36 < Client.field837; ++var36) { // L: 10239 - var23 = Client.changedItemContainers[var36 & 31]; // L: 10240 - - for (var35 = 0; var35 < var9.invTransmitTriggers.length; ++var35) { // L: 10241 - if (var23 == var9.invTransmitTriggers[var35]) { // L: 10242 - var25 = new ScriptEvent(); // L: 10243 - var25.widget = var9; // L: 10244 - var25.args = var9.onInvTransmit; // L: 10245 - Client.scriptEvents.addFirst(var25); // L: 10246 - break label753; // L: 10247 - } - } - } - } else { - var22 = new ScriptEvent(); // L: 10233 - var22.widget = var9; // L: 10234 - var22.args = var9.onInvTransmit; // L: 10235 - Client.scriptEvents.addFirst(var22); // L: 10236 - } - - var9.field2721 = Client.field837; // L: 10252 - } - - if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2725) { // L: 10254 - if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2725 <= 32) { // L: 10255 - label729: - for (var36 = var9.field2725; var36 < Client.changedSkillsCount; ++var36) { // L: 10262 - var23 = Client.changedSkills[var36 & 31]; // L: 10263 - - for (var35 = 0; var35 < var9.statTransmitTriggers.length; ++var35) { // L: 10264 - if (var23 == var9.statTransmitTriggers[var35]) { // L: 10265 - var25 = new ScriptEvent(); // L: 10266 - var25.widget = var9; // L: 10267 - var25.args = var9.onStatTransmit; // L: 10268 - Client.scriptEvents.addFirst(var25); // L: 10269 - break label729; // L: 10270 - } - } - } - } else { - var22 = new ScriptEvent(); // L: 10256 - var22.widget = var9; // L: 10257 - var22.args = var9.onStatTransmit; // L: 10258 - Client.scriptEvents.addFirst(var22); // L: 10259 - } - - var9.field2725 = Client.changedSkillsCount; // L: 10275 - } - - if (Client.chatCycle > var9.field2719 && var9.onChatTransmit != null) { // L: 10277 - var22 = new ScriptEvent(); // L: 10278 - var22.widget = var9; // L: 10279 - var22.args = var9.onChatTransmit; // L: 10280 - Client.scriptEvents.addFirst(var22); // L: 10281 - } - - if (Client.field879 > var9.field2719 && var9.onFriendTransmit != null) { // L: 10283 - var22 = new ScriptEvent(); // L: 10284 - var22.widget = var9; // L: 10285 - var22.args = var9.onFriendTransmit; // L: 10286 - Client.scriptEvents.addFirst(var22); // L: 10287 - } - - if (Client.field842 > var9.field2719 && var9.onClanTransmit != null) { // L: 10289 - var22 = new ScriptEvent(); // L: 10290 - var22.widget = var9; // L: 10291 - var22.args = var9.onClanTransmit; // L: 10292 - Client.scriptEvents.addFirst(var22); // L: 10293 - } - - if (Client.field685 > var9.field2719 && var9.onStockTransmit != null) { // L: 10295 - var22 = new ScriptEvent(); // L: 10296 - var22.widget = var9; // L: 10297 - var22.args = var9.onStockTransmit; // L: 10298 - Client.scriptEvents.addFirst(var22); // L: 10299 - } - - if (Client.field680 > var9.field2719 && var9.field2703 != null) { // L: 10301 - var22 = new ScriptEvent(); // L: 10302 - var22.widget = var9; // L: 10303 - var22.args = var9.field2703; // L: 10304 - Client.scriptEvents.addFirst(var22); // L: 10305 - } - - if (Client.field845 > var9.field2719 && var9.onMiscTransmit != null) { // L: 10307 - var22 = new ScriptEvent(); // L: 10308 - var22.widget = var9; // L: 10309 - var22.args = var9.onMiscTransmit; // L: 10310 - Client.scriptEvents.addFirst(var22); // L: 10311 - } - - var9.field2719 = Client.cycleCntr; // L: 10313 - if (var9.onKey != null) { // L: 10314 - for (var36 = 0; var36 < Client.field870; ++var36) { // L: 10315 - ScriptEvent var30 = new ScriptEvent(); // L: 10316 - var30.widget = var9; // L: 10317 - var30.keyTyped = Client.field693[var36]; // L: 10318 - var30.keyPressed = Client.field661[var36]; // L: 10319 - var30.args = var9.onKey; // L: 10320 - Client.scriptEvents.addFirst(var30); // L: 10321 - } - } - } - } - - if (!var9.isIf3) { // L: 10326 - if (Client.clickedWidget != null || class171.dragInventoryWidget != null || Client.isMenuOpen) { // L: 10327 - continue; - } - - if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { // L: 10328 - if (var9.mouseOverRedirect >= 0) { // L: 10329 - EnumComposition.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; - } else { - EnumComposition.mousedOverWidgetIf1 = var9; // L: 10330 - } - } - - if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { // L: 10332 - CollisionMap.field2092 = var9; // L: 10333 - } - - if (var9.scrollHeight > var9.height) { // L: 10335 - SequenceDefinition.method4797(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); - } - } - - if (var9.type == 0) { // L: 10337 - updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); // L: 10338 - if (var9.children != null) { // L: 10339 - updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); - } - - InterfaceParent var28 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); // L: 10340 - if (var28 != null) { // L: 10341 - if (var28.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { // L: 10342 - for (ScriptEvent var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { // L: 10343 - if (var29.isMouseInputEvent) { // L: 10344 - var29.remove(); // L: 10345 - var29.widget.containsMouse = false; // L: 10346 - } - } - - if (ScriptFrame.widgetDragDuration == 0) { // L: 10349 - Client.clickedWidget = null; // L: 10350 - Client.clickedWidgetParent = null; // L: 10351 - } - - if (!Client.isMenuOpen) { // L: 10353 - ApproximateRouteStrategy.addCancelMenuEntry(); // L: 10354 - } - } - - class51.updateRootInterface(var28.group, var12, var13, var14, var15, var10, var11); // L: 10357 - } - } - } - } - } - } - - } // L: 10361 + @ObfuscatedName("d") + static byte[] field1275 = new byte[2048]; + @ObfuscatedName("c") + static byte[] field1274 = new byte[2048]; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "[Lkx;" + ) + static Buffer[] field1269 = new Buffer[2048]; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 286612825 + ) + @Export("Players_count") + static int Players_count = 0; + @ObfuscatedName("z") + @Export("Players_indices") + static int[] Players_indices = new int[2048]; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1913130791 + ) + @Export("Players_emptyIdxCount") + static int Players_emptyIdxCount = 0; + @ObfuscatedName("q") + @Export("Players_emptyIndices") + static int[] Players_emptyIndices = new int[2048]; + @ObfuscatedName("l") + @Export("Players_regions") + static int[] Players_regions = new int[2048]; + @ObfuscatedName("s") + @Export("Players_orientations") + static int[] Players_orientations = new int[2048]; + @ObfuscatedName("b") + @Export("Players_targetIndices") + static int[] Players_targetIndices = new int[2048]; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 8929153 + ) + @Export("Players_pendingUpdateCount") + static int Players_pendingUpdateCount = 0; + @ObfuscatedName("w") + @Export("Players_pendingUpdateIndices") + static int[] Players_pendingUpdateIndices = new int[2048]; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + static Buffer field1279 = new Buffer(new byte[5000]); + + @ObfuscatedName("fe") + @ObfuscatedSignature( + descriptor = "(Lcv;I)V", + garbageValue = "-202535471" + ) + static final void method2286(Actor var0) { + var0.isWalking = false; + SequenceDefinition var1; + if (var0.movementSequence != -1) { + var1 = InterfaceParent.SequenceDefinition_get(var0.movementSequence); + if (var1 != null && var1.frameIds != null) { + ++var0.movementFrameCycle; + if (var0.movementFrame < var1.frameIds.length && var0.movementFrameCycle > var1.frameLengths[var0.movementFrame]) { + var0.movementFrameCycle = 1; + ++var0.movementFrame; + class169.method3637(var1, var0.movementFrame, var0.x, var0.y); + } + + if (var0.movementFrame >= var1.frameIds.length) { + var0.movementFrameCycle = 0; + var0.movementFrame = 0; + class169.method3637(var1, var0.movementFrame, var0.x, var0.y); + } + } else { + var0.movementSequence = -1; + } + } + + if (var0.spotAnimation != -1 && Client.cycle >= var0.field993) { + if (var0.spotAnimationFrame < 0) { + var0.spotAnimationFrame = 0; + } + + int var3 = AbstractUserComparator.SpotAnimationDefinition_get(var0.spotAnimation).sequence; + if (var3 != -1) { + SequenceDefinition var2 = InterfaceParent.SequenceDefinition_get(var3); + if (var2 != null && var2.frameIds != null) { + ++var0.spotAnimationFrameCycle; + if (var0.spotAnimationFrame < var2.frameIds.length && var0.spotAnimationFrameCycle > var2.frameLengths[var0.spotAnimationFrame]) { + var0.spotAnimationFrameCycle = 1; + ++var0.spotAnimationFrame; + class169.method3637(var2, var0.spotAnimationFrame, var0.x, var0.y); + } + + if (var0.spotAnimationFrame >= var2.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var2.frameIds.length)) { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } else { + var0.spotAnimation = -1; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay <= 1) { + var1 = InterfaceParent.SequenceDefinition_get(var0.sequence); + if (var1.field3564 == 1 && var0.field1012 > 0 && var0.field999 <= Client.cycle && var0.field1000 < Client.cycle) { + var0.sequenceDelay = 1; + return; + } + } + + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + var1 = InterfaceParent.SequenceDefinition_get(var0.sequence); + if (var1 != null && var1.frameIds != null) { + ++var0.sequenceFrameCycle; + if (var0.sequenceFrame < var1.frameIds.length && var0.sequenceFrameCycle > var1.frameLengths[var0.sequenceFrame]) { + var0.sequenceFrameCycle = 1; + ++var0.sequenceFrame; + class169.method3637(var1, var0.sequenceFrame, var0.x, var0.y); + } + + if (var0.sequenceFrame >= var1.frameIds.length) { + var0.sequenceFrame -= var1.frameCount; + ++var0.field973; + if (var0.field973 >= var1.field3563) { + var0.sequence = -1; + } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) { + class169.method3637(var1, var0.sequenceFrame, var0.x, var0.y); + } else { + var0.sequence = -1; + } + } + + var0.isWalking = var1.field3559; + } else { + var0.sequence = -1; + } + } + + if (var0.sequenceDelay > 0) { + --var0.sequenceDelay; + } + + } } diff --git a/runescape-client/src/main/java/PrivateChatMode.java b/runescape-client/src/main/java/PrivateChatMode.java index 88adef9a93..35b356cf35 100644 --- a/runescape-client/src/main/java/PrivateChatMode.java +++ b/runescape-client/src/main/java/PrivateChatMode.java @@ -1,106 +1,92 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lw") +@ObfuscatedName("ld") @Implements("PrivateChatMode") public class PrivateChatMode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Llw;" - ) - static final PrivateChatMode field3833; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llw;" - ) - public static final PrivateChatMode field3832; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Llw;" - ) - static final PrivateChatMode field3834; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -976230065 - ) - public final int field3835; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lld;" + ) + static final PrivateChatMode field3829 = new PrivateChatMode(0); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lld;" + ) + public static final PrivateChatMode field3830 = new PrivateChatMode(1); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lld;" + ) + static final PrivateChatMode field3831 = new PrivateChatMode(2); + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -441716017 + ) + public final int field3832; - static { - field3833 = new PrivateChatMode(0); // L: 5 - field3832 = new PrivateChatMode(1); // L: 6 - field3834 = new PrivateChatMode(2); - } // L: 7 + PrivateChatMode(int var1) { + this.field3832 = var1; + } - PrivateChatMode(int var1) { - this.field3835 = var1; // L: 11 - } // L: 12 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "1722143108" + ) + public static int method6104(int var0) { + var0 = (var0 & 1431655765) + (var0 >>> 1 & 1431655765); + var0 = (var0 >>> 2 & 858993459) + (var0 & 858993459); + var0 = var0 + (var0 >>> 4) & 252645135; + var0 += var0 >>> 8; + var0 += var0 >>> 16; + return var0 & 255; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;III)Lku;", - garbageValue = "1224864347" - ) - public static Font method5934(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { - return !class304.method5363(var0, var2, var3) ? null : class308.method5482(var1.takeFile(var2, var3)); // L: 82 83 - } + @ObfuscatedName("ix") + @ObfuscatedSignature( + descriptor = "(Lhz;IIIIIII)V", + garbageValue = "-1992669827" + ) + static final void method6107(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (Client.field731) { + Client.alternativeScrollbarWidth = 32; + } else { + Client.alternativeScrollbarWidth = 0; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(B)Llo;", - garbageValue = "64" - ) - static IndexedSprite method5937() { - IndexedSprite var0 = new IndexedSprite(); // L: 166 - var0.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 167 - var0.height = class336.SpriteBuffer_spriteHeight; // L: 168 - var0.xOffset = class336.SpriteBuffer_xOffsets[0]; // L: 169 - var0.yOffset = class336.SpriteBuffer_yOffsets[0]; // L: 170 - var0.subWidth = class336.SpriteBuffer_spriteWidths[0]; // L: 171 - var0.subHeight = class336.SpriteBuffer_spriteHeights[0]; // L: 172 - var0.palette = class336.SpriteBuffer_spritePalette; // L: 173 - var0.pixels = GrandExchangeEvents.SpriteBuffer_pixels[0]; // L: 174 - class336.SpriteBuffer_xOffsets = null; // L: 176 - class336.SpriteBuffer_yOffsets = null; // L: 177 - class336.SpriteBuffer_spriteWidths = null; // L: 178 - class336.SpriteBuffer_spriteHeights = null; // L: 179 - class336.SpriteBuffer_spritePalette = null; // L: 180 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 181 - return var0; // L: 183 - } + Client.field731 = false; + int var7; + if (MouseHandler.MouseHandler_currentButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { + if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { + var0.scrollY -= 4; + IsaacCipher.invalidateWidget(var0); + } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { + var0.scrollY += 4; + IsaacCipher.invalidateWidget(var0); + } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { + var7 = var3 * (var3 - 32) / var4; + if (var7 < 8) { + var7 = 8; + } - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "([BB)[B", - garbageValue = "1" - ) - @Export("decompressBytes") - static final byte[] decompressBytes(byte[] var0) { - Buffer var1 = new Buffer(var0); // L: 424 - int var2 = var1.readUnsignedByte(); // L: 425 - int var3 = var1.readInt(); // L: 426 - if (var3 < 0 || AbstractArchive.field3171 != 0 && var3 > AbstractArchive.field3171) { // L: 427 - throw new RuntimeException(); // L: 428 - } else if (var2 == 0) { // L: 430 - byte[] var6 = new byte[var3]; // L: 431 - var1.readBytes(var6, 0, var3); // L: 432 - return var6; // L: 433 - } else { - int var4 = var1.readInt(); // L: 436 - if (var4 >= 0 && (AbstractArchive.field3171 == 0 || var4 <= AbstractArchive.field3171)) { // L: 437 - byte[] var5 = new byte[var4]; // L: 440 - if (var2 == 1) { // L: 441 - BZip2Decompressor.BZip2Decompressor_decompress(var5, var4, var0, var3, 9); - } else { - AbstractArchive.gzipDecompressor.decompress(var1, var5); // L: 442 - } + int var8 = var6 - var2 - 16 - var7 / 2; + int var9 = var3 - 32 - var7; + var0.scrollY = var8 * (var4 - var3) / var9; + IsaacCipher.invalidateWidget(var0); + Client.field731 = true; + } + } - return var5; // L: 443 - } else { - throw new RuntimeException(); // L: 438 - } - } - } + if (Client.mouseWheelRotation != 0) { + var7 = var0.width; + if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { + var0.scrollY += Client.mouseWheelRotation * 45; + IsaacCipher.invalidateWidget(var0); + } + } + + } } diff --git a/runescape-client/src/main/java/Projectile.java b/runescape-client/src/main/java/Projectile.java index 4a52eab604..da4c764b1c 100644 --- a/runescape-client/src/main/java/Projectile.java +++ b/runescape-client/src/main/java/Projectile.java @@ -1,315 +1,693 @@ +import java.io.File; +import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cu") +@ObfuscatedName("cm") @Implements("Projectile") -public final class Projectile extends Renderable -{ - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1007905183 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1937509115 - ) - @Export("plane") - int plane; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1125805555 - ) - @Export("sourceX") - int sourceX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1326748081 - ) - @Export("sourceY") - int sourceY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 2116079029 - ) - @Export("sourceZ") - int sourceZ; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2122039085 - ) - @Export("endHeight") - int endHeight; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1053007733 - ) - @Export("cycleStart") - int cycleStart; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 355829279 - ) - @Export("cycleEnd") - int cycleEnd; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -669638867 - ) - @Export("slope") - int slope; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 40350499 - ) - @Export("startHeight") - int startHeight; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1973654015 - ) - @Export("targetIndex") - int targetIndex; - @ObfuscatedName("e") - @Export("isMoving") - boolean isMoving; - @ObfuscatedName("m") - @Export("x") - double x; - @ObfuscatedName("c") - @Export("y") - double y; - @ObfuscatedName("i") - @Export("z") - double z; - @ObfuscatedName("f") - @Export("speedX") - double speedX; - @ObfuscatedName("a") - @Export("speedY") - double speedY; - @ObfuscatedName("b") - @Export("speed") - double speed; - @ObfuscatedName("y") - @Export("speedZ") - double speedZ; - @ObfuscatedName("r") - @Export("accelerationZ") - double accelerationZ; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1429674929 - ) - @Export("yaw") - int yaw; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 1912315299 - ) - @Export("pitch") - int pitch; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Ljy;" - ) - @Export("sequenceDefinition") - SequenceDefinition sequenceDefinition; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -564817743 - ) - @Export("frame") - int frame; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 849010023 - ) - @Export("frameCycle") - int frameCycle; +public final class Projectile extends Renderable { + @ObfuscatedName("bv") + static String field1254; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -755996103 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1141398545 + ) + @Export("plane") + int plane; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 877328381 + ) + @Export("sourceX") + int sourceX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1822373019 + ) + @Export("sourceY") + int sourceY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -584501537 + ) + @Export("sourceZ") + int sourceZ; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1427536699 + ) + @Export("endHeight") + int endHeight; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1057628543 + ) + @Export("cycleStart") + int cycleStart; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1465417479 + ) + @Export("cycleEnd") + int cycleEnd; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1352197335 + ) + @Export("slope") + int slope; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1830330659 + ) + @Export("startHeight") + int startHeight; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 165397127 + ) + @Export("targetIndex") + int targetIndex; + @ObfuscatedName("b") + @Export("isMoving") + boolean isMoving = false; + @ObfuscatedName("a") + @Export("x") + double x; + @ObfuscatedName("w") + @Export("y") + double y; + @ObfuscatedName("k") + @Export("z") + double z; + @ObfuscatedName("i") + @Export("speedX") + double speedX; + @ObfuscatedName("x") + @Export("speedY") + double speedY; + @ObfuscatedName("f") + @Export("speed") + double speed; + @ObfuscatedName("g") + @Export("speedZ") + double speedZ; + @ObfuscatedName("u") + @Export("accelerationZ") + double accelerationZ; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = -1955217023 + ) + @Export("yaw") + int yaw; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 2095511803 + ) + @Export("pitch") + int pitch; + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Ljs;" + ) + @Export("sequenceDefinition") + SequenceDefinition sequenceDefinition; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 900549733 + ) + @Export("frame") + int frame = 0; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 404929191 + ) + @Export("frameCycle") + int frameCycle = 0; - Projectile(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { - this.isMoving = false; // L: 20 - this.frame = 0; // L: 32 - this.frameCycle = 0; // L: 33 - this.id = var1; // L: 36 - this.plane = var2; // L: 37 - this.sourceX = var3; // L: 38 - this.sourceY = var4; // L: 39 - this.sourceZ = var5; // L: 40 - this.cycleStart = var6; // L: 41 - this.cycleEnd = var7; // L: 42 - this.slope = var8; // L: 43 - this.startHeight = var9; // L: 44 - this.targetIndex = var10; // L: 45 - this.endHeight = var11; // L: 46 - this.isMoving = false; // L: 47 - int var12 = TileItem.SpotAnimationDefinition_get(this.id).sequence; // L: 48 - if (var12 != -1) { // L: 49 - this.sequenceDefinition = ParamComposition.SequenceDefinition_get(var12); - } else { - this.sequenceDefinition = null; // L: 50 - } + Projectile(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + this.id = var1; + this.plane = var2; + this.sourceX = var3; + this.sourceY = var4; + this.sourceZ = var5; + this.cycleStart = var6; + this.cycleEnd = var7; + this.slope = var8; + this.startHeight = var9; + this.targetIndex = var10; + this.endHeight = var11; + this.isMoving = false; + int var12 = AbstractUserComparator.SpotAnimationDefinition_get(this.id).sequence; + if (var12 != -1) { + this.sequenceDefinition = InterfaceParent.SequenceDefinition_get(var12); + } else { + this.sequenceDefinition = null; + } - } // L: 51 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "595136450" - ) - @Export("setDestination") - final void setDestination(int var1, int var2, int var3, int var4) { - double var5; - if (!this.isMoving) { // L: 54 - var5 = (double)(var1 - this.sourceX); // L: 55 - double var7 = (double)(var2 - this.sourceY); // L: 56 - double var9 = Math.sqrt(var5 * var5 + var7 * var7); // L: 57 - this.x = (double)this.sourceX + var5 * (double)this.startHeight / var9; // L: 58 - this.y = (double)this.sourceY + (double)this.startHeight * var7 / var9; // L: 59 - this.z = (double)this.sourceZ; // L: 60 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "101" + ) + @Export("setDestination") + final void setDestination(int var1, int var2, int var3, int var4) { + double var5; + if (!this.isMoving) { + var5 = (double)(var1 - this.sourceX); + double var7 = (double)(var2 - this.sourceY); + double var9 = Math.sqrt(var7 * var7 + var5 * var5); + this.x = (double)this.startHeight * var5 / var9 + (double)this.sourceX; + this.y = (double)this.sourceY + (double)this.startHeight * var7 / var9; + this.z = (double)this.sourceZ; + } - var5 = (double)(this.cycleEnd + 1 - var4); - this.speedX = ((double)var1 - this.x) / var5; - this.speedY = ((double)var2 - this.y) / var5; - this.speed = Math.sqrt(this.speedX * this.speedX + this.speedY * this.speedY); - if (!this.isMoving) { - this.speedZ = -this.speed * Math.tan((double)this.slope * 0.02454369D); - } + var5 = (double)(this.cycleEnd + 1 - var4); + this.speedX = ((double)var1 - this.x) / var5; + this.speedY = ((double)var2 - this.y) / var5; + this.speed = Math.sqrt(this.speedX * this.speedX + this.speedY * this.speedY); + if (!this.isMoving) { + this.speedZ = -this.speed * Math.tan(0.02454369D * (double)this.slope); + } - this.accelerationZ = 2.0D * ((double)var3 - this.z - var5 * this.speedZ) / (var5 * var5); - } + this.accelerationZ = 2.0D * ((double)var3 - this.z - this.speedZ * var5) / (var5 * var5); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "-20" - ) - @Export("advance") - final void advance(int var1) { - this.isMoving = true; - this.x += (double)var1 * this.speedX; - this.y += this.speedY * (double)var1; - this.z += (double)var1 * (double)var1 * 0.5D * this.accelerationZ + (double)var1 * this.speedZ; - this.speedZ += (double)var1 * this.accelerationZ; - this.yaw = (int)(Math.atan2(this.speedX, this.speedY) * 325.949D) + 1024 & 2047; - this.pitch = (int)(Math.atan2(this.speedZ, this.speed) * 325.949D) & 2047; - if (this.sequenceDefinition != null) { - this.frameCycle += var1; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "114" + ) + @Export("advance") + final void advance(int var1) { + this.isMoving = true; + this.x += (double)var1 * this.speedX; + this.y += this.speedY * (double)var1; + this.z += (double)var1 * 0.5D * this.accelerationZ * (double)var1 + this.speedZ * (double)var1; + this.speedZ += (double)var1 * this.accelerationZ; + this.yaw = (int)(Math.atan2(this.speedX, this.speedY) * 325.949D) + 1024 & 2047; + this.pitch = (int)(Math.atan2(this.speedZ, this.speed) * 325.949D) & 2047; + if (this.sequenceDefinition != null) { + this.frameCycle += var1; - while (true) { - do { - do { - if (this.frameCycle <= this.sequenceDefinition.frameLengths[this.frame]) { - return; - } + while(true) { + do { + do { + if (this.frameCycle <= this.sequenceDefinition.frameLengths[this.frame]) { + return; + } - this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; - ++this.frame; - } while(this.frame < this.sequenceDefinition.frameIds.length); + this.frameCycle -= this.sequenceDefinition.frameLengths[this.frame]; + ++this.frame; + } while(this.frame < this.sequenceDefinition.frameIds.length); - this.frame -= this.sequenceDefinition.frameCount; - } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); + this.frame -= this.sequenceDefinition.frameCount; + } while(this.frame >= 0 && this.frame < this.sequenceDefinition.frameIds.length); - this.frame = 0; - } - } - } + this.frame = 0; + } + } + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - SpotAnimationDefinition var1 = TileItem.SpotAnimationDefinition_get(this.id); - Model var2 = var1.getModel(this.frame); - if (var2 == null) { // L: 94 - return null; - } else { - var2.rotateZ(this.pitch); - return var2; // L: 96 - } - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + SpotAnimationDefinition var1 = AbstractUserComparator.SpotAnimationDefinition_get(this.id); + Model var2 = var1.getModel(this.frame); + if (var2 == null) { + return null; + } else { + var2.rotateZ(this.pitch); + return var2; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)[B", - garbageValue = "251926976" - ) - public static byte[] method2171(CharSequence var0) { - int var1 = var0.length(); // L: 61 - byte[] var2 = new byte[var1]; // L: 62 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIB)V", + garbageValue = "23" + ) + public static void method2255(String var0, String var1, int var2, int var3) throws IOException { + JagexCache.idxCount = var3; + JagexCache.cacheGamebuild = var2; - for (int var3 = 0; var3 < var1; ++var3) { // L: 63 - char var4 = var0.charAt(var3); // L: 64 - if (var4 > 0 && var4 < 128 || var4 >= 160 && var4 <= 255) { // L: 65 - var2[var3] = (byte)var4; - } else if (var4 == 8364) { // L: 66 - var2[var3] = -128; - } else if (var4 == 8218) { // L: 67 - var2[var3] = -126; - } else if (var4 == 402) { // L: 68 - var2[var3] = -125; - } else if (var4 == 8222) { // L: 69 - var2[var3] = -124; - } else if (var4 == 8230) { // L: 70 - var2[var3] = -123; - } else if (var4 == 8224) { // L: 71 - var2[var3] = -122; - } else if (var4 == 8225) { // L: 72 - var2[var3] = -121; - } else if (var4 == 710) { // L: 73 - var2[var3] = -120; - } else if (var4 == 8240) { // L: 74 - var2[var3] = -119; - } else if (var4 == 352) { - var2[var3] = -118; // L: 75 - } else if (var4 == 8249) { // L: 76 - var2[var3] = -117; - } else if (var4 == 338) { // L: 77 - var2[var3] = -116; - } else if (var4 == 381) { // L: 78 - var2[var3] = -114; - } else if (var4 == 8216) { // L: 79 - var2[var3] = -111; - } else if (var4 == 8217) { // L: 80 - var2[var3] = -110; - } else if (var4 == 8220) { // L: 81 - var2[var3] = -109; - } else if (var4 == 8221) { // L: 82 - var2[var3] = -108; - } else if (var4 == 8226) { // L: 83 - var2[var3] = -107; - } else if (var4 == 8211) { // L: 84 - var2[var3] = -106; - } else if (var4 == 8212) { // L: 85 - var2[var3] = -105; - } else if (var4 == 732) { // L: 86 - var2[var3] = -104; - } else if (var4 == 8482) { // L: 87 - var2[var3] = -103; - } else if (var4 == 353) { // L: 88 - var2[var3] = -102; - } else if (var4 == 8250) { - var2[var3] = -101; // L: 89 - } else if (var4 == 339) { // L: 90 - var2[var3] = -100; - } else if (var4 == 382) { // L: 91 - var2[var3] = -98; - } else if (var4 == 376) { // L: 92 - var2[var3] = -97; - } else { - var2[var3] = 63; // L: 93 - } - } + try { + JagexCache.field2065 = System.getProperty("os.name"); + } catch (Exception var28) { + JagexCache.field2065 = "Unknown"; + } - return var2; // L: 95 - } + GZipDecompressor.field4046 = JagexCache.field2065.toLowerCase(); + + try { + JagexCache.userHomeDirectory = System.getProperty("user.home"); + if (JagexCache.userHomeDirectory != null) { + JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/"; + } + } catch (Exception var27) { + ; + } + + try { + if (GZipDecompressor.field4046.startsWith("win")) { + if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = System.getenv("USERPROFILE"); + } + } else if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = System.getenv("HOME"); + } + + if (JagexCache.userHomeDirectory != null) { + JagexCache.userHomeDirectory = JagexCache.userHomeDirectory + "/"; + } + } catch (Exception var26) { + ; + } + + if (JagexCache.userHomeDirectory == null) { + JagexCache.userHomeDirectory = "~/"; + } + + class224.field2576 = new String[]{"c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/", JagexCache.userHomeDirectory, "/tmp/", ""}; + Timer.field3621 = new String[]{".jagex_cache_" + JagexCache.cacheGamebuild, ".file_store_" + JagexCache.cacheGamebuild}; + int var18 = 0; + + label250: + while(var18 < 4) { + String var6 = var18 == 0 ? "" : "" + var18; + JagexCache.JagexCache_locationFile = new File(JagexCache.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var6 + ".dat"); + String var7 = null; + String var8 = null; + boolean var9 = false; + Buffer var11; + File var33; + if (JagexCache.JagexCache_locationFile.exists()) { + try { + AccessFile var10 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + + int var12; + for(var11 = new Buffer((int)var10.length()); var11.offset < var11.array.length; var11.offset += var12) { + var12 = var10.read(var11.array, var11.offset, var11.array.length - var11.offset); + if (var12 == -1) { + throw new IOException(); + } + } + + var11.offset = 0; + var12 = var11.readUnsignedByte(); + if (var12 < 1 || var12 > 3) { + throw new IOException("" + var12); + } + + int var13 = 0; + if (var12 > 1) { + var13 = var11.readUnsignedByte(); + } + + if (var12 <= 2) { + var7 = var11.readStringCp1252NullCircumfixed(); + if (var13 == 1) { + var8 = var11.readStringCp1252NullCircumfixed(); + } + } else { + var7 = var11.readCESU8(); + if (var13 == 1) { + var8 = var11.readCESU8(); + } + } + + var10.close(); + } catch (IOException var30) { + var30.printStackTrace(); + } + + if (var7 != null) { + var33 = new File(var7); + if (!var33.exists()) { + var7 = null; + } + } + + if (var7 != null) { + var33 = new File(var7, "test.dat"); + if (!class23.method235(var33, true)) { + var7 = null; + } + } + } + + if (var7 == null && var18 == 0) { + label225: + for(int var19 = 0; var19 < Timer.field3621.length; ++var19) { + for(int var20 = 0; var20 < class224.field2576.length; ++var20) { + File var21 = new File(class224.field2576[var20] + Timer.field3621[var19] + File.separatorChar + var0 + File.separatorChar); + if (var21.exists() && class23.method235(new File(var21, "test.dat"), true)) { + var7 = var21.toString(); + var9 = true; + break label225; + } + } + } + } + + if (var7 == null) { + var7 = JagexCache.userHomeDirectory + File.separatorChar + "jagexcache" + var6 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; + var9 = true; + } + + File var32; + if (var8 != null) { + var32 = new File(var8); + var33 = new File(var7); + + try { + File[] var35 = var32.listFiles(); + File[] var22 = var35; + + for(int var14 = 0; var14 < var22.length; ++var14) { + File var15 = var22[var14]; + File var16 = new File(var33, var15.getName()); + boolean var17 = var15.renameTo(var16); + if (!var17) { + throw new IOException(); + } + } + } catch (Exception var29) { + var29.printStackTrace(); + } + + var9 = true; + } + + if (var9) { + var32 = new File(var7); + var11 = null; + + try { + AccessFile var36 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); + Buffer var37 = new Buffer(500); + var37.writeByte(3); + var37.writeByte(var11 != null ? 1 : 0); + var37.writeCESU8(var32.getPath()); + if (var11 != null) { + var37.writeCESU8(""); + } + + var36.write(var37.array, 0, var37.offset); + var36.close(); + } catch (IOException var25) { + var25.printStackTrace(); + } + } + + File var5 = new File(var7); + JagexCache.cacheDir = var5; + if (!JagexCache.cacheDir.exists()) { + JagexCache.cacheDir.mkdirs(); + } + + File[] var31 = JagexCache.cacheDir.listFiles(); + if (var31 != null) { + File[] var34 = var31; + + for(int var23 = 0; var23 < var34.length; ++var23) { + File var24 = var34[var23]; + if (!class23.method235(var24, false)) { + ++var18; + continue label250; + } + } + } + break; + } + + class3.method36(JagexCache.cacheDir); + Varcs.method2346(); + JagexCache.JagexCache_dat2File = new BufferedFile(new AccessFile(GraphicsObject.getFile("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0); + JagexCache.JagexCache_idx255File = new BufferedFile(new AccessFile(GraphicsObject.getFile("main_file_cache.idx255"), "rw", 1048576L), 6000, 0); + WorldMapEvent.JagexCache_idxFiles = new BufferedFile[JagexCache.idxCount]; + + for(var18 = 0; var18 < JagexCache.idxCount; ++var18) { + WorldMapEvent.JagexCache_idxFiles[var18] = new BufferedFile(new AccessFile(GraphicsObject.getFile("main_file_cache.idx" + var18), "rw", 1048576L), 6000, 0); + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)[B", + garbageValue = "-22" + ) + public static byte[] method2260() { + byte[] var0 = new byte[24]; + + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.readFully(var0); + + int var1; + for(var1 = 0; var1 < 24 && var0[var1] == 0; ++var1) { + ; + } + + if (var1 >= 24) { + throw new IOException(); + } + } catch (Exception var4) { + for(int var2 = 0; var2 < 24; ++var2) { + var0[var2] = -1; + } + } + + return var0; + } + + @ObfuscatedName("hv") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "-87" + ) + static final void method2262(int var0, int var1, int var2, int var3) { + for(int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { + if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetHeights[var4] + Client.rootWidgetYs[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { + Client.field816[var4] = true; + } + } + + } + + @ObfuscatedName("ip") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "2" + ) + @Export("addSceneMenuOptions") + static final void addSceneMenuOptions(int var0, int var1, int var2, int var3) { + if (Client.isItemSelected == 0 && !Client.isSpellSelected) { + WorldMapManager.insertMenuItemNoShift("Walk here", "", 23, 0, var0 - var2, var1 - var3); + } + + long var4 = -1L; + long var6 = -1L; + + int var8; + for(var8 = 0; var8 < AbstractWorldMapData.method342(); ++var8) { + long var22 = ObjectSound.method2044(var8); + if (var22 != var6) { + var6 = var22; + int var11 = class200.method3865(var8); + int var12 = NPC.method2179(var8); + int var13 = FontName.method5502(ViewportMouse.ViewportMouse_entityTags[var8]); + int var15 = AbstractWorldMapIcon.method710(var8); + if (var13 == 2 && MilliClock.scene.getObjectFlags(class90.Client_plane, var11, var12, var22) >= 0) { + ObjectComposition var16 = WorldMapAreaData.getObjectDefinition(var15); + if (var16.transforms != null) { + var16 = var16.transform(); + } + + if (var16 == null) { + continue; + } + + if (Client.isItemSelected == 1) { + WorldMapManager.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FileSystem.colorStartTag(65535) + var16.name, 1, var15, var11, var12); + } else if (Client.isSpellSelected) { + if ((GrandExchangeOfferNameComparator.selectedSpellFlags & 4) == 4) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FileSystem.colorStartTag(65535) + var16.name, 2, var15, var11, var12); + } + } else { + String[] var17 = var16.actions; + if (var17 != null) { + for(int var18 = 4; var18 >= 0; --var18) { + if (var17[var18] != null) { + short var19 = 0; + if (var18 == 0) { + var19 = 3; + } + + if (var18 == 1) { + var19 = 4; + } + + if (var18 == 2) { + var19 = 5; + } + + if (var18 == 3) { + var19 = 6; + } + + if (var18 == 4) { + var19 = 1001; + } + + WorldMapManager.insertMenuItemNoShift(var17[var18], FileSystem.colorStartTag(65535) + var16.name, var19, var15, var11, var12); + } + } + } + + WorldMapManager.insertMenuItemNoShift("Examine", FileSystem.colorStartTag(65535) + var16.name, 1002, var16.id, var11, var12); + } + } + + Player var20; + int var24; + NPC var25; + int var32; + int[] var33; + if (var13 == 1) { + NPC var28 = Client.npcs[var15]; + if (var28 == null) { + continue; + } + + if (var28.definition.size == 1 && (var28.x & 127) == 64 && (var28.y & 127) == 64) { + for(var24 = 0; var24 < Client.npcCount; ++var24) { + var25 = Client.npcs[Client.npcIndices[var24]]; + if (var25 != null && var25 != var28 && var25.definition.size == 1 && var25.x == var28.x && var25.y == var28.y) { + GameBuild.addNpcToMenu(var25.definition, Client.npcIndices[var24], var11, var12); + } + } + + var24 = Players.Players_count; + var33 = Players.Players_indices; + + for(var32 = 0; var32 < var24; ++var32) { + var20 = Client.players[var33[var32]]; + if (var20 != null && var20.x == var28.x && var20.y == var28.y) { + GrandExchangeOfferUnitPriceComparator.addPlayerToMenu(var20, var33[var32], var11, var12); + } + } + } + + GameBuild.addNpcToMenu(var28.definition, var15, var11, var12); + } + + if (var13 == 0) { + Player var29 = Client.players[var15]; + if (var29 == null) { + continue; + } + + if ((var29.x & 127) == 64 && (var29.y & 127) == 64) { + for(var24 = 0; var24 < Client.npcCount; ++var24) { + var25 = Client.npcs[Client.npcIndices[var24]]; + if (var25 != null && var25.definition.size == 1 && var29.x == var25.x && var29.y == var25.y) { + GameBuild.addNpcToMenu(var25.definition, Client.npcIndices[var24], var11, var12); + } + } + + var24 = Players.Players_count; + var33 = Players.Players_indices; + + for(var32 = 0; var32 < var24; ++var32) { + var20 = Client.players[var33[var32]]; + if (var20 != null && var29 != var20 && var20.x == var29.x && var20.y == var29.y) { + GrandExchangeOfferUnitPriceComparator.addPlayerToMenu(var20, var33[var32], var11, var12); + } + } + } + + if (var15 != Client.combatTargetPlayerIndex) { + GrandExchangeOfferUnitPriceComparator.addPlayerToMenu(var29, var15, var11, var12); + } else { + var4 = var22; + } + } + + if (var13 == 3) { + NodeDeque var31 = Client.groundItems[class90.Client_plane][var11][var12]; + if (var31 != null) { + for(TileItem var30 = (TileItem)var31.first(); var30 != null; var30 = (TileItem)var31.next()) { + ItemComposition var34 = class281.ItemDefinition_get(var30.id); + if (Client.isItemSelected == 1) { + WorldMapManager.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FileSystem.colorStartTag(16748608) + var34.name, 16, var30.id, var11, var12); + } else if (Client.isSpellSelected) { + if ((GrandExchangeOfferNameComparator.selectedSpellFlags & 1) == 1) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FileSystem.colorStartTag(16748608) + var34.name, 17, var30.id, var11, var12); + } + } else { + String[] var26 = var34.groundActions; + + for(int var27 = 4; var27 >= 0; --var27) { + if (var26 != null && var26[var27] != null) { + byte var21 = 0; + if (var27 == 0) { + var21 = 18; + } + + if (var27 == 1) { + var21 = 19; + } + + if (var27 == 2) { + var21 = 20; + } + + if (var27 == 3) { + var21 = 21; + } + + if (var27 == 4) { + var21 = 22; + } + + WorldMapManager.insertMenuItemNoShift(var26[var27], FileSystem.colorStartTag(16748608) + var34.name, var21, var30.id, var11, var12); + } else if (var27 == 2) { + WorldMapManager.insertMenuItemNoShift("Take", FileSystem.colorStartTag(16748608) + var34.name, 20, var30.id, var11, var12); + } + } + + WorldMapManager.insertMenuItemNoShift("Examine", FileSystem.colorStartTag(16748608) + var34.name, 1004, var30.id, var11, var12); + } + } + } + } + } + } + + if (var4 != -1L) { + var8 = ReflectionCheck.method2451(var4); + int var9 = GrandExchangeOfferNameComparator.Entity_unpackSceneX(var4); + Player var10 = Client.players[Client.combatTargetPlayerIndex]; + GrandExchangeOfferUnitPriceComparator.addPlayerToMenu(var10, Client.combatTargetPlayerIndex, var8, var9); + } + + } } diff --git a/runescape-client/src/main/java/RasterProvider.java b/runescape-client/src/main/java/RasterProvider.java index 336bf9c4cb..226a2ef249 100644 --- a/runescape-client/src/main/java/RasterProvider.java +++ b/runescape-client/src/main/java/RasterProvider.java @@ -14,88 +14,88 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bn") +@ObfuscatedName("bv") @Implements("RasterProvider") public final class RasterProvider extends AbstractRasterProvider { - @ObfuscatedName("h") - @Export("component") - Component component; - @ObfuscatedName("v") - @Export("image") - Image image; + @ObfuscatedName("n") + @Export("component") + Component component; + @ObfuscatedName("v") + @Export("image") + Image image; - RasterProvider(int var1, int var2, Component var3) { - super.width = var1; // L: 23 - super.height = var2; // L: 24 - super.pixels = new int[var2 * var1 + 1]; // L: 25 - DataBufferInt var4 = new DataBufferInt(super.pixels, super.pixels.length); // L: 26 - DirectColorModel var5 = new DirectColorModel(32, 16711680, 65280, 255); // L: 27 - WritableRaster var6 = Raster.createWritableRaster(var5.createCompatibleSampleModel(super.width, super.height), var4, (Point)null); // L: 28 - this.image = new BufferedImage(var5, var6, false, new Hashtable()); // L: 29 - this.setComponent(var3); // L: 30 - this.apply(); // L: 31 - } // L: 32 + RasterProvider(int var1, int var2, Component var3) { + super.width = var1; + super.height = var2; + super.pixels = new int[var2 * var1 + 1]; + DataBufferInt var4 = new DataBufferInt(super.pixels, super.pixels.length); + DirectColorModel var5 = new DirectColorModel(32, 16711680, 65280, 255); + WritableRaster var6 = Raster.createWritableRaster(var5.createCompatibleSampleModel(super.width, super.height), var4, (Point)null); + this.image = new BufferedImage(var5, var6, false, new Hashtable()); + this.setComponent(var3); + this.apply(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Component;B)V", - garbageValue = "93" - ) - @Export("setComponent") - final void setComponent(Component var1) { - this.component = var1; // L: 35 - } // L: 36 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "-1004976621" + ) + @Export("setComponent") + final void setComponent(Component var1) { + this.component = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "1343964035" - ) - @Export("drawFull") - public final void drawFull(int var1, int var2) { - this.drawFull0(this.component.getGraphics(), var1, var2); // L: 39 - } // L: 40 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "2060006654" + ) + @Export("drawFull") + public final void drawFull(int var1, int var2) { + this.drawFull0(this.component.getGraphics(), var1, var2); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIIIB)V", - garbageValue = "-8" - ) - @Export("draw") - public final void draw(int var1, int var2, int var3, int var4) { - this.draw0(this.component.getGraphics(), var1, var2, var3, var4); // L: 43 - } // L: 44 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-1656973228" + ) + @Export("draw") + public final void draw(int var1, int var2, int var3, int var4) { + this.draw0(this.component.getGraphics(), var1, var2, var3, var4); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Graphics;III)V", - garbageValue = "1396932744" - ) - @Export("drawFull0") - final void drawFull0(Graphics var1, int var2, int var3) { - try { - var1.drawImage(this.image, var2, var3, this.component); // L: 48 - } catch (Exception var5) { // L: 50 - this.component.repaint(); // L: 51 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Graphics;III)V", + garbageValue = "-2070122870" + ) + @Export("drawFull0") + final void drawFull0(Graphics var1, int var2, int var3) { + try { + var1.drawImage(this.image, var2, var3, this.component); + } catch (Exception var5) { + this.component.repaint(); + } - } // L: 53 + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Ljava/awt/Graphics;IIIII)V", - garbageValue = "-1924846250" - ) - @Export("draw0") - final void draw0(Graphics var1, int var2, int var3, int var4, int var5) { - try { - Shape var6 = var1.getClip(); // L: 57 - var1.clipRect(var2, var3, var4, var5); // L: 58 - var1.drawImage(this.image, 0, 0, this.component); // L: 59 - var1.setClip(var6); // L: 60 - } catch (Exception var7) { // L: 62 - this.component.repaint(); // L: 63 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Graphics;IIIII)V", + garbageValue = "-973132" + ) + @Export("draw0") + final void draw0(Graphics var1, int var2, int var3, int var4, int var5) { + try { + Shape var6 = var1.getClip(); + var1.clipRect(var2, var3, var4, var5); + var1.drawImage(this.image, 0, 0, this.component); + var1.setClip(var6); + } catch (Exception var7) { + this.component.repaint(); + } - } // L: 65 + } } diff --git a/runescape-client/src/main/java/Rasterizer2D.java b/runescape-client/src/main/java/Rasterizer2D.java index 71a6f07446..58fb064232 100644 --- a/runescape-client/src/main/java/Rasterizer2D.java +++ b/runescape-client/src/main/java/Rasterizer2D.java @@ -3,837 +3,828 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lq") +@ObfuscatedName("lo") @Implements("Rasterizer2D") public class Rasterizer2D extends DualNode { - @ObfuscatedName("aj") - @Export("Rasterizer2D_pixels") - public static int[] Rasterizer2D_pixels; - @ObfuscatedName("ax") - @Export("Rasterizer2D_width") - public static int Rasterizer2D_width; - @ObfuscatedName("ag") - @Export("Rasterizer2D_height") - public static int Rasterizer2D_height; - @ObfuscatedName("au") - @Export("Rasterizer2D_yClipStart") - public static int Rasterizer2D_yClipStart; - @ObfuscatedName("as") - @Export("Rasterizer2D_yClipEnd") - public static int Rasterizer2D_yClipEnd; - @ObfuscatedName("ae") - @Export("Rasterizer2D_xClipStart") - public static int Rasterizer2D_xClipStart; - @ObfuscatedName("ac") - @Export("Rasterizer2D_xClipEnd") - public static int Rasterizer2D_xClipEnd; - - static { - Rasterizer2D_yClipStart = 0; // L: 11 - Rasterizer2D_yClipEnd = 0; // L: 12 - Rasterizer2D_xClipStart = 0; // L: 13 - Rasterizer2D_xClipEnd = 0; // L: 14 - } - - protected Rasterizer2D() { - } // L: 16 - - @ObfuscatedName("dr") - @Export("Rasterizer2D_replace") - public static void Rasterizer2D_replace(int[] var0, int var1, int var2) { - Rasterizer2D_pixels = var0; // L: 19 - Rasterizer2D_width = var1; // L: 20 - Rasterizer2D_height = var2; // L: 21 - Rasterizer2D_setClip(0, 0, var1, var2); // L: 22 - } // L: 23 - - @ObfuscatedName("dt") - @Export("Rasterizer2D_resetClip") - public static void Rasterizer2D_resetClip() { - Rasterizer2D_xClipStart = 0; // L: 26 - Rasterizer2D_yClipStart = 0; // L: 27 - Rasterizer2D_xClipEnd = Rasterizer2D_width; // L: 28 - Rasterizer2D_yClipEnd = Rasterizer2D_height; // L: 29 - } // L: 30 - - @ObfuscatedName("ds") - @Export("Rasterizer2D_setClip") - public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) { - if (var0 < 0) { // L: 33 - var0 = 0; - } - - if (var1 < 0) { // L: 34 - var1 = 0; - } - - if (var2 > Rasterizer2D_width) { // L: 35 - var2 = Rasterizer2D_width; - } - - if (var3 > Rasterizer2D_height) { - var3 = Rasterizer2D_height; // L: 36 - } - - Rasterizer2D_xClipStart = var0; // L: 37 - Rasterizer2D_yClipStart = var1; // L: 38 - Rasterizer2D_xClipEnd = var2; // L: 39 - Rasterizer2D_yClipEnd = var3; // L: 40 - } // L: 41 - - @ObfuscatedName("dv") - @Export("Rasterizer2D_expandClip") - public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) { - if (Rasterizer2D_xClipStart < var0) { // L: 44 - Rasterizer2D_xClipStart = var0; - } - - if (Rasterizer2D_yClipStart < var1) { // L: 45 - Rasterizer2D_yClipStart = var1; - } - - if (Rasterizer2D_xClipEnd > var2) { // L: 46 - Rasterizer2D_xClipEnd = var2; - } - - if (Rasterizer2D_yClipEnd > var3) { // L: 47 - Rasterizer2D_yClipEnd = var3; - } - - } // L: 48 - - @ObfuscatedName("dd") - @Export("Rasterizer2D_getClipArray") - public static void Rasterizer2D_getClipArray(int[] var0) { - var0[0] = Rasterizer2D_xClipStart; // L: 51 - var0[1] = Rasterizer2D_yClipStart; // L: 52 - var0[2] = Rasterizer2D_xClipEnd; // L: 53 - var0[3] = Rasterizer2D_yClipEnd; // L: 54 - } // L: 55 - - @ObfuscatedName("dy") - @Export("Rasterizer2D_setClipArray") - public static void Rasterizer2D_setClipArray(int[] var0) { - Rasterizer2D_xClipStart = var0[0]; // L: 58 - Rasterizer2D_yClipStart = var0[1]; // L: 59 - Rasterizer2D_xClipEnd = var0[2]; // L: 60 - Rasterizer2D_yClipEnd = var0[3]; // L: 61 - } // L: 62 - - @ObfuscatedName("dn") - @Export("Rasterizer2D_clear") - public static void Rasterizer2D_clear() { - int var0 = 0; // L: 65 - - int var1; - for (var1 = Rasterizer2D_width * Rasterizer2D_height - 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { // L: 66 67 75 - Rasterizer2D_pixels[var0++] = 0; // L: 68 - Rasterizer2D_pixels[var0++] = 0; // L: 69 - Rasterizer2D_pixels[var0++] = 0; // L: 70 - Rasterizer2D_pixels[var0++] = 0; // L: 71 - Rasterizer2D_pixels[var0++] = 0; // L: 72 - Rasterizer2D_pixels[var0++] = 0; // L: 73 - Rasterizer2D_pixels[var0++] = 0; // L: 74 - } - - for (var1 += 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { // L: 77 78 - } - - } // L: 79 - - @ObfuscatedName("dj") - @Export("drawCircle") - static void drawCircle(int var0, int var1, int var2, int var3) { - if (var2 == 0) { // L: 82 - Rasterizer2D_setPixel(var0, var1, var3); // L: 83 - } else { - if (var2 < 0) { // L: 86 - var2 = -var2; - } - - int var4 = var1 - var2; // L: 87 - if (var4 < Rasterizer2D_yClipStart) { // L: 88 - var4 = Rasterizer2D_yClipStart; - } - - int var5 = var2 + var1 + 1; // L: 89 - if (var5 > Rasterizer2D_yClipEnd) { // L: 90 - var5 = Rasterizer2D_yClipEnd; - } - - int var6 = var4; // L: 91 - int var7 = var2 * var2; // L: 92 - int var8 = 0; // L: 93 - int var9 = var1 - var4; // L: 94 - int var10 = var9 * var9; // L: 95 - int var11 = var10 - var9; // L: 96 - if (var1 > var5) { // L: 97 - var1 = var5; - } - - int var12; - int var13; - int var14; - int var15; - while (var6 < var1) { // L: 98 - while (var11 <= var7 || var10 <= var7) { // L: 99 - var10 = var10 + var8 + var8; // L: 100 - var11 += var8++ + var8; // L: 101 - } - - var12 = var0 - var8 + 1; // L: 103 - if (var12 < Rasterizer2D_xClipStart) { // L: 104 - var12 = Rasterizer2D_xClipStart; - } - - var13 = var0 + var8; // L: 105 - if (var13 > Rasterizer2D_xClipEnd) { // L: 106 - var13 = Rasterizer2D_xClipEnd; - } - - var14 = var12 + var6 * Rasterizer2D_width; // L: 107 - - for (var15 = var12; var15 < var13; ++var15) { // L: 108 - Rasterizer2D_pixels[var14++] = var3; - } - - ++var6; // L: 109 - var10 -= var9-- + var9; // L: 110 - var11 -= var9 + var9; // L: 111 - } - - var8 = var2; // L: 113 - var9 = var6 - var1; // L: 114 - var11 = var7 + var9 * var9; // L: 115 - var10 = var11 - var2; // L: 116 - - for (var11 -= var9; var6 < var5; var10 += var9++ + var9) { // L: 117 118 131 - while (var11 > var7 && var10 > var7) { // L: 119 - var11 -= var8-- + var8; // L: 120 - var10 -= var8 + var8; // L: 121 - } - - var12 = var0 - var8; // L: 123 - if (var12 < Rasterizer2D_xClipStart) { // L: 124 - var12 = Rasterizer2D_xClipStart; - } - - var13 = var0 + var8; // L: 125 - if (var13 > Rasterizer2D_xClipEnd - 1) { // L: 126 - var13 = Rasterizer2D_xClipEnd - 1; - } - - var14 = var12 + var6 * Rasterizer2D_width; // L: 127 - - for (var15 = var12; var15 <= var13; ++var15) { - Rasterizer2D_pixels[var14++] = var3; // L: 128 - } - - ++var6; // L: 129 - var11 = var11 + var9 + var9; // L: 130 - } - - } - } // L: 84 133 - - @ObfuscatedName("da") - @Export("Rasterizer2D_drawCircleAlpha") - public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var4 != 0) { // L: 136 - if (var4 == 256) { // L: 137 - drawCircle(var0, var1, var2, var3); // L: 138 - } else { - if (var2 < 0) { // L: 141 - var2 = -var2; - } - - int var5 = 256 - var4; // L: 142 - int var6 = (var3 >> 16 & 255) * var4; // L: 143 - int var7 = (var3 >> 8 & 255) * var4; // L: 144 - int var8 = var4 * (var3 & 255); // L: 145 - int var12 = var1 - var2; // L: 149 - if (var12 < Rasterizer2D_yClipStart) { // L: 150 - var12 = Rasterizer2D_yClipStart; - } - - int var13 = var2 + var1 + 1; // L: 151 - if (var13 > Rasterizer2D_yClipEnd) { // L: 152 - var13 = Rasterizer2D_yClipEnd; - } - - int var14 = var12; // L: 153 - int var15 = var2 * var2; // L: 154 - int var16 = 0; // L: 155 - int var17 = var1 - var12; // L: 156 - int var18 = var17 * var17; // L: 157 - int var19 = var18 - var17; // L: 158 - if (var1 > var13) { // L: 159 - var1 = var13; - } - - int var9; - int var10; - int var11; - int var20; - int var21; - int var22; - int var23; - int var24; - while (var14 < var1) { // L: 160 - while (var19 <= var15 || var18 <= var15) { // L: 161 - var18 = var18 + var16 + var16; // L: 162 - var19 += var16++ + var16; // L: 163 - } - - var20 = var0 - var16 + 1; // L: 165 - if (var20 < Rasterizer2D_xClipStart) { // L: 166 - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var16; // L: 167 - if (var21 > Rasterizer2D_xClipEnd) { // L: 168 - var21 = Rasterizer2D_xClipEnd; - } - - var22 = var20 + var14 * Rasterizer2D_width; // L: 169 - - for (var23 = var20; var23 < var21; ++var23) { // L: 170 - var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); // L: 171 - var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; // L: 172 - var11 = var5 * (Rasterizer2D_pixels[var22] & 255); // L: 173 - var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 174 - Rasterizer2D_pixels[var22++] = var24; // L: 175 - } - - ++var14; // L: 177 - var18 -= var17-- + var17; // L: 178 - var19 -= var17 + var17; // L: 179 - } - - var16 = var2; // L: 181 - var17 = -var17; // L: 182 - var19 = var15 + var17 * var17; // L: 183 - var18 = var19 - var2; // L: 184 - - for (var19 -= var17; var14 < var13; var18 += var17++ + var17) { // L: 185 186 205 - while (var19 > var15 && var18 > var15) { // L: 187 - var19 -= var16-- + var16; // L: 188 - var18 -= var16 + var16; // L: 189 - } - - var20 = var0 - var16; // L: 191 - if (var20 < Rasterizer2D_xClipStart) { // L: 192 - var20 = Rasterizer2D_xClipStart; - } - - var21 = var0 + var16; // L: 193 - if (var21 > Rasterizer2D_xClipEnd - 1) { // L: 194 - var21 = Rasterizer2D_xClipEnd - 1; - } - - var22 = var20 + var14 * Rasterizer2D_width; // L: 195 - - for (var23 = var20; var23 <= var21; ++var23) { // L: 196 - var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); // L: 197 - var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; // L: 198 - var11 = var5 * (Rasterizer2D_pixels[var22] & 255); // L: 199 - var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 200 - Rasterizer2D_pixels[var22++] = var24; // L: 201 - } - - ++var14; // L: 203 - var19 = var19 + var17 + var17; // L: 204 - } - - } - } - } // L: 139 207 - - @ObfuscatedName("di") - @Export("Rasterizer2D_fillRectangleAlpha") - public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { - if (var0 < Rasterizer2D_xClipStart) { // L: 210 - var2 -= Rasterizer2D_xClipStart - var0; // L: 211 - var0 = Rasterizer2D_xClipStart; // L: 212 - } - - if (var1 < Rasterizer2D_yClipStart) { // L: 214 - var3 -= Rasterizer2D_yClipStart - var1; // L: 215 - var1 = Rasterizer2D_yClipStart; // L: 216 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 218 - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 219 - var3 = Rasterizer2D_yClipEnd - var1; - } - - var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & 65280) >> 8 & 65280); // L: 220 - int var6 = 256 - var5; // L: 221 - int var7 = Rasterizer2D_width - var2; // L: 222 - int var8 = var0 + Rasterizer2D_width * var1; // L: 223 - - for (int var9 = 0; var9 < var3; ++var9) { // L: 224 - for (int var10 = -var2; var10 < 0; ++var10) { // L: 225 - int var11 = Rasterizer2D_pixels[var8]; // L: 226 - var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & 65280) >> 8 & 65280); // L: 227 - Rasterizer2D_pixels[var8++] = var11 + var4; // L: 228 - } - - var8 += var7; // L: 230 - } - - } // L: 232 - - @ObfuscatedName("do") - @Export("Rasterizer2D_fillRectangle") - public static void Rasterizer2D_fillRectangle(int var0, int var1, int var2, int var3, int var4) { - if (var0 < Rasterizer2D_xClipStart) { // L: 235 - var2 -= Rasterizer2D_xClipStart - var0; // L: 236 - var0 = Rasterizer2D_xClipStart; // L: 237 - } - - if (var1 < Rasterizer2D_yClipStart) { // L: 239 - var3 -= Rasterizer2D_yClipStart - var1; // L: 240 - var1 = Rasterizer2D_yClipStart; // L: 241 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 243 - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { - var3 = Rasterizer2D_yClipEnd - var1; // L: 244 - } - - int var5 = Rasterizer2D_width - var2; // L: 245 - int var6 = var0 + Rasterizer2D_width * var1; // L: 246 - - for (int var7 = -var3; var7 < 0; ++var7) { // L: 247 - for (int var8 = -var2; var8 < 0; ++var8) { // L: 248 - Rasterizer2D_pixels[var6++] = var4; // L: 249 - } - - var6 += var5; // L: 251 - } - - } // L: 253 - - @ObfuscatedName("dc") - @Export("Rasterizer2D_fillRectangleGradient") - public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) { - if (var2 > 0 && var3 > 0) { // L: 256 - int var6 = 0; // L: 257 - int var7 = 65536 / var3; // L: 258 - if (var0 < Rasterizer2D_xClipStart) { // L: 259 - var2 -= Rasterizer2D_xClipStart - var0; // L: 260 - var0 = Rasterizer2D_xClipStart; // L: 261 - } - - if (var1 < Rasterizer2D_yClipStart) { // L: 263 - var6 += (Rasterizer2D_yClipStart - var1) * var7; // L: 264 - var3 -= Rasterizer2D_yClipStart - var1; // L: 265 - var1 = Rasterizer2D_yClipStart; // L: 266 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 268 - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 269 - var3 = Rasterizer2D_yClipEnd - var1; - } - - int var8 = Rasterizer2D_width - var2; // L: 270 - int var9 = var0 + Rasterizer2D_width * var1; // L: 271 - - for (int var10 = -var3; var10 < 0; ++var10) { // L: 272 - int var11 = 65536 - var6 >> 8; // L: 273 - int var12 = var6 >> 8; // L: 274 - int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & 65280) + var11 * (var4 & 65280) & 16711680) >>> 8; // L: 275 - - for (int var14 = -var2; var14 < 0; ++var14) { // L: 276 - Rasterizer2D_pixels[var9++] = var13; // L: 277 - } - - var9 += var8; // L: 279 - var6 += var7; // L: 280 - } - - } - } // L: 282 - - @ObfuscatedName("dg") - @Export("Rasterizer2D_fillRectangleGradientAlpha") - public static void Rasterizer2D_fillRectangleGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var2 > 0 && var3 > 0) { // L: 285 - int var8 = 0; // L: 286 - int var9 = 65536 / var3; // L: 287 - if (var0 < Rasterizer2D_xClipStart) { // L: 288 - var2 -= Rasterizer2D_xClipStart - var0; // L: 289 - var0 = Rasterizer2D_xClipStart; // L: 290 - } - - if (var1 < Rasterizer2D_yClipStart) { // L: 292 - var8 += (Rasterizer2D_yClipStart - var1) * var9; // L: 293 - var3 -= Rasterizer2D_yClipStart - var1; // L: 294 - var1 = Rasterizer2D_yClipStart; // L: 295 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 297 - var2 = Rasterizer2D_xClipEnd - var0; - } - - if (var3 + var1 > Rasterizer2D_yClipEnd) { // L: 298 - var3 = Rasterizer2D_yClipEnd - var1; - } - - int var10 = Rasterizer2D_width - var2; // L: 299 - int var11 = var0 + Rasterizer2D_width * var1; // L: 300 - - for (int var12 = -var3; var12 < 0; ++var12) { // L: 301 - int var13 = 65536 - var8 >> 8; // L: 302 - int var14 = var8 >> 8; // L: 303 - int var15 = (var13 * var6 + var14 * var7 & 65280) >>> 8; // L: 304 - if (var15 == 0) { // L: 305 - var11 += Rasterizer2D_width; // L: 306 - var8 += var9; // L: 307 - } else { - int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & 65280) + var13 * (var4 & 65280) & 16711680) >>> 8; // L: 310 - int var17 = 255 - var15; // L: 311 - int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & 65280) >> 8 & 65280); // L: 312 - - for (int var19 = -var2; var19 < 0; ++var19) { // L: 313 - int var20 = Rasterizer2D_pixels[var11]; // L: 314 - if (var20 == 0) { // L: 315 - Rasterizer2D_pixels[var11++] = var18; // L: 316 - } else { - var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & 65280) >> 8 & 65280); // L: 319 - Rasterizer2D_pixels[var11++] = var18 + var20; // L: 320 - } - } - - var11 += var10; // L: 323 - var8 += var9; // L: 324 - } - } - - } - } // L: 326 - - @ObfuscatedName("dk") - @ObfuscatedSignature( - descriptor = "(IIIIII[BIZ)V", - garbageValue = "1" - ) - @Export("Rasterizer2D_drawGradientPixels") - public static void Rasterizer2D_drawGradientPixels(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) { - if (var0 + var2 >= 0 && var3 + var1 >= 0) { // L: 329 - if (var0 < Rasterizer2D_width && var1 < Rasterizer2D_height) { // L: 330 - int var8 = 0; // L: 331 - int var9 = 0; // L: 332 - if (var0 < 0) { // L: 333 - var8 -= var0; // L: 334 - var2 += var0; // L: 335 - } - - if (var1 < 0) { // L: 337 - var9 -= var1; // L: 338 - var3 += var1; // L: 339 - } - - if (var0 + var2 > Rasterizer2D_width) { // L: 341 - var2 = Rasterizer2D_width - var0; // L: 342 - } - - if (var3 + var1 > Rasterizer2D_height) { // L: 344 - var3 = Rasterizer2D_height - var1; // L: 345 - } - - int var10 = var6.length / var7; // L: 347 - int var11 = Rasterizer2D_width - var2; // L: 348 - int var12 = var4 >>> 24; // L: 349 - int var13 = var5 >>> 24; // L: 350 - int var14; - int var15; - int var16; - int var17; - int var18; - if (var12 == 255 && var13 == 255) { // L: 351 - var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; // L: 352 - - for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { // L: 353 - for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { // L: 354 - var17 = (var15 - var1) % var10; // L: 355 - var18 = (var16 - var0) % var7; // L: 356 - if (var6[var18 + var17 * var7] != 0) { // L: 357 - Rasterizer2D_pixels[var14++] = var5; - } else { - Rasterizer2D_pixels[var14++] = var4; // L: 358 - } - } - - var14 += var11; // L: 360 - } - } else { - var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; // L: 364 - - for (var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { // L: 365 - for (var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { // L: 366 - var17 = (var15 - var1) % var10; // L: 367 - var18 = (var16 - var0) % var7; // L: 368 - int var19 = var4; // L: 369 - if (var6[var18 + var17 * var7] != 0) { // L: 370 - var19 = var5; - } - - int var20 = var19 >>> 24; // L: 371 - int var21 = 255 - var20; // L: 372 - int var22 = Rasterizer2D_pixels[var14]; // L: 373 - int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & 65280) + var21 * (var22 & 65280) & 16711680) >> 8; // L: 374 - Rasterizer2D_pixels[var14++] = var23; // L: 375 - } - - var14 += var11; // L: 377 - } - } - - } - } - } // L: 380 - - @ObfuscatedName("dz") - @Export("Rasterizer2D_drawRectangle") - public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) { - Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); // L: 383 - Rasterizer2D_drawHorizontalLine(var0, var3 + var1 - 1, var2, var4); // L: 384 - Rasterizer2D_drawVerticalLine(var0, var1, var3, var4); // L: 385 - Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); // L: 386 - } // L: 387 - - @ObfuscatedName("es") - @Export("Rasterizer2D_drawRectangleAlpha") - public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { - Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); // L: 390 - Rasterizer2D_drawHorizontalLineAlpha(var0, var3 + var1 - 1, var2, var4, var5); // L: 391 - if (var3 >= 3) { // L: 392 - Rasterizer2D_drawVerticalLineAlpha(var0, var1 + 1, var3 - 2, var4, var5); // L: 393 - Rasterizer2D_drawVerticalLineAlpha(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); // L: 394 - } - - } // L: 396 - - @ObfuscatedName("eq") - @Export("Rasterizer2D_drawHorizontalLine") - public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) { - if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { // L: 399 - if (var0 < Rasterizer2D_xClipStart) { // L: 400 - var2 -= Rasterizer2D_xClipStart - var0; // L: 401 - var0 = Rasterizer2D_xClipStart; // L: 402 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 404 - var2 = Rasterizer2D_xClipEnd - var0; - } - - int var4 = var0 + Rasterizer2D_width * var1; // L: 405 - - for (int var5 = 0; var5 < var2; ++var5) { // L: 406 - Rasterizer2D_pixels[var4 + var5] = var3; - } - - } - } // L: 407 - - @ObfuscatedName("em") - @Export("Rasterizer2D_drawHorizontalLineAlpha") - static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { // L: 410 - if (var0 < Rasterizer2D_xClipStart) { // L: 411 - var2 -= Rasterizer2D_xClipStart - var0; // L: 412 - var0 = Rasterizer2D_xClipStart; // L: 413 - } - - if (var0 + var2 > Rasterizer2D_xClipEnd) { // L: 415 - var2 = Rasterizer2D_xClipEnd - var0; - } - - int var5 = 256 - var4; // L: 416 - int var6 = (var3 >> 16 & 255) * var4; // L: 417 - int var7 = (var3 >> 8 & 255) * var4; // L: 418 - int var8 = var4 * (var3 & 255); // L: 419 - int var12 = var0 + Rasterizer2D_width * var1; // L: 423 - - for (int var13 = 0; var13 < var2; ++var13) { // L: 424 - int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); // L: 425 - int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; // L: 426 - int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); // L: 427 - int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 428 - Rasterizer2D_pixels[var12++] = var14; // L: 429 - } - - } - } // L: 431 - - @ObfuscatedName("eg") - @Export("Rasterizer2D_drawVerticalLine") - public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) { - if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { // L: 434 - if (var1 < Rasterizer2D_yClipStart) { // L: 435 - var2 -= Rasterizer2D_yClipStart - var1; // L: 436 - var1 = Rasterizer2D_yClipStart; // L: 437 - } - - if (var2 + var1 > Rasterizer2D_yClipEnd) { // L: 439 - var2 = Rasterizer2D_yClipEnd - var1; - } - - int var4 = var0 + Rasterizer2D_width * var1; // L: 440 - - for (int var5 = 0; var5 < var2; ++var5) { // L: 441 - Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = var3; - } - - } - } // L: 442 - - @ObfuscatedName("eu") - @Export("Rasterizer2D_drawVerticalLineAlpha") - static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) { - if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { // L: 445 - if (var1 < Rasterizer2D_yClipStart) { // L: 446 - var2 -= Rasterizer2D_yClipStart - var1; // L: 447 - var1 = Rasterizer2D_yClipStart; // L: 448 - } - - if (var2 + var1 > Rasterizer2D_yClipEnd) { // L: 450 - var2 = Rasterizer2D_yClipEnd - var1; - } - - int var5 = 256 - var4; // L: 451 - int var6 = (var3 >> 16 & 255) * var4; // L: 452 - int var7 = (var3 >> 8 & 255) * var4; // L: 453 - int var8 = var4 * (var3 & 255); // L: 454 - int var12 = var0 + Rasterizer2D_width * var1; // L: 458 - - for (int var13 = 0; var13 < var2; ++var13) { // L: 459 - int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); // L: 460 - int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; // L: 461 - int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); // L: 462 - int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); // L: 463 - Rasterizer2D_pixels[var12] = var14; // L: 464 - var12 += Rasterizer2D_width; // L: 465 - } - - } - } // L: 467 - - @ObfuscatedName("ec") - @Export("Rasterizer2D_drawLine") - public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) { - var2 -= var0; // L: 470 - var3 -= var1; // L: 471 - if (var3 == 0) { // L: 472 - if (var2 >= 0) { // L: 473 - Rasterizer2D_drawHorizontalLine(var0, var1, var2 + 1, var4); - } else { - Rasterizer2D_drawHorizontalLine(var0 + var2, var1, -var2 + 1, var4); // L: 474 - } - - } else if (var2 == 0) { // L: 477 - if (var3 >= 0) { // L: 478 - Rasterizer2D_drawVerticalLine(var0, var1, var3 + 1, var4); - } else { - Rasterizer2D_drawVerticalLine(var0, var3 + var1, -var3 + 1, var4); // L: 479 - } - - } else { - if (var3 + var2 < 0) { // L: 482 - var0 += var2; // L: 483 - var2 = -var2; // L: 484 - var1 += var3; // L: 485 - var3 = -var3; // L: 486 - } - - int var5; - int var6; - if (var2 > var3) { // L: 488 - var1 <<= 16; // L: 489 - var1 += 32768; // L: 490 - var3 <<= 16; // L: 491 - var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); // L: 492 - var2 += var0; // L: 493 - if (var0 < Rasterizer2D_xClipStart) { // L: 494 - var1 += var5 * (Rasterizer2D_xClipStart - var0); // L: 495 - var0 = Rasterizer2D_xClipStart; // L: 496 - } - - if (var2 >= Rasterizer2D_xClipEnd) { // L: 498 - var2 = Rasterizer2D_xClipEnd - 1; - } - - while (var0 <= var2) { // L: 499 - var6 = var1 >> 16; // L: 500 - if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { // L: 501 - Rasterizer2D_pixels[var0 + var6 * Rasterizer2D_width] = var4; - } - - var1 += var5; // L: 502 - ++var0; // L: 503 - } - } else { - var0 <<= 16; // L: 507 - var0 += 32768; // L: 508 - var2 <<= 16; // L: 509 - var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); // L: 510 - var3 += var1; // L: 511 - if (var1 < Rasterizer2D_yClipStart) { // L: 512 - var0 += (Rasterizer2D_yClipStart - var1) * var5; // L: 513 - var1 = Rasterizer2D_yClipStart; // L: 514 - } - - if (var3 >= Rasterizer2D_yClipEnd) { // L: 516 - var3 = Rasterizer2D_yClipEnd - 1; - } - - while (var1 <= var3) { // L: 517 - var6 = var0 >> 16; // L: 518 - if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { // L: 519 - Rasterizer2D_pixels[var6 + Rasterizer2D_width * var1] = var4; - } - - var0 += var5; // L: 520 - ++var1; // L: 521 - } - } - - } - } // L: 475 480 524 - - @ObfuscatedName("eh") - @Export("Rasterizer2D_setPixel") - static void Rasterizer2D_setPixel(int var0, int var1, int var2) { - if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { // L: 527 - Rasterizer2D_pixels[var0 + Rasterizer2D_width * var1] = var2; // L: 528 - } - } // L: 529 - - @ObfuscatedName("ee") - @Export("Rasterizer2D_fillMaskedRectangle") - public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) { - int var5 = var0 + Rasterizer2D_width * var1; // L: 532 - - for (var1 = 0; var1 < var3.length; ++var1) { // L: 533 - int var6 = var5 + var3[var1]; // L: 534 - - for (var0 = -var4[var1]; var0 < 0; ++var0) { // L: 535 - Rasterizer2D_pixels[var6++] = var2; - } - - var5 += Rasterizer2D_width; // L: 536 - } - - } // L: 538 + @ObfuscatedName("am") + @Export("Rasterizer2D_pixels") + public static int[] Rasterizer2D_pixels; + @ObfuscatedName("ag") + @Export("Rasterizer2D_width") + public static int Rasterizer2D_width; + @ObfuscatedName("ae") + @Export("Rasterizer2D_height") + public static int Rasterizer2D_height; + @ObfuscatedName("ac") + @Export("Rasterizer2D_yClipStart") + public static int Rasterizer2D_yClipStart = 0; + @ObfuscatedName("aq") + @Export("Rasterizer2D_yClipEnd") + public static int Rasterizer2D_yClipEnd = 0; + @ObfuscatedName("at") + @Export("Rasterizer2D_xClipStart") + public static int Rasterizer2D_xClipStart = 0; + @ObfuscatedName("ak") + @Export("Rasterizer2D_xClipEnd") + public static int Rasterizer2D_xClipEnd = 0; + + @ObfuscatedName("db") + @Export("Rasterizer2D_replace") + public static void Rasterizer2D_replace(int[] var0, int var1, int var2) { + Rasterizer2D_pixels = var0; + Rasterizer2D_width = var1; + Rasterizer2D_height = var2; + Rasterizer2D_setClip(0, 0, var1, var2); + } + + @ObfuscatedName("dl") + @Export("Rasterizer2D_resetClip") + public static void Rasterizer2D_resetClip() { + Rasterizer2D_xClipStart = 0; + Rasterizer2D_yClipStart = 0; + Rasterizer2D_xClipEnd = Rasterizer2D_width; + Rasterizer2D_yClipEnd = Rasterizer2D_height; + } + + @ObfuscatedName("dm") + @Export("Rasterizer2D_setClip") + public static void Rasterizer2D_setClip(int var0, int var1, int var2, int var3) { + if (var0 < 0) { + var0 = 0; + } + + if (var1 < 0) { + var1 = 0; + } + + if (var2 > Rasterizer2D_width) { + var2 = Rasterizer2D_width; + } + + if (var3 > Rasterizer2D_height) { + var3 = Rasterizer2D_height; + } + + Rasterizer2D_xClipStart = var0; + Rasterizer2D_yClipStart = var1; + Rasterizer2D_xClipEnd = var2; + Rasterizer2D_yClipEnd = var3; + } + + @ObfuscatedName("dj") + @Export("Rasterizer2D_expandClip") + public static void Rasterizer2D_expandClip(int var0, int var1, int var2, int var3) { + if (Rasterizer2D_xClipStart < var0) { + Rasterizer2D_xClipStart = var0; + } + + if (Rasterizer2D_yClipStart < var1) { + Rasterizer2D_yClipStart = var1; + } + + if (Rasterizer2D_xClipEnd > var2) { + Rasterizer2D_xClipEnd = var2; + } + + if (Rasterizer2D_yClipEnd > var3) { + Rasterizer2D_yClipEnd = var3; + } + + } + + @ObfuscatedName("dh") + @Export("Rasterizer2D_getClipArray") + public static void Rasterizer2D_getClipArray(int[] var0) { + var0[0] = Rasterizer2D_xClipStart; + var0[1] = Rasterizer2D_yClipStart; + var0[2] = Rasterizer2D_xClipEnd; + var0[3] = Rasterizer2D_yClipEnd; + } + + @ObfuscatedName("ds") + @Export("Rasterizer2D_setClipArray") + public static void Rasterizer2D_setClipArray(int[] var0) { + Rasterizer2D_xClipStart = var0[0]; + Rasterizer2D_yClipStart = var0[1]; + Rasterizer2D_xClipEnd = var0[2]; + Rasterizer2D_yClipEnd = var0[3]; + } + + @ObfuscatedName("dp") + @Export("Rasterizer2D_clear") + public static void Rasterizer2D_clear() { + int var0 = 0; + + int var1; + for(var1 = Rasterizer2D_width * Rasterizer2D_height - 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + Rasterizer2D_pixels[var0++] = 0; + } + + for(var1 += 7; var0 < var1; Rasterizer2D_pixels[var0++] = 0) { + ; + } + + } + + @ObfuscatedName("dy") + @Export("drawCircle") + static void drawCircle(int var0, int var1, int var2, int var3) { + if (var2 == 0) { + Rasterizer2D_setPixel(var0, var1, var3); + } else { + if (var2 < 0) { + var2 = -var2; + } + + int var4 = var1 - var2; + if (var4 < Rasterizer2D_yClipStart) { + var4 = Rasterizer2D_yClipStart; + } + + int var5 = var2 + var1 + 1; + if (var5 > Rasterizer2D_yClipEnd) { + var5 = Rasterizer2D_yClipEnd; + } + + int var6 = var4; + int var7 = var2 * var2; + int var8 = 0; + int var9 = var1 - var4; + int var10 = var9 * var9; + int var11 = var10 - var9; + if (var1 > var5) { + var1 = var5; + } + + int var12; + int var13; + int var14; + int var15; + while(var6 < var1) { + while(var11 <= var7 || var10 <= var7) { + var10 = var10 + var8 + var8; + var11 += var8++ + var8; + } + + var12 = var0 - var8 + 1; + if (var12 < Rasterizer2D_xClipStart) { + var12 = Rasterizer2D_xClipStart; + } + + var13 = var0 + var8; + if (var13 > Rasterizer2D_xClipEnd) { + var13 = Rasterizer2D_xClipEnd; + } + + var14 = var12 + var6 * Rasterizer2D_width; + + for(var15 = var12; var15 < var13; ++var15) { + Rasterizer2D_pixels[var14++] = var3; + } + + ++var6; + var10 -= var9-- + var9; + var11 -= var9 + var9; + } + + var8 = var2; + var9 = var6 - var1; + var11 = var7 + var9 * var9; + var10 = var11 - var2; + + for(var11 -= var9; var6 < var5; var10 += var9++ + var9) { + while(var11 > var7 && var10 > var7) { + var11 -= var8-- + var8; + var10 -= var8 + var8; + } + + var12 = var0 - var8; + if (var12 < Rasterizer2D_xClipStart) { + var12 = Rasterizer2D_xClipStart; + } + + var13 = var0 + var8; + if (var13 > Rasterizer2D_xClipEnd - 1) { + var13 = Rasterizer2D_xClipEnd - 1; + } + + var14 = var12 + var6 * Rasterizer2D_width; + + for(var15 = var12; var15 <= var13; ++var15) { + Rasterizer2D_pixels[var14++] = var3; + } + + ++var6; + var11 = var11 + var9 + var9; + } + + } + } + + @ObfuscatedName("dv") + @Export("Rasterizer2D_drawCircleAlpha") + public static void Rasterizer2D_drawCircleAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var4 != 0) { + if (var4 == 256) { + drawCircle(var0, var1, var2, var3); + } else { + if (var2 < 0) { + var2 = -var2; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var1 - var2; + if (var12 < Rasterizer2D_yClipStart) { + var12 = Rasterizer2D_yClipStart; + } + + int var13 = var2 + var1 + 1; + if (var13 > Rasterizer2D_yClipEnd) { + var13 = Rasterizer2D_yClipEnd; + } + + int var14 = var12; + int var15 = var2 * var2; + int var16 = 0; + int var17 = var1 - var12; + int var18 = var17 * var17; + int var19 = var18 - var17; + if (var1 > var13) { + var1 = var13; + } + + int var9; + int var10; + int var11; + int var20; + int var21; + int var22; + int var23; + int var24; + while(var14 < var1) { + while(var19 <= var15 || var18 <= var15) { + var18 = var18 + var16 + var16; + var19 += var16++ + var16; + } + + var20 = var0 - var16 + 1; + if (var20 < Rasterizer2D_xClipStart) { + var20 = Rasterizer2D_xClipStart; + } + + var21 = var0 + var16; + if (var21 > Rasterizer2D_xClipEnd) { + var21 = Rasterizer2D_xClipEnd; + } + + var22 = var20 + var14 * Rasterizer2D_width; + + for(var23 = var20; var23 < var21; ++var23) { + var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); + var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; + var11 = var5 * (Rasterizer2D_pixels[var22] & 255); + var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var22++] = var24; + } + + ++var14; + var18 -= var17-- + var17; + var19 -= var17 + var17; + } + + var16 = var2; + var17 = -var17; + var19 = var15 + var17 * var17; + var18 = var19 - var2; + + for(var19 -= var17; var14 < var13; var18 += var17++ + var17) { + while(var19 > var15 && var18 > var15) { + var19 -= var16-- + var16; + var18 -= var16 + var16; + } + + var20 = var0 - var16; + if (var20 < Rasterizer2D_xClipStart) { + var20 = Rasterizer2D_xClipStart; + } + + var21 = var0 + var16; + if (var21 > Rasterizer2D_xClipEnd - 1) { + var21 = Rasterizer2D_xClipEnd - 1; + } + + var22 = var20 + var14 * Rasterizer2D_width; + + for(var23 = var20; var23 <= var21; ++var23) { + var9 = var5 * (Rasterizer2D_pixels[var22] >> 16 & 255); + var10 = (Rasterizer2D_pixels[var22] >> 8 & 255) * var5; + var11 = var5 * (Rasterizer2D_pixels[var22] & 255); + var24 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var22++] = var24; + } + + ++var14; + var19 = var19 + var17 + var17; + } + + } + } + } + + @ObfuscatedName("dr") + @Export("Rasterizer2D_fillRectangleAlpha") + public static void Rasterizer2D_fillRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + var4 = (var5 * (var4 & 16711935) >> 8 & 16711935) + (var5 * (var4 & '\uff00') >> 8 & '\uff00'); + int var6 = 256 - var5; + int var7 = Rasterizer2D_width - var2; + int var8 = var0 + Rasterizer2D_width * var1; + + for(int var9 = 0; var9 < var3; ++var9) { + for(int var10 = -var2; var10 < 0; ++var10) { + int var11 = Rasterizer2D_pixels[var8]; + var11 = ((var11 & 16711935) * var6 >> 8 & 16711935) + (var6 * (var11 & '\uff00') >> 8 & '\uff00'); + Rasterizer2D_pixels[var8++] = var11 + var4; + } + + var8 += var7; + } + + } + + @ObfuscatedName("dc") + @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; + } + + if (var1 < Rasterizer2D_yClipStart) { + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var5 = Rasterizer2D_width - var2; + int var6 = var0 + Rasterizer2D_width * var1; + + for(int var7 = -var3; var7 < 0; ++var7) { + for(int var8 = -var2; var8 < 0; ++var8) { + Rasterizer2D_pixels[var6++] = var4; + } + + var6 += var5; + } + + } + + @ObfuscatedName("dq") + @Export("Rasterizer2D_fillRectangleGradient") + public static void Rasterizer2D_fillRectangleGradient(int var0, int var1, int var2, int var3, int var4, int var5) { + if (var2 > 0 && var3 > 0) { + int var6 = 0; + int var7 = 65536 / var3; + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var6 += (Rasterizer2D_yClipStart - var1) * var7; + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var8 = Rasterizer2D_width - var2; + int var9 = var0 + Rasterizer2D_width * var1; + + for(int var10 = -var3; var10 < 0; ++var10) { + int var11 = 65536 - var6 >> 8; + int var12 = var6 >> 8; + int var13 = (var12 * (var5 & 16711935) + var11 * (var4 & 16711935) & -16711936) + (var12 * (var5 & '\uff00') + var11 * (var4 & '\uff00') & 16711680) >>> 8; + + for(int var14 = -var2; var14 < 0; ++var14) { + Rasterizer2D_pixels[var9++] = var13; + } + + var9 += var8; + var6 += var7; + } + + } + } + + @ObfuscatedName("dt") + @Export("Rasterizer2D_fillRectangleGradientAlpha") + public static void Rasterizer2D_fillRectangleGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var2 > 0 && var3 > 0) { + int var8 = 0; + int var9 = 65536 / var3; + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var1 < Rasterizer2D_yClipStart) { + var8 += (Rasterizer2D_yClipStart - var1) * var9; + var3 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + if (var3 + var1 > Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - var1; + } + + int var10 = Rasterizer2D_width - var2; + int var11 = var0 + Rasterizer2D_width * var1; + + for(int var12 = -var3; var12 < 0; ++var12) { + int var13 = 65536 - var8 >> 8; + int var14 = var8 >> 8; + int var15 = (var13 * var6 + var14 * var7 & '\uff00') >>> 8; + if (var15 == 0) { + var11 += Rasterizer2D_width; + var8 += var9; + } else { + int var16 = (var14 * (var5 & 16711935) + var13 * (var4 & 16711935) & -16711936) + (var14 * (var5 & '\uff00') + var13 * (var4 & '\uff00') & 16711680) >>> 8; + int var17 = 255 - var15; + int var18 = ((var16 & 16711935) * var15 >> 8 & 16711935) + (var15 * (var16 & '\uff00') >> 8 & '\uff00'); + + for(int var19 = -var2; var19 < 0; ++var19) { + int var20 = Rasterizer2D_pixels[var11]; + if (var20 == 0) { + Rasterizer2D_pixels[var11++] = var18; + } else { + var20 = ((var20 & 16711935) * var17 >> 8 & 16711935) + (var17 * (var20 & '\uff00') >> 8 & '\uff00'); + Rasterizer2D_pixels[var11++] = var18 + var20; + } + } + + var11 += var10; + var8 += var9; + } + } + + } + } + + @ObfuscatedName("de") + @ObfuscatedSignature( + descriptor = "(IIIIII[BIZ)V", + garbageValue = "1" + ) + @Export("Rasterizer2D_drawGradientPixels") + public static void Rasterizer2D_drawGradientPixels(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) { + if (var0 + var2 >= 0 && var3 + var1 >= 0) { + if (var0 < Rasterizer2D_width && var1 < Rasterizer2D_height) { + int var8 = 0; + int var9 = 0; + if (var0 < 0) { + var8 -= var0; + var2 += var0; + } + + if (var1 < 0) { + var9 -= var1; + var3 += var1; + } + + if (var0 + var2 > Rasterizer2D_width) { + var2 = Rasterizer2D_width - var0; + } + + if (var3 + var1 > Rasterizer2D_height) { + var3 = Rasterizer2D_height - var1; + } + + int var10 = var6.length / var7; + int var11 = Rasterizer2D_width - var2; + int var12 = var4 >>> 24; + int var13 = var5 >>> 24; + int var14; + int var15; + int var16; + int var17; + int var18; + if (var12 == 255 && var13 == 255) { + var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; + + for(var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { + for(var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { + var17 = (var15 - var1) % var10; + var18 = (var16 - var0) % var7; + if (var6[var18 + var17 * var7] != 0) { + Rasterizer2D_pixels[var14++] = var5; + } else { + Rasterizer2D_pixels[var14++] = var4; + } + } + + var14 += var11; + } + } else { + var14 = var0 + var8 + (var9 + var1) * Rasterizer2D_width; + + for(var15 = var9 + var1; var15 < var3 + var9 + var1; ++var15) { + for(var16 = var0 + var8; var16 < var0 + var8 + var2; ++var16) { + var17 = (var15 - var1) % var10; + var18 = (var16 - var0) % var7; + int var19 = var4; + if (var6[var18 + var17 * var7] != 0) { + var19 = var5; + } + + int var20 = var19 >>> 24; + int var21 = 255 - var20; + int var22 = Rasterizer2D_pixels[var14]; + int var23 = ((var19 & 16711935) * var20 + (var22 & 16711935) * var21 & -16711936) + (var20 * (var19 & '\uff00') + var21 * (var22 & '\uff00') & 16711680) >> 8; + Rasterizer2D_pixels[var14++] = var23; + } + + var14 += var11; + } + } + + } + } + } + + @ObfuscatedName("dw") + @Export("Rasterizer2D_drawRectangle") + public static void Rasterizer2D_drawRectangle(int var0, int var1, int var2, int var3, int var4) { + Rasterizer2D_drawHorizontalLine(var0, var1, var2, var4); + Rasterizer2D_drawHorizontalLine(var0, var3 + var1 - 1, var2, var4); + Rasterizer2D_drawVerticalLine(var0, var1, var3, var4); + Rasterizer2D_drawVerticalLine(var0 + var2 - 1, var1, var3, var4); + } + + @ObfuscatedName("dz") + @Export("Rasterizer2D_drawRectangleAlpha") + public static void Rasterizer2D_drawRectangleAlpha(int var0, int var1, int var2, int var3, int var4, int var5) { + Rasterizer2D_drawHorizontalLineAlpha(var0, var1, var2, var4, var5); + Rasterizer2D_drawHorizontalLineAlpha(var0, var3 + var1 - 1, var2, var4, var5); + if (var3 >= 3) { + Rasterizer2D_drawVerticalLineAlpha(var0, var1 + 1, var3 - 2, var4, var5); + Rasterizer2D_drawVerticalLineAlpha(var0 + var2 - 1, var1 + 1, var3 - 2, var4, var5); + } + + } + + @Export("Rasterizer2D_drawHorizontalLine") + @ObfuscatedName("dg") + public static void Rasterizer2D_drawHorizontalLine(int var0, int var1, int var2, int var3) { + if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + int var4 = var0 + Rasterizer2D_width * var1; + + for(int var5 = 0; var5 < var2; ++var5) { + Rasterizer2D_pixels[var4 + var5] = var3; + } + + } + } + + @ObfuscatedName("dn") + @Export("Rasterizer2D_drawHorizontalLineAlpha") + static void Rasterizer2D_drawHorizontalLineAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var1 >= Rasterizer2D_yClipStart && var1 < Rasterizer2D_yClipEnd) { + if (var0 < Rasterizer2D_xClipStart) { + var2 -= Rasterizer2D_xClipStart - var0; + var0 = Rasterizer2D_xClipStart; + } + + if (var0 + var2 > Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - var0; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var0 + Rasterizer2D_width * var1; + + for(int var13 = 0; var13 < var2; ++var13) { + int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); + int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; + int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); + int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var12++] = var14; + } + + } + } + + @Export("Rasterizer2D_drawVerticalLine") + @ObfuscatedName("da") + public static void Rasterizer2D_drawVerticalLine(int var0, int var1, int var2, int var3) { + if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { + if (var1 < Rasterizer2D_yClipStart) { + var2 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var2 + var1 > Rasterizer2D_yClipEnd) { + var2 = Rasterizer2D_yClipEnd - var1; + } + + int var4 = var0 + Rasterizer2D_width * var1; + + for(int var5 = 0; var5 < var2; ++var5) { + Rasterizer2D_pixels[var4 + var5 * Rasterizer2D_width] = var3; + } + + } + } + + @ObfuscatedName("df") + @Export("Rasterizer2D_drawVerticalLineAlpha") + static void Rasterizer2D_drawVerticalLineAlpha(int var0, int var1, int var2, int var3, int var4) { + if (var0 >= Rasterizer2D_xClipStart && var0 < Rasterizer2D_xClipEnd) { + if (var1 < Rasterizer2D_yClipStart) { + var2 -= Rasterizer2D_yClipStart - var1; + var1 = Rasterizer2D_yClipStart; + } + + if (var2 + var1 > Rasterizer2D_yClipEnd) { + var2 = Rasterizer2D_yClipEnd - var1; + } + + int var5 = 256 - var4; + int var6 = (var3 >> 16 & 255) * var4; + int var7 = (var3 >> 8 & 255) * var4; + int var8 = var4 * (var3 & 255); + int var12 = var0 + Rasterizer2D_width * var1; + + for(int var13 = 0; var13 < var2; ++var13) { + int var9 = var5 * (Rasterizer2D_pixels[var12] >> 16 & 255); + int var10 = (Rasterizer2D_pixels[var12] >> 8 & 255) * var5; + int var11 = var5 * (Rasterizer2D_pixels[var12] & 255); + int var14 = (var8 + var11 >> 8) + (var6 + var9 >> 8 << 16) + (var7 + var10 >> 8 << 8); + Rasterizer2D_pixels[var12] = var14; + var12 += Rasterizer2D_width; + } + + } + } + + @ObfuscatedName("ek") + @Export("Rasterizer2D_drawLine") + public static void Rasterizer2D_drawLine(int var0, int var1, int var2, int var3, int var4) { + var2 -= var0; + var3 -= var1; + if (var3 == 0) { + if (var2 >= 0) { + Rasterizer2D_drawHorizontalLine(var0, var1, var2 + 1, var4); + } else { + Rasterizer2D_drawHorizontalLine(var0 + var2, var1, -var2 + 1, var4); + } + + } else if (var2 == 0) { + if (var3 >= 0) { + Rasterizer2D_drawVerticalLine(var0, var1, var3 + 1, var4); + } else { + Rasterizer2D_drawVerticalLine(var0, var3 + var1, -var3 + 1, var4); + } + + } else { + if (var3 + var2 < 0) { + var0 += var2; + var2 = -var2; + var1 += var3; + var3 = -var3; + } + + int var5; + int var6; + if (var2 > var3) { + var1 <<= 16; + var1 += 32768; + var3 <<= 16; + var5 = (int)Math.floor((double)var3 / (double)var2 + 0.5D); + var2 += var0; + if (var0 < Rasterizer2D_xClipStart) { + var1 += var5 * (Rasterizer2D_xClipStart - var0); + var0 = Rasterizer2D_xClipStart; + } + + if (var2 >= Rasterizer2D_xClipEnd) { + var2 = Rasterizer2D_xClipEnd - 1; + } + + while(var0 <= var2) { + var6 = var1 >> 16; + if (var6 >= Rasterizer2D_yClipStart && var6 < Rasterizer2D_yClipEnd) { + Rasterizer2D_pixels[var0 + var6 * Rasterizer2D_width] = var4; + } + + var1 += var5; + ++var0; + } + } else { + var0 <<= 16; + var0 += 32768; + var2 <<= 16; + var5 = (int)Math.floor((double)var2 / (double)var3 + 0.5D); + var3 += var1; + if (var1 < Rasterizer2D_yClipStart) { + var0 += (Rasterizer2D_yClipStart - var1) * var5; + var1 = Rasterizer2D_yClipStart; + } + + if (var3 >= Rasterizer2D_yClipEnd) { + var3 = Rasterizer2D_yClipEnd - 1; + } + + while(var1 <= var3) { + var6 = var0 >> 16; + if (var6 >= Rasterizer2D_xClipStart && var6 < Rasterizer2D_xClipEnd) { + Rasterizer2D_pixels[var6 + Rasterizer2D_width * var1] = var4; + } + + var0 += var5; + ++var1; + } + } + + } + } + + @ObfuscatedName("eo") + @Export("Rasterizer2D_setPixel") + static void Rasterizer2D_setPixel(int var0, int var1, int var2) { + if (var0 >= Rasterizer2D_xClipStart && var1 >= Rasterizer2D_yClipStart && var0 < Rasterizer2D_xClipEnd && var1 < Rasterizer2D_yClipEnd) { + Rasterizer2D_pixels[var0 + Rasterizer2D_width * var1] = var2; + } + } + + @ObfuscatedName("en") + @Export("Rasterizer2D_fillMaskedRectangle") + public static void Rasterizer2D_fillMaskedRectangle(int var0, int var1, int var2, int[] var3, int[] var4) { + int var5 = var0 + Rasterizer2D_width * var1; + + for(var1 = 0; var1 < var3.length; ++var1) { + int var6 = var5 + var3[var1]; + + for(var0 = -var4[var1]; var0 < 0; ++var0) { + Rasterizer2D_pixels[var6++] = var2; + } + + var5 += Rasterizer2D_width; + } + + } } diff --git a/runescape-client/src/main/java/Rasterizer3D.java b/runescape-client/src/main/java/Rasterizer3D.java index f0ff2772f5..e73fdcf1ce 100644 --- a/runescape-client/src/main/java/Rasterizer3D.java +++ b/runescape-client/src/main/java/Rasterizer3D.java @@ -3,3443 +3,3430 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ek") +@ObfuscatedName("et") @Implements("Rasterizer3D") public class Rasterizer3D extends Rasterizer2D { - @ObfuscatedName("h") - static boolean field1791; - @ObfuscatedName("v") - static boolean field1779; - @ObfuscatedName("x") - @Export("Rasterizer3D_isLowDetailTexture") - static boolean Rasterizer3D_isLowDetailTexture; - @ObfuscatedName("w") - public static boolean field1782; - @ObfuscatedName("t") - @Export("Rasterizer3D_alpha") - static int Rasterizer3D_alpha; - @ObfuscatedName("e") - @Export("Rasterizer3D_zoom") - public static int Rasterizer3D_zoom; - @ObfuscatedName("m") - @Export("Rasterizer3D_clipMidX") - static int Rasterizer3D_clipMidX; - @ObfuscatedName("c") - @Export("Rasterizer3D_clipMidY") - static int Rasterizer3D_clipMidY; - @ObfuscatedName("i") - @Export("Rasterizer3D_clipWidth") - static int Rasterizer3D_clipWidth; - @ObfuscatedName("f") - @Export("Rasterizer3D_clipHeight") - static int Rasterizer3D_clipHeight; - @ObfuscatedName("a") - @Export("Rasterizer3D_clipNegativeMidX") - static int Rasterizer3D_clipNegativeMidX; - @ObfuscatedName("b") - @Export("Rasterizer3D_clipMidX2") - static int Rasterizer3D_clipMidX2; - @ObfuscatedName("y") - @Export("Rasterizer3D_clipNegativeMidY") - static int Rasterizer3D_clipNegativeMidY; - @ObfuscatedName("r") - @Export("Rasterizer3D_clipMidY2") - static int Rasterizer3D_clipMidY2; - @ObfuscatedName("q") - @Export("Rasterizer3D_rowOffsets") - static int[] Rasterizer3D_rowOffsets; - @ObfuscatedName("g") - @Export("Rasterizer3D_colorPalette") - public static int[] Rasterizer3D_colorPalette; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lex;" - ) - @Export("Rasterizer3D_textureLoader") - public static TextureLoader Rasterizer3D_textureLoader; - @ObfuscatedName("o") - static int[] field1802; - @ObfuscatedName("k") - static int[] field1803; - @ObfuscatedName("d") - @Export("Rasterizer3D_sine") - public static int[] Rasterizer3D_sine; - @ObfuscatedName("an") - @Export("Rasterizer3D_cosine") - public static int[] Rasterizer3D_cosine; - - static { - field1791 = false; // L: 8 - field1779 = false; // L: 9 - Rasterizer3D_isLowDetailTexture = false; // L: 10 - field1782 = true; // L: 11 - Rasterizer3D_alpha = 0; // L: 12 - Rasterizer3D_zoom = 512; // L: 19 - Rasterizer3D_rowOffsets = new int[1024]; // L: 28 - Rasterizer3D_colorPalette = new int[65536]; // L: 29 - field1802 = new int[512]; // L: 31 - field1803 = new int[2048]; // L: 32 - Rasterizer3D_sine = new int[2048]; // L: 33 - Rasterizer3D_cosine = new int[2048]; // L: 34 - - int var0; - for (var0 = 1; var0 < 512; ++var0) { // L: 37 - field1802[var0] = 32768 / var0; // L: 38 - } - - for (var0 = 1; var0 < 2048; ++var0) { // L: 40 - field1803[var0] = 65536 / var0; // L: 41 - } - - for (var0 = 0; var0 < 2048; ++var0) { // L: 43 - Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); // L: 44 - Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); // L: 45 - } - - } // L: 47 - - @ObfuscatedName("h") - @Export("Rasterizer3D_setClipFromRasterizer2D") - public static final void Rasterizer3D_setClipFromRasterizer2D() { - Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); // L: 54 - } // L: 55 - - @ObfuscatedName("v") - @Export("Rasterizer3D_setClip") - static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { - Rasterizer3D_clipWidth = var2 - var0; // L: 58 - Rasterizer3D_clipHeight = var3 - var1; // L: 59 - Rasterizer3D_method3(); // L: 60 - if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { // L: 61 - Rasterizer3D_rowOffsets = new int[World.method1870(Rasterizer3D_clipHeight)]; - } - - int var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; // L: 62 - - for (int var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { // L: 63 - Rasterizer3D_rowOffsets[var5] = var4; // L: 64 - var4 += Rasterizer2D.Rasterizer2D_width; // L: 65 - } - - } // L: 67 - - @ObfuscatedName("x") - @Export("Rasterizer3D_method3") - public static final void Rasterizer3D_method3() { - Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; // L: 70 - Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2; // L: 71 - Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; // L: 72 - Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; // L: 73 - Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; // L: 74 - Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; // L: 75 - } // L: 76 - - @ObfuscatedName("w") - public static final void method3138(int var0, int var1) { - int var2 = Rasterizer3D_rowOffsets[0]; // L: 79 - int var3 = var2 / Rasterizer2D.Rasterizer2D_width; // L: 80 - int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; // L: 81 - Rasterizer3D_clipMidX = var0 - var4; // L: 82 - Rasterizer3D_clipMidY = var1 - var3; // L: 83 - Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; // L: 84 - Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; // L: 85 - Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; // L: 86 - Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; // L: 87 - } // L: 88 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lex;)V" - ) - @Export("Rasterizer3D_setTextureLoader") - public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { - Rasterizer3D_textureLoader = var0; // L: 91 - } // L: 92 - - @ObfuscatedName("j") - @Export("Rasterizer3D_setBrightness") - public static final void Rasterizer3D_setBrightness(double var0) { - Rasterizer3D_buildPalette(var0, 0, 512); // L: 95 - } // L: 96 - - @ObfuscatedName("n") - @Export("Rasterizer3D_buildPalette") - static final void Rasterizer3D_buildPalette(double var0, int var2, int var3) { - int var4 = var2 * 128; // L: 99 - - for (int var5 = var2; var5 < var3; ++var5) { // L: 100 - double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; // L: 101 - double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; // L: 102 - - for (int var10 = 0; var10 < 128; ++var10) { // L: 103 - double var11 = (double)var10 / 128.0D; // L: 104 - double var13 = var11; // L: 105 - double var15 = var11; // L: 106 - double var17 = var11; // L: 107 - if (var8 != 0.0D) { // L: 108 - double var19; - if (var11 < 0.5D) { // L: 110 - var19 = var11 * (1.0D + var8); - } else { - var19 = var11 + var8 - var11 * var8; // L: 111 - } - - double var21 = 2.0D * var11 - var19; // L: 112 - double var23 = var6 + 0.3333333333333333D; // L: 113 - if (var23 > 1.0D) { // L: 114 - --var23; - } - - double var27 = var6 - 0.3333333333333333D; // L: 116 - if (var27 < 0.0D) { // L: 117 - ++var27; - } - - if (6.0D * var23 < 1.0D) { // L: 118 - var13 = var21 + (var19 - var21) * 6.0D * var23; - } else if (2.0D * var23 < 1.0D) { // L: 119 - var13 = var19; - } else if (3.0D * var23 < 2.0D) { // L: 120 - var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D; - } else { - var13 = var21; // L: 121 - } - - if (6.0D * var6 < 1.0D) { // L: 122 - var15 = var21 + (var19 - var21) * 6.0D * var6; - } else if (2.0D * var6 < 1.0D) { // L: 123 - var15 = var19; - } else if (3.0D * var6 < 2.0D) { // L: 124 - var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D; - } else { - var15 = var21; // L: 125 - } - - if (6.0D * var27 < 1.0D) { // L: 126 - var17 = var21 + (var19 - var21) * 6.0D * var27; - } else if (2.0D * var27 < 1.0D) { // L: 127 - var17 = var19; - } else if (3.0D * var27 < 2.0D) { // L: 128 - var17 = var21 + (var19 - var21) * (0.6666666666666666D - var27) * 6.0D; - } else { - var17 = var21; // L: 129 - } - } - - int var29 = (int)(var13 * 256.0D); // L: 131 - int var20 = (int)(var15 * 256.0D); // L: 132 - int var30 = (int)(var17 * 256.0D); // L: 133 - int var22 = var30 + (var20 << 8) + (var29 << 16); // L: 134 - var22 = Rasterizer3D_brighten(var22, var0); // L: 135 - if (var22 == 0) { // L: 136 - var22 = 1; - } - - Rasterizer3D_colorPalette[var4++] = var22; // L: 137 - } - } - - } // L: 140 - - @ObfuscatedName("p") - @Export("Rasterizer3D_brighten") - static int Rasterizer3D_brighten(int var0, double var1) { - double var3 = (double)(var0 >> 16) / 256.0D; // L: 143 - double var5 = (double)(var0 >> 8 & 255) / 256.0D; // L: 144 - double var7 = (double)(var0 & 255) / 256.0D; // L: 145 - var3 = Math.pow(var3, var1); // L: 146 - var5 = Math.pow(var5, var1); // L: 147 - var7 = Math.pow(var7, var1); // L: 148 - int var9 = (int)(var3 * 256.0D); // L: 149 - int var10 = (int)(var5 * 256.0D); // L: 150 - int var11 = (int)(var7 * 256.0D); // L: 151 - return var11 + (var10 << 8) + (var9 << 16); // L: 152 - } - - @ObfuscatedName("l") - public static void method3078(int var0, int var1, int var2) { - field1791 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; // L: 156 - } // L: 157 - - @ObfuscatedName("z") - static final void method3079(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = var4 - var3; // L: 160 - int var10 = var1 - var0; // L: 161 - int var11 = var5 - var3; // L: 162 - int var12 = var2 - var0; // L: 163 - int var13 = var7 - var6; // L: 164 - int var14 = var8 - var6; // L: 165 - int var15; - if (var2 != var1) { // L: 167 - var15 = (var5 - var4 << 14) / (var2 - var1); - } else { - var15 = 0; // L: 168 - } - - int var16; - if (var0 != var1) { // L: 170 - var16 = (var9 << 14) / var10; - } else { - var16 = 0; // L: 171 - } - - int var17; - if (var0 != var2) { // L: 173 - var17 = (var11 << 14) / var12; - } else { - var17 = 0; // L: 174 - } - - int var18 = var9 * var12 - var11 * var10; // L: 175 - if (var18 != 0) { // L: 176 - int var19 = (var13 * var12 - var14 * var10 << 8) / var18; // L: 177 - int var20 = (var14 * var9 - var13 * var11 << 8) / var18; // L: 178 - if (var0 <= var1 && var0 <= var2) { // L: 179 - if (var0 < Rasterizer3D_clipHeight) { // L: 180 - if (var1 > Rasterizer3D_clipHeight) { // L: 181 - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { // L: 182 - var2 = Rasterizer3D_clipHeight; - } - - var6 = var19 + ((var6 << 8) - var3 * var19); // L: 183 - if (var1 < var2) { // L: 184 - var5 = var3 <<= 14; // L: 185 - if (var0 < 0) { // L: 186 - var5 -= var0 * var17; // L: 187 - var3 -= var0 * var16; // L: 188 - var6 -= var0 * var20; // L: 189 - var0 = 0; // L: 190 - } - - var4 <<= 14; // L: 192 - if (var1 < 0) { // L: 193 - var4 -= var15 * var1; // L: 194 - var1 = 0; // L: 195 - } - - if ((var0 == var1 || var17 >= var16) && (var0 != var1 || var17 <= var15)) { // L: 197 - var2 -= var1; // L: 218 - var1 -= var0; // L: 219 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 220 - - while (true) { - --var1; // L: 221 - if (var1 < 0) { - while (true) { - --var2; // L: 228 - if (var2 < 0) { - return; // L: 235 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19); // L: 229 - var5 += var17; // L: 230 - var4 += var15; // L: 231 - var6 += var20; // L: 232 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 233 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); // L: 222 - var5 += var17; // L: 223 - var3 += var16; // L: 224 - var6 += var20; // L: 225 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 226 - } - } else { - var2 -= var1; // L: 198 - var1 -= var0; // L: 199 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 200 - - while (true) { - --var1; // L: 201 - if (var1 < 0) { - while (true) { - --var2; // L: 208 - if (var2 < 0) { - return; // L: 215 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19); // L: 209 - var5 += var17; // L: 210 - var4 += var15; // L: 211 - var6 += var20; // L: 212 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 213 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); // L: 202 - var5 += var17; // L: 203 - var3 += var16; // L: 204 - var6 += var20; // L: 205 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 206 - } - } - } else { - var4 = var3 <<= 14; // L: 239 - if (var0 < 0) { // L: 240 - var4 -= var0 * var17; // L: 241 - var3 -= var0 * var16; // L: 242 - var6 -= var0 * var20; // L: 243 - var0 = 0; // L: 244 - } - - var5 <<= 14; // L: 246 - if (var2 < 0) { // L: 247 - var5 -= var15 * var2; // L: 248 - var2 = 0; // L: 249 - } - - if (var0 != var2 && var17 < var16 || var0 == var2 && var15 > var16) { // L: 251 - var1 -= var2; // L: 252 - var2 -= var0; // L: 253 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 254 - - while (true) { - --var2; // L: 255 - if (var2 < 0) { - while (true) { - --var1; // L: 262 - if (var1 < 0) { - return; // L: 269 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); // L: 263 - var5 += var15; // L: 264 - var3 += var16; // L: 265 - var6 += var20; // L: 266 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 267 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19); // L: 256 - var4 += var17; // L: 257 - var3 += var16; // L: 258 - var6 += var20; // L: 259 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 260 - } - } else { - var1 -= var2; // L: 272 - var2 -= var0; // L: 273 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 274 - - while (true) { - --var2; // L: 275 - if (var2 < 0) { - while (true) { - --var1; // L: 282 - if (var1 < 0) { - return; // L: 289 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); // L: 283 - var5 += var15; // L: 284 - var3 += var16; // L: 285 - var6 += var20; // L: 286 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 287 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19); // L: 276 - var4 += var17; // L: 277 - var3 += var16; // L: 278 - var6 += var20; // L: 279 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 280 - } - } - } - } - } else if (var1 <= var2) { // L: 293 - if (var1 < Rasterizer3D_clipHeight) { // L: 294 - if (var2 > Rasterizer3D_clipHeight) { // L: 295 - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { // L: 296 - var0 = Rasterizer3D_clipHeight; - } - - var7 = var19 + ((var7 << 8) - var19 * var4); // L: 297 - if (var2 < var0) { // L: 298 - var3 = var4 <<= 14; // L: 299 - if (var1 < 0) { // L: 300 - var3 -= var16 * var1; // L: 301 - var4 -= var15 * var1; // L: 302 - var7 -= var20 * var1; // L: 303 - var1 = 0; // L: 304 - } - - var5 <<= 14; // L: 306 - if (var2 < 0) { // L: 307 - var5 -= var17 * var2; // L: 308 - var2 = 0; // L: 309 - } - - if ((var2 == var1 || var16 >= var15) && (var2 != var1 || var16 <= var17)) { // L: 311 - var0 -= var2; // L: 332 - var2 -= var1; // L: 333 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 334 - - while (true) { - --var2; // L: 335 - if (var2 < 0) { - while (true) { - --var0; // L: 342 - if (var0 < 0) { - return; // L: 349 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19); // L: 343 - var3 += var16; // L: 344 - var5 += var17; // L: 345 - var7 += var20; // L: 346 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 347 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); // L: 336 - var3 += var16; // L: 337 - var4 += var15; // L: 338 - var7 += var20; // L: 339 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 340 - } - } else { - var0 -= var2; // L: 312 - var2 -= var1; // L: 313 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 314 - - while (true) { - --var2; // L: 315 - if (var2 < 0) { - while (true) { - --var0; // L: 322 - if (var0 < 0) { - return; // L: 329 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19); // L: 323 - var3 += var16; // L: 324 - var5 += var17; // L: 325 - var7 += var20; // L: 326 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 327 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); // L: 316 - var3 += var16; // L: 317 - var4 += var15; // L: 318 - var7 += var20; // L: 319 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 320 - } - } - } else { - var5 = var4 <<= 14; // L: 353 - if (var1 < 0) { // L: 354 - var5 -= var16 * var1; // L: 355 - var4 -= var15 * var1; // L: 356 - var7 -= var20 * var1; // L: 357 - var1 = 0; // L: 358 - } - - var3 <<= 14; // L: 360 - if (var0 < 0) { // L: 361 - var3 -= var0 * var17; // L: 362 - var0 = 0; // L: 363 - } - - if (var16 < var15) { // L: 365 - var2 -= var0; // L: 366 - var0 -= var1; // L: 367 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 368 - - while (true) { - --var0; // L: 369 - if (var0 < 0) { - while (true) { - --var2; // L: 376 - if (var2 < 0) { - return; // L: 383 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); // L: 377 - var3 += var17; // L: 378 - var4 += var15; // L: 379 - var7 += var20; // L: 380 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 381 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19); // L: 370 - var5 += var16; // L: 371 - var4 += var15; // L: 372 - var7 += var20; // L: 373 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 374 - } - } else { - var2 -= var0; // L: 386 - var0 -= var1; // L: 387 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 388 - - while (true) { - --var0; // L: 389 - if (var0 < 0) { - while (true) { - --var2; // L: 396 - if (var2 < 0) { - return; // L: 403 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); // L: 397 - var3 += var17; // L: 398 - var4 += var15; // L: 399 - var7 += var20; // L: 400 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 401 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19); // L: 390 - var5 += var16; // L: 391 - var4 += var15; // L: 392 - var7 += var20; // L: 393 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 394 - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { // L: 408 - if (var0 > Rasterizer3D_clipHeight) { // L: 409 - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { // L: 410 - var1 = Rasterizer3D_clipHeight; - } - - var8 = var19 + ((var8 << 8) - var5 * var19); // L: 411 - if (var0 < var1) { // L: 412 - var4 = var5 <<= 14; // L: 413 - if (var2 < 0) { // L: 414 - var4 -= var15 * var2; // L: 415 - var5 -= var17 * var2; // L: 416 - var8 -= var20 * var2; // L: 417 - var2 = 0; // L: 418 - } - - var3 <<= 14; // L: 420 - if (var0 < 0) { // L: 421 - var3 -= var0 * var16; // L: 422 - var0 = 0; // L: 423 - } - - if (var15 < var17) { // L: 425 - var1 -= var0; // L: 426 - var0 -= var2; // L: 427 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 428 - - while (true) { - --var0; // L: 429 - if (var0 < 0) { - while (true) { - --var1; // L: 436 - if (var1 < 0) { - return; // L: 443 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19); // L: 437 - var4 += var15; // L: 438 - var3 += var16; // L: 439 - var8 += var20; // L: 440 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 441 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); // L: 430 - var4 += var15; // L: 431 - var5 += var17; // L: 432 - var8 += var20; // L: 433 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 434 - } - } else { - var1 -= var0; // L: 446 - var0 -= var2; // L: 447 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 448 - - while (true) { - --var0; // L: 449 - if (var0 < 0) { - while (true) { - --var1; // L: 456 - if (var1 < 0) { - return; // L: 463 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19); // L: 457 - var4 += var15; // L: 458 - var3 += var16; // L: 459 - var8 += var20; // L: 460 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 461 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); // L: 450 - var4 += var15; // L: 451 - var5 += var17; // L: 452 - var8 += var20; // L: 453 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 454 - } - } - } else { - var3 = var5 <<= 14; // L: 467 - if (var2 < 0) { // L: 468 - var3 -= var15 * var2; // L: 469 - var5 -= var17 * var2; // L: 470 - var8 -= var20 * var2; // L: 471 - var2 = 0; // L: 472 - } - - var4 <<= 14; // L: 474 - if (var1 < 0) { // L: 475 - var4 -= var16 * var1; // L: 476 - var1 = 0; // L: 477 - } - - if (var15 < var17) { // L: 479 - var0 -= var1; // L: 480 - var1 -= var2; // L: 481 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 482 - - while (true) { - --var1; // L: 483 - if (var1 < 0) { - while (true) { - --var0; // L: 490 - if (var0 < 0) { - return; // L: 497 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); // L: 491 - var4 += var16; // L: 492 - var5 += var17; // L: 493 - var8 += var20; // L: 494 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 495 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19); // L: 484 - var3 += var15; // L: 485 - var5 += var17; // L: 486 - var8 += var20; // L: 487 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 488 - } - } else { - var0 -= var1; // L: 500 - var1 -= var2; // L: 501 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 502 - - while (true) { - --var1; // L: 503 - if (var1 < 0) { - while (true) { - --var0; // L: 510 - if (var0 < 0) { - return; // L: 517 - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); // L: 511 - var4 += var16; // L: 512 - var5 += var17; // L: 513 - var8 += var20; // L: 514 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 515 - } - } - - Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19); // L: 504 - var3 += var15; // L: 505 - var5 += var17; // L: 506 - var8 += var20; // L: 507 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 508 - } - } - } - } - } - } - - @ObfuscatedName("u") - @Export("Rasterizer3D_vertAlpha") - static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (field1791) { // L: 524 - if (var5 > Rasterizer3D_clipWidth) { // L: 525 - var5 = Rasterizer3D_clipWidth; - } - - if (var4 < 0) { // L: 526 - var4 = 0; - } - } - - if (var4 < var5) { // L: 528 - var1 += var4; // L: 529 - var6 += var4 * var7; // L: 530 - int var8; - int var9; - int var10; - if (field1782) { // L: 531 - var3 = var5 - var4 >> 2; // L: 532 - var7 <<= 2; // L: 533 - if (Rasterizer3D_alpha == 0) { // L: 534 - if (var3 > 0) { // L: 535 - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 537 - var6 += var7; // L: 538 - var0[var1++] = var2; // L: 539 - var0[var1++] = var2; // L: 540 - var0[var1++] = var2; // L: 541 - var0[var1++] = var2; // L: 542 - --var3; // L: 543 - } while(var3 > 0); - } - - var3 = var5 - var4 & 3; // L: 545 - if (var3 > 0) { // L: 546 - var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 547 - - do { - var0[var1++] = var2; // L: 549 - --var3; // L: 550 - } while(var3 > 0); - } - } else { - var8 = Rasterizer3D_alpha; // L: 554 - var9 = 256 - Rasterizer3D_alpha; // L: 555 - if (var3 > 0) { // L: 556 - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 558 - var6 += var7; // L: 559 - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 560 - var10 = var0[var1]; // L: 561 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 562 - var10 = var0[var1]; // L: 563 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 564 - var10 = var0[var1]; // L: 565 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 566 - var10 = var0[var1]; // L: 567 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 568 - --var3; // L: 569 - } while(var3 > 0); - } - - var3 = var5 - var4 & 3; // L: 571 - if (var3 > 0) { // L: 572 - var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 573 - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 574 - - do { - var10 = var0[var1]; // L: 576 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 577 - --var3; // L: 578 - } while(var3 > 0); - } - } - - } else { - var3 = var5 - var4; // L: 584 - if (Rasterizer3D_alpha == 0) { // L: 585 - do { - var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8]; // L: 587 - var6 += var7; // L: 588 - --var3; // L: 589 - } while(var3 > 0); - } else { - var8 = Rasterizer3D_alpha; // L: 592 - var9 = 256 - Rasterizer3D_alpha; // L: 593 - - do { - var2 = Rasterizer3D_colorPalette[var6 >> 8]; // L: 595 - var6 += var7; // L: 596 - var2 = (var9 * (var2 & 65280) >> 8 & 65280) + (var9 * (var2 & 16711935) >> 8 & 16711935); // L: 597 - var10 = var0[var1]; // L: 598 - var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & 65280) >> 8 & 65280); // L: 599 - --var3; // L: 600 - } while(var3 > 0); - } - - } - } - } // L: 581 602 - - @ObfuscatedName("e") - public static final void method3081(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - int var7 = 0; // L: 607 - if (var0 != var1) { // L: 608 - var7 = (var4 - var3 << 14) / (var1 - var0); - } - - int var8 = 0; // L: 609 - if (var2 != var1) { // L: 610 - var8 = (var5 - var4 << 14) / (var2 - var1); - } - - int var9 = 0; // L: 611 - if (var0 != var2) { // L: 612 - var9 = (var3 - var5 << 14) / (var0 - var2); - } - - if (var0 <= var1 && var0 <= var2) { // L: 613 - if (var0 < Rasterizer3D_clipHeight) { // L: 614 - if (var1 > Rasterizer3D_clipHeight) { // L: 615 - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { // L: 616 - var2 = Rasterizer3D_clipHeight; - } - - if (var1 < var2) { // L: 617 - var5 = var3 <<= 14; // L: 618 - if (var0 < 0) { // L: 619 - var5 -= var0 * var9; // L: 620 - var3 -= var0 * var7; // L: 621 - var0 = 0; // L: 622 - } - - var4 <<= 14; // L: 624 - if (var1 < 0) { // L: 625 - var4 -= var8 * var1; // L: 626 - var1 = 0; // L: 627 - } - - if (var0 != var1 && var9 < var7 || var0 == var1 && var9 > var8) { // L: 629 - var2 -= var1; // L: 630 - var1 -= var0; // L: 631 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 632 - - while (true) { - --var1; // L: 633 - if (var1 < 0) { - while (true) { - --var2; // L: 639 - if (var2 < 0) { - return; // L: 645 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14); // L: 640 - var5 += var9; // L: 641 - var4 += var8; // L: 642 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 643 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); // L: 634 - var5 += var9; // L: 635 - var3 += var7; // L: 636 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 637 - } - } else { - var2 -= var1; // L: 648 - var1 -= var0; // L: 649 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 650 - - while (true) { - --var1; // L: 651 - if (var1 < 0) { - while (true) { - --var2; // L: 657 - if (var2 < 0) { - return; // L: 663 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14); // L: 658 - var5 += var9; // L: 659 - var4 += var8; // L: 660 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 661 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); // L: 652 - var5 += var9; // L: 653 - var3 += var7; // L: 654 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 655 - } - } - } else { - var4 = var3 <<= 14; // L: 667 - if (var0 < 0) { // L: 668 - var4 -= var0 * var9; // L: 669 - var3 -= var0 * var7; // L: 670 - var0 = 0; // L: 671 - } - - var5 <<= 14; // L: 673 - if (var2 < 0) { // L: 674 - var5 -= var8 * var2; // L: 675 - var2 = 0; // L: 676 - } - - if ((var0 == var2 || var9 >= var7) && (var0 != var2 || var8 <= var7)) { // L: 678 - var1 -= var2; // L: 697 - var2 -= var0; // L: 698 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 699 - - while (true) { - --var2; // L: 700 - if (var2 < 0) { - while (true) { - --var1; // L: 706 - if (var1 < 0) { - return; // L: 712 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); // L: 707 - var5 += var8; // L: 708 - var3 += var7; // L: 709 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 710 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14); // L: 701 - var4 += var9; // L: 702 - var3 += var7; // L: 703 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 704 - } - } else { - var1 -= var2; // L: 679 - var2 -= var0; // L: 680 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 681 - - while (true) { - --var2; // L: 682 - if (var2 < 0) { - while (true) { - --var1; // L: 688 - if (var1 < 0) { - return; // L: 694 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); // L: 689 - var5 += var8; // L: 690 - var3 += var7; // L: 691 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 692 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); // L: 683 - var4 += var9; // L: 684 - var3 += var7; // L: 685 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 686 - } - } - } - } - } else if (var1 <= var2) { // L: 716 - if (var1 < Rasterizer3D_clipHeight) { // L: 717 - if (var2 > Rasterizer3D_clipHeight) { // L: 718 - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { // L: 719 - var0 = Rasterizer3D_clipHeight; - } - - if (var2 < var0) { // L: 720 - var3 = var4 <<= 14; // L: 721 - if (var1 < 0) { // L: 722 - var3 -= var7 * var1; // L: 723 - var4 -= var8 * var1; // L: 724 - var1 = 0; // L: 725 - } - - var5 <<= 14; // L: 727 - if (var2 < 0) { // L: 728 - var5 -= var9 * var2; // L: 729 - var2 = 0; // L: 730 - } - - if (var2 != var1 && var7 < var8 || var2 == var1 && var7 > var9) { // L: 732 - var0 -= var2; // L: 733 - var2 -= var1; // L: 734 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 735 - - while (true) { - --var2; // L: 736 - if (var2 < 0) { - while (true) { - --var0; // L: 742 - if (var0 < 0) { - return; // L: 748 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14); // L: 743 - var3 += var7; // L: 744 - var5 += var9; // L: 745 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 746 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); // L: 737 - var3 += var7; // L: 738 - var4 += var8; // L: 739 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 740 - } - } else { - var0 -= var2; // L: 751 - var2 -= var1; // L: 752 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 753 - - while (true) { - --var2; // L: 754 - if (var2 < 0) { - while (true) { - --var0; // L: 760 - if (var0 < 0) { - return; // L: 766 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14); // L: 761 - var3 += var7; // L: 762 - var5 += var9; // L: 763 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 764 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); // L: 755 - var3 += var7; // L: 756 - var4 += var8; // L: 757 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 758 - } - } - } else { - var5 = var4 <<= 14; // L: 770 - if (var1 < 0) { // L: 771 - var5 -= var7 * var1; // L: 772 - var4 -= var8 * var1; // L: 773 - var1 = 0; // L: 774 - } - - var3 <<= 14; // L: 776 - if (var0 < 0) { // L: 777 - var3 -= var0 * var9; // L: 778 - var0 = 0; // L: 779 - } - - if (var7 < var8) { // L: 781 - var2 -= var0; // L: 782 - var0 -= var1; // L: 783 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 784 - - while (true) { - --var0; // L: 785 - if (var0 < 0) { - while (true) { - --var2; // L: 791 - if (var2 < 0) { - return; // L: 797 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); // L: 792 - var3 += var9; // L: 793 - var4 += var8; // L: 794 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 795 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14); // L: 786 - var5 += var7; // L: 787 - var4 += var8; // L: 788 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 789 - } - } else { - var2 -= var0; // L: 800 - var0 -= var1; // L: 801 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 802 - - while (true) { - --var0; // L: 803 - if (var0 < 0) { - while (true) { - --var2; // L: 809 - if (var2 < 0) { - return; // L: 815 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); // L: 810 - var3 += var9; // L: 811 - var4 += var8; // L: 812 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 813 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14); // L: 804 - var5 += var7; // L: 805 - var4 += var8; // L: 806 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 807 - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { // L: 820 - if (var0 > Rasterizer3D_clipHeight) { // L: 821 - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { // L: 822 - var1 = Rasterizer3D_clipHeight; - } - - if (var0 < var1) { // L: 823 - var4 = var5 <<= 14; // L: 824 - if (var2 < 0) { // L: 825 - var4 -= var8 * var2; // L: 826 - var5 -= var9 * var2; // L: 827 - var2 = 0; // L: 828 - } - - var3 <<= 14; // L: 830 - if (var0 < 0) { // L: 831 - var3 -= var0 * var7; // L: 832 - var0 = 0; // L: 833 - } - - if (var8 < var9) { // L: 835 - var1 -= var0; // L: 836 - var0 -= var2; // L: 837 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 838 - - while (true) { - --var0; // L: 839 - if (var0 < 0) { - while (true) { - --var1; // L: 845 - if (var1 < 0) { - return; // L: 851 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14); // L: 846 - var4 += var8; // L: 847 - var3 += var7; // L: 848 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 849 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); // L: 840 - var4 += var8; // L: 841 - var5 += var9; // L: 842 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 843 - } - } else { - var1 -= var0; // L: 854 - var0 -= var2; // L: 855 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 856 - - while (true) { - --var0; // L: 857 - if (var0 < 0) { - while (true) { - --var1; // L: 863 - if (var1 < 0) { - return; // L: 869 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14); // L: 864 - var4 += var8; // L: 865 - var3 += var7; // L: 866 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 867 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); // L: 858 - var4 += var8; // L: 859 - var5 += var9; // L: 860 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 861 - } - } - } else { - var3 = var5 <<= 14; // L: 873 - if (var2 < 0) { // L: 874 - var3 -= var8 * var2; // L: 875 - var5 -= var9 * var2; // L: 876 - var2 = 0; // L: 877 - } - - var4 <<= 14; // L: 879 - if (var1 < 0) { // L: 880 - var4 -= var7 * var1; // L: 881 - var1 = 0; // L: 882 - } - - if (var8 < var9) { // L: 884 - var0 -= var1; // L: 885 - var1 -= var2; // L: 886 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 887 - - while (true) { - --var1; // L: 888 - if (var1 < 0) { - while (true) { - --var0; // L: 894 - if (var0 < 0) { - return; // L: 900 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); // L: 895 - var4 += var7; // L: 896 - var5 += var9; // L: 897 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 898 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14); // L: 889 - var3 += var8; // L: 890 - var5 += var9; // L: 891 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 892 - } - } else { - var0 -= var1; // L: 903 - var1 -= var2; // L: 904 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 905 - - while (true) { - --var1; // L: 906 - if (var1 < 0) { - while (true) { - --var0; // L: 912 - if (var0 < 0) { - return; // L: 918 - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); // L: 913 - var4 += var7; // L: 914 - var5 += var9; // L: 915 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 916 - } - } - - Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14); // L: 907 - var3 += var8; // L: 908 - var5 += var9; // L: 909 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 910 - } - } - } - } - } - - @ObfuscatedName("m") - @Export("Rasterizer3D_horizAlpha") - static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { - if (field1791) { // L: 925 - if (var5 > Rasterizer3D_clipWidth) { // L: 926 - var5 = Rasterizer3D_clipWidth; - } - - if (var4 < 0) { // L: 927 - var4 = 0; - } - } - - if (var4 < var5) { // L: 929 - var1 += var4; // L: 930 - var3 = var5 - var4 >> 2; // L: 931 - if (Rasterizer3D_alpha != 0) { // L: 932 - if (Rasterizer3D_alpha == 254) { // L: 944 - while (true) { - --var3; // L: 945 - if (var3 < 0) { - var3 = var5 - var4 & 3; // L: 951 - - while (true) { - --var3; // L: 952 - if (var3 < 0) { - return; // L: 976 - } - - var0[var1++] = var0[var1]; // L: 953 - } - } - - var0[var1++] = var0[var1]; // L: 946 - var0[var1++] = var0[var1]; // L: 947 - var0[var1++] = var0[var1]; // L: 948 - var0[var1++] = var0[var1]; // L: 949 - } - } else { - int var6 = Rasterizer3D_alpha; // L: 957 - int var7 = 256 - Rasterizer3D_alpha; // L: 958 - var2 = (var7 * (var2 & 65280) >> 8 & 65280) + (var7 * (var2 & 16711935) >> 8 & 16711935); // L: 959 - - while (true) { - --var3; // L: 960 - int var8; - if (var3 < 0) { - var3 = var5 - var4 & 3; // L: 970 - - while (true) { - --var3; // L: 971 - if (var3 < 0) { - return; - } - - var8 = var0[var1]; // L: 972 - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 973 - } - } - - var8 = var0[var1]; // L: 961 - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 962 - var8 = var0[var1]; // L: 963 - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 964 - var8 = var0[var1]; // L: 965 - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 966 - var8 = var0[var1]; // L: 967 - var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & 65280) >> 8 & 65280); // L: 968 - } - } - } else { - while (true) { - --var3; // L: 933 - if (var3 < 0) { - var3 = var5 - var4 & 3; // L: 939 - - while (true) { - --var3; // L: 940 - if (var3 < 0) { - return; - } - - var0[var1++] = var2; // L: 941 - } - } - - var0[var1++] = var2; // L: 934 - var0[var1++] = var2; // L: 935 - var0[var1++] = var2; // L: 936 - var0[var1++] = var2; // L: 937 - } - } - } - } - - @ObfuscatedName("c") - static final void method3083(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); // L: 979 - int var20; - if (var19 == null) { // L: 980 - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); // L: 981 - method3079(var0, var1, var2, var3, var4, var5, method3072(var20, var6), method3072(var20, var7), method3072(var20, var8)); // L: 982 - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); // L: 985 - field1779 = Rasterizer3D_textureLoader.vmethod3359(var18); // L: 986 - var20 = var4 - var3; // L: 987 - int var21 = var1 - var0; // L: 988 - int var22 = var5 - var3; // L: 989 - int var23 = var2 - var0; // L: 990 - int var24 = var7 - var6; // L: 991 - int var25 = var8 - var6; // L: 992 - int var26 = 0; // L: 993 - if (var0 != var1) { // L: 994 - var26 = (var4 - var3 << 14) / (var1 - var0); - } - - int var27 = 0; // L: 995 - if (var2 != var1) { // L: 996 - var27 = (var5 - var4 << 14) / (var2 - var1); - } - - int var28 = 0; // L: 997 - if (var0 != var2) { // L: 998 - var28 = (var3 - var5 << 14) / (var0 - var2); - } - - int var29 = var20 * var23 - var22 * var21; // L: 999 - if (var29 != 0) { // L: 1000 - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; // L: 1001 - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; // L: 1002 - var10 = var9 - var10; // L: 1003 - var13 = var12 - var13; // L: 1004 - var16 = var15 - var16; // L: 1005 - var11 -= var9; // L: 1006 - var14 -= var12; // L: 1007 - var17 -= var15; // L: 1008 - int var32 = var11 * var12 - var9 * var14 << 14; // L: 1009 - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1010 - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1011 - int var35 = var10 * var12 - var13 * var9 << 14; // L: 1012 - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1013 - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1014 - int var38 = var13 * var11 - var10 * var14 << 14; // L: 1015 - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 3 << 14) / (long)Rasterizer3D_zoom); // L: 1016 - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); // L: 1017 - int var41; - if (var0 <= var1 && var0 <= var2) { // L: 1018 - if (var0 < Rasterizer3D_clipHeight) { // L: 1019 - if (var1 > Rasterizer3D_clipHeight) { // L: 1020 - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { // L: 1021 - var2 = Rasterizer3D_clipHeight; - } - - var6 = var30 + ((var6 << 9) - var3 * var30); // L: 1022 - if (var1 < var2) { // L: 1023 - var5 = var3 <<= 14; // L: 1024 - if (var0 < 0) { // L: 1025 - var5 -= var0 * var28; // L: 1026 - var3 -= var0 * var26; // L: 1027 - var6 -= var0 * var31; // L: 1028 - var0 = 0; // L: 1029 - } - - var4 <<= 14; // L: 1031 - if (var1 < 0) { // L: 1032 - var4 -= var27 * var1; // L: 1033 - var1 = 0; // L: 1034 - } - - var41 = var0 - Rasterizer3D_clipMidY; // L: 1036 - var32 += var34 * var41; // L: 1037 - var35 += var37 * var41; // L: 1038 - var38 += var40 * var41; // L: 1039 - if (var0 != var1 && var28 < var26 || var0 == var1 && var28 > var27) { // L: 1040 - var2 -= var1; // L: 1041 - var1 -= var0; // L: 1042 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1043 - - while (true) { - --var1; // L: 1044 - if (var1 < 0) { - while (true) { - --var2; // L: 1054 - if (var2 < 0) { - return; // L: 1064 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1055 - var5 += var28; // L: 1056 - var4 += var27; // L: 1057 - var6 += var31; // L: 1058 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1059 - var32 += var34; // L: 1060 - var35 += var37; // L: 1061 - var38 += var40; // L: 1062 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1045 - var5 += var28; // L: 1046 - var3 += var26; // L: 1047 - var6 += var31; // L: 1048 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1049 - var32 += var34; // L: 1050 - var35 += var37; // L: 1051 - var38 += var40; // L: 1052 - } - } else { - var2 -= var1; // L: 1067 - var1 -= var0; // L: 1068 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1069 - - while (true) { - --var1; // L: 1070 - if (var1 < 0) { - while (true) { - --var2; // L: 1080 - if (var2 < 0) { - return; // L: 1090 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1081 - var5 += var28; // L: 1082 - var4 += var27; // L: 1083 - var6 += var31; // L: 1084 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1085 - var32 += var34; // L: 1086 - var35 += var37; // L: 1087 - var38 += var40; // L: 1088 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1071 - var5 += var28; // L: 1072 - var3 += var26; // L: 1073 - var6 += var31; // L: 1074 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1075 - var32 += var34; // L: 1076 - var35 += var37; // L: 1077 - var38 += var40; // L: 1078 - } - } - } else { - var4 = var3 <<= 14; // L: 1094 - if (var0 < 0) { // L: 1095 - var4 -= var0 * var28; // L: 1096 - var3 -= var0 * var26; // L: 1097 - var6 -= var0 * var31; // L: 1098 - var0 = 0; // L: 1099 - } - - var5 <<= 14; // L: 1101 - if (var2 < 0) { // L: 1102 - var5 -= var27 * var2; // L: 1103 - var2 = 0; // L: 1104 - } - - var41 = var0 - Rasterizer3D_clipMidY; // L: 1106 - var32 += var34 * var41; // L: 1107 - var35 += var37 * var41; // L: 1108 - var38 += var40 * var41; // L: 1109 - if (var0 != var2 && var28 < var26 || var0 == var2 && var27 > var26) { // L: 1110 - var1 -= var2; // L: 1111 - var2 -= var0; // L: 1112 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1113 - - while (true) { - --var2; // L: 1114 - if (var2 < 0) { - while (true) { - --var1; // L: 1124 - if (var1 < 0) { - return; // L: 1134 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1125 - var5 += var27; // L: 1126 - var3 += var26; // L: 1127 - var6 += var31; // L: 1128 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1129 - var32 += var34; // L: 1130 - var35 += var37; // L: 1131 - var38 += var40; // L: 1132 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1115 - var4 += var28; // L: 1116 - var3 += var26; // L: 1117 - var6 += var31; // L: 1118 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1119 - var32 += var34; // L: 1120 - var35 += var37; // L: 1121 - var38 += var40; // L: 1122 - } - } else { - var1 -= var2; // L: 1137 - var2 -= var0; // L: 1138 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1139 - - while (true) { - --var2; // L: 1140 - if (var2 < 0) { - while (true) { - --var1; // L: 1150 - if (var1 < 0) { - return; // L: 1160 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1151 - var5 += var27; // L: 1152 - var3 += var26; // L: 1153 - var6 += var31; // L: 1154 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1155 - var32 += var34; // L: 1156 - var35 += var37; // L: 1157 - var38 += var40; // L: 1158 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1141 - var4 += var28; // L: 1142 - var3 += var26; // L: 1143 - var6 += var31; // L: 1144 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1145 - var32 += var34; // L: 1146 - var35 += var37; // L: 1147 - var38 += var40; // L: 1148 - } - } - } - } - } else if (var1 <= var2) { // L: 1164 - if (var1 < Rasterizer3D_clipHeight) { // L: 1165 - if (var2 > Rasterizer3D_clipHeight) { // L: 1166 - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { // L: 1167 - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); // L: 1168 - if (var2 < var0) { // L: 1169 - var3 = var4 <<= 14; // L: 1170 - if (var1 < 0) { // L: 1171 - var3 -= var26 * var1; // L: 1172 - var4 -= var27 * var1; // L: 1173 - var7 -= var31 * var1; // L: 1174 - var1 = 0; // L: 1175 - } - - var5 <<= 14; // L: 1177 - if (var2 < 0) { // L: 1178 - var5 -= var28 * var2; // L: 1179 - var2 = 0; // L: 1180 - } - - var41 = var1 - Rasterizer3D_clipMidY; // L: 1182 - var32 += var34 * var41; // L: 1183 - var35 += var37 * var41; // L: 1184 - var38 += var40 * var41; // L: 1185 - if ((var2 == var1 || var26 >= var27) && (var2 != var1 || var26 <= var28)) { // L: 1186 - var0 -= var2; // L: 1213 - var2 -= var1; // L: 1214 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 1215 - - while (true) { - --var2; // L: 1216 - if (var2 < 0) { - while (true) { - --var0; // L: 1226 - if (var0 < 0) { - return; // L: 1236 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1227 - var3 += var26; // L: 1228 - var5 += var28; // L: 1229 - var7 += var31; // L: 1230 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1231 - var32 += var34; // L: 1232 - var35 += var37; // L: 1233 - var38 += var40; // L: 1234 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1217 - var3 += var26; // L: 1218 - var4 += var27; // L: 1219 - var7 += var31; // L: 1220 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1221 - var32 += var34; // L: 1222 - var35 += var37; // L: 1223 - var38 += var40; // L: 1224 - } - } else { - var0 -= var2; // L: 1187 - var2 -= var1; // L: 1188 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 1189 - - while (true) { - --var2; // L: 1190 - if (var2 < 0) { - while (true) { - --var0; // L: 1200 - if (var0 < 0) { - return; // L: 1210 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1201 - var3 += var26; // L: 1202 - var5 += var28; // L: 1203 - var7 += var31; // L: 1204 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1205 - var32 += var34; // L: 1206 - var35 += var37; // L: 1207 - var38 += var40; // L: 1208 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1191 - var3 += var26; // L: 1192 - var4 += var27; // L: 1193 - var7 += var31; // L: 1194 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1195 - var32 += var34; // L: 1196 - var35 += var37; // L: 1197 - var38 += var40; // L: 1198 - } - } - } else { - var5 = var4 <<= 14; // L: 1240 - if (var1 < 0) { // L: 1241 - var5 -= var26 * var1; // L: 1242 - var4 -= var27 * var1; // L: 1243 - var7 -= var31 * var1; // L: 1244 - var1 = 0; // L: 1245 - } - - var3 <<= 14; // L: 1247 - if (var0 < 0) { // L: 1248 - var3 -= var0 * var28; // L: 1249 - var0 = 0; // L: 1250 - } - - var41 = var1 - Rasterizer3D_clipMidY; // L: 1252 - var32 += var34 * var41; // L: 1253 - var35 += var37 * var41; // L: 1254 - var38 += var40 * var41; // L: 1255 - if (var26 < var27) { // L: 1256 - var2 -= var0; // L: 1257 - var0 -= var1; // L: 1258 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 1259 - - while (true) { - --var0; // L: 1260 - if (var0 < 0) { - while (true) { - --var2; // L: 1270 - if (var2 < 0) { - return; // L: 1280 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1271 - var3 += var28; // L: 1272 - var4 += var27; // L: 1273 - var7 += var31; // L: 1274 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1275 - var32 += var34; // L: 1276 - var35 += var37; // L: 1277 - var38 += var40; // L: 1278 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1261 - var5 += var26; // L: 1262 - var4 += var27; // L: 1263 - var7 += var31; // L: 1264 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1265 - var32 += var34; // L: 1266 - var35 += var37; // L: 1267 - var38 += var40; // L: 1268 - } - } else { - var2 -= var0; // L: 1283 - var0 -= var1; // L: 1284 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 1285 - - while (true) { - --var0; // L: 1286 - if (var0 < 0) { - while (true) { - --var2; // L: 1296 - if (var2 < 0) { - return; // L: 1306 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1297 - var3 += var28; // L: 1298 - var4 += var27; // L: 1299 - var7 += var31; // L: 1300 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1301 - var32 += var34; // L: 1302 - var35 += var37; // L: 1303 - var38 += var40; // L: 1304 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 1287 - var5 += var26; // L: 1288 - var4 += var27; // L: 1289 - var7 += var31; // L: 1290 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 1291 - var32 += var34; // L: 1292 - var35 += var37; // L: 1293 - var38 += var40; // L: 1294 - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { // L: 1311 - if (var0 > Rasterizer3D_clipHeight) { // L: 1312 - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { // L: 1313 - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; // L: 1314 - if (var0 < var1) { // L: 1315 - var4 = var5 <<= 14; // L: 1316 - if (var2 < 0) { // L: 1317 - var4 -= var27 * var2; // L: 1318 - var5 -= var28 * var2; // L: 1319 - var8 -= var31 * var2; // L: 1320 - var2 = 0; // L: 1321 - } - - var3 <<= 14; // L: 1323 - if (var0 < 0) { // L: 1324 - var3 -= var0 * var26; // L: 1325 - var0 = 0; // L: 1326 - } - - var41 = var2 - Rasterizer3D_clipMidY; // L: 1328 - var32 += var34 * var41; // L: 1329 - var35 += var37 * var41; // L: 1330 - var38 += var40 * var41; // L: 1331 - if (var27 < var28) { // L: 1332 - var1 -= var0; // L: 1333 - var0 -= var2; // L: 1334 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 1335 - - while (true) { - --var0; // L: 1336 - if (var0 < 0) { - while (true) { - --var1; // L: 1346 - if (var1 < 0) { - return; // L: 1356 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1347 - var4 += var27; // L: 1348 - var3 += var26; // L: 1349 - var8 += var31; // L: 1350 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1351 - var32 += var34; // L: 1352 - var35 += var37; // L: 1353 - var38 += var40; // L: 1354 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1337 - var4 += var27; // L: 1338 - var5 += var28; // L: 1339 - var8 += var31; // L: 1340 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1341 - var32 += var34; // L: 1342 - var35 += var37; // L: 1343 - var38 += var40; // L: 1344 - } - } else { - var1 -= var0; // L: 1359 - var0 -= var2; // L: 1360 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 1361 - - while (true) { - --var0; // L: 1362 - if (var0 < 0) { - while (true) { - --var1; // L: 1372 - if (var1 < 0) { - return; // L: 1382 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1373 - var4 += var27; // L: 1374 - var3 += var26; // L: 1375 - var8 += var31; // L: 1376 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1377 - var32 += var34; // L: 1378 - var35 += var37; // L: 1379 - var38 += var40; // L: 1380 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1363 - var4 += var27; // L: 1364 - var5 += var28; // L: 1365 - var8 += var31; // L: 1366 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1367 - var32 += var34; // L: 1368 - var35 += var37; // L: 1369 - var38 += var40; // L: 1370 - } - } - } else { - var3 = var5 <<= 14; // L: 1386 - if (var2 < 0) { // L: 1387 - var3 -= var27 * var2; // L: 1388 - var5 -= var28 * var2; // L: 1389 - var8 -= var31 * var2; // L: 1390 - var2 = 0; // L: 1391 - } - - var4 <<= 14; // L: 1393 - if (var1 < 0) { // L: 1394 - var4 -= var26 * var1; // L: 1395 - var1 = 0; // L: 1396 - } - - var41 = var2 - Rasterizer3D_clipMidY; // L: 1398 - var32 += var34 * var41; // L: 1399 - var35 += var37 * var41; // L: 1400 - var38 += var40 * var41; // L: 1401 - if (var27 < var28) { // L: 1402 - var0 -= var1; // L: 1403 - var1 -= var2; // L: 1404 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 1405 - - while (true) { - --var1; // L: 1406 - if (var1 < 0) { - while (true) { - --var0; // L: 1416 - if (var0 < 0) { - return; // L: 1426 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1417 - var4 += var26; // L: 1418 - var5 += var28; // L: 1419 - var8 += var31; // L: 1420 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1421 - var32 += var34; // L: 1422 - var35 += var37; // L: 1423 - var38 += var40; // L: 1424 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1407 - var3 += var27; // L: 1408 - var5 += var28; // L: 1409 - var8 += var31; // L: 1410 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1411 - var32 += var34; // L: 1412 - var35 += var37; // L: 1413 - var38 += var40; // L: 1414 - } - } else { - var0 -= var1; // L: 1429 - var1 -= var2; // L: 1430 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 1431 - - while (true) { - --var1; // L: 1432 - if (var1 < 0) { - while (true) { - --var0; // L: 1442 - if (var0 < 0) { - return; // L: 1452 - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1443 - var4 += var26; // L: 1444 - var5 += var28; // L: 1445 - var8 += var31; // L: 1446 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1447 - var32 += var34; // L: 1448 - var35 += var37; // L: 1449 - var38 += var40; // L: 1450 - } - } - - Rasterizer3D_iDontKnow(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 1433 - var3 += var27; // L: 1434 - var5 += var28; // L: 1435 - var8 += var31; // L: 1436 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 1437 - var32 += var34; // L: 1438 - var35 += var37; // L: 1439 - var38 += var40; // L: 1440 - } - } - } - } - } - } - } // L: 983 - - @ObfuscatedName("i") - @Export("Rasterizer3D_iDontKnow") - static final void Rasterizer3D_iDontKnow(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) { - if (field1791) { // L: 1461 - if (var6 > Rasterizer3D_clipWidth) { // L: 1462 - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { // L: 1463 - var5 = 0; - } - } - - if (var5 < var6) { // L: 1465 - var4 += var5; // L: 1466 - var7 += var5 * var8; // L: 1467 - int var17 = var6 - var5; // L: 1468 - int var15; - int var16; - int var10000; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - if (Rasterizer3D_isLowDetailTexture) { // L: 1469 - var23 = var5 - Rasterizer3D_clipMidX; // L: 1475 - var9 += var23 * (var12 >> 3); // L: 1476 - var10 += (var13 >> 3) * var23; // L: 1477 - var11 += var23 * (var14 >> 3); // L: 1478 - var22 = var11 >> 12; // L: 1479 - if (var22 != 0) { // L: 1480 - var18 = var9 / var22; // L: 1481 - var19 = var10 / var22; // L: 1482 - if (var18 < 0) { // L: 1483 - var18 = 0; - } else if (var18 > 4032) { // L: 1484 - var18 = 4032; - } - } else { - var18 = 0; // L: 1487 - var19 = 0; // L: 1488 - } - - var9 += var12; // L: 1490 - var10 += var13; // L: 1491 - var11 += var14; // L: 1492 - var22 = var11 >> 12; // L: 1493 - if (var22 != 0) { // L: 1494 - var20 = var9 / var22; // L: 1495 - var21 = var10 / var22; // L: 1496 - if (var20 < 0) { // L: 1497 - var20 = 0; - } else if (var20 > 4032) { // L: 1498 - var20 = 4032; - } - } else { - var20 = 0; // L: 1501 - var21 = 0; // L: 1502 - } - - var2 = (var18 << 20) + var19; // L: 1504 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1505 - var17 >>= 3; // L: 1506 - var8 <<= 3; // L: 1507 - var15 = var7 >> 8; // L: 1508 - if (field1779) { // L: 1509 - if (var17 > 0) { // L: 1510 - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1512 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1513 - var2 += var16; // L: 1514 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1515 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1516 - var2 += var16; // L: 1517 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1518 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1519 - var2 += var16; // L: 1520 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1521 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1522 - var2 += var16; // L: 1523 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1524 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1525 - var2 += var16; // L: 1526 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1527 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1528 - var2 += var16; // L: 1529 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1530 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1531 - var2 += var16; // L: 1532 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1533 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1534 - var10000 = var16 + var2; // L: 1535 - var18 = var20; // L: 1536 - var19 = var21; // L: 1537 - var9 += var12; // L: 1538 - var10 += var13; // L: 1539 - var11 += var14; // L: 1540 - var22 = var11 >> 12; // L: 1541 - if (var22 != 0) { // L: 1542 - var20 = var9 / var22; // L: 1543 - var21 = var10 / var22; // L: 1544 - if (var20 < 0) { // L: 1545 - var20 = 0; - } else if (var20 > 4032) { // L: 1546 - var20 = 4032; - } - } else { - var20 = 0; // L: 1549 - var21 = 0; // L: 1550 - } - - var2 = (var18 << 20) + var19; // L: 1552 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1553 - var7 += var8; // L: 1554 - var15 = var7 >> 8; // L: 1555 - --var17; // L: 1556 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 1558 - if (var17 > 0) { // L: 1559 - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 1561 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1562 - var2 += var16; // L: 1563 - --var17; // L: 1564 - } while(var17 > 0); - } - } else { - if (var17 > 0) { // L: 1568 - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1570 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1571 - } - - ++var4; // L: 1573 - var2 += var16; // L: 1574 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1575 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1576 - } - - ++var4; // L: 1578 - var2 += var16; // L: 1579 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1580 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1581 - } - - ++var4; // L: 1583 - var2 += var16; // L: 1584 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1585 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1586 - } - - ++var4; // L: 1588 - var2 += var16; // L: 1589 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1590 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1591 - } - - ++var4; // L: 1593 - var2 += var16; // L: 1594 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1595 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1596 - } - - ++var4; // L: 1598 - var2 += var16; // L: 1599 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1600 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1601 - } - - ++var4; // L: 1603 - var2 += var16; // L: 1604 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1605 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1606 - } - - ++var4; // L: 1608 - var10000 = var16 + var2; // L: 1609 - var18 = var20; // L: 1610 - var19 = var21; // L: 1611 - var9 += var12; // L: 1612 - var10 += var13; // L: 1613 - var11 += var14; // L: 1614 - var22 = var11 >> 12; // L: 1615 - if (var22 != 0) { // L: 1616 - var20 = var9 / var22; // L: 1617 - var21 = var10 / var22; // L: 1618 - if (var20 < 0) { // L: 1619 - var20 = 0; - } else if (var20 > 4032) { // L: 1620 - var20 = 4032; - } - } else { - var20 = 0; // L: 1623 - var21 = 0; // L: 1624 - } - - var2 = (var18 << 20) + var19; // L: 1626 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); // L: 1627 - var7 += var8; // L: 1628 - var15 = var7 >> 8; // L: 1629 - --var17; // L: 1630 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 1632 - if (var17 > 0) { // L: 1633 - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 1635 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1636 - } - - ++var4; // L: 1638 - var2 += var16; // L: 1639 - --var17; // L: 1640 - } while(var17 > 0); - } - } - } else { - var23 = var5 - Rasterizer3D_clipMidX; // L: 1650 - var9 += var23 * (var12 >> 3); // L: 1651 - var10 += (var13 >> 3) * var23; // L: 1652 - var11 += var23 * (var14 >> 3); // L: 1653 - var22 = var11 >> 14; // L: 1654 - if (var22 != 0) { // L: 1655 - var18 = var9 / var22; // L: 1656 - var19 = var10 / var22; // L: 1657 - if (var18 < 0) { // L: 1658 - var18 = 0; - } else if (var18 > 16256) { // L: 1659 - var18 = 16256; - } - } else { - var18 = 0; // L: 1662 - var19 = 0; // L: 1663 - } - - var9 += var12; // L: 1665 - var10 += var13; // L: 1666 - var11 += var14; // L: 1667 - var22 = var11 >> 14; // L: 1668 - if (var22 != 0) { // L: 1669 - var20 = var9 / var22; // L: 1670 - var21 = var10 / var22; // L: 1671 - if (var20 < 0) { // L: 1672 - var20 = 0; - } else if (var20 > 16256) { // L: 1673 - var20 = 16256; - } - } else { - var20 = 0; // L: 1676 - var21 = 0; // L: 1677 - } - - var2 = (var18 << 18) + var19; // L: 1679 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1680 - var17 >>= 3; // L: 1681 - var8 <<= 3; // L: 1682 - var15 = var7 >> 8; // L: 1683 - if (field1779) { // L: 1684 - if (var17 > 0) { // L: 1685 - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1687 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1688 - var2 += var16; // L: 1689 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1690 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1691 - var2 += var16; // L: 1692 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1693 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1694 - var2 += var16; // L: 1695 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1696 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1697 - var2 += var16; // L: 1698 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1699 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1700 - var2 += var16; // L: 1701 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1702 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1703 - var2 += var16; // L: 1704 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1705 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1706 - var2 += var16; // L: 1707 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1708 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1709 - var10000 = var16 + var2; // L: 1710 - var18 = var20; // L: 1711 - var19 = var21; // L: 1712 - var9 += var12; // L: 1713 - var10 += var13; // L: 1714 - var11 += var14; // L: 1715 - var22 = var11 >> 14; // L: 1716 - if (var22 != 0) { // L: 1717 - var20 = var9 / var22; // L: 1718 - var21 = var10 / var22; // L: 1719 - if (var20 < 0) { // L: 1720 - var20 = 0; - } else if (var20 > 16256) { // L: 1721 - var20 = 16256; - } - } else { - var20 = 0; // L: 1724 - var21 = 0; // L: 1725 - } - - var2 = (var18 << 18) + var19; // L: 1727 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1728 - var7 += var8; // L: 1729 - var15 = var7 >> 8; // L: 1730 - --var17; // L: 1731 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 1733 - if (var17 > 0) { // L: 1734 - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 1736 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1737 - var2 += var16; // L: 1738 - --var17; // L: 1739 - } while(var17 > 0); - } - } else { - if (var17 > 0) { // L: 1743 - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1745 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1746 - } - - ++var4; // L: 1748 - var2 += var16; // L: 1749 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1750 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1751 - } - - ++var4; // L: 1753 - var2 += var16; // L: 1754 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1755 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1756 - } - - ++var4; // L: 1758 - var2 += var16; // L: 1759 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1760 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1761 - } - - ++var4; // L: 1763 - var2 += var16; // L: 1764 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1765 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1766 - } - - ++var4; // L: 1768 - var2 += var16; // L: 1769 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1770 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1771 - } - - ++var4; // L: 1773 - var2 += var16; // L: 1774 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1775 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1776 - } - - ++var4; // L: 1778 - var2 += var16; // L: 1779 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1780 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1781 - } - - ++var4; // L: 1783 - var10000 = var16 + var2; // L: 1784 - var18 = var20; // L: 1785 - var19 = var21; // L: 1786 - var9 += var12; // L: 1787 - var10 += var13; // L: 1788 - var11 += var14; // L: 1789 - var22 = var11 >> 14; // L: 1790 - if (var22 != 0) { // L: 1791 - var20 = var9 / var22; // L: 1792 - var21 = var10 / var22; // L: 1793 - if (var20 < 0) { // L: 1794 - var20 = 0; - } else if (var20 > 16256) { // L: 1795 - var20 = 16256; - } - } else { - var20 = 0; // L: 1798 - var21 = 0; // L: 1799 - } - - var2 = (var18 << 18) + var19; // L: 1801 - var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); // L: 1802 - var7 += var8; // L: 1803 - var15 = var7 >> 8; // L: 1804 - --var17; // L: 1805 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 1807 - if (var17 > 0) { // L: 1808 - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 1810 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 1811 - } - - ++var4; // L: 1813 - var2 += var16; // L: 1814 - --var17; // L: 1815 - } while(var17 > 0); - } - } - } - - } - } // L: 1819 - - @ObfuscatedName("f") - @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); // L: 1822 - int var20; - if (var19 == null) { // L: 1823 - var20 = Rasterizer3D_textureLoader.getAverageTextureRGB(var18); // L: 1824 - method3079(var0, var1, var2, var3, var4, var5, method3072(var20, var6), method3072(var20, var7), method3072(var20, var8)); // L: 1825 - } else { - Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); // L: 1828 - field1779 = Rasterizer3D_textureLoader.vmethod3359(var18); // L: 1829 - var20 = var4 - var3; // L: 1830 - int var21 = var1 - var0; // L: 1831 - int var22 = var5 - var3; // L: 1832 - int var23 = var2 - var0; // L: 1833 - int var24 = var7 - var6; // L: 1834 - int var25 = var8 - var6; // L: 1835 - int var26 = 0; // L: 1836 - if (var0 != var1) { // L: 1837 - var26 = (var4 - var3 << 14) / (var1 - var0); - } - - int var27 = 0; // L: 1838 - if (var2 != var1) { // L: 1839 - var27 = (var5 - var4 << 14) / (var2 - var1); - } - - int var28 = 0; // L: 1840 - if (var0 != var2) { // L: 1841 - var28 = (var3 - var5 << 14) / (var0 - var2); - } - - int var29 = var20 * var23 - var22 * var21; // L: 1842 - if (var29 != 0) { // L: 1843 - int var30 = (var24 * var23 - var25 * var21 << 9) / var29; // L: 1844 - int var31 = (var25 * var20 - var24 * var22 << 9) / var29; // L: 1845 - var10 = var9 - var10; // L: 1846 - var13 = var12 - var13; // L: 1847 - var16 = var15 - var16; // L: 1848 - var11 -= var9; // L: 1849 - var14 -= var12; // L: 1850 - var17 -= var15; // L: 1851 - int var32 = var11 * var12 - var9 * var14 << 14; // L: 1852 - int var33 = (int)(((long)(var15 * var14 - var17 * var12) << 14) / (long)Rasterizer3D_zoom); // L: 1853 - int var34 = (int)(((long)(var17 * var9 - var11 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1854 - int var35 = var10 * var12 - var13 * var9 << 14; // L: 1855 - int var36 = (int)(((long)(var13 * var15 - var16 * var12) << 14) / (long)Rasterizer3D_zoom); // L: 1856 - int var37 = (int)(((long)(var16 * var9 - var10 * var15) << 14) / (long)Rasterizer3D_zoom); // L: 1857 - int var38 = var13 * var11 - var10 * var14 << 14; // L: 1858 - int var39 = (int)(((long)(var16 * var14 - var13 * var17) << 14) / (long)Rasterizer3D_zoom); // L: 1859 - int var40 = (int)(((long)(var17 * var10 - var11 * var16) << 14) / (long)Rasterizer3D_zoom); // L: 1860 - int var41; - if (var0 <= var1 && var0 <= var2) { // L: 1861 - if (var0 < Rasterizer3D_clipHeight) { // L: 1862 - if (var1 > Rasterizer3D_clipHeight) { // L: 1863 - var1 = Rasterizer3D_clipHeight; - } - - if (var2 > Rasterizer3D_clipHeight) { // L: 1864 - var2 = Rasterizer3D_clipHeight; - } - - var6 = var30 + ((var6 << 9) - var3 * var30); // L: 1865 - if (var1 < var2) { // L: 1866 - var5 = var3 <<= 14; // L: 1867 - if (var0 < 0) { // L: 1868 - var5 -= var0 * var28; // L: 1869 - var3 -= var0 * var26; // L: 1870 - var6 -= var0 * var31; // L: 1871 - var0 = 0; // L: 1872 - } - - var4 <<= 14; // L: 1874 - if (var1 < 0) { // L: 1875 - var4 -= var27 * var1; // L: 1876 - var1 = 0; // L: 1877 - } - - var41 = var0 - Rasterizer3D_clipMidY; // L: 1879 - var32 += var34 * var41; // L: 1880 - var35 += var37 * var41; // L: 1881 - var38 += var40 * var41; // L: 1882 - if ((var0 == var1 || var28 >= var26) && (var0 != var1 || var28 <= var27)) { // L: 1883 - var2 -= var1; // L: 1910 - var1 -= var0; // L: 1911 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1912 - - while (true) { - --var1; // L: 1913 - if (var1 < 0) { - while (true) { - --var2; // L: 1923 - if (var2 < 0) { - return; // L: 1933 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1924 - var5 += var28; // L: 1925 - var4 += var27; // L: 1926 - var6 += var31; // L: 1927 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1928 - var32 += var34; // L: 1929 - var35 += var37; // L: 1930 - var38 += var40; // L: 1931 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1914 - var5 += var28; // L: 1915 - var3 += var26; // L: 1916 - var6 += var31; // L: 1917 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1918 - var32 += var34; // L: 1919 - var35 += var37; // L: 1920 - var38 += var40; // L: 1921 - } - } else { - var2 -= var1; // L: 1884 - var1 -= var0; // L: 1885 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1886 - - while (true) { - --var1; // L: 1887 - if (var1 < 0) { - while (true) { - --var2; // L: 1897 - if (var2 < 0) { - return; // L: 1907 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1898 - var5 += var28; // L: 1899 - var4 += var27; // L: 1900 - var6 += var31; // L: 1901 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1902 - var32 += var34; // L: 1903 - var35 += var37; // L: 1904 - var38 += var40; // L: 1905 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1888 - var5 += var28; // L: 1889 - var3 += var26; // L: 1890 - var6 += var31; // L: 1891 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1892 - var32 += var34; // L: 1893 - var35 += var37; // L: 1894 - var38 += var40; // L: 1895 - } - } - } else { - var4 = var3 <<= 14; // L: 1937 - if (var0 < 0) { // L: 1938 - var4 -= var0 * var28; // L: 1939 - var3 -= var0 * var26; // L: 1940 - var6 -= var0 * var31; // L: 1941 - var0 = 0; // L: 1942 - } - - var5 <<= 14; // L: 1944 - if (var2 < 0) { // L: 1945 - var5 -= var27 * var2; // L: 1946 - var2 = 0; // L: 1947 - } - - var41 = var0 - Rasterizer3D_clipMidY; // L: 1949 - var32 += var34 * var41; // L: 1950 - var35 += var37 * var41; // L: 1951 - var38 += var40 * var41; // L: 1952 - if ((var0 == var2 || var28 >= var26) && (var0 != var2 || var27 <= var26)) { // L: 1953 - var1 -= var2; // L: 1980 - var2 -= var0; // L: 1981 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1982 - - while (true) { - --var2; // L: 1983 - if (var2 < 0) { - while (true) { - --var1; // L: 1993 - if (var1 < 0) { - return; // L: 2003 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var5 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1994 - var5 += var27; // L: 1995 - var3 += var26; // L: 1996 - var6 += var31; // L: 1997 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1998 - var32 += var34; // L: 1999 - var35 += var37; // L: 2000 - var38 += var40; // L: 2001 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var3 >> 14, var4 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1984 - var4 += var28; // L: 1985 - var3 += var26; // L: 1986 - var6 += var31; // L: 1987 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1988 - var32 += var34; // L: 1989 - var35 += var37; // L: 1990 - var38 += var40; // L: 1991 - } - } else { - var1 -= var2; // L: 1954 - var2 -= var0; // L: 1955 - var0 = Rasterizer3D_rowOffsets[var0]; // L: 1956 - - while (true) { - --var2; // L: 1957 - if (var2 < 0) { - while (true) { - --var1; // L: 1967 - if (var1 < 0) { - return; // L: 1977 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var5 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1968 - var5 += var27; // L: 1969 - var3 += var26; // L: 1970 - var6 += var31; // L: 1971 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1972 - var32 += var34; // L: 1973 - var35 += var37; // L: 1974 - var38 += var40; // L: 1975 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var0, var4 >> 14, var3 >> 14, var6, var30, var32, var35, var38, var33, var36, var39); // L: 1958 - var4 += var28; // L: 1959 - var3 += var26; // L: 1960 - var6 += var31; // L: 1961 - var0 += Rasterizer2D.Rasterizer2D_width; // L: 1962 - var32 += var34; // L: 1963 - var35 += var37; // L: 1964 - var38 += var40; // L: 1965 - } - } - } - } - } else if (var1 <= var2) { // L: 2007 - if (var1 < Rasterizer3D_clipHeight) { // L: 2008 - if (var2 > Rasterizer3D_clipHeight) { // L: 2009 - var2 = Rasterizer3D_clipHeight; - } - - if (var0 > Rasterizer3D_clipHeight) { // L: 2010 - var0 = Rasterizer3D_clipHeight; - } - - var7 = var30 + ((var7 << 9) - var30 * var4); // L: 2011 - if (var2 < var0) { // L: 2012 - var3 = var4 <<= 14; // L: 2013 - if (var1 < 0) { // L: 2014 - var3 -= var26 * var1; // L: 2015 - var4 -= var27 * var1; // L: 2016 - var7 -= var31 * var1; // L: 2017 - var1 = 0; // L: 2018 - } - - var5 <<= 14; // L: 2020 - if (var2 < 0) { // L: 2021 - var5 -= var28 * var2; // L: 2022 - var2 = 0; // L: 2023 - } - - var41 = var1 - Rasterizer3D_clipMidY; // L: 2025 - var32 += var34 * var41; // L: 2026 - var35 += var37 * var41; // L: 2027 - var38 += var40 * var41; // L: 2028 - if (var2 != var1 && var26 < var27 || var2 == var1 && var26 > var28) { // L: 2029 - var0 -= var2; // L: 2030 - var2 -= var1; // L: 2031 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 2032 - - while (true) { - --var2; // L: 2033 - if (var2 < 0) { - while (true) { - --var0; // L: 2043 - if (var0 < 0) { - return; // L: 2053 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2044 - var3 += var26; // L: 2045 - var5 += var28; // L: 2046 - var7 += var31; // L: 2047 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2048 - var32 += var34; // L: 2049 - var35 += var37; // L: 2050 - var38 += var40; // L: 2051 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2034 - var3 += var26; // L: 2035 - var4 += var27; // L: 2036 - var7 += var31; // L: 2037 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2038 - var32 += var34; // L: 2039 - var35 += var37; // L: 2040 - var38 += var40; // L: 2041 - } - } else { - var0 -= var2; // L: 2056 - var2 -= var1; // L: 2057 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 2058 - - while (true) { - --var2; // L: 2059 - if (var2 < 0) { - while (true) { - --var0; // L: 2069 - if (var0 < 0) { - return; // L: 2079 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2070 - var3 += var26; // L: 2071 - var5 += var28; // L: 2072 - var7 += var31; // L: 2073 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2074 - var32 += var34; // L: 2075 - var35 += var37; // L: 2076 - var38 += var40; // L: 2077 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2060 - var3 += var26; // L: 2061 - var4 += var27; // L: 2062 - var7 += var31; // L: 2063 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2064 - var32 += var34; // L: 2065 - var35 += var37; // L: 2066 - var38 += var40; // L: 2067 - } - } - } else { - var5 = var4 <<= 14; // L: 2083 - if (var1 < 0) { // L: 2084 - var5 -= var26 * var1; // L: 2085 - var4 -= var27 * var1; // L: 2086 - var7 -= var31 * var1; // L: 2087 - var1 = 0; // L: 2088 - } - - var3 <<= 14; // L: 2090 - if (var0 < 0) { // L: 2091 - var3 -= var0 * var28; // L: 2092 - var0 = 0; // L: 2093 - } - - var41 = var1 - Rasterizer3D_clipMidY; // L: 2095 - var32 += var34 * var41; // L: 2096 - var35 += var37 * var41; // L: 2097 - var38 += var40 * var41; // L: 2098 - if (var26 < var27) { // L: 2099 - var2 -= var0; // L: 2100 - var0 -= var1; // L: 2101 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 2102 - - while (true) { - --var0; // L: 2103 - if (var0 < 0) { - while (true) { - --var2; // L: 2113 - if (var2 < 0) { - return; // L: 2123 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var3 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2114 - var3 += var28; // L: 2115 - var4 += var27; // L: 2116 - var7 += var31; // L: 2117 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2118 - var32 += var34; // L: 2119 - var35 += var37; // L: 2120 - var38 += var40; // L: 2121 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var5 >> 14, var4 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2104 - var5 += var26; // L: 2105 - var4 += var27; // L: 2106 - var7 += var31; // L: 2107 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2108 - var32 += var34; // L: 2109 - var35 += var37; // L: 2110 - var38 += var40; // L: 2111 - } - } else { - var2 -= var0; // L: 2126 - var0 -= var1; // L: 2127 - var1 = Rasterizer3D_rowOffsets[var1]; // L: 2128 - - while (true) { - --var0; // L: 2129 - if (var0 < 0) { - while (true) { - --var2; // L: 2139 - if (var2 < 0) { - return; // L: 2149 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var3 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2140 - var3 += var28; // L: 2141 - var4 += var27; // L: 2142 - var7 += var31; // L: 2143 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2144 - var32 += var34; // L: 2145 - var35 += var37; // L: 2146 - var38 += var40; // L: 2147 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var1, var4 >> 14, var5 >> 14, var7, var30, var32, var35, var38, var33, var36, var39); // L: 2130 - var5 += var26; // L: 2131 - var4 += var27; // L: 2132 - var7 += var31; // L: 2133 - var1 += Rasterizer2D.Rasterizer2D_width; // L: 2134 - var32 += var34; // L: 2135 - var35 += var37; // L: 2136 - var38 += var40; // L: 2137 - } - } - } - } - } else if (var2 < Rasterizer3D_clipHeight) { // L: 2154 - if (var0 > Rasterizer3D_clipHeight) { // L: 2155 - var0 = Rasterizer3D_clipHeight; - } - - if (var1 > Rasterizer3D_clipHeight) { // L: 2156 - var1 = Rasterizer3D_clipHeight; - } - - var8 = (var8 << 9) - var5 * var30 + var30; // L: 2157 - if (var0 < var1) { // L: 2158 - var4 = var5 <<= 14; // L: 2159 - if (var2 < 0) { // L: 2160 - var4 -= var27 * var2; // L: 2161 - var5 -= var28 * var2; // L: 2162 - var8 -= var31 * var2; // L: 2163 - var2 = 0; // L: 2164 - } - - var3 <<= 14; // L: 2166 - if (var0 < 0) { // L: 2167 - var3 -= var0 * var26; // L: 2168 - var0 = 0; // L: 2169 - } - - var41 = var2 - Rasterizer3D_clipMidY; // L: 2171 - var32 += var34 * var41; // L: 2172 - var35 += var37 * var41; // L: 2173 - var38 += var40 * var41; // L: 2174 - if (var27 < var28) { // L: 2175 - var1 -= var0; // L: 2176 - var0 -= var2; // L: 2177 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 2178 - - while (true) { - --var0; // L: 2179 - if (var0 < 0) { - while (true) { - --var1; // L: 2189 - if (var1 < 0) { - return; // L: 2199 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2190 - var4 += var27; // L: 2191 - var3 += var26; // L: 2192 - var8 += var31; // L: 2193 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2194 - var32 += var34; // L: 2195 - var35 += var37; // L: 2196 - var38 += var40; // L: 2197 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2180 - var4 += var27; // L: 2181 - var5 += var28; // L: 2182 - var8 += var31; // L: 2183 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2184 - var32 += var34; // L: 2185 - var35 += var37; // L: 2186 - var38 += var40; // L: 2187 - } - } else { - var1 -= var0; // L: 2202 - var0 -= var2; // L: 2203 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 2204 - - while (true) { - --var0; // L: 2205 - if (var0 < 0) { - while (true) { - --var1; // L: 2215 - if (var1 < 0) { - return; // L: 2225 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2216 - var4 += var27; // L: 2217 - var3 += var26; // L: 2218 - var8 += var31; // L: 2219 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2220 - var32 += var34; // L: 2221 - var35 += var37; // L: 2222 - var38 += var40; // L: 2223 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2206 - var4 += var27; // L: 2207 - var5 += var28; // L: 2208 - var8 += var31; // L: 2209 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2210 - var32 += var34; // L: 2211 - var35 += var37; // L: 2212 - var38 += var40; // L: 2213 - } - } - } else { - var3 = var5 <<= 14; // L: 2229 - if (var2 < 0) { // L: 2230 - var3 -= var27 * var2; // L: 2231 - var5 -= var28 * var2; // L: 2232 - var8 -= var31 * var2; // L: 2233 - var2 = 0; // L: 2234 - } - - var4 <<= 14; // L: 2236 - if (var1 < 0) { // L: 2237 - var4 -= var26 * var1; // L: 2238 - var1 = 0; // L: 2239 - } - - var41 = var2 - Rasterizer3D_clipMidY; // L: 2241 - var32 += var34 * var41; // L: 2242 - var35 += var37 * var41; // L: 2243 - var38 += var40 * var41; // L: 2244 - if (var27 < var28) { // L: 2245 - var0 -= var1; // L: 2246 - var1 -= var2; // L: 2247 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 2248 - - while (true) { - --var1; // L: 2249 - if (var1 < 0) { - while (true) { - --var0; // L: 2259 - if (var0 < 0) { - return; // L: 2269 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var4 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2260 - var4 += var26; // L: 2261 - var5 += var28; // L: 2262 - var8 += var31; // L: 2263 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2264 - var32 += var34; // L: 2265 - var35 += var37; // L: 2266 - var38 += var40; // L: 2267 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var3 >> 14, var5 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2250 - var3 += var27; // L: 2251 - var5 += var28; // L: 2252 - var8 += var31; // L: 2253 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2254 - var32 += var34; // L: 2255 - var35 += var37; // L: 2256 - var38 += var40; // L: 2257 - } - } else { - var0 -= var1; // L: 2272 - var1 -= var2; // L: 2273 - var2 = Rasterizer3D_rowOffsets[var2]; // L: 2274 - - while (true) { - --var1; // L: 2275 - if (var1 < 0) { - while (true) { - --var0; // L: 2285 - if (var0 < 0) { - return; // L: 2295 - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var4 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2286 - var4 += var26; // L: 2287 - var5 += var28; // L: 2288 - var8 += var31; // L: 2289 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2290 - var32 += var34; // L: 2291 - var35 += var37; // L: 2292 - var38 += var40; // L: 2293 - } - } - - Rasterizer3D_textureAlpha(Rasterizer2D.Rasterizer2D_pixels, var19, 0, 0, var2, var5 >> 14, var3 >> 14, var8, var30, var32, var35, var38, var33, var36, var39); // L: 2276 - var3 += var27; // L: 2277 - var5 += var28; // L: 2278 - var8 += var31; // L: 2279 - var2 += Rasterizer2D.Rasterizer2D_width; // L: 2280 - var32 += var34; // L: 2281 - var35 += var37; // L: 2282 - var38 += var40; // L: 2283 - } - } - } - } - } - } - } // L: 1826 - - @ObfuscatedName("y") - @Export("Rasterizer3D_textureAlpha") - static final void Rasterizer3D_textureAlpha(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) { - if (field1791) { // L: 2304 - if (var6 > Rasterizer3D_clipWidth) { // L: 2305 - var6 = Rasterizer3D_clipWidth; - } - - if (var5 < 0) { // L: 2306 - var5 = 0; - } - } - - if (var5 < var6) { // L: 2308 - var4 += var5; // L: 2309 - var7 += var5 * var8; // L: 2310 - int var17 = var6 - var5; // L: 2311 - int var15; - int var16; - int var18; - int var19; - int var20; - int var21; - int var22; - int var23; - if (Rasterizer3D_isLowDetailTexture) { // L: 2312 - var23 = var5 - Rasterizer3D_clipMidX; // L: 2319 - var9 += var23 * var12; // L: 2320 - var10 += var13 * var23; // L: 2321 - var11 += var23 * var14; // L: 2322 - var22 = var11 >> 12; // L: 2323 - if (var22 != 0) { // L: 2324 - var18 = var9 / var22; // L: 2325 - var19 = var10 / var22; // L: 2326 - } else { - var18 = 0; // L: 2329 - var19 = 0; // L: 2330 - } - - var9 += var17 * var12; // L: 2332 - var10 += var13 * var17; // L: 2333 - var11 += var17 * var14; // L: 2334 - var22 = var11 >> 12; // L: 2335 - if (var22 != 0) { // L: 2336 - var20 = var9 / var22; // L: 2337 - var21 = var10 / var22; // L: 2338 - } else { - var20 = 0; // L: 2341 - var21 = 0; // L: 2342 - } - - var2 = (var18 << 20) + var19; // L: 2344 - var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 20); // L: 2345 - var17 >>= 3; // L: 2346 - var8 <<= 3; // L: 2347 - var15 = var7 >> 8; // L: 2348 - if (field1779) { // L: 2350 - if (var17 > 0) { // L: 2351 - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2353 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2354 - var2 += var16; // L: 2355 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2356 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2357 - var2 += var16; // L: 2358 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2359 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2360 - var2 += var16; // L: 2361 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2362 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2363 - var2 += var16; // L: 2364 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2365 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2366 - var2 += var16; // L: 2367 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2368 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2369 - var2 += var16; // L: 2370 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2371 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2372 - var2 += var16; // L: 2373 - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2374 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2375 - var2 += var16; // L: 2376 - var7 += var8; // L: 2377 - var15 = var7 >> 8; // L: 2378 - --var17; // L: 2379 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 2381 - if (var17 > 0) { // L: 2382 - do { - var3 = var1[(var2 >>> 26) + (var2 & 4032)]; // L: 2384 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2385 - var2 += var16; // L: 2386 - --var17; // L: 2387 - } while(var17 > 0); - } - } else { - if (var17 > 0) { // L: 2391 - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2393 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2394 - } - - ++var4; // L: 2396 - var2 += var16; // L: 2397 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2398 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2399 - } - - ++var4; // L: 2401 - var2 += var16; // L: 2402 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2403 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2404 - } - - ++var4; // L: 2406 - var2 += var16; // L: 2407 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2408 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2409 - } - - ++var4; // L: 2411 - var2 += var16; // L: 2412 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2413 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2414 - } - - ++var4; // L: 2416 - var2 += var16; // L: 2417 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2418 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2419 - } - - ++var4; // L: 2421 - var2 += var16; // L: 2422 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2423 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2424 - } - - ++var4; // L: 2426 - var2 += var16; // L: 2427 - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2428 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2429 - } - - ++var4; // L: 2431 - var2 += var16; // L: 2432 - var7 += var8; // L: 2433 - var15 = var7 >> 8; // L: 2434 - --var17; // L: 2435 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 2437 - if (var17 > 0) { // L: 2438 - do { - if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { // L: 2440 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2441 - } - - ++var4; // L: 2443 - var2 += var16; // L: 2444 - --var17; // L: 2445 - } while(var17 > 0); - } - } - } else { - var23 = var5 - Rasterizer3D_clipMidX; // L: 2456 - var9 += var23 * var12; // L: 2457 - var10 += var13 * var23; // L: 2458 - var11 += var23 * var14; // L: 2459 - var22 = var11 >> 14; // L: 2460 - if (var22 != 0) { // L: 2461 - var18 = var9 / var22; // L: 2462 - var19 = var10 / var22; // L: 2463 - } else { - var18 = 0; // L: 2466 - var19 = 0; // L: 2467 - } - - var9 += var17 * var12; // L: 2469 - var10 += var13 * var17; // L: 2470 - var11 += var17 * var14; // L: 2471 - var22 = var11 >> 14; // L: 2472 - if (var22 != 0) { // L: 2473 - var20 = var9 / var22; // L: 2474 - var21 = var10 / var22; // L: 2475 - } else { - var20 = 0; // L: 2478 - var21 = 0; // L: 2479 - } - - var2 = (var18 << 18) + var19; // L: 2481 - var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 18); // L: 2482 - var17 >>= 3; // L: 2483 - var8 <<= 3; // L: 2484 - var15 = var7 >> 8; // L: 2485 - if (field1779) { // L: 2487 - if (var17 > 0) { // L: 2488 - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2490 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2491 - var2 += var16; // L: 2492 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2493 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2494 - var2 += var16; // L: 2495 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2496 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2497 - var2 += var16; // L: 2498 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2499 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2500 - var2 += var16; // L: 2501 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2502 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2503 - var2 += var16; // L: 2504 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2505 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2506 - var2 += var16; // L: 2507 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2508 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2509 - var2 += var16; // L: 2510 - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2511 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2512 - var2 += var16; // L: 2513 - var7 += var8; // L: 2514 - var15 = var7 >> 8; // L: 2515 - --var17; // L: 2516 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 2518 - if (var17 > 0) { // L: 2519 - do { - var3 = var1[(var2 & 16256) + (var2 >>> 25)]; // L: 2521 - var0[var4++] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2522 - var2 += var16; // L: 2523 - --var17; // L: 2524 - } while(var17 > 0); - } - } else { - if (var17 > 0) { // L: 2528 - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2530 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2531 - } - - ++var4; // L: 2533 - var2 += var16; // L: 2534 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2535 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2536 - } - - ++var4; // L: 2538 - var2 += var16; // L: 2539 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2540 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2541 - } - - ++var4; // L: 2543 - var2 += var16; // L: 2544 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2545 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2546 - } - - ++var4; // L: 2548 - var2 += var16; // L: 2549 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2550 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2551 - } - - ++var4; // L: 2553 - var2 += var16; // L: 2554 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2555 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2556 - } - - ++var4; // L: 2558 - var2 += var16; // L: 2559 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2560 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2561 - } - - ++var4; // L: 2563 - var2 += var16; // L: 2564 - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2565 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2566 - } - - ++var4; // L: 2568 - var2 += var16; // L: 2569 - var7 += var8; // L: 2570 - var15 = var7 >> 8; // L: 2571 - --var17; // L: 2572 - } while(var17 > 0); - } - - var17 = var6 - var5 & 7; // L: 2574 - if (var17 > 0) { // L: 2575 - do { - if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { // L: 2577 - var0[var4] = (var15 * (var3 & 65280) & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; // L: 2578 - } - - ++var4; // L: 2580 - var2 += var16; // L: 2581 - --var17; // L: 2582 - } while(var17 > 0); - } - } - } - - } - } // L: 2586 - - @ObfuscatedName("r") - static final int method3072(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; // L: 2589 - if (var1 < 2) { // L: 2590 - var1 = 2; - } else if (var1 > 126) { // L: 2591 - var1 = 126; - } - - return (var0 & 65408) + var1; // L: 2592 - } - - @ObfuscatedName("q") - static final int method3088(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; // L: 2596 - } - - @ObfuscatedName("g") - static final int method3143(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; // L: 2600 - } - - @ObfuscatedName("o") - static final int method3090(int var0, int var1, int var2, int var3) { - return var0 * var2 - var3 * var1 >> 16; // L: 2604 - } - - @ObfuscatedName("an") - static final int method3133(int var0, int var1, int var2, int var3) { - return var3 * var0 + var2 * var1 >> 16; // L: 2608 - } - - @ObfuscatedName("aj") - static final int method3092(int var0, int var1, int var2, int var3) { - return var0 * var2 + var3 * var1 >> 16; // L: 2612 - } - - @ObfuscatedName("ax") - static final int method3094(int var0, int var1, int var2, int var3) { - return var2 * var1 - var3 * var0 >> 16; // L: 2616 - } + @ObfuscatedName("n") + static boolean field1775 = false; + @ObfuscatedName("v") + static boolean field1788 = false; + @ObfuscatedName("d") + @Export("Rasterizer3D_isLowDetailTexture") + static boolean Rasterizer3D_isLowDetailTexture = false; + @ObfuscatedName("c") + public static boolean field1777 = true; + @ObfuscatedName("y") + @Export("Rasterizer3D_alpha") + static int Rasterizer3D_alpha = 0; + @ObfuscatedName("b") + @Export("Rasterizer3D_zoom") + public static int Rasterizer3D_zoom = 512; + @ObfuscatedName("a") + @Export("Rasterizer3D_clipMidX") + static int Rasterizer3D_clipMidX; + @ObfuscatedName("w") + @Export("Rasterizer3D_clipMidY") + static int Rasterizer3D_clipMidY; + @ObfuscatedName("k") + @Export("Rasterizer3D_clipWidth") + static int Rasterizer3D_clipWidth; + @ObfuscatedName("i") + @Export("Rasterizer3D_clipHeight") + static int Rasterizer3D_clipHeight; + @ObfuscatedName("x") + @Export("Rasterizer3D_clipNegativeMidX") + static int Rasterizer3D_clipNegativeMidX; + @ObfuscatedName("f") + @Export("Rasterizer3D_clipMidX2") + static int Rasterizer3D_clipMidX2; + @ObfuscatedName("g") + @Export("Rasterizer3D_clipNegativeMidY") + static int Rasterizer3D_clipNegativeMidY; + @ObfuscatedName("u") + @Export("Rasterizer3D_clipMidY2") + static int Rasterizer3D_clipMidY2; + @ObfuscatedName("t") + @Export("Rasterizer3D_rowOffsets") + static int[] Rasterizer3D_rowOffsets = new int[1024]; + @ObfuscatedName("p") + @Export("Rasterizer3D_colorPalette") + public static int[] Rasterizer3D_colorPalette = new int[65536]; + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lew;" + ) + @Export("Rasterizer3D_textureLoader") + public static TextureLoader Rasterizer3D_textureLoader; + @ObfuscatedName("r") + static int[] field1797 = new int[512]; + @ObfuscatedName("o") + static int[] field1774 = new int[2048]; + @ObfuscatedName("j") + @Export("Rasterizer3D_sine") + public static int[] Rasterizer3D_sine = new int[2048]; + @ObfuscatedName("ay") + @Export("Rasterizer3D_cosine") + public static int[] Rasterizer3D_cosine = new int[2048]; + + static { + int var0; + for(var0 = 1; var0 < 512; ++var0) { + field1797[var0] = '耀' / var0; + } + + for(var0 = 1; var0 < 2048; ++var0) { + field1774[var0] = 65536 / var0; + } + + for(var0 = 0; var0 < 2048; ++var0) { + Rasterizer3D_sine[var0] = (int)(65536.0D * Math.sin((double)var0 * 0.0030679615D)); + Rasterizer3D_cosine[var0] = (int)(65536.0D * Math.cos((double)var0 * 0.0030679615D)); + } + + } + + @ObfuscatedName("n") + @Export("Rasterizer3D_setClipFromRasterizer2D") + public static final void Rasterizer3D_setClipFromRasterizer2D() { + Rasterizer3D_setClip(Rasterizer2D.Rasterizer2D_xClipStart, Rasterizer2D.Rasterizer2D_yClipStart, Rasterizer2D.Rasterizer2D_xClipEnd, Rasterizer2D.Rasterizer2D_yClipEnd); + } + + @ObfuscatedName("v") + @Export("Rasterizer3D_setClip") + static final void Rasterizer3D_setClip(int var0, int var1, int var2, int var3) { + Rasterizer3D_clipWidth = var2 - var0; + Rasterizer3D_clipHeight = var3 - var1; + Rasterizer3D_method3(); + if (Rasterizer3D_rowOffsets.length < Rasterizer3D_clipHeight) { + Rasterizer3D_rowOffsets = new int[GameObject.method3452(Rasterizer3D_clipHeight)]; + } + + int var4 = var0 + Rasterizer2D.Rasterizer2D_width * var1; + + for(int var5 = 0; var5 < Rasterizer3D_clipHeight; ++var5) { + Rasterizer3D_rowOffsets[var5] = var4; + var4 += Rasterizer2D.Rasterizer2D_width; + } + + } + + @ObfuscatedName("d") + @Export("Rasterizer3D_method3") + public static final void Rasterizer3D_method3() { + Rasterizer3D_clipMidX = Rasterizer3D_clipWidth / 2; + Rasterizer3D_clipMidY = Rasterizer3D_clipHeight / 2; + Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; + Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; + Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; + Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; + } + + @ObfuscatedName("c") + public static final void method3169(int var0, int var1) { + int var2 = Rasterizer3D_rowOffsets[0]; + int var3 = var2 / Rasterizer2D.Rasterizer2D_width; + int var4 = var2 - var3 * Rasterizer2D.Rasterizer2D_width; + Rasterizer3D_clipMidX = var0 - var4; + Rasterizer3D_clipMidY = var1 - var3; + Rasterizer3D_clipNegativeMidX = -Rasterizer3D_clipMidX; + Rasterizer3D_clipMidX2 = Rasterizer3D_clipWidth - Rasterizer3D_clipMidX; + Rasterizer3D_clipNegativeMidY = -Rasterizer3D_clipMidY; + Rasterizer3D_clipMidY2 = Rasterizer3D_clipHeight - Rasterizer3D_clipMidY; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lew;)V" + ) + @Export("Rasterizer3D_setTextureLoader") + public static final void Rasterizer3D_setTextureLoader(TextureLoader var0) { + Rasterizer3D_textureLoader = var0; + } + + @ObfuscatedName("h") + @Export("Rasterizer3D_setBrightness") + public static final void Rasterizer3D_setBrightness(double var0) { + Rasterizer3D_buildPalette(var0, 0, 512); + } + + @ObfuscatedName("z") + @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) { + double var6 = (double)(var5 >> 3) / 64.0D + 0.0078125D; + double var8 = (double)(var5 & 7) / 8.0D + 0.0625D; + + for(int var10 = 0; var10 < 128; ++var10) { + double var11 = (double)var10 / 128.0D; + double var13 = var11; + double var15 = var11; + double var17 = var11; + if (var8 != 0.0D) { + double var19; + if (var11 < 0.5D) { + var19 = var11 * (1.0D + var8); + } else { + var19 = var11 + var8 - var11 * var8; + } + + double var21 = 2.0D * var11 - var19; + double var23 = var6 + 0.3333333333333333D; + if (var23 > 1.0D) { + --var23; + } + + double var27 = var6 - 0.3333333333333333D; + if (var27 < 0.0D) { + ++var27; + } + + if (6.0D * var23 < 1.0D) { + var13 = var21 + (var19 - var21) * 6.0D * var23; + } else if (2.0D * var23 < 1.0D) { + var13 = var19; + } else if (3.0D * var23 < 2.0D) { + var13 = var21 + (var19 - var21) * (0.6666666666666666D - var23) * 6.0D; + } else { + var13 = var21; + } + + if (6.0D * var6 < 1.0D) { + var15 = var21 + (var19 - var21) * 6.0D * var6; + } else if (2.0D * var6 < 1.0D) { + var15 = var19; + } else if (3.0D * var6 < 2.0D) { + var15 = var21 + (var19 - var21) * (0.6666666666666666D - var6) * 6.0D; + } else { + var15 = var21; + } + + if (6.0D * var27 < 1.0D) { + var17 = var21 + (var19 - var21) * 6.0D * var27; + } else if (2.0D * var27 < 1.0D) { + var17 = var19; + } else if (3.0D * var27 < 2.0D) { + var17 = var21 + (var19 - var21) * (0.6666666666666666D - var27) * 6.0D; + } else { + var17 = var21; + } + } + + int var29 = (int)(var13 * 256.0D); + int var20 = (int)(var15 * 256.0D); + int var30 = (int)(var17 * 256.0D); + int var22 = var30 + (var20 << 8) + (var29 << 16); + var22 = Rasterizer3D_brighten(var22, var0); + if (var22 == 0) { + var22 = 1; + } + + Rasterizer3D_colorPalette[var4++] = var22; + } + } + + } + + @ObfuscatedName("e") + @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); + int var9 = (int)(var3 * 256.0D); + int var10 = (int)(var5 * 256.0D); + int var11 = (int)(var7 * 256.0D); + return var11 + (var10 << 8) + (var9 << 16); + } + + @ObfuscatedName("q") + public static void method3237(int var0, int var1, int var2) { + field1775 = var0 < 0 || var0 > Rasterizer3D_clipWidth || var1 < 0 || var1 > Rasterizer3D_clipWidth || var2 < 0 || var2 > Rasterizer3D_clipWidth; + } + + @ObfuscatedName("l") + static final void method3175(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = var4 - var3; + int var10 = var1 - var0; + int var11 = var5 - var3; + int var12 = var2 - var0; + int var13 = var7 - var6; + int var14 = var8 - var6; + int var15; + if (var2 != var1) { + var15 = (var5 - var4 << 14) / (var2 - var1); + } else { + var15 = 0; + } + + int var16; + if (var0 != var1) { + var16 = (var9 << 14) / var10; + } else { + var16 = 0; + } + + int var17; + if (var0 != var2) { + var17 = (var11 << 14) / var12; + } else { + var17 = 0; + } + + int var18 = var9 * var12 - var11 * var10; + if (var18 != 0) { + int var19 = (var13 * var12 - var14 * var10 << 8) / var18; + int var20 = (var14 * var9 - var13 * var11 << 8) / var18; + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + var6 = var19 + ((var6 << 8) - var3 * var19); + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var17; + var3 -= var0 * var16; + var6 -= var0 * var20; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var15 * var1; + var1 = 0; + } + + if ((var0 == var1 || var17 >= var16) && (var0 != var1 || var17 <= var15)) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var5 >> 14, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var4 >> 14, var6, var19); + var5 += var17; + var4 += var15; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); + var5 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var17; + var3 -= var0 * var16; + var6 -= var0 * var20; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var15 * var2; + var2 = 0; + } + + if (var0 != var2 && var17 < var16 || var0 == var2 && var15 > var16) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var5 >> 14, var3 >> 14, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var4 >> 14, var3 >> 14, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var5 >> 14, var6, var19); + var5 += var15; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, 0, 0, var3 >> 14, var4 >> 14, var6, var19); + var4 += var17; + var3 += var16; + var6 += var20; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + var7 = var19 + ((var7 << 8) - var19 * var4); + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var17 * var2; + var2 = 0; + } + + if ((var2 == var1 || var16 >= var15) && (var2 != var1 || var16 <= var17)) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var3 >> 14, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var5 >> 14, var7, var19); + var3 += var16; + var5 += var17; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); + var3 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var16 * var1; + var4 -= var15 * var1; + var7 -= var20 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var17; + var0 = 0; + } + + if (var16 < var15) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var3 >> 14, var4 >> 14, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var5 >> 14, var4 >> 14, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var3 >> 14, var7, var19); + var3 += var17; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, 0, 0, var4 >> 14, var5 >> 14, var7, var19); + var5 += var16; + var4 += var15; + var7 += var20; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + var8 = var19 + ((var8 << 8) - var5 * var19); + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var16; + var0 = 0; + } + + if (var15 < var17) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var3 >> 14, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var4 >> 14, var8, var19); + var4 += var15; + var3 += var16; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); + var4 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var15 * var2; + var5 -= var17 * var2; + var8 -= var20 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var16 * var1; + var1 = 0; + } + + if (var15 < var17) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var4 >> 14, var5 >> 14, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var3 >> 14, var5 >> 14, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var4 >> 14, var8, var19); + var4 += var16; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_vertAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, 0, 0, var5 >> 14, var3 >> 14, var8, var19); + var3 += var15; + var5 += var17; + var8 += var20; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } + } + + @ObfuscatedName("s") + @Export("Rasterizer3D_vertAlpha") + static final void Rasterizer3D_vertAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (field1775) { + if (var5 > Rasterizer3D_clipWidth) { + var5 = Rasterizer3D_clipWidth; + } + + if (var4 < 0) { + var4 = 0; + } + } + + if (var4 < var5) { + var1 += var4; + var6 += var4 * var7; + int var8; + int var9; + int var10; + if (field1777) { + var3 = var5 - var4 >> 2; + var7 <<= 2; + if (Rasterizer3D_alpha == 0) { + if (var3 > 0) { + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if (var3 > 0) { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + + do { + var0[var1++] = var2; + --var3; + } while(var3 > 0); + } + } else { + var8 = Rasterizer3D_alpha; + var9 = 256 - Rasterizer3D_alpha; + if (var3 > 0) { + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var2 = (var9 * (var2 & '\uff00') >> 8 & '\uff00') + (var9 * (var2 & 16711935) >> 8 & 16711935); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + + var3 = var5 - var4 & 3; + if (var3 > 0) { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var2 = (var9 * (var2 & '\uff00') >> 8 & '\uff00') + (var9 * (var2 & 16711935) >> 8 & 16711935); + + do { + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + } + + } else { + var3 = var5 - var4; + if (Rasterizer3D_alpha == 0) { + do { + var0[var1++] = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + --var3; + } while(var3 > 0); + } else { + var8 = Rasterizer3D_alpha; + var9 = 256 - Rasterizer3D_alpha; + + do { + var2 = Rasterizer3D_colorPalette[var6 >> 8]; + var6 += var7; + var2 = (var9 * (var2 & '\uff00') >> 8 & '\uff00') + (var9 * (var2 & 16711935) >> 8 & 16711935); + var10 = var0[var1]; + var0[var1++] = ((var10 & 16711935) * var8 >> 8 & 16711935) + var2 + (var8 * (var10 & '\uff00') >> 8 & '\uff00'); + --var3; + } while(var3 > 0); + } + + } + } + } + + @ObfuscatedName("b") + public static final void method3179(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = 0; + if (var0 != var1) { + var7 = (var4 - var3 << 14) / (var1 - var0); + } + + int var8 = 0; + if (var2 != var1) { + var8 = (var5 - var4 << 14) / (var2 - var1); + } + + int var9 = 0; + if (var0 != var2) { + var9 = (var3 - var5 << 14) / (var0 - var2); + } + + if (var0 <= var1 && var0 <= var2) { + if (var0 < Rasterizer3D_clipHeight) { + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var1 < var2) { + var5 = var3 <<= 14; + if (var0 < 0) { + var5 -= var0 * var9; + var3 -= var0 * var7; + var0 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var8 * var1; + var1 = 0; + } + + if (var0 != var1 && var9 < var7 || var0 == var1 && var9 > var8) { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var4 >> 14); + var5 += var9; + var4 += var8; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); + var5 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var1; + var1 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var5 >> 14); + var5 += var9; + var4 += var8; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); + var5 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var4 = var3 <<= 14; + if (var0 < 0) { + var4 -= var0 * var9; + var3 -= var0 * var7; + var0 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var8 * var2; + var2 = 0; + } + + if ((var0 == var2 || var9 >= var7) && (var0 != var2 || var8 <= var7)) { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var5 >> 14); + var5 += var8; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var3 >> 14, var4 >> 14); + var4 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var2; + var2 -= var0; + var0 = Rasterizer3D_rowOffsets[var0]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var5 >> 14, var3 >> 14); + var5 += var8; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var6, 0, var4 >> 14, var3 >> 14); + var4 += var9; + var3 += var7; + var0 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var1 <= var2) { + if (var1 < Rasterizer3D_clipHeight) { + if (var2 > Rasterizer3D_clipHeight) { + var2 = Rasterizer3D_clipHeight; + } + + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var2 < var0) { + var3 = var4 <<= 14; + if (var1 < 0) { + var3 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var5 <<= 14; + if (var2 < 0) { + var5 -= var9 * var2; + var2 = 0; + } + + if (var2 != var1 && var7 < var8 || var2 == var1 && var7 > var9) { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var5 >> 14); + var3 += var7; + var5 += var9; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); + var3 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var2; + var2 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var2; + if (var2 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var3 >> 14); + var3 += var7; + var5 += var9; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); + var3 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var5 = var4 <<= 14; + if (var1 < 0) { + var5 -= var7 * var1; + var4 -= var8 * var1; + var1 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var9; + var0 = 0; + } + + if (var7 < var8) { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var3 >> 14, var4 >> 14); + var3 += var9; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var5 >> 14, var4 >> 14); + var5 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var2 -= var0; + var0 -= var1; + var1 = Rasterizer3D_rowOffsets[var1]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var2; + if (var2 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var3 >> 14); + var3 += var9; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, 0, var4 >> 14, var5 >> 14); + var5 += var7; + var4 += var8; + var1 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } else if (var2 < Rasterizer3D_clipHeight) { + if (var0 > Rasterizer3D_clipHeight) { + var0 = Rasterizer3D_clipHeight; + } + + if (var1 > Rasterizer3D_clipHeight) { + var1 = Rasterizer3D_clipHeight; + } + + if (var0 < var1) { + var4 = var5 <<= 14; + if (var2 < 0) { + var4 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var3 <<= 14; + if (var0 < 0) { + var3 -= var0 * var7; + var0 = 0; + } + + if (var8 < var9) { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var3 >> 14); + var4 += var8; + var3 += var7; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); + var4 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var1 -= var0; + var0 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var0; + if (var0 < 0) { + while(true) { + --var1; + if (var1 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var4 >> 14); + var4 += var8; + var3 += var7; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); + var4 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } else { + var3 = var5 <<= 14; + if (var2 < 0) { + var3 -= var8 * var2; + var5 -= var9 * var2; + var2 = 0; + } + + var4 <<= 14; + if (var1 < 0) { + var4 -= var7 * var1; + var1 = 0; + } + + if (var8 < var9) { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var4 >> 14, var5 >> 14); + var4 += var7; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var3 >> 14, var5 >> 14); + var3 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } else { + var0 -= var1; + var1 -= var2; + var2 = Rasterizer3D_rowOffsets[var2]; + + while(true) { + --var1; + if (var1 < 0) { + while(true) { + --var0; + if (var0 < 0) { + return; + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var4 >> 14); + var4 += var7; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + + Rasterizer3D_horizAlpha(Rasterizer2D.Rasterizer2D_pixels, var2, var6, 0, var5 >> 14, var3 >> 14); + var3 += var8; + var5 += var9; + var2 += Rasterizer2D.Rasterizer2D_width; + } + } + } + } + } + + @ObfuscatedName("a") + @Export("Rasterizer3D_horizAlpha") + static final void Rasterizer3D_horizAlpha(int[] var0, int var1, int var2, int var3, int var4, int var5) { + if (field1775) { + if (var5 > Rasterizer3D_clipWidth) { + var5 = Rasterizer3D_clipWidth; + } + + if (var4 < 0) { + var4 = 0; + } + } + + if (var4 < var5) { + var1 += var4; + var3 = var5 - var4 >> 2; + if (Rasterizer3D_alpha != 0) { + if (Rasterizer3D_alpha == 254) { + while(true) { + --var3; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if (var3 < 0) { + return; + } + + var0[var1++] = var0[var1]; + } + } + + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + var0[var1++] = var0[var1]; + } + } else { + int var6 = Rasterizer3D_alpha; + int var7 = 256 - Rasterizer3D_alpha; + var2 = (var7 * (var2 & '\uff00') >> 8 & '\uff00') + (var7 * (var2 & 16711935) >> 8 & 16711935); + + while(true) { + --var3; + int var8; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if (var3 < 0) { + return; + } + + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & '\uff00') >> 8 & '\uff00'); + } + } + + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & '\uff00') >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & '\uff00') >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & '\uff00') >> 8 & '\uff00'); + var8 = var0[var1]; + var0[var1++] = ((var8 & 16711935) * var6 >> 8 & 16711935) + var2 + (var6 * (var8 & '\uff00') >> 8 & '\uff00'); + } + } + } else { + while(true) { + --var3; + if (var3 < 0) { + var3 = var5 - var4 & 3; + + while(true) { + --var3; + if (var3 < 0) { + return; + } + + var0[var1++] = var2; + } + } + + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + var0[var1++] = var2; + } + } + } + } + + @ObfuscatedName("w") + static final void method3212(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); + method3175(var0, var1, var2, var3, var4, var5, method3183(var20, var6), method3183(var20, var7), method3183(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1788 = Rasterizer3D_textureLoader.vmethod3432(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) { + 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; + } + + 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, 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; + } + } else { + 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; + } + } + } else { + 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; + } + } else { + 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, 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; + } + } else { + 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; + } + } + } else { + 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; + } + } else { + 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; + } + } else { + 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; + } + } + } else { + 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; + } + } else { + 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; + var5 += var28; + var8 += var31; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } + } + } + } + } + } + + @ObfuscatedName("k") + @Export("Rasterizer3D_iDontKnow") + static final void Rasterizer3D_iDontKnow(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) { + if (field1775) { + if (var6 > Rasterizer3D_clipWidth) { + var6 = Rasterizer3D_clipWidth; + } + + if (var5 < 0) { + var5 = 0; + } + } + + if (var5 < var6) { + var4 += var5; + var7 += var5 * var8; + int var17 = var6 - var5; + int var15; + int var16; + int var10000; + int var18; + int var19; + int var20; + int var21; + int var22; + int var23; + if (Rasterizer3D_isLowDetailTexture) { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * (var12 >> 3); + var10 += (var13 >> 3) * var23; + var11 += var23 * (var14 >> 3); + var22 = var11 >> 12; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + if (var18 < 0) { + var18 = 0; + } else if (var18 > 4032) { + var18 = 4032; + } + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1788) { + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 4032) { + var20 = 4032; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 20); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * (var12 >> 3); + var10 += (var13 >> 3) * var23; + var11 += var23 * (var14 >> 3); + var22 = var11 >> 14; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + if (var18 < 0) { + var18 = 0; + } else if (var18 > 16256) { + var18 = 16256; + } + } else { + var18 = 0; + var19 = 0; + } + + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1788) { + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var10000 = var16 + var2; + var18 = var20; + var19 = var21; + var9 += var12; + var10 += var13; + var11 += var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + if (var20 < 0) { + var20 = 0; + } else if (var20 > 16256) { + var20 = 16256; + } + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19 >> 3) + (var20 - var18 >> 3 << 18); + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + @ObfuscatedName("i") + @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); + method3175(var0, var1, var2, var3, var4, var5, method3183(var20, var6), method3183(var20, var7), method3183(var20, var8)); + } else { + Rasterizer3D_isLowDetailTexture = Rasterizer3D_textureLoader.isLowDetail(var18); + field1788 = Rasterizer3D_textureLoader.vmethod3432(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) { + 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; + } + + 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; + } + } else { + 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, 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; + } + } + } else { + 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_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 { + 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; + } + } + + 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; + } + } + } + } + } 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_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; + } + } else { + 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; + } + } + } else { + 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_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; + } + } + + 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; + } + } else { + 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, 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_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]; + + 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; + } + } + + 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; + var2 += Rasterizer2D.Rasterizer2D_width; + var32 += var34; + var35 += var37; + var38 += var40; + } + } else { + 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, 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; + } + } + } else { + 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_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; + } + } + + 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; + } + } else { + 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; + } + } + } + } + } + } + } + + @ObfuscatedName("x") + @Export("Rasterizer3D_textureAlpha") + static final void Rasterizer3D_textureAlpha(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) { + if (field1775) { + if (var6 > Rasterizer3D_clipWidth) { + var6 = Rasterizer3D_clipWidth; + } + + if (var5 < 0) { + var5 = 0; + } + } + + if (var5 < var6) { + var4 += var5; + var7 += var5 * var8; + int var17 = var6 - var5; + int var15; + int var16; + int var18; + int var19; + int var20; + int var21; + int var22; + int var23; + if (Rasterizer3D_isLowDetailTexture) { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * var12; + var10 += var13 * var23; + var11 += var23 * var14; + var22 = var11 >> 12; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var17 * var12; + var10 += var13 * var17; + var11 += var17 * var14; + var22 = var11 >> 12; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 20) + var19; + var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 20); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1788) { + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 >>> 26) + (var2 & 4032)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 >>> 26) + (var2 & 4032)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } else { + var23 = var5 - Rasterizer3D_clipMidX; + var9 += var23 * var12; + var10 += var13 * var23; + var11 += var23 * var14; + var22 = var11 >> 14; + if (var22 != 0) { + var18 = var9 / var22; + var19 = var10 / var22; + } else { + var18 = 0; + var19 = 0; + } + + var9 += var17 * var12; + var10 += var13 * var17; + var11 += var17 * var14; + var22 = var11 >> 14; + if (var22 != 0) { + var20 = var9 / var22; + var21 = var10 / var22; + } else { + var20 = 0; + var21 = 0; + } + + var2 = (var18 << 18) + var19; + var16 = (var21 - var19) / var17 + ((var20 - var18) / var17 << 18); + var17 >>= 3; + var8 <<= 3; + var15 = var7 >> 8; + if (field1788) { + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + var3 = var1[(var2 & 16256) + (var2 >>> 25)]; + var0[var4++] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + var2 += var16; + --var17; + } while(var17 > 0); + } + } else { + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + var7 += var8; + var15 = var7 >> 8; + --var17; + } while(var17 > 0); + } + + var17 = var6 - var5 & 7; + if (var17 > 0) { + do { + if ((var3 = var1[(var2 & 16256) + (var2 >>> 25)]) != 0) { + var0[var4] = (var15 * (var3 & '\uff00') & 16711680) + ((var3 & 16711935) * var15 & -16711936) >> 8; + } + + ++var4; + var2 += var16; + --var17; + } while(var17 > 0); + } + } + } + + } + } + + @ObfuscatedName("g") + static final int method3183(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 'タ') + var1; + } + + @ObfuscatedName("u") + static final int method3233(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("t") + static final int method3185(int var0, int var1, int var2, int var3) { + return var2 * var1 - var3 * var0 >> 16; + } + + @ObfuscatedName("p") + static final int method3186(int var0, int var1, int var2, int var3) { + return var0 * var2 - var3 * var1 >> 16; + } + + @ObfuscatedName("o") + static final int method3187(int var0, int var1, int var2, int var3) { + return var3 * var0 + var2 * var1 >> 16; + } + + @ObfuscatedName("ay") + static final int method3188(int var0, int var1, int var2, int var3) { + return var0 * var2 + var3 * var1 >> 16; + } + + @ObfuscatedName("am") + static final int method3189(int var0, int var1, int var2, int var3) { + return var2 * var1 - var3 * var0 >> 16; + } } diff --git a/runescape-client/src/main/java/RawPcmStream.java b/runescape-client/src/main/java/RawPcmStream.java index 2f8b15ebb8..30e588450a 100644 --- a/runescape-client/src/main/java/RawPcmStream.java +++ b/runescape-client/src/main/java/RawPcmStream.java @@ -3,1567 +3,1567 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dj") +@ObfuscatedName("dt") @Implements("RawPcmStream") public class RawPcmStream extends PcmStream { - @ObfuscatedName("h") - int field1479; - @ObfuscatedName("v") - int field1488; - @ObfuscatedName("x") - int field1480; - @ObfuscatedName("t") - int field1482; - @ObfuscatedName("j") - int field1483; - @ObfuscatedName("n") - int field1484; - @ObfuscatedName("p") - int field1485; - @ObfuscatedName("l") - @Export("numLoops") - int numLoops; - @ObfuscatedName("z") - @Export("start") - int start; - @ObfuscatedName("u") - @Export("end") - int end; - @ObfuscatedName("e") - boolean field1489; - @ObfuscatedName("m") - int field1490; - @ObfuscatedName("c") - int field1491; - @ObfuscatedName("i") - int field1492; - @ObfuscatedName("f") - int field1493; - - @ObfuscatedSignature( - descriptor = "(Ldf;III)V" - ) - RawPcmStream(RawSound var1, int var2, int var3, int var4) { - super.sound = var1; // L: 51 - this.start = var1.start; // L: 52 - this.end = var1.end; // L: 53 - this.field1489 = var1.field1408; // L: 54 - this.field1488 = var2; // L: 55 - this.field1480 = var3; // L: 56 - this.field1482 = var4; // L: 57 - this.field1479 = 0; // L: 58 - this.method2608(); // L: 59 - } // L: 60 - - @ObfuscatedSignature( - descriptor = "(Ldf;II)V" - ) - RawPcmStream(RawSound var1, int var2, int var3) { - super.sound = var1; // L: 39 - this.start = var1.start; // L: 40 - this.end = var1.end; // L: 41 - this.field1489 = var1.field1408; // L: 42 - this.field1488 = var2; // L: 43 - this.field1480 = var3; // L: 44 - this.field1482 = 8192; // L: 45 - this.field1479 = 0; // L: 46 - this.method2608(); // L: 47 - } // L: 48 - - @ObfuscatedName("t") - void method2608() { - this.field1483 = this.field1480; // L: 73 - this.field1484 = method2669(this.field1480, this.field1482); // L: 74 - this.field1485 = method2603(this.field1480, this.field1482); // L: 75 - } // L: 76 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("firstSubStream") - protected PcmStream firstSubStream() { - return null; // L: 200 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "()Ldi;" - ) - @Export("nextSubStream") - protected PcmStream nextSubStream() { - return null; // L: 204 - } - - @ObfuscatedName("p") - protected int vmethod3927() { - return this.field1480 == 0 && this.field1490 == 0 ? 0 : 1; // L: 208 209 - } - - @ObfuscatedName("l") - @Export("fill") - public synchronized void fill(int[] var1, int var2, int var3) { - if (this.field1480 == 0 && this.field1490 == 0) { // L: 213 - this.skip(var3); // L: 214 - } else { - RawSound var4 = (RawSound)super.sound; // L: 217 - int var5 = this.start << 8; // L: 218 - int var6 = this.end << 8; // L: 219 - int var7 = var4.samples.length << 8; // L: 220 - int var8 = var6 - var5; // L: 221 - if (var8 <= 0) { // L: 222 - this.numLoops = 0; - } - - int var9 = var2; // L: 223 - var3 += var2; // L: 224 - if (this.field1479 < 0) { // L: 225 - if (this.field1488 <= 0) { // L: 226 - this.method2617(); // L: 228 - this.remove(); // L: 229 - return; // L: 230 - } - - this.field1479 = 0; - } - - if (this.field1479 >= var7) { // L: 233 - if (this.field1488 >= 0) { // L: 234 - this.method2617(); // L: 236 - this.remove(); // L: 237 - return; // L: 238 - } - - this.field1479 = var7 - 1; - } - - if (this.numLoops < 0) { // L: 241 - if (this.field1489) { // L: 242 - if (this.field1488 < 0) { // L: 243 - var9 = this.method2631(var1, var2, var5, var3, var4.samples[this.start]); // L: 244 - if (this.field1479 >= var5) { // L: 245 - return; - } - - this.field1479 = var5 + var5 - 1 - this.field1479; // L: 246 - this.field1488 = -this.field1488; // L: 247 - } - - while (true) { - var9 = this.method2607(var1, var9, var6, var3, var4.samples[this.end - 1]); // L: 250 - if (this.field1479 < var6) { // L: 251 - return; - } - - this.field1479 = var6 + var6 - 1 - this.field1479; // L: 252 - this.field1488 = -this.field1488; // L: 253 - var9 = this.method2631(var1, var9, var5, var3, var4.samples[this.start]); // L: 254 - if (this.field1479 >= var5) { // L: 255 - return; - } - - this.field1479 = var5 + var5 - 1 - this.field1479; // L: 256 - this.field1488 = -this.field1488; // L: 257 - } - } else if (this.field1488 < 0) { // L: 260 - while (true) { - var9 = this.method2631(var1, var9, var5, var3, var4.samples[this.end - 1]); // L: 262 - if (this.field1479 >= var5) { // L: 263 - return; - } - - this.field1479 = var6 - 1 - (var6 - 1 - this.field1479) % var8; // L: 264 - } - } else { - while (true) { - var9 = this.method2607(var1, var9, var6, var3, var4.samples[this.start]); // L: 269 - if (this.field1479 < var6) { // L: 270 - return; - } - - this.field1479 = var5 + (this.field1479 - var5) % var8; // L: 271 - } - } - } else { - if (this.numLoops > 0) { // L: 275 - if (this.field1489) { // L: 276 - label127: { - if (this.field1488 < 0) { // L: 277 - var9 = this.method2631(var1, var2, var5, var3, var4.samples[this.start]); // L: 278 - if (this.field1479 >= var5) { // L: 279 - return; - } - - this.field1479 = var5 + var5 - 1 - this.field1479; // L: 280 - this.field1488 = -this.field1488; // L: 281 - if (--this.numLoops == 0) { // L: 282 - break label127; - } - } - - do { - var9 = this.method2607(var1, var9, var6, var3, var4.samples[this.end - 1]); // L: 285 - if (this.field1479 < var6) { // L: 286 - return; - } - - this.field1479 = var6 + var6 - 1 - this.field1479; // L: 287 - this.field1488 = -this.field1488; // L: 288 - if (--this.numLoops == 0) { // L: 289 - break; - } - - var9 = this.method2631(var1, var9, var5, var3, var4.samples[this.start]); // L: 290 - if (this.field1479 >= var5) { // L: 291 - return; - } - - this.field1479 = var5 + var5 - 1 - this.field1479; // L: 292 - this.field1488 = -this.field1488; // L: 293 - } while(--this.numLoops != 0); // L: 294 - } - } else { - int var10; - if (this.field1488 < 0) { // L: 297 - while (true) { - var9 = this.method2631(var1, var9, var5, var3, var4.samples[this.end - 1]); // L: 299 - if (this.field1479 >= var5) { // L: 300 - return; - } - - var10 = (var6 - 1 - this.field1479) / var8; // L: 301 - if (var10 >= this.numLoops) { // L: 302 - this.field1479 += var8 * this.numLoops; // L: 303 - this.numLoops = 0; // L: 304 - break; // L: 305 - } - - this.field1479 += var8 * var10; // L: 307 - this.numLoops -= var10; // L: 308 - } - } else { - while (true) { - var9 = this.method2607(var1, var9, var6, var3, var4.samples[this.start]); // L: 313 - if (this.field1479 < var6) { // L: 314 - return; - } - - var10 = (this.field1479 - var5) / var8; // L: 315 - if (var10 >= this.numLoops) { // L: 316 - this.field1479 -= var8 * this.numLoops; // L: 317 - this.numLoops = 0; // L: 318 - break; // L: 319 - } - - this.field1479 -= var8 * var10; // L: 321 - this.numLoops -= var10; // L: 322 - } - } - } - } - - if (this.field1488 < 0) { // L: 326 - this.method2631(var1, var9, 0, var3, 0); // L: 327 - if (this.field1479 < 0) { // L: 328 - this.field1479 = -1; // L: 329 - this.method2617(); // L: 330 - this.remove(); // L: 331 - } - } else { - this.method2607(var1, var9, var7, var3, 0); // L: 335 - if (this.field1479 >= var7) { // L: 336 - this.field1479 = var7; // L: 337 - this.method2617(); // L: 338 - this.remove(); // L: 339 - } - } - - } - } - } // L: 215 342 - - @ObfuscatedName("z") - @Export("setNumLoops") - public synchronized void setNumLoops(int var1) { - this.numLoops = var1; // L: 79 - } // L: 80 - - @ObfuscatedName("u") - @Export("skip") - public synchronized void skip(int var1) { - if (this.field1490 > 0) { // L: 345 - if (var1 >= this.field1490) { // L: 346 - if (this.field1480 == Integer.MIN_VALUE) { // L: 347 - this.field1480 = 0; // L: 348 - this.field1485 = 0; // L: 349 - this.field1484 = 0; // L: 350 - this.field1483 = 0; // L: 351 - this.remove(); // L: 352 - var1 = this.field1490; // L: 353 - } - - this.field1490 = 0; // L: 355 - this.method2608(); // L: 356 - } else { - this.field1483 += this.field1491 * var1; // L: 359 - this.field1484 += this.field1492 * var1; // L: 360 - this.field1485 += this.field1493 * var1; // L: 361 - this.field1490 -= var1; // L: 362 - } - } - - RawSound var2 = (RawSound)super.sound; // L: 365 - int var3 = this.start << 8; // L: 366 - int var4 = this.end << 8; // L: 367 - int var5 = var2.samples.length << 8; // L: 368 - int var6 = var4 - var3; // L: 369 - if (var6 <= 0) { // L: 370 - this.numLoops = 0; - } - - if (this.field1479 < 0) { // L: 371 - if (this.field1488 <= 0) { // L: 372 - this.method2617(); // L: 374 - this.remove(); // L: 375 - return; // L: 376 - } - - this.field1479 = 0; - } - - if (this.field1479 >= var5) { // L: 379 - if (this.field1488 >= 0) { // L: 380 - this.method2617(); // L: 382 - this.remove(); // L: 383 - return; // L: 384 - } - - this.field1479 = var5 - 1; - } - - this.field1479 += this.field1488 * var1; // L: 387 - if (this.numLoops < 0) { // L: 388 - if (!this.field1489) { // L: 389 - if (this.field1488 < 0) { // L: 404 - if (this.field1479 >= var3) { // L: 405 - return; - } - - this.field1479 = var4 - 1 - (var4 - 1 - this.field1479) % var6; // L: 406 - } else { - if (this.field1479 < var4) { // L: 409 - return; - } - - this.field1479 = var3 + (this.field1479 - var3) % var6; // L: 410 - } - - } else { - if (this.field1488 < 0) { // L: 390 - if (this.field1479 >= var3) { // L: 391 - return; - } - - this.field1479 = var3 + var3 - 1 - this.field1479; // L: 392 - this.field1488 = -this.field1488; // L: 393 - } - - while (this.field1479 >= var4) { // L: 396 - this.field1479 = var4 + var4 - 1 - this.field1479; // L: 397 - this.field1488 = -this.field1488; // L: 398 - if (this.field1479 >= var3) { // L: 399 - return; - } - - this.field1479 = var3 + var3 - 1 - this.field1479; // L: 400 - this.field1488 = -this.field1488; // L: 401 - } - - } - } else { - if (this.numLoops > 0) { // L: 414 - if (this.field1489) { // L: 415 - label129: { - if (this.field1488 < 0) { // L: 416 - if (this.field1479 >= var3) { // L: 417 - return; - } - - this.field1479 = var3 + var3 - 1 - this.field1479; // L: 418 - this.field1488 = -this.field1488; // L: 419 - if (--this.numLoops == 0) { // L: 420 - break label129; - } - } - - do { - if (this.field1479 < var4) { // L: 423 - return; - } - - this.field1479 = var4 + var4 - 1 - this.field1479; // L: 424 - this.field1488 = -this.field1488; // L: 425 - if (--this.numLoops == 0) { // L: 426 - break; - } - - if (this.field1479 >= var3) { // L: 427 - return; - } - - this.field1479 = var3 + var3 - 1 - this.field1479; // L: 428 - this.field1488 = -this.field1488; // L: 429 - } while(--this.numLoops != 0); // L: 430 - } - } else { - label161: { - int var7; - if (this.field1488 < 0) { // L: 433 - if (this.field1479 >= var3) { // L: 434 - return; - } - - var7 = (var4 - 1 - this.field1479) / var6; // L: 435 - if (var7 >= this.numLoops) { // L: 436 - this.field1479 += var6 * this.numLoops; // L: 437 - this.numLoops = 0; // L: 438 - break label161; // L: 439 - } - - this.field1479 += var6 * var7; // L: 441 - this.numLoops -= var7; // L: 442 - } else { - if (this.field1479 < var4) { // L: 445 - return; - } - - var7 = (this.field1479 - var3) / var6; // L: 446 - if (var7 >= this.numLoops) { // L: 447 - this.field1479 -= var6 * this.numLoops; // L: 448 - this.numLoops = 0; // L: 449 - break label161; // L: 450 - } - - this.field1479 -= var6 * var7; // L: 452 - this.numLoops -= var7; // L: 453 - } - - return; // L: 455 - } - } - } - - if (this.field1488 < 0) { // L: 457 - if (this.field1479 < 0) { // L: 458 - this.field1479 = -1; // L: 459 - this.method2617(); // L: 460 - this.remove(); // L: 461 - } - } else if (this.field1479 >= var5) { // L: 465 - this.field1479 = var5; // L: 466 - this.method2617(); // L: 467 - this.remove(); // L: 468 - } - - } - } // L: 412 471 - - @ObfuscatedName("e") - public synchronized void method2610(int var1) { - this.method2648(var1 << 6, this.method2614()); // L: 83 - } // L: 84 - - @ObfuscatedName("m") - synchronized void method2611(int var1) { - this.method2648(var1, this.method2614()); // L: 87 - } // L: 88 - - @ObfuscatedName("c") - synchronized void method2648(int var1, int var2) { - this.field1480 = var1; // L: 91 - this.field1482 = var2; // L: 92 - this.field1490 = 0; // L: 93 - this.method2608(); // L: 94 - } // L: 95 - - @ObfuscatedName("i") - public synchronized int method2613() { - return this.field1480 == Integer.MIN_VALUE ? 0 : this.field1480; // L: 98 - } - - @ObfuscatedName("f") - public synchronized int method2614() { - return this.field1482 < 0 ? -1 : this.field1482; // L: 102 - } - - @ObfuscatedName("y") - public synchronized void method2615(int var1) { - int var2 = ((RawSound)super.sound).samples.length << 8; // L: 106 - if (var1 < -1) { // L: 107 - var1 = -1; - } - - if (var1 > var2) { // L: 108 - var1 = var2; - } - - this.field1479 = var1; // L: 109 - } // L: 110 - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(Z)V", - garbageValue = "1" - ) - public synchronized void method2616() { - this.field1488 = (this.field1488 ^ this.field1488 >> 31) + (this.field1488 >>> 31); // L: 113 - this.field1488 = -this.field1488; // L: 114 - } // L: 115 - - @ObfuscatedName("q") - void method2617() { - if (this.field1490 != 0) { // L: 118 - if (this.field1480 == Integer.MIN_VALUE) { - this.field1480 = 0; // L: 119 - } - - this.field1490 = 0; // L: 120 - this.method2608(); // L: 121 - } - - } // L: 123 - - @ObfuscatedName("g") - public synchronized void method2707(int var1, int var2) { - this.method2744(var1, var2, this.method2614()); // L: 126 - } // L: 127 - - @ObfuscatedName("o") - public synchronized void method2744(int var1, int var2, int var3) { - if (var1 == 0) { // L: 130 - this.method2648(var2, var3); // L: 131 - } else { - int var4 = method2669(var2, var3); // L: 134 - int var5 = method2603(var2, var3); // L: 135 - if (var4 == this.field1484 && var5 == this.field1485) { // L: 136 - this.field1490 = 0; // L: 137 - } else { - int var6 = var2 - this.field1483; // L: 140 - if (this.field1483 - var2 > var6) { // L: 141 - var6 = this.field1483 - var2; - } - - if (var4 - this.field1484 > var6) { // L: 142 - var6 = var4 - this.field1484; - } - - if (this.field1484 - var4 > var6) { // L: 143 - var6 = this.field1484 - var4; - } - - if (var5 - this.field1485 > var6) { - var6 = var5 - this.field1485; // L: 144 - } - - if (this.field1485 - var5 > var6) { // L: 145 - var6 = this.field1485 - var5; - } - - if (var1 > var6) { // L: 146 - var1 = var6; - } - - this.field1490 = var1; // L: 147 - this.field1480 = var2; // L: 148 - this.field1482 = var3; // L: 149 - this.field1491 = (var2 - this.field1483) / var1; // L: 150 - this.field1492 = (var4 - this.field1484) / var1; // L: 151 - this.field1493 = (var5 - this.field1485) / var1; // L: 152 - } - } - } // L: 132 138 153 - - @ObfuscatedName("an") - public synchronized void method2620(int var1) { - if (var1 == 0) { // L: 156 - this.method2611(0); // L: 157 - this.remove(); // L: 158 - } else if (this.field1484 == 0 && this.field1485 == 0) { // L: 161 - this.field1490 = 0; // L: 162 - this.field1480 = 0; // L: 163 - this.field1483 = 0; // L: 164 - this.remove(); // L: 165 - } else { - int var2 = -this.field1483; // L: 168 - if (this.field1483 > var2) { // L: 169 - var2 = this.field1483; - } - - if (-this.field1484 > var2) { // L: 170 - var2 = -this.field1484; - } - - if (this.field1484 > var2) { // L: 171 - var2 = this.field1484; - } - - if (-this.field1485 > var2) { // L: 172 - var2 = -this.field1485; - } - - if (this.field1485 > var2) { // L: 173 - var2 = this.field1485; - } - - if (var1 > var2) { // L: 174 - var1 = var2; - } - - this.field1490 = var1; // L: 175 - this.field1480 = Integer.MIN_VALUE; // L: 176 - this.field1491 = -this.field1483 / var1; // L: 177 - this.field1492 = -this.field1484 / var1; // L: 178 - this.field1493 = -this.field1485 / var1; // L: 179 - } - } // L: 159 166 180 - - @ObfuscatedName("aj") - public synchronized void method2621(int var1) { - if (this.field1488 < 0) { // L: 183 - this.field1488 = -var1; - } else { - this.field1488 = var1; // L: 184 - } - - } // L: 185 - - @ObfuscatedName("aq") - public synchronized int method2622() { - return this.field1488 < 0 ? -this.field1488 : this.field1488; // L: 188 - } - - @ObfuscatedName("ah") - public boolean method2623() { - return this.field1479 < 0 || this.field1479 >= ((RawSound)super.sound).samples.length << 8; // L: 192 - } - - @ObfuscatedName("am") - public boolean method2624() { - return this.field1490 != 0; // L: 196 - } - - @ObfuscatedName("ad") - int method2607(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field1490 > 0) { // L: 474 - int var6 = var2 + this.field1490; // L: 475 - if (var6 > var4) { // L: 476 - var6 = var4; - } - - this.field1490 += var2; // L: 477 - if (this.field1488 == 256 && (this.field1479 & 255) == 0) { // L: 478 - if (PcmPlayer.PcmPlayer_stereo) { // L: 479 - var2 = method2642(0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, this.field1492, this.field1493, 0, var6, var3, this); - } else { - var2 = method2641(((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, this.field1491, 0, var6, var3, this); // L: 480 - } - } else if (PcmPlayer.PcmPlayer_stereo) { // L: 483 - var2 = method2646(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, this.field1492, this.field1493, 0, var6, var3, this, this.field1488, var5); - } else { - var2 = method2649(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, this.field1491, 0, var6, var3, this, this.field1488, var5); // L: 484 - } - - this.field1490 -= var2; // L: 486 - if (this.field1490 != 0) { // L: 487 - return var2; - } - - if (!this.method2632()) { // L: 488 - continue; - } - - return var4; - } - - if (this.field1488 == 256 && (this.field1479 & 255) == 0) { // L: 490 - if (PcmPlayer.PcmPlayer_stereo) { // L: 491 - return method2765(0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, 0, var4, var3, this); - } - - return method2626(((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, 0, var4, var3, this); // L: 492 - } - - if (PcmPlayer.PcmPlayer_stereo) { // L: 495 - return method2638(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, 0, var4, var3, this, this.field1488, var5); - } - - return method2739(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, 0, var4, var3, this, this.field1488, var5); // L: 496 - } - } - - @ObfuscatedName("ai") - int method2631(int[] var1, int var2, int var3, int var4, int var5) { - while (true) { - if (this.field1490 > 0) { // L: 501 - int var6 = var2 + this.field1490; // L: 502 - if (var6 > var4) { // L: 503 - var6 = var4; - } - - this.field1490 += var2; // L: 504 - if (this.field1488 == -256 && (this.field1479 & 255) == 0) { // L: 505 - if (PcmPlayer.PcmPlayer_stereo) { // L: 506 - var2 = method2644(0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, this.field1492, this.field1493, 0, var6, var3, this); - } else { - var2 = method2643(((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, this.field1491, 0, var6, var3, this); // L: 507 - } - } else if (PcmPlayer.PcmPlayer_stereo) { // L: 510 - var2 = method2663(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, this.field1492, this.field1493, 0, var6, var3, this, this.field1488, var5); - } else { - var2 = method2619(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, this.field1491, 0, var6, var3, this, this.field1488, var5); // L: 511 - } - - this.field1490 -= var2; // L: 513 - if (this.field1490 != 0) { // L: 514 - return var2; - } - - if (!this.method2632()) { // L: 515 - continue; - } - - return var4; - } - - if (this.field1488 == -256 && (this.field1479 & 255) == 0) { // L: 517 - if (PcmPlayer.PcmPlayer_stereo) { // L: 518 - return method2636(0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, 0, var4, var3, this); - } - - return method2605(((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, 0, var4, var3, this); // L: 519 - } - - if (PcmPlayer.PcmPlayer_stereo) { // L: 522 - return method2640(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1484, this.field1485, 0, var4, var3, this, this.field1488, var5); - } - - return method2639(0, 0, ((RawSound)super.sound).samples, var1, this.field1479, var2, this.field1483, 0, var4, var3, this, this.field1488, var5); // L: 523 - } - } - - @ObfuscatedName("al") - boolean method2632() { - int var1 = this.field1480; // L: 528 - int var2; - int var3; - if (var1 == Integer.MIN_VALUE) { // L: 531 - var3 = 0; // L: 532 - var2 = 0; // L: 533 - var1 = 0; // L: 534 - } else { - var2 = method2669(var1, this.field1482); // L: 537 - var3 = method2603(var1, this.field1482); // L: 538 - } - - if (var1 == this.field1483 && var2 == this.field1484 && var3 == this.field1485) { // L: 540 - if (this.field1480 == Integer.MIN_VALUE) { // L: 570 - this.field1480 = 0; // L: 571 - this.field1485 = 0; // L: 572 - this.field1484 = 0; // L: 573 - this.field1483 = 0; // L: 574 - this.remove(); // L: 575 - return true; // L: 576 - } else { - this.method2608(); // L: 578 - return false; // L: 579 - } - } else { - if (this.field1483 < var1) { // L: 541 - this.field1491 = 1; // L: 542 - this.field1490 = var1 - this.field1483; // L: 543 - } else if (this.field1483 > var1) { // L: 545 - this.field1491 = -1; // L: 546 - this.field1490 = this.field1483 - var1; // L: 547 - } else { - this.field1491 = 0; // L: 549 - } - - if (this.field1484 < var2) { // L: 550 - this.field1492 = 1; // L: 551 - if (this.field1490 == 0 || this.field1490 > var2 - this.field1484) { // L: 552 - this.field1490 = var2 - this.field1484; - } - } else if (this.field1484 > var2) { // L: 554 - this.field1492 = -1; // L: 555 - if (this.field1490 == 0 || this.field1490 > this.field1484 - var2) { // L: 556 - this.field1490 = this.field1484 - var2; - } - } else { - this.field1492 = 0; // L: 558 - } - - if (this.field1485 < var3) { // L: 559 - this.field1493 = 1; // L: 560 - if (this.field1490 == 0 || this.field1490 > var3 - this.field1485) { // L: 561 - this.field1490 = var3 - this.field1485; - } - } else if (this.field1485 > var3) { // L: 563 - this.field1493 = -1; // L: 564 - if (this.field1490 == 0 || this.field1490 > this.field1485 - var3) { // L: 565 - this.field1490 = this.field1485 - var3; - } - } else { - this.field1493 = 0; // L: 567 - } - - return false; // L: 568 - } - } - - @ObfuscatedName("ay") - int vmethod2800() { - int var1 = this.field1483 * 3 >> 6; // L: 31 - var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); // L: 32 - if (this.numLoops == 0) { // L: 33 - var1 -= var1 * this.field1479 / (((RawSound)super.sound).samples.length << 8); - } else if (this.numLoops >= 0) { - var1 -= var1 * this.start / ((RawSound)super.sound).samples.length; // L: 34 - } - - return var1 > 255 ? 255 : var1; // L: 35 - } - - @ObfuscatedName("h") - static int method2669(int var0, int var1) { - return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); // L: 23 - } - - @ObfuscatedName("v") - static int method2603(int var0, int var1) { - return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); // L: 27 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ldf;II)Ldj;" - ) - @Export("createRawPcmStream") - public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(PcmPlayer.field1443 * 100)), var2 << 6) : null; // L: 63 64 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ldf;III)Ldj;" - ) - public static RawPcmStream method2630(RawSound var0, int var1, int var2, int var3) { - return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; // L: 68 69 - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "([B[IIIIIIILdj;)I" - ) - static int method2626(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { - var2 >>= 8; // L: 583 - var7 >>= 8; // L: 584 - var4 <<= 2; // L: 585 - if ((var5 = var3 + var7 - var2) > var6) { // L: 586 - var5 = var6; - } - - int var10001; - for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { // L: 587 588 - var10001 = var3++; // L: 589 - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; // L: 590 - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; // L: 591 - var1[var10001] += var0[var2++] * var4; - var10001 = var3++; // L: 592 - } - - for (var5 += 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { // L: 594 595 - var10001 = var3++; // L: 596 - } - - var8.field1479 = var2 << 8; // L: 598 - return var3; // L: 599 - } - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIILdj;)I" - ) - static int method2765(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { - var3 >>= 8; // L: 603 - var9 >>= 8; // L: 604 - var5 <<= 2; // L: 605 - var6 <<= 2; // L: 606 - if ((var7 = var4 + var9 - var3) > var8) { // L: 607 - var7 = var8; - } - - var4 <<= 1; // L: 608 - var7 <<= 1; // L: 609 - - int var10001; - byte var11; - for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { // L: 610 611 - var11 = var1[var3++]; // L: 612 - var10001 = var4++; // L: 613 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 614 - var2[var10001] += var11 * var6; - var11 = var1[var3++]; // L: 615 - var10001 = var4++; // L: 616 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 617 - var2[var10001] += var11 * var6; - var11 = var1[var3++]; // L: 618 - var10001 = var4++; // L: 619 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 620 - var2[var10001] += var11 * var6; - var11 = var1[var3++]; // L: 621 - var10001 = var4++; - var2[var10001] += var11 * var5; // L: 622 - var10001 = var4++; // L: 623 - } - - for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { // L: 625 626 629 - var11 = var1[var3++]; // L: 627 - var10001 = var4++; // L: 628 - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - var10.field1479 = var3 << 8; // L: 631 - return var4 >> 1; // L: 632 - } - - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "([B[IIIIIIILdj;)I" - ) - static int method2605(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { - var2 >>= 8; // L: 636 - var7 >>= 8; // L: 637 - var4 <<= 2; // L: 638 - if ((var5 = var3 + var2 - (var7 - 1)) > var6) { // L: 639 - var5 = var6; - } - - int var10001; - for (var5 -= 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { // L: 640 641 - var10001 = var3++; // L: 642 - var1[var10001] += var0[var2--] * var4; - var10001 = var3++; - var1[var10001] += var0[var2--] * var4; // L: 643 - var10001 = var3++; // L: 644 - var1[var10001] += var0[var2--] * var4; - var10001 = var3++; // L: 645 - } - - for (var5 += 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { // L: 647 648 - var10001 = var3++; // L: 649 - } - - var8.field1479 = var2 << 8; // L: 651 - return var3; // L: 652 - } - - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIILdj;)I" - ) - static int method2636(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { - var3 >>= 8; // L: 656 - var9 >>= 8; // L: 657 - var5 <<= 2; // L: 658 - var6 <<= 2; // L: 659 - if ((var7 = var3 + var4 - (var9 - 1)) > var8) { // L: 660 - var7 = var8; - } - - var4 <<= 1; // L: 661 - var7 <<= 1; // L: 662 - - int var10001; - byte var11; - for (var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { // L: 663 664 - var11 = var1[var3--]; // L: 665 - var10001 = var4++; // L: 666 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 667 - var2[var10001] += var11 * var6; - var11 = var1[var3--]; // L: 668 - var10001 = var4++; // L: 669 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 670 - var2[var10001] += var11 * var6; - var11 = var1[var3--]; // L: 671 - var10001 = var4++; // L: 672 - var2[var10001] += var11 * var5; - var10001 = var4++; // L: 673 - var2[var10001] += var11 * var6; - var11 = var1[var3--]; // L: 674 - var10001 = var4++; - var2[var10001] += var11 * var5; // L: 675 - var10001 = var4++; // L: 676 - } - - for (var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { // L: 678 679 682 - var11 = var1[var3--]; // L: 680 - var10001 = var4++; // L: 681 - var2[var10001] += var11 * var5; - var10001 = var4++; - } - - var10.field1479 = var3 << 8; // L: 684 - return var4 >> 1; // L: 685 - } - - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIILdj;II)I" - ) - static int method2739(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { // L: 689 - var7 = var8; - } - - byte var13; - int var10001; - while (var5 < var7) { // L: 690 - var1 = var4 >> 8; // L: 691 - var13 = var2[var1]; // L: 692 - var10001 = var5++; // L: 693 - var3[var10001] += ((var13 << 8) + (var2[var1 + 1] - var13) * (var4 & 255)) * var6 >> 6; - var4 += var11; // L: 694 - } - - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 1) / var11) > var8) { // L: 696 - var7 = var8; - } - - for (var1 = var12; var5 < var7; var4 += var11) { // L: 697 698 701 - var13 = var2[var4 >> 8]; // L: 699 - var10001 = var5++; - var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; // L: 700 - } - - var10.field1479 = var4; // L: 703 - return var5; // L: 704 - } - - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILdj;II)I" - ) - static int method2638(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { // L: 708 - var8 = var9; - } - - var5 <<= 1; // L: 709 - - byte var14; - int var10001; - for (var8 <<= 1; var5 < var8; var4 += var12) { // L: 710 711 717 - var1 = var4 >> 8; // L: 712 - var14 = var2[var1]; // L: 713 - var0 = (var14 << 8) + (var4 & 255) * (var2[var1 + 1] - var14); // L: 714 - var10001 = var5++; // L: 715 - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; // L: 716 - var3[var10001] += var0 * var7 >> 6; - } - - if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12 - 1) / var12) > var9) { // L: 719 - var8 = var9; - } - - var8 <<= 1; // L: 720 - - for (var1 = var13; var5 < var8; var4 += var12) { // L: 721 722 727 - var14 = var2[var4 >> 8]; // L: 723 - var0 = (var14 << 8) + (var1 - var14) * (var4 & 255); // L: 724 - var10001 = var5++; // L: 725 - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; // L: 726 - var3[var10001] += var0 * var7 >> 6; - } - - var11.field1479 = var4; // L: 729 - return var5 >> 1; // L: 730 - } - - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIILdj;II)I" - ) - static int method2639(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { - if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { // L: 734 - var7 = var8; - } - - int var10001; - while (var5 < var7) { // L: 735 - var1 = var4 >> 8; // L: 736 - byte var13 = var2[var1 - 1]; // L: 737 - var10001 = var5++; // L: 738 - var3[var10001] += ((var13 << 8) + (var2[var1] - var13) * (var4 & 255)) * var6 >> 6; - var4 += var11; // L: 739 - } - - if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4)) / var11) > var8) { // L: 741 - var7 = var8; - } - - var0 = var12; // L: 742 - - for (var1 = var11; var5 < var7; var4 += var1) { // L: 743 744 746 - var10001 = var5++; - var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; // L: 745 - } - - var10.field1479 = var4; // L: 748 - return var5; // L: 749 - } - - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILdj;II)I" - ) - static int method2640(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { // L: 753 - var8 = var9; - } - - var5 <<= 1; // L: 754 - - int var10001; - for (var8 <<= 1; var5 < var8; var4 += var12) { // L: 755 756 762 - var1 = var4 >> 8; // L: 757 - byte var14 = var2[var1 - 1]; // L: 758 - var0 = (var2[var1] - var14) * (var4 & 255) + (var14 << 8); // L: 759 - var10001 = var5++; // L: 760 - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; // L: 761 - var3[var10001] += var0 * var7 >> 6; - } - - if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12) / var12) > var9) { // L: 764 - var8 = var9; - } - - var8 <<= 1; // L: 765 - - for (var1 = var13; var5 < var8; var4 += var12) { // L: 766 767 771 - var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); // L: 768 - var10001 = var5++; // L: 769 - var3[var10001] += var0 * var6 >> 6; - var10001 = var5++; // L: 770 - var3[var10001] += var0 * var7 >> 6; - } - - var11.field1479 = var4; // L: 773 - return var5 >> 1; // L: 774 - } - - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "([B[IIIIIIIILdj;)I" - ) - static int method2641(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { - var2 >>= 8; // L: 778 - var8 >>= 8; // L: 779 - var4 <<= 2; // L: 780 - var5 <<= 2; // L: 781 - if ((var6 = var3 + var8 - var2) > var7) { // L: 782 - var6 = var7; - } - - var9.field1484 += var9.field1492 * (var6 - var3); // L: 783 - var9.field1485 += var9.field1493 * (var6 - var3); // L: 784 - - int var10001; - for (var6 -= 3; var3 < var6; var4 += var5) { // L: 785 786 794 - var10001 = var3++; // L: 787 - var1[var10001] += var0[var2++] * var4; - var4 += var5; // L: 788 - var10001 = var3++; // L: 789 - var1[var10001] += var0[var2++] * var4; - var4 += var5; // L: 790 - var10001 = var3++; // L: 791 - var1[var10001] += var0[var2++] * var4; - var4 += var5; // L: 792 - var10001 = var3++; // L: 793 - var1[var10001] += var0[var2++] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { // L: 796 797 799 - var10001 = var3++; // L: 798 - var1[var10001] += var0[var2++] * var4; - } - - var9.field1483 = var4 >> 2; // L: 801 - var9.field1479 = var2 << 8; // L: 802 - return var3; // L: 803 - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIIIILdj;)I" - ) - static int method2642(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { - var3 >>= 8; // L: 807 - var11 >>= 8; // L: 808 - var5 <<= 2; // L: 809 - var6 <<= 2; // L: 810 - var7 <<= 2; // L: 811 - var8 <<= 2; // L: 812 - if ((var9 = var11 + var4 - var3) > var10) { // L: 813 - var9 = var10; - } - - var12.field1483 += var12.field1491 * (var9 - var4); // L: 814 - var4 <<= 1; // L: 815 - var9 <<= 1; // L: 816 - - byte var13; - int var10001; - for (var9 -= 6; var4 < var9; var6 += var8) { // L: 817 818 838 - var13 = var1[var3++]; // L: 819 - var10001 = var4++; // L: 820 - var2[var10001] += var13 * var5; - var5 += var7; // L: 821 - var10001 = var4++; // L: 822 - var2[var10001] += var13 * var6; - var6 += var8; // L: 823 - var13 = var1[var3++]; // L: 824 - var10001 = var4++; // L: 825 - var2[var10001] += var13 * var5; - var5 += var7; // L: 826 - var10001 = var4++; // L: 827 - var2[var10001] += var13 * var6; - var6 += var8; // L: 828 - var13 = var1[var3++]; // L: 829 - var10001 = var4++; // L: 830 - var2[var10001] += var13 * var5; - var5 += var7; // L: 831 - var10001 = var4++; // L: 832 - var2[var10001] += var13 * var6; - var6 += var8; // L: 833 - var13 = var1[var3++]; // L: 834 - var10001 = var4++; // L: 835 - var2[var10001] += var13 * var5; - var5 += var7; // L: 836 - var10001 = var4++; - var2[var10001] += var13 * var6; // L: 837 - } - - for (var9 += 6; var4 < var9; var6 += var8) { // L: 840 841 846 - var13 = var1[var3++]; // L: 842 - var10001 = var4++; // L: 843 - var2[var10001] += var13 * var5; - var5 += var7; // L: 844 - var10001 = var4++; // L: 845 - var2[var10001] += var13 * var6; - } - - var12.field1484 = var5 >> 2; // L: 848 - var12.field1485 = var6 >> 2; // L: 849 - var12.field1479 = var3 << 8; // L: 850 - return var4 >> 1; // L: 851 - } - - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "([B[IIIIIIIILdj;)I" - ) - static int method2643(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { - var2 >>= 8; // L: 855 - var8 >>= 8; // L: 856 - var4 <<= 2; // L: 857 - var5 <<= 2; // L: 858 - if ((var6 = var3 + var2 - (var8 - 1)) > var7) { // L: 859 - var6 = var7; - } - - var9.field1484 += var9.field1492 * (var6 - var3); // L: 860 - var9.field1485 += var9.field1493 * (var6 - var3); // L: 861 - - int var10001; - for (var6 -= 3; var3 < var6; var4 += var5) { // L: 862 863 871 - var10001 = var3++; // L: 864 - var1[var10001] += var0[var2--] * var4; - var4 += var5; // L: 865 - var10001 = var3++; // L: 866 - var1[var10001] += var0[var2--] * var4; - var4 += var5; // L: 867 - var10001 = var3++; // L: 868 - var1[var10001] += var0[var2--] * var4; - var4 += var5; // L: 869 - var10001 = var3++; // L: 870 - var1[var10001] += var0[var2--] * var4; - } - - for (var6 += 3; var3 < var6; var4 += var5) { // L: 873 874 876 - var10001 = var3++; // L: 875 - var1[var10001] += var0[var2--] * var4; - } - - var9.field1483 = var4 >> 2; // L: 878 - var9.field1479 = var2 << 8; // L: 879 - return var3; // L: 880 - } - - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "(I[B[IIIIIIIIIILdj;)I" - ) - static int method2644(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { - var3 >>= 8; // L: 884 - var11 >>= 8; // L: 885 - var5 <<= 2; // L: 886 - var6 <<= 2; // L: 887 - var7 <<= 2; // L: 888 - var8 <<= 2; // L: 889 - if ((var9 = var3 + var4 - (var11 - 1)) > var10) { // L: 890 - var9 = var10; - } - - var12.field1483 += var12.field1491 * (var9 - var4); // L: 891 - var4 <<= 1; // L: 892 - var9 <<= 1; // L: 893 - - byte var13; - int var10001; - for (var9 -= 6; var4 < var9; var6 += var8) { // L: 894 895 915 - var13 = var1[var3--]; // L: 896 - var10001 = var4++; // L: 897 - var2[var10001] += var13 * var5; - var5 += var7; // L: 898 - var10001 = var4++; // L: 899 - var2[var10001] += var13 * var6; - var6 += var8; // L: 900 - var13 = var1[var3--]; // L: 901 - var10001 = var4++; // L: 902 - var2[var10001] += var13 * var5; - var5 += var7; // L: 903 - var10001 = var4++; // L: 904 - var2[var10001] += var13 * var6; - var6 += var8; // L: 905 - var13 = var1[var3--]; // L: 906 - var10001 = var4++; // L: 907 - var2[var10001] += var13 * var5; - var5 += var7; // L: 908 - var10001 = var4++; // L: 909 - var2[var10001] += var13 * var6; - var6 += var8; // L: 910 - var13 = var1[var3--]; // L: 911 - var10001 = var4++; // L: 912 - var2[var10001] += var13 * var5; - var5 += var7; // L: 913 - var10001 = var4++; // L: 914 - var2[var10001] += var13 * var6; - } - - for (var9 += 6; var4 < var9; var6 += var8) { // L: 917 918 923 - var13 = var1[var3--]; // L: 919 - var10001 = var4++; // L: 920 - var2[var10001] += var13 * var5; - var5 += var7; // L: 921 - var10001 = var4++; // L: 922 - var2[var10001] += var13 * var6; - } - - var12.field1484 = var5 >> 2; // L: 925 - var12.field1485 = var6 >> 2; // L: 926 - var12.field1479 = var3 << 8; // L: 927 - return var4 >> 1; // L: 928 - } - - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILdj;II)I" - ) - static int method2649(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field1484 -= var11.field1492 * var5; // L: 932 - var11.field1485 -= var11.field1493 * var5; // L: 933 - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { // L: 934 - var8 = var9; - } - - byte var14; - int var10001; - while (var5 < var8) { // L: 935 - var1 = var4 >> 8; // L: 936 - var14 = var2[var1]; // L: 937 - var10001 = var5++; - var3[var10001] += ((var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255)) * var6 >> 6; // L: 938 - var6 += var7; // L: 939 - var4 += var12; // L: 940 - } - - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 1) / var12) > var9) { // L: 942 - var8 = var9; - } - - for (var1 = var13; var5 < var8; var4 += var12) { // L: 943 944 948 - var14 = var2[var4 >> 8]; // L: 945 - var10001 = var5++; // L: 946 - var3[var10001] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; - var6 += var7; // L: 947 - } - - var11.field1484 += var11.field1492 * var5; // L: 950 - var11.field1485 += var11.field1493 * var5; // L: 951 - var11.field1483 = var6; // L: 952 - var11.field1479 = var4; // L: 953 - return var5; // L: 954 - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIIIILdj;II)I" - ) - static int method2646(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { - var13.field1483 -= var5 * var13.field1491; // L: 958 - if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { // L: 959 - var10 = var11; - } - - var5 <<= 1; // L: 960 - - byte var16; - int var10001; - for (var10 <<= 1; var5 < var10; var4 += var14) { // L: 961 962 970 - var1 = var4 >> 8; // L: 963 - var16 = var2[var1]; // L: 964 - var0 = (var16 << 8) + (var4 & 255) * (var2[var1 + 1] - var16); // L: 965 - var10001 = var5++; // L: 966 - var3[var10001] += var0 * var6 >> 6; - var6 += var8; // L: 967 - var10001 = var5++; // L: 968 - var3[var10001] += var0 * var7 >> 6; - var7 += var9; // L: 969 - } - - if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14 - 1) / var14) > var11) { // L: 972 - var10 = var11; - } - - var10 <<= 1; // L: 973 - - for (var1 = var15; var5 < var10; var4 += var14) { // L: 974 975 982 - var16 = var2[var4 >> 8]; // L: 976 - var0 = (var16 << 8) + (var1 - var16) * (var4 & 255); // L: 977 - var10001 = var5++; // L: 978 - var3[var10001] += var0 * var6 >> 6; - var6 += var8; // L: 979 - var10001 = var5++; // L: 980 - var3[var10001] += var0 * var7 >> 6; - var7 += var9; // L: 981 - } - - var5 >>= 1; // L: 984 - var13.field1483 += var13.field1491 * var5; // L: 985 - var13.field1484 = var6; // L: 986 - var13.field1485 = var7; // L: 987 - var13.field1479 = var4; // L: 988 - return var5; // L: 989 - } - - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIILdj;II)I" - ) - static int method2619(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { - var11.field1484 -= var11.field1492 * var5; // L: 993 - var11.field1485 -= var11.field1493 * var5; // L: 994 - if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { // L: 995 - var8 = var9; - } - - int var10001; - while (var5 < var8) { // L: 996 - var1 = var4 >> 8; // L: 997 - byte var14 = var2[var1 - 1]; // L: 998 - var10001 = var5++; - var3[var10001] += ((var14 << 8) + (var2[var1] - var14) * (var4 & 255)) * var6 >> 6; // L: 999 - var6 += var7; // L: 1000 - var4 += var12; // L: 1001 - } - - if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12) / var12) > var9) { // L: 1003 - var8 = var9; - } - - var0 = var13; // L: 1004 - - for (var1 = var12; var5 < var8; var4 += var1) { // L: 1005 1006 1009 - var10001 = var5++; // L: 1007 - var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; - var6 += var7; // L: 1008 - } - - var11.field1484 += var11.field1492 * var5; // L: 1011 - var11.field1485 += var11.field1493 * var5; // L: 1012 - var11.field1483 = var6; // L: 1013 - var11.field1479 = var4; // L: 1014 - return var5; // L: 1015 - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "(II[B[IIIIIIIIIILdj;II)I" - ) - static int method2663(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { - var13.field1483 -= var5 * var13.field1491; // L: 1019 - if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { // L: 1020 - var10 = var11; - } - - var5 <<= 1; // L: 1021 - - int var10001; - for (var10 <<= 1; var5 < var10; var4 += var14) { // L: 1022 1023 1031 - var1 = var4 >> 8; // L: 1024 - byte var16 = var2[var1 - 1]; // L: 1025 - var0 = (var2[var1] - var16) * (var4 & 255) + (var16 << 8); // L: 1026 - var10001 = var5++; // L: 1027 - var3[var10001] += var0 * var6 >> 6; - var6 += var8; // L: 1028 - var10001 = var5++; // L: 1029 - var3[var10001] += var0 * var7 >> 6; - var7 += var9; // L: 1030 - } - - if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14) / var14) > var11) { // L: 1033 - var10 = var11; - } - - var10 <<= 1; // L: 1034 - - for (var1 = var15; var5 < var10; var4 += var14) { // L: 1035 1036 1042 - var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); // L: 1037 - var10001 = var5++; // L: 1038 - var3[var10001] += var0 * var6 >> 6; - var6 += var8; // L: 1039 - var10001 = var5++; // L: 1040 - var3[var10001] += var0 * var7 >> 6; - var7 += var9; // L: 1041 - } - - var5 >>= 1; // L: 1044 - var13.field1483 += var13.field1491 * var5; // L: 1045 - var13.field1484 = var6; // L: 1046 - var13.field1485 = var7; // L: 1047 - var13.field1479 = var4; // L: 1048 - return var5; // L: 1049 - } + @ObfuscatedName("n") + int field1496; + @ObfuscatedName("v") + int field1484; + @ObfuscatedName("d") + int field1485; + @ObfuscatedName("c") + int field1486; + @ObfuscatedName("y") + int field1487; + @ObfuscatedName("h") + int field1488; + @ObfuscatedName("z") + int field1495; + @ObfuscatedName("e") + @Export("numLoops") + int numLoops; + @ObfuscatedName("q") + @Export("start") + int start; + @ObfuscatedName("l") + @Export("end") + int end; + @ObfuscatedName("s") + boolean field1493; + @ObfuscatedName("b") + int field1483; + @ObfuscatedName("a") + int field1494; + @ObfuscatedName("k") + int field1489; + @ObfuscatedName("i") + int field1497; + + @ObfuscatedSignature( + descriptor = "(Ldm;III)V" + ) + RawPcmStream(RawSound var1, int var2, int var3, int var4) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1493 = var1.field1404; + this.field1484 = var2; + this.field1485 = var3; + this.field1486 = var4; + this.field1496 = 0; + this.method2714(); + } + + @ObfuscatedSignature( + descriptor = "(Ldm;II)V" + ) + RawPcmStream(RawSound var1, int var2, int var3) { + super.sound = var1; + this.start = var1.start; + this.end = var1.end; + this.field1493 = var1.field1404; + this.field1484 = var2; + this.field1485 = var3; + this.field1486 = 8192; + this.field1496 = 0; + this.method2714(); + } + + @ObfuscatedName("y") + void method2714() { + this.field1487 = this.field1485; + this.field1488 = method2836(this.field1485, this.field1486); + this.field1495 = method2710(this.field1485, this.field1486); + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("firstSubStream") + protected PcmStream firstSubStream() { + return null; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "()Ldw;" + ) + @Export("nextSubStream") + protected PcmStream nextSubStream() { + return null; + } + + @ObfuscatedName("e") + protected int vmethod4099() { + return this.field1485 == 0 && this.field1483 == 0 ? 0 : 1; + } + + @ObfuscatedName("q") + @Export("fill") + public synchronized void fill(int[] var1, int var2, int var3) { + if (this.field1485 == 0 && this.field1483 == 0) { + this.skip(var3); + } else { + RawSound var4 = (RawSound)super.sound; + int var5 = this.start << 8; + int var6 = this.end << 8; + int var7 = var4.samples.length << 8; + int var8 = var6 - var5; + if (var8 <= 0) { + this.numLoops = 0; + } + + int var9 = var2; + var3 += var2; + if (this.field1496 < 0) { + if (this.field1484 <= 0) { + this.method2723(); + this.remove(); + return; + } + + this.field1496 = 0; + } + + if (this.field1496 >= var7) { + if (this.field1484 >= 0) { + this.method2723(); + this.remove(); + return; + } + + this.field1496 = var7 - 1; + } + + if (this.numLoops < 0) { + if (this.field1493) { + if (this.field1484 < 0) { + var9 = this.method2737(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1496 >= var5) { + return; + } + + this.field1496 = var5 + var5 - 1 - this.field1496; + this.field1484 = -this.field1484; + } + + while(true) { + var9 = this.method2736(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1496 < var6) { + return; + } + + this.field1496 = var6 + var6 - 1 - this.field1496; + this.field1484 = -this.field1484; + var9 = this.method2737(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1496 >= var5) { + return; + } + + this.field1496 = var5 + var5 - 1 - this.field1496; + this.field1484 = -this.field1484; + } + } else if (this.field1484 < 0) { + while(true) { + var9 = this.method2737(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1496 >= var5) { + return; + } + + this.field1496 = var6 - 1 - (var6 - 1 - this.field1496) % var8; + } + } else { + while(true) { + var9 = this.method2736(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1496 < var6) { + return; + } + + this.field1496 = var5 + (this.field1496 - var5) % var8; + } + } + } else { + if (this.numLoops > 0) { + if (this.field1493) { + label127: { + if (this.field1484 < 0) { + var9 = this.method2737(var1, var2, var5, var3, var4.samples[this.start]); + if (this.field1496 >= var5) { + return; + } + + this.field1496 = var5 + var5 - 1 - this.field1496; + this.field1484 = -this.field1484; + if (--this.numLoops == 0) { + break label127; + } + } + + do { + var9 = this.method2736(var1, var9, var6, var3, var4.samples[this.end - 1]); + if (this.field1496 < var6) { + return; + } + + this.field1496 = var6 + var6 - 1 - this.field1496; + this.field1484 = -this.field1484; + if (--this.numLoops == 0) { + break; + } + + var9 = this.method2737(var1, var9, var5, var3, var4.samples[this.start]); + if (this.field1496 >= var5) { + return; + } + + this.field1496 = var5 + var5 - 1 - this.field1496; + this.field1484 = -this.field1484; + } while(--this.numLoops != 0); + } + } else { + int var10; + if (this.field1484 < 0) { + while(true) { + var9 = this.method2737(var1, var9, var5, var3, var4.samples[this.end - 1]); + if (this.field1496 >= var5) { + return; + } + + var10 = (var6 - 1 - this.field1496) / var8; + if (var10 >= this.numLoops) { + this.field1496 += var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1496 += var8 * var10; + this.numLoops -= var10; + } + } else { + while(true) { + var9 = this.method2736(var1, var9, var6, var3, var4.samples[this.start]); + if (this.field1496 < var6) { + return; + } + + var10 = (this.field1496 - var5) / var8; + if (var10 >= this.numLoops) { + this.field1496 -= var8 * this.numLoops; + this.numLoops = 0; + break; + } + + this.field1496 -= var8 * var10; + this.numLoops -= var10; + } + } + } + } + + if (this.field1484 < 0) { + this.method2737(var1, var9, 0, var3, 0); + if (this.field1496 < 0) { + this.field1496 = -1; + this.method2723(); + this.remove(); + } + } else { + this.method2736(var1, var9, var7, var3, 0); + if (this.field1496 >= var7) { + this.field1496 = var7; + this.method2723(); + this.remove(); + } + } + + } + } + } + + @ObfuscatedName("l") + @Export("setNumLoops") + public synchronized void setNumLoops(int var1) { + this.numLoops = var1; + } + + @ObfuscatedName("s") + @Export("skip") + public synchronized void skip(int var1) { + if (this.field1483 > 0) { + if (var1 >= this.field1483) { + if (this.field1485 == Integer.MIN_VALUE) { + this.field1485 = 0; + this.field1495 = 0; + this.field1488 = 0; + this.field1487 = 0; + this.remove(); + var1 = this.field1483; + } + + this.field1483 = 0; + this.method2714(); + } else { + this.field1487 += this.field1494 * var1; + this.field1488 += this.field1489 * var1; + this.field1495 += this.field1497 * var1; + this.field1483 -= var1; + } + } + + RawSound var2 = (RawSound)super.sound; + int var3 = this.start << 8; + int var4 = this.end << 8; + int var5 = var2.samples.length << 8; + int var6 = var4 - var3; + if (var6 <= 0) { + this.numLoops = 0; + } + + if (this.field1496 < 0) { + if (this.field1484 <= 0) { + this.method2723(); + this.remove(); + return; + } + + this.field1496 = 0; + } + + if (this.field1496 >= var5) { + if (this.field1484 >= 0) { + this.method2723(); + this.remove(); + return; + } + + this.field1496 = var5 - 1; + } + + this.field1496 += this.field1484 * var1; + if (this.numLoops < 0) { + if (!this.field1493) { + if (this.field1484 < 0) { + if (this.field1496 >= var3) { + return; + } + + this.field1496 = var4 - 1 - (var4 - 1 - this.field1496) % var6; + } else { + if (this.field1496 < var4) { + return; + } + + this.field1496 = var3 + (this.field1496 - var3) % var6; + } + + } else { + if (this.field1484 < 0) { + if (this.field1496 >= var3) { + return; + } + + this.field1496 = var3 + var3 - 1 - this.field1496; + this.field1484 = -this.field1484; + } + + while(this.field1496 >= var4) { + this.field1496 = var4 + var4 - 1 - this.field1496; + this.field1484 = -this.field1484; + if (this.field1496 >= var3) { + return; + } + + this.field1496 = var3 + var3 - 1 - this.field1496; + this.field1484 = -this.field1484; + } + + } + } else { + if (this.numLoops > 0) { + if (this.field1493) { + label129: { + if (this.field1484 < 0) { + if (this.field1496 >= var3) { + return; + } + + this.field1496 = var3 + var3 - 1 - this.field1496; + this.field1484 = -this.field1484; + if (--this.numLoops == 0) { + break label129; + } + } + + do { + if (this.field1496 < var4) { + return; + } + + this.field1496 = var4 + var4 - 1 - this.field1496; + this.field1484 = -this.field1484; + if (--this.numLoops == 0) { + break; + } + + if (this.field1496 >= var3) { + return; + } + + this.field1496 = var3 + var3 - 1 - this.field1496; + this.field1484 = -this.field1484; + } while(--this.numLoops != 0); + } + } else { + label161: { + int var7; + if (this.field1484 < 0) { + if (this.field1496 >= var3) { + return; + } + + var7 = (var4 - 1 - this.field1496) / var6; + if (var7 >= this.numLoops) { + this.field1496 += var6 * this.numLoops; + this.numLoops = 0; + break label161; + } + + this.field1496 += var6 * var7; + this.numLoops -= var7; + } else { + if (this.field1496 < var4) { + return; + } + + var7 = (this.field1496 - var3) / var6; + if (var7 >= this.numLoops) { + this.field1496 -= var6 * this.numLoops; + this.numLoops = 0; + break label161; + } + + this.field1496 -= var6 * var7; + this.numLoops -= var7; + } + + return; + } + } + } + + if (this.field1484 < 0) { + if (this.field1496 < 0) { + this.field1496 = -1; + this.method2723(); + this.remove(); + } + } else if (this.field1496 >= var5) { + this.field1496 = var5; + this.method2723(); + this.remove(); + } + + } + } + + @ObfuscatedName("b") + public synchronized void method2796(int var1) { + this.method2718(var1 << 6, this.method2773()); + } + + @ObfuscatedName("a") + synchronized void method2717(int var1) { + this.method2718(var1, this.method2773()); + } + + @ObfuscatedName("w") + synchronized void method2718(int var1, int var2) { + this.field1485 = var1; + this.field1486 = var2; + this.field1483 = 0; + this.method2714(); + } + + @ObfuscatedName("k") + public synchronized int method2719() { + return this.field1485 == Integer.MIN_VALUE ? 0 : this.field1485; + } + + @ObfuscatedName("i") + public synchronized int method2773() { + return this.field1486 < 0 ? -1 : this.field1486; + } + + @ObfuscatedName("x") + public synchronized void method2781(int var1) { + int var2 = ((RawSound)super.sound).samples.length << 8; + if (var1 < -1) { + var1 = -1; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1496 = var1; + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Z)V", + garbageValue = "1" + ) + public synchronized void method2722() { + this.field1484 = (this.field1484 ^ this.field1484 >> 31) + (this.field1484 >>> 31); + this.field1484 = -this.field1484; + } + + @ObfuscatedName("u") + void method2723() { + if (this.field1483 != 0) { + if (this.field1485 == Integer.MIN_VALUE) { + this.field1485 = 0; + } + + this.field1483 = 0; + this.method2714(); + } + + } + + @ObfuscatedName("t") + public synchronized void method2741(int var1, int var2) { + this.method2843(var1, var2, this.method2773()); + } + + @ObfuscatedName("p") + public synchronized void method2843(int var1, int var2, int var3) { + if (var1 == 0) { + this.method2718(var2, var3); + } else { + int var4 = method2836(var2, var3); + int var5 = method2710(var2, var3); + if (var4 == this.field1488 && var5 == this.field1495) { + this.field1483 = 0; + } else { + int var6 = var2 - this.field1487; + if (this.field1487 - var2 > var6) { + var6 = this.field1487 - var2; + } + + if (var4 - this.field1488 > var6) { + var6 = var4 - this.field1488; + } + + if (this.field1488 - var4 > var6) { + var6 = this.field1488 - var4; + } + + if (var5 - this.field1495 > var6) { + var6 = var5 - this.field1495; + } + + if (this.field1495 - var5 > var6) { + var6 = this.field1495 - var5; + } + + if (var1 > var6) { + var1 = var6; + } + + this.field1483 = var1; + this.field1485 = var2; + this.field1486 = var3; + this.field1494 = (var2 - this.field1487) / var1; + this.field1489 = (var4 - this.field1488) / var1; + this.field1497 = (var5 - this.field1495) / var1; + } + } + } + + @ObfuscatedName("o") + public synchronized void method2803(int var1) { + if (var1 == 0) { + this.method2717(0); + this.remove(); + } else if (this.field1488 == 0 && this.field1495 == 0) { + this.field1483 = 0; + this.field1485 = 0; + this.field1487 = 0; + this.remove(); + } else { + int var2 = -this.field1487; + if (this.field1487 > var2) { + var2 = this.field1487; + } + + if (-this.field1488 > var2) { + var2 = -this.field1488; + } + + if (this.field1488 > var2) { + var2 = this.field1488; + } + + if (-this.field1495 > var2) { + var2 = -this.field1495; + } + + if (this.field1495 > var2) { + var2 = this.field1495; + } + + if (var1 > var2) { + var1 = var2; + } + + this.field1483 = var1; + this.field1485 = Integer.MIN_VALUE; + this.field1494 = -this.field1487 / var1; + this.field1489 = -this.field1488 / var1; + this.field1497 = -this.field1495 / var1; + } + } + + @ObfuscatedName("ay") + public synchronized void method2802(int var1) { + if (this.field1484 < 0) { + this.field1484 = -var1; + } else { + this.field1484 = var1; + } + + } + + @ObfuscatedName("am") + public synchronized int method2728() { + return this.field1484 < 0 ? -this.field1484 : this.field1484; + } + + @ObfuscatedName("ag") + public boolean method2786() { + return this.field1496 < 0 || this.field1496 >= ((RawSound)super.sound).samples.length << 8; + } + + @ObfuscatedName("ae") + public boolean method2730() { + return this.field1483 != 0; + } + + @ObfuscatedName("ac") + int method2736(int[] var1, int var2, int var3, int var4, int var5) { + while(true) { + if (this.field1483 > 0) { + int var6 = var2 + this.field1483; + if (var6 > var4) { + var6 = var4; + } + + this.field1483 += var2; + if (this.field1484 == 256 && (this.field1496 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2748(0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, this.field1489, this.field1497, 0, var6, var3, this); + } else { + var2 = method2747(((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, this.field1494, 0, var6, var3, this); + } + } else if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2746(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, this.field1489, this.field1497, 0, var6, var3, this, this.field1484, var5); + } else { + var2 = method2751(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, this.field1494, 0, var6, var3, this, this.field1484, var5); + } + + this.field1483 -= var2; + if (this.field1483 != 0) { + return var2; + } + + if (!this.method2738()) { + continue; + } + + return var4; + } + + if (this.field1484 == 256 && (this.field1496 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + return method2813(0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, 0, var4, var3, this); + } + + return method2752(((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, 0, var4, var3, this); + } + + if (PcmPlayer.PcmPlayer_stereo) { + return method2744(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, 0, var4, var3, this, this.field1484, var5); + } + + return method2758(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, 0, var4, var3, this, this.field1484, var5); + } + } + + @ObfuscatedName("aq") + int method2737(int[] var1, int var2, int var3, int var4, int var5) { + while(true) { + if (this.field1483 > 0) { + int var6 = var2 + this.field1483; + if (var6 > var4) { + var6 = var4; + } + + this.field1483 += var2; + if (this.field1484 == -256 && (this.field1496 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2750(0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, this.field1489, this.field1497, 0, var6, var3, this); + } else { + var2 = method2749(((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, this.field1494, 0, var6, var3, this); + } + } else if (PcmPlayer.PcmPlayer_stereo) { + var2 = method2847(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, this.field1489, this.field1497, 0, var6, var3, this, this.field1484, var5); + } else { + var2 = method2771(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, this.field1494, 0, var6, var3, this, this.field1484, var5); + } + + this.field1483 -= var2; + if (this.field1483 != 0) { + return var2; + } + + if (!this.method2738()) { + continue; + } + + return var4; + } + + if (this.field1484 == -256 && (this.field1496 & 255) == 0) { + if (PcmPlayer.PcmPlayer_stereo) { + return method2742(0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, 0, var4, var3, this); + } + + return method2735(((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, 0, var4, var3, this); + } + + if (PcmPlayer.PcmPlayer_stereo) { + return method2829(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1488, this.field1495, 0, var4, var3, this, this.field1484, var5); + } + + return method2766(0, 0, ((RawSound)super.sound).samples, var1, this.field1496, var2, this.field1487, 0, var4, var3, this, this.field1484, var5); + } + } + + @ObfuscatedName("at") + boolean method2738() { + int var1 = this.field1485; + int var2; + int var3; + if (var1 == Integer.MIN_VALUE) { + var3 = 0; + var2 = 0; + var1 = 0; + } else { + var2 = method2836(var1, this.field1486); + var3 = method2710(var1, this.field1486); + } + + if (var1 == this.field1487 && var2 == this.field1488 && var3 == this.field1495) { + if (this.field1485 == Integer.MIN_VALUE) { + this.field1485 = 0; + this.field1495 = 0; + this.field1488 = 0; + this.field1487 = 0; + this.remove(); + return true; + } else { + this.method2714(); + return false; + } + } else { + if (this.field1487 < var1) { + this.field1494 = 1; + this.field1483 = var1 - this.field1487; + } else if (this.field1487 > var1) { + this.field1494 = -1; + this.field1483 = this.field1487 - var1; + } else { + this.field1494 = 0; + } + + if (this.field1488 < var2) { + this.field1489 = 1; + if (this.field1483 == 0 || this.field1483 > var2 - this.field1488) { + this.field1483 = var2 - this.field1488; + } + } else if (this.field1488 > var2) { + this.field1489 = -1; + if (this.field1483 == 0 || this.field1483 > this.field1488 - var2) { + this.field1483 = this.field1488 - var2; + } + } else { + this.field1489 = 0; + } + + if (this.field1495 < var3) { + this.field1497 = 1; + if (this.field1483 == 0 || this.field1483 > var3 - this.field1495) { + this.field1483 = var3 - this.field1495; + } + } else if (this.field1495 > var3) { + this.field1497 = -1; + if (this.field1483 == 0 || this.field1483 > this.field1495 - var3) { + this.field1483 = this.field1495 - var3; + } + } else { + this.field1497 = 0; + } + + return false; + } + } + + @ObfuscatedName("bi") + int vmethod2880() { + int var1 = this.field1487 * 3 >> 6; + var1 = (var1 ^ var1 >> 31) + (var1 >>> 31); + if (this.numLoops == 0) { + var1 -= var1 * this.field1496 / (((RawSound)super.sound).samples.length << 8); + } else if (this.numLoops >= 0) { + var1 -= var1 * this.start / ((RawSound)super.sound).samples.length; + } + + return var1 > 255 ? 255 : var1; + } + + @ObfuscatedName("n") + static int method2836(int var0, int var1) { + return var1 < 0 ? var0 : (int)((double)var0 * Math.sqrt((double)(16384 - var1) * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("v") + static int method2710(int var0, int var1) { + return var1 < 0 ? -var0 : (int)((double)var0 * Math.sqrt((double)var1 * 1.220703125E-4D) + 0.5D); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ldm;II)Ldt;" + ) + @Export("createRawPcmStream") + public static RawPcmStream createRawPcmStream(RawSound var0, int var1, int var2) { + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, (int)((long)var0.sampleRate * 256L * (long)var1 / (long)(StructComposition.field3338 * 2205000)), var2 << 6) : null; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ldm;III)Ldt;" + ) + public static RawPcmStream method2845(RawSound var0, int var1, int var2, int var3) { + return var0.samples != null && var0.samples.length != 0 ? new RawPcmStream(var0, var1, var2, var3) : null; + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "([B[IIIIIIILdt;)I" + ) + static int method2752(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if ((var5 = var3 + var7 - var2) > var6) { + var5 = var6; + } + + int var10001; + for(var5 -= 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var10001 = var3++; + } + + for(var5 += 3; var3 < var5; var1[var10001] += var0[var2++] * var4) { + var10001 = var3++; + } + + var8.field1496 = var2 << 8; + return var3; + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(I[B[IIIIIIIILdt;)I" + ) + static int method2813(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if ((var7 = var4 + var9 - var3) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + int var10001; + byte var11; + for(var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for(var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.field1496 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "([B[IIIIIIILdt;)I" + ) + static int method2735(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, RawPcmStream var8) { + var2 >>= 8; + var7 >>= 8; + var4 <<= 2; + if ((var5 = var3 + var2 - (var7 - 1)) > var6) { + var5 = var6; + } + + int var10001; + for(var5 -= 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var10001 = var3++; + } + + for(var5 += 3; var3 < var5; var1[var10001] += var0[var2--] * var4) { + var10001 = var3++; + } + + var8.field1496 = var2 << 8; + return var3; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "(I[B[IIIIIIIILdt;)I" + ) + static int method2742(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10) { + var3 >>= 8; + var9 >>= 8; + var5 <<= 2; + var6 <<= 2; + if ((var7 = var3 + var4 - (var9 - 1)) > var8) { + var7 = var8; + } + + var4 <<= 1; + var7 <<= 1; + + int var10001; + byte var11; + for(var7 -= 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + var2[var10001] += var11 * var6; + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + for(var7 += 6; var4 < var7; var2[var10001] += var11 * var6) { + var11 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var11 * var5; + var10001 = var4++; + } + + var10.field1496 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIILdt;II)I" + ) + static int method2758(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 257) / var11) > var8) { + var7 = var8; + } + + byte var13; + int var10001; + while(var5 < var7) { + var1 = var4 >> 8; + var13 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1 + 1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4) - 1) / var11) > var8) { + var7 = var8; + } + + for(var1 = var12; var5 < var7; var4 += var11) { + var13 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var1 - var13) * (var4 & 255)) * var6 >> 6; + } + + var10.field1496 = var4; + return var5; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIILdt;II)I" + ) + static int method2744(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + byte var14; + int var10001; + for(var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + var14 = var2[var1]; + var0 = (var14 << 8) + (var4 & 255) * (var2[var1 + 1] - var14); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for(var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var0 = (var14 << 8) + (var1 - var14) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.field1496 = var4; + return var5 >> 1; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIILdt;II)I" + ) + static int method2766(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, RawPcmStream var10, int var11, int var12) { + if (var11 == 0 || (var7 = var5 + (var11 + (var9 + 256 - var4)) / var11) > var8) { + var7 = var8; + } + + int var10001; + while(var5 < var7) { + var1 = var4 >> 8; + byte var13 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var13 << 8) + (var2[var1] - var13) * (var4 & 255)) * var6 >> 6; + var4 += var11; + } + + if (var11 == 0 || (var7 = var5 + (var11 + (var9 - var4)) / var11) > var8) { + var7 = var8; + } + + var0 = var12; + + for(var1 = var11; var5 < var7; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + } + + var10.field1496 = var4; + return var5; + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIILdt;II)I" + ) + static int method2829(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var5 <<= 1; + + int var10001; + for(var8 <<= 1; var5 < var8; var4 += var12) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var0 = (var2[var1] - var14) * (var4 & 255) + (var14 << 8); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + if (var12 == 0 || (var8 = (var5 >> 1) + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var8 <<= 1; + + for(var1 = var13; var5 < var8; var4 += var12) { + var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + } + + var11.field1496 = var4; + return var5 >> 1; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "([B[IIIIIIIILdt;)I" + ) + static int method2747(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if ((var6 = var3 + var8 - var2) > var7) { + var6 = var7; + } + + var9.field1488 += var9.field1489 * (var6 - var3); + var9.field1495 += var9.field1497 * (var6 - var3); + + int var10001; + for(var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + for(var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2++] * var4; + } + + var9.field1487 = var4 >> 2; + var9.field1496 = var2 << 8; + return var3; + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "(I[B[IIIIIIIIIILdt;)I" + ) + static int method2748(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if ((var9 = var11 + var4 - var3) > var10) { + var9 = var10; + } + + var12.field1487 += var12.field1494 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + byte var13; + int var10001; + for(var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for(var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3++]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.field1488 = var5 >> 2; + var12.field1495 = var6 >> 2; + var12.field1496 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "([B[IIIIIIIILdt;)I" + ) + static int method2749(byte[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, RawPcmStream var9) { + var2 >>= 8; + var8 >>= 8; + var4 <<= 2; + var5 <<= 2; + if ((var6 = var3 + var2 - (var8 - 1)) > var7) { + var6 = var7; + } + + var9.field1488 += var9.field1489 * (var6 - var3); + var9.field1495 += var9.field1497 * (var6 - var3); + + int var10001; + for(var6 -= 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + var4 += var5; + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + for(var6 += 3; var3 < var6; var4 += var5) { + var10001 = var3++; + var1[var10001] += var0[var2--] * var4; + } + + var9.field1487 = var4 >> 2; + var9.field1496 = var2 << 8; + return var3; + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "(I[B[IIIIIIIIIILdt;)I" + ) + static int method2750(int var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, RawPcmStream var12) { + var3 >>= 8; + var11 >>= 8; + var5 <<= 2; + var6 <<= 2; + var7 <<= 2; + var8 <<= 2; + if ((var9 = var3 + var4 - (var11 - 1)) > var10) { + var9 = var10; + } + + var12.field1487 += var12.field1494 * (var9 - var4); + var4 <<= 1; + var9 <<= 1; + + byte var13; + int var10001; + for(var9 -= 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + var6 += var8; + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + for(var9 += 6; var4 < var9; var6 += var8) { + var13 = var1[var3--]; + var10001 = var4++; + var2[var10001] += var13 * var5; + var5 += var7; + var10001 = var4++; + var2[var10001] += var13 * var6; + } + + var12.field1488 = var5 >> 2; + var12.field1495 = var6 >> 2; + var12.field1496 = var3 << 8; + return var4 >> 1; + } + + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIILdt;II)I" + ) + static int method2751(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field1488 -= var11.field1489 * var5; + var11.field1495 -= var11.field1497 * var5; + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 257) / var12) > var9) { + var8 = var9; + } + + byte var14; + int var10001; + while(var5 < var8) { + var1 = var4 >> 8; + var14 = var2[var1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1 + 1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12 - 1) / var12) > var9) { + var8 = var9; + } + + for(var1 = var13; var5 < var8; var4 += var12) { + var14 = var2[var4 >> 8]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var1 - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.field1488 += var11.field1489 * var5; + var11.field1495 += var11.field1497 * var5; + var11.field1487 = var6; + var11.field1496 = var4; + return var5; + } + + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIIIILdt;II)I" + ) + static int method2746(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { + var13.field1487 -= var5 * var13.field1494; + if (var14 == 0 || (var10 = var5 + (var12 - var4 + var14 - 257) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + byte var16; + int var10001; + for(var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + var16 = var2[var1]; + var0 = (var16 << 8) + (var4 & 255) * (var2[var1 + 1] - var16); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14 - 1) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for(var1 = var15; var5 < var10; var4 += var14) { + var16 = var2[var4 >> 8]; + var0 = (var16 << 8) + (var1 - var16) * (var4 & 255); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.field1487 += var13.field1494 * var5; + var13.field1488 = var6; + var13.field1495 = var7; + var13.field1496 = var4; + return var5; + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIILdt;II)I" + ) + static int method2771(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, RawPcmStream var11, int var12, int var13) { + var11.field1488 -= var11.field1489 * var5; + var11.field1495 -= var11.field1497 * var5; + if (var12 == 0 || (var8 = var5 + (var10 + 256 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + int var10001; + while(var5 < var8) { + var1 = var4 >> 8; + byte var14 = var2[var1 - 1]; + var10001 = var5++; + var3[var10001] += ((var14 << 8) + (var2[var1] - var14) * (var4 & 255)) * var6 >> 6; + var6 += var7; + var4 += var12; + } + + if (var12 == 0 || (var8 = var5 + (var10 - var4 + var12) / var12) > var9) { + var8 = var9; + } + + var0 = var13; + + for(var1 = var12; var5 < var8; var4 += var1) { + var10001 = var5++; + var3[var10001] += ((var0 << 8) + (var2[var4 >> 8] - var0) * (var4 & 255)) * var6 >> 6; + var6 += var7; + } + + var11.field1488 += var11.field1489 * var5; + var11.field1495 += var11.field1497 * var5; + var11.field1487 = var6; + var11.field1496 = var4; + return var5; + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "(II[B[IIIIIIIIIILdt;II)I" + ) + static int method2847(int var0, int var1, byte[] var2, int[] var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12, RawPcmStream var13, int var14, int var15) { + var13.field1487 -= var5 * var13.field1494; + if (var14 == 0 || (var10 = var5 + (var12 + 256 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var5 <<= 1; + + int var10001; + for(var10 <<= 1; var5 < var10; var4 += var14) { + var1 = var4 >> 8; + byte var16 = var2[var1 - 1]; + var0 = (var2[var1] - var16) * (var4 & 255) + (var16 << 8); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + if (var14 == 0 || (var10 = (var5 >> 1) + (var12 - var4 + var14) / var14) > var11) { + var10 = var11; + } + + var10 <<= 1; + + for(var1 = var15; var5 < var10; var4 += var14) { + var0 = (var1 << 8) + (var4 & 255) * (var2[var4 >> 8] - var1); + var10001 = var5++; + var3[var10001] += var0 * var6 >> 6; + var6 += var8; + var10001 = var5++; + var3[var10001] += var0 * var7 >> 6; + var7 += var9; + } + + var5 >>= 1; + var13.field1487 += var13.field1494 * var5; + var13.field1488 = var6; + var13.field1495 = var7; + var13.field1496 = var4; + return var5; + } } diff --git a/runescape-client/src/main/java/RawSound.java b/runescape-client/src/main/java/RawSound.java index 6942ebe477..fe0905bb63 100644 --- a/runescape-client/src/main/java/RawSound.java +++ b/runescape-client/src/main/java/RawSound.java @@ -3,57 +3,57 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("df") +@ObfuscatedName("dm") @Implements("RawSound") public class RawSound extends AbstractSound { - @ObfuscatedName("h") - @Export("sampleRate") - public int sampleRate; - @ObfuscatedName("v") - @Export("samples") - public byte[] samples; - @ObfuscatedName("x") - @Export("start") - public int start; - @ObfuscatedName("w") - @Export("end") - int end; - @ObfuscatedName("t") - public boolean field1408; + @ObfuscatedName("n") + @Export("sampleRate") + public int sampleRate; + @ObfuscatedName("v") + @Export("samples") + public byte[] samples; + @ObfuscatedName("d") + @Export("start") + public int start; + @ObfuscatedName("c") + @Export("end") + int end; + @ObfuscatedName("y") + public boolean field1404; - RawSound(int var1, byte[] var2, int var3, int var4) { - this.sampleRate = var1; // L: 13 - this.samples = var2; // L: 14 - this.start = var3; // L: 15 - this.end = var4; // L: 16 - } // L: 17 + RawSound(int var1, byte[] var2, int var3, int var4) { + this.sampleRate = var1; + this.samples = var2; + this.start = var3; + this.end = var4; + } - RawSound(int var1, byte[] var2, int var3, int var4, boolean var5) { - this.sampleRate = var1; // L: 20 - this.samples = var2; // L: 21 - this.start = var3; // L: 22 - this.end = var4; // L: 23 - this.field1408 = var5; // L: 24 - } // L: 25 + RawSound(int var1, byte[] var2, int var3, int var4, boolean var5) { + this.sampleRate = var1; + this.samples = var2; + this.start = var3; + this.end = var4; + this.field1404 = var5; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ldn;)Ldf;" - ) - @Export("resample") - public RawSound resample(Decimator var1) { - this.samples = var1.resample(this.samples); // L: 28 - this.sampleRate = var1.scaleRate(this.sampleRate); // L: 29 - if (this.start == this.end) { // L: 30 - this.start = this.end = var1.scalePosition(this.start); - } else { - this.start = var1.scalePosition(this.start); // L: 32 - this.end = var1.scalePosition(this.end); // L: 33 - if (this.start == this.end) { // L: 34 - --this.start; - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ldq;)Ldm;" + ) + @Export("resample") + public RawSound resample(Decimator var1) { + this.samples = var1.resample(this.samples); + this.sampleRate = var1.scaleRate(this.sampleRate); + if (this.start == this.end) { + this.start = this.end = var1.scalePosition(this.start); + } else { + this.start = var1.scalePosition(this.start); + this.end = var1.scalePosition(this.end); + if (this.start == this.end) { + --this.start; + } + } - return this; // L: 36 - } + return this; + } } diff --git a/runescape-client/src/main/java/ReflectionCheck.java b/runescape-client/src/main/java/ReflectionCheck.java index 5b466b00de..7843897fc1 100644 --- a/runescape-client/src/main/java/ReflectionCheck.java +++ b/runescape-client/src/main/java/ReflectionCheck.java @@ -1,5 +1,7 @@ import java.lang.reflect.Field; import java.lang.reflect.Method; +import java.net.MalformedURLException; +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; @@ -9,72 +11,105 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("du") @Implements("ReflectionCheck") public class ReflectionCheck extends Node { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -333963767 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 58962995 - ) - @Export("size") - int size; - @ObfuscatedName("x") - @Export("operations") - int[] operations; - @ObfuscatedName("w") - @Export("creationErrors") - int[] creationErrors; - @ObfuscatedName("t") - @Export("fields") - Field[] fields; - @ObfuscatedName("j") - @Export("intReplaceValues") - int[] intReplaceValues; - @ObfuscatedName("n") - @Export("methods") - Method[] methods; - @ObfuscatedName("p") - @Export("arguments") - byte[][][] arguments; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -566421309 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -941337557 + ) + @Export("size") + int size; + @ObfuscatedName("d") + @Export("operations") + int[] operations; + @ObfuscatedName("c") + @Export("creationErrors") + int[] creationErrors; + @ObfuscatedName("y") + @Export("fields") + Field[] fields; + @ObfuscatedName("h") + @Export("intReplaceValues") + int[] intReplaceValues; + @ObfuscatedName("z") + @Export("methods") + Method[] methods; + @ObfuscatedName("e") + @Export("arguments") + byte[][][] arguments; - ReflectionCheck() { - } // L: 17 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)Z", + garbageValue = "-84" + ) + static boolean method2452(String var0) { + if (var0 == null) { + return false; + } else { + try { + new URL(var0); + return true; + } catch (MalformedURLException var2) { + return false; + } + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "527859339" - ) - static final void method2350(int var0, int var1, int var2) { - int var3; - for (var3 = 0; var3 < 8; ++var3) { // L: 139 - for (int var4 = 0; var4 < 8; ++var4) { // L: 140 - Tiles.Tiles_heights[var0][var3 + var1][var4 + var2] = 0; - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lig;IIIZB)V", + garbageValue = "-111" + ) + public static void method2450(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = var0; + class206.musicTrackGroupId = var1; + SoundSystem.musicTrackFileId = var2; + DevicePcmPlayerProvider.musicTrackVolume = var3; + class206.musicTrackBoolean = var4; + class7.pcmSampleLength = 10000; + } - if (var1 > 0) { // L: 142 - for (var3 = 1; var3 < 8; ++var3) { // L: 143 - Tiles.Tiles_heights[var0][var1][var3 + var2] = Tiles.Tiles_heights[var0][var1 - 1][var3 + var2]; - } - } + @ObfuscatedName("y") + public static int method2451(long var0) { + return (int)(var0 >>> 0 & 127L); + } - if (var2 > 0) { // L: 145 - for (var3 = 1; var3 < 8; ++var3) { // L: 146 - Tiles.Tiles_heights[var0][var3 + var1][var2] = Tiles.Tiles_heights[var0][var3 + var1][var2 - 1]; - } - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(CII)Ljava/lang/String;", + garbageValue = "71351387" + ) + static String method2449(char var0, int var1) { + char[] var2 = new char[var1]; - if (var1 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2] != 0) { // L: 148 - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2]; - } else if (var2 > 0 && Tiles.Tiles_heights[var0][var1][var2 - 1] != 0) { // L: 149 - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1][var2 - 1]; - } else if (var1 > 0 && var2 > 0 && Tiles.Tiles_heights[var0][var1 - 1][var2 - 1] != 0) { // L: 150 - Tiles.Tiles_heights[var0][var1][var2] = Tiles.Tiles_heights[var0][var1 - 1][var2 - 1]; - } + for(int var3 = 0; var3 < var1; ++var3) { + var2[var3] = var0; + } - } // L: 151 + return new String(var2); + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(Ldw;I)V", + garbageValue = "-1934858738" + ) + @Export("PcmStream_disable") + static final void PcmStream_disable(PcmStream var0) { + var0.active = false; + if (var0.sound != null) { + var0.sound.position = 0; + } + + for(PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { + PcmStream_disable(var1); + } + + } } diff --git a/runescape-client/src/main/java/Renderable.java b/runescape-client/src/main/java/Renderable.java index 4f15f82cd7..2e0c9f20ff 100644 --- a/runescape-client/src/main/java/Renderable.java +++ b/runescape-client/src/main/java/Renderable.java @@ -4,75 +4,47 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("er") +@ObfuscatedName("em") @Implements("Renderable") public abstract class Renderable extends DualNode { - @ObfuscatedName("nw") - @ObfuscatedGetter( - intValue = -1743769759 - ) - static int field1893; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = 1865957833 - ) - @Export("height") - public int height; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = -1481288719 + ) + @Export("height") + public int height = 1000; - protected Renderable() { - this.height = 1000; // L: 6 - } // L: 8 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected Model getModel() { + return null; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected Model getModel() { - return null; - } + @ObfuscatedName("cz") + @Export("draw") + void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { + Model var11 = this.getModel(); + if (var11 != null) { + this.height = var11.height; + var11.draw(var1, var2, var3, var4, var5, var6, var7, var8, var9); + } - @ObfuscatedName("cf") - @Export("draw") - void draw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) { - Model var11 = this.getModel(); // L: 11 - if (var11 != null) { // L: 12 - this.height = var11.height; // L: 13 - var11.draw(var1, var2, var3, var4, var5, var6, var7, var8, var9); // L: 14 - } + } - } + @ObfuscatedName("fz") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + static final void method3417() { + if (Client.field889 != class90.Client_plane) { + Client.field889 = class90.Client_plane; + class224.method4232(class90.Client_plane); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;B)J", - garbageValue = "85" - ) - static long method3340(CharSequence var0) { - long var1 = 0L; // L: 16 - int var3 = var0.length(); // L: 17 - - for (int var4 = 0; var4 < var3; ++var4) { // L: 18 - var1 *= 37L; // L: 19 - char var5 = var0.charAt(var4); // L: 20 - if (var5 >= 'A' && var5 <= 'Z') { // L: 21 - var1 += (long)(var5 + 1 - 65); - } else if (var5 >= 'a' && var5 <= 'z') { // L: 22 - var1 += (long)(var5 + 1 - 97); - } else if (var5 >= '0' && var5 <= '9') { // L: 23 - var1 += (long)(var5 + 27 - 48); - } - - if (var1 >= 177917621779460413L) { // L: 24 - break; - } - } - - while (0L == var1 % 37L && var1 != 0L) { // L: 26 - var1 /= 37L; - } - - return var1; // L: 27 - } + } } diff --git a/runescape-client/src/main/java/RouteStrategy.java b/runescape-client/src/main/java/RouteStrategy.java index d6a2051cbe..fbc008e328 100644 --- a/runescape-client/src/main/java/RouteStrategy.java +++ b/runescape-client/src/main/java/RouteStrategy.java @@ -1,3 +1,4 @@ +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; @@ -7,838 +8,63 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gz") @Implements("RouteStrategy") public abstract class RouteStrategy { - @ObfuscatedName("qh") - @ObfuscatedGetter( - intValue = 127502171 - ) - static int field2124; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1899690821 - ) - @Export("approxDestinationX") - public int approxDestinationX; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1293114999 - ) - @Export("approxDestinationY") - public int approxDestinationY; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1335731435 - ) - @Export("approxDestinationSizeX") - public int approxDestinationSizeX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -218891237 - ) - @Export("approxDestinationSizeY") - public int approxDestinationSizeY; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1648093549 + ) + @Export("approxDestinationX") + public int approxDestinationX; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 845943469 + ) + @Export("approxDestinationY") + public int approxDestinationY; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1266527917 + ) + @Export("approxDestinationSizeX") + public int approxDestinationSizeX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1498688541 + ) + @Export("approxDestinationSizeY") + public int approxDestinationSizeY; - protected RouteStrategy() { - } // L: 9 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIILfe;I)Z", + garbageValue = "1148121553" + ) + @Export("hasArrived") + public abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIILfo;B)Z", - garbageValue = "104" - ) - @Export("hasArrived") - public abstract boolean hasArrived(int var1, int var2, int var3, CollisionMap var4); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-69" + ) + static void method3795() { + Iterator var0 = Messages.Messages_hashTable.iterator(); - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lhu;I)V", - garbageValue = "747025369" - ) - public static void method3643(Huffman var0) { - class219.huffman = var0; // L: 14 - } // L: 15 + while(var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromFriend(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljv;", - garbageValue = "1923247344" - ) - public static FloorOverlayDefinition method3648(int var0) { - FloorOverlayDefinition var1 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var0); // L: 30 - if (var1 != null) { // L: 31 - return var1; - } else { - byte[] var2 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var0); // L: 32 - var1 = new FloorOverlayDefinition(); // L: 33 - if (var2 != null) { // L: 34 - var1.decode(new Buffer(var2), var0); - } + } - var1.postDecode(); // L: 35 - FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var1, (long)var0); // L: 36 - return var1; // L: 37 - } - } + @ObfuscatedName("gd") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1059430259" + ) + static void method3794() { + if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { + WorldMapScaleHandler.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); + } - @ObfuscatedName("hy") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "16" - ) - static boolean method3649() { - return (Client.drawPlayerNames & 2) != 0; // L: 4791 - } - - @ObfuscatedName("il") - @ObfuscatedSignature( - descriptor = "(IIIILjava/lang/String;Ljava/lang/String;III)V", - garbageValue = "-824309681" - ) - @Export("menuAction") - static final void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7) { - if (var2 >= 2000) { // L: 7486 - var2 -= 2000; - } - - PacketBufferNode var8; - if (var2 == 1) { // L: 7487 - Client.mouseCrossX = var6; // L: 8201 - Client.mouseCrossY = var7; // L: 8202 - Client.mouseCrossColor = 2; // L: 8203 - Client.mouseCrossState = 0; // L: 8204 - Client.destinationX = var0; // L: 8205 - Client.destinationY = var1; // L: 8206 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2279, Client.packetWriter.isaacCipher); // L: 8208 - var8.packetBuffer.method5578(WorldMapEvent.selectedItemId); // L: 8209 - var8.packetBuffer.method5578(class41.baseY + var1); // L: 8210 - var8.packetBuffer.method5578(ChatChannel.selectedItemSlot); // L: 8211 - var8.packetBuffer.writeShortLE(var0 + NetFileRequest.baseX); // L: 8212 - var8.packetBuffer.writeInt(WorldMapLabelSize.selectedItemWidget); // L: 8213 - var8.packetBuffer.writeShort(var3); // L: 8214 - var8.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8215 - Client.packetWriter.addNode(var8); // L: 8216 - } else if (var2 == 2) { - Client.mouseCrossX = var6; // L: 8219 - Client.mouseCrossY = var7; // L: 8220 - Client.mouseCrossColor = 2; // L: 8221 - Client.mouseCrossState = 0; // L: 8222 - Client.destinationX = var0; // L: 8223 - Client.destinationY = var1; // L: 8224 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2237, Client.packetWriter.isaacCipher); // L: 8226 - var8.packetBuffer.method5739(var0 + NetFileRequest.baseX); // L: 8227 - var8.packetBuffer.writeShort(Client.selectedSpellChildIndex); // L: 8228 - var8.packetBuffer.writeShort(class41.baseY + var1); // L: 8229 - var8.packetBuffer.writeInt(MouseHandler.selectedSpellWidget); // L: 8230 - var8.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8231 - var8.packetBuffer.writeShort(var3); // L: 8232 - Client.packetWriter.addNode(var8); // L: 8233 - } else if (var2 == 3) { - Client.mouseCrossX = var6; // L: 7967 - Client.mouseCrossY = var7; // L: 7968 - Client.mouseCrossColor = 2; // L: 7969 - Client.mouseCrossState = 0; // L: 7970 - Client.destinationX = var0; // L: 7971 - Client.destinationY = var1; // L: 7972 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2293, Client.packetWriter.isaacCipher); // L: 7974 - var8.packetBuffer.writeShortLE(var0 + NetFileRequest.baseX); // L: 7975 - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7976 - var8.packetBuffer.writeShort(class41.baseY + var1); // L: 7977 - var8.packetBuffer.writeShortLE(var3); // L: 7978 - Client.packetWriter.addNode(var8); // L: 7979 - } else if (var2 == 4) { - Client.mouseCrossX = var6; // L: 7918 - Client.mouseCrossY = var7; // L: 7919 - Client.mouseCrossColor = 2; // L: 7920 - Client.mouseCrossState = 0; // L: 7921 - Client.destinationX = var0; // L: 7922 - Client.destinationY = var1; // L: 7923 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2310, Client.packetWriter.isaacCipher); // L: 7925 - var8.packetBuffer.writeShort(var3); // L: 7926 - var8.packetBuffer.method5739(var0 + NetFileRequest.baseX); // L: 7927 - var8.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7928 - var8.packetBuffer.method5578(class41.baseY + var1); // L: 7929 - Client.packetWriter.addNode(var8); // L: 7930 - } else if (var2 == 5) { - Client.mouseCrossX = var6; // L: 7660 - Client.mouseCrossY = var7; // L: 7661 - Client.mouseCrossColor = 2; // L: 7662 - Client.mouseCrossState = 0; // L: 7663 - Client.destinationX = var0; // L: 7664 - Client.destinationY = var1; // L: 7665 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2267, Client.packetWriter.isaacCipher); // L: 7667 - var8.packetBuffer.writeShortLE(class41.baseY + var1); // L: 7668 - var8.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7669 - var8.packetBuffer.method5739(var3); // L: 7670 - var8.packetBuffer.method5578(var0 + NetFileRequest.baseX); // L: 7671 - Client.packetWriter.addNode(var8); // L: 7672 - } else if (var2 == 6) { - Client.mouseCrossX = var6; // L: 8186 - Client.mouseCrossY = var7; // L: 8187 - Client.mouseCrossColor = 2; // L: 8188 - Client.mouseCrossState = 0; // L: 8189 - Client.destinationX = var0; // L: 8190 - Client.destinationY = var1; // L: 8191 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2324, Client.packetWriter.isaacCipher); // L: 8193 - var8.packetBuffer.method5578(class41.baseY + var1); // L: 8194 - var8.packetBuffer.method5578(var3); // L: 8195 - var8.packetBuffer.method5578(var0 + NetFileRequest.baseX); // L: 8196 - var8.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8197 - Client.packetWriter.addNode(var8); // L: 8198 - } else { - PacketBufferNode var9; - NPC var13; - if (var2 == 7) { - var13 = Client.npcs[var3]; // L: 7850 - if (var13 != null) { // L: 7851 - Client.mouseCrossX = var6; // L: 7852 - Client.mouseCrossY = var7; // L: 7853 - Client.mouseCrossColor = 2; // L: 7854 - Client.mouseCrossState = 0; // L: 7855 - Client.destinationX = var0; // L: 7856 - Client.destinationY = var1; // L: 7857 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2258, Client.packetWriter.isaacCipher); // L: 7859 - var9.packetBuffer.method5588(WorldMapLabelSize.selectedItemWidget); // L: 7860 - var9.packetBuffer.writeShortLE(var3); // L: 7861 - var9.packetBuffer.method5739(ChatChannel.selectedItemSlot); // L: 7862 - var9.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7863 - var9.packetBuffer.writeShort(WorldMapEvent.selectedItemId); // L: 7864 - Client.packetWriter.addNode(var9); // L: 7865 - } - } else if (var2 == 8) { - var13 = Client.npcs[var3]; // L: 7949 - if (var13 != null) { // L: 7950 - Client.mouseCrossX = var6; // L: 7951 - Client.mouseCrossY = var7; // L: 7952 - Client.mouseCrossColor = 2; // L: 7953 - Client.mouseCrossState = 0; // L: 7954 - Client.destinationX = var0; // L: 7955 - Client.destinationY = var1; // L: 7956 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2274, Client.packetWriter.isaacCipher); // L: 7958 - var9.packetBuffer.method5739(var3); // L: 7959 - var9.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); // L: 7960 - var9.packetBuffer.method5587(MouseHandler.selectedSpellWidget); // L: 7961 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7962 - Client.packetWriter.addNode(var9); // L: 7963 - } - } else if (var2 == 9) { - var13 = Client.npcs[var3]; // L: 8170 - if (var13 != null) { // L: 8171 - Client.mouseCrossX = var6; // L: 8172 - Client.mouseCrossY = var7; // L: 8173 - Client.mouseCrossColor = 2; // L: 8174 - Client.mouseCrossState = 0; // L: 8175 - Client.destinationX = var0; // L: 8176 - Client.destinationY = var1; // L: 8177 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2262, Client.packetWriter.isaacCipher); // L: 8179 - var9.packetBuffer.method5578(var3); // L: 8180 - var9.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8181 - Client.packetWriter.addNode(var9); // L: 8182 - } - } else if (var2 == 10) { - var13 = Client.npcs[var3]; // L: 7755 - if (var13 != null) { // L: 7756 - Client.mouseCrossX = var6; // L: 7757 - Client.mouseCrossY = var7; // L: 7758 - Client.mouseCrossColor = 2; // L: 7759 - Client.mouseCrossState = 0; // L: 7760 - Client.destinationX = var0; // L: 7761 - Client.destinationY = var1; // L: 7762 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2246, Client.packetWriter.isaacCipher); // L: 7764 - var9.packetBuffer.writeShortLE(var3); // L: 7765 - var9.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7766 - Client.packetWriter.addNode(var9); // L: 7767 - } - } else if (var2 == 11) { - var13 = Client.npcs[var3]; // L: 7982 - if (var13 != null) { // L: 7983 - Client.mouseCrossX = var6; // L: 7984 - Client.mouseCrossY = var7; // L: 7985 - Client.mouseCrossColor = 2; // L: 7986 - Client.mouseCrossState = 0; // L: 7987 - Client.destinationX = var0; // L: 7988 - Client.destinationY = var1; // L: 7989 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2236, Client.packetWriter.isaacCipher); // L: 7991 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7992 - var9.packetBuffer.writeShort(var3); // L: 7993 - Client.packetWriter.addNode(var9); // L: 7994 - } - } else if (var2 == 12) { - var13 = Client.npcs[var3]; // L: 7834 - if (var13 != null) { // L: 7835 - Client.mouseCrossX = var6; // L: 7836 - Client.mouseCrossY = var7; // L: 7837 - Client.mouseCrossColor = 2; // L: 7838 - Client.mouseCrossState = 0; // L: 7839 - Client.destinationX = var0; // L: 7840 - Client.destinationY = var1; // L: 7841 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2309, Client.packetWriter.isaacCipher); // L: 7843 - var9.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7844 - var9.packetBuffer.method5578(var3); // L: 7845 - Client.packetWriter.addNode(var9); // L: 7846 - } - } else if (var2 == 13) { - var13 = Client.npcs[var3]; // L: 8253 - if (var13 != null) { // L: 8254 - Client.mouseCrossX = var6; // L: 8255 - Client.mouseCrossY = var7; // L: 8256 - Client.mouseCrossColor = 2; // L: 8257 - Client.mouseCrossState = 0; // L: 8258 - Client.destinationX = var0; // L: 8259 - Client.destinationY = var1; // L: 8260 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2276, Client.packetWriter.isaacCipher); // L: 8262 - var9.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8263 - var9.packetBuffer.method5739(var3); // L: 8264 - Client.packetWriter.addNode(var9); // L: 8265 - } - } else { - Player var15; - if (var2 == 14) { - var15 = Client.players[var3]; // L: 7641 - if (var15 != null) { // L: 7642 - Client.mouseCrossX = var6; // L: 7643 - Client.mouseCrossY = var7; // L: 7644 - Client.mouseCrossColor = 2; // L: 7645 - Client.mouseCrossState = 0; // L: 7646 - Client.destinationX = var0; // L: 7647 - Client.destinationY = var1; // L: 7648 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2283, Client.packetWriter.isaacCipher); // L: 7650 - var9.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7651 - var9.packetBuffer.method5588(WorldMapLabelSize.selectedItemWidget); // L: 7652 - var9.packetBuffer.writeShortLE(ChatChannel.selectedItemSlot); // L: 7653 - var9.packetBuffer.method5739(var3); // L: 7654 - var9.packetBuffer.writeShort(WorldMapEvent.selectedItemId); // L: 7655 - Client.packetWriter.addNode(var9); // L: 7656 - } - } else if (var2 == 15) { - var15 = Client.players[var3]; // L: 8122 - if (var15 != null) { // L: 8123 - Client.mouseCrossX = var6; // L: 8124 - Client.mouseCrossY = var7; // L: 8125 - Client.mouseCrossColor = 2; // L: 8126 - Client.mouseCrossState = 0; // L: 8127 - Client.destinationX = var0; // L: 8128 - Client.destinationY = var1; // L: 8129 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2256, Client.packetWriter.isaacCipher); // L: 8131 - var9.packetBuffer.writeShort(var3); // L: 8132 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8133 - var9.packetBuffer.method5739(Client.selectedSpellChildIndex); // L: 8134 - var9.packetBuffer.writeInt(MouseHandler.selectedSpellWidget); // L: 8135 - Client.packetWriter.addNode(var9); // L: 8136 - } - } else if (var2 == 16) { - Client.mouseCrossX = var6; // L: 7675 - Client.mouseCrossY = var7; // L: 7676 - Client.mouseCrossColor = 2; // L: 7677 - Client.mouseCrossState = 0; // L: 7678 - Client.destinationX = var0; // L: 7679 - Client.destinationY = var1; // L: 7680 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2263, Client.packetWriter.isaacCipher); // L: 7682 - var8.packetBuffer.method5587(WorldMapLabelSize.selectedItemWidget); // L: 7683 - var8.packetBuffer.writeShortLE(var0 + NetFileRequest.baseX); // L: 7684 - var8.packetBuffer.method5739(WorldMapEvent.selectedItemId); // L: 7685 - var8.packetBuffer.method5739(class41.baseY + var1); // L: 7686 - var8.packetBuffer.method5578(ChatChannel.selectedItemSlot); // L: 7687 - var8.packetBuffer.writeShortLE(var3); // L: 7688 - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7689 - Client.packetWriter.addNode(var8); // L: 7690 - } else if (var2 == 17) { - Client.mouseCrossX = var6; // L: 8236 - Client.mouseCrossY = var7; // L: 8237 - Client.mouseCrossColor = 2; // L: 8238 - Client.mouseCrossState = 0; // L: 8239 - Client.destinationX = var0; // L: 8240 - Client.destinationY = var1; // L: 8241 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2281, Client.packetWriter.isaacCipher); // L: 8243 - var8.packetBuffer.writeShortLE(class41.baseY + var1); // L: 8244 - var8.packetBuffer.writeShortLE(var0 + NetFileRequest.baseX); // L: 8245 - var8.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); // L: 8246 - var8.packetBuffer.method5578(var3); // L: 8247 - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8248 - var8.packetBuffer.method5588(MouseHandler.selectedSpellWidget); // L: 8249 - Client.packetWriter.addNode(var8); // L: 8250 - } else if (var2 == 18) { - Client.mouseCrossX = var6; // L: 7813 - Client.mouseCrossY = var7; // L: 7814 - Client.mouseCrossColor = 2; // L: 7815 - Client.mouseCrossState = 0; // L: 7816 - Client.destinationX = var0; // L: 7817 - Client.destinationY = var1; // L: 7818 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2311, Client.packetWriter.isaacCipher); // L: 7820 - var8.packetBuffer.writeShort(var0 + NetFileRequest.baseX); // L: 7821 - var8.packetBuffer.writeShort(var3); // L: 7822 - var8.packetBuffer.writeShort(class41.baseY + var1); // L: 7823 - var8.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7824 - Client.packetWriter.addNode(var8); // L: 7825 - } else if (var2 == 19) { - Client.mouseCrossX = var6; // L: 8014 - Client.mouseCrossY = var7; // L: 8015 - Client.mouseCrossColor = 2; // L: 8016 - Client.mouseCrossState = 0; // L: 8017 - Client.destinationX = var0; // L: 8018 - Client.destinationY = var1; // L: 8019 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2317, Client.packetWriter.isaacCipher); // L: 8021 - var8.packetBuffer.writeShort(class41.baseY + var1); // L: 8022 - var8.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8023 - var8.packetBuffer.method5739(var3); // L: 8024 - var8.packetBuffer.writeShort(var0 + NetFileRequest.baseX); // L: 8025 - Client.packetWriter.addNode(var8); // L: 8026 - } else if (var2 == 20) { - Client.mouseCrossX = var6; // L: 8085 - Client.mouseCrossY = var7; // L: 8086 - Client.mouseCrossColor = 2; // L: 8087 - Client.mouseCrossState = 0; // L: 8088 - Client.destinationX = var0; // L: 8089 - Client.destinationY = var1; // L: 8090 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2254, Client.packetWriter.isaacCipher); // L: 8092 - var8.packetBuffer.method5578(class41.baseY + var1); // L: 8093 - var8.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8094 - var8.packetBuffer.method5578(var0 + NetFileRequest.baseX); // L: 8095 - var8.packetBuffer.method5739(var3); // L: 8096 - Client.packetWriter.addNode(var8); // L: 8097 - } else if (var2 == 21) { - Client.mouseCrossX = var6; // L: 7587 - Client.mouseCrossY = var7; // L: 7588 - Client.mouseCrossColor = 2; // L: 7589 - Client.mouseCrossState = 0; // L: 7590 - Client.destinationX = var0; // L: 7591 - Client.destinationY = var1; // L: 7592 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2248, Client.packetWriter.isaacCipher); // L: 7594 - var8.packetBuffer.writeShort(var0 + NetFileRequest.baseX); // L: 7595 - var8.packetBuffer.method5578(var3); // L: 7596 - var8.packetBuffer.writeShortLE(class41.baseY + var1); // L: 7597 - var8.packetBuffer.writeByte(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7598 - Client.packetWriter.addNode(var8); // L: 7599 - } else if (var2 == 22) { - Client.mouseCrossX = var6; // L: 7613 - Client.mouseCrossY = var7; // L: 7614 - Client.mouseCrossColor = 2; // L: 7615 - Client.mouseCrossState = 0; // L: 7616 - Client.destinationX = var0; // L: 7617 - Client.destinationY = var1; // L: 7618 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2305, Client.packetWriter.isaacCipher); // L: 7620 - var8.packetBuffer.writeShort(var3); // L: 7621 - var8.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7622 - var8.packetBuffer.writeShort(class41.baseY + var1); // L: 7623 - var8.packetBuffer.writeShortLE(var0 + NetFileRequest.baseX); // L: 7624 - Client.packetWriter.addNode(var8); // L: 7625 - } else if (var2 == 23) { - if (Client.isMenuOpen) { // L: 8151 - ArchiveLoader.scene.setViewportWalking(); // L: 8152 - } else { - ArchiveLoader.scene.menuOpen(GameObject.Client_plane, var0, var1, true); // L: 8155 - } - } else { - PacketBufferNode var12; - Widget var16; - if (var2 == 24) { - var16 = CollisionMap.getWidget(var1); // L: 7774 - boolean var11 = true; // L: 7775 - if (var16.contentType > 0) { // L: 7776 - var11 = HealthBarUpdate.method1825(var16); - } - - if (var11) { // L: 7777 - var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2287, Client.packetWriter.isaacCipher); // L: 7779 - var12.packetBuffer.writeInt(var1); // L: 7780 - Client.packetWriter.addNode(var12); // L: 7781 - } - } else { - if (var2 == 25) { - var16 = class92.getWidgetChild(var1, var0); // L: 7491 - if (var16 != null) { // L: 7492 - WorldMapManager.Widget_runOnTargetLeave(); // L: 7493 - class194.selectSpell(var1, var0, ServerPacket.Widget_unpackTargetMask(FaceNormal.getWidgetFlags(var16)), var16.itemId); // L: 7494 - Client.isItemSelected = 0; // L: 7495 - Client.selectedSpellActionName = StudioGame.Widget_getSpellActionName(var16); // L: 7496 - if (Client.selectedSpellActionName == null) { // L: 7497 - Client.selectedSpellActionName = "null"; - } - - if (var16.isIf3) { // L: 7498 - Client.selectedSpellName = var16.dataText + class23.colorStartTag(16777215); - } else { - Client.selectedSpellName = class23.colorStartTag(65280) + var16.spellName + class23.colorStartTag(16777215); // L: 7499 - } - } - - return; // L: 7501 - } - - if (var2 == 26) { - ServerPacket.method3664(); // L: 7771 - } else { - int var10; - Widget var14; - if (var2 == 28) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2287, Client.packetWriter.isaacCipher); // L: 7530 - var8.packetBuffer.writeInt(var1); // L: 7531 - Client.packetWriter.addNode(var8); // L: 7532 - var14 = CollisionMap.getWidget(var1); // L: 7533 - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { // L: 7534 - var10 = var14.cs1Instructions[0][1]; // L: 7535 - Varps.Varps_main[var10] = 1 - Varps.Varps_main[var10]; // L: 7536 - Script.changeGameOptions(var10); // L: 7537 - } - } else if (var2 == 29) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2287, Client.packetWriter.isaacCipher); // L: 7716 - var8.packetBuffer.writeInt(var1); // L: 7717 - Client.packetWriter.addNode(var8); // L: 7718 - var14 = CollisionMap.getWidget(var1); // L: 7719 - if (var14.cs1Instructions != null && var14.cs1Instructions[0][0] == 5) { // L: 7720 - var10 = var14.cs1Instructions[0][1]; // L: 7721 - if (Varps.Varps_main[var10] != var14.cs1ComparisonValues[0]) { // L: 7722 - Varps.Varps_main[var10] = var14.cs1ComparisonValues[0]; // L: 7723 - Script.changeGameOptions(var10); // L: 7724 - } - } - } else if (var2 == 30) { - if (Client.meslayerContinueWidget == null) { // L: 7580 - DynamicObject.resumePauseWidget(var1, var0); // L: 7581 - Client.meslayerContinueWidget = class92.getWidgetChild(var1, var0); // L: 7582 - CollisionMap.invalidateWidget(Client.meslayerContinueWidget); // L: 7583 - } - } else if (var2 == 31) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2295, Client.packetWriter.isaacCipher); // L: 8030 - var8.packetBuffer.writeShort(WorldMapEvent.selectedItemId); // L: 8031 - var8.packetBuffer.writeShort(var3); // L: 8032 - var8.packetBuffer.writeShort(ChatChannel.selectedItemSlot); // L: 8033 - var8.packetBuffer.method5588(WorldMapLabelSize.selectedItemWidget); // L: 8034 - var8.packetBuffer.writeShort(var0); // L: 8035 - var8.packetBuffer.writeInt(var1); // L: 8036 - Client.packetWriter.addNode(var8); // L: 8037 - Client.field754 = 0; // L: 8038 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8039 - Client.field881 = var0; // L: 8040 - } else if (var2 == 32) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2327, Client.packetWriter.isaacCipher); // L: 7629 - var8.packetBuffer.writeShort(var3); // L: 7630 - var8.packetBuffer.writeShort(var0); // L: 7631 - var8.packetBuffer.method5578(Client.selectedSpellChildIndex); // L: 7632 - var8.packetBuffer.method5588(MouseHandler.selectedSpellWidget); // L: 7633 - var8.packetBuffer.method5587(var1); // L: 7634 - Client.packetWriter.addNode(var8); // L: 7635 - Client.field754 = 0; // L: 7636 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7637 - Client.field881 = var0; // L: 7638 - } else if (var2 == 33) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2284, Client.packetWriter.isaacCipher); // L: 7730 - var8.packetBuffer.writeShort(var0); // L: 7731 - var8.packetBuffer.method5587(var1); // L: 7732 - var8.packetBuffer.method5578(var3); // L: 7733 - Client.packetWriter.addNode(var8); // L: 7734 - Client.field754 = 0; // L: 7735 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7736 - Client.field881 = var0; // L: 7737 - } else if (var2 == 34) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2325, Client.packetWriter.isaacCipher); // L: 7705 - var8.packetBuffer.writeShort(var0); // L: 7706 - var8.packetBuffer.method5739(var3); // L: 7707 - var8.packetBuffer.method5587(var1); // L: 7708 - Client.packetWriter.addNode(var8); // L: 7709 - Client.field754 = 0; // L: 7710 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7711 - Client.field881 = var0; // L: 7712 - } else if (var2 == 35) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2259, Client.packetWriter.isaacCipher); // L: 7519 - var8.packetBuffer.method5739(var0); // L: 7520 - var8.packetBuffer.method5578(var3); // L: 7521 - var8.packetBuffer.method5587(var1); // L: 7522 - Client.packetWriter.addNode(var8); // L: 7523 - Client.field754 = 0; // L: 7524 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7525 - Client.field881 = var0; // L: 7526 - } else if (var2 == 36) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2265, Client.packetWriter.isaacCipher); // L: 8112 - var8.packetBuffer.writeShortLE(var0); // L: 8113 - var8.packetBuffer.method5588(var1); // L: 8114 - var8.packetBuffer.writeShort(var3); // L: 8115 - Client.packetWriter.addNode(var8); // L: 8116 - Client.field754 = 0; // L: 8117 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8118 - Client.field881 = var0; // L: 8119 - } else if (var2 == 37) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2229, Client.packetWriter.isaacCipher); // L: 8141 - var8.packetBuffer.method5718(var1); // L: 8142 - var8.packetBuffer.method5739(var0); // L: 8143 - var8.packetBuffer.writeShort(var3); // L: 8144 - Client.packetWriter.addNode(var8); // L: 8145 - Client.field754 = 0; // L: 8146 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8147 - Client.field881 = var0; // L: 8148 - } else { - if (var2 == 38) { - WorldMapManager.Widget_runOnTargetLeave(); // L: 7785 - var16 = CollisionMap.getWidget(var1); // L: 7786 - Client.isItemSelected = 1; // L: 7787 - ChatChannel.selectedItemSlot = var0; // L: 7788 - WorldMapLabelSize.selectedItemWidget = var1; // L: 7789 - WorldMapEvent.selectedItemId = var3; // L: 7790 - CollisionMap.invalidateWidget(var16); // L: 7791 - Client.selectedItemName = class23.colorStartTag(16748608) + SecureRandomCallable.ItemDefinition_get(var3).name + class23.colorStartTag(16777215); // L: 7792 - if (Client.selectedItemName == null) { // L: 7793 - Client.selectedItemName = "null"; - } - - return; // L: 7794 - } - - if (var2 == 39) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2330, Client.packetWriter.isaacCipher); // L: 8160 - var8.packetBuffer.method5578(var3); // L: 8161 - var8.packetBuffer.method5718(var1); // L: 8162 - var8.packetBuffer.method5578(var0); // L: 8163 - Client.packetWriter.addNode(var8); // L: 8164 - Client.field754 = 0; // L: 8165 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8166 - Client.field881 = var0; // L: 8167 - } else if (var2 == 40) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2264, Client.packetWriter.isaacCipher); // L: 7603 - var8.packetBuffer.writeShort(var3); // L: 7604 - var8.packetBuffer.method5739(var0); // L: 7605 - var8.packetBuffer.writeInt(var1); // L: 7606 - Client.packetWriter.addNode(var8); // L: 7607 - Client.field754 = 0; // L: 7608 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7609 - Client.field881 = var0; // L: 7610 - } else if (var2 == 41) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2294, Client.packetWriter.isaacCipher); // L: 8270 - var8.packetBuffer.method5578(var3); // L: 8271 - var8.packetBuffer.writeInt(var1); // L: 8272 - var8.packetBuffer.method5739(var0); // L: 8273 - Client.packetWriter.addNode(var8); // L: 8274 - Client.field754 = 0; // L: 8275 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8276 - Client.field881 = var0; // L: 8277 - } else if (var2 == 42) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2315, Client.packetWriter.isaacCipher); // L: 8101 - var8.packetBuffer.writeShortLE(var0); // L: 8102 - var8.packetBuffer.writeShortLE(var3); // L: 8103 - var8.packetBuffer.method5587(var1); // L: 8104 - Client.packetWriter.addNode(var8); // L: 8105 - Client.field754 = 0; // L: 8106 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 8107 - Client.field881 = var0; // L: 8108 - } else if (var2 == 43) { - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); // L: 7694 - var8.packetBuffer.writeShortLE(var3); // L: 7695 - var8.packetBuffer.writeShortLE(var0); // L: 7696 - var8.packetBuffer.method5588(var1); // L: 7697 - Client.packetWriter.addNode(var8); // L: 7698 - Client.field754 = 0; // L: 7699 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7700 - Client.field881 = var0; // L: 7701 - } else if (var2 == 44) { - var15 = Client.players[var3]; // L: 8069 - if (var15 != null) { // L: 8070 - Client.mouseCrossX = var6; // L: 8071 - Client.mouseCrossY = var7; // L: 8072 - Client.mouseCrossColor = 2; // L: 8073 - Client.mouseCrossState = 0; // L: 8074 - Client.destinationX = var0; // L: 8075 - Client.destinationY = var1; // L: 8076 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2260, Client.packetWriter.isaacCipher); // L: 8078 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8079 - var9.packetBuffer.writeShortLE(var3); // L: 8080 - Client.packetWriter.addNode(var9); // L: 8081 - } - } else if (var2 == 45) { - var15 = Client.players[var3]; // L: 7551 - if (var15 != null) { // L: 7552 - Client.mouseCrossX = var6; // L: 7553 - Client.mouseCrossY = var7; // L: 7554 - Client.mouseCrossColor = 2; // L: 7555 - Client.mouseCrossState = 0; // L: 7556 - Client.destinationX = var0; // L: 7557 - Client.destinationY = var1; // L: 7558 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2238, Client.packetWriter.isaacCipher); // L: 7560 - var9.packetBuffer.writeShortLE(var3); // L: 7561 - var9.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7562 - Client.packetWriter.addNode(var9); // L: 7563 - } - } else if (var2 == 46) { - var15 = Client.players[var3]; // L: 7797 - if (var15 != null) { // L: 7798 - Client.mouseCrossX = var6; // L: 7799 - Client.mouseCrossY = var7; // L: 7800 - Client.mouseCrossColor = 2; // L: 7801 - Client.mouseCrossState = 0; // L: 7802 - Client.destinationX = var0; // L: 7803 - Client.destinationY = var1; // L: 7804 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2278, Client.packetWriter.isaacCipher); // L: 7806 - var9.packetBuffer.writeShort(var3); // L: 7807 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7808 - Client.packetWriter.addNode(var9); // L: 7809 - } - } else if (var2 == 47) { - var15 = Client.players[var3]; // L: 7886 - if (var15 != null) { // L: 7887 - Client.mouseCrossX = var6; // L: 7888 - Client.mouseCrossY = var7; // L: 7889 - Client.mouseCrossColor = 2; // L: 7890 - Client.mouseCrossState = 0; // L: 7891 - Client.destinationX = var0; // L: 7892 - Client.destinationY = var1; // L: 7893 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2312, Client.packetWriter.isaacCipher); // L: 7895 - var9.packetBuffer.writeShortLE(var3); // L: 7896 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7897 - Client.packetWriter.addNode(var9); // L: 7898 - } - } else if (var2 == 48) { - var15 = Client.players[var3]; // L: 7902 - if (var15 != null) { // L: 7903 - Client.mouseCrossX = var6; // L: 7904 - Client.mouseCrossY = var7; // L: 7905 - Client.mouseCrossColor = 2; // L: 7906 - Client.mouseCrossState = 0; // L: 7907 - Client.destinationX = var0; // L: 7908 - Client.destinationY = var1; // L: 7909 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2253, Client.packetWriter.isaacCipher); // L: 7911 - var9.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7912 - var9.packetBuffer.method5578(var3); // L: 7913 - Client.packetWriter.addNode(var9); // L: 7914 - } - } else if (var2 == 49) { - var15 = Client.players[var3]; // L: 7998 - if (var15 != null) { // L: 7999 - Client.mouseCrossX = var6; // L: 8000 - Client.mouseCrossY = var7; // L: 8001 - Client.mouseCrossColor = 2; // L: 8002 - Client.mouseCrossState = 0; // L: 8003 - Client.destinationX = var0; // L: 8004 - Client.destinationY = var1; // L: 8005 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2242, Client.packetWriter.isaacCipher); // L: 8007 - var9.packetBuffer.method5568(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8008 - var9.packetBuffer.method5578(var3); // L: 8009 - Client.packetWriter.addNode(var9); // L: 8010 - } - } else if (var2 == 50) { - var15 = Client.players[var3]; // L: 8043 - if (var15 != null) { // L: 8044 - Client.mouseCrossX = var6; // L: 8045 - Client.mouseCrossY = var7; // L: 8046 - Client.mouseCrossColor = 2; // L: 8047 - Client.mouseCrossState = 0; // L: 8048 - Client.destinationX = var0; // L: 8049 - Client.destinationY = var1; // L: 8050 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2268, Client.packetWriter.isaacCipher); // L: 8052 - var9.packetBuffer.method5578(var3); // L: 8053 - var9.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 8054 - Client.packetWriter.addNode(var9); // L: 8055 - } - } else if (var2 == 51) { - var15 = Client.players[var3]; // L: 7933 - if (var15 != null) { // L: 7934 - Client.mouseCrossX = var6; // L: 7935 - Client.mouseCrossY = var7; // L: 7936 - Client.mouseCrossColor = 2; // L: 7937 - Client.mouseCrossState = 0; // L: 7938 - Client.destinationX = var0; // L: 7939 - Client.destinationY = var1; // L: 7940 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2282, Client.packetWriter.isaacCipher); // L: 7942 - var9.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7943 - var9.packetBuffer.writeShort(var3); // L: 7944 - Client.packetWriter.addNode(var9); // L: 7945 - } - } else if (var2 != 1007 && var2 != 57) { - if (var2 == 58) { - var16 = class92.getWidgetChild(var1, var0); // L: 7504 - if (var16 != null) { // L: 7505 - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2296, Client.packetWriter.isaacCipher); // L: 7507 - var9.packetBuffer.writeInt(MouseHandler.selectedSpellWidget); // L: 7508 - var9.packetBuffer.writeShort(var0); // L: 7509 - var9.packetBuffer.method5578(Client.field836); // L: 7510 - var9.packetBuffer.writeShortLE(Client.selectedSpellChildIndex); // L: 7511 - var9.packetBuffer.method5739(var16.itemId); // L: 7512 - var9.packetBuffer.method5718(var1); // L: 7513 - Client.packetWriter.addNode(var9); // L: 7514 - } - } else if (var2 == 1001) { - Client.mouseCrossX = var6; // L: 7740 - Client.mouseCrossY = var7; // L: 7741 - Client.mouseCrossColor = 2; // L: 7742 - Client.mouseCrossState = 0; // L: 7743 - Client.destinationX = var0; // L: 7744 - Client.destinationY = var1; // L: 7745 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2271, Client.packetWriter.isaacCipher); // L: 7747 - var8.packetBuffer.method5569(KeyHandler.KeyHandler_pressedKeys[82] ? 1 : 0); // L: 7748 - var8.packetBuffer.method5739(class41.baseY + var1); // L: 7749 - var8.packetBuffer.method5739(var0 + NetFileRequest.baseX); // L: 7750 - var8.packetBuffer.writeShort(var3); // L: 7751 - Client.packetWriter.addNode(var8); // L: 7752 - } else if (var2 == 1002) { - Client.mouseCrossX = var6; // L: 8059 - Client.mouseCrossY = var7; // L: 8060 - Client.mouseCrossColor = 2; // L: 8061 - Client.mouseCrossState = 0; // L: 8062 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2321, Client.packetWriter.isaacCipher); // L: 8064 - var8.packetBuffer.method5739(var3); // L: 8065 - Client.packetWriter.addNode(var8); // L: 8066 - } else if (var2 == 1003) { - Client.mouseCrossX = var6; // L: 7869 - Client.mouseCrossY = var7; // L: 7870 - Client.mouseCrossColor = 2; // L: 7871 - Client.mouseCrossState = 0; // L: 7872 - var13 = Client.npcs[var3]; // L: 7873 - if (var13 != null) { // L: 7874 - NPCComposition var17 = var13.definition; // L: 7875 - if (var17.transforms != null) { // L: 7876 - var17 = var17.transform(); - } - - if (var17 != null) { // L: 7877 - var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2288, Client.packetWriter.isaacCipher); // L: 7879 - var12.packetBuffer.method5739(var17.id); // L: 7880 - Client.packetWriter.addNode(var12); // L: 7881 - } - } - } else if (var2 == 1004) { - Client.mouseCrossX = var6; // L: 7541 - Client.mouseCrossY = var7; // L: 7542 - Client.mouseCrossColor = 2; // L: 7543 - Client.mouseCrossState = 0; // L: 7544 - var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2313, Client.packetWriter.isaacCipher); // L: 7546 - var8.packetBuffer.method5578(var3); // L: 7547 - Client.packetWriter.addNode(var8); // L: 7548 - } else if (var2 == 1005) { - var16 = CollisionMap.getWidget(var1); // L: 7567 - if (var16 != null && var16.itemQuantities[var0] >= 100000) { // L: 7568 - class234.addGameMessage(27, "", var16.itemQuantities[var0] + " x " + SecureRandomCallable.ItemDefinition_get(var3).name); - } else { - var9 = ItemContainer.getPacketBufferNode(ClientPacket.field2313, Client.packetWriter.isaacCipher); // L: 7571 - var9.packetBuffer.method5578(var3); // L: 7572 - Client.packetWriter.addNode(var9); // L: 7573 - } - - Client.field754 = 0; // L: 7575 - NPC.field1131 = CollisionMap.getWidget(var1); // L: 7576 - Client.field881 = var0; // L: 7577 - } else if (var2 == 1012 || var2 == 1009 || var2 == 1010 || var2 == 1008 || var2 == 1011) { - WorldMapRectangle.worldMap.worldMapMenuAction(var2, var3, new Coord(var0), new Coord(var1)); // L: 7488 - } - } else { - var16 = class92.getWidgetChild(var1, var0); // L: 7828 - if (var16 != null) { // L: 7829 - class3.widgetDefaultMenuAction(var3, var1, var0, var16.itemId, var5); // L: 7830 - } - } - } - } - } - } - } - } - - if (Client.isItemSelected != 0) { // L: 8279 - Client.isItemSelected = 0; // L: 8280 - CollisionMap.invalidateWidget(CollisionMap.getWidget(WorldMapLabelSize.selectedItemWidget)); // L: 8281 - } - - if (Client.isSpellSelected) { // L: 8283 - WorldMapManager.Widget_runOnTargetLeave(); - } - - if (NPC.field1131 != null && Client.field754 == 0) { // L: 8284 - CollisionMap.invalidateWidget(NPC.field1131); - } - - } // L: 8285 + } } diff --git a/runescape-client/src/main/java/RunException.java b/runescape-client/src/main/java/RunException.java index 514f75f88a..69e901e152 100644 --- a/runescape-client/src/main/java/RunException.java +++ b/runescape-client/src/main/java/RunException.java @@ -4,30 +4,27 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("mg") +@ObfuscatedName("mr") @Implements("RunException") public class RunException extends RuntimeException { - @ObfuscatedName("h") - @Export("RunException_applet") - public static Applet RunException_applet; - @ObfuscatedName("v") - @Export("localPlayerName") - public static String localPlayerName; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -485798855 - ) - @Export("RunException_revision") - public static int RunException_revision; - @ObfuscatedName("j") - @Export("message") - String message; - @ObfuscatedName("n") - @Export("throwable") - Throwable throwable; + @ObfuscatedName("n") + @Export("RunException_applet") + public static Applet RunException_applet; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1196724945 + ) + @Export("RunException_revision") + public static int RunException_revision; + @ObfuscatedName("y") + @Export("message") + String message; + @ObfuscatedName("h") + @Export("throwable") + Throwable throwable; - RunException(Throwable var1, String var2) { - this.message = var2; // L: 27 - this.throwable = var1; // L: 28 - } // L: 29 + RunException(Throwable var1, String var2) { + this.message = var2; + this.throwable = var1; + } } diff --git a/runescape-client/src/main/java/Scene.java b/runescape-client/src/main/java/Scene.java index fd2da0c345..a6839ec20c 100644 --- a/runescape-client/src/main/java/Scene.java +++ b/runescape-client/src/main/java/Scene.java @@ -3,2589 +3,2580 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eo") +@ObfuscatedName("eq") @Implements("Scene") public class Scene { - @ObfuscatedName("h") - @Export("Scene_isLowDetail") - public static boolean Scene_isLowDetail; - @ObfuscatedName("i") - @Export("tileUpdateCount") - static int tileUpdateCount; - @ObfuscatedName("f") - @Export("Scene_plane") - static int Scene_plane; - @ObfuscatedName("a") - @Export("Scene_drawnCount") - static int Scene_drawnCount; - @ObfuscatedName("b") - @Export("Scene_cameraXTileMin") - static int Scene_cameraXTileMin; - @ObfuscatedName("y") - @Export("Scene_cameraXTileMax") - static int Scene_cameraXTileMax; - @ObfuscatedName("r") - @Export("Scene_cameraYTileMin") - static int Scene_cameraYTileMin; - @ObfuscatedName("q") - @Export("Scene_cameraYTileMax") - static int Scene_cameraYTileMax; - @ObfuscatedName("g") - @Export("Scene_cameraXTile") - static int Scene_cameraXTile; - @ObfuscatedName("s") - @Export("Scene_cameraYTile") - static int Scene_cameraYTile; - @ObfuscatedName("o") - @Export("Scene_cameraX") - static int Scene_cameraX; - @ObfuscatedName("k") - @Export("Scene_cameraY") - static int Scene_cameraY; - @ObfuscatedName("d") - @Export("Scene_cameraZ") - static int Scene_cameraZ; - @ObfuscatedName("an") - @Export("Scene_cameraPitchSine") - static int Scene_cameraPitchSine; - @ObfuscatedName("aj") - @Export("Scene_cameraPitchCosine") - static int Scene_cameraPitchCosine; - @ObfuscatedName("ax") - @Export("Scene_cameraYawSine") - static int Scene_cameraYawSine; - @ObfuscatedName("ag") - @Export("Scene_cameraYawCosine") - static int Scene_cameraYawCosine; - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "[Lel;" - ) - @Export("gameObjects") - static GameObject[] gameObjects; - @ObfuscatedName("as") - @Export("checkClick") - static boolean checkClick; - @ObfuscatedName("ae") - @Export("Scene_selectedPlane") - static int Scene_selectedPlane; - @ObfuscatedName("ac") - @Export("Scene_selectedScreenX") - static int Scene_selectedScreenX; - @ObfuscatedName("ak") - @Export("Scene_selectedScreenY") - static int Scene_selectedScreenY; - @ObfuscatedName("av") - @Export("Scene_selectedX") - public static int Scene_selectedX; - @ObfuscatedName("aq") - @Export("Scene_selectedY") - public static int Scene_selectedY; - @ObfuscatedName("ah") - @Export("viewportWalking") - static boolean viewportWalking; - @ObfuscatedName("ao") - @Export("Scene_planesCount") - static int Scene_planesCount; - @ObfuscatedName("ab") - @Export("Scene_planeOccluderCounts") - static int[] Scene_planeOccluderCounts; - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "[[Led;" - ) - @Export("Scene_planeOccluders") - static Occluder[][] Scene_planeOccluders; - @ObfuscatedName("ap") - @Export("Scene_currentOccludersCount") - static int Scene_currentOccludersCount; - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "[Led;" - ) - @Export("Scene_currentOccluders") - static Occluder[] Scene_currentOccluders; - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("Scene_tilesDeque") - static NodeDeque Scene_tilesDeque; - @ObfuscatedName("al") - static final int[] field1826; - @ObfuscatedName("ay") - static final int[] field1871; - @ObfuscatedName("af") - static final int[] field1829; - @ObfuscatedName("ar") - static final int[] field1873; - @ObfuscatedName("az") - static final int[] field1866; - @ObfuscatedName("at") - static final int[] field1875; - @ObfuscatedName("bh") - static final int[] field1876; - @ObfuscatedName("bz") - @Export("visibilityMap") - static boolean[][][][] visibilityMap; - @ObfuscatedName("bm") - @Export("visibleTiles") - static boolean[][] visibleTiles; - @ObfuscatedName("bn") - @Export("Scene_viewportXCenter") - static int Scene_viewportXCenter; - @ObfuscatedName("bd") - @Export("Scene_viewportYCenter") - static int Scene_viewportYCenter; - @ObfuscatedName("bc") - @Export("Scene_viewportXMin") - static int Scene_viewportXMin; - @ObfuscatedName("bi") - @Export("Scene_viewportYMin") - static int Scene_viewportYMin; - @ObfuscatedName("bk") - @Export("Scene_viewportXMax") - static int Scene_viewportXMax; - @ObfuscatedName("bw") - @Export("Scene_viewportYMax") - static int Scene_viewportYMax; - @ObfuscatedName("v") - @Export("planes") - int planes; - @ObfuscatedName("x") - @Export("xSize") - int xSize; - @ObfuscatedName("w") - @Export("ySize") - int ySize; - @ObfuscatedName("t") - @Export("tileHeights") - int[][][] tileHeights; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "[[[Lec;" - ) - @Export("tiles") - Tile[][][] tiles; - @ObfuscatedName("n") - @Export("minPlane") - int minPlane; - @ObfuscatedName("p") - @Export("tempGameObjectsCount") - int tempGameObjectsCount; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "[Lel;" - ) - @Export("tempGameObjects") - GameObject[] tempGameObjects; - @ObfuscatedName("z") - int[][][] field1833; - @ObfuscatedName("bx") - @Export("tileShape2D") - int[][] tileShape2D; - @ObfuscatedName("bf") - @Export("tileRotation2D") - int[][] tileRotation2D; - - static { - Scene_isLowDetail = true; // L: 8 - tileUpdateCount = 0; // L: 22 - Scene_plane = 0; // L: 23 - gameObjects = new GameObject[100]; // L: 38 - checkClick = false; // L: 39 - Scene_selectedPlane = 0; // L: 40 - Scene_selectedScreenX = 0; // L: 41 - Scene_selectedScreenY = 0; // L: 42 - Scene_selectedX = -1; // L: 43 - Scene_selectedY = -1; // L: 44 - viewportWalking = false; // L: 45 - Scene_planesCount = 4; // L: 48 - Scene_planeOccluderCounts = new int[Scene_planesCount]; // L: 49 - Scene_planeOccluders = new Occluder[Scene_planesCount][500]; // L: 50 - Scene_currentOccludersCount = 0; // L: 51 - Scene_currentOccluders = new Occluder[500]; // L: 52 - Scene_tilesDeque = new NodeDeque(); // L: 53 - field1826 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; // L: 54 - field1871 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; // L: 55 - field1829 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; // L: 56 - field1873 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; // L: 57 - field1866 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; // L: 58 - field1875 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; // L: 59 - field1876 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; // L: 60 - visibilityMap = new boolean[8][32][51][51]; // L: 86 - } - - public Scene(int var1, int var2, int var3, int[][][] var4) { - this.minPlane = 0; // L: 14 - this.tempGameObjectsCount = 0; // L: 15 - this.tempGameObjects = new GameObject[5000]; // L: 16 - this.tileShape2D = new int[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}}; // L: 65 - this.tileRotation2D = new int[][]{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}}; // L: 80 - this.planes = var1; // L: 96 - this.xSize = var2; // L: 97 - this.ySize = var3; // L: 98 - this.tiles = new Tile[var1][var2][var3]; // L: 99 - this.field1833 = new int[var1][var2 + 1][var3 + 1]; // L: 100 - this.tileHeights = var4; // L: 101 - this.clear(); // L: 102 - } // L: 103 - - @ObfuscatedName("h") - @Export("clear") - public void clear() { - int var1; - int var2; - for (var1 = 0; var1 < this.planes; ++var1) { // L: 106 - for (var2 = 0; var2 < this.xSize; ++var2) { // L: 107 - for (int var3 = 0; var3 < this.ySize; ++var3) { // L: 108 - this.tiles[var1][var2][var3] = null; - } - } - } - - for (var1 = 0; var1 < Scene_planesCount; ++var1) { // L: 111 - for (var2 = 0; var2 < Scene_planeOccluderCounts[var1]; ++var2) { // L: 112 - Scene_planeOccluders[var1][var2] = null; - } - - Scene_planeOccluderCounts[var1] = 0; // L: 113 - } - - for (var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { // L: 115 - this.tempGameObjects[var1] = null; // L: 116 - } - - this.tempGameObjectsCount = 0; // L: 118 - - for (var1 = 0; var1 < gameObjects.length; ++var1) { // L: 119 - gameObjects[var1] = null; - } - - } // L: 120 - - @ObfuscatedName("v") - @Export("init") - public void init(int var1) { - this.minPlane = var1; // L: 123 - - for (int var2 = 0; var2 < this.xSize; ++var2) { // L: 124 - for (int var3 = 0; var3 < this.ySize; ++var3) { // L: 125 - if (this.tiles[var1][var2][var3] == null) { // L: 126 - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); - } - } - } - - } // L: 129 - - @ObfuscatedName("x") - @Export("setLinkBelow") - public void setLinkBelow(int var1, int var2) { - Tile var3 = this.tiles[0][var1][var2]; // L: 132 - - for (int var4 = 0; var4 < 3; ++var4) { // L: 133 - Tile var5 = this.tiles[var4][var1][var2] = this.tiles[var4 + 1][var1][var2]; // L: 134 - if (var5 != null) { // L: 135 - --var5.plane; // L: 136 - - for (int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { // L: 137 - GameObject var7 = var5.gameObjects[var6]; // L: 138 - if (PacketBufferNode.method3682(var7.tag) && var7.startX == var1 && var2 == var7.startY) { // L: 139 - --var7.plane; - } - } - } - } - - if (this.tiles[0][var1][var2] == null) { // L: 143 - this.tiles[0][var1][var2] = new Tile(0, var1, var2); - } - - this.tiles[0][var1][var2].linkedBelowTile = var3; // L: 144 - this.tiles[3][var1][var2] = null; // L: 145 - } // L: 146 - - @ObfuscatedName("t") - @Export("setTileMinPlane") - public void setTileMinPlane(int var1, int var2, int var3, int var4) { - Tile var5 = this.tiles[var1][var2][var3]; // L: 165 - if (var5 != null) { // L: 166 - this.tiles[var1][var2][var3].minPlane = var4; // L: 167 - } - } // L: 168 - - @ObfuscatedName("j") - @Export("addTile") - public void addTile(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, int var20) { - SceneTilePaint var21; - int var22; - if (var4 == 0) { // L: 171 - var21 = new SceneTilePaint(var11, var12, var13, var14, -1, var19, false); // L: 172 - - for (var22 = var1; var22 >= 0; --var22) { // L: 173 - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].paint = var21; // L: 174 - } else if (var4 != 1) { // L: 177 - SceneTileModel var23 = new SceneTileModel(var4, var5, var6, var2, var3, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20); // L: 183 - - for (var22 = var1; var22 >= 0; --var22) { // L: 184 - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].model = var23; // L: 185 - } else { - var21 = new SceneTilePaint(var15, var16, var17, var18, var6, var20, var8 == var7 && var7 == var9 && var10 == var7); // L: 178 - - for (var22 = var1; var22 >= 0; --var22) { // L: 179 - if (this.tiles[var22][var2][var3] == null) { - this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); - } - } - - this.tiles[var1][var2][var3].paint = var21; // L: 180 - } - } // L: 175 181 186 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IIIILer;JI)V" - ) - @Export("newFloorDecoration") - public void newFloorDecoration(int var1, int var2, int var3, int var4, Renderable var5, long var6, int var8) { - if (var5 != null) { // L: 189 - FloorDecoration var9 = new FloorDecoration(); // L: 190 - var9.renderable = var5; // L: 191 - var9.x = var2 * 128 + 64; // L: 192 - var9.y = var3 * 128 + 64; // L: 193 - var9.tileHeight = var4; // L: 194 - var9.tag = var6; // L: 195 - var9.flags = var8; // L: 196 - if (this.tiles[var1][var2][var3] == null) { // L: 197 - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); - } - - this.tiles[var1][var2][var3].floorDecoration = var9; // L: 198 - } - } // L: 199 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(IIIILer;JLer;Ler;)V" - ) - @Export("newGroundItemPile") - public void newGroundItemPile(int var1, int var2, int var3, int var4, Renderable var5, long var6, Renderable var8, Renderable var9) { - ItemLayer var10 = new ItemLayer(); // L: 202 - var10.first = var5; // L: 203 - var10.x = var2 * 128 + 64; // L: 204 - var10.y = var3 * 128 + 64; // L: 205 - var10.tileHeight = var4; // L: 206 - var10.tag = var6; // L: 207 - var10.second = var8; // L: 208 - var10.third = var9; // L: 209 - int var11 = 0; // L: 210 - Tile var12 = this.tiles[var1][var2][var3]; // L: 211 - if (var12 != null) { // L: 212 - for (int var13 = 0; var13 < var12.gameObjectsCount; ++var13) { // L: 213 - if ((var12.gameObjects[var13].flags & 256) == 256 && var12.gameObjects[var13].renderable instanceof Model) { // L: 214 - Model var14 = (Model)var12.gameObjects[var13].renderable; // L: 215 - var14.calculateBoundsCylinder(); // L: 216 - if (var14.height > var11) { // L: 217 - var11 = var14.height; - } - } - } - } - - var10.height = var11; // L: 221 - if (this.tiles[var1][var2][var3] == null) { - this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); // L: 222 - } - - this.tiles[var1][var2][var3].itemLayer = var10; // L: 223 - } // L: 224 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(IIIILer;Ler;IIJI)V" - ) - @Export("newBoundaryObject") - public void newBoundaryObject(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, long var9, int var11) { - if (var5 != null || var6 != null) { // L: 227 - BoundaryObject var12 = new BoundaryObject(); // L: 228 - var12.tag = var9; // L: 229 - var12.flags = var11; // L: 230 - var12.x = var2 * 128 + 64; // L: 231 - var12.y = var3 * 128 + 64; // L: 232 - var12.tileHeight = var4; // L: 233 - var12.renderable1 = var5; // L: 234 - var12.renderable2 = var6; // L: 235 - var12.orientationA = var7; // L: 236 - var12.orientationB = var8; // L: 237 - - for (int var13 = var1; var13 >= 0; --var13) { - if (this.tiles[var13][var2][var3] == null) { - this.tiles[var13][var2][var3] = new Tile(var13, var2, var3); // L: 238 - } - } - - this.tiles[var1][var2][var3].boundaryObject = var12; // L: 239 - } - } // L: 240 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(IIIILer;Ler;IIIIJI)V" - ) - @Export("newWallDecoration") - public void newWallDecoration(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, int var9, int var10, long var11, int var13) { - if (var5 != null) { // L: 243 - WallDecoration var14 = new WallDecoration(); // L: 244 - var14.tag = var11; // L: 245 - var14.flags = var13; // L: 246 - var14.x = var2 * 128 + 64; // L: 247 - var14.y = var3 * 128 + 64; // L: 248 - var14.tileHeight = var4; // L: 249 - var14.renderable1 = var5; // L: 250 - var14.renderable2 = var6; // L: 251 - var14.orientation = var7; // L: 252 - var14.orientation2 = var8; // L: 253 - var14.xOffset = var9; // L: 254 - var14.yOffset = var10; // L: 255 - - for (int var15 = var1; var15 >= 0; --var15) { - if (this.tiles[var15][var2][var3] == null) { - this.tiles[var15][var2][var3] = new Tile(var15, var2, var3); // L: 256 - } - } - - this.tiles[var1][var2][var3].wallDecoration = var14; // L: 257 - } - } // L: 258 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(IIIIIILer;IJI)Z" - ) - public boolean method3160(int var1, int var2, int var3, int var4, int var5, int var6, Renderable var7, int var8, long var9, int var11) { - if (var7 == null) { // L: 261 - return true; - } else { - int var12 = var5 * 64 + var2 * 128; // L: 262 - int var13 = var6 * 64 + var3 * 128; // L: 263 - return this.newGameObject(var1, var2, var3, var5, var6, var12, var13, var4, var7, var8, false, var9, var11); // L: 264 - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIIIILer;IJZ)Z" - ) - @Export("drawEntity") - public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Renderable var6, int var7, long var8, boolean var10) { - if (var6 == null) { // L: 268 - return true; - } else { - int var11 = var2 - var5; // L: 269 - int var12 = var3 - var5; // L: 270 - int var13 = var5 + var2; // L: 271 - int var14 = var3 + var5; // L: 272 - if (var10) { // L: 273 - if (var7 > 640 && var7 < 1408) { // L: 274 - var14 += 128; - } - - if (var7 > 1152 && var7 < 1920) { // L: 275 - var13 += 128; - } - - if (var7 > 1664 || var7 < 384) { // L: 276 - var12 -= 128; - } - - if (var7 > 128 && var7 < 896) { // L: 277 - var11 -= 128; - } - } - - var11 /= 128; // L: 279 - var12 /= 128; // L: 280 - var13 /= 128; // L: 281 - var14 /= 128; // L: 282 - return this.newGameObject(var1, var11, var12, var13 - var11 + 1, var14 - var12 + 1, var2, var3, var4, var6, var7, true, var8, 0); // L: 283 - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(IIIIILer;IJIIII)Z" - ) - @Export("addNullableObject") - public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Renderable 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); // L: 287 288 - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IIIIIIIILer;IZJI)Z" - ) - @Export("newGameObject") - boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Renderable var9, int var10, boolean var11, long var12, int var14) { - int var16; - for (int var15 = var2; var15 < var2 + var4; ++var15) { // L: 292 - for (var16 = var3; var16 < var3 + var5; ++var16) { // L: 293 - if (var15 < 0 || var16 < 0 || var15 >= this.xSize || var16 >= this.ySize) { // L: 294 - return false; - } - - Tile var23 = this.tiles[var1][var15][var16]; // L: 295 - if (var23 != null && var23.gameObjectsCount >= 5) { // L: 296 - return false; - } - } - } - - GameObject var21 = new GameObject(); // L: 299 - var21.tag = var12; // L: 300 - var21.flags = var14; // L: 301 - var21.plane = var1; // L: 302 - var21.centerX = var6; // L: 303 - var21.centerY = var7; // L: 304 - var21.height = var8; // L: 305 - var21.renderable = var9; // L: 306 - var21.orientation = var10; // L: 307 - var21.startX = var2; // L: 308 - var21.startY = var3; // L: 309 - var21.endX = var2 + var4 - 1; // L: 310 - var21.endY = var3 + var5 - 1; // L: 311 - - for (var16 = var2; var16 < var2 + var4; ++var16) { // L: 312 - for (int var17 = var3; var17 < var3 + var5; ++var17) { // L: 313 - int var18 = 0; // L: 314 - if (var16 > var2) { // L: 315 - ++var18; - } - - if (var16 < var2 + var4 - 1) { // L: 316 - var18 += 4; - } - - if (var17 > var3) { // L: 317 - var18 += 8; - } - - if (var17 < var3 + var5 - 1) { // L: 318 - var18 += 2; - } - - for (int var19 = var1; var19 >= 0; --var19) { - if (this.tiles[var19][var16][var17] == null) { - this.tiles[var19][var16][var17] = new Tile(var19, var16, var17); // L: 319 - } - } - - Tile var22 = this.tiles[var1][var16][var17]; // L: 320 - var22.gameObjects[var22.gameObjectsCount] = var21; // L: 321 - var22.gameObjectEdgeMasks[var22.gameObjectsCount] = var18; // L: 322 - var22.gameObjectsEdgeMask |= var18; // L: 324 - ++var22.gameObjectsCount; // L: 325 - } - } - - if (var11) { // L: 328 - this.tempGameObjects[this.tempGameObjectsCount++] = var21; - } - - return true; // L: 329 - } - - @ObfuscatedName("i") - @Export("clearTempGameObjects") - public void clearTempGameObjects() { - for (int var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { // L: 333 - GameObject var2 = this.tempGameObjects[var1]; // L: 334 - this.removeGameObject(var2); // L: 335 - this.tempGameObjects[var1] = null; // L: 336 - } - - this.tempGameObjectsCount = 0; // L: 338 - } // L: 339 - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(Lel;)V" - ) - @Export("removeGameObject") - void removeGameObject(GameObject var1) { - for (int var2 = var1.startX; var2 <= var1.endX; ++var2) { // L: 342 - for (int var3 = var1.startY; var3 <= var1.endY; ++var3) { // L: 343 - Tile var4 = this.tiles[var1.plane][var2][var3]; // L: 344 - if (var4 != null) { // L: 345 - int var5; - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { // L: 346 - if (var4.gameObjects[var5] == var1) { // L: 347 - --var4.gameObjectsCount; // L: 348 - - for (int var6 = var5; var6 < var4.gameObjectsCount; ++var6) { // L: 349 - var4.gameObjects[var6] = var4.gameObjects[var6 + 1]; // L: 350 - var4.gameObjectEdgeMasks[var6] = var4.gameObjectEdgeMasks[var6 + 1]; // L: 351 - } - - var4.gameObjects[var4.gameObjectsCount] = null; // L: 353 - break; - } - } - - var4.gameObjectsEdgeMask = 0; // L: 357 - - for (var5 = 0; var5 < var4.gameObjectsCount; ++var5) { // L: 358 - var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; // L: 360 - } - } - } - } - - } // L: 365 - - @ObfuscatedName("y") - public void method3175(int var1, int var2, int var3, int var4) { - Tile var5 = this.tiles[var1][var2][var3]; // L: 368 - if (var5 != null) { // L: 369 - WallDecoration var6 = var5.wallDecoration; // L: 370 - if (var6 != null) { // L: 371 - var6.xOffset = var4 * var6.xOffset / 16; // L: 372 - var6.yOffset = var4 * var6.yOffset / 16; // L: 373 - } - } - } // L: 374 - - @ObfuscatedName("r") - @Export("removeBoundaryObject") - public void removeBoundaryObject(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 377 - if (var4 != null) { - var4.boundaryObject = null; // L: 379 - } - } // L: 378 380 - - @ObfuscatedName("q") - @Export("removeWallDecoration") - public void removeWallDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 383 - if (var4 != null) { - var4.wallDecoration = null; // L: 385 - } - } // L: 384 386 - - @ObfuscatedName("g") - @Export("removeGameObject") - public void removeGameObject(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 389 - if (var4 != null) { // L: 390 - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { // L: 391 - GameObject var6 = var4.gameObjects[var5]; // L: 392 - if (PacketBufferNode.method3682(var6.tag) && var2 == var6.startX && var3 == var6.startY) { // L: 393 - this.removeGameObject(var6); // L: 394 - return; // L: 395 - } - } - - } - } // L: 398 - - @ObfuscatedName("o") - @Export("removeFloorDecoration") - public void removeFloorDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 401 - if (var4 != null) { - var4.floorDecoration = null; // L: 403 - } - } // L: 402 404 - - @ObfuscatedName("an") - @Export("removeGroundItemPile") - public void removeGroundItemPile(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 407 - if (var4 != null) { - var4.itemLayer = null; // L: 409 - } - } // L: 408 410 - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(III)Lev;" - ) - public BoundaryObject method3197(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 413 - return var4 == null ? null : var4.boundaryObject; // L: 414 415 - } - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(III)Ley;" - ) - public WallDecoration method3234(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 419 - return var4 == null ? null : var4.wallDecoration; // L: 420 421 - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(III)Lel;" - ) - public GameObject method3183(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 425 - if (var4 == null) { // L: 426 - return null; - } else { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { // L: 427 - GameObject var6 = var4.gameObjects[var5]; // L: 428 - if (PacketBufferNode.method3682(var6.tag) && var2 == var6.startX && var3 == var6.startY) { // L: 429 - return var6; - } - } - - return null; // L: 431 - } - } - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(III)Lem;" - ) - @Export("getFloorDecoration") - public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 435 - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; // L: 436 437 - } - - @ObfuscatedName("as") - @Export("getBoundaryObjectTag") - public long getBoundaryObjectTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 441 - return var4 != null && var4.boundaryObject != null ? var4.boundaryObject.tag : 0L; // L: 442 443 - } - - @ObfuscatedName("ae") - @Export("getWallDecorationTag") - public long getWallDecorationTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 447 - return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; // L: 448 449 - } - - @ObfuscatedName("ac") - @Export("getGameObjectTag") - public long getGameObjectTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 453 - if (var4 == null) { // L: 454 - return 0L; - } else { - for (int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { // L: 455 - GameObject var6 = var4.gameObjects[var5]; // L: 456 - if (PacketBufferNode.method3682(var6.tag) && var2 == var6.startX && var3 == var6.startY) { // L: 457 - return var6.tag; - } - } - - return 0L; // L: 459 - } - } - - @ObfuscatedName("ak") - @Export("getFloorDecorationTag") - public long getFloorDecorationTag(int var1, int var2, int var3) { - Tile var4 = this.tiles[var1][var2][var3]; // L: 463 - return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; // L: 464 465 - } - - @ObfuscatedName("av") - @Export("getObjectFlags") - public int getObjectFlags(int var1, int var2, int var3, long var4) { - Tile var6 = this.tiles[var1][var2][var3]; // L: 469 - if (var6 == null) { // L: 470 - return -1; - } else if (var6.boundaryObject != null && var6.boundaryObject.tag == var4) { // L: 471 - return var6.boundaryObject.flags & 255; - } else if (var6.wallDecoration != null && var6.wallDecoration.tag == var4) { // L: 472 - return var6.wallDecoration.flags & 255; - } else if (var6.floorDecoration != null && var6.floorDecoration.tag == var4) { // L: 473 - return var6.floorDecoration.flags & 255; - } else { - for (int var7 = 0; var7 < var6.gameObjectsCount; ++var7) { // L: 474 - if (var6.gameObjects[var7].tag == var4) { // L: 475 - return var6.gameObjects[var7].flags & 255; - } - } - - return -1; // L: 477 - } - } - - @ObfuscatedName("aq") - public void method3190(int var1, int var2, int var3) { - for (int var4 = 0; var4 < this.planes; ++var4) { // L: 481 - for (int var5 = 0; var5 < this.xSize; ++var5) { // L: 482 - for (int var6 = 0; var6 < this.ySize; ++var6) { // L: 483 - Tile var7 = this.tiles[var4][var5][var6]; // L: 484 - if (var7 != null) { // L: 485 - BoundaryObject var8 = var7.boundaryObject; // L: 486 - ModelData var10; - if (var8 != null && var8.renderable1 instanceof ModelData) { // L: 487 - ModelData var9 = (ModelData)var8.renderable1; // L: 488 - this.method3192(var9, var4, var5, var6, 1, 1); // L: 489 - if (var8.renderable2 instanceof ModelData) { // L: 490 - var10 = (ModelData)var8.renderable2; // L: 491 - this.method3192(var10, var4, var5, var6, 1, 1); // L: 492 - ModelData.method2872(var9, var10, 0, 0, 0, false); // L: 493 - var8.renderable2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); // L: 494 - } - - var8.renderable1 = var9.toModel(var9.ambient, var9.contrast, var1, var2, var3); // L: 496 - } - - for (int var12 = 0; var12 < var7.gameObjectsCount; ++var12) { // L: 498 - GameObject var14 = var7.gameObjects[var12]; // L: 499 - if (var14 != null && var14.renderable instanceof ModelData) { // L: 500 - ModelData var11 = (ModelData)var14.renderable; // L: 501 - this.method3192(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); // L: 502 - var14.renderable = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); // L: 503 - } - } - - FloorDecoration var13 = var7.floorDecoration; // L: 506 - if (var13 != null && var13.renderable instanceof ModelData) { // L: 507 - var10 = (ModelData)var13.renderable; // L: 508 - this.method3191(var10, var4, var5, var6); // L: 509 - var13.renderable = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); // L: 510 - } - } - } - } - } - - } // L: 516 - - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(Les;III)V" - ) - void method3191(ModelData var1, int var2, int var3, int var4) { - Tile var5; - ModelData var6; - if (var3 < this.xSize) { // L: 519 - var5 = this.tiles[var2][var3 + 1][var4]; // L: 520 - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { // L: 521 - var6 = (ModelData)var5.floorDecoration.renderable; // L: 522 - ModelData.method2872(var1, var6, 128, 0, 0, true); // L: 523 - } - } - - if (var4 < this.xSize) { // L: 526 - var5 = this.tiles[var2][var3][var4 + 1]; // L: 527 - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { // L: 528 - var6 = (ModelData)var5.floorDecoration.renderable; // L: 529 - ModelData.method2872(var1, var6, 0, 0, 128, true); // L: 530 - } - } - - if (var3 < this.xSize && var4 < this.ySize) { // L: 533 - var5 = this.tiles[var2][var3 + 1][var4 + 1]; // L: 534 - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { // L: 535 - var6 = (ModelData)var5.floorDecoration.renderable; // L: 536 - ModelData.method2872(var1, var6, 128, 0, 128, true); // L: 537 - } - } - - if (var3 < this.xSize && var4 > 0) { // L: 540 - var5 = this.tiles[var2][var3 + 1][var4 - 1]; // L: 541 - if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { // L: 542 - var6 = (ModelData)var5.floorDecoration.renderable; // L: 543 - ModelData.method2872(var1, var6, 128, 0, -128, true); // L: 544 - } - } - - } // L: 547 - - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(Les;IIIII)V" - ) - void method3192(ModelData var1, int var2, int var3, int var4, int var5, int var6) { - boolean var7 = true; // L: 550 - int var8 = var3; // L: 551 - int var9 = var3 + var5; // L: 552 - int var10 = var4 - 1; // L: 553 - int var11 = var4 + var6; // L: 554 - - for (int var12 = var2; var12 <= var2 + 1; ++var12) { // L: 555 - if (var12 != this.planes) { // L: 556 - for (int var13 = var8; var13 <= var9; ++var13) { // L: 557 - if (var13 >= 0 && var13 < this.xSize) { // L: 558 - for (int var14 = var10; var14 <= var11; ++var14) { // L: 559 - if (var14 >= 0 && var14 < this.ySize && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var3 != var13)) { // L: 560 561 - Tile var15 = this.tiles[var12][var13][var14]; // L: 562 - if (var15 != null) { // L: 563 - int var16 = (this.tileHeights[var12][var13 + 1][var14] + this.tileHeights[var12][var13 + 1][var14 + 1] + this.tileHeights[var12][var13][var14] + this.tileHeights[var12][var13][var14 + 1]) / 4 - (this.tileHeights[var2][var3 + 1][var4] + this.tileHeights[var2][var3][var4] + this.tileHeights[var2][var3 + 1][var4 + 1] + this.tileHeights[var2][var3][var4 + 1]) / 4; // L: 564 - BoundaryObject var17 = var15.boundaryObject; // L: 565 - if (var17 != null) { // L: 566 - ModelData var18; - if (var17.renderable1 instanceof ModelData) { // L: 567 - var18 = (ModelData)var17.renderable1; // L: 568 - ModelData.method2872(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); // L: 569 - } - - if (var17.renderable2 instanceof ModelData) { // L: 571 - var18 = (ModelData)var17.renderable2; // L: 572 - ModelData.method2872(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); // L: 573 - } - } - - for (int var23 = 0; var23 < var15.gameObjectsCount; ++var23) { // L: 576 - GameObject var19 = var15.gameObjects[var23]; // L: 577 - if (var19 != null && var19.renderable instanceof ModelData) { // L: 578 - ModelData var20 = (ModelData)var19.renderable; // L: 579 - int var21 = var19.endX - var19.startX + 1; // L: 580 - int var22 = var19.endY - var19.startY + 1; // L: 581 - ModelData.method2872(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); // L: 582 - } - } - } - } - } - } - } - - --var8; // L: 587 - var7 = false; // L: 588 - } - } - - } // L: 590 - - @ObfuscatedName("aa") - @Export("drawTileMinimap") - public void drawTileMinimap(int[] var1, int var2, int var3, int var4, int var5, int var6) { - Tile var7 = this.tiles[var4][var5][var6]; // L: 593 - if (var7 != null) { // L: 594 - SceneTilePaint var8 = var7.paint; // L: 595 - int var10; - if (var8 != null) { // L: 596 - int var18 = var8.rgb; // L: 597 - if (var18 != 0) { // L: 598 - for (var10 = 0; var10 < 4; ++var10) { // L: 599 - var1[var2] = var18; // L: 600 - var1[var2 + 1] = var18; // L: 601 - var1[var2 + 2] = var18; // L: 602 - var1[var2 + 3] = var18; // L: 603 - var2 += var3; // L: 604 - } - - } - } else { - SceneTileModel var9 = var7.model; // L: 608 - if (var9 != null) { // L: 609 - var10 = var9.shape; // L: 610 - int var11 = var9.rotation; // L: 611 - int var12 = var9.underlayRgb; // L: 612 - int var13 = var9.overlayRgb; // L: 613 - int[] var14 = this.tileShape2D[var10]; // L: 614 - int[] var15 = this.tileRotation2D[var11]; // L: 615 - int var16 = 0; // L: 616 - int var17; - if (var12 != 0) { // L: 617 - for (var17 = 0; var17 < 4; ++var17) { // L: 618 - var1[var2] = var14[var15[var16++]] == 0 ? var12 : var13; // L: 619 - var1[var2 + 1] = var14[var15[var16++]] == 0 ? var12 : var13; // L: 620 - var1[var2 + 2] = var14[var15[var16++]] == 0 ? var12 : var13; // L: 621 - var1[var2 + 3] = var14[var15[var16++]] == 0 ? var12 : var13; // L: 622 - var2 += var3; // L: 623 - } - } else { - for (var17 = 0; var17 < 4; ++var17) { // L: 627 - if (var14[var15[var16++]] != 0) { // L: 628 - var1[var2] = var13; - } - - if (var14[var15[var16++]] != 0) { // L: 629 - var1[var2 + 1] = var13; - } - - if (var14[var15[var16++]] != 0) { // L: 630 - var1[var2 + 2] = var13; - } - - if (var14[var15[var16++]] != 0) { // L: 631 - var1[var2 + 3] = var13; - } - - var2 += var3; // L: 632 - } - } - - } - } - } - } // L: 606 635 - - @ObfuscatedName("aw") - @Export("menuOpen") - public void menuOpen(int var1, int var2, int var3, boolean var4) { - if (!shouldSendWalk() || var4) { // L: 714 - checkClick = true; // L: 715 - viewportWalking = var4; // L: 716 - Scene_selectedPlane = var1; // L: 717 - Scene_selectedScreenX = var2; // L: 718 - Scene_selectedScreenY = var3; // L: 719 - Scene_selectedX = -1; // L: 720 - Scene_selectedY = -1; // L: 721 - } - } // L: 722 - - @ObfuscatedName("ap") - @Export("setViewportWalking") - public void setViewportWalking() { - viewportWalking = true; // L: 725 - } // L: 726 - - @ObfuscatedName("al") - @Export("draw") - public void draw(int var1, int var2, int var3, int var4, int var5, int var6) { - if (var1 < 0) { // L: 738 - var1 = 0; - } else if (var1 >= this.xSize * 128) { // L: 739 - var1 = this.xSize * 128 - 1; - } - - if (var3 < 0) { // L: 740 - var3 = 0; - } else if (var3 >= this.ySize * 128) { // L: 741 - var3 = this.ySize * 128 - 1; - } - - if (var4 < 128) { // L: 742 - var4 = 128; - } else if (var4 > 383) { // L: 743 - var4 = 383; - } - - ++Scene_drawnCount; // L: 744 - Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var4]; // L: 745 - Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var4]; // L: 746 - Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var5]; // L: 747 - Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var5]; // L: 748 - visibleTiles = visibilityMap[(var4 - 128) / 32][var5 / 64]; // L: 749 - Scene_cameraX = var1; // L: 750 - Scene_cameraY = var2; // L: 751 - Scene_cameraZ = var3; // L: 752 - Scene_cameraXTile = var1 / 128; // L: 753 - Scene_cameraYTile = var3 / 128; // L: 754 - Scene_plane = var6; // L: 755 - Scene_cameraXTileMin = Scene_cameraXTile - 25; // L: 756 - if (Scene_cameraXTileMin < 0) { // L: 757 - Scene_cameraXTileMin = 0; - } - - Scene_cameraYTileMin = Scene_cameraYTile - 25; // L: 758 - if (Scene_cameraYTileMin < 0) { // L: 759 - Scene_cameraYTileMin = 0; - } - - Scene_cameraXTileMax = Scene_cameraXTile + 25; // L: 760 - if (Scene_cameraXTileMax > this.xSize) { // L: 761 - Scene_cameraXTileMax = this.xSize; - } - - Scene_cameraYTileMax = Scene_cameraYTile + 25; // L: 762 - if (Scene_cameraYTileMax > this.ySize) { // L: 763 - Scene_cameraYTileMax = this.ySize; - } - - this.occlude(); // L: 764 - tileUpdateCount = 0; // L: 765 - - int var7; - Tile[][] var8; - int var9; - int var10; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { // L: 766 - var8 = this.tiles[var7]; // L: 767 - - for (var9 = Scene_cameraXTileMin; var9 < Scene_cameraXTileMax; ++var9) { // L: 768 - for (var10 = Scene_cameraYTileMin; var10 < Scene_cameraYTileMax; ++var10) { // L: 769 - Tile var16 = var8[var9][var10]; // L: 770 - if (var16 != null) { // L: 771 - if (var16.minPlane <= var6 && (visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] || this.tileHeights[var7][var9][var10] - var2 >= 2000)) { // L: 772 - var16.drawPrimary = true; // L: 778 - var16.drawSecondary = true; // L: 779 - if (var16.gameObjectsCount > 0) { // L: 780 - var16.drawGameObjects = true; - } else { - var16.drawGameObjects = false; // L: 781 - } - - ++tileUpdateCount; // L: 782 - } else { - var16.drawPrimary = false; // L: 773 - var16.drawSecondary = false; // L: 774 - var16.drawGameObjectEdges = 0; // L: 775 - } - } - } - } - } - - int var11; - int var12; - int var13; - int var14; - Tile var15; - for (var7 = this.minPlane; var7 < this.planes; ++var7) { // L: 788 - var8 = this.tiles[var7]; // L: 789 - - for (var9 = -25; var9 <= 0; ++var9) { // L: 790 - var10 = var9 + Scene_cameraXTile; // L: 791 - var11 = Scene_cameraXTile - var9; // L: 792 - if (var10 >= Scene_cameraXTileMin || var11 < Scene_cameraXTileMax) { // L: 793 - for (var12 = -25; var12 <= 0; ++var12) { // L: 794 - var13 = var12 + Scene_cameraYTile; // L: 795 - var14 = Scene_cameraYTile - var12; // L: 796 - if (var10 >= Scene_cameraXTileMin) { // L: 797 - if (var13 >= Scene_cameraYTileMin) { // L: 798 - var15 = var8[var10][var13]; // L: 799 - if (var15 != null && var15.drawPrimary) { // L: 800 - this.drawTile(var15, true); - } - } - - if (var14 < Scene_cameraYTileMax) { // L: 802 - var15 = var8[var10][var14]; // L: 803 - if (var15 != null && var15.drawPrimary) { // L: 804 - this.drawTile(var15, true); - } - } - } - - if (var11 < Scene_cameraXTileMax) { // L: 807 - if (var13 >= Scene_cameraYTileMin) { // L: 808 - var15 = var8[var11][var13]; // L: 809 - if (var15 != null && var15.drawPrimary) { // L: 810 - this.drawTile(var15, true); - } - } - - if (var14 < Scene_cameraYTileMax) { // L: 812 - var15 = var8[var11][var14]; // L: 813 - if (var15 != null && var15.drawPrimary) { // L: 814 - this.drawTile(var15, true); - } - } - } - - if (tileUpdateCount == 0) { // L: 817 - checkClick = false; // L: 818 - return; // L: 819 - } - } - } - } - } - - for (var7 = this.minPlane; var7 < this.planes; ++var7) { // L: 825 - var8 = this.tiles[var7]; // L: 826 - - for (var9 = -25; var9 <= 0; ++var9) { // L: 827 - var10 = var9 + Scene_cameraXTile; // L: 828 - var11 = Scene_cameraXTile - var9; // L: 829 - if (var10 >= Scene_cameraXTileMin || var11 < Scene_cameraXTileMax) { // L: 830 - for (var12 = -25; var12 <= 0; ++var12) { // L: 831 - var13 = var12 + Scene_cameraYTile; // L: 832 - var14 = Scene_cameraYTile - var12; // L: 833 - if (var10 >= Scene_cameraXTileMin) { // L: 834 - if (var13 >= Scene_cameraYTileMin) { // L: 835 - var15 = var8[var10][var13]; // L: 836 - if (var15 != null && var15.drawPrimary) { // L: 837 - this.drawTile(var15, false); - } - } - - if (var14 < Scene_cameraYTileMax) { // L: 839 - var15 = var8[var10][var14]; // L: 840 - if (var15 != null && var15.drawPrimary) { - this.drawTile(var15, false); // L: 841 - } - } - } - - if (var11 < Scene_cameraXTileMax) { // L: 844 - if (var13 >= Scene_cameraYTileMin) { // L: 845 - var15 = var8[var11][var13]; // L: 846 - if (var15 != null && var15.drawPrimary) { // L: 847 - this.drawTile(var15, false); - } - } - - if (var14 < Scene_cameraYTileMax) { // L: 849 - var15 = var8[var11][var14]; // L: 850 - if (var15 != null && var15.drawPrimary) { // L: 851 - this.drawTile(var15, false); - } - } - } - - if (tileUpdateCount == 0) { // L: 854 - checkClick = false; // L: 855 - return; // L: 856 - } - } - } - } - } - - checkClick = false; // L: 862 - } // L: 863 - - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "(Lec;Z)V" - ) - @Export("drawTile") - void drawTile(Tile var1, boolean var2) { - Scene_tilesDeque.addFirst(var1); // L: 866 - - 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(); // L: 868 - if (var3 == null) { // L: 869 - return; - } - } while(!var3.drawSecondary); // L: 870 - - var4 = var3.x; // L: 871 - var5 = var3.y; // L: 872 - var6 = var3.plane; // L: 873 - var7 = var3.originalPlane; // L: 874 - var8 = this.tiles[var6]; // L: 875 - if (!var3.drawPrimary) { // L: 876 - break; - } - - if (var2) { // L: 877 - if (var6 > 0) { // L: 878 - var9 = this.tiles[var6 - 1][var4][var5]; // L: 879 - if (var9 != null && var9.drawSecondary) { // L: 880 - continue; - } - } - - if (var4 <= Scene_cameraXTile && var4 > Scene_cameraXTileMin) { // L: 882 - var9 = var8[var4 - 1][var5]; // L: 883 - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 1) == 0)) { // L: 884 - continue; - } - } - - if (var4 >= Scene_cameraXTile && var4 < Scene_cameraXTileMax - 1) { // L: 886 - var9 = var8[var4 + 1][var5]; // L: 887 - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 4) == 0)) { // L: 888 - continue; - } - } - - if (var5 <= Scene_cameraYTile && var5 > Scene_cameraYTileMin) { // L: 890 - var9 = var8[var4][var5 - 1]; // L: 891 - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 8) == 0)) { // L: 892 - continue; - } - } - - if (var5 >= Scene_cameraYTile && var5 < Scene_cameraYTileMax - 1) { // L: 894 - var9 = var8[var4][var5 + 1]; // L: 895 - if (var9 != null && var9.drawSecondary && (var9.drawPrimary || (var3.gameObjectsEdgeMask & 2) == 0)) { // L: 896 - continue; - } - } - } else { - var2 = true; // L: 899 - } - - var3.drawPrimary = false; // L: 900 - if (var3.linkedBelowTile != null) { // L: 901 - var9 = var3.linkedBelowTile; // L: 902 - if (var9.paint != null) { // L: 903 - if (!this.method3291(0, var4, var5)) { // L: 904 - this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } else if (var9.model != null && !this.method3291(0, var4, var5)) { // L: 906 907 - this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - - var10 = var9.boundaryObject; // L: 909 - if (var10 != null) { // L: 910 - var10.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y - Scene_cameraZ, var10.tag); - } - - for (var11 = 0; var11 < var9.gameObjectsCount; ++var11) { // L: 911 - var12 = var9.gameObjects[var11]; // L: 912 - if (var12 != null) { // L: 913 - var12.renderable.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; // L: 916 - if (var3.paint != null) { // L: 917 - if (!this.method3291(var7, var4, var5)) { // L: 918 - var20 = true; // L: 919 - if (var3.paint.neColor != 12345678 || checkClick && var6 <= Scene_selectedPlane) { // L: 920 - this.drawTileUnderlay(var3.paint, var7, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); - } - } - } else if (var3.model != null && !this.method3291(var7, var4, var5)) { // L: 923 924 - var20 = true; // L: 925 - this.drawTileOverlay(var3.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); // L: 926 - } - - var21 = 0; // L: 929 - var11 = 0; // L: 930 - BoundaryObject var31 = var3.boundaryObject; // L: 931 - WallDecoration var13 = var3.wallDecoration; // L: 932 - if (var31 != null || var13 != null) { // L: 933 - if (var4 == Scene_cameraXTile) { // L: 934 - ++var21; - } else if (Scene_cameraXTile < var4) { // L: 935 - var21 += 2; - } - - if (var5 == Scene_cameraYTile) { // L: 936 - var21 += 3; - } else if (Scene_cameraYTile > var5) { // L: 937 - var21 += 6; - } - - var11 = field1826[var21]; // L: 938 - var3.field1679 = field1829[var21]; // L: 939 - } - - if (var31 != null) { // L: 941 - if ((var31.orientationA & field1871[var21]) != 0) { // L: 942 - if (var31.orientationA == 16) { // L: 943 - var3.drawGameObjectEdges = 3; // L: 944 - var3.field1680 = field1873[var21]; // L: 945 - var3.field1677 = 3 - var3.field1680; // L: 946 - } else if (var31.orientationA == 32) { // L: 948 - var3.drawGameObjectEdges = 6; // L: 949 - var3.field1680 = field1866[var21]; // L: 950 - var3.field1677 = 6 - var3.field1680; // L: 951 - } else if (var31.orientationA == 64) { // L: 953 - var3.drawGameObjectEdges = 12; // L: 954 - var3.field1680 = field1875[var21]; // L: 955 - var3.field1677 = 12 - var3.field1680; // L: 956 - } else { - var3.drawGameObjectEdges = 9; // L: 959 - var3.field1680 = field1876[var21]; // L: 960 - var3.field1677 = 9 - var3.field1680; // L: 961 - } - } else { - var3.drawGameObjectEdges = 0; // L: 964 - } - - if ((var31.orientationA & var11) != 0 && !this.method3208(var7, var4, var5, var31.orientationA)) { // L: 965 - var31.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.tag); - } - - if ((var31.orientationB & var11) != 0 && !this.method3208(var7, var4, var5, var31.orientationB)) { // L: 966 - var31.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var31.x - Scene_cameraX, var31.tileHeight - Scene_cameraY, var31.y - Scene_cameraZ, var31.tag); - } - } - - if (var13 != null && !this.method3213(var7, var4, var5, var13.renderable1.height)) { // L: 968 - if ((var13.orientation & var11) != 0) { // L: 969 - var13.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var13.x - Scene_cameraX + var13.xOffset, var13.tileHeight - Scene_cameraY, var13.y - Scene_cameraZ + var13.yOffset, var13.tag); // L: 970 - } else if (var13.orientation == 256) { // L: 972 - var14 = var13.x - Scene_cameraX; // L: 973 - var15 = var13.tileHeight - Scene_cameraY; // L: 974 - var16 = var13.y - Scene_cameraZ; // L: 975 - var17 = var13.orientation2; // L: 976 - if (var17 != 1 && var17 != 2) { // L: 978 - var18 = var14; // L: 979 - } else { - var18 = -var14; - } - - int var19; - if (var17 != 2 && var17 != 3) { // L: 981 - var19 = var16; // L: 982 - } else { - var19 = -var16; - } - - if (var19 < var18) { // L: 983 - var13.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + var13.xOffset, var15, var16 + var13.yOffset, var13.tag); // L: 984 - } else if (var13.renderable2 != null) { // L: 986 - var13.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14, var15, var16, var13.tag); // L: 987 - } - } - } - - if (var20) { // L: 991 - FloorDecoration var22 = var3.floorDecoration; // L: 992 - if (var22 != null) { // L: 993 - var22.renderable.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var22.x - Scene_cameraX, var22.tileHeight - Scene_cameraY, var22.y - Scene_cameraZ, var22.tag); - } - - ItemLayer var23 = var3.itemLayer; // L: 994 - if (var23 != null && var23.height == 0) { // L: 995 - if (var23.second != null) { // L: 996 - var23.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y - Scene_cameraZ, var23.tag); - } - - if (var23.third != null) { // L: 997 - var23.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y - Scene_cameraZ, var23.tag); - } - - if (var23.first != null) { // L: 998 - var23.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var23.x - Scene_cameraX, var23.tileHeight - Scene_cameraY, var23.y - Scene_cameraZ, var23.tag); - } - } - } - - var14 = var3.gameObjectsEdgeMask; // L: 1001 - if (var14 != 0) { // L: 1002 - if (var4 < Scene_cameraXTile && (var14 & 4) != 0) { // L: 1003 - var36 = var8[var4 + 1][var5]; // L: 1004 - if (var36 != null && var36.drawSecondary) { // L: 1005 - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 < Scene_cameraYTile && (var14 & 2) != 0) { // L: 1007 - var36 = var8[var4][var5 + 1]; // L: 1008 - if (var36 != null && var36.drawSecondary) { // L: 1009 - Scene_tilesDeque.addFirst(var36); - } - } - - if (var4 > Scene_cameraXTile && (var14 & 1) != 0) { // L: 1011 - var36 = var8[var4 - 1][var5]; // L: 1012 - if (var36 != null && var36.drawSecondary) { // L: 1013 - Scene_tilesDeque.addFirst(var36); - } - } - - if (var5 > Scene_cameraYTile && (var14 & 8) != 0) { // L: 1015 - var36 = var8[var4][var5 - 1]; // L: 1016 - if (var36 != null && var36.drawSecondary) { // L: 1017 - Scene_tilesDeque.addFirst(var36); - } - } - } - break; - } - - if (var3.drawGameObjectEdges != 0) { // L: 1021 - var20 = true; // L: 1022 - - for (var21 = 0; var21 < var3.gameObjectsCount; ++var21) { // L: 1023 - if (var3.gameObjects[var21].lastDrawn != Scene_drawnCount && (var3.gameObjectEdgeMasks[var21] & var3.drawGameObjectEdges) == var3.field1680) { // L: 1024 - var20 = false; // L: 1025 - break; // L: 1026 - } - } - - if (var20) { // L: 1029 - var10 = var3.boundaryObject; // L: 1030 - if (!this.method3208(var7, var4, var5, var10.orientationA)) { // L: 1031 - var10.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var10.x - Scene_cameraX, var10.tileHeight - Scene_cameraY, var10.y - Scene_cameraZ, var10.tag); - } - - var3.drawGameObjectEdges = 0; // L: 1032 - } - } - - if (!var3.drawGameObjects) { // L: 1035 - break; - } - - try { - int var34 = var3.gameObjectsCount; // L: 1037 - var3.drawGameObjects = false; // L: 1038 - var21 = 0; // L: 1039 - - label563: - for (var11 = 0; var11 < var34; ++var11) { // L: 1040 - var12 = var3.gameObjects[var11]; // L: 1041 - if (var12.lastDrawn != Scene_drawnCount) { // L: 1042 - for (var24 = var12.startX; var24 <= var12.endX; ++var24) { // L: 1043 - for (var14 = var12.startY; var14 <= var12.endY; ++var14) { // L: 1044 - var36 = var8[var24][var14]; // L: 1045 - if (var36.drawPrimary) { // L: 1046 - var3.drawGameObjects = true; // L: 1047 - continue label563; // L: 1048 - } - - if (var36.drawGameObjectEdges != 0) { // L: 1050 - var16 = 0; // L: 1051 - if (var24 > var12.startX) { // L: 1052 - ++var16; - } - - if (var24 < var12.endX) { // L: 1053 - var16 += 4; - } - - if (var14 > var12.startY) { // L: 1054 - var16 += 8; - } - - if (var14 < var12.endY) { // L: 1055 - var16 += 2; - } - - if ((var16 & var36.drawGameObjectEdges) == var3.field1677) { // L: 1056 - var3.drawGameObjects = true; // L: 1057 - continue label563; // L: 1058 - } - } - } - } - - gameObjects[var21++] = var12; // L: 1063 - var24 = Scene_cameraXTile - var12.startX; // L: 1064 - var14 = var12.endX - Scene_cameraXTile; // L: 1065 - if (var14 > var24) { // L: 1066 - var24 = var14; - } - - var15 = Scene_cameraYTile - var12.startY; // L: 1067 - var16 = var12.endY - Scene_cameraYTile; // L: 1068 - if (var16 > var15) { // L: 1069 - var12.field1953 = var24 + var16; - } else { - var12.field1953 = var24 + var15; // L: 1070 - } - } - } - - while (var21 > 0) { // L: 1073 - var11 = -50; // L: 1074 - var25 = -1; // L: 1075 - - for (var24 = 0; var24 < var21; ++var24) { // L: 1076 - GameObject var35 = gameObjects[var24]; // L: 1077 - if (var35.lastDrawn != Scene_drawnCount) { // L: 1078 - if (var35.field1953 > var11) { // L: 1079 - var11 = var35.field1953; // L: 1080 - var25 = var24; // L: 1081 - } else if (var11 == var35.field1953) { // L: 1083 - var15 = var35.centerX - Scene_cameraX; // L: 1084 - var16 = var35.centerY - Scene_cameraZ; // L: 1085 - var17 = gameObjects[var25].centerX - Scene_cameraX; // L: 1086 - var18 = gameObjects[var25].centerY - Scene_cameraZ; // L: 1087 - if (var15 * var15 + var16 * var16 > var17 * var17 + var18 * var18) { // L: 1088 - var25 = var24; - } - } - } - } - - if (var25 == -1) { // L: 1092 - break; - } - - GameObject var33 = gameObjects[var25]; // L: 1093 - var33.lastDrawn = Scene_drawnCount; // L: 1094 - if (!this.method3210(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.renderable.height)) { // L: 1095 - var33.renderable.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); // L: 1096 - } - - for (var14 = var33.startX; var14 <= var33.endX; ++var14) { // L: 1098 - for (var15 = var33.startY; var15 <= var33.endY; ++var15) { // L: 1099 - Tile var26 = var8[var14][var15]; // L: 1100 - if (var26.drawGameObjectEdges != 0) { // L: 1101 - Scene_tilesDeque.addFirst(var26); - } else if ((var14 != var4 || var15 != var5) && var26.drawSecondary) { // L: 1102 - Scene_tilesDeque.addFirst(var26); - } - } - } - } - - if (!var3.drawGameObjects) { // L: 1106 - break; - } - } catch (Exception var28) { // L: 1108 - var3.drawGameObjects = false; // L: 1109 - break; - } - } - } while(!var3.drawSecondary); // L: 1112 - } while(var3.drawGameObjectEdges != 0); // L: 1113 - - if (var4 > Scene_cameraXTile || var4 <= Scene_cameraXTileMin) { // L: 1114 - break; - } - - var9 = var8[var4 - 1][var5]; // L: 1115 - } while(var9 != null && var9.drawSecondary); // L: 1116 - - if (var4 < Scene_cameraXTile || var4 >= Scene_cameraXTileMax - 1) { // L: 1118 - break; - } - - var9 = var8[var4 + 1][var5]; // L: 1119 - } while(var9 != null && var9.drawSecondary); // L: 1120 - - if (var5 > Scene_cameraYTile || var5 <= Scene_cameraYTileMin) { // L: 1122 - break; - } - - var9 = var8[var4][var5 - 1]; // L: 1123 - } while(var9 != null && var9.drawSecondary); // L: 1124 - - if (var5 < Scene_cameraYTile || var5 >= Scene_cameraYTileMax - 1) { // L: 1126 - break; - } - - var9 = var8[var4][var5 + 1]; // L: 1127 - } while(var9 != null && var9.drawSecondary); // L: 1128 - - var3.drawSecondary = false; // L: 1130 - --tileUpdateCount; // L: 1131 - ItemLayer var32 = var3.itemLayer; // L: 1132 - if (var32 != null && var32.height != 0) { // L: 1133 - if (var32.second != null) { // L: 1134 - var32.second.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y - Scene_cameraZ, var32.tag); - } - - if (var32.third != null) { // L: 1135 - var32.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y - Scene_cameraZ, var32.tag); - } - - if (var32.first != null) { // L: 1136 - var32.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y - Scene_cameraZ, var32.tag); - } - } - - if (var3.field1679 != 0) { // L: 1138 - WallDecoration var29 = var3.wallDecoration; // L: 1139 - if (var29 != null && !this.method3213(var7, var4, var5, var29.renderable1.height)) { // L: 1140 - if ((var29.orientation & var3.field1679) != 0) { // L: 1141 - var29.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var29.x - Scene_cameraX + var29.xOffset, var29.tileHeight - Scene_cameraY, var29.y - Scene_cameraZ + var29.yOffset, var29.tag); // L: 1142 - } else if (var29.orientation == 256) { // L: 1144 - var11 = var29.x - Scene_cameraX; // L: 1145 - var25 = var29.tileHeight - Scene_cameraY; // L: 1146 - var24 = var29.y - Scene_cameraZ; // L: 1147 - var14 = var29.orientation2; // L: 1148 - if (var14 != 1 && var14 != 2) { // L: 1150 - var15 = var11; // L: 1151 - } else { - var15 = -var11; - } - - if (var14 != 2 && var14 != 3) { // L: 1153 - var16 = var24; // L: 1154 - } else { - var16 = -var24; - } - - if (var16 >= var15) { // L: 1155 - var29.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11 + var29.xOffset, var25, var24 + var29.yOffset, var29.tag); // L: 1156 - } else if (var29.renderable2 != null) { // L: 1158 - var29.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11, var25, var24, var29.tag); // L: 1159 - } - } - } - - BoundaryObject var27 = var3.boundaryObject; // L: 1163 - if (var27 != null) { // L: 1164 - if ((var27.orientationB & var3.field1679) != 0 && !this.method3208(var7, var4, var5, var27.orientationB)) { // L: 1165 - var27.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y - Scene_cameraZ, var27.tag); - } - - if ((var27.orientationA & var3.field1679) != 0 && !this.method3208(var7, var4, var5, var27.orientationA)) { // L: 1166 - var27.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var27.x - Scene_cameraX, var27.tileHeight - Scene_cameraY, var27.y - Scene_cameraZ, var27.tag); - } - } - } - - Tile var30; - if (var6 < this.planes - 1) { // L: 1169 - var30 = this.tiles[var6 + 1][var4][var5]; // L: 1170 - if (var30 != null && var30.drawSecondary) { // L: 1171 - Scene_tilesDeque.addFirst(var30); - } - } - - if (var4 < Scene_cameraXTile) { // L: 1173 - var30 = var8[var4 + 1][var5]; // L: 1174 - if (var30 != null && var30.drawSecondary) { // L: 1175 - Scene_tilesDeque.addFirst(var30); - } - } - - if (var5 < Scene_cameraYTile) { // L: 1177 - var30 = var8[var4][var5 + 1]; // L: 1178 - if (var30 != null && var30.drawSecondary) { // L: 1179 - Scene_tilesDeque.addFirst(var30); - } - } - - if (var4 > Scene_cameraXTile) { // L: 1181 - var30 = var8[var4 - 1][var5]; // L: 1182 - if (var30 != null && var30.drawSecondary) { // L: 1183 - Scene_tilesDeque.addFirst(var30); - } - } - - if (var5 > Scene_cameraYTile) { // L: 1185 - var30 = var8[var4][var5 - 1]; // L: 1186 - if (var30 != null && var30.drawSecondary) { // L: 1187 - Scene_tilesDeque.addFirst(var30); - } - } - } - } - - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "(Lew;IIIIIII)V" - ) - @Export("drawTileUnderlay") - void drawTileUnderlay(SceneTilePaint var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9; - int var10 = var9 = (var7 << 7) - Scene_cameraX; // L: 1195 - int var11; - int var12 = var11 = (var8 << 7) - Scene_cameraZ; // L: 1197 - int var13; - int var14 = var13 = var10 + 128; // L: 1199 - int var15; - int var16 = var15 = var12 + 128; // L: 1201 - int var17 = this.tileHeights[var2][var7][var8] - Scene_cameraY; // L: 1202 - int var18 = this.tileHeights[var2][var7 + 1][var8] - Scene_cameraY; // L: 1203 - int var19 = this.tileHeights[var2][var7 + 1][var8 + 1] - Scene_cameraY; // L: 1204 - int var20 = this.tileHeights[var2][var7][var8 + 1] - Scene_cameraY; // L: 1205 - int var21 = var10 * var6 + var5 * var12 >> 16; // L: 1206 - var12 = var12 * var6 - var5 * var10 >> 16; // L: 1207 - var10 = var21; // L: 1208 - var21 = var17 * var4 - var3 * var12 >> 16; // L: 1209 - var12 = var3 * var17 + var12 * var4 >> 16; // L: 1210 - var17 = var21; // L: 1211 - if (var12 >= 50) { // L: 1212 - var21 = var14 * var6 + var5 * var11 >> 16; // L: 1213 - var11 = var11 * var6 - var5 * var14 >> 16; // L: 1214 - var14 = var21; // L: 1215 - var21 = var18 * var4 - var3 * var11 >> 16; // L: 1216 - var11 = var3 * var18 + var11 * var4 >> 16; // L: 1217 - var18 = var21; // L: 1218 - if (var11 >= 50) { // L: 1219 - var21 = var13 * var6 + var5 * var16 >> 16; // L: 1220 - var16 = var16 * var6 - var5 * var13 >> 16; // L: 1221 - var13 = var21; // L: 1222 - var21 = var19 * var4 - var3 * var16 >> 16; // L: 1223 - var16 = var3 * var19 + var16 * var4 >> 16; // L: 1224 - var19 = var21; // L: 1225 - if (var16 >= 50) { // L: 1226 - var21 = var9 * var6 + var5 * var15 >> 16; // L: 1227 - var15 = var15 * var6 - var5 * var9 >> 16; // L: 1228 - var9 = var21; // L: 1229 - var21 = var20 * var4 - var3 * var15 >> 16; // L: 1230 - var15 = var3 * var20 + var15 * var4 >> 16; // L: 1231 - if (var15 >= 50) { // L: 1233 - int var22 = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; // L: 1234 - int var23 = var17 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; // L: 1235 - int var24 = var14 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidX; // L: 1236 - int var25 = var18 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidY; // L: 1237 - int var26 = var13 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidX; // L: 1238 - int var27 = var19 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidY; // L: 1239 - int var28 = var9 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidX; // L: 1240 - int var29 = var21 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidY; // L: 1241 - Rasterizer3D.Rasterizer3D_alpha = 0; // L: 1242 - int var30; - if ((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { // L: 1243 - Rasterizer3D.field1791 = false; // L: 1244 - if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1245 - Rasterizer3D.field1791 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var27, var29, var25, var26, var28, var24)) { // L: 1246 - Scene_selectedX = var7; // L: 1247 - Scene_selectedY = var8; // L: 1248 - } - - if (var1.texture == -1) { // L: 1250 - if (var1.neColor != 12345678) { // L: 1251 - Rasterizer3D.method3079(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); - } - } else if (!Scene_isLowDetail) { // L: 1253 - if (var1.isFlat) { // L: 1254 - 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); // L: 1255 - } - } else { - var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); // L: 1258 - Rasterizer3D.method3079(var27, var29, var25, var26, var28, var24, method3204(var30, var1.neColor), method3204(var30, var1.nwColor), method3204(var30, var1.seColor)); // L: 1259 - } - } - - if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { // L: 1262 - Rasterizer3D.field1791 = false; // L: 1263 - if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1264 - Rasterizer3D.field1791 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var23, var25, var29, var22, var24, var28)) { // L: 1265 - Scene_selectedX = var7; // L: 1266 - Scene_selectedY = var8; // L: 1267 - } - - if (var1.texture == -1) { // L: 1269 - if (var1.swColor != 12345678) { // L: 1270 - Rasterizer3D.method3079(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); - } - } else if (!Scene_isLowDetail) { // L: 1272 - 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); // L: 1273 - } else { - var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); // L: 1276 - Rasterizer3D.method3079(var23, var25, var29, var22, var24, var28, method3204(var30, var1.swColor), method3204(var30, var1.seColor), method3204(var30, var1.nwColor)); // L: 1277 - } - } - - } - } - } - } - } // L: 1280 - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(Leq;IIIIII)V" - ) - @Export("drawTileOverlay") - void drawTileOverlay(SceneTileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { - int var8 = var1.vertexX.length; // L: 1283 - - int var9; - int var10; - int var11; - int var12; - int var13; - for (var9 = 0; var9 < var8; ++var9) { // L: 1284 - var10 = var1.vertexX[var9] - Scene_cameraX; // L: 1285 - var11 = var1.vertexY[var9] - Scene_cameraY; // L: 1286 - var12 = var1.vertexZ[var9] - Scene_cameraZ; // L: 1287 - var13 = var12 * var4 + var5 * var10 >> 16; // L: 1288 - var12 = var5 * var12 - var10 * var4 >> 16; // L: 1289 - var10 = var13; // L: 1290 - var13 = var3 * var11 - var12 * var2 >> 16; // L: 1291 - var12 = var11 * var2 + var3 * var12 >> 16; // L: 1292 - if (var12 < 50) { // L: 1294 - return; - } - - if (var1.triangleTextureId != null) { // L: 1295 - SceneTileModel.field1610[var9] = var10; // L: 1296 - SceneTileModel.field1621[var9] = var13; // L: 1297 - SceneTileModel.field1622[var9] = var12; // L: 1298 - } - - SceneTileModel.field1618[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; // L: 1300 - SceneTileModel.field1619[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; // L: 1301 - } - - Rasterizer3D.Rasterizer3D_alpha = 0; // L: 1303 - var8 = var1.faceX.length; // L: 1304 - - for (var9 = 0; var9 < var8; ++var9) { // L: 1305 - var10 = var1.faceX[var9]; // L: 1306 - var11 = var1.faceY[var9]; // L: 1307 - var12 = var1.faceZ[var9]; // L: 1308 - var13 = SceneTileModel.field1618[var10]; // L: 1309 - int var14 = SceneTileModel.field1618[var11]; // L: 1310 - int var15 = SceneTileModel.field1618[var12]; // L: 1311 - int var16 = SceneTileModel.field1619[var10]; // L: 1312 - int var17 = SceneTileModel.field1619[var11]; // L: 1313 - int var18 = SceneTileModel.field1619[var12]; // L: 1314 - if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { // L: 1315 - Rasterizer3D.field1791 = false; // L: 1316 - if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { // L: 1317 - Rasterizer3D.field1791 = true; - } - - if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var16, var17, var18, var13, var14, var15)) { // L: 1318 - Scene_selectedX = var6; // L: 1319 - Scene_selectedY = var7; // L: 1320 - } - - if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { // L: 1322 - if (!Scene_isLowDetail) { // L: 1326 - if (var1.isFlat) { // L: 1327 - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field1610[0], SceneTileModel.field1610[1], SceneTileModel.field1610[3], SceneTileModel.field1621[0], SceneTileModel.field1621[1], SceneTileModel.field1621[3], SceneTileModel.field1622[0], SceneTileModel.field1622[1], SceneTileModel.field1622[3], var1.triangleTextureId[var9]); - } else { - Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field1610[var10], SceneTileModel.field1610[var11], SceneTileModel.field1610[var12], SceneTileModel.field1621[var10], SceneTileModel.field1621[var11], SceneTileModel.field1621[var12], SceneTileModel.field1622[var10], SceneTileModel.field1622[var11], SceneTileModel.field1622[var12], var1.triangleTextureId[var9]); // L: 1328 - } - } else { - int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); // L: 1331 - Rasterizer3D.method3079(var16, var17, var18, var13, var14, var15, method3204(var19, var1.triangleColorA[var9]), method3204(var19, var1.triangleColorB[var9]), method3204(var19, var1.triangleColorC[var9])); // L: 1332 - } - } else if (var1.triangleColorA[var9] != 12345678) { // L: 1323 - Rasterizer3D.method3079(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); - } - } - } - - } // L: 1337 - - @ObfuscatedName("bh") - @Export("occlude") - void occlude() { - int var1 = Scene_planeOccluderCounts[Scene_plane]; // L: 1364 - Occluder[] var2 = Scene_planeOccluders[Scene_plane]; // L: 1365 - Scene_currentOccludersCount = 0; // L: 1366 - - for (int var3 = 0; var3 < var1; ++var3) { // L: 1367 - Occluder var4 = var2[var3]; // L: 1368 - int var5; - int var6; - int var7; - int var9; - boolean var13; - if (var4.type == 1) { // L: 1369 - var5 = var4.minTileX - Scene_cameraXTile + 25; // L: 1370 - if (var5 >= 0 && var5 <= 50) { // L: 1371 - var6 = var4.minTileY - Scene_cameraYTile + 25; // L: 1372 - if (var6 < 0) { // L: 1373 - var6 = 0; - } - - var7 = var4.maxTileY - Scene_cameraYTile + 25; // L: 1374 - if (var7 > 50) { // L: 1375 - var7 = 50; - } - - var13 = false; // L: 1376 - - while (var6 <= var7) { // L: 1377 - if (visibleTiles[var5][var6++]) { // L: 1378 - var13 = true; // L: 1379 - break; - } - } - - if (var13) { // L: 1383 - var9 = Scene_cameraX - var4.minX; // L: 1384 - if (var9 > 32) { // L: 1385 - var4.field1921 = 1; - } else { - if (var9 >= -32) { // L: 1386 - continue; - } - - var4.field1921 = 2; // L: 1387 - var9 = -var9; // L: 1388 - } - - var4.field1924 = (var4.minZ - Scene_cameraZ << 8) / var9; // L: 1391 - var4.field1929 = (var4.maxZ - Scene_cameraZ << 8) / var9; // L: 1392 - var4.field1926 = (var4.minY - Scene_cameraY << 8) / var9; // L: 1393 - var4.field1927 = (var4.maxY - Scene_cameraY << 8) / var9; // L: 1394 - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; // L: 1395 - } - } - } else if (var4.type == 2) { // L: 1398 - var5 = var4.minTileY - Scene_cameraYTile + 25; // L: 1399 - if (var5 >= 0 && var5 <= 50) { // L: 1400 - var6 = var4.minTileX - Scene_cameraXTile + 25; // L: 1401 - if (var6 < 0) { // L: 1402 - var6 = 0; - } - - var7 = var4.maxTileX - Scene_cameraXTile + 25; // L: 1403 - if (var7 > 50) { // L: 1404 - var7 = 50; - } - - var13 = false; // L: 1405 - - while (var6 <= var7) { // L: 1406 - if (visibleTiles[var6++][var5]) { // L: 1407 - var13 = true; // L: 1408 - break; - } - } - - if (var13) { // L: 1412 - var9 = Scene_cameraZ - var4.minZ; // L: 1413 - if (var9 > 32) { // L: 1414 - var4.field1921 = 3; - } else { - if (var9 >= -32) { // L: 1415 - continue; - } - - var4.field1921 = 4; // L: 1416 - var9 = -var9; // L: 1417 - } - - var4.field1925 = (var4.minX - Scene_cameraX << 8) / var9; // L: 1420 - var4.field1923 = (var4.maxX - Scene_cameraX << 8) / var9; // L: 1421 - var4.field1926 = (var4.minY - Scene_cameraY << 8) / var9; // L: 1422 - var4.field1927 = (var4.maxY - Scene_cameraY << 8) / var9; // L: 1423 - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; // L: 1424 - } - } - } else if (var4.type == 4) { // L: 1427 - var5 = var4.minY - Scene_cameraY; // L: 1428 - if (var5 > 128) { // L: 1429 - var6 = var4.minTileY - Scene_cameraYTile + 25; // L: 1430 - if (var6 < 0) { // L: 1431 - var6 = 0; - } - - var7 = var4.maxTileY - Scene_cameraYTile + 25; // L: 1432 - if (var7 > 50) { // L: 1433 - var7 = 50; - } - - if (var6 <= var7) { // L: 1434 - int var8 = var4.minTileX - Scene_cameraXTile + 25; // L: 1435 - if (var8 < 0) { // L: 1436 - var8 = 0; - } - - var9 = var4.maxTileX - Scene_cameraXTile + 25; // L: 1437 - if (var9 > 50) { // L: 1438 - var9 = 50; - } - - boolean var10 = false; // L: 1439 - - label149: - for (int var11 = var8; var11 <= var9; ++var11) { // L: 1440 - for (int var12 = var6; var12 <= var7; ++var12) { // L: 1441 - if (visibleTiles[var11][var12]) { // L: 1442 - var10 = true; // L: 1443 - break label149; - } - } - } - - if (var10) { // L: 1448 - var4.field1921 = 5; // L: 1449 - var4.field1925 = (var4.minX - Scene_cameraX << 8) / var5; // L: 1450 - var4.field1923 = (var4.maxX - Scene_cameraX << 8) / var5; // L: 1451 - var4.field1924 = (var4.minZ - Scene_cameraZ << 8) / var5; // L: 1452 - var4.field1929 = (var4.maxZ - Scene_cameraZ << 8) / var5; // L: 1453 - Scene_currentOccluders[Scene_currentOccludersCount++] = var4; // L: 1454 - } - } - } - } - } - - } // L: 1458 - - @ObfuscatedName("by") - boolean method3291(int var1, int var2, int var3) { - int var4 = this.field1833[var1][var2][var3]; // L: 1461 - if (var4 == -Scene_drawnCount) { // L: 1462 - return false; - } else if (var4 == Scene_drawnCount) { // L: 1463 - return true; - } else { - int var5 = var2 << 7; // L: 1464 - int var6 = var3 << 7; // L: 1465 - if (this.method3211(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3211(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3211(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3211(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { // L: 1466 - this.field1833[var1][var2][var3] = Scene_drawnCount; // L: 1467 - return true; // L: 1468 - } else { - this.field1833[var1][var2][var3] = -Scene_drawnCount; // L: 1471 - return false; // L: 1472 - } - } - } - - @ObfuscatedName("bs") - boolean method3208(int var1, int var2, int var3, int var4) { - if (!this.method3291(var1, var2, var3)) { // L: 1477 - return false; - } else { - int var5 = var2 << 7; // L: 1478 - int var6 = var3 << 7; // L: 1479 - int var7 = this.tileHeights[var1][var2][var3] - 1; // L: 1480 - int var8 = var7 - 120; // L: 1481 - int var9 = var7 - 230; // L: 1482 - int var10 = var7 - 238; // L: 1483 - if (var4 < 16) { // L: 1484 - if (var4 == 1) { // L: 1485 - if (var5 > Scene_cameraX) { // L: 1486 - if (!this.method3211(var5, var7, var6)) { // L: 1487 - return false; - } - - if (!this.method3211(var5, var7, var6 + 128)) { // L: 1488 - return false; - } - } - - if (var1 > 0) { // L: 1490 - if (!this.method3211(var5, var8, var6)) { // L: 1491 - return false; - } - - if (!this.method3211(var5, var8, var6 + 128)) { // L: 1492 - return false; - } - } - - if (!this.method3211(var5, var9, var6)) { // L: 1494 - return false; - } - - if (!this.method3211(var5, var9, var6 + 128)) { // L: 1495 - return false; - } - - return true; // L: 1496 - } - - if (var4 == 2) { // L: 1498 - if (var6 < Scene_cameraZ) { // L: 1499 - if (!this.method3211(var5, var7, var6 + 128)) { // L: 1500 - return false; - } - - if (!this.method3211(var5 + 128, var7, var6 + 128)) { // L: 1501 - return false; - } - } - - if (var1 > 0) { // L: 1503 - if (!this.method3211(var5, var8, var6 + 128)) { // L: 1504 - return false; - } - - if (!this.method3211(var5 + 128, var8, var6 + 128)) { // L: 1505 - return false; - } - } - - if (!this.method3211(var5, var9, var6 + 128)) { // L: 1507 - return false; - } - - if (!this.method3211(var5 + 128, var9, var6 + 128)) { // L: 1508 - return false; - } - - return true; // L: 1509 - } - - if (var4 == 4) { // L: 1511 - if (var5 < Scene_cameraX) { // L: 1512 - if (!this.method3211(var5 + 128, var7, var6)) { // L: 1513 - return false; - } - - if (!this.method3211(var5 + 128, var7, var6 + 128)) { // L: 1514 - return false; - } - } - - if (var1 > 0) { // L: 1516 - if (!this.method3211(var5 + 128, var8, var6)) { // L: 1517 - return false; - } - - if (!this.method3211(var5 + 128, var8, var6 + 128)) { // L: 1518 - return false; - } - } - - if (!this.method3211(var5 + 128, var9, var6)) { // L: 1520 - return false; - } - - if (!this.method3211(var5 + 128, var9, var6 + 128)) { // L: 1521 - return false; - } - - return true; // L: 1522 - } - - if (var4 == 8) { // L: 1524 - if (var6 > Scene_cameraZ) { // L: 1525 - if (!this.method3211(var5, var7, var6)) { // L: 1526 - return false; - } - - if (!this.method3211(var5 + 128, var7, var6)) { // L: 1527 - return false; - } - } - - if (var1 > 0) { // L: 1529 - if (!this.method3211(var5, var8, var6)) { // L: 1530 - return false; - } - - if (!this.method3211(var5 + 128, var8, var6)) { // L: 1531 - return false; - } - } - - if (!this.method3211(var5, var9, var6)) { // L: 1533 - return false; - } - - if (!this.method3211(var5 + 128, var9, var6)) { // L: 1534 - return false; - } - - return true; // L: 1535 - } - } - - if (!this.method3211(var5 + 64, var10, var6 + 64)) { // L: 1538 - return false; - } else if (var4 == 16) { // L: 1539 - return this.method3211(var5, var9, var6 + 128); // L: 1540 - } else if (var4 == 32) { // L: 1543 - return this.method3211(var5 + 128, var9, var6 + 128); // L: 1544 - } else if (var4 == 64) { // L: 1547 - return this.method3211(var5 + 128, var9, var6); // L: 1548 - } else if (var4 == 128) { // L: 1551 - return this.method3211(var5, var9, var6); // L: 1552 - } else { - return true; // L: 1555 - } - } - } - - @ObfuscatedName("br") - boolean method3213(int var1, int var2, int var3, int var4) { - if (!this.method3291(var1, var2, var3)) { // L: 1559 - return false; - } else { - int var5 = var2 << 7; // L: 1560 - int var6 = var3 << 7; // L: 1561 - return this.method3211(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method3211(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method3211(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method3211(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); // L: 1562 - } - } - - @ObfuscatedName("bl") - boolean method3210(int var1, int var2, int var3, int var4, int var5, int var6) { - int var7; - int var8; - if (var3 == var2 && var5 == var4) { // L: 1567 - if (!this.method3291(var1, var2, var4)) { // L: 1568 - return false; - } else { - var7 = var2 << 7; // L: 1569 - var8 = var4 << 7; // L: 1570 - return this.method3211(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3211(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3211(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3211(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); // L: 1571 - } - } else { - for (var7 = var2; var7 <= var3; ++var7) { // L: 1574 - for (var8 = var4; var8 <= var5; ++var8) { // L: 1575 - if (this.field1833[var1][var7][var8] == -Scene_drawnCount) { // L: 1576 - return false; - } - } - } - - var7 = (var2 << 7) + 1; // L: 1579 - var8 = (var4 << 7) + 2; // L: 1580 - int var9 = this.tileHeights[var1][var2][var4] - var6; // L: 1581 - if (!this.method3211(var7, var9, var8)) { // L: 1582 - return false; - } else { - int var10 = (var3 << 7) - 1; // L: 1583 - if (!this.method3211(var10, var9, var8)) { // L: 1584 - return false; - } else { - int var11 = (var5 << 7) - 1; // L: 1585 - if (!this.method3211(var7, var9, var11)) { // L: 1586 - return false; - } else if (!this.method3211(var10, var9, var11)) { // L: 1587 - return false; - } else { - return true; // L: 1588 - } - } - } - } - } - - @ObfuscatedName("bx") - boolean method3211(int var1, int var2, int var3) { - for (int var4 = 0; var4 < Scene_currentOccludersCount; ++var4) { // L: 1592 - Occluder var5 = Scene_currentOccluders[var4]; // L: 1593 - int var6; - int var7; - int var8; - int var9; - int var10; - if (var5.field1921 == 1) { // L: 1594 - var6 = var5.minX - var1; // L: 1595 - if (var6 > 0) { // L: 1596 - var7 = (var6 * var5.field1924 >> 8) + var5.minZ; // L: 1597 - var8 = (var6 * var5.field1929 >> 8) + var5.maxZ; // L: 1598 - var9 = (var6 * var5.field1926 >> 8) + var5.minY; // L: 1599 - var10 = (var6 * var5.field1927 >> 8) + var5.maxY; // L: 1600 - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { // L: 1601 - return true; - } - } - } else if (var5.field1921 == 2) { // L: 1605 - var6 = var1 - var5.minX; // L: 1606 - if (var6 > 0) { // L: 1607 - var7 = (var6 * var5.field1924 >> 8) + var5.minZ; // L: 1608 - var8 = (var6 * var5.field1929 >> 8) + var5.maxZ; // L: 1609 - var9 = (var6 * var5.field1926 >> 8) + var5.minY; // L: 1610 - var10 = (var6 * var5.field1927 >> 8) + var5.maxY; // L: 1611 - if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { // L: 1612 - return true; - } - } - } else if (var5.field1921 == 3) { // L: 1616 - var6 = var5.minZ - var3; // L: 1617 - if (var6 > 0) { // L: 1618 - var7 = (var6 * var5.field1925 >> 8) + var5.minX; // L: 1619 - var8 = (var6 * var5.field1923 >> 8) + var5.maxX; // L: 1620 - var9 = (var6 * var5.field1926 >> 8) + var5.minY; // L: 1621 - var10 = (var6 * var5.field1927 >> 8) + var5.maxY; // L: 1622 - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { // L: 1623 - return true; - } - } - } else if (var5.field1921 == 4) { // L: 1627 - var6 = var3 - var5.minZ; // L: 1628 - if (var6 > 0) { // L: 1629 - var7 = (var6 * var5.field1925 >> 8) + var5.minX; // L: 1630 - var8 = (var6 * var5.field1923 >> 8) + var5.maxX; // L: 1631 - var9 = (var6 * var5.field1926 >> 8) + var5.minY; // L: 1632 - var10 = (var6 * var5.field1927 >> 8) + var5.maxY; // L: 1633 - if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { // L: 1634 - return true; - } - } - } else if (var5.field1921 == 5) { // L: 1638 - var6 = var2 - var5.minY; // L: 1639 - if (var6 > 0) { // L: 1640 - var7 = (var6 * var5.field1925 >> 8) + var5.minX; // L: 1641 - var8 = (var6 * var5.field1923 >> 8) + var5.maxX; // L: 1642 - var9 = (var6 * var5.field1924 >> 8) + var5.minZ; // L: 1643 - var10 = (var6 * var5.field1929 >> 8) + var5.maxZ; // L: 1644 - if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { // L: 1645 - return true; - } - } - } - } - - return false; // L: 1650 - } - - @ObfuscatedName("w") - @Export("Scene_addOccluder") - public static void Scene_addOccluder(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - Occluder var8 = new Occluder(); // L: 149 - var8.minTileX = var2 / 128; // L: 150 - var8.maxTileX = var3 / 128; // L: 151 - var8.minTileY = var4 / 128; // L: 152 - var8.maxTileY = var5 / 128; // L: 153 - var8.type = var1; // L: 154 - var8.minX = var2; // L: 155 - var8.maxX = var3; // L: 156 - var8.minZ = var4; // L: 157 - var8.maxZ = var5; // L: 158 - var8.minY = var6; // L: 159 - var8.maxY = var7; // L: 160 - Scene_planeOccluders[var0][Scene_planeOccluderCounts[var0]++] = var8; // L: 161 - } // L: 162 - - @ObfuscatedName("ao") - @Export("Scene_buildVisiblityMap") - public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int var3, int var4) { - Scene_viewportXMin = 0; // L: 638 - Scene_viewportYMin = 0; // L: 639 - Scene_viewportXMax = var3; // L: 640 - Scene_viewportYMax = var4; // L: 641 - Scene_viewportXCenter = var3 / 2; // L: 642 - Scene_viewportYCenter = var4 / 2; // L: 643 - boolean[][][][] var5 = new boolean[var0.length][32][53][53]; // L: 644 - - int var6; - int var7; - int var8; - int var9; - int var11; - int var12; - for (var6 = 128; var6 <= 383; var6 += 32) { // L: 645 - for (var7 = 0; var7 < 2048; var7 += 64) { // L: 646 - Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var6]; // L: 647 - Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var6]; // L: 648 - Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var7]; // L: 649 - Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var7]; // L: 650 - var8 = (var6 - 128) / 32; // L: 651 - var9 = var7 / 64; // L: 652 - - for (int var10 = -26; var10 < 26; ++var10) { // L: 653 - for (var11 = -26; var11 < 26; ++var11) { // L: 654 - var12 = var10 * 128; // L: 655 - int var13 = var11 * 128; // L: 656 - boolean var14 = false; // L: 657 - - for (int var15 = -var1; var15 <= var2; var15 += 128) { // L: 658 - if (method3195(var12, var0[var8] + var15, var13)) { // L: 659 - var14 = true; // L: 660 - break; - } - } - - var5[var8][var9][var10 + 1 + 25][var11 + 1 + 25] = var14; // L: 664 - } - } - } - } - - for (var6 = 0; var6 < 8; ++var6) { // L: 669 - for (var7 = 0; var7 < 32; ++var7) { // L: 670 - for (var8 = -25; var8 < 25; ++var8) { // L: 671 - for (var9 = -25; var9 < 25; ++var9) { // L: 672 - boolean var16 = false; // L: 673 - - label83: - for (var11 = -1; var11 <= 1; ++var11) { // L: 674 - for (var12 = -1; var12 <= 1; ++var12) { // L: 675 - if (var5[var6][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { // L: 676 - var16 = true; // L: 677 - break label83; - } - - if (var5[var6][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { // L: 680 - var16 = true; // L: 681 - break label83; // L: 682 - } - - if (var5[var6 + 1][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { // L: 684 - var16 = true; // L: 685 - break label83; // L: 686 - } - - if (var5[var6 + 1][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { // L: 688 - var16 = true; // L: 689 - break label83; // L: 690 - } - } - } - - visibilityMap[var6][var7][var8 + 25][var9 + 25] = var16; // L: 694 - } - } - } - } - - } // L: 699 - - @ObfuscatedName("ab") - static boolean method3195(int var0, int var1, int var2) { - int var3 = var0 * Scene_cameraYawCosine + var2 * Scene_cameraYawSine >> 16; // L: 702 - int var4 = var2 * Scene_cameraYawCosine - var0 * Scene_cameraYawSine >> 16; // L: 703 - int var5 = var4 * Scene_cameraPitchCosine + Scene_cameraPitchSine * var1 >> 16; // L: 704 - int var6 = Scene_cameraPitchCosine * var1 - var4 * Scene_cameraPitchSine >> 16; // L: 705 - if (var5 >= 50 && var5 <= 3500) { // L: 706 - int var7 = var3 * 128 / var5 + Scene_viewportXCenter; // L: 707 - int var8 = var6 * 128 / var5 + Scene_viewportYCenter; // L: 708 - return var7 >= Scene_viewportXMin && var7 <= Scene_viewportXMax && var8 >= Scene_viewportYMin && var8 <= Scene_viewportYMax; // L: 709 - } else { - return false; // L: 710 - } - } - - @ObfuscatedName("ad") - @Export("shouldSendWalk") - public static boolean shouldSendWalk() { - return viewportWalking && Scene_selectedX != -1; // L: 729 - } - - @ObfuscatedName("ai") - public static void method3199() { - Scene_selectedX = -1; // L: 733 - viewportWalking = false; // L: 734 - } // L: 735 - - @ObfuscatedName("az") - static final int method3204(int var0, int var1) { - var1 = (var0 & 127) * var1 >> 7; // L: 1340 - if (var1 < 2) { // L: 1341 - var1 = 2; - } else if (var1 > 126) { // L: 1342 - var1 = 126; - } - - return (var0 & 65408) + var1; // L: 1343 - } - - @ObfuscatedName("at") - @Export("containsBounds") - static boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { - if (var1 < var2 && var1 < var3 && var1 < var4) { // L: 1347 - return false; - } else if (var1 > var2 && var1 > var3 && var1 > var4) { // L: 1348 - return false; - } else if (var0 < var5 && var0 < var6 && var0 < var7) { // L: 1349 - return false; - } else if (var0 > var5 && var0 > var6 && var0 > var7) { // L: 1350 - return false; - } else { - int var8 = (var1 - var2) * (var6 - var5) - (var0 - var5) * (var3 - var2); // L: 1351 - int var9 = (var7 - var6) * (var1 - var3) - (var0 - var6) * (var4 - var3); // L: 1352 - int var10 = (var5 - var7) * (var1 - var4) - (var2 - var4) * (var0 - var7); // L: 1353 - if (var8 == 0) { // L: 1354 - if (var9 != 0) { // L: 1357 - return var9 < 0 ? var10 <= 0 : var10 >= 0; // L: 1358 - } else { - return true; // L: 1360 - } - } else { - return var8 < 0 ? var9 <= 0 && var10 <= 0 : var9 >= 0 && var10 >= 0; // L: 1355 - } - } - } + @ObfuscatedName("n") + @Export("Scene_isLowDetail") + public static boolean Scene_isLowDetail = true; + @ObfuscatedName("k") + @Export("tileUpdateCount") + static int tileUpdateCount = 0; + @ObfuscatedName("i") + @Export("Scene_plane") + static int Scene_plane = 0; + @ObfuscatedName("x") + @Export("Scene_drawnCount") + static int Scene_drawnCount; + @ObfuscatedName("f") + @Export("Scene_cameraXTileMin") + static int Scene_cameraXTileMin; + @ObfuscatedName("g") + @Export("Scene_cameraXTileMax") + static int Scene_cameraXTileMax; + @ObfuscatedName("u") + @Export("Scene_cameraYTileMin") + static int Scene_cameraYTileMin; + @ObfuscatedName("t") + @Export("Scene_cameraYTileMax") + static int Scene_cameraYTileMax; + @ObfuscatedName("p") + @Export("Scene_cameraXTile") + static int Scene_cameraXTile; + @ObfuscatedName("m") + @Export("Scene_cameraYTile") + static int Scene_cameraYTile; + @ObfuscatedName("r") + @Export("Scene_cameraX") + static int Scene_cameraX; + @ObfuscatedName("o") + @Export("Scene_cameraY") + static int Scene_cameraY; + @ObfuscatedName("j") + @Export("Scene_cameraZ") + static int Scene_cameraZ; + @ObfuscatedName("ay") + @Export("Scene_cameraPitchSine") + static int Scene_cameraPitchSine; + @ObfuscatedName("am") + @Export("Scene_cameraPitchCosine") + static int Scene_cameraPitchCosine; + @ObfuscatedName("ag") + @Export("Scene_cameraYawSine") + static int Scene_cameraYawSine; + @ObfuscatedName("ae") + @Export("Scene_cameraYawCosine") + static int Scene_cameraYawCosine; + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "[Lej;" + ) + @Export("gameObjects") + static GameObject[] gameObjects = new GameObject[100]; + @ObfuscatedName("aq") + @Export("checkClick") + static boolean checkClick = false; + @ObfuscatedName("at") + @Export("Scene_selectedPlane") + static int Scene_selectedPlane = 0; + @ObfuscatedName("ak") + @Export("Scene_selectedScreenX") + static int Scene_selectedScreenX = 0; + @ObfuscatedName("ax") + @Export("Scene_selectedScreenY") + static int Scene_selectedScreenY = 0; + @ObfuscatedName("ar") + @Export("Scene_selectedX") + public static int Scene_selectedX = -1; + @ObfuscatedName("al") + @Export("Scene_selectedY") + public static int Scene_selectedY = -1; + @ObfuscatedName("aa") + @Export("viewportWalking") + static boolean viewportWalking = false; + @ObfuscatedName("az") + @Export("Scene_planesCount") + static int Scene_planesCount = 4; + @ObfuscatedName("ah") + @Export("Scene_planeOccluderCounts") + static int[] Scene_planeOccluderCounts; + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "[[Lea;" + ) + @Export("Scene_planeOccluders") + static Occluder[][] Scene_planeOccluders; + @ObfuscatedName("aj") + @Export("Scene_currentOccludersCount") + static int Scene_currentOccludersCount; + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "[Lea;" + ) + @Export("Scene_currentOccluders") + static Occluder[] Scene_currentOccluders; + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("Scene_tilesDeque") + static NodeDeque Scene_tilesDeque; + @ObfuscatedName("ab") + static final int[] field1860; + @ObfuscatedName("au") + static final int[] field1861; + @ObfuscatedName("ad") + static final int[] field1862; + @ObfuscatedName("af") + static final int[] field1863; + @ObfuscatedName("av") + static final int[] field1864; + @ObfuscatedName("ao") + static final int[] field1845; + @ObfuscatedName("bj") + static final int[] field1866; + @ObfuscatedName("bc") + @Export("visibilityMap") + static boolean[][][][] visibilityMap; + @ObfuscatedName("bw") + @Export("visibleTiles") + static boolean[][] visibleTiles; + @ObfuscatedName("bv") + @Export("Scene_viewportXCenter") + static int Scene_viewportXCenter; + @ObfuscatedName("bt") + @Export("Scene_viewportYCenter") + static int Scene_viewportYCenter; + @ObfuscatedName("bl") + @Export("Scene_viewportXMin") + static int Scene_viewportXMin; + @ObfuscatedName("bh") + @Export("Scene_viewportYMin") + static int Scene_viewportYMin; + @ObfuscatedName("bz") + @Export("Scene_viewportXMax") + static int Scene_viewportXMax; + @ObfuscatedName("bg") + @Export("Scene_viewportYMax") + static int Scene_viewportYMax; + @ObfuscatedName("v") + @Export("planes") + int planes; + @ObfuscatedName("d") + @Export("xSize") + int xSize; + @ObfuscatedName("c") + @Export("ySize") + int ySize; + @ObfuscatedName("y") + @Export("tileHeights") + int[][][] tileHeights; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "[[[Les;" + ) + @Export("tiles") + Tile[][][] tiles; + @ObfuscatedName("z") + @Export("minPlane") + int minPlane = 0; + @ObfuscatedName("e") + @Export("tempGameObjectsCount") + int tempGameObjectsCount = 0; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "[Lej;" + ) + @Export("tempGameObjects") + GameObject[] tempGameObjects = new GameObject[5000]; + @ObfuscatedName("l") + int[][][] field1820; + @ObfuscatedName("bq") + @Export("tileShape2D") + int[][] tileShape2D = new int[][]{{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1}}; + @ObfuscatedName("bx") + @Export("tileRotation2D") + int[][] tileRotation2D = new int[][]{{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}, {12, 8, 4, 0, 13, 9, 5, 1, 14, 10, 6, 2, 15, 11, 7, 3}, {15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}, {3, 7, 11, 15, 2, 6, 10, 14, 1, 5, 9, 13, 0, 4, 8, 12}}; + + static { + Scene_planeOccluderCounts = new int[Scene_planesCount]; + Scene_planeOccluders = new Occluder[Scene_planesCount][500]; + Scene_currentOccludersCount = 0; + Scene_currentOccluders = new Occluder[500]; + Scene_tilesDeque = new NodeDeque(); + field1860 = new int[]{19, 55, 38, 155, 255, 110, 137, 205, 76}; + field1861 = new int[]{160, 192, 80, 96, 0, 144, 80, 48, 160}; + field1862 = new int[]{76, 8, 137, 4, 0, 1, 38, 2, 19}; + field1863 = new int[]{0, 0, 2, 0, 0, 2, 1, 1, 0}; + field1864 = new int[]{2, 0, 0, 2, 0, 0, 0, 4, 4}; + field1845 = new int[]{0, 4, 4, 8, 0, 0, 8, 0, 0}; + field1866 = new int[]{1, 1, 0, 0, 0, 8, 0, 0, 8}; + visibilityMap = new boolean[8][32][51][51]; + } + + public Scene(int var1, int var2, int var3, int[][][] var4) { + this.planes = var1; + this.xSize = var2; + this.ySize = var3; + this.tiles = new Tile[var1][var2][var3]; + this.field1820 = new int[var1][var2 + 1][var3 + 1]; + this.tileHeights = var4; + this.clear(); + } + + @ObfuscatedName("n") + @Export("clear") + public void clear() { + int var1; + int var2; + for(var1 = 0; var1 < this.planes; ++var1) { + for(var2 = 0; var2 < this.xSize; ++var2) { + for(int var3 = 0; var3 < this.ySize; ++var3) { + this.tiles[var1][var2][var3] = null; + } + } + } + + for(var1 = 0; var1 < Scene_planesCount; ++var1) { + for(var2 = 0; var2 < Scene_planeOccluderCounts[var1]; ++var2) { + Scene_planeOccluders[var1][var2] = null; + } + + Scene_planeOccluderCounts[var1] = 0; + } + + for(var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { + this.tempGameObjects[var1] = null; + } + + this.tempGameObjectsCount = 0; + + for(var1 = 0; var1 < gameObjects.length; ++var1) { + gameObjects[var1] = null; + } + + } + + @ObfuscatedName("v") + @Export("init") + public void init(int var1) { + this.minPlane = var1; + + for(int var2 = 0; var2 < this.xSize; ++var2) { + for(int var3 = 0; var3 < this.ySize; ++var3) { + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + } + } + + } + + @ObfuscatedName("d") + @Export("setLinkBelow") + public void setLinkBelow(int var1, int var2) { + Tile var3 = this.tiles[0][var1][var2]; + + 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; + + for(int var6 = 0; var6 < var5.gameObjectsCount; ++var6) { + GameObject var7 = var5.gameObjects[var6]; + long var9 = var7.tag; + boolean var8 = FontName.method5502(var9) == 2; + if (var8 && var7.startX == var1 && var2 == var7.startY) { + --var7.plane; + } + } + } + } + + if (this.tiles[0][var1][var2] == null) { + this.tiles[0][var1][var2] = new Tile(0, var1, var2); + } + + this.tiles[0][var1][var2].linkedBelowTile = var3; + this.tiles[3][var1][var2] = null; + } + + @ObfuscatedName("y") + @Export("setTileMinPlane") + public void setTileMinPlane(int var1, int var2, int var3, int var4) { + Tile var5 = this.tiles[var1][var2][var3]; + if (var5 != null) { + this.tiles[var1][var2][var3].minPlane = var4; + } + } + + @ObfuscatedName("h") + @Export("addTile") + public void addTile(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, int var20) { + SceneTilePaint var21; + int var22; + if (var4 == 0) { + var21 = new SceneTilePaint(var11, var12, var13, var14, -1, var19, false); + + for(var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].paint = var21; + } else if (var4 != 1) { + SceneTileModel var23 = new SceneTileModel(var4, var5, var6, var2, var3, var7, var8, var9, var10, var11, var12, var13, var14, var15, var16, var17, var18, var19, var20); + + for(var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].model = var23; + } else { + var21 = new SceneTilePaint(var15, var16, var17, var18, var6, var20, var8 == var7 && var7 == var9 && var10 == var7); + + for(var22 = var1; var22 >= 0; --var22) { + if (this.tiles[var22][var2][var3] == null) { + this.tiles[var22][var2][var3] = new Tile(var22, var2, var3); + } + } + + this.tiles[var1][var2][var3].paint = var21; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(IIIILem;JI)V" + ) + @Export("newFloorDecoration") + public void newFloorDecoration(int var1, int var2, int var3, int var4, Renderable var5, long var6, int var8) { + if (var5 != null) { + FloorDecoration var9 = new FloorDecoration(); + var9.renderable = var5; + var9.x = var2 * 128 + 64; + var9.y = var3 * -2013265920 + -1006632960; + var9.tileHeight = var4; + var9.tag = var6; + var9.flags = var8; + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + + this.tiles[var1][var2][var3].floorDecoration = var9; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IIIILem;JLem;Lem;)V" + ) + @Export("newGroundItemPile") + public void newGroundItemPile(int var1, int var2, int var3, int var4, Renderable var5, long var6, Renderable var8, Renderable var9) { + ItemLayer var10 = new ItemLayer(); + var10.first = var5; + var10.x = var2 * 128 + 64; + var10.y = var3 * -2013265920 + -1006632960; + var10.tileHeight = var4; + var10.tag = var6; + var10.second = var8; + var10.third = var9; + int var11 = 0; + Tile var12 = this.tiles[var1][var2][var3]; + if (var12 != null) { + for(int var13 = 0; var13 < var12.gameObjectsCount; ++var13) { + if ((var12.gameObjects[var13].flags & 256) == 256 && var12.gameObjects[var13].renderable instanceof Model) { + Model var14 = (Model)var12.gameObjects[var13].renderable; + var14.calculateBoundsCylinder(); + if (var14.height > var11) { + var11 = var14.height; + } + } + } + } + + var10.height = var11; + if (this.tiles[var1][var2][var3] == null) { + this.tiles[var1][var2][var3] = new Tile(var1, var2, var3); + } + + this.tiles[var1][var2][var3].itemLayer = var10; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIIILem;Lem;IIJI)V" + ) + @Export("newBoundaryObject") + public void newBoundaryObject(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, long var9, int var11) { + if (var5 != null || var6 != null) { + BoundaryObject var12 = new BoundaryObject(); + var12.tag = var9; + var12.flags = var11; + var12.x = var2 * 128 + 64; + var12.y = var3 * 128 + 64; + var12.tileHeight = var4; + var12.renderable1 = var5; + var12.renderable2 = var6; + var12.orientationA = var7; + var12.orientationB = var8; + + for(int var13 = var1; var13 >= 0; --var13) { + if (this.tiles[var13][var2][var3] == null) { + this.tiles[var13][var2][var3] = new Tile(var13, var2, var3); + } + } + + this.tiles[var1][var2][var3].boundaryObject = var12; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(IIIILem;Lem;IIIIJI)V" + ) + @Export("newWallDecoration") + public void newWallDecoration(int var1, int var2, int var3, int var4, Renderable var5, Renderable var6, int var7, int var8, int var9, int var10, long var11, int var13) { + if (var5 != null) { + WallDecoration var14 = new WallDecoration(); + var14.tag = var11; + var14.flags = var13; + var14.x = var2 * 128 + 64; + var14.y = var3 * 128 + 64; + var14.tileHeight = var4; + var14.renderable1 = var5; + var14.renderable2 = var6; + var14.orientation = var7; + var14.orientation2 = var8; + var14.xOffset = var9; + var14.yOffset = var10; + + for(int var15 = var1; var15 >= 0; --var15) { + if (this.tiles[var15][var2][var3] == null) { + this.tiles[var15][var2][var3] = new Tile(var15, var2, var3); + } + } + + this.tiles[var1][var2][var3].wallDecoration = var14; + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIIIIILem;IJI)Z" + ) + public boolean method3400(int var1, int var2, int var3, int var4, int var5, int var6, Renderable var7, int var8, long var9, int var11) { + if (var7 == null) { + return true; + } else { + 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); + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IIIIILem;IJZ)Z" + ) + @Export("drawEntity") + public boolean drawEntity(int var1, int var2, int var3, int var4, int var5, Renderable var6, int var7, long var8, boolean var10) { + if (var6 == null) { + return true; + } else { + int var11 = var2 - var5; + int var12 = var3 - var5; + int var13 = var5 + var2; + int var14 = var3 + var5; + if (var10) { + if (var7 > 640 && var7 < 1408) { + var14 += 128; + } + + if (var7 > 1152 && var7 < 1920) { + var13 += 128; + } + + if (var7 > 1664 || var7 < 384) { + var12 -= 128; + } + + if (var7 > 128 && var7 < 896) { + var11 -= 128; + } + } + + var11 /= 128; + var12 /= 128; + var13 /= 128; + var14 /= 128; + return this.newGameObject(var1, var11, var12, var13 - var11 + 1, var14 - var12 + 1, var2, var3, var4, var6, var7, true, var8, 0); + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(IIIIILem;IJIIII)Z" + ) + @Export("addNullableObject") + public boolean addNullableObject(int var1, int var2, int var3, int var4, int var5, Renderable 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); + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(IIIIIIIILem;IZJI)Z" + ) + @Export("newGameObject") + boolean newGameObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, Renderable 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) { + if (var15 < 0 || var16 < 0 || var15 >= this.xSize || var16 >= this.ySize) { + return false; + } + + Tile var23 = this.tiles[var1][var15][var16]; + if (var23 != null && var23.gameObjectsCount >= 5) { + return false; + } + } + } + + GameObject var21 = new GameObject(); + var21.tag = var12; + var21.flags = var14; + var21.plane = var1; + var21.centerX = var6; + var21.centerY = var7; + var21.height = var8; + var21.renderable = var9; + var21.orientation = var10; + var21.startX = var2; + var21.startY = var3; + var21.endX = var2 + var4 - 1; + var21.endY = var3 + var5 - 1; + + for(var16 = var2; var16 < var2 + var4; ++var16) { + for(int var17 = var3; var17 < var3 + var5; ++var17) { + int var18 = 0; + if (var16 > var2) { + ++var18; + } + + if (var16 < var2 + var4 - 1) { + var18 += 4; + } + + if (var17 > var3) { + var18 += 8; + } + + if (var17 < var3 + var5 - 1) { + var18 += 2; + } + + for(int var19 = var1; var19 >= 0; --var19) { + if (this.tiles[var19][var16][var17] == null) { + this.tiles[var19][var16][var17] = new Tile(var19, var16, var17); + } + } + + Tile var22 = this.tiles[var1][var16][var17]; + var22.gameObjects[var22.gameObjectsCount] = var21; + var22.gameObjectEdgeMasks[var22.gameObjectsCount] = var18; + var22.gameObjectsEdgeMask |= var18; + ++var22.gameObjectsCount; + } + } + + if (var11) { + this.tempGameObjects[this.tempGameObjectsCount++] = var21; + } + + return true; + } + + @ObfuscatedName("k") + @Export("clearTempGameObjects") + public void clearTempGameObjects() { + for(int var1 = 0; var1 < this.tempGameObjectsCount; ++var1) { + GameObject var2 = this.tempGameObjects[var1]; + this.removeGameObject(var2); + this.tempGameObjects[var1] = null; + } + + this.tempGameObjectsCount = 0; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Lej;)V" + ) + @Export("removeGameObject") + void removeGameObject(GameObject var1) { + 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; + + 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; + } + } + + var4.gameObjectsEdgeMask = 0; + + for(var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + var4.gameObjectsEdgeMask |= var4.gameObjectEdgeMasks[var5]; + } + } + } + } + + } + + @ObfuscatedName("x") + public void method3258(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; + } + } + } + + @ObfuscatedName("g") + @Export("removeBoundaryObject") + public void removeBoundaryObject(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.boundaryObject = null; + } + } + + @ObfuscatedName("u") + @Export("removeWallDecoration") + public void removeWallDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.wallDecoration = null; + } + } + + @ObfuscatedName("t") + @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 = FontName.method5502(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + this.removeGameObject(var6); + return; + } + } + + } + } + + @ObfuscatedName("p") + @Export("removeFloorDecoration") + public void removeFloorDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.floorDecoration = null; + } + } + + @ObfuscatedName("o") + @Export("removeGroundItemPile") + public void removeGroundItemPile(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 != null) { + var4.itemLayer = null; + } + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(III)Lee;" + ) + public BoundaryObject method3351(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.boundaryObject; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(III)Leu;" + ) + public WallDecoration method3264(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 == null ? null : var4.wallDecoration; + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(III)Lej;" + ) + public GameObject method3385(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 == null) { + return null; + } else { + for(int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + long var8 = var6.tag; + boolean var7 = FontName.method5502(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + return var6; + } + } + + return null; + } + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(III)Len;" + ) + @Export("getFloorDecoration") + public FloorDecoration getFloorDecoration(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.floorDecoration != null ? var4.floorDecoration : null; + } + + @ObfuscatedName("ac") + @Export("getBoundaryObjectTag") + public long getBoundaryObjectTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.boundaryObject != null ? var4.boundaryObject.tag : 0L; + } + + @ObfuscatedName("aq") + @Export("getWallDecorationTag") + public long getWallDecorationTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.wallDecoration != null ? var4.wallDecoration.tag : 0L; + } + + @ObfuscatedName("at") + @Export("getGameObjectTag") + public long getGameObjectTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + if (var4 == null) { + return 0L; + } else { + for(int var5 = 0; var5 < var4.gameObjectsCount; ++var5) { + GameObject var6 = var4.gameObjects[var5]; + long var8 = var6.tag; + boolean var7 = FontName.method5502(var8) == 2; + if (var7 && var2 == var6.startX && var3 == var6.startY) { + return var6.tag; + } + } + + return 0L; + } + } + + @ObfuscatedName("ak") + @Export("getFloorDecorationTag") + public long getFloorDecorationTag(int var1, int var2, int var3) { + Tile var4 = this.tiles[var1][var2][var3]; + return var4 != null && var4.floorDecoration != null ? var4.floorDecoration.tag : 0L; + } + + @ObfuscatedName("ax") + @Export("getObjectFlags") + public int getObjectFlags(int var1, int var2, int var3, long var4) { + Tile var6 = this.tiles[var1][var2][var3]; + if (var6 == null) { + return -1; + } else if (var6.boundaryObject != null && var6.boundaryObject.tag == var4) { + return var6.boundaryObject.flags & 255; + } else if (var6.wallDecoration != null && var6.wallDecoration.tag == var4) { + return var6.wallDecoration.flags & 255; + } else if (var6.floorDecoration != null && var6.floorDecoration.tag == var4) { + return var6.floorDecoration.flags & 255; + } else { + for(int var7 = 0; var7 < var6.gameObjectsCount; ++var7) { + if (var6.gameObjects[var7].tag == var4) { + return var6.gameObjects[var7].flags & 255; + } + } + + return -1; + } + } + + @ObfuscatedName("ar") + public void method3263(int var1, int var2, int var3) { + for(int var4 = 0; var4 < this.planes; ++var4) { + for(int var5 = 0; var5 < this.xSize; ++var5) { + for(int var6 = 0; var6 < this.ySize; ++var6) { + Tile var7 = this.tiles[var4][var5][var6]; + if (var7 != null) { + BoundaryObject var8 = var7.boundaryObject; + ModelData var10; + if (var8 != null && var8.renderable1 instanceof ModelData) { + ModelData var9 = (ModelData)var8.renderable1; + this.method3406(var9, var4, var5, var6, 1, 1); + if (var8.renderable2 instanceof ModelData) { + var10 = (ModelData)var8.renderable2; + this.method3406(var10, var4, var5, var6, 1, 1); + ModelData.method2960(var9, var10, 0, 0, 0, false); + var8.renderable2 = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); + } + + var8.renderable1 = var9.toModel(var9.ambient, var9.contrast, var1, var2, var3); + } + + for(int var12 = 0; var12 < var7.gameObjectsCount; ++var12) { + GameObject var14 = var7.gameObjects[var12]; + if (var14 != null && var14.renderable instanceof ModelData) { + ModelData var11 = (ModelData)var14.renderable; + this.method3406(var11, var4, var5, var6, var14.endX - var14.startX + 1, var14.endY - var14.startY + 1); + var14.renderable = var11.toModel(var11.ambient, var11.contrast, var1, var2, var3); + } + } + + FloorDecoration var13 = var7.floorDecoration; + if (var13 != null && var13.renderable instanceof ModelData) { + var10 = (ModelData)var13.renderable; + this.method3315(var10, var4, var5, var6); + var13.renderable = var10.toModel(var10.ambient, var10.contrast, var1, var2, var3); + } + } + } + } + } + + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(Lek;III)V" + ) + void method3315(ModelData var1, int var2, int var3, int var4) { + Tile var5; + ModelData var6; + if (var3 < this.xSize) { + var5 = this.tiles[var2][var3 + 1][var4]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.renderable; + ModelData.method2960(var1, var6, 128, 0, 0, true); + } + } + + if (var4 < this.xSize) { + var5 = this.tiles[var2][var3][var4 + 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.renderable; + ModelData.method2960(var1, var6, 0, 0, 128, true); + } + } + + if (var3 < this.xSize && var4 < this.ySize) { + var5 = this.tiles[var2][var3 + 1][var4 + 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.renderable; + ModelData.method2960(var1, var6, 128, 0, 128, true); + } + } + + if (var3 < this.xSize && var4 > 0) { + var5 = this.tiles[var2][var3 + 1][var4 - 1]; + if (var5 != null && var5.floorDecoration != null && var5.floorDecoration.renderable instanceof ModelData) { + var6 = (ModelData)var5.floorDecoration.renderable; + ModelData.method2960(var1, var6, 128, 0, -128, true); + } + } + + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(Lek;IIIII)V" + ) + void method3406(ModelData var1, int var2, int var3, int var4, int var5, int var6) { + boolean var7 = true; + int var8 = var3; + int var9 = var3 + var5; + int var10 = var4 - 1; + int var11 = var4 + var6; + + for(int var12 = var2; var12 <= var2 + 1; ++var12) { + if (var12 != this.planes) { + for(int var13 = var8; var13 <= var9; ++var13) { + if (var13 >= 0 && var13 < this.xSize) { + for(int var14 = var10; var14 <= var11; ++var14) { + if (var14 >= 0 && var14 < this.ySize && (!var7 || var13 >= var9 || var14 >= var11 || var14 < var4 && var3 != var13)) { + Tile var15 = this.tiles[var12][var13][var14]; + if (var15 != null) { + int var16 = (this.tileHeights[var12][var13 + 1][var14] + this.tileHeights[var12][var13 + 1][var14 + 1] + this.tileHeights[var12][var13][var14] + this.tileHeights[var12][var13][var14 + 1]) / 4 - (this.tileHeights[var2][var3 + 1][var4] + this.tileHeights[var2][var3][var4] + this.tileHeights[var2][var3 + 1][var4 + 1] + this.tileHeights[var2][var3][var4 + 1]) / 4; + BoundaryObject var17 = var15.boundaryObject; + if (var17 != null) { + ModelData var18; + if (var17.renderable1 instanceof ModelData) { + var18 = (ModelData)var17.renderable1; + ModelData.method2960(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + } + + if (var17.renderable2 instanceof ModelData) { + var18 = (ModelData)var17.renderable2; + ModelData.method2960(var1, var18, (1 - var5) * 64 + (var13 - var3) * 128, var16, (var14 - var4) * 128 + (1 - var6) * 64, var7); + } + } + + for(int var23 = 0; var23 < var15.gameObjectsCount; ++var23) { + GameObject var19 = var15.gameObjects[var23]; + if (var19 != null && var19.renderable instanceof ModelData) { + ModelData var20 = (ModelData)var19.renderable; + int var21 = var19.endX - var19.startX + 1; + int var22 = var19.endY - var19.startY + 1; + ModelData.method2960(var1, var20, (var21 - var5) * 64 + (var19.startX - var3) * 128, var16, (var19.startY - var4) * 128 + (var22 - var6) * 64, var7); + } + } + } + } + } + } + } + + --var8; + var7 = false; + } + } + + } + + @ObfuscatedName("as") + @Export("drawTileMinimap") + public void drawTileMinimap(int[] var1, int var2, int var3, int var4, int var5, int var6) { + Tile var7 = this.tiles[var4][var5][var6]; + if (var7 != null) { + SceneTilePaint var8 = var7.paint; + int var10; + if (var8 != null) { + int var18 = var8.rgb; + if (var18 != 0) { + for(var10 = 0; var10 < 4; ++var10) { + var1[var2] = var18; + var1[var2 + 1] = var18; + var1[var2 + 2] = var18; + var1[var2 + 3] = var18; + var2 += var3; + } + + } + } else { + SceneTileModel var9 = var7.model; + if (var9 != null) { + var10 = var9.shape; + int var11 = var9.rotation; + int var12 = var9.underlayRgb; + int var13 = var9.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; + } + } + + } + } + } + } + + @ObfuscatedName("ah") + @Export("menuOpen") + public void menuOpen(int var1, int var2, int var3, boolean var4) { + if (!shouldSendWalk() || var4) { + checkClick = true; + viewportWalking = var4; + Scene_selectedPlane = var1; + Scene_selectedScreenX = var2; + Scene_selectedScreenY = var3; + Scene_selectedX = -1; + Scene_selectedY = -1; + } + } + + @ObfuscatedName("ap") + @Export("setViewportWalking") + public void setViewportWalking() { + viewportWalking = true; + } + + @ObfuscatedName("ai") + @Export("draw") + public void draw(int var1, int var2, int var3, int var4, int var5, int var6) { + if (var1 < 0) { + var1 = 0; + } else if (var1 >= this.xSize * 128) { + var1 = this.xSize * 128 - 1; + } + + if (var3 < 0) { + var3 = 0; + } else if (var3 >= this.ySize * 128) { + var3 = this.ySize * 128 - 1; + } + + if (var4 < 128) { + var4 = 128; + } else if (var4 > 383) { + var4 = 383; + } + + ++Scene_drawnCount; + Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var4]; + Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var4]; + Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var5]; + Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var5]; + visibleTiles = visibilityMap[(var4 - 128) / 32][var5 / 64]; + Scene_cameraX = var1; + Scene_cameraY = var2; + Scene_cameraZ = var3; + Scene_cameraXTile = var1 / 128; + Scene_cameraYTile = var3 / 128; + Scene_plane = var6; + Scene_cameraXTileMin = Scene_cameraXTile - 25; + if (Scene_cameraXTileMin < 0) { + Scene_cameraXTileMin = 0; + } + + Scene_cameraYTileMin = Scene_cameraYTile - 25; + if (Scene_cameraYTileMin < 0) { + Scene_cameraYTileMin = 0; + } + + Scene_cameraXTileMax = Scene_cameraXTile + 25; + if (Scene_cameraXTileMax > this.xSize) { + Scene_cameraXTileMax = this.xSize; + } + + Scene_cameraYTileMax = Scene_cameraYTile + 25; + if (Scene_cameraYTileMax > this.ySize) { + Scene_cameraYTileMax = this.ySize; + } + + 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) { + Tile var16 = var8[var9][var10]; + if (var16 != null) { + if (var16.minPlane <= var6 && (visibleTiles[var9 - Scene_cameraXTile + 25][var10 - Scene_cameraYTile + 25] || this.tileHeights[var7][var9][var10] - var2 >= 2000)) { + var16.drawPrimary = true; + var16.drawSecondary = true; + if (var16.gameObjectsCount > 0) { + var16.drawGameObjects = true; + } else { + var16.drawGameObjects = false; + } + + ++tileUpdateCount; + } else { + var16.drawPrimary = false; + var16.drawSecondary = false; + var16.drawGameObjectEdges = 0; + } + } + } + } + } + + int var11; + int var12; + int var13; + int var14; + Tile var15; + for(var7 = this.minPlane; var7 < this.planes; ++var7) { + var8 = this.tiles[var7]; + + for(var9 = -25; var9 <= 0; ++var9) { + var10 = var9 + Scene_cameraXTile; + var11 = Scene_cameraXTile - var9; + if (var10 >= Scene_cameraXTileMin || var11 < Scene_cameraXTileMax) { + for(var12 = -25; var12 <= 0; ++var12) { + var13 = var12 + Scene_cameraYTile; + var14 = Scene_cameraYTile - var12; + if (var10 >= Scene_cameraXTileMin) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var10][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var10][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + } + + if (var11 < Scene_cameraXTileMax) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var11][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var11][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, true); + } + } + } + + if (tileUpdateCount == 0) { + checkClick = false; + return; + } + } + } + } + } + + for(var7 = this.minPlane; var7 < this.planes; ++var7) { + var8 = this.tiles[var7]; + + for(var9 = -25; var9 <= 0; ++var9) { + var10 = var9 + Scene_cameraXTile; + var11 = Scene_cameraXTile - var9; + if (var10 >= Scene_cameraXTileMin || var11 < Scene_cameraXTileMax) { + for(var12 = -25; var12 <= 0; ++var12) { + var13 = var12 + Scene_cameraYTile; + var14 = Scene_cameraYTile - var12; + if (var10 >= Scene_cameraXTileMin) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var10][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var10][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + } + + if (var11 < Scene_cameraXTileMax) { + if (var13 >= Scene_cameraYTileMin) { + var15 = var8[var11][var13]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + + if (var14 < Scene_cameraYTileMax) { + var15 = var8[var11][var14]; + if (var15 != null && var15.drawPrimary) { + this.drawTile(var15, false); + } + } + } + + if (tileUpdateCount == 0) { + checkClick = false; + return; + } + } + } + } + } + + checkClick = false; + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "(Les;Z)V" + ) + @Export("drawTile") + void drawTile(Tile var1, boolean var2) { + Scene_tilesDeque.addFirst(var1); + + 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.method3245(0, var4, var5)) { + this.drawTileUnderlay(var9.paint, 0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + } else if (var9.model != null && !this.method3245(0, var4, var5)) { + this.drawTileOverlay(var9.model, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var4, var5); + } + + var10 = var9.boundaryObject; + if (var10 != null) { + var10.renderable1.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.renderable.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.method3245(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.method3245(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 = field1860[var21]; + var3.field1668 = field1862[var21]; + } + + if (var31 != null) { + if ((var31.orientationA & field1861[var21]) != 0) { + if (var31.orientationA == 16) { + var3.drawGameObjectEdges = 3; + var3.field1667 = field1863[var21]; + var3.field1680 = 3 - var3.field1667; + } else if (var31.orientationA == 32) { + var3.drawGameObjectEdges = 6; + var3.field1667 = field1864[var21]; + var3.field1680 = 6 - var3.field1667; + } else if (var31.orientationA == 64) { + var3.drawGameObjectEdges = 12; + var3.field1667 = field1845[var21]; + var3.field1680 = 12 - var3.field1667; + } else { + var3.drawGameObjectEdges = 9; + var3.field1667 = field1866[var21]; + var3.field1680 = 9 - var3.field1667; + } + } else { + var3.drawGameObjectEdges = 0; + } + + if ((var31.orientationA & var11) != 0 && !this.method3290(var7, var4, var5, var31.orientationA)) { + var31.renderable1.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.method3290(var7, var4, var5, var31.orientationB)) { + var31.renderable2.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.method3261(var7, var4, var5, var13.renderable1.height)) { + if ((var13.orientation & var11) != 0) { + var13.renderable1.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.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var14 + var13.xOffset, var15, var16 + var13.yOffset, var13.tag); + } else if (var13.renderable2 != null) { + var13.renderable2.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.renderable.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var22.x * 4096 - Scene_cameraX, var22.tileHeight - Scene_cameraY, var22.y * 64 - Scene_cameraZ, var22.tag); + } + + ItemLayer var23 = var3.itemLayer; + 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 * 64 - 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 * 64 - 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 * 64 - 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.field1667) { + var20 = false; + break; + } + } + + if (var20) { + var10 = var3.boundaryObject; + if (!this.method3290(var7, var4, var5, var10.orientationA)) { + var10.renderable1.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.field1680) { + 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.field1947 = var24 + var16; + } else { + var12.field1947 = 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.field1947 > var11) { + var11 = var35.field1947; + var25 = var24; + } else if (var11 == var35.field1947) { + 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.method3292(var7, var33.startX, var33.endX, var33.startY, var33.endY, var33.renderable.height)) { + var33.renderable.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; + } + + var9 = var8[var4 - 1][var5]; + } while(var9 != null && var9.drawSecondary); + + if (var4 < Scene_cameraXTile || var4 >= Scene_cameraXTileMax - 1) { + break; + } + + var9 = var8[var4 + 1][var5]; + } while(var9 != null && var9.drawSecondary); + + if (var5 > Scene_cameraYTile || var5 <= Scene_cameraYTileMin) { + break; + } + + var9 = var8[var4][var5 - 1]; + } while(var9 != null && var9.drawSecondary); + + if (var5 < Scene_cameraYTile || var5 >= Scene_cameraYTileMax - 1) { + break; + } + + var9 = var8[var4][var5 + 1]; + } while(var9 != null && var9.drawSecondary); + + var3.drawSecondary = false; + --tileUpdateCount; + ItemLayer var32 = var3.itemLayer; + 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 * 64 - Scene_cameraZ, var32.tag); + } + + if (var32.third != null) { + var32.third.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 64 - Scene_cameraZ, var32.tag); + } + + if (var32.first != null) { + var32.first.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var32.x * 4096 - Scene_cameraX, var32.tileHeight - Scene_cameraY - var32.height, var32.y * 64 - Scene_cameraZ, var32.tag); + } + } + + if (var3.field1668 != 0) { + WallDecoration var29 = var3.wallDecoration; + if (var29 != null && !this.method3261(var7, var4, var5, var29.renderable1.height)) { + if ((var29.orientation & var3.field1668) != 0) { + var29.renderable1.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; + if (var14 != 1 && var14 != 2) { + var15 = var11; + } else { + var15 = -var11; + } + + if (var14 != 2 && var14 != 3) { + var16 = var24; + } else { + var16 = -var24; + } + + if (var16 >= var15) { + var29.renderable1.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11 + var29.xOffset, var25, var24 + var29.yOffset, var29.tag); + } else if (var29.renderable2 != null) { + var29.renderable2.draw(0, Scene_cameraPitchSine, Scene_cameraPitchCosine, Scene_cameraYawSine, Scene_cameraYawCosine, var11, var25, var24, var29.tag); + } + } + } + + BoundaryObject var27 = var3.boundaryObject; + if (var27 != null) { + if ((var27.orientationB & var3.field1668) != 0 && !this.method3290(var7, var4, var5, var27.orientationB)) { + var27.renderable2.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 ((var27.orientationA & var3.field1668) != 0 && !this.method3290(var7, var4, var5, var27.orientationA)) { + var27.renderable1.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); + } + } + } + + Tile var30; + if (var6 < this.planes - 1) { + var30 = this.tiles[var6 + 1][var4][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var4 < Scene_cameraXTile) { + var30 = var8[var4 + 1][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var5 < Scene_cameraYTile) { + var30 = var8[var4][var5 + 1]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var4 > Scene_cameraXTile) { + var30 = var8[var4 - 1][var5]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + + if (var5 > Scene_cameraYTile) { + var30 = var8[var4][var5 - 1]; + if (var30 != null && var30.drawSecondary) { + Scene_tilesDeque.addFirst(var30); + } + } + } + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(Lec;IIIIIII)V" + ) + @Export("drawTileUnderlay") + void drawTileUnderlay(SceneTilePaint 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 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; + int var20 = this.tileHeights[var2][var7][var8 + 1] - Scene_cameraY; + int var21 = var10 * var6 + var5 * var12 >> 16; + var12 = var12 * var6 - var5 * var10 >> 16; + var10 = var21; + var21 = var17 * var4 - var3 * var12 >> 16; + var12 = var3 * var17 + var12 * var4 >> 16; + var17 = var21; + if (var12 >= 50) { + var21 = var14 * var6 + var5 * var11 >> 16; + var11 = var11 * var6 - var5 * var14 >> 16; + var14 = var21; + var21 = var18 * var4 - var3 * var11 >> 16; + var11 = var3 * var18 + var11 * var4 >> 16; + var18 = var21; + if (var11 >= 50) { + var21 = var13 * var6 + var5 * var16 >> 16; + var16 = var16 * var6 - var5 * var13 >> 16; + var13 = var21; + var21 = var19 * var4 - var3 * var16 >> 16; + var16 = var3 * var19 + var16 * var4 >> 16; + var19 = var21; + if (var16 >= 50) { + var21 = var9 * var6 + var5 * var15 >> 16; + var15 = var15 * var6 - var5 * var9 >> 16; + var9 = var21; + var21 = var20 * var4 - var3 * var15 >> 16; + var15 = var3 * var20 + var15 * var4 >> 16; + if (var15 >= 50) { + int var22 = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + int var23 = var17 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; + int var24 = var14 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidX; + int var25 = var18 * Rasterizer3D.Rasterizer3D_zoom / var11 + Rasterizer3D.Rasterizer3D_clipMidY; + int var26 = var13 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidX; + int var27 = var19 * Rasterizer3D.Rasterizer3D_zoom / var16 + Rasterizer3D.Rasterizer3D_clipMidY; + int var28 = var9 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidX; + int var29 = var21 * Rasterizer3D.Rasterizer3D_zoom / var15 + Rasterizer3D.Rasterizer3D_clipMidY; + Rasterizer3D.Rasterizer3D_alpha = 0; + int var30; + if ((var26 - var28) * (var25 - var29) - (var27 - var29) * (var24 - var28) > 0) { + Rasterizer3D.field1775 = false; + if (var26 < 0 || var28 < 0 || var24 < 0 || var26 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1775 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var27, var29, var25, var26, var28, var24)) { + Scene_selectedX = var7; + Scene_selectedY = var8; + } + + if (var1.texture == -1) { + if (var1.neColor != 12345678) { + Rasterizer3D.method3175(var27, var29, var25, var26, var28, var24, var1.neColor, var1.nwColor, var1.seColor); + } + } else if (!Scene_isLowDetail) { + 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); + } + } else { + var30 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.texture); + Rasterizer3D.method3175(var27, var29, var25, var26, var28, var24, method3286(var30, var1.neColor), method3286(var30, var1.nwColor), method3286(var30, var1.seColor)); + } + } + + if ((var22 - var24) * (var29 - var25) - (var23 - var25) * (var28 - var24) > 0) { + Rasterizer3D.field1775 = false; + if (var22 < 0 || var24 < 0 || var28 < 0 || var22 > Rasterizer3D.Rasterizer3D_clipWidth || var24 > Rasterizer3D.Rasterizer3D_clipWidth || var28 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1775 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var23, var25, var29, var22, var24, var28)) { + Scene_selectedX = var7; + Scene_selectedY = var8; + } + + if (var1.texture == -1) { + if (var1.swColor != 12345678) { + Rasterizer3D.method3175(var23, var25, var29, var22, var24, var28, var1.swColor, var1.seColor, var1.nwColor); + } + } else if (!Scene_isLowDetail) { + 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.method3175(var23, var25, var29, var22, var24, var28, method3286(var30, var1.swColor), method3286(var30, var1.seColor), method3286(var30, var1.nwColor)); + } + } + + } + } + } + } + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "(Leo;IIIIII)V" + ) + @Export("drawTileOverlay") + void drawTileOverlay(SceneTileModel var1, int var2, int var3, int var4, int var5, int var6, int var7) { + int var8 = var1.vertexX.length; + + int var9; + int var10; + int var11; + int var12; + int var13; + for(var9 = 0; var9 < var8; ++var9) { + var10 = var1.vertexX[var9] - Scene_cameraX; + var11 = var1.vertexY[var9] - Scene_cameraY; + var12 = var1.vertexZ[var9] - Scene_cameraZ; + var13 = var12 * var4 + var5 * var10 >> 16; + var12 = var5 * var12 - var10 * var4 >> 16; + var10 = var13; + var13 = var3 * var11 - var12 * var2 >> 16; + var12 = var11 * var2 + var3 * var12 >> 16; + if (var12 < 50) { + return; + } + + if (var1.triangleTextureId != null) { + SceneTileModel.field1622[var9] = var10; + SceneTileModel.field1623[var9] = var13; + SceneTileModel.field1624[var9] = var12; + } + + SceneTileModel.field1620[var9] = var10 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidX; + SceneTileModel.field1615[var9] = var13 * Rasterizer3D.Rasterizer3D_zoom / var12 + Rasterizer3D.Rasterizer3D_clipMidY; + } + + Rasterizer3D.Rasterizer3D_alpha = 0; + var8 = var1.faceX.length; + + for(var9 = 0; var9 < var8; ++var9) { + var10 = var1.faceX[var9]; + var11 = var1.faceY[var9]; + var12 = var1.faceZ[var9]; + var13 = SceneTileModel.field1620[var10]; + int var14 = SceneTileModel.field1620[var11]; + int var15 = SceneTileModel.field1620[var12]; + int var16 = SceneTileModel.field1615[var10]; + int var17 = SceneTileModel.field1615[var11]; + int var18 = SceneTileModel.field1615[var12]; + if ((var13 - var14) * (var18 - var17) - (var16 - var17) * (var15 - var14) > 0) { + Rasterizer3D.field1775 = false; + if (var13 < 0 || var14 < 0 || var15 < 0 || var13 > Rasterizer3D.Rasterizer3D_clipWidth || var14 > Rasterizer3D.Rasterizer3D_clipWidth || var15 > Rasterizer3D.Rasterizer3D_clipWidth) { + Rasterizer3D.field1775 = true; + } + + if (checkClick && containsBounds(Scene_selectedScreenX, Scene_selectedScreenY, var16, var17, var18, var13, var14, var15)) { + Scene_selectedX = var6; + Scene_selectedY = var7; + } + + if (var1.triangleTextureId != null && var1.triangleTextureId[var9] != -1) { + if (!Scene_isLowDetail) { + if (var1.isFlat) { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field1622[0], SceneTileModel.field1622[1], SceneTileModel.field1622[3], SceneTileModel.field1623[0], SceneTileModel.field1623[1], SceneTileModel.field1623[3], SceneTileModel.field1624[0], SceneTileModel.field1624[1], SceneTileModel.field1624[3], var1.triangleTextureId[var9]); + } else { + Rasterizer3D.drawTexturedTile(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9], SceneTileModel.field1622[var10], SceneTileModel.field1622[var11], SceneTileModel.field1622[var12], SceneTileModel.field1623[var10], SceneTileModel.field1623[var11], SceneTileModel.field1623[var12], SceneTileModel.field1624[var10], SceneTileModel.field1624[var11], SceneTileModel.field1624[var12], var1.triangleTextureId[var9]); + } + } else { + int var19 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var1.triangleTextureId[var9]); + Rasterizer3D.method3175(var16, var17, var18, var13, var14, var15, method3286(var19, var1.triangleColorA[var9]), method3286(var19, var1.triangleColorB[var9]), method3286(var19, var1.triangleColorC[var9])); + } + } else if (var1.triangleColorA[var9] != 12345678) { + Rasterizer3D.method3175(var16, var17, var18, var13, var14, var15, var1.triangleColorA[var9], var1.triangleColorB[var9], var1.triangleColorC[var9]); + } + } + } + + } + + @ObfuscatedName("ao") + @Export("occlude") + void occlude() { + int var1 = Scene_planeOccluderCounts[Scene_plane]; + Occluder[] var2 = Scene_planeOccluders[Scene_plane]; + Scene_currentOccludersCount = 0; + + 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; + } + + var7 = var4.maxTileY - Scene_cameraYTile + 25; + if (var7 > 50) { + var7 = 50; + } + + var13 = false; + + while(var6 <= var7) { + if (visibleTiles[var5][var6++]) { + var13 = true; + break; + } + } + + if (var13) { + var9 = Scene_cameraX - var4.minX; + if (var9 > 32) { + var4.field1918 = 1; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1918 = 2; + var9 = -var9; + } + + var4.field1922 = (var4.minZ - Scene_cameraZ << 8) / var9; + var4.field1919 = (var4.maxZ - Scene_cameraZ << 8) / var9; + var4.field1923 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1924 = (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; + } + + var7 = var4.maxTileX - Scene_cameraXTile + 25; + if (var7 > 50) { + var7 = 50; + } + + var13 = false; + + while(var6 <= var7) { + if (visibleTiles[var6++][var5]) { + var13 = true; + break; + } + } + + if (var13) { + var9 = Scene_cameraZ - var4.minZ; + if (var9 > 32) { + var4.field1918 = 3; + } else { + if (var9 >= -32) { + continue; + } + + var4.field1918 = 4; + var9 = -var9; + } + + var4.field1920 = (var4.minX - Scene_cameraX << 8) / var9; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var9; + var4.field1923 = (var4.minY - Scene_cameraY << 8) / var9; + var4.field1924 = (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; + } + + 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; + } + + var9 = var4.maxTileX - Scene_cameraXTile + 25; + if (var9 > 50) { + var9 = 50; + } + + boolean var10 = false; + + label148: + for(int var11 = var8; var11 <= var9; ++var11) { + for(int var12 = var6; var12 <= var7; ++var12) { + if (visibleTiles[var11][var12]) { + var10 = true; + break label148; + } + } + } + + if (var10) { + var4.field1918 = 5; + var4.field1920 = (var4.minX - Scene_cameraX << 8) / var5; + var4.field1909 = (var4.maxX - Scene_cameraX << 8) / var5; + var4.field1922 = (var4.minZ - Scene_cameraZ << 8) / var5; + var4.field1919 = (var4.maxZ - Scene_cameraZ << 8) / var5; + Scene_currentOccluders[Scene_currentOccludersCount++] = var4; + } + } + } + } + } + + } + + @ObfuscatedName("bj") + boolean method3245(int var1, int var2, int var3) { + int var4 = this.field1820[var1][var2][var3]; + if (var4 == -Scene_drawnCount) { + return false; + } else if (var4 == Scene_drawnCount) { + return true; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + if (this.method3242(var5 + 1, this.tileHeights[var1][var2][var3], var6 + 1) && this.method3242(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3], var6 + 1) && this.method3242(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1], var6 + 128 - 1) && this.method3242(var5 + 1, this.tileHeights[var1][var2][var3 + 1], var6 + 128 - 1)) { + this.field1820[var1][var2][var3] = Scene_drawnCount; + return true; + } else { + this.field1820[var1][var2][var3] = -Scene_drawnCount; + return false; + } + } + } + + @ObfuscatedName("bn") + boolean method3290(int var1, int var2, int var3, int var4) { + if (!this.method3245(var1, var2, var3)) { + return false; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + int var7 = this.tileHeights[var1][var2][var3] - 1; + int var8 = var7 - 120; + int var9 = var7 - 230; + int var10 = var7 - 238; + if (var4 < 16) { + if (var4 == 1) { + if (var5 > Scene_cameraX) { + if (!this.method3242(var5, var7, var6)) { + return false; + } + + if (!this.method3242(var5, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3242(var5, var8, var6)) { + return false; + } + + if (!this.method3242(var5, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3242(var5, var9, var6)) { + return false; + } + + if (!this.method3242(var5, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 2) { + if (var6 < Scene_cameraZ) { + if (!this.method3242(var5, var7, var6 + 128)) { + return false; + } + + if (!this.method3242(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3242(var5, var8, var6 + 128)) { + return false; + } + + if (!this.method3242(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3242(var5, var9, var6 + 128)) { + return false; + } + + if (!this.method3242(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 4) { + if (var5 < Scene_cameraX) { + if (!this.method3242(var5 + 128, var7, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var7, var6 + 128)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3242(var5 + 128, var8, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var8, var6 + 128)) { + return false; + } + } + + if (!this.method3242(var5 + 128, var9, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var9, var6 + 128)) { + return false; + } + + return true; + } + + if (var4 == 8) { + if (var6 > Scene_cameraZ) { + if (!this.method3242(var5, var7, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var7, var6)) { + return false; + } + } + + if (var1 > 0) { + if (!this.method3242(var5, var8, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var8, var6)) { + return false; + } + } + + if (!this.method3242(var5, var9, var6)) { + return false; + } + + if (!this.method3242(var5 + 128, var9, var6)) { + return false; + } + + return true; + } + } + + if (!this.method3242(var5 + 64, var10, var6 + 64)) { + return false; + } else if (var4 == 16) { + return this.method3242(var5, var9, var6 + 128); + } else if (var4 == 32) { + return this.method3242(var5 + 128, var9, var6 + 128); + } else if (var4 == 64) { + return this.method3242(var5 + 128, var9, var6); + } else if (var4 == 128) { + return this.method3242(var5, var9, var6); + } else { + return true; + } + } + } + + @ObfuscatedName("bi") + boolean method3261(int var1, int var2, int var3, int var4) { + if (!this.method3245(var1, var2, var3)) { + return false; + } else { + int var5 = var2 << 7; + int var6 = var3 << 7; + return this.method3242(var5 + 1, this.tileHeights[var1][var2][var3] - var4, var6 + 1) && this.method3242(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3] - var4, var6 + 1) && this.method3242(var5 + 128 - 1, this.tileHeights[var1][var2 + 1][var3 + 1] - var4, var6 + 128 - 1) && this.method3242(var5 + 1, this.tileHeights[var1][var2][var3 + 1] - var4, var6 + 128 - 1); + } + } + + @ObfuscatedName("bp") + boolean method3292(int var1, int var2, int var3, int var4, int var5, int var6) { + int var7; + int var8; + if (var3 == var2 && var5 == var4) { + if (!this.method3245(var1, var2, var4)) { + return false; + } else { + var7 = var2 << 7; + var8 = var4 << 7; + return this.method3242(var7 + 1, this.tileHeights[var1][var2][var4] - var6, var8 + 1) && this.method3242(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4] - var6, var8 + 1) && this.method3242(var7 + 128 - 1, this.tileHeights[var1][var2 + 1][var4 + 1] - var6, var8 + 128 - 1) && this.method3242(var7 + 1, this.tileHeights[var1][var2][var4 + 1] - var6, var8 + 128 - 1); + } + } else { + for(var7 = var2; var7 <= var3; ++var7) { + for(var8 = var4; var8 <= var5; ++var8) { + if (this.field1820[var1][var7][var8] == -Scene_drawnCount) { + return false; + } + } + } + + var7 = (var2 << 7) + 1; + var8 = (var4 << 7) + 2; + int var9 = this.tileHeights[var1][var2][var4] - var6; + if (!this.method3242(var7, var9, var8)) { + return false; + } else { + int var10 = (var3 << 7) - 1; + if (!this.method3242(var10, var9, var8)) { + return false; + } else { + int var11 = (var5 << 7) - 1; + if (!this.method3242(var7, var9, var11)) { + return false; + } else if (!this.method3242(var10, var9, var11)) { + return false; + } else { + return true; + } + } + } + } + } + + @ObfuscatedName("br") + boolean method3242(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.field1918 == 1) { + var6 = var5.minX - var1; + if (var6 > 0) { + var7 = (var6 * var5.field1922 >> 8) + var5.minZ; + var8 = (var6 * var5.field1919 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1923 >> 8) + var5.minY; + var10 = (var6 * var5.field1924 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1918 == 2) { + var6 = var1 - var5.minX; + if (var6 > 0) { + var7 = (var6 * var5.field1922 >> 8) + var5.minZ; + var8 = (var6 * var5.field1919 >> 8) + var5.maxZ; + var9 = (var6 * var5.field1923 >> 8) + var5.minY; + var10 = (var6 * var5.field1924 >> 8) + var5.maxY; + if (var3 >= var7 && var3 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1918 == 3) { + var6 = var5.minZ - var3; + if (var6 > 0) { + var7 = (var6 * var5.field1920 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1923 >> 8) + var5.minY; + var10 = (var6 * var5.field1924 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1918 == 4) { + var6 = var3 - var5.minZ; + if (var6 > 0) { + var7 = (var6 * var5.field1920 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1923 >> 8) + var5.minY; + var10 = (var6 * var5.field1924 >> 8) + var5.maxY; + if (var1 >= var7 && var1 <= var8 && var2 >= var9 && var2 <= var10) { + return true; + } + } + } else if (var5.field1918 == 5) { + var6 = var2 - var5.minY; + if (var6 > 0) { + var7 = (var6 * var5.field1920 >> 8) + var5.minX; + var8 = (var6 * var5.field1909 >> 8) + var5.maxX; + var9 = (var6 * var5.field1922 >> 8) + var5.minZ; + var10 = (var6 * var5.field1919 >> 8) + var5.maxZ; + if (var1 >= var7 && var1 <= var8 && var3 >= var9 && var3 <= var10) { + return true; + } + } + } + } + + return false; + } + + @ObfuscatedName("c") + @Export("Scene_addOccluder") + public static void Scene_addOccluder(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + Occluder var8 = new Occluder(); + var8.minTileX = var2 / 128; + var8.maxTileX = var3 / 128; + var8.minTileY = var4 / 128; + var8.maxTileY = var5 / 128; + var8.type = var1; + var8.minX = var2; + var8.maxX = var3; + var8.minZ = var4; + var8.maxZ = var5; + var8.minY = var6; + var8.maxY = var7; + Scene_planeOccluders[var0][Scene_planeOccluderCounts[var0]++] = var8; + } + + @ObfuscatedName("aw") + @Export("Scene_buildVisiblityMap") + public static void Scene_buildVisiblityMap(int[] var0, int var1, int var2, int var3, int var4) { + Scene_viewportXMin = 0; + Scene_viewportYMin = 0; + Scene_viewportXMax = var3; + Scene_viewportYMax = var4; + Scene_viewportXCenter = var3 / 2; + Scene_viewportYCenter = var4 / 2; + boolean[][][][] var5 = new boolean[var0.length][32][53][53]; + + int var6; + int var7; + int var8; + int var9; + int var11; + int var12; + for(var6 = 128; var6 <= 383; var6 += 32) { + for(var7 = 0; var7 < 2048; var7 += 64) { + Scene_cameraPitchSine = Rasterizer3D.Rasterizer3D_sine[var6]; + Scene_cameraPitchCosine = Rasterizer3D.Rasterizer3D_cosine[var6]; + Scene_cameraYawSine = Rasterizer3D.Rasterizer3D_sine[var7]; + Scene_cameraYawCosine = Rasterizer3D.Rasterizer3D_cosine[var7]; + var8 = (var6 - 128) / 32; + var9 = var7 / 64; + + for(int var10 = -26; var10 < 26; ++var10) { + for(var11 = -26; var11 < 26; ++var11) { + var12 = var10 * 128; + int var13 = var11 * 128; + boolean var14 = false; + + for(int var15 = -var1; var15 <= var2; var15 += 128) { + if (method3277(var12, var0[var8] + var15, var13)) { + var14 = true; + break; + } + } + + var5[var8][var9][var10 + 1 + 25][var11 + 1 + 25] = var14; + } + } + } + } + + for(var6 = 0; var6 < 8; ++var6) { + for(var7 = 0; var7 < 32; ++var7) { + for(var8 = -25; var8 < 25; ++var8) { + for(var9 = -25; var9 < 25; ++var9) { + boolean var16 = false; + + label84: + for(var11 = -1; var11 <= 1; ++var11) { + for(var12 = -1; var12 <= 1; ++var12) { + if (var5[var6][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label84; + } + + if (var5[var6][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label84; + } + + if (var5[var6 + 1][var7][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label84; + } + + if (var5[var6 + 1][(var7 + 1) % 31][var8 + var11 + 1 + 25][var9 + var12 + 1 + 25]) { + var16 = true; + break label84; + } + } + } + + visibilityMap[var6][var7][var8 + 25][var9 + 25] = var16; + } + } + } + } + + } + + @ObfuscatedName("az") + static boolean method3277(int var0, int var1, int var2) { + int var3 = var0 * Scene_cameraYawCosine + var2 * Scene_cameraYawSine >> 16; + 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; + } else { + return false; + } + } + + @ObfuscatedName("aj") + @Export("shouldSendWalk") + public static boolean shouldSendWalk() { + return viewportWalking && Scene_selectedX != -1; + } + + @ObfuscatedName("an") + public static void method3281() { + Scene_selectedX = -1; + viewportWalking = false; + } + + @ObfuscatedName("af") + static final int method3286(int var0, int var1) { + var1 = (var0 & 127) * var1 >> 7; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } + + return (var0 & 'タ') + var1; + } + + @ObfuscatedName("av") + @Export("containsBounds") + static boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (var1 < var2 && var1 < var3 && var1 < var4) { + return false; + } else if (var1 > var2 && var1 > var3 && var1 > var4) { + return false; + } else if (var0 < var5 && var0 < var6 && var0 < var7) { + return false; + } else if (var0 > var5 && var0 > var6 && var0 > var7) { + return false; + } else { + int var8 = (var1 - var2) * (var6 - var5) - (var0 - var5) * (var3 - var2); + int var9 = (var7 - var6) * (var1 - var3) - (var0 - var6) * (var4 - var3); + int var10 = (var5 - var7) * (var1 - var4) - (var2 - var4) * (var0 - var7); + if (var8 == 0) { + if (var9 != 0) { + return var9 < 0 ? var10 <= 0 : var10 >= 0; + } else { + return true; + } + } else { + return var8 < 0 ? var9 <= 0 && var10 <= 0 : var9 >= 0 && var10 >= 0; + } + } + } } diff --git a/runescape-client/src/main/java/SceneTileModel.java b/runescape-client/src/main/java/SceneTileModel.java index 68044a822b..dd36c71fd8 100644 --- a/runescape-client/src/main/java/SceneTileModel.java +++ b/runescape-client/src/main/java/SceneTileModel.java @@ -2,308 +2,296 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("eq") +@ObfuscatedName("eo") @Implements("SceneTileModel") -public final class SceneTileModel -{ - @ObfuscatedName("f") - static int[] field1618; - @ObfuscatedName("a") - static int[] field1619; - @ObfuscatedName("b") - static int[] field1610; - @ObfuscatedName("y") - static int[] field1621; - @ObfuscatedName("r") - static int[] field1622; - @ObfuscatedName("q") - static final int[][] field1620; - @ObfuscatedName("g") - static final int[][] field1603; - @ObfuscatedName("h") - @Export("vertexX") - int[] vertexX; - @ObfuscatedName("v") - @Export("vertexY") - int[] vertexY; - @ObfuscatedName("x") - @Export("vertexZ") - int[] vertexZ; - @ObfuscatedName("w") - @Export("triangleColorA") - int[] triangleColorA; - @ObfuscatedName("t") - @Export("triangleColorB") - int[] triangleColorB; - @ObfuscatedName("j") - @Export("triangleColorC") - int[] triangleColorC; - @ObfuscatedName("n") - @Export("faceX") - int[] faceX; - @ObfuscatedName("p") - @Export("faceY") - int[] faceY; - @ObfuscatedName("l") - @Export("faceZ") - int[] faceZ; - @ObfuscatedName("z") - @Export("triangleTextureId") - int[] triangleTextureId; - @ObfuscatedName("u") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("e") - @Export("shape") - int shape; - @ObfuscatedName("m") - @Export("rotation") - int rotation; - @ObfuscatedName("c") - @Export("underlayRgb") - int underlayRgb; - @ObfuscatedName("i") - @Export("overlayRgb") - int overlayRgb; +public final class SceneTileModel { + @ObfuscatedName("i") + static int[] field1620 = new int[6]; + @ObfuscatedName("x") + static int[] field1615 = new int[6]; + @ObfuscatedName("f") + static int[] field1622 = new int[6]; + @ObfuscatedName("g") + static int[] field1623 = new int[6]; + @ObfuscatedName("u") + static int[] field1624 = new int[6]; + @ObfuscatedName("t") + static final int[][] field1605 = new int[][]{{1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 2, 6}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 13, 14}}; + @ObfuscatedName("p") + static final int[][] field1625 = new int[][]{{0, 1, 2, 3, 0, 0, 1, 3}, {1, 1, 2, 3, 1, 0, 1, 3}, {0, 1, 2, 3, 1, 0, 1, 3}, {0, 0, 1, 2, 0, 0, 2, 4, 1, 0, 4, 3}, {0, 0, 1, 4, 0, 0, 4, 3, 1, 1, 2, 4}, {0, 0, 4, 3, 1, 0, 1, 2, 1, 0, 2, 4}, {0, 1, 2, 4, 1, 0, 1, 4, 1, 0, 4, 3}, {0, 4, 1, 2, 0, 4, 2, 5, 1, 0, 4, 5, 1, 0, 5, 3}, {0, 4, 1, 2, 0, 4, 2, 3, 0, 4, 3, 5, 1, 0, 4, 5}, {0, 0, 4, 5, 1, 4, 1, 2, 1, 4, 2, 3, 1, 4, 3, 5}, {0, 0, 1, 5, 0, 1, 4, 5, 0, 1, 2, 4, 1, 0, 5, 3, 1, 5, 4, 3, 1, 4, 2, 3}, {1, 0, 1, 5, 1, 1, 4, 5, 1, 1, 2, 4, 0, 0, 5, 3, 0, 5, 4, 3, 0, 4, 2, 3}, {1, 0, 5, 4, 1, 0, 1, 5, 0, 0, 4, 3, 0, 4, 5, 3, 0, 5, 2, 3, 0, 1, 2, 5}}; + @ObfuscatedName("n") + @Export("vertexX") + int[] vertexX; + @ObfuscatedName("v") + @Export("vertexY") + int[] vertexY; + @ObfuscatedName("d") + @Export("vertexZ") + int[] vertexZ; + @ObfuscatedName("c") + @Export("triangleColorA") + int[] triangleColorA; + @ObfuscatedName("y") + @Export("triangleColorB") + int[] triangleColorB; + @ObfuscatedName("h") + @Export("triangleColorC") + int[] triangleColorC; + @ObfuscatedName("z") + @Export("faceX") + int[] faceX; + @ObfuscatedName("e") + @Export("faceY") + int[] faceY; + @ObfuscatedName("q") + @Export("faceZ") + int[] faceZ; + @ObfuscatedName("l") + @Export("triangleTextureId") + int[] triangleTextureId; + @ObfuscatedName("s") + @Export("isFlat") + boolean isFlat = true; + @ObfuscatedName("b") + @Export("shape") + int shape; + @ObfuscatedName("a") + @Export("rotation") + int rotation; + @ObfuscatedName("w") + @Export("underlayRgb") + int underlayRgb; + @ObfuscatedName("k") + @Export("overlayRgb") + int overlayRgb; - static { - field1618 = new int[6]; // L: 21 - field1619 = new int[6]; // L: 22 - field1610 = new int[6]; // L: 23 - field1621 = new int[6]; // L: 24 - field1622 = new int[6]; // L: 25 - field1620 = new int[][]{{1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 6}, {1, 3, 5, 7, 2, 6}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 2, 8}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 11, 12}, {1, 3, 5, 7, 13, 14}}; // L: 26 - field1603 = new int[][]{{0, 1, 2, 3, 0, 0, 1, 3}, {1, 1, 2, 3, 1, 0, 1, 3}, {0, 1, 2, 3, 1, 0, 1, 3}, {0, 0, 1, 2, 0, 0, 2, 4, 1, 0, 4, 3}, {0, 0, 1, 4, 0, 0, 4, 3, 1, 1, 2, 4}, {0, 0, 4, 3, 1, 0, 1, 2, 1, 0, 2, 4}, {0, 1, 2, 4, 1, 0, 1, 4, 1, 0, 4, 3}, {0, 4, 1, 2, 0, 4, 2, 5, 1, 0, 4, 5, 1, 0, 5, 3}, {0, 4, 1, 2, 0, 4, 2, 3, 0, 4, 3, 5, 1, 0, 4, 5}, {0, 0, 4, 5, 1, 4, 1, 2, 1, 4, 2, 3, 1, 4, 3, 5}, {0, 0, 1, 5, 0, 1, 4, 5, 0, 1, 2, 4, 1, 0, 5, 3, 1, 5, 4, 3, 1, 4, 2, 3}, {1, 0, 1, 5, 1, 1, 4, 5, 1, 1, 2, 4, 0, 0, 5, 3, 0, 5, 4, 3, 0, 4, 2, 3}, {1, 0, 5, 4, 1, 0, 1, 5, 0, 0, 4, 3, 0, 4, 5, 3, 0, 5, 2, 3, 0, 1, 2, 5}}; // L: 41 - } + SceneTileModel(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) { + if (var7 != var6 || var8 != var6 || var9 != var6) { + this.isFlat = false; + } - SceneTileModel(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) { - this.isFlat = true; // L: 16 - if (var7 != var6 || var8 != var6 || var9 != var6) { // L: 58 - this.isFlat = false; - } + this.shape = var1; + this.rotation = var2; + this.underlayRgb = var18; + this.overlayRgb = var19; + short var20 = 128; + int var21 = var20 / 2; + int var22 = var20 / 4; + int var23 = var20 * 3 / 4; + int[] var24 = field1605[var1]; + int var25 = var24.length; + this.vertexX = new int[var25]; + this.vertexY = new int[var25]; + this.vertexZ = new int[var25]; + int[] var26 = new int[var25]; + int[] var27 = new int[var25]; + int var28 = var20 * var4; + int var29 = var5 * var20; - this.shape = var1; // L: 59 - this.rotation = var2; // L: 60 - this.underlayRgb = var18; // L: 61 - this.overlayRgb = var19; // L: 62 - short var20 = 128; // L: 63 - int var21 = var20 / 2; // L: 64 - int var22 = var20 / 4; // L: 65 - int var23 = var20 * 3 / 4; // L: 66 - int[] var24 = field1620[var1]; // L: 67 - int var25 = var24.length; // L: 68 - this.vertexX = new int[var25]; // L: 69 - this.vertexY = new int[var25]; // L: 70 - this.vertexZ = new int[var25]; // L: 71 - int[] var26 = new int[var25]; // L: 72 - int[] var27 = new int[var25]; // L: 73 - int var28 = var20 * var4; // L: 74 - int var29 = var5 * var20; // L: 75 + int var31; + int var32; + int var33; + int var34; + int var35; + int var36; + for(int var30 = 0; var30 < var25; ++var30) { + var31 = var24[var30]; + if ((var31 & 1) == 0 && var31 <= 8) { + var31 = (var31 - var2 - var2 - 1 & 7) + 1; + } - int var31; - int var32; - int var33; - int var34; - int var35; - int var36; - for (int var30 = 0; var30 < var25; ++var30) { // L: 76 - var31 = var24[var30]; // L: 77 - if ((var31 & 1) == 0 && var31 <= 8) { // L: 78 - var31 = (var31 - var2 - var2 - 1 & 7) + 1; - } + if (var31 > 8 && var31 <= 12) { + var31 = (var31 - 9 - var2 & 3) + 9; + } - if (var31 > 8 && var31 <= 12) { // L: 79 - var31 = (var31 - 9 - var2 & 3) + 9; - } + if (var31 > 12 && var31 <= 16) { + var31 = (var31 - 13 - var2 & 3) + 13; + } - if (var31 > 12 && var31 <= 16) { // L: 80 - var31 = (var31 - 13 - var2 & 3) + 13; - } + if (var31 == 1) { + var32 = var28; + var33 = var29; + var34 = var6; + var35 = var10; + var36 = var14; + } else if (var31 == 2) { + var32 = var28 + var21; + var33 = var29; + var34 = var7 + var6 >> 1; + var35 = var11 + var10 >> 1; + var36 = var15 + var14 >> 1; + } else if (var31 == 3) { + var32 = var28 + var20; + var33 = var29; + var34 = var7; + var35 = var11; + var36 = var15; + } else if (var31 == 4) { + var32 = var28 + var20; + var33 = var29 + var21; + var34 = var8 + var7 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if (var31 == 5) { + var32 = var28 + var20; + var33 = var29 + var20; + var34 = var8; + var35 = var12; + var36 = var16; + } else if (var31 == 6) { + var32 = var28 + var21; + var33 = var29 + var20; + var34 = var8 + var9 >> 1; + var35 = var13 + var12 >> 1; + var36 = var17 + var16 >> 1; + } else if (var31 == 7) { + var32 = var28; + var33 = var29 + var20; + var34 = var9; + var35 = var13; + var36 = var17; + } else if (var31 == 8) { + var32 = var28; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if (var31 == 9) { + var32 = var28 + var21; + var33 = var29 + var22; + var34 = var7 + var6 >> 1; + var35 = var11 + var10 >> 1; + var36 = var15 + var14 >> 1; + } else if (var31 == 10) { + var32 = var28 + var23; + var33 = var29 + var21; + var34 = var8 + var7 >> 1; + var35 = var11 + var12 >> 1; + var36 = var15 + var16 >> 1; + } else if (var31 == 11) { + var32 = var28 + var21; + var33 = var29 + var23; + var34 = var8 + var9 >> 1; + var35 = var13 + var12 >> 1; + var36 = var17 + var16 >> 1; + } else if (var31 == 12) { + var32 = var28 + var22; + var33 = var29 + var21; + var34 = var9 + var6 >> 1; + var35 = var13 + var10 >> 1; + var36 = var17 + var14 >> 1; + } else if (var31 == 13) { + var32 = var28 + var22; + var33 = var29 + var22; + var34 = var6; + var35 = var10; + var36 = var14; + } else if (var31 == 14) { + var32 = var28 + var23; + var33 = var29 + var22; + var34 = var7; + var35 = var11; + var36 = var15; + } else if (var31 == 15) { + var32 = var28 + var23; + var33 = var29 + var23; + var34 = var8; + var35 = var12; + var36 = var16; + } else { + var32 = var28 + var22; + var33 = var29 + var23; + var34 = var9; + var35 = var13; + var36 = var17; + } - if (var31 == 1) { // L: 86 - var32 = var28; // L: 87 - var33 = var29; // L: 88 - var34 = var6; // L: 89 - var35 = var10; // L: 90 - var36 = var14; // L: 91 - } else if (var31 == 2) { // L: 93 - var32 = var28 + var21; // L: 94 - var33 = var29; // L: 95 - var34 = var7 + var6 >> 1; // L: 96 - var35 = var11 + var10 >> 1; // L: 97 - var36 = var15 + var14 >> 1; // L: 98 - } else if (var31 == 3) { // L: 100 - var32 = var28 + var20; // L: 101 - var33 = var29; // L: 102 - var34 = var7; // L: 103 - var35 = var11; // L: 104 - var36 = var15; // L: 105 - } else if (var31 == 4) { // L: 107 - var32 = var28 + var20; // L: 108 - var33 = var29 + var21; // L: 109 - var34 = var8 + var7 >> 1; // L: 110 - var35 = var11 + var12 >> 1; // L: 111 - var36 = var15 + var16 >> 1; // L: 112 - } else if (var31 == 5) { // L: 114 - var32 = var28 + var20; // L: 115 - var33 = var29 + var20; // L: 116 - var34 = var8; // L: 117 - var35 = var12; // L: 118 - var36 = var16; // L: 119 - } else if (var31 == 6) { // L: 121 - var32 = var28 + var21; // L: 122 - var33 = var29 + var20; // L: 123 - var34 = var8 + var9 >> 1; // L: 124 - var35 = var13 + var12 >> 1; // L: 125 - var36 = var17 + var16 >> 1; // L: 126 - } else if (var31 == 7) { // L: 128 - var32 = var28; // L: 129 - var33 = var29 + var20; // L: 130 - var34 = var9; // L: 131 - var35 = var13; // L: 132 - var36 = var17; // L: 133 - } else if (var31 == 8) { // L: 135 - var32 = var28; // L: 136 - var33 = var29 + var21; // L: 137 - var34 = var9 + var6 >> 1; // L: 138 - var35 = var13 + var10 >> 1; // L: 139 - var36 = var17 + var14 >> 1; // L: 140 - } else if (var31 == 9) { // L: 142 - var32 = var28 + var21; // L: 143 - var33 = var29 + var22; // L: 144 - var34 = var7 + var6 >> 1; // L: 145 - var35 = var11 + var10 >> 1; // L: 146 - var36 = var15 + var14 >> 1; // L: 147 - } else if (var31 == 10) { // L: 149 - var32 = var28 + var23; // L: 150 - var33 = var29 + var21; // L: 151 - var34 = var8 + var7 >> 1; // L: 152 - var35 = var11 + var12 >> 1; // L: 153 - var36 = var15 + var16 >> 1; // L: 154 - } else if (var31 == 11) { // L: 156 - var32 = var28 + var21; // L: 157 - var33 = var29 + var23; // L: 158 - var34 = var8 + var9 >> 1; // L: 159 - var35 = var13 + var12 >> 1; // L: 160 - var36 = var17 + var16 >> 1; // L: 161 - } else if (var31 == 12) { // L: 163 - var32 = var28 + var22; // L: 164 - var33 = var29 + var21; // L: 165 - var34 = var9 + var6 >> 1; // L: 166 - var35 = var13 + var10 >> 1; // L: 167 - var36 = var17 + var14 >> 1; // L: 168 - } else if (var31 == 13) { // L: 170 - var32 = var28 + var22; // L: 171 - var33 = var29 + var22; // L: 172 - var34 = var6; // L: 173 - var35 = var10; // L: 174 - var36 = var14; // L: 175 - } else if (var31 == 14) { // L: 177 - var32 = var28 + var23; // L: 178 - var33 = var29 + var22; // L: 179 - var34 = var7; // L: 180 - var35 = var11; // L: 181 - var36 = var15; // L: 182 - } else if (var31 == 15) { // L: 184 - var32 = var28 + var23; // L: 185 - var33 = var29 + var23; // L: 186 - var34 = var8; // L: 187 - var35 = var12; // L: 188 - var36 = var16; // L: 189 - } else { - var32 = var28 + var22; // L: 192 - var33 = var29 + var23; // L: 193 - var34 = var9; // L: 194 - var35 = var13; // L: 195 - var36 = var17; // L: 196 - } + this.vertexX[var30] = var32; + this.vertexY[var30] = var34; + this.vertexZ[var30] = var33; + var26[var30] = var35; + var27[var30] = var36; + } - this.vertexX[var30] = var32; // L: 198 - this.vertexY[var30] = var34; // L: 199 - this.vertexZ[var30] = var33; // L: 200 - var26[var30] = var35; // L: 201 - var27[var30] = var36; // L: 202 - } + int[] var38 = field1625[var1]; + var31 = var38.length / 4; + this.faceX = new int[var31]; + this.faceY = new int[var31]; + this.faceZ = new int[var31]; + this.triangleColorA = new int[var31]; + this.triangleColorB = new int[var31]; + this.triangleColorC = new int[var31]; + if (var3 != -1) { + this.triangleTextureId = new int[var31]; + } - int[] var38 = field1603[var1]; // L: 204 - var31 = var38.length / 4; // L: 205 - this.faceX = new int[var31]; // L: 206 - this.faceY = new int[var31]; // L: 207 - this.faceZ = new int[var31]; // L: 208 - this.triangleColorA = new int[var31]; // L: 209 - this.triangleColorB = new int[var31]; // L: 210 - this.triangleColorC = new int[var31]; // L: 211 - if (var3 != -1) { // L: 212 - this.triangleTextureId = new int[var31]; - } + var32 = 0; - var32 = 0; // L: 213 + for(var33 = 0; var33 < var31; ++var33) { + var34 = var38[var32]; + var35 = var38[var32 + 1]; + var36 = var38[var32 + 2]; + int var37 = var38[var32 + 3]; + var32 += 4; + if (var35 < 4) { + var35 = var35 - var2 & 3; + } - for (var33 = 0; var33 < var31; ++var33) { // L: 214 - var34 = var38[var32]; // L: 215 - var35 = var38[var32 + 1]; // L: 216 - var36 = var38[var32 + 2]; // L: 217 - int var37 = var38[var32 + 3]; // L: 218 - var32 += 4; // L: 219 - if (var35 < 4) { // L: 220 - var35 = var35 - var2 & 3; - } + if (var36 < 4) { + var36 = var36 - var2 & 3; + } - if (var36 < 4) { // L: 221 - var36 = var36 - var2 & 3; - } + if (var37 < 4) { + var37 = var37 - var2 & 3; + } - if (var37 < 4) { // L: 222 - var37 = var37 - var2 & 3; - } + this.faceX[var33] = var35; + this.faceY[var33] = var36; + this.faceZ[var33] = var37; + if (var34 == 0) { + this.triangleColorA[var33] = var26[var35]; + this.triangleColorB[var33] = var26[var36]; + this.triangleColorC[var33] = var26[var37]; + if (this.triangleTextureId != null) { + this.triangleTextureId[var33] = -1; + } + } else { + this.triangleColorA[var33] = var27[var35]; + this.triangleColorB[var33] = var27[var36]; + this.triangleColorC[var33] = var27[var37]; + if (this.triangleTextureId != null) { + this.triangleTextureId[var33] = var3; + } + } + } - this.faceX[var33] = var35; // L: 223 - this.faceY[var33] = var36; // L: 224 - this.faceZ[var33] = var37; // L: 225 - if (var34 == 0) { // L: 226 - this.triangleColorA[var33] = var26[var35]; // L: 227 - this.triangleColorB[var33] = var26[var36]; // L: 228 - this.triangleColorC[var33] = var26[var37]; // L: 229 - if (this.triangleTextureId != null) { // L: 230 - this.triangleTextureId[var33] = -1; - } - } else { - this.triangleColorA[var33] = var27[var35]; // L: 233 - this.triangleColorB[var33] = var27[var36]; // L: 234 - this.triangleColorC[var33] = var27[var37]; // L: 235 - if (this.triangleTextureId != null) { // L: 236 - this.triangleTextureId[var33] = var3; - } - } - } + var33 = var6; + var34 = var7; + if (var7 < var6) { + var33 = var7; + } - var33 = var6; // L: 239 - var34 = var7; // L: 240 - if (var7 < var6) { // L: 241 - var33 = var7; - } + if (var7 > var7) { + var34 = var7; + } - if (var7 > var7) { // L: 242 - var34 = var7; - } + if (var8 < var33) { + var33 = var8; + } - if (var8 < var33) { // L: 243 - var33 = var8; - } + if (var8 > var34) { + var34 = var8; + } - if (var8 > var34) { // L: 244 - var34 = var8; - } + if (var9 < var33) { + var33 = var9; + } - if (var9 < var33) { // L: 245 - var33 = var9; - } + if (var9 > var34) { + var34 = var9; + } - if (var9 > var34) { // L: 246 - var34 = var9; - } - - var33 /= 14; // L: 247 - var34 /= 14; // L: 248 - } // L: 249 + var33 /= 14; + var34 /= 14; + } } diff --git a/runescape-client/src/main/java/SceneTilePaint.java b/runescape-client/src/main/java/SceneTilePaint.java index f6c6f7ec56..56843c1534 100644 --- a/runescape-client/src/main/java/SceneTilePaint.java +++ b/runescape-client/src/main/java/SceneTilePaint.java @@ -2,163 +2,57 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ew") +@ObfuscatedName("ec") @Implements("SceneTilePaint") -public final class SceneTilePaint -{ - @ObfuscatedName("dt") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive0") - static Archive archive0; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 624265355 - ) - @Export("swColor") - int swColor; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 110092511 - ) - @Export("seColor") - int seColor; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -722994813 - ) - @Export("neColor") - int neColor; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -401882753 - ) - @Export("nwColor") - int nwColor; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1831175523 - ) - @Export("texture") - int texture; - @ObfuscatedName("j") - @Export("isFlat") - boolean isFlat; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -2137249819 - ) - @Export("rgb") - int rgb; +public final class SceneTilePaint { + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -488531261 + ) + @Export("swColor") + int swColor; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1556440429 + ) + @Export("seColor") + int seColor; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -310123299 + ) + @Export("neColor") + int neColor; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -614734957 + ) + @Export("nwColor") + int nwColor; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -510931047 + ) + @Export("texture") + int texture; + @ObfuscatedName("h") + @Export("isFlat") + boolean isFlat = true; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 174848381 + ) + @Export("rgb") + int rgb; - SceneTilePaint(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { - this.isFlat = true; // L: 9 - this.swColor = var1; // L: 13 - this.seColor = var2; // L: 14 - this.neColor = var3; // L: 15 - this.nwColor = var4; // L: 16 - this.texture = var5; // L: 17 - this.rgb = var6; // L: 18 - this.isFlat = var7; // L: 19 - } // L: 20 - - @ObfuscatedName("gv") - @ObfuscatedSignature( - descriptor = "(Lcx;I)V", - garbageValue = "311945184" - ) - static final void method3154(Actor var0) { - var0.isWalking = false; // L: 4080 - SequenceDefinition var1; - if (var0.movementSequence != -1) { // L: 4081 - var1 = ParamComposition.SequenceDefinition_get(var0.movementSequence); // L: 4082 - if (var1 != null && var1.frameIds != null) { // L: 4083 - ++var0.movementFrameCycle; // L: 4084 - if (var0.movementFrame < var1.frameIds.length && var0.movementFrameCycle > var1.frameLengths[var0.movementFrame]) { // L: 4085 - var0.movementFrameCycle = 1; // L: 4086 - ++var0.movementFrame; // L: 4087 - class225.method4075(var1, var0.movementFrame, var0.x, var0.y); // L: 4088 - } - - if (var0.movementFrame >= var1.frameIds.length) { // L: 4090 - var0.movementFrameCycle = 0; // L: 4091 - var0.movementFrame = 0; // L: 4092 - class225.method4075(var1, var0.movementFrame, var0.x, var0.y); // L: 4093 - } - } else { - var0.movementSequence = -1; // L: 4096 - } - } - - if (var0.spotAnimation != -1 && Client.cycle >= var0.field978) { // L: 4098 - if (var0.spotAnimationFrame < 0) { // L: 4099 - var0.spotAnimationFrame = 0; - } - - int var3 = TileItem.SpotAnimationDefinition_get(var0.spotAnimation).sequence; // L: 4100 - if (var3 != -1) { // L: 4101 - SequenceDefinition var2 = ParamComposition.SequenceDefinition_get(var3); // L: 4102 - if (var2 != null && var2.frameIds != null) { // L: 4103 - ++var0.spotAnimationFrameCycle; // L: 4104 - if (var0.spotAnimationFrame < var2.frameIds.length && var0.spotAnimationFrameCycle > var2.frameLengths[var0.spotAnimationFrame]) { // L: 4105 - var0.spotAnimationFrameCycle = 1; // L: 4106 - ++var0.spotAnimationFrame; // L: 4107 - class225.method4075(var2, var0.spotAnimationFrame, var0.x, var0.y); // L: 4108 - } - - if (var0.spotAnimationFrame >= var2.frameIds.length && (var0.spotAnimationFrame < 0 || var0.spotAnimationFrame >= var2.frameIds.length)) { // L: 4110 4111 - var0.spotAnimation = -1; - } - } else { - var0.spotAnimation = -1; // L: 4114 - } - } else { - var0.spotAnimation = -1; // L: 4116 - } - } - - if (var0.sequence != -1 && var0.sequenceDelay <= 1) { // L: 4118 - var1 = ParamComposition.SequenceDefinition_get(var0.sequence); // L: 4119 - if (var1.field3560 == 1 && var0.field996 > 0 && var0.field984 <= Client.cycle && var0.field973 < Client.cycle) { // L: 4120 4121 - var0.sequenceDelay = 1; // L: 4122 - return; // L: 4123 - } - } - - if (var0.sequence != -1 && var0.sequenceDelay == 0) { // L: 4127 - var1 = ParamComposition.SequenceDefinition_get(var0.sequence); // L: 4128 - if (var1 != null && var1.frameIds != null) { // L: 4129 - ++var0.sequenceFrameCycle; // L: 4130 - if (var0.sequenceFrame < var1.frameIds.length && var0.sequenceFrameCycle > var1.frameLengths[var0.sequenceFrame]) { // L: 4131 - var0.sequenceFrameCycle = 1; // L: 4132 - ++var0.sequenceFrame; // L: 4133 - class225.method4075(var1, var0.sequenceFrame, var0.x, var0.y); // L: 4134 - } - - if (var0.sequenceFrame >= var1.frameIds.length) { // L: 4136 - var0.sequenceFrame -= var1.frameCount; // L: 4137 - ++var0.field974; // L: 4138 - if (var0.field974 >= var1.field3554) { // L: 4139 - var0.sequence = -1; - } else if (var0.sequenceFrame >= 0 && var0.sequenceFrame < var1.frameIds.length) { // L: 4140 - class225.method4075(var1, var0.sequenceFrame, var0.x, var0.y); // L: 4141 - } else { - var0.sequence = -1; - } - } - - var0.isWalking = var1.field3556; // L: 4143 - } else { - var0.sequence = -1; // L: 4145 - } - } - - if (var0.sequenceDelay > 0) { // L: 4147 - --var0.sequenceDelay; - } - - } // L: 4148 + SceneTilePaint(int var1, int var2, int var3, int var4, int var5, int var6, boolean var7) { + this.swColor = var1; + this.seColor = var2; + this.neColor = var3; + this.nwColor = var4; + this.texture = var5; + this.rgb = var6; + this.isFlat = var7; + } } diff --git a/runescape-client/src/main/java/Script.java b/runescape-client/src/main/java/Script.java index 640b8a5795..4b441a637f 100644 --- a/runescape-client/src/main/java/Script.java +++ b/runescape-client/src/main/java/Script.java @@ -3,251 +3,63 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("cs") +@ObfuscatedName("cl") @Implements("Script") public class Script extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("Script_cached") - static EvictingDualNodeHashTable Script_cached; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Laz;" - ) - @Export("worldMapEvent") - static WorldMapEvent worldMapEvent; - @ObfuscatedName("v") - @Export("opcodes") - int[] opcodes; - @ObfuscatedName("x") - @Export("intOperands") - int[] intOperands; - @ObfuscatedName("w") - @Export("stringOperands") - String[] stringOperands; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1311924603 - ) - @Export("localIntCount") - int localIntCount; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1513216297 - ) - @Export("localStringCount") - int localStringCount; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1973345543 - ) - @Export("intArgumentCount") - int intArgumentCount; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1310900639 - ) - @Export("stringArgumentCount") - int stringArgumentCount; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "[Lla;" - ) - @Export("switches") - IterableNodeHashTable[] switches; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("Script_cached") + static EvictingDualNodeHashTable Script_cached = new EvictingDualNodeHashTable(128); + @ObfuscatedName("v") + @Export("opcodes") + int[] opcodes; + @ObfuscatedName("d") + @Export("intOperands") + int[] intOperands; + @ObfuscatedName("c") + @Export("stringOperands") + String[] stringOperands; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1015685997 + ) + @Export("localIntCount") + int localIntCount; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 890706765 + ) + @Export("localStringCount") + int localStringCount; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1256074133 + ) + @Export("intArgumentCount") + int intArgumentCount; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 564204905 + ) + @Export("stringArgumentCount") + int stringArgumentCount; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "[Llg;" + ) + @Export("switches") + IterableNodeHashTable[] switches; - static { - Script_cached = new EvictingDualNodeHashTable(128); // L: 12 - } - - Script() { - } // L: 22 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II)[Lla;", - garbageValue = "557069999" - ) - @Export("newIterableNodeHashTable") - IterableNodeHashTable[] newIterableNodeHashTable(int var1) { - return new IterableNodeHashTable[var1]; // L: 153 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/Class;", - garbageValue = "877971309" - ) - @Export("loadClassFromDescriptor") - static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { - if (var0.equals("B")) { // L: 218 - return Byte.TYPE; - } else if (var0.equals("I")) { // L: 219 - return Integer.TYPE; - } else if (var0.equals("S")) { // L: 220 - return Short.TYPE; - } else if (var0.equals("J")) { // L: 221 - return Long.TYPE; - } else if (var0.equals("Z")) { // L: 222 - return Boolean.TYPE; - } else if (var0.equals("F")) { // L: 223 - return Float.TYPE; - } else if (var0.equals("D")) { // L: 224 - return Double.TYPE; - } else if (var0.equals("C")) { // L: 225 - return Character.TYPE; - } else { - return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); // L: 226 227 - } - } - - @ObfuscatedName("kl") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1901639369" - ) - @Export("changeGameOptions") - static final void changeGameOptions(int var0) { - class195.method3681(); // L: 10684 - - for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 10686 - if (var1.obj != null) { // L: 10687 - var1.set(); - } - } - - int var4 = class219.VarpDefinition_get(var0).type; // L: 10690 - if (var4 != 0) { // L: 10691 - int var2 = Varps.Varps_main[var0]; // L: 10692 - if (var4 == 1) { // L: 10693 - if (var2 == 1) { // L: 10694 - WorldMapSection1.method626(0.9D); - } - - if (var2 == 2) { // L: 10695 - WorldMapSection1.method626(0.8D); - } - - if (var2 == 3) { // L: 10696 - WorldMapSection1.method626(0.7D); - } - - if (var2 == 4) { // L: 10697 - WorldMapSection1.method626(0.6D); - } - } - - if (var4 == 3) { // L: 10699 - if (var2 == 0) { // L: 10700 - WorldMapEvent.method810(255); - } - - if (var2 == 1) { // L: 10701 - WorldMapEvent.method810(192); - } - - if (var2 == 2) { // L: 10702 - WorldMapEvent.method810(128); - } - - if (var2 == 3) { // L: 10703 - WorldMapEvent.method810(64); - } - - if (var2 == 4) { // L: 10704 - WorldMapEvent.method810(0); - } - } - - if (var4 == 4) { // L: 10706 - if (var2 == 0) { // L: 10707 - WorldMapCacheName.method662(127); - } - - if (var2 == 1) { // L: 10708 - WorldMapCacheName.method662(96); - } - - if (var2 == 2) { // L: 10709 - WorldMapCacheName.method662(64); - } - - if (var2 == 3) { // L: 10710 - WorldMapCacheName.method662(32); - } - - if (var2 == 4) { // L: 10711 - WorldMapCacheName.method662(0); - } - } - - if (var4 == 5) { // L: 10713 - Client.leftClickOpensMenu = var2; - } - - if (var4 == 6) { // L: 10714 - Client.chatEffects = var2; - } - - if (var4 == 9) { // L: 10715 - Client.field865 = var2; - } - - if (var4 == 10) { // L: 10716 - if (var2 == 0) { // L: 10717 - class194.method3676(127); - } - - if (var2 == 1) { // L: 10718 - class194.method3676(96); - } - - if (var2 == 2) { // L: 10719 - class194.method3676(64); - } - - if (var2 == 3) { // L: 10720 - class194.method3676(32); - } - - if (var2 == 4) { // L: 10721 - class194.method3676(0); - } - } - - if (var4 == 17) { // L: 10723 - Client.followerIndex = var2 & 65535; // L: 10724 - } - - AttackOption[] var3; - if (var4 == 18) { // L: 10726 - var3 = new AttackOption[]{AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_leftClickWhereAvailable}; // L: 10729 - Client.playerAttackOption = (AttackOption)UrlRequester.findEnumerated(var3, var2); // L: 10731 - if (Client.playerAttackOption == null) { // L: 10732 - Client.playerAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - if (var4 == 19) { // L: 10734 - if (var2 == -1) { // L: 10735 - Client.combatTargetPlayerIndex = -1; - } else { - Client.combatTargetPlayerIndex = var2 & 2047; // L: 10736 - } - } - - if (var4 == 22) { // L: 10738 - var3 = new AttackOption[]{AttackOption.AttackOption_hidden, AttackOption.AttackOption_dependsOnCombatLevels, AttackOption.AttackOption_alwaysRightClick, AttackOption.AttackOption_leftClickWhereAvailable}; // L: 10741 - Client.npcAttackOption = (AttackOption)UrlRequester.findEnumerated(var3, var2); // L: 10743 - if (Client.npcAttackOption == null) { // L: 10744 - Client.npcAttackOption = AttackOption.AttackOption_dependsOnCombatLevels; - } - } - - } - } // L: 10746 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)[Llg;", + garbageValue = "-1286467611" + ) + @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 ecaacefb25..8c64c65560 100644 --- a/runescape-client/src/main/java/ScriptEvent.java +++ b/runescape-client/src/main/java/ScriptEvent.java @@ -4,332 +4,115 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bb") +@ObfuscatedName("by") @Implements("ScriptEvent") public class ScriptEvent extends Node { - @ObfuscatedName("ai") - @Export("hasFocus") - protected static boolean hasFocus; - @ObfuscatedName("h") - @Export("args") - Object[] args; - @ObfuscatedName("v") - @Export("isMouseInputEvent") - boolean isMouseInputEvent; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("widget") - Widget widget; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -830334431 - ) - @Export("mouseX") - int mouseX; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1350109123 - ) - @Export("mouseY") - int mouseY; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 2005687405 - ) - @Export("opIndex") - int opIndex; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("dragTarget") - Widget dragTarget; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1876756799 - ) - @Export("keyTyped") - int keyTyped; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1098200111 - ) - @Export("keyPressed") - int keyPressed; - @ObfuscatedName("z") - @Export("targetName") - String targetName; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 179691203 - ) - int field569; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1839098173 - ) - @Export("type") - int type; + @ObfuscatedName("fj") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("fontBold12") + static Font fontBold12; + @ObfuscatedName("n") + @Export("args") + Object[] args; + @ObfuscatedName("v") + @Export("isMouseInputEvent") + boolean isMouseInputEvent; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("widget") + Widget widget; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1697635159 + ) + @Export("mouseX") + int mouseX; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 734230281 + ) + @Export("mouseY") + int mouseY; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 944694965 + ) + @Export("opIndex") + int opIndex; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("dragTarget") + Widget dragTarget; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -905189557 + ) + @Export("keyTyped") + int keyTyped; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 220260505 + ) + @Export("keyPressed") + int keyPressed; + @ObfuscatedName("l") + @Export("targetName") + String targetName; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1071641047 + ) + int field593; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1196618585 + ) + @Export("type") + int type = 76; - public ScriptEvent() { - this.type = 76; // L: 19 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/Object;I)V", + garbageValue = "807576822" + ) + @Export("setArgs") + public void setArgs(Object[] var1) { + this.args = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([Ljava/lang/Object;I)V", - garbageValue = "-1890318343" - ) - @Export("setArgs") - public void setArgs(Object[] var1) { - this.args = var1; // L: 22 - } // L: 23 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-67" + ) + @Export("setType") + public void setType(int var1) { + this.type = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-2116141310" - ) - @Export("setType") - public void setType(int var1) { - this.type = var1; // L: 26 - } // L: 27 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + public static void method1271() { + class105.reflectionChecks = new IterableNodeDeque(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;IB)Z", - garbageValue = "-119" - ) - static boolean method1260(String var0, int var1) { - return class13.method131(var0, var1, "openjs"); // L: 50 - } - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(IIIIIIILeo;Lfo;B)V", - garbageValue = "-82" - ) - static final void method1259(int var0, int var1, int var2, int var3, int var4, int var5, int var6, Scene var7, CollisionMap var8) { - ObjectComposition var9 = WorldMapDecoration.getObjectDefinition(var4); // L: 899 - int var10; - int var11; - if (var5 != 1 && var5 != 3) { // L: 902 - var10 = var9.sizeX; // L: 907 - var11 = var9.sizeY; // L: 908 - } else { - var10 = var9.sizeY; // L: 903 - var11 = var9.sizeX; // L: 904 - } - - int var12; - int var13; - if (var10 + var2 <= 104) { // L: 914 - var12 = (var10 >> 1) + var2; // L: 915 - var13 = var2 + (var10 + 1 >> 1); // L: 916 - } else { - var12 = var2; // L: 919 - var13 = var2 + 1; // L: 920 - } - - int var14; - int var15; - if (var3 + var11 <= 104) { // L: 922 - var14 = var3 + (var11 >> 1); // L: 923 - var15 = var3 + (var11 + 1 >> 1); // L: 924 - } else { - var14 = var3; // L: 927 - var15 = var3 + 1; // L: 928 - } - - int[][] var16 = Tiles.Tiles_heights[var1]; // L: 930 - int var17 = var16[var12][var14] + var16[var13][var14] + var16[var12][var15] + var16[var13][var15] >> 2; // L: 931 - int var18 = (var2 << 7) + (var10 << 6); // L: 932 - int var19 = (var3 << 7) + (var11 << 6); // L: 933 - long var20 = NPC.calculateTag(var2, var3, 2, var9.int1 == 0, var4); // L: 934 - int var22 = (var5 << 6) + var6; // L: 935 - if (var9.int3 == 1) { // L: 936 - var22 += 256; - } - - Object var30; - if (var6 == 22) { // L: 937 - if (var9.animationId == -1 && var9.transforms == null) { // L: 939 - var30 = var9.getModel(22, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 940 - } - - var7.newFloorDecoration(var0, var2, var3, var17, (Renderable)var30, var20, var22); // L: 941 - if (var9.interactType == 1) { // L: 942 - var8.setBlockedByFloorDec(var2, var3); - } - - } else if (var6 != 10 && var6 != 11) { // L: 945 - if (var6 >= 12) { // L: 953 - if (var9.animationId == -1 && var9.transforms == null) { // L: 955 - var30 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 956 - } - - var7.method3160(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); // L: 957 - if (var9.interactType != 0) { // L: 958 - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 0) { // L: 961 - if (var9.animationId == -1 && var9.transforms == null) { // L: 963 - var30 = var9.getModel(0, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 964 - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field512[var5], 0, var20, var22); // L: 965 - if (var9.interactType != 0) { // L: 966 - var8.method3611(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 1) { // L: 969 - if (var9.animationId == -1 && var9.transforms == null) { // L: 971 - var30 = var9.getModel(1, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 972 - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field513[var5], 0, var20, var22); // L: 973 - if (var9.interactType != 0) { // L: 974 - var8.method3611(var2, var3, var6, var5, var9.boolean1); - } - - } else { - int var23; - if (var6 == 2) { // L: 977 - var23 = var5 + 1 & 3; // L: 978 - Object var25; - Object var31; - if (var9.animationId == -1 && var9.transforms == null) { // L: 981 - var31 = var9.getModel(2, var5 + 4, var16, var18, var17, var19); // L: 982 - var25 = var9.getModel(2, var23, var16, var18, var17, var19); // L: 983 - } else { - var31 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 986 - var25 = new DynamicObject(var4, 2, var23, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 987 - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var31, (Renderable)var25, Tiles.field512[var5], Tiles.field512[var23], var20, var22); // L: 989 - if (var9.interactType != 0) { // L: 990 - var8.method3611(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 3) { // L: 993 - if (var9.animationId == -1 && var9.transforms == null) { // L: 995 - var30 = var9.getModel(3, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 996 - } - - var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field513[var5], 0, var20, var22); // L: 997 - if (var9.interactType != 0) { // L: 998 - var8.method3611(var2, var3, var6, var5, var9.boolean1); - } - - } else if (var6 == 9) { // L: 1001 - if (var9.animationId == -1 && var9.transforms == null) { // L: 1003 - var30 = var9.getModel(var6, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1004 - } - - var7.method3160(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22); // L: 1005 - if (var9.interactType != 0) { // L: 1006 - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } else if (var6 == 4) { // L: 1009 - if (var9.animationId == -1 && var9.transforms == null) { // L: 1011 - var30 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1012 - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field512[var5], 0, 0, 0, var20, var22); // L: 1013 - } else { - long var24; - Object var26; - if (var6 == 5) { // L: 1016 - var23 = 16; // L: 1017 - var24 = var7.getBoundaryObjectTag(var0, var2, var3); // L: 1018 - if (var24 != 0L) { // L: 1019 - var23 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var24)).int2; - } - - if (var9.animationId == -1 && var9.transforms == null) { // L: 1021 - var26 = var9.getModel(4, var5, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1022 - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, Tiles.field512[var5], 0, var23 * Tiles.field518[var5], var23 * Tiles.field515[var5], var20, var22); // L: 1023 - } else if (var6 == 6) { // L: 1026 - var23 = 8; // L: 1027 - var24 = var7.getBoundaryObjectTag(var0, var2, var3); // L: 1028 - if (var24 != 0L) { // L: 1029 - var23 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var24)).int2 / 2; - } - - if (var9.animationId == -1 && var9.transforms == null) { // L: 1031 - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1032 - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, 256, var5, var23 * Tiles.field509[var5], var23 * Tiles.field517[var5], var20, var22); // L: 1033 - } else if (var6 == 7) { // L: 1036 - int var29 = var5 + 2 & 3; // L: 1038 - if (var9.animationId == -1 && var9.transforms == null) { // L: 1039 - var30 = var9.getModel(4, var29 + 4, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 4, var29 + 4, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1040 - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, 256, var29, 0, 0, var20, var22); // L: 1041 - } else if (var6 == 8) { // L: 1044 - var23 = 8; // L: 1045 - var24 = var7.getBoundaryObjectTag(var0, var2, var3); // L: 1046 - if (var24 != 0L) { // L: 1047 - var23 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var24)).int2 / 2; - } - - int var28 = var5 + 2 & 3; // L: 1050 - Object var27; - if (var9.animationId == -1 && var9.transforms == null) { // L: 1051 - var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19); // L: 1052 - var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19); // L: 1053 - } else { - var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1056 - var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 1057 - } - - var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)var27, 256, var5, var23 * Tiles.field509[var5], var23 * Tiles.field517[var5], var20, var22); // L: 1059 - } - } - } - } else { - if (var9.animationId == -1 && var9.transforms == null) { // L: 947 - var30 = var9.getModel(10, var5, var16, var18, var17, var19); - } else { - var30 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, var9.field3429, (Renderable)null); // L: 948 - } - - if (var30 != null) { // L: 949 - var7.method3160(var0, var2, var3, var17, var10, var11, (Renderable)var30, var6 == 11 ? 256 : 0, var20, var22); - } - - if (var9.interactType != 0) { // L: 950 - var8.addGameObject(var2, var3, var10, var11, var9.boolean1); - } - - } - } // L: 943 951 959 967 975 991 999 1007 1014 1024 1034 1042 1060 1062 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1068960678" + ) + public static void method1272() { + VertexNormal.midiPcmStream.clear(); + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = null; + } } diff --git a/runescape-client/src/main/java/ScriptFrame.java b/runescape-client/src/main/java/ScriptFrame.java index 5b7d46d369..f34326d433 100644 --- a/runescape-client/src/main/java/ScriptFrame.java +++ b/runescape-client/src/main/java/ScriptFrame.java @@ -5,174 +5,92 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bk") +@ObfuscatedName("bz") @Implements("ScriptFrame") public class ScriptFrame { - @ObfuscatedName("nn") - @ObfuscatedGetter( - intValue = 1247485995 - ) - @Export("widgetDragDuration") - static int widgetDragDuration; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lcs;" - ) - @Export("script") - Script script; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 555040569 - ) - @Export("pc") - int pc; - @ObfuscatedName("x") - @Export("intLocals") - int[] intLocals; - @ObfuscatedName("w") - @Export("stringLocals") - String[] stringLocals; + @ObfuscatedName("fl") + @ObfuscatedSignature( + descriptor = "Led;" + ) + @Export("urlRequester") + static UrlRequester urlRequester; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lcl;" + ) + @Export("script") + Script script; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1121255489 + ) + @Export("pc") + int pc = -1; + @ObfuscatedName("d") + @Export("intLocals") + int[] intLocals; + @ObfuscatedName("c") + @Export("stringLocals") + String[] stringLocals; - ScriptFrame() { - this.pc = -1; // L: 5 - } // L: 9 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Ljz;", + garbageValue = "0" + ) + public static HitSplatDefinition method1222(int var0) { + HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0); + var1 = new HitSplatDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "259452362" - ) - static int method1213(int var0, Script var1, boolean var2) { - boolean var3 = true; // L: 774 - Widget var4; - if (var0 >= 2000) { // L: 776 - var0 -= 1000; // L: 777 - var4 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 778 - var3 = false; // L: 779 - } else { - var4 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 781 - } + HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); + return var1; + } + } - int var11; - if (var0 == ScriptOpcodes.CC_SETOP) { // L: 782 - var11 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] - 1; // L: 783 - if (var11 >= 0 && var11 <= 9) { // L: 784 - var4.setAction(var11, Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]); // L: 788 - return 1; // L: 789 - } else { - --Interpreter.Interpreter_stringStackSize; // L: 785 - return 1; // L: 786 - } - } else { - int var6; - if (var0 == ScriptOpcodes.CC_SETDRAGGABLE) { // L: 791 - VarcInt.Interpreter_intStackSize -= 2; // L: 792 - var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 793 - var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 794 - var4.parent = class92.getWidgetChild(var11, var6); // L: 795 - return 1; // L: 796 - } else if (var0 == ScriptOpcodes.CC_SETDRAGGABLEBEHAVIOR) { // L: 798 - var4.isScrollBar = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 799 - return 1; // L: 800 - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADZONE) { // L: 802 - var4.dragZoneSize = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 803 - return 1; // L: 804 - } else if (var0 == ScriptOpcodes.CC_SETDRAGDEADTIME) { // L: 806 - var4.dragThreshold = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 807 - return 1; // L: 808 - } else if (var0 == ScriptOpcodes.CC_SETOPBASE) { // L: 810 - var4.dataText = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 811 - return 1; // L: 812 - } else if (var0 == ScriptOpcodes.CC_SETTARGETVERB) { // L: 814 - var4.spellActionName = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 815 - return 1; // L: 816 - } else if (var0 == ScriptOpcodes.CC_CLEAROPS) { // L: 818 - var4.actions = null; // L: 819 - return 1; // L: 820 - } else if (var0 == 1308) { // L: 822 - var4.prioritizeMenuEntry = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 823 - return 1; // L: 824 - } else if (var0 == 1309) { // L: 826 - --VarcInt.Interpreter_intStackSize; // L: 827 - return 1; // L: 828 - } else { - int var7; - byte[] var8; - if (var0 != ScriptOpcodes.CC_SETOPKEY) { // L: 830 - byte var5; - if (var0 == ScriptOpcodes.CC_SETOPTKEY) { // L: 860 - VarcInt.Interpreter_intStackSize -= 2; // L: 861 - var5 = 10; // L: 862 - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]}; // L: 863 - byte[] var9 = new byte[]{(byte)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]}; // L: 864 - ItemContainer.Widget_setKey(var4, var5, var8, var9); // L: 865 - return 1; // L: 866 - } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) { // L: 868 - VarcInt.Interpreter_intStackSize -= 3; // L: 869 - var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] - 1; // L: 870 - var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 871 - var7 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 872 - if (var11 >= 0 && var11 <= 9) { // L: 873 - Player.Widget_setKeyRate(var4, var11, var6, var7); // L: 876 - return 1; // L: 877 - } else { - throw new RuntimeException(); // L: 874 - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) { // L: 879 - var5 = 10; // L: 880 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 881 - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 882 - Player.Widget_setKeyRate(var4, var5, var6, var7); // L: 883 - return 1; // L: 884 - } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) { // L: 886 - --VarcInt.Interpreter_intStackSize; // L: 887 - var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize] - 1; // L: 888 - if (var11 >= 0 && var11 <= 9) { // L: 889 - GrandExchangeOfferUnitPriceComparator.Widget_setKeyIgnoreHeld(var4, var11); // L: 892 - return 1; // L: 893 - } else { - throw new RuntimeException(); // L: 890 - } - } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) { // L: 895 - var5 = 10; // L: 896 - GrandExchangeOfferUnitPriceComparator.Widget_setKeyIgnoreHeld(var4, var5); // L: 897 - return 1; // L: 898 - } else { - return 2; // L: 900 - } - } else { - byte[] var10 = null; // L: 831 - var8 = null; // L: 832 - if (var3) { // L: 833 - VarcInt.Interpreter_intStackSize -= 10; // L: 834 + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "461265882" + ) + static int method1221(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.GETWINDOWMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = BoundaryObject.getWindowedMode(); + return 1; + } else { + int var3; + if (var0 == ScriptOpcodes.SETWINDOWMODE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + GameBuild.setWindowedMode(var3); + } - for (var7 = 0; var7 < 10 && Interpreter.Interpreter_intStack[var7 + VarcInt.Interpreter_intStackSize] >= 0; var7 += 2) { // L: 836 837 - } + return 1; + } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSectionType.clientPreferences.windowMode; + return 1; + } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { + if (var0 == 5310) { + --Interpreter.Interpreter_intStackSize; + return 1; + } else { + return 2; + } + } else { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 == 1 || var3 == 2) { + WorldMapSectionType.clientPreferences.windowMode = var3; + class23.savePreferences(); + } - if (var7 > 0) { // L: 839 - var10 = new byte[var7 / 2]; // L: 840 - var8 = new byte[var7 / 2]; // L: 841 - - for (var7 -= 2; var7 >= 0; var7 -= 2) { // L: 842 - var10[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + VarcInt.Interpreter_intStackSize]; // L: 843 - var8[var7 / 2] = (byte)Interpreter.Interpreter_intStack[var7 + VarcInt.Interpreter_intStackSize + 1]; // L: 844 - } - } - } else { - VarcInt.Interpreter_intStackSize -= 2; // L: 849 - var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]}; // L: 850 - var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]}; // L: 851 - } - - var7 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] - 1; // L: 853 - if (var7 >= 0 && var7 <= 9) { // L: 854 - ItemContainer.Widget_setKey(var4, var7, var10, var8); // L: 857 - return 1; // L: 858 - } else { - throw new RuntimeException(); // L: 855 - } - } - } - } - } + return 1; + } + } + } } diff --git a/runescape-client/src/main/java/SecureRandomCallable.java b/runescape-client/src/main/java/SecureRandomCallable.java index 0cfbb60420..919c691ee7 100644 --- a/runescape-client/src/main/java/SecureRandomCallable.java +++ b/runescape-client/src/main/java/SecureRandomCallable.java @@ -1,256 +1,200 @@ -import java.security.SecureRandom; import java.util.concurrent.Callable; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bw") +@ObfuscatedName("bg") @Implements("SecureRandomCallable") public class SecureRandomCallable implements Callable { - @ObfuscatedName("bh") - @Export("otp") - static String otp; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lip;" + ) + @Export("NetCache_currentResponse") + public static NetFileRequest NetCache_currentResponse; + @ObfuscatedName("fp") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("fontPlain11") + static Font fontPlain11; - SecureRandomCallable() { - } + public Object call() { + return class39.method643(); + } - public Object call() { - SecureRandom var2 = new SecureRandom(); // L: 47 - var2.nextInt(); - return var2; - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-1343548281" + ) + static final int method1226(int var0, int var1) { + if (var0 == -2) { + return 12345678; + } else if (var0 == -1) { + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljq;", - garbageValue = "97561494" - ) - @Export("ItemDefinition_get") - public static ItemComposition ItemDefinition_get(int var0) { - ItemComposition var1 = (ItemComposition) ItemComposition.ItemDefinition_cached.get((long)var0); // L: 92 - if (var1 != null) { // L: 93 - return var1; - } else { - byte[] var2 = NPC.ItemDefinition_archive.takeFile(10, var0); // L: 94 - var1 = new ItemComposition(); // L: 95 - var1.id = var0; // L: 96 - if (var2 != null) { // L: 97 - var1.decode(new Buffer(var2)); - } + return var1; + } else { + var1 = (var0 & 127) * var1 / 128; + if (var1 < 2) { + var1 = 2; + } else if (var1 > 126) { + var1 = 126; + } - var1.post(); // L: 98 - if (var1.noteTemplate != -1) { // L: 99 - var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); - } + return (var0 & 'タ') + var1; + } + } - if (var1.notedId != -1) { // L: 100 - var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); - } + @ObfuscatedName("fq") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-33" + ) + @Export("logOut") + static final void logOut() { + Client.packetWriter.close(); + class228.method4311(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.clear(); + KitDefinition.KitDefinition_cached.clear(); + ObjectComposition.ObjectDefinition_cached.clear(); + ObjectComposition.ObjectDefinition_cachedModelData.clear(); + ObjectComposition.ObjectDefinition_cachedEntities.clear(); + ObjectComposition.ObjectDefinition_cachedModels.clear(); + NPCComposition.NpcDefinition_cached.clear(); + NPCComposition.NpcDefinition_cachedModels.clear(); + ItemComposition.ItemDefinition_cached.clear(); + ItemComposition.ItemDefinition_cachedModels.clear(); + ItemComposition.ItemDefinition_cachedSprites.clear(); + SequenceDefinition.SequenceDefinition_cached.clear(); + SequenceDefinition.SequenceDefinition_cachedFrames.clear(); + WorldMapEvent.method851(); + VarbitComposition.VarbitDefinition_cached.clear(); + World.method1924(); + KeyHandler.method913(); + Tile.method3032(); + StructComposition.StructDefinition_cached.clear(); + ParamComposition.ParamDefinition_cached.clear(); + ItemLayer.method2938(); + PlayerComposition.PlayerAppearance_cachedModels.clear(); + WorldMapEvent.method850(); + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); + Script.Script_cached.clear(); + class52.archive0.clearFiles(); + SpriteMask.archive1.clearFiles(); + PlayerComposition.archive3.clearFiles(); + WorldMapCacheName.archive4.clearFiles(); + class8.archive5.clearFiles(); + UrlRequester.archive6.clearFiles(); + WorldMapData_0.archive7.clearFiles(); + ModeWhere.archive8.clearFiles(); + ViewportMouse.archive9.clearFiles(); + LoginScreenAnimation.archive10.clearFiles(); + WorldMapManager.archive11.clearFiles(); + WorldMapSection0.archive12.clearFiles(); + MilliClock.scene.clear(); - if (var1.placeholderTemplate != -1) { // L: 101 - var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); - } + for(int var0 = 0; var0 < 4; ++var0) { + Client.collisionMaps[var0].clear(); + } - if (!ItemComposition.ItemDefinition_inMembersWorld && var1.isMembersOnly) { // L: 102 - var1.name = "Members object"; // L: 103 - var1.isTradable = false; // L: 104 - var1.groundActions = null; // L: 105 - var1.inventoryActions = null; // L: 106 - var1.shiftClickIndex = -1; // L: 107 - var1.team = 0; // L: 108 - if (var1.params != null) { // L: 109 - boolean var3 = false; // L: 110 + System.gc(); + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = null; + class206.musicTrackGroupId = -1; + SoundSystem.musicTrackFileId = -1; + DevicePcmPlayerProvider.musicTrackVolume = 0; + class206.musicTrackBoolean = false; + class7.pcmSampleLength = 2; + Client.currentTrackGroupId = -1; + Client.field899 = false; - for (Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { // L: 111 - ParamComposition var5 = ChatChannel.getParamDefinition((int)var4.key); // L: 112 - if (var5.autoDisable) { // L: 113 - var4.remove(); - } else { - var3 = true; // L: 114 - } - } + for(ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var1.stream1 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var1.stream1); + var1.stream1 = null; + } - if (!var3) { // L: 116 - var1.params = null; - } - } - } + if (var1.stream2 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var1.stream2); + var1.stream2 = null; + } + } - ItemComposition.ItemDefinition_cached.put(var1, (long)var0); // L: 119 - return var1; // L: 120 - } - } + ObjectSound.objectSounds.clear(); + ItemContainer.updateGameState(10); + } - @ObfuscatedName("v") - public static String method1218(long var0) { - if (var0 > 0L && var0 < 6582952005840035281L) { // L: 31 - if (0L == var0 % 37L) { // L: 32 - return null; - } else { - int var2 = 0; // L: 33 + @ObfuscatedName("fl") + @ObfuscatedSignature( + descriptor = "(Lhz;III)V", + garbageValue = "860211947" + ) + @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 || !class8.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { + SpriteMask var3 = var0.getSpriteMask(true); + if (var3 == null) { + return; + } - for (long var3 = var0; var3 != 0L; var3 /= 37L) { // L: 34 35 37 - ++var2; // L: 36 - } + 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 + UserComparator9.localPlayer.x >> 7; + int var12 = UserComparator9.localPlayer.y - var10 >> 7; + PacketBufferNode var13 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2260, Client.packetWriter.isaacCipher); + var13.packetBuffer.writeByte(18); + var13.packetBuffer.method5778(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); + var13.packetBuffer.writeIntME(NetCache.baseY * 64 + var12); + var13.packetBuffer.writeShort(GrandExchangeOfferNameComparator.baseX * 64 + var11); + 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(UserComparator9.localPlayer.x); + var13.packetBuffer.writeShort(UserComparator9.localPlayer.y); + var13.packetBuffer.writeByte(63); + Client.packetWriter.addNode(var13); + Client.destinationX = var11; + Client.destinationY = var12; + } + } - StringBuilder var5 = new StringBuilder(var2); // L: 39 + } + } - while (0L != var0) { // L: 40 - long var6 = var0; // L: 41 - var0 /= 37L; // L: 42 - var5.append(class299.base37Table[(int)(var6 - 37L * var0)]); // L: 43 - } + @ObfuscatedName("ge") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-358852627" + ) + static int method1233(int var0, int var1) { + int var2 = var1 - 334; + if (var2 < 0) { + var2 = 0; + } else if (var2 > 100) { + var2 = 100; + } - return var5.reverse().toString(); // L: 45 - } - } else { - return null; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "1753340272" - ) - public static boolean method1216(int var0) { - return (var0 >> 20 & 1) != 0; // L: 13 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ILib;IIIZI)V", - garbageValue = "141166757" - ) - public static void method1221(int var0, AbstractArchive var1, int var2, int var3, int var4, boolean var5) { - class206.musicPlayerStatus = 1; // L: 48 - Varps.musicTrackArchive = var1; // L: 49 - HealthBarUpdate.musicTrackGroupId = var2; // L: 50 - class206.musicTrackFileId = var3; // L: 51 - GrandExchangeEvent.musicTrackVolume = var4; // L: 52 - class231.musicTrackBoolean = var5; // L: 53 - WorldMapSection1.pcmSampleLength = var0; // L: 54 - } // L: 55 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "5" - ) - public static void method1220(int var0) { - class206.musicPlayerStatus = 1; // L: 58 - Varps.musicTrackArchive = null; // L: 59 - HealthBarUpdate.musicTrackGroupId = -1; // L: 60 - class206.musicTrackFileId = -1; // L: 61 - GrandExchangeEvent.musicTrackVolume = 0; // L: 62 - class231.musicTrackBoolean = false; // L: 63 - WorldMapSection1.pcmSampleLength = var0; // L: 64 - } // L: 65 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Lcj;I)V", - garbageValue = "997445897" - ) - @Export("changeWorld") - static void changeWorld(World var0) { - if (var0.isMembersOnly() != Client.isMembersWorld) { // L: 1489 - Client.isMembersWorld = var0.isMembersOnly(); // L: 1490 - SecureRandomFuture.method2205(var0.isMembersOnly()); // L: 1491 - } - - if (var0.properties != Client.worldProperties) { // L: 1493 - Archive var1 = Messages.archive8; // L: 1494 - int var2 = var0.properties; // L: 1495 - if ((var2 & 536870912) != 0) { // L: 1497 - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); // L: 1498 - } else if ((var2 & 1073741824) != 0) { // L: 1500 - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", ""); // L: 1501 - } else { - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); // L: 1504 - } - } - - WorldMapSprite.worldHost = var0.host; // L: 1508 - Client.worldId = var0.id; // L: 1509 - Client.worldProperties = var0.properties; // L: 1510 - class278.port1 = Client.gameBuild == 0 ? 43594 : var0.id + 40000; // L: 1511 - Players.port2 = Client.gameBuild == 0 ? 443 : var0.id + 50000; // L: 1512 - ArchiveDiskAction.port3 = class278.port1; // L: 1513 - } // L: 1514 - - @ObfuscatedName("gt") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "90" - ) - @Export("doCheat") - static final void doCheat(String var0) { - if (var0.equalsIgnoreCase("toggleroof")) { // L: 3843 - Timer.clientPreferences.roofsHidden = !Timer.clientPreferences.roofsHidden; // L: 3844 - GrandExchangeOffer.savePreferences(); // L: 3845 - if (Timer.clientPreferences.roofsHidden) { // L: 3846 - class234.addGameMessage(99, "", "Roofs are now all hidden"); - } else { - class234.addGameMessage(99, "", "Roofs will only be removed selectively"); // L: 3847 - } - } - - if (var0.equalsIgnoreCase("displayfps")) { // L: 3849 - Client.displayFps = !Client.displayFps; - } - - if (var0.equalsIgnoreCase("renderself")) { - Client.renderSelf = !Client.renderSelf; // L: 3850 - } - - if (var0.equalsIgnoreCase("mouseovertext")) { // L: 3851 - Client.showMouseOverText = !Client.showMouseOverText; - } - - if (Client.staffModLevel >= 2) { // L: 3852 - if (var0.equalsIgnoreCase("errortest")) { // L: 3853 - throw new RuntimeException(); - } - - if (var0.equalsIgnoreCase("showcoord")) { // L: 3854 - WorldMapRectangle.worldMap.showCoord = !WorldMapRectangle.worldMap.showCoord; - } - - if (var0.equalsIgnoreCase("fpson")) { // L: 3855 - Client.displayFps = true; - } - - if (var0.equalsIgnoreCase("fpsoff")) { // L: 3856 - Client.displayFps = false; - } - - if (var0.equalsIgnoreCase("gc")) { // L: 3857 - System.gc(); - } - - if (var0.equalsIgnoreCase("clientdrop")) { // L: 3858 - LoginScreenAnimation.method1903(); - } - } - - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2243, Client.packetWriter.isaacCipher); // L: 3861 - var1.packetBuffer.writeByte(var0.length() + 1); // L: 3862 - var1.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 3863 - Client.packetWriter.addNode(var1); // L: 3864 - } // L: 3865 - - @ObfuscatedName("lt") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1703246278" - ) - static final void method1217() { - for (int var0 = 0; var0 < Players.Players_count; ++var0) { // L: 11009 - Player var1 = Client.players[Players.Players_indices[var0]]; // L: 11010 - var1.clearIsInClanChat(); // L: 11011 - } - - } // L: 11013 + int var3 = (Client.zoomWidth - Client.zoomHeight) * var2 / 100 + Client.zoomHeight; + return var0 * var3 / 256; + } } diff --git a/runescape-client/src/main/java/SecureRandomFuture.java b/runescape-client/src/main/java/SecureRandomFuture.java index c5bd39688f..290cbb5300 100644 --- a/runescape-client/src/main/java/SecureRandomFuture.java +++ b/runescape-client/src/main/java/SecureRandomFuture.java @@ -8,591 +8,58 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ck") +@ObfuscatedName("co") @Implements("SecureRandomFuture") public class SecureRandomFuture { - @ObfuscatedName("j") - @Export("ArchiveDiskActionHandler_thread") - static Thread ArchiveDiskActionHandler_thread; - @ObfuscatedName("ii") - @ObfuscatedGetter( - intValue = 366779581 - ) - @Export("oculusOrbFocalPointX") - static int oculusOrbFocalPointX; - @ObfuscatedName("h") - @Export("executor") - ExecutorService executor; - @ObfuscatedName("v") - @Export("future") - Future future; - - SecureRandomFuture() { - this.executor = Executors.newSingleThreadExecutor(); // L: 10 - this.future = this.executor.submit(new SecureRandomCallable()); // L: 14 - } // L: 15 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1052169316" - ) - @Export("shutdown") - void shutdown() { - this.executor.shutdown(); // L: 18 - this.executor = null; // L: 19 - } // L: 20 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "63706826" - ) - @Export("isDone") - boolean isDone() { - return this.future.isDone(); // L: 23 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)Ljava/security/SecureRandom;", - garbageValue = "1655382452" - ) - @Export("get") - SecureRandom get() { - try { - return (SecureRandom)this.future.get(); // L: 28 - } catch (Exception var4) { // L: 30 - SecureRandom var3 = new SecureRandom(); // L: 33 - var3.nextInt(); // L: 34 - return var3; // L: 37 - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "109574038" - ) - public static void method2205(boolean var0) { - if (var0 != ItemComposition.ItemDefinition_inMembersWorld) { // L: 571 - TileItem.method2187(); // L: 572 - ItemComposition.ItemDefinition_inMembersWorld = var0; // L: 573 - } - - } // L: 575 - - @ObfuscatedName("gl") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "1070154541" - ) - @Export("drawEntities") - static final void drawEntities(int var0, int var1, int var2, int var3) { - ++Client.viewportDrawCount; // L: 4304 - AttackOption.method2138(); // L: 4305 - class51.method832(); // L: 4306 - if (Client.combatTargetPlayerIndex >= 0 && Client.players[Client.combatTargetPlayerIndex] != null) { // L: 4308 - ClientPreferences.addPlayerToScene(Client.players[Client.combatTargetPlayerIndex], false); // L: 4309 - } - - Skeleton.addNpcsToScene(true); // L: 4312 - WorldMapRectangle.method332(); // L: 4313 - Skeleton.addNpcsToScene(false); // L: 4314 - - int var6; - for (Projectile var4 = (Projectile)Client.projectiles.last(); var4 != null; var4 = (Projectile)Client.projectiles.previous()) { // L: 4316 4317 4334 - if (var4.plane == GameObject.Client_plane && Client.cycle <= var4.cycleEnd) { // L: 4318 - if (Client.cycle >= var4.cycleStart) { // L: 4319 - if (var4.targetIndex > 0) { // L: 4320 - NPC var33 = Client.npcs[var4.targetIndex - 1]; // L: 4321 - if (var33 != null && var33.x >= 0 && var33.x < 13312 && var33.y >= 0 && var33.y < 13312) { // L: 4322 - var4.setDestination(var33.x, var33.y, getTileHeight(var33.x, var33.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - if (var4.targetIndex < 0) { // L: 4324 - var6 = -var4.targetIndex - 1; // L: 4326 - Player var36; - if (var6 == Client.localPlayerIndex) { // L: 4327 - var36 = PlayerComposition.localPlayer; - } else { - var36 = Client.players[var6]; // L: 4328 - } - - if (var36 != null && var36.x >= 0 && var36.x < 13312 && var36.y >= 0 && var36.y < 13312) { // L: 4329 - var4.setDestination(var36.x, var36.y, getTileHeight(var36.x, var36.y, var4.plane) - var4.endHeight, Client.cycle); - } - } - - var4.advance(Client.field850); // L: 4331 - ArchiveLoader.scene.drawEntity(GameObject.Client_plane, (int)var4.x, (int)var4.y, (int)var4.z, 60, var4, var4.yaw, -1L, false); // L: 4332 - } - } else { - var4.remove(); - } - } - - WorldMapSprite.method467(); // L: 4337 - class25.setViewportShape(var0, var1, var2, var3, true); // L: 4338 - var0 = Client.viewportOffsetX; // L: 4339 - var1 = Client.viewportOffsetY; // L: 4340 - var2 = Client.viewportWidth; // L: 4341 - var3 = Client.viewportHeight; // L: 4342 - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); // L: 4343 - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 4344 - int var5; - int var7; - int var8; - int var9; - int var10; - int var11; - int var12; - int var13; - int var14; - int var15; - int var16; - int var28; - if (!Client.isCameraLocked) { // L: 4345 - var28 = Client.camAngleX; // L: 4346 - if (Client.field918 / 256 > var28) { // L: 4347 - var28 = Client.field918 / 256; - } - - if (Client.field902[4] && Client.field893[4] + 128 > var28) { // L: 4348 - var28 = Client.field893[4] + 128; - } - - var5 = Client.camAngleY & 2047; // L: 4349 - var6 = oculusOrbFocalPointX; // L: 4350 - var7 = PacketWriter.field1341; // L: 4351 - var8 = Decimator.oculusOrbFocalPointY; // L: 4352 - var9 = WorldMapManager.method704(var28); // L: 4353 - var9 = NetSocket.method3587(var9, var3); // L: 4355 - var10 = 2048 - var28 & 2047; // L: 4356 - var11 = 2048 - var5 & 2047; // L: 4357 - var12 = 0; // L: 4358 - var13 = 0; // L: 4359 - var14 = var9; // L: 4360 - int var17; - if (var10 != 0) { // L: 4361 - var15 = Rasterizer3D.Rasterizer3D_sine[var10]; // L: 4362 - var16 = Rasterizer3D.Rasterizer3D_cosine[var10]; // L: 4363 - var17 = var16 * var13 - var15 * var9 >> 16; // L: 4364 - var14 = var15 * var13 + var16 * var9 >> 16; // L: 4365 - var13 = var17; // L: 4366 - } - - if (var11 != 0) { // L: 4368 - var15 = Rasterizer3D.Rasterizer3D_sine[var11]; // L: 4369 - var16 = Rasterizer3D.Rasterizer3D_cosine[var11]; // L: 4370 - var17 = var12 * var16 + var14 * var15 >> 16; // L: 4371 - var14 = var14 * var16 - var15 * var12 >> 16; // L: 4372 - var12 = var17; // L: 4373 - } - - Player.cameraX = var6 - var12; // L: 4375 - KeyHandler.cameraY = var7 - var13; // L: 4376 - class69.cameraZ = var8 - var14; // L: 4377 - Skeleton.cameraPitch = var28; // L: 4378 - AbstractArchive.cameraYaw = var5; // L: 4379 - if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (oculusOrbFocalPointX >> 7 != PlayerComposition.localPlayer.x >> 7 || Decimator.oculusOrbFocalPointY >> 7 != PlayerComposition.localPlayer.y >> 7)) { // L: 4380 4381 - var15 = PlayerComposition.localPlayer.plane; // L: 4382 - var16 = (oculusOrbFocalPointX >> 7) + NetFileRequest.baseX; // L: 4383 - var17 = (Decimator.oculusOrbFocalPointY >> 7) + class41.baseY; // L: 4384 - PacketBufferNode var18 = ItemContainer.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); // L: 4387 - var18.packetBuffer.method5578(var16); // L: 4388 - var18.packetBuffer.method5587(Client.field730); // L: 4389 - var18.packetBuffer.method5739(var17); // L: 4390 - var18.packetBuffer.writeByte(var15); // L: 4391 - Client.packetWriter.addNode(var18); // L: 4392 - } - } - - if (!Client.isCameraLocked) { // L: 4399 - if (Timer.clientPreferences.roofsHidden) { // L: 4402 - var5 = GameObject.Client_plane; // L: 4403 - } else { - label625: { - var6 = 3; // L: 4406 - if (Skeleton.cameraPitch < 310) { // L: 4407 - if (Client.oculusOrbState == 1) { // L: 4410 - var7 = oculusOrbFocalPointX >> 7; // L: 4411 - var8 = Decimator.oculusOrbFocalPointY >> 7; // L: 4412 - } else { - var7 = PlayerComposition.localPlayer.x >> 7; // L: 4415 - var8 = PlayerComposition.localPlayer.y >> 7; // L: 4416 - } - - var9 = Player.cameraX >> 7; // L: 4418 - var10 = class69.cameraZ >> 7; // L: 4419 - if (var9 < 0 || var10 < 0 || var9 >= 104 || var10 >= 104) { // L: 4420 - var5 = GameObject.Client_plane; // L: 4421 - break label625; // L: 4422 - } - - if (var7 < 0 || var8 < 0 || var7 >= 104 || var8 >= 104) { // L: 4424 - var5 = GameObject.Client_plane; // L: 4425 - break label625; // L: 4426 - } - - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][var9][var10] & 4) != 0) { // L: 4428 - var6 = GameObject.Client_plane; - } - - if (var7 > var9) { // L: 4430 - var11 = var7 - var9; - } else { - var11 = var9 - var7; // L: 4431 - } - - if (var8 > var10) { // L: 4433 - var12 = var8 - var10; - } else { - var12 = var10 - var8; // L: 4434 - } - - if (var11 > var12) { // L: 4435 - var13 = var12 * 65536 / var11; // L: 4436 - var14 = 32768; // L: 4437 - - while (var7 != var9) { // L: 4438 - if (var9 < var7) { // L: 4439 - ++var9; - } else if (var9 > var7) { // L: 4440 - --var9; - } - - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][var9][var10] & 4) != 0) { // L: 4441 - var6 = GameObject.Client_plane; - } - - var14 += var13; // L: 4442 - if (var14 >= 65536) { // L: 4443 - var14 -= 65536; // L: 4444 - if (var10 < var8) { // L: 4445 - ++var10; - } else if (var10 > var8) { // L: 4446 - --var10; - } - - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][var9][var10] & 4) != 0) { // L: 4447 - var6 = GameObject.Client_plane; - } - } - } - } else if (var12 > 0) { // L: 4451 - var13 = var11 * 65536 / var12; // L: 4452 - var14 = 32768; // L: 4453 - - while (var10 != var8) { // L: 4454 - if (var10 < var8) { // L: 4455 - ++var10; - } else if (var10 > var8) { // L: 4456 - --var10; - } - - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][var9][var10] & 4) != 0) { // L: 4457 - var6 = GameObject.Client_plane; - } - - var14 += var13; // L: 4458 - if (var14 >= 65536) { // L: 4459 - var14 -= 65536; // L: 4460 - if (var9 < var7) { // L: 4461 - ++var9; - } else if (var9 > var7) { // L: 4462 - --var9; - } - - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][var9][var10] & 4) != 0) { // L: 4463 - var6 = GameObject.Client_plane; - } - } - } - } - } - - if (PlayerComposition.localPlayer.x >= 0 && PlayerComposition.localPlayer.y >= 0 && PlayerComposition.localPlayer.x < 13312 && PlayerComposition.localPlayer.y < 13312) { // L: 4468 - if ((Tiles.Tiles_renderFlags[GameObject.Client_plane][PlayerComposition.localPlayer.x >> 7][PlayerComposition.localPlayer.y >> 7] & 4) != 0) { // L: 4472 - var6 = GameObject.Client_plane; - } - - var5 = var6; // L: 4473 - } else { - var5 = GameObject.Client_plane; // L: 4469 - } - } - } - - var28 = var5; // L: 4475 - } else { - var28 = WorldMapManager.method712(); // L: 4477 - } - - var5 = Player.cameraX; // L: 4478 - var6 = KeyHandler.cameraY; // L: 4479 - var7 = class69.cameraZ; // L: 4480 - var8 = Skeleton.cameraPitch; // L: 4481 - var9 = AbstractArchive.cameraYaw; // L: 4482 - - for (var10 = 0; var10 < 5; ++var10) { // L: 4483 - if (Client.field902[var10]) { // L: 4484 - var11 = (int)(Math.random() * (double)(Client.field679[var10] * 2 + 1) - (double)Client.field679[var10] + Math.sin((double)Client.field705[var10] / 100.0D * (double)Client.field644[var10]) * (double)Client.field893[var10]); // L: 4485 - if (var10 == 0) { // L: 4486 - Player.cameraX += var11; - } - - if (var10 == 1) { // L: 4487 - KeyHandler.cameraY += var11; - } - - if (var10 == 2) { // L: 4488 - class69.cameraZ += var11; - } - - if (var10 == 3) { // L: 4489 - AbstractArchive.cameraYaw = var11 + AbstractArchive.cameraYaw & 2047; - } - - if (var10 == 4) { // L: 4490 - Skeleton.cameraPitch += var11; // L: 4491 - if (Skeleton.cameraPitch < 128) { // L: 4492 - Skeleton.cameraPitch = 128; - } - - if (Skeleton.cameraPitch > 383) { // L: 4493 - Skeleton.cameraPitch = 383; - } - } - } - } - - var10 = MouseHandler.MouseHandler_x; // L: 4497 - var11 = MouseHandler.MouseHandler_y; // L: 4498 - if (MouseHandler.MouseHandler_lastButton != 0) { // L: 4499 - var10 = MouseHandler.MouseHandler_lastPressedX; // L: 4500 - var11 = MouseHandler.MouseHandler_lastPressedY; // L: 4501 - } - - if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { // L: 4503 - class3.method41(var10 - var0, var11 - var1); // L: 4504 - } else { - ViewportMouse.ViewportMouse_isInViewport = false; // L: 4508 - ViewportMouse.ViewportMouse_entityCount = 0; // L: 4509 - } - - FontName.playPcmPlayers(); // L: 4512 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); // L: 4513 - FontName.playPcmPlayers(); // L: 4514 - var12 = Rasterizer3D.Rasterizer3D_zoom; // L: 4515 - Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; // L: 4516 - ArchiveLoader.scene.draw(Player.cameraX, KeyHandler.cameraY, class69.cameraZ, Skeleton.cameraPitch, AbstractArchive.cameraYaw, var28); // L: 4517 - Rasterizer3D.Rasterizer3D_zoom = var12; // L: 4518 - FontName.playPcmPlayers(); // L: 4519 - ArchiveLoader.scene.clearTempGameObjects(); // L: 4520 - Client.overheadTextCount = 0; // L: 4522 - boolean var34 = false; // L: 4523 - var14 = -1; // L: 4524 - var15 = -1; // L: 4525 - var16 = Players.Players_count; // L: 4526 - int[] var29 = Players.Players_indices; // L: 4527 - - int var30; - for (var30 = 0; var30 < var16 + Client.npcCount; ++var30) { // L: 4528 - Object var32; - if (var30 < var16) { // L: 4530 - var32 = Client.players[var29[var30]]; // L: 4531 - if (var29[var30] == Client.combatTargetPlayerIndex) { // L: 4532 - var34 = true; // L: 4533 - var14 = var30; // L: 4534 - continue; - } - - if (var32 == PlayerComposition.localPlayer) { // L: 4537 - var15 = var30; // L: 4538 - continue; // L: 4539 - } - } else { - var32 = Client.npcs[Client.npcIndices[var30 - var16]]; // L: 4542 - } - - AbstractWorldMapIcon.drawActor2d((Actor)var32, var30, var0, var1, var2, var3); // L: 4543 - } - - if (Client.renderSelf && var15 != -1) { // L: 4545 - AbstractWorldMapIcon.drawActor2d(PlayerComposition.localPlayer, var15, var0, var1, var2, var3); // L: 4546 - } - - if (var34) { // L: 4548 - AbstractWorldMapIcon.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3); // L: 4549 - } - - for (var30 = 0; var30 < Client.overheadTextCount; ++var30) { // L: 4551 - int var19 = Client.overheadTextXs[var30]; // L: 4552 - int var20 = Client.overheadTextYs[var30]; // L: 4553 - int var21 = Client.overheadTextXOffsets[var30]; // L: 4554 - int var22 = Client.overheadTextAscents[var30]; // L: 4555 - boolean var23 = true; // L: 4556 - - while (var23) { - var23 = false; // L: 4558 - - for (int var31 = 0; var31 < var30; ++var31) { // L: 4559 - if (var20 + 2 > Client.overheadTextYs[var31] - Client.overheadTextAscents[var31] && var20 - var22 < Client.overheadTextYs[var31] + 2 && var19 - var21 < Client.overheadTextXOffsets[var31] + Client.overheadTextXs[var31] && var19 + var21 > Client.overheadTextXs[var31] - Client.overheadTextXOffsets[var31] && Client.overheadTextYs[var31] - Client.overheadTextAscents[var31] < var20) { // L: 4560 4561 - var20 = Client.overheadTextYs[var31] - Client.overheadTextAscents[var31]; // L: 4562 - var23 = true; // L: 4563 - } - } - } - - Client.viewportTempX = Client.overheadTextXs[var30]; // L: 4568 - Client.viewportTempY = Client.overheadTextYs[var30] = var20; // L: 4569 - String var24 = Client.overheadText[var30]; // L: 4570 - if (Client.chatEffects == 0) { // L: 4571 - int var25 = 16776960; // L: 4572 - if (Client.overheadTextColors[var30] < 6) { // L: 4573 - var25 = Client.field863[Client.overheadTextColors[var30]]; - } - - if (Client.overheadTextColors[var30] == 6) { // L: 4574 - var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; - } - - if (Client.overheadTextColors[var30] == 7) { // L: 4575 - var25 = Client.viewportDrawCount % 20 < 10 ? 255 : '\uffff'; - } - - if (Client.overheadTextColors[var30] == 8) { // L: 4576 - var25 = Client.viewportDrawCount % 20 < 10 ? '뀀' : 8454016; - } - - int var26; - if (Client.overheadTextColors[var30] == 9) { // L: 4577 - var26 = 150 - Client.overheadTextCyclesRemaining[var30]; // L: 4578 - if (var26 < 50) { // L: 4579 - var25 = var26 * 1280 + 16711680; - } else if (var26 < 100) { // L: 4580 - var25 = 16776960 - (var26 - 50) * 327680; - } else if (var26 < 150) { // L: 4581 - var25 = (var26 - 100) * 5 + 65280; - } - } - - if (Client.overheadTextColors[var30] == 10) { // L: 4583 - var26 = 150 - Client.overheadTextCyclesRemaining[var30]; // L: 4584 - if (var26 < 50) { // L: 4585 - var25 = var26 * 5 + 16711680; - } else if (var26 < 100) { // L: 4586 - var25 = 16711935 - (var26 - 50) * 327680; - } else if (var26 < 150) { // L: 4587 - var25 = (var26 - 100) * 327680 + 255 - (var26 - 100) * 5; - } - } - - if (Client.overheadTextColors[var30] == 11) { // L: 4589 - var26 = 150 - Client.overheadTextCyclesRemaining[var30]; // L: 4590 - if (var26 < 50) { // L: 4591 - var25 = 16777215 - var26 * 327685; - } else if (var26 < 100) { // L: 4592 - var25 = (var26 - 50) * 327685 + 65280; - } else if (var26 < 150) { // L: 4593 - var25 = 16777215 - (var26 - 100) * 327680; - } - } - - if (Client.overheadTextEffects[var30] == 0) { // L: 4595 - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); - } - - if (Client.overheadTextEffects[var30] == 1) { // L: 4596 - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCenteredWave(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var30] == 2) { // L: 4597 - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCenteredWave2(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); - } - - if (Client.overheadTextEffects[var30] == 3) { // L: 4598 - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCenteredShake(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var30]); - } - - if (Client.overheadTextEffects[var30] == 4) { // L: 4599 - var26 = (150 - Client.overheadTextCyclesRemaining[var30]) * (GrandExchangeOfferTotalQuantityComparator.fontBold12.stringWidth(var24) + 100) / 150; // L: 4600 - Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); // L: 4601 - GrandExchangeOfferTotalQuantityComparator.fontBold12.draw(var24, var0 + Client.viewportTempX + 50 - var26, Client.viewportTempY + var1, var25, 0); // L: 4602 - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); // L: 4603 - } - - if (Client.overheadTextEffects[var30] == 5) { // L: 4605 - var26 = 150 - Client.overheadTextCyclesRemaining[var30]; // L: 4606 - int var27 = 0; // L: 4607 - if (var26 < 25) { // L: 4608 - var27 = var26 - 25; - } else if (var26 > 125) { // L: 4609 - var27 = var26 - 125; - } - - Rasterizer2D.Rasterizer2D_expandClip(var0, Client.viewportTempY + var1 - GrandExchangeOfferTotalQuantityComparator.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); // L: 4610 - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); // L: 4611 - Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); // L: 4612 - } - } else { - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); // L: 4616 - } - } - - if (Client.hintArrowType == 2) { // L: 4621 - GrandExchangeOffer.worldToScreen((Client.hintArrowX - NetFileRequest.baseX << 7) + Client.hintArrowSubX, (Client.hintArrowY - class41.baseY << 7) + Client.hintArrowSubY, Client.hintArrowHeight * 2); // L: 4622 - if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { // L: 4623 - AbstractWorldMapIcon.headIconHintSpritePixels[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); - } - } - - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field850); // L: 4625 - class231.method4153(); // L: 4627 - Player.cameraX = var5; // L: 4629 - KeyHandler.cameraY = var6; // L: 4630 - class69.cameraZ = var7; // L: 4631 - Skeleton.cameraPitch = var8; // L: 4632 - AbstractArchive.cameraYaw = var9; // L: 4633 - if (Client.isLoading) { // L: 4634 - byte var35 = 0; // L: 4637 - var14 = var35 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; // L: 4638 - if (var14 == 0) { // L: 4642 - Client.isLoading = false; - } - } - - if (Client.isLoading) { // L: 4644 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); // L: 4645 - Varps.drawLoadingMessage("Loading - please wait.", false); // L: 4646 - } - - } // L: 4648 - - @ObfuscatedName("ho") - @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "1783095333" - ) - @Export("getTileHeight") - static final int getTileHeight(int var0, int var1, int var2) { - int var3 = var0 >> 7; // L: 5274 - int var4 = var1 >> 7; // L: 5275 - if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { // L: 5276 - int var5 = var2; // L: 5277 - if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { // L: 5278 - var5 = var2 + 1; - } - - int var6 = var0 & 127; // L: 5279 - int var7 = var1 & 127; // L: 5280 - int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + Tiles.Tiles_heights[var5][var3 + 1][var4] * var6 >> 7; // L: 5281 - int var9 = var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] + Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) >> 7; // L: 5282 - return var8 * (128 - var7) + var9 * var7 >> 7; // L: 5283 - } else { - return 0; - } - } + @ObfuscatedName("hu") + @ObfuscatedGetter( + intValue = 1859145773 + ) + @Export("cameraX") + static int cameraX; + @ObfuscatedName("n") + @Export("executor") + ExecutorService executor = Executors.newSingleThreadExecutor(); + @ObfuscatedName("v") + @Export("future") + Future future; + + SecureRandomFuture() { + this.future = this.executor.submit(new SecureRandomCallable()); + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "767065272" + ) + @Export("shutdown") + void shutdown() { + this.executor.shutdown(); + this.executor = null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(S)Z", + garbageValue = "10550" + ) + @Export("isDone") + boolean isDone() { + return this.future.isDone(); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)Ljava/security/SecureRandom;", + garbageValue = "0" + ) + @Export("get") + SecureRandom get() { + try { + return (SecureRandom)this.future.get(); + } catch (Exception var2) { + return class39.method643(); + } + } } diff --git a/runescape-client/src/main/java/SequenceDefinition.java b/runescape-client/src/main/java/SequenceDefinition.java index 561e3fb410..a50048f7e6 100644 --- a/runescape-client/src/main/java/SequenceDefinition.java +++ b/runescape-client/src/main/java/SequenceDefinition.java @@ -1,1145 +1,400 @@ -import java.awt.Toolkit; -import java.awt.datatransfer.Clipboard; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.Transferable; -import java.awt.datatransfer.UnsupportedFlavorException; -import java.io.IOException; +import java.io.DataInputStream; +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jy") +@ObfuscatedName("js") @Implements("SequenceDefinition") public class SequenceDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("SequenceDefinition_archive") - static AbstractArchive SequenceDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("SequenceDefinition_animationsArchive") - static AbstractArchive SequenceDefinition_animationsArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("SequenceDefinition_skeletonsArchive") - static AbstractArchive SequenceDefinition_skeletonsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("SequenceDefinition_cached") - public static EvictingDualNodeHashTable SequenceDefinition_cached; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("SequenceDefinition_cachedFrames") - public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames; - @ObfuscatedName("j") - @Export("frameIds") - public int[] frameIds; - @ObfuscatedName("n") - @Export("chatFrameIds") - int[] chatFrameIds; - @ObfuscatedName("p") - @Export("frameLengths") - public int[] frameLengths; - @ObfuscatedName("l") - @Export("soundEffects") - public int[] soundEffects; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -478695053 - ) - @Export("frameCount") - public int frameCount; - @ObfuscatedName("u") - int[] field3545; - @ObfuscatedName("e") - public boolean field3556; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 496670999 - ) - public int field3557; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 844319139 - ) - @Export("shield") - public int shield; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1836378725 - ) - @Export("weapon") - public int weapon; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -647894777 - ) - public int field3554; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -2080076169 - ) - public int field3560; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 2098241255 - ) - public int field3555; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 384491885 - ) - public int field3548; - - static { - SequenceDefinition_cached = new EvictingDualNodeHashTable(64); // L: 15 - SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); // L: 16 - } - - SequenceDefinition() { - this.frameCount = -1; // L: 21 - this.field3556 = false; // L: 23 - this.field3557 = 5; // L: 24 - this.shield = -1; // L: 25 - this.weapon = -1; // L: 26 - this.field3554 = 99; // L: 27 - this.field3560 = -1; // L: 28 - this.field3555 = -1; // L: 29 - this.field3548 = 2; // L: 30 - } // L: 32 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "-72" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 53 - if (var2 == 0) { // L: 54 - return; // L: 57 - } - - this.decodeNext(var1, var2); // L: 55 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "360291550" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - int var3; - int var4; - if (var2 == 1) { // L: 60 - var3 = var1.readUnsignedShort(); // L: 61 - this.frameLengths = new int[var3]; // L: 62 - - for (var4 = 0; var4 < var3; ++var4) { // L: 63 - this.frameLengths[var4] = var1.readUnsignedShort(); - } - - this.frameIds = new int[var3]; // L: 64 - - for (var4 = 0; var4 < var3; ++var4) { // L: 65 - this.frameIds[var4] = var1.readUnsignedShort(); - } - - for (var4 = 0; var4 < var3; ++var4) { // L: 66 - this.frameIds[var4] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 2) { // L: 68 - this.frameCount = var1.readUnsignedShort(); - } else if (var2 == 3) { // L: 69 - var3 = var1.readUnsignedByte(); // L: 70 - this.field3545 = new int[var3 + 1]; // L: 71 - - for (var4 = 0; var4 < var3; ++var4) { // L: 72 - this.field3545[var4] = var1.readUnsignedByte(); - } - - this.field3545[var3] = 9999999; // L: 73 - } else if (var2 == 4) { // L: 75 - this.field3556 = true; - } else if (var2 == 5) { // L: 76 - this.field3557 = var1.readUnsignedByte(); - } else if (var2 == 6) { // L: 77 - this.shield = var1.readUnsignedShort(); - } else if (var2 == 7) { // L: 78 - this.weapon = var1.readUnsignedShort(); - } else if (var2 == 8) { // L: 79 - this.field3554 = var1.readUnsignedByte(); - } else if (var2 == 9) { // L: 80 - this.field3560 = var1.readUnsignedByte(); - } else if (var2 == 10) { // L: 81 - this.field3555 = var1.readUnsignedByte(); - } else if (var2 == 11) { // L: 82 - this.field3548 = var1.readUnsignedByte(); - } else if (var2 == 12) { // L: 83 - var3 = var1.readUnsignedByte(); // L: 84 - this.chatFrameIds = new int[var3]; // L: 85 - - for (var4 = 0; var4 < var3; ++var4) { // L: 86 - this.chatFrameIds[var4] = var1.readUnsignedShort(); - } - - for (var4 = 0; var4 < var3; ++var4) { // L: 87 - this.chatFrameIds[var4] += var1.readUnsignedShort() << 16; - } - } else if (var2 == 13) { // L: 89 - var3 = var1.readUnsignedByte(); // L: 90 - this.soundEffects = new int[var3]; // L: 91 - - for (var4 = 0; var4 < var3; ++var4) { // L: 92 - this.soundEffects[var4] = var1.readMedium(); - } - } - - } // L: 95 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1714495810" - ) - @Export("postDecode") - void postDecode() { - if (this.field3560 == -1) { // L: 98 - if (this.field3545 != null) { // L: 99 - this.field3560 = 2; - } else { - this.field3560 = 0; // L: 100 - } - } - - if (this.field3555 == -1) { // L: 102 - if (this.field3545 != null) { // L: 103 - this.field3555 = 2; - } else { - this.field3555 = 0; // L: 104 - } - } - - } // L: 106 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Leh;IB)Leh;", - garbageValue = "17" - ) - @Export("transformActorModel") - public Model transformActorModel(Model var1, int var2) { - var2 = this.frameIds[var2]; // L: 109 - Frames var3 = ArchiveDiskAction.getFrames(var2 >> 16); // L: 110 - var2 &= 65535; // L: 111 - if (var3 == null) { - return var1.toSharedSequenceModel(true); // L: 112 - } else { - Model var4 = var1.toSharedSequenceModel(!var3.hasAlphaTransform(var2)); // L: 113 - var4.animate(var3, var2); // L: 114 - return var4; // L: 115 - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Leh;III)Leh;", - garbageValue = "-2055004440" - ) - @Export("transformObjectModel") - Model transformObjectModel(Model var1, int var2, int var3) { - var2 = this.frameIds[var2]; // L: 119 - Frames var4 = ArchiveDiskAction.getFrames(var2 >> 16); // L: 120 - var2 &= 65535; // L: 121 - if (var4 == null) { // L: 122 - return var1.toSharedSequenceModel(true); - } else { - Model var5 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var2)); // L: 123 - var3 &= 3; // L: 124 - if (var3 == 1) { // L: 125 - var5.rotateY270Ccw(); - } else if (var3 == 2) { // L: 126 - var5.rotateY180(); - } else if (var3 == 3) { // L: 127 - var5.rotateY90Ccw(); - } - - var5.animate(var4, var2); // L: 128 - if (var3 == 1) { // L: 129 - var5.rotateY90Ccw(); - } else if (var3 == 2) { // L: 130 - var5.rotateY180(); - } else if (var3 == 3) { // L: 131 - var5.rotateY270Ccw(); - } - - return var5; // L: 132 - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Leh;II)Leh;", - garbageValue = "-109933088" - ) - @Export("transformSpotAnimationModel") - Model transformSpotAnimationModel(Model var1, int var2) { - var2 = this.frameIds[var2]; // L: 136 - Frames var3 = ArchiveDiskAction.getFrames(var2 >> 16); // L: 137 - var2 &= 65535; // L: 138 - if (var3 == null) { - return var1.toSharedSpotAnimationModel(true); // L: 139 - } else { - Model var4 = var1.toSharedSpotAnimationModel(!var3.hasAlphaTransform(var2)); // L: 140 - var4.animate(var3, var2); // L: 141 - return var4; // L: 142 - } - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Leh;ILjy;IB)Leh;", - garbageValue = "-74" - ) - @Export("applyTransformations") - public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { - var2 = this.frameIds[var2]; // L: 146 - Frames var5 = ArchiveDiskAction.getFrames(var2 >> 16); // L: 147 - var2 &= 65535; // L: 148 - if (var5 == null) { // L: 149 - return var3.transformActorModel(var1, var4); - } else { - var4 = var3.frameIds[var4]; // L: 150 - Frames var6 = ArchiveDiskAction.getFrames(var4 >> 16); // L: 151 - var4 &= 65535; // L: 152 - Model var7; - if (var6 == null) { // L: 153 - var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2)); // L: 154 - var7.animate(var5, var2); // L: 155 - return var7; // L: 156 - } else { - var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2) & !var6.hasAlphaTransform(var4)); // L: 158 - var7.animate2(var5, var2, var6, var4, this.field3545); // L: 159 - return var7; // L: 160 - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Leh;IB)Leh;", - garbageValue = "4" - ) - @Export("transformWidgetModel") - public Model transformWidgetModel(Model var1, int var2) { - int var3 = this.frameIds[var2]; // L: 164 - Frames var4 = ArchiveDiskAction.getFrames(var3 >> 16); // L: 165 - var3 &= 65535; // L: 166 - if (var4 == null) { // L: 167 - return var1.toSharedSequenceModel(true); - } else { - Frames var5 = null; // L: 168 - int var6 = 0; // L: 169 - if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { // L: 170 - var6 = this.chatFrameIds[var2]; // L: 171 - var5 = ArchiveDiskAction.getFrames(var6 >> 16); // L: 172 - var6 &= 65535; // L: 173 - } - - Model var7; - if (var5 != null && var6 != 65535) { // L: 175 - var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); // L: 180 - var7.animate(var4, var3); // L: 181 - var7.animate(var5, var6); // L: 182 - return var7; // L: 183 - } else { - var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3)); // L: 176 - var7.animate(var4, var3); // L: 177 - return var7; // L: 178 - } - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Lbd;B)V", - garbageValue = "1" - ) - @Export("doCycleTitle") - static void doCycleTitle(GameEngine var0) { - int var2; - int var3; - int var4; - if (Login.worldSelectOpen) { // L: 248 - while (true) { - if (!GrandExchangeOfferNameComparator.isKeyDown()) { // L: 250 - if (MouseHandler.MouseHandler_lastButton != 1 && (UserComparator9.mouseCam || MouseHandler.MouseHandler_lastButton != 4)) { // L: 271 - break; - } - - int var1 = Login.xPadding + 280; // L: 272 - if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 273 - HealthBarDefinition.changeWorldSelectSorting(0, 0); // L: 274 - break; // L: 275 - } - - if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 277 - HealthBarDefinition.changeWorldSelectSorting(0, 1); // L: 278 - break; // L: 279 - } - - var2 = Login.xPadding + 390; // L: 281 - if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 282 - HealthBarDefinition.changeWorldSelectSorting(1, 0); // L: 283 - break; // L: 284 - } - - if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 286 - HealthBarDefinition.changeWorldSelectSorting(1, 1); // L: 287 - break; // L: 288 - } - - var3 = Login.xPadding + 500; // L: 290 - if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 291 - HealthBarDefinition.changeWorldSelectSorting(2, 0); // L: 292 - break; // L: 293 - } - - if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 295 - HealthBarDefinition.changeWorldSelectSorting(2, 1); // L: 296 - break; // L: 297 - } - - var4 = Login.xPadding + 610; // L: 299 - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 300 - HealthBarDefinition.changeWorldSelectSorting(3, 0); // L: 301 - break; // L: 302 - } - - if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { // L: 304 - HealthBarDefinition.changeWorldSelectSorting(3, 1); // L: 305 - break; // L: 306 - } - - if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { // L: 308 - Login.worldSelectOpen = false; // L: 310 - class25.leftTitleSprite.drawAt(Login.xPadding, 0); // L: 311 - class224.rightTitleSprite.drawAt(Login.xPadding + 382, 0); // L: 312 - class224.logoSprite.drawAt(Login.xPadding + 382 - class224.logoSprite.subWidth / 2, 18); // L: 313 - break; // L: 315 - } - - if (Login.hoveredWorldIndex != -1) { // L: 317 - World var5 = World.World_worlds[Login.hoveredWorldIndex]; // L: 318 - SecureRandomCallable.changeWorld(var5); // L: 319 - Login.worldSelectOpen = false; // L: 321 - class25.leftTitleSprite.drawAt(Login.xPadding, 0); // L: 322 - class224.rightTitleSprite.drawAt(Login.xPadding + 382, 0); // L: 323 - class224.logoSprite.drawAt(Login.xPadding + 382 - class224.logoSprite.subWidth / 2, 18); // L: 324 - } else { - if (Login.worldSelectPage > 0 && VerticalAlignment.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= VerticalAlignment.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= ModelData0.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ModelData0.canvasHeight / 2 + 50) { // L: 328 - --Login.worldSelectPage; // L: 329 - } - - if (Login.worldSelectPage < Login.worldSelectPagesCount && class8.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= IgnoreList.canvasWidth - class8.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= IgnoreList.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= ModelData0.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= ModelData0.canvasHeight / 2 + 50) { // L: 331 - ++Login.worldSelectPage; // L: 332 - } - } - break; - } - - if (StudioGame.field3135 == 13) { // L: 251 - Login.worldSelectOpen = false; // L: 253 - class25.leftTitleSprite.drawAt(Login.xPadding, 0); // L: 254 - class224.rightTitleSprite.drawAt(Login.xPadding + 382, 0); // L: 255 - class224.logoSprite.drawAt(Login.xPadding + 382 - class224.logoSprite.subWidth / 2, 18); // L: 256 - break; // L: 258 - } - - if (StudioGame.field3135 == 96) { // L: 260 - if (Login.worldSelectPage > 0 && VerticalAlignment.worldSelectLeftSprite != null) { // L: 261 - --Login.worldSelectPage; // L: 262 - } - } else if (StudioGame.field3135 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && class8.worldSelectRightSprite != null) { // L: 265 266 - ++Login.worldSelectPage; // L: 267 - } - } - - } else { - if ((MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { // L: 338 - Timer.clientPreferences.titleMusicDisabled = !Timer.clientPreferences.titleMusicDisabled; // L: 339 - GrandExchangeOffer.savePreferences(); // L: 340 - if (!Timer.clientPreferences.titleMusicDisabled) { // L: 341 - Archive var21 = class217.archive6; // L: 342 - var2 = var21.getGroupId("scape main"); // L: 344 - var3 = var21.getFileId(var2, ""); // L: 345 - Interpreter.method2082(var21, var2, var3, 255, false); // L: 346 - } else { - WorldMapRegion.method588(); // L: 349 - } - } - - if (Client.gameState != 5) { // L: 351 - if (-1L == Login.field1208) { // L: 352 - Login.field1208 = class298.currentTimeMillis() + 1000L; // L: 353 - } - - long var22 = class298.currentTimeMillis(); // L: 355 - boolean var33; - if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { // L: 358 - while (true) { - if (Client.archiveLoadersDone >= Client.archiveLoaders.size()) { // L: 362 - var33 = true; // L: 370 - break; - } - - ArchiveLoader var24 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone); // L: 363 - if (!var24.isLoaded()) { // L: 364 - var33 = false; // L: 365 - break; // L: 366 - } - - ++Client.archiveLoadersDone; // L: 368 - } - } else { - var33 = true; // L: 359 - } - - if (var33 && Login.field1209 == -1L) { // L: 372 373 - Login.field1209 = var22; // L: 374 - if (Login.field1209 > Login.field1208) { // L: 375 - Login.field1208 = Login.field1209; // L: 376 - } - } - - if (Client.gameState == 10 || Client.gameState == 11) { // L: 380 - if (Language.Language_EN == WorldMapScaleHandler.clientLanguage) { // L: 381 - if (MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { // L: 382 - var4 = Login.xPadding + 5; // L: 383 - short var25 = 463; // L: 384 - byte var6 = 100; // L: 385 - byte var7 = 35; // L: 386 - if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var6 + var4 && MouseHandler.MouseHandler_lastPressedY >= var25 && MouseHandler.MouseHandler_lastPressedY <= var25 + var7) { // L: 387 - if (GrandExchangeEvent.loadWorlds()) { // L: 389 - Login.worldSelectOpen = true; // L: 390 - Login.worldSelectPage = 0; // L: 391 - Login.worldSelectPagesCount = 0; // L: 392 - } - - return; // L: 395 - } - } - - if (World.World_request != null && GrandExchangeEvent.loadWorlds()) { // L: 398 399 - Login.worldSelectOpen = true; // L: 400 - Login.worldSelectPage = 0; // L: 401 - Login.worldSelectPagesCount = 0; // L: 402 - } - } - - var4 = MouseHandler.MouseHandler_lastButton; // L: 406 - int var44 = MouseHandler.MouseHandler_lastPressedX; // L: 407 - int var34 = MouseHandler.MouseHandler_lastPressedY; // L: 408 - if (var4 == 0) { // L: 409 - var44 = MouseHandler.MouseHandler_x; // L: 410 - var34 = MouseHandler.MouseHandler_y; // L: 411 - } - - if (!UserComparator9.mouseCam && var4 == 4) { // L: 413 - var4 = 1; - } - - short var37; - int var38; - if (Login.loginIndex == 0) { // L: 414 - boolean var42 = false; // L: 415 - - while (GrandExchangeOfferNameComparator.isKeyDown()) { // L: 416 - if (StudioGame.field3135 == 84) { // L: 417 - var42 = true; // L: 418 - } - } - - var38 = Login.loginBoxCenter - 80; // L: 421 - var37 = 291; // L: 422 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20) { // L: 423 - AttackOption.openURL(AbstractWorldMapIcon.method632("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); // L: 424 - } - - var38 = Login.loginBoxCenter + 80; // L: 426 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20 || var42) { // L: 427 - if ((Client.worldProperties & 33554432) != 0) { // L: 428 - Login.Login_response0 = ""; // L: 429 - Login.Login_response1 = "This is a Beta world."; // L: 430 - Login.Login_response2 = "Your normal account will not be affected."; // L: 431 - Login.Login_response3 = ""; // L: 432 - Login.loginIndex = 1; // L: 433 - if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { // L: 435 - Login.currentLoginField = 1; // L: 436 - } else { - Login.currentLoginField = 0; // L: 439 - } - } else if ((Client.worldProperties & 4) != 0) { // L: 443 - if ((Client.worldProperties & 1024) != 0) { // L: 444 - Login.Login_response1 = "This is a High Risk PvP world."; // L: 445 - Login.Login_response2 = "Players can attack each other almost everywhere"; // L: 446 - Login.Login_response3 = "and the Protect Item prayer won't work."; // L: 447 - } else { - Login.Login_response1 = "This is a PvP world."; // L: 450 - Login.Login_response2 = "Players can attack each other"; // L: 451 - Login.Login_response3 = "almost everywhere."; // L: 452 - } - - Login.Login_response0 = "Warning!"; // L: 454 - Login.loginIndex = 1; // L: 455 - Client.method1799(); // L: 456 - } else if ((Client.worldProperties & 1024) != 0) { // L: 458 - Login.Login_response1 = "This is a High Risk world."; // L: 459 - Login.Login_response2 = "The Protect Item prayer will"; // L: 460 - Login.Login_response3 = "not work on this world."; // L: 461 - Login.Login_response0 = "Warning!"; // L: 462 - Login.loginIndex = 1; // L: 463 - Client.method1799(); // L: 464 - } else { - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 467 - } - } - } else { - short var8; - int var35; - if (Login.loginIndex == 1) { // L: 471 - while (true) { - if (!GrandExchangeOfferNameComparator.isKeyDown()) { // L: 472 - var35 = Login.loginBoxCenter - 80; // L: 480 - var8 = 321; // L: 481 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 482 - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 483 - } - - var35 = Login.loginBoxCenter + 80; // L: 485 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 486 - Login.loginIndex = 0; // L: 487 - } - break; - } - - if (StudioGame.field3135 == 84) { // L: 473 - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 474 - } else if (StudioGame.field3135 == 13) { // L: 476 - Login.loginIndex = 0; // L: 477 - } - } - } else { - int var11; - short var36; - boolean var39; - if (Login.loginIndex == 2) { // L: 490 - var36 = 201; // L: 491 - var35 = var36 + 52; // L: 492 - if (var4 == 1 && var34 >= var35 - 12 && var34 < var35 + 2) { // L: 493 - Login.currentLoginField = 0; - } - - var35 += 15; // L: 494 - if (var4 == 1 && var34 >= var35 - 12 && var34 < var35 + 2) { // L: 495 - Login.currentLoginField = 1; - } - - var35 += 15; // L: 496 - var36 = 361; // L: 497 - if (GameEngine.field481 != null) { // L: 498 - var38 = GameEngine.field481.highX / 2; // L: 499 - if (var4 == 1 && var44 >= GameEngine.field481.lowX - var38 && var44 <= var38 + GameEngine.field481.lowX && var34 >= var36 - 15 && var34 < var36) { // L: 500 - switch(Login.field1190) { // L: 501 - case 1: - GameEngine.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); // L: 504 - Login.loginIndex = 5; // L: 505 - return; // L: 506 - case 2: - AttackOption.openURL("https://support.runescape.com/hc/en-gb", true, false); // L: 510 - } - } - } - - var38 = Login.loginBoxCenter - 80; // L: 516 - var37 = 321; // L: 517 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20) { // L: 518 - Login.Login_username = Login.Login_username.trim(); // L: 519 - if (Login.Login_username.length() == 0) { // L: 520 - GameEngine.setLoginResponseString("", "Please enter your username/email address.", ""); // L: 521 - return; // L: 522 - } - - if (Login.Login_password.length() == 0) { // L: 524 - GameEngine.setLoginResponseString("", "Please enter your password.", ""); // L: 525 - return; // L: 526 - } - - GameEngine.setLoginResponseString("", "Connecting to server...", ""); // L: 528 - WorldMapDecoration.method380(false); // L: 529 - WorldMapCacheName.updateGameState(20); // L: 530 - return; // L: 531 - } - - var38 = Login.loginBoxX + 180 + 80; // L: 533 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20) { // L: 534 - Login.loginIndex = 0; // L: 535 - Login.Login_username = ""; // L: 536 - Login.Login_password = ""; // L: 537 - WorldMapSection1.field313 = 0; // L: 538 - SecureRandomCallable.otp = ""; // L: 539 - Login.field1200 = true; // L: 540 - } - - var38 = Login.loginBoxCenter + -117; // L: 542 - var37 = 277; // L: 543 - Login.field1192 = var44 >= var38 && var44 < var38 + FriendSystem.field1071 && var34 >= var37 && var34 < var37 + Players.field1260; // L: 544 - if (var4 == 1 && Login.field1192) { // L: 545 - Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; // L: 546 - if (!Client.Login_isUsernameRemembered && Timer.clientPreferences.rememberedUsername != null) { // L: 547 - Timer.clientPreferences.rememberedUsername = null; // L: 548 - GrandExchangeOffer.savePreferences(); // L: 549 - } - } - - var38 = Login.loginBoxCenter + 24; // L: 552 - var37 = 277; // L: 553 - Login.field1180 = var44 >= var38 && var44 < var38 + FriendSystem.field1071 && var34 >= var37 && var34 < var37 + Players.field1260; // L: 554 - if (var4 == 1 && Login.field1180) { // L: 555 - Timer.clientPreferences.hideUsername = !Timer.clientPreferences.hideUsername; // L: 556 - if (!Timer.clientPreferences.hideUsername) { // L: 557 - Login.Login_username = ""; // L: 558 - Timer.clientPreferences.rememberedUsername = null; // L: 559 - Client.method1799(); // L: 560 - } - - GrandExchangeOffer.savePreferences(); // L: 562 - } - - while (true) { - int var12; - Transferable var27; - do { - while (true) { - label1161: - do { - while (true) { - while (GrandExchangeOfferNameComparator.isKeyDown()) { // L: 564 - if (StudioGame.field3135 != 13) { // L: 565 - if (Login.currentLoginField != 0) { // L: 574 - continue label1161; - } - - char var40 = WorldMapIcon_1.field200; // L: 575 - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length() && var40 != "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11); ++var11) { // L: 577 578 - } - - if (StudioGame.field3135 == 85 && Login.Login_username.length() > 0) { // L: 581 - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (StudioGame.field3135 == 84 || StudioGame.field3135 == 80) { // L: 582 - Login.currentLoginField = 1; - } - - if (Interpreter.method1995(WorldMapIcon_1.field200) && Login.Login_username.length() < 320) { // L: 583 - Login.Login_username = Login.Login_username + WorldMapIcon_1.field200; - } - } else { - Login.loginIndex = 0; // L: 566 - Login.Login_username = ""; // L: 567 - Login.Login_password = ""; // L: 568 - WorldMapSection1.field313 = 0; // L: 569 - SecureRandomCallable.otp = ""; // L: 570 - Login.field1200 = true; // L: 571 - } - } - - return; // L: 872 - } - } while(Login.currentLoginField != 1); // L: 585 - - if (StudioGame.field3135 == 85 && Login.Login_password.length() > 0) { // L: 586 - Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); // L: 587 - } else if (StudioGame.field3135 == 84 || StudioGame.field3135 == 80) { // L: 589 - Login.currentLoginField = 0; // L: 590 - if (StudioGame.field3135 == 84) { // L: 591 - Login.Login_username = Login.Login_username.trim(); // L: 592 - if (Login.Login_username.length() == 0) { // L: 593 - GameEngine.setLoginResponseString("", "Please enter your username/email address.", ""); // L: 594 - return; // L: 595 - } - - if (Login.Login_password.length() == 0) { // L: 597 - GameEngine.setLoginResponseString("", "Please enter your password.", ""); // L: 598 - return; // L: 599 - } - - GameEngine.setLoginResponseString("", "Connecting to server...", ""); // L: 601 - WorldMapDecoration.method380(false); // L: 602 - WorldMapCacheName.updateGameState(20); // L: 603 - return; // L: 604 - } - } - - if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && StudioGame.field3135 == 67) { // L: 607 - Clipboard var26 = Toolkit.getDefaultToolkit().getSystemClipboard(); // L: 608 - var27 = var26.getContents(WorldMapIcon_0.client); // L: 609 - var12 = 20 - Login.Login_password.length(); // L: 610 - break; - } - - char var41 = WorldMapIcon_1.field200; // L: 652 - if ((var41 < ' ' || var41 >= 127) && (var41 <= 127 || var41 >= 160) && (var41 <= 160 || var41 > 255)) { // L: 654 - label1364: { - if (var41 != 0) { // L: 658 - char[] var28 = class298.cp1252AsciiExtension; // L: 660 - - for (int var29 = 0; var29 < var28.length; ++var29) { // L: 661 - char var14 = var28[var29]; // L: 662 - if (var14 == var41) { // L: 664 - var39 = true; // L: 665 - break label1364; // L: 666 - } - } - } - - var39 = false; // L: 672 - } - } else { - var39 = true; // L: 655 - } - - if (var39 && Interpreter.method1995(WorldMapIcon_1.field200) && Login.Login_password.length() < 20) { // L: 674 - Login.Login_password = Login.Login_password + WorldMapIcon_1.field200; // L: 675 - } - } - } while(var12 <= 0); // L: 611 - - try { - String var13 = (String)var27.getTransferData(DataFlavor.stringFlavor); // L: 613 - int var43 = Math.min(var12, var13.length()); // L: 614 - - for (int var15 = 0; var15 < var43; ++var15) { // L: 615 - char var17 = var13.charAt(var15); // L: 617 - boolean var16; - if (var17 >= ' ' && var17 < 127 || var17 > 127 && var17 < 160 || var17 > 160 && var17 <= 255) { // L: 619 - var16 = true; // L: 620 - } else { - label1378: { - if (var17 != 0) { // L: 623 - char[] var18 = class298.cp1252AsciiExtension; // L: 625 - - for (int var19 = 0; var19 < var18.length; ++var19) { // L: 626 - char var20 = var18[var19]; // L: 627 - if (var17 == var20) { // L: 629 - var16 = true; // L: 630 - break label1378; // L: 631 - } - } - } - - var16 = false; // L: 637 - } - } - - if (!var16 || !Interpreter.method1995(var13.charAt(var15))) { // L: 639 - Login.loginIndex = 3; // L: 640 - return; // L: 641 - } - } - - Login.Login_password = Login.Login_password + var13.substring(0, var43); // L: 644 - } catch (UnsupportedFlavorException var31) { // L: 646 - } catch (IOException var32) { // L: 647 - } - } - } else if (Login.loginIndex == 3) { // L: 682 - var35 = Login.loginBoxX + 180; // L: 683 - var8 = 276; // L: 684 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 685 - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 686 - } - - var35 = Login.loginBoxX + 180; // L: 688 - var8 = 326; // L: 689 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 690 - GameEngine.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); // L: 691 - Login.loginIndex = 5; // L: 692 - return; // L: 693 - } - } else { - int var10; - if (Login.loginIndex == 4) { // L: 696 - var35 = Login.loginBoxX + 180 - 80; // L: 697 - var8 = 321; // L: 698 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 699 - SecureRandomCallable.otp.trim(); // L: 700 - if (SecureRandomCallable.otp.length() != 6) { // L: 701 - GameEngine.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); // L: 702 - return; // L: 703 - } - - WorldMapSection1.field313 = Integer.parseInt(SecureRandomCallable.otp); // L: 705 - SecureRandomCallable.otp = ""; // L: 706 - WorldMapDecoration.method380(true); // L: 707 - GameEngine.setLoginResponseString("", "Connecting to server...", ""); // L: 708 - WorldMapCacheName.updateGameState(20); // L: 709 - return; // L: 710 - } - - if (var4 == 1 && var44 >= Login.loginBoxX + 180 - 9 && var44 <= Login.loginBoxX + 180 + 130 && var34 >= 263 && var34 <= 296) { // L: 712 - Login.field1200 = !Login.field1200; // L: 713 - } - - if (var4 == 1 && var44 >= Login.loginBoxX + 180 - 34 && var44 <= Login.loginBoxX + 34 + 180 && var34 >= 351 && var34 <= 363) { // L: 715 - AttackOption.openURL(AbstractWorldMapIcon.method632("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); // L: 716 - } - - var35 = Login.loginBoxX + 180 + 80; // L: 718 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 719 - Login.loginIndex = 0; // L: 720 - Login.Login_username = ""; // L: 721 - Login.Login_password = ""; // L: 722 - WorldMapSection1.field313 = 0; // L: 723 - SecureRandomCallable.otp = ""; // L: 724 - } - - while (GrandExchangeOfferNameComparator.isKeyDown()) { // L: 726 - boolean var9 = false; // L: 727 - - for (var10 = 0; var10 < "1234567890".length(); ++var10) { // L: 728 - if (WorldMapIcon_1.field200 == "1234567890".charAt(var10)) { // L: 729 - var9 = true; // L: 730 - break; // L: 731 - } - } - - if (StudioGame.field3135 == 13) { // L: 734 - Login.loginIndex = 0; // L: 735 - Login.Login_username = ""; // L: 736 - Login.Login_password = ""; // L: 737 - WorldMapSection1.field313 = 0; // L: 738 - SecureRandomCallable.otp = ""; // L: 739 - } else { - if (StudioGame.field3135 == 85 && SecureRandomCallable.otp.length() > 0) { // L: 742 - SecureRandomCallable.otp = SecureRandomCallable.otp.substring(0, SecureRandomCallable.otp.length() - 1); - } - - if (StudioGame.field3135 == 84) { // L: 743 - SecureRandomCallable.otp.trim(); // L: 744 - if (SecureRandomCallable.otp.length() != 6) { // L: 745 - GameEngine.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); // L: 746 - return; // L: 747 - } - - WorldMapSection1.field313 = Integer.parseInt(SecureRandomCallable.otp); // L: 749 - SecureRandomCallable.otp = ""; // L: 750 - WorldMapDecoration.method380(true); // L: 751 - GameEngine.setLoginResponseString("", "Connecting to server...", ""); // L: 752 - WorldMapCacheName.updateGameState(20); // L: 753 - return; // L: 754 - } - - if (var9 && SecureRandomCallable.otp.length() < 6) { // L: 756 - SecureRandomCallable.otp = SecureRandomCallable.otp + WorldMapIcon_1.field200; - } - } - } - } else if (Login.loginIndex == 5) { // L: 760 - var35 = Login.loginBoxX + 180 - 80; // L: 761 - var8 = 321; // L: 762 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 763 - class7.method83(); // L: 764 - return; // L: 765 - } - - var35 = Login.loginBoxX + 180 + 80; // L: 767 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 768 - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 769 - } - - var37 = 361; // L: 771 - if (GrandExchangeOfferOwnWorldComparator.field643 != null) { // L: 772 - var10 = GrandExchangeOfferOwnWorldComparator.field643.highX / 2; // L: 773 - if (var4 == 1 && var44 >= GrandExchangeOfferOwnWorldComparator.field643.lowX - var10 && var44 <= var10 + GrandExchangeOfferOwnWorldComparator.field643.lowX && var34 >= var37 - 15 && var34 < var37) { // L: 774 - AttackOption.openURL(AbstractWorldMapIcon.method632("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); // L: 775 - } - } - - while (GrandExchangeOfferNameComparator.isKeyDown()) { // L: 778 - var39 = false; // L: 779 - - for (var11 = 0; var11 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var11) { // L: 780 - if (WorldMapIcon_1.field200 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var11)) { // L: 781 - var39 = true; // L: 782 - break; // L: 783 - } - } - - if (StudioGame.field3135 == 13) { // L: 786 - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 787 - } else { - if (StudioGame.field3135 == 85 && Login.Login_username.length() > 0) { // L: 790 - Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); - } - - if (StudioGame.field3135 == 84) { // L: 791 - class7.method83(); // L: 792 - return; // L: 793 - } - - if (var39 && Login.Login_username.length() < 320) { // L: 795 - Login.Login_username = Login.Login_username + WorldMapIcon_1.field200; - } - } - } - } else if (Login.loginIndex != 6) { // L: 799 - if (Login.loginIndex == 7) { // L: 810 - var35 = Login.loginBoxX + 180 - 80; // L: 811 - var8 = 321; // L: 812 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 813 - AttackOption.openURL(AbstractWorldMapIcon.method632("secure", true) + "m=dob/set_dob.ws", true, false); // L: 814 - GameEngine.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); // L: 815 - Login.loginIndex = 6; // L: 816 - return; // L: 817 - } - - var35 = Login.loginBoxX + 180 + 80; // L: 819 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 820 - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 821 - } - } else if (Login.loginIndex == 8) { // L: 824 - var35 = Login.loginBoxX + 180 - 80; // L: 825 - var8 = 321; // L: 826 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 827 - AttackOption.openURL("https://www.jagex.com/terms/privacy", true, false); // L: 828 - GameEngine.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); // L: 829 - Login.loginIndex = 6; // L: 830 - return; // L: 831 - } - - var35 = Login.loginBoxX + 180 + 80; // L: 833 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 834 - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 835 - } - } else if (Login.loginIndex == 12) { // L: 838 - String var30 = ""; // L: 839 - switch(Login.field1199) { // L: 840 - case 0: - var30 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; // L: 842 - break; // L: 843 - case 1: - var30 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; // L: 848 - break; - default: - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 845 - } - - var38 = Login.loginBoxX + 180; // L: 851 - var37 = 276; // L: 852 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20) { // L: 853 - AttackOption.openURL(var30, true, false); // L: 854 - GameEngine.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); // L: 855 - Login.loginIndex = 6; // L: 856 - return; // L: 857 - } - - var38 = Login.loginBoxX + 180; // L: 859 - var37 = 326; // L: 860 - if (var4 == 1 && var44 >= var38 - 75 && var44 <= var38 + 75 && var34 >= var37 - 20 && var34 <= var37 + 20) { // L: 861 - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 862 - } - } else if (Login.loginIndex == 24) { // L: 865 - var35 = Login.loginBoxX + 180; // L: 866 - var8 = 301; // L: 867 - if (var4 == 1 && var44 >= var35 - 75 && var44 <= var35 + 75 && var34 >= var8 - 20 && var34 <= var8 + 20) { // L: 868 - AbstractWorldMapIcon.Login_promptCredentials(false); // L: 869 - } - } - } else { - while (true) { - do { - if (!GrandExchangeOfferNameComparator.isKeyDown()) { // L: 800 - var36 = 321; // L: 805 - if (var4 == 1 && var34 >= var36 - 20 && var34 <= var36 + 20) { // L: 806 - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 807 - } - - return; - } - } while(StudioGame.field3135 != 84 && StudioGame.field3135 != 13); // L: 801 - - AbstractWorldMapIcon.Login_promptCredentials(true); // L: 802 - } - } - } - } - } - - } - } - } - } // L: 336 - - @ObfuscatedName("jw") - @ObfuscatedSignature( - descriptor = "(Lhe;IIIIIII)V", - garbageValue = "1825223582" - ) - static final void method4797(Widget var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (Client.field692) { // L: 9532 - Client.alternativeScrollbarWidth = 32; - } else { - Client.alternativeScrollbarWidth = 0; // L: 9533 - } - - Client.field692 = false; // L: 9534 - int var7; - if (MouseHandler.MouseHandler_currentButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_currentButton == 4) { // L: 9535 - if (var5 >= var1 && var5 < var1 + 16 && var6 >= var2 && var6 < var2 + 16) { // L: 9536 - var0.scrollY -= 4; // L: 9537 - CollisionMap.invalidateWidget(var0); // L: 9538 - } else if (var5 >= var1 && var5 < var1 + 16 && var6 >= var3 + var2 - 16 && var6 < var3 + var2) { // L: 9540 - var0.scrollY += 4; // L: 9541 - CollisionMap.invalidateWidget(var0); // L: 9542 - } else if (var5 >= var1 - Client.alternativeScrollbarWidth && var5 < Client.alternativeScrollbarWidth + var1 + 16 && var6 >= var2 + 16 && var6 < var3 + var2 - 16) { // L: 9544 - var7 = var3 * (var3 - 32) / var4; // L: 9545 - if (var7 < 8) { // L: 9546 - var7 = 8; - } - - int var8 = var6 - var2 - 16 - var7 / 2; // L: 9547 - int var9 = var3 - 32 - var7; // L: 9548 - var0.scrollY = var8 * (var4 - var3) / var9; // L: 9549 - CollisionMap.invalidateWidget(var0); // L: 9550 - Client.field692 = true; // L: 9551 - } - } - - if (Client.mouseWheelRotation != 0) { // L: 9554 - var7 = var0.width; // L: 9555 - if (var5 >= var1 - var7 && var6 >= var2 && var5 < var1 + 16 && var6 <= var3 + var2) { // L: 9556 - var0.scrollY += Client.mouseWheelRotation * 45; // L: 9557 - CollisionMap.invalidateWidget(var0); // L: 9558 - } - } - - } // L: 9561 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("SequenceDefinition_archive") + static AbstractArchive SequenceDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("SequenceDefinition_animationsArchive") + static AbstractArchive SequenceDefinition_animationsArchive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("SequenceDefinition_skeletonsArchive") + static AbstractArchive SequenceDefinition_skeletonsArchive; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("SequenceDefinition_cached") + public static EvictingDualNodeHashTable SequenceDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("SequenceDefinition_cachedFrames") + public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100); + @ObfuscatedName("h") + @Export("frameIds") + public int[] frameIds; + @ObfuscatedName("z") + @Export("chatFrameIds") + int[] chatFrameIds; + @ObfuscatedName("e") + @Export("frameLengths") + public int[] frameLengths; + @ObfuscatedName("q") + @Export("soundEffects") + public int[] soundEffects; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1919989745 + ) + @Export("frameCount") + public int frameCount = -1; + @ObfuscatedName("s") + int[] field3552; + @ObfuscatedName("b") + public boolean field3559 = false; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 784302735 + ) + public int field3560 = 5; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1358417643 + ) + @Export("shield") + public int shield = -1; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -625225869 + ) + @Export("weapon") + public int weapon = -1; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1105922697 + ) + public int field3563 = 99; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -1806231631 + ) + public int field3564 = -1; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = 1659033173 + ) + public int field3565 = -1; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 674051905 + ) + public int field3548 = 2; + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1298412871" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } + + this.decodeNext(var1, var2); + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-1464269067" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + int var3; + int var4; + if (var2 == 1) { + var3 = var1.readUnsignedShort(); + this.frameLengths = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.frameLengths[var4] = var1.readUnsignedShort(); + } + + this.frameIds = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.frameIds[var4] = var1.readUnsignedShort(); + } + + for(var4 = 0; var4 < var3; ++var4) { + this.frameIds[var4] += var1.readUnsignedShort() << 16; + } + } else if (var2 == 2) { + this.frameCount = var1.readUnsignedShort(); + } else if (var2 == 3) { + var3 = var1.readUnsignedByte(); + this.field3552 = new int[var3 + 1]; + + for(var4 = 0; var4 < var3; ++var4) { + this.field3552[var4] = var1.readUnsignedByte(); + } + + this.field3552[var3] = 9999999; + } else if (var2 == 4) { + this.field3559 = true; + } else if (var2 == 5) { + this.field3560 = var1.readUnsignedByte(); + } else if (var2 == 6) { + this.shield = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.weapon = var1.readUnsignedShort(); + } else if (var2 == 8) { + this.field3563 = var1.readUnsignedByte(); + } else if (var2 == 9) { + this.field3564 = var1.readUnsignedByte(); + } else if (var2 == 10) { + this.field3565 = var1.readUnsignedByte(); + } else if (var2 == 11) { + this.field3548 = var1.readUnsignedByte(); + } else if (var2 == 12) { + var3 = var1.readUnsignedByte(); + this.chatFrameIds = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.chatFrameIds[var4] = var1.readUnsignedShort(); + } + + for(var4 = 0; var4 < var3; ++var4) { + this.chatFrameIds[var4] += var1.readUnsignedShort() << 16; + } + } else if (var2 == 13) { + var3 = var1.readUnsignedByte(); + this.soundEffects = new int[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + this.soundEffects[var4] = var1.readMedium(); + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-49" + ) + @Export("postDecode") + void postDecode() { + if (this.field3564 == -1) { + if (this.field3552 != null) { + this.field3564 = 2; + } else { + this.field3564 = 0; + } + } + + if (this.field3565 == -1) { + if (this.field3552 != null) { + this.field3565 = 2; + } else { + this.field3565 = 0; + } + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lef;II)Lef;", + garbageValue = "2114263360" + ) + @Export("transformActorModel") + public Model transformActorModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = ClientPreferences.getFrames(var2 >> 16); + var2 &= 65535; + if (var3 == null) { + return var1.toSharedSequenceModel(true); + } else { + Model var4 = var1.toSharedSequenceModel(!var3.hasAlphaTransform(var2)); + var4.animate(var3, var2); + return var4; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lef;IIS)Lef;", + garbageValue = "-75" + ) + @Export("transformObjectModel") + Model transformObjectModel(Model var1, int var2, int var3) { + var2 = this.frameIds[var2]; + Frames var4 = ClientPreferences.getFrames(var2 >> 16); + var2 &= 65535; + if (var4 == null) { + return var1.toSharedSequenceModel(true); + } else { + Model var5 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var2)); + var3 &= 3; + if (var3 == 1) { + var5.rotateY270Ccw(); + } else if (var3 == 2) { + var5.rotateY180(); + } else if (var3 == 3) { + var5.rotateY90Ccw(); + } + + var5.animate(var4, var2); + if (var3 == 1) { + var5.rotateY90Ccw(); + } else if (var3 == 2) { + var5.rotateY180(); + } else if (var3 == 3) { + var5.rotateY270Ccw(); + } + + return var5; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Lef;IB)Lef;", + garbageValue = "26" + ) + @Export("transformSpotAnimationModel") + Model transformSpotAnimationModel(Model var1, int var2) { + var2 = this.frameIds[var2]; + Frames var3 = ClientPreferences.getFrames(var2 >> 16); + var2 &= 65535; + if (var3 == null) { + return var1.toSharedSpotAnimationModel(true); + } else { + Model var4 = var1.toSharedSpotAnimationModel(!var3.hasAlphaTransform(var2)); + var4.animate(var3, var2); + return var4; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lef;ILjs;II)Lef;", + garbageValue = "-1897802113" + ) + @Export("applyTransformations") + public Model applyTransformations(Model var1, int var2, SequenceDefinition var3, int var4) { + var2 = this.frameIds[var2]; + Frames var5 = ClientPreferences.getFrames(var2 >> 16); + var2 &= 65535; + if (var5 == null) { + return var3.transformActorModel(var1, var4); + } else { + var4 = var3.frameIds[var4]; + Frames var6 = ClientPreferences.getFrames(var4 >> 16); + var4 &= 65535; + Model var7; + if (var6 == null) { + var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2)); + var7.animate(var5, var2); + return var7; + } else { + var7 = var1.toSharedSequenceModel(!var5.hasAlphaTransform(var2) & !var6.hasAlphaTransform(var4)); + var7.animate2(var5, var2, var6, var4, this.field3552); + return var7; + } + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lef;II)Lef;", + garbageValue = "620650049" + ) + @Export("transformWidgetModel") + public Model transformWidgetModel(Model var1, int var2) { + int var3 = this.frameIds[var2]; + Frames var4 = ClientPreferences.getFrames(var3 >> 16); + var3 &= 65535; + if (var4 == null) { + return var1.toSharedSequenceModel(true); + } else { + Frames var5 = null; + int var6 = 0; + if (this.chatFrameIds != null && var2 < this.chatFrameIds.length) { + var6 = this.chatFrameIds[var2]; + var5 = ClientPreferences.getFrames(var6 >> 16); + var6 &= 65535; + } + + Model var7; + if (var5 != null && var6 != 65535) { + var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3) & !var5.hasAlphaTransform(var6)); + var7.animate(var4, var3); + var7.animate(var5, var6); + return var7; + } else { + var7 = var1.toSharedSequenceModel(!var4.hasAlphaTransform(var3)); + var7.animate(var4, var3); + return var7; + } + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/Throwable;B)V", + garbageValue = "-109" + ) + @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 = class238.method4334(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=" + class1.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + class217.clientType + "&e=" + var2); + DataInputStream var4 = new DataInputStream(var3.openStream()); + var4.read(); + var4.close(); + } catch (Exception var5) { + ; + } + + } + } } diff --git a/runescape-client/src/main/java/ServerPacket.java b/runescape-client/src/main/java/ServerPacket.java index 5cef7ec868..3e6c4eca10 100644 --- a/runescape-client/src/main/java/ServerPacket.java +++ b/runescape-client/src/main/java/ServerPacket.java @@ -4,641 +4,490 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gt") +@ObfuscatedName("gb") @Implements("ServerPacket") public class ServerPacket { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2179; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2202; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2141; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2142; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2143; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2144; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2201; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2146; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2182; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2148; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2200; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2150; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2190; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2152; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2139; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2188; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2155; - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2156; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2163; - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2158; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2159; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2160; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2161; - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2162; - @ObfuscatedName("k") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2218; - @ObfuscatedName("d") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2164; - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2165; - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2192; - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2167; - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2212; - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2208; - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2170; - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2171; - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2172; - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2173; - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2174; - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2175; - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2176; - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2140; - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2178; - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2151; - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2180; - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2181; - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2157; - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2166; - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2184; - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2197; - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2186; - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2149; - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2214; - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2189; - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2209; - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2191; - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2145; - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2183; - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2194; - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2195; - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2196; - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2215; - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2198; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2177; - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2207; - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2154; - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2153; - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2203; - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2204; - @ObfuscatedName("bw") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2205; - @ObfuscatedName("bo") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2169; - @ObfuscatedName("bj") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2206; - @ObfuscatedName("bu") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2185; - @ObfuscatedName("bt") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2187; - @ObfuscatedName("bb") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2210; - @ObfuscatedName("bv") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2211; - @ObfuscatedName("bg") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2193; - @ObfuscatedName("ba") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2213; - @ObfuscatedName("bq") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2168; - @ObfuscatedName("be") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2199; - @ObfuscatedName("bp") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2216; - @ObfuscatedName("cx") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2217; - @ObfuscatedName("ci") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2147; - @ObfuscatedName("cj") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2219; - @ObfuscatedName("ca") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2220; - @ObfuscatedName("cd") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2221; - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2222; - @ObfuscatedName("cz") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2223; - @ObfuscatedName("cc") - @ObfuscatedSignature( - descriptor = "Lgt;" - ) - public static final ServerPacket field2224; - @ObfuscatedName("ce") - @ObfuscatedGetter( - intValue = -61586593 - ) - @Export("id") - public final int id; - @ObfuscatedName("cb") - @ObfuscatedGetter( - intValue = 875851551 - ) - @Export("length") - public final int length; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2172 = new ServerPacket(0, 3); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2205 = new ServerPacket(1, 6); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2143 = new ServerPacket(2, -2); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2144 = new ServerPacket(3, 0); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2153 = new ServerPacket(4, 5); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2146 = new ServerPacket(5, -2); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2147 = new ServerPacket(6, 6); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2210 = new ServerPacket(7, 8); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2149 = new ServerPacket(8, 10); + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2195 = new ServerPacket(9, -2); + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2151 = new ServerPacket(10, 0); + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2141 = new ServerPacket(11, 6); + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2198 = new ServerPacket(12, 4); + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2154 = new ServerPacket(13, -2); + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2155 = new ServerPacket(14, 6); + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2156 = new ServerPacket(15, -2); + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2157 = new ServerPacket(16, 6); + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2158 = new ServerPacket(17, 7); + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2159 = new ServerPacket(18, -2); + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2160 = new ServerPacket(19, -2); + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2161 = new ServerPacket(20, 1); + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2207 = new ServerPacket(21, 6); + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2163 = new ServerPacket(22, 5); + @ObfuscatedName("r") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2152 = new ServerPacket(23, 1); + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2165 = new ServerPacket(24, 6); + @ObfuscatedName("j") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2166 = new ServerPacket(25, 8); + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2145 = new ServerPacket(26, 1); + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2184 = new ServerPacket(27, 28); + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2169 = new ServerPacket(28, 6); + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2170 = new ServerPacket(29, 10); + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2188 = new ServerPacket(30, 0); + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2164 = new ServerPacket(31, 6); + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2173 = new ServerPacket(32, -2); + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2174 = new ServerPacket(33, 4); + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2175 = new ServerPacket(34, 7); + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2176 = new ServerPacket(35, -2); + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2177 = new ServerPacket(36, 4); + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2178 = new ServerPacket(37, 0); + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2168 = new ServerPacket(38, 2); + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2171 = new ServerPacket(39, -1); + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2181 = new ServerPacket(40, -2); + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2182 = new ServerPacket(41, 2); + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2183 = new ServerPacket(42, 5); + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2203 = new ServerPacket(43, 2); + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2185 = new ServerPacket(44, 2); + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2150 = new ServerPacket(45, 4); + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2224 = new ServerPacket(46, 2); + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2221 = new ServerPacket(47, -2); + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2189 = new ServerPacket(48, 2); + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2190 = new ServerPacket(49, 6); + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2216 = new ServerPacket(50, 8); + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2186 = new ServerPacket(51, 0); + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2193 = new ServerPacket(52, 1); + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2194 = new ServerPacket(53, -2); + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2202 = new ServerPacket(54, 8); + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2196 = new ServerPacket(55, -1); + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2197 = new ServerPacket(56, 20); + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2191 = new ServerPacket(57, -1); + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2199 = new ServerPacket(58, -2); + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2200 = new ServerPacket(59, -2); + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2206 = new ServerPacket(60, 5); + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2192 = new ServerPacket(61, 4); + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2220 = new ServerPacket(62, 4); + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2204 = new ServerPacket(63, -2); + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2226 = new ServerPacket(64, -2); + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2167 = new ServerPacket(65, 5); + @ObfuscatedName("bg") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2215 = new ServerPacket(66, -2); + @ObfuscatedName("bm") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2208 = new ServerPacket(67, 0); + @ObfuscatedName("bf") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2209 = new ServerPacket(68, 12); + @ObfuscatedName("be") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2179 = new ServerPacket(69, -2); + @ObfuscatedName("bs") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2211 = new ServerPacket(70, 0); + @ObfuscatedName("by") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2212 = new ServerPacket(71, 6); + @ObfuscatedName("bb") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2213 = new ServerPacket(72, 14); + @ObfuscatedName("bd") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2214 = new ServerPacket(73, -1); + @ObfuscatedName("ba") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2142 = new ServerPacket(74, -2); + @ObfuscatedName("bk") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2148 = new ServerPacket(75, 2); + @ObfuscatedName("bu") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2217 = new ServerPacket(76, 4); + @ObfuscatedName("bo") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2218 = new ServerPacket(77, 15); + @ObfuscatedName("cv") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2219 = new ServerPacket(78, 2); + @ObfuscatedName("cd") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2187 = new ServerPacket(79, -1); + @ObfuscatedName("cq") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2201 = new ServerPacket(80, 1); + @ObfuscatedName("cb") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2180 = new ServerPacket(81, 2); + @ObfuscatedName("cf") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2223 = new ServerPacket(82, 1); + @ObfuscatedName("cp") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2162 = new ServerPacket(83, -1); + @ObfuscatedName("ck") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2225 = new ServerPacket(84, 2); + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "Lgb;" + ) + public static final ServerPacket field2222 = new ServerPacket(85, 3); + @ObfuscatedName("cj") + @ObfuscatedGetter( + intValue = 2010770863 + ) + @Export("id") + public final int id; + @ObfuscatedName("cr") + @ObfuscatedGetter( + intValue = -355482847 + ) + @Export("length") + public final int length; - static { - field2179 = new ServerPacket(0, 28); // L: 5 - field2202 = new ServerPacket(1, -2); // L: 6 - field2141 = new ServerPacket(2, -1); // L: 7 - field2142 = new ServerPacket(3, -2); // L: 8 - field2143 = new ServerPacket(4, -2); - field2144 = new ServerPacket(5, 6); // L: 10 - field2201 = new ServerPacket(6, 0); // L: 11 - field2146 = new ServerPacket(7, 4); // L: 12 - field2182 = new ServerPacket(8, 6); // L: 13 - field2148 = new ServerPacket(9, 0); // L: 14 - field2200 = new ServerPacket(10, 2); // L: 15 - field2150 = new ServerPacket(11, 4); // L: 16 - field2190 = new ServerPacket(12, 6); // L: 17 - field2152 = new ServerPacket(13, 5); // L: 18 - field2139 = new ServerPacket(14, -1); // L: 19 - field2188 = new ServerPacket(15, 5); // L: 20 - field2155 = new ServerPacket(16, 8); // L: 21 - field2156 = new ServerPacket(17, 15); // L: 22 - field2163 = new ServerPacket(18, 6); // L: 23 - field2158 = new ServerPacket(19, 2); // L: 24 - field2159 = new ServerPacket(20, -2); // L: 25 - field2160 = new ServerPacket(21, 4); // L: 26 - field2161 = new ServerPacket(22, 8); // L: 27 - field2162 = new ServerPacket(23, -2); // L: 28 - field2218 = new ServerPacket(24, 8); // L: 29 - field2164 = new ServerPacket(25, 14); // L: 30 - field2165 = new ServerPacket(26, 4); // L: 31 - field2192 = new ServerPacket(27, -1); - field2167 = new ServerPacket(28, 0); - field2212 = new ServerPacket(29, 7); - field2208 = new ServerPacket(30, 2); // L: 35 - field2170 = new ServerPacket(31, 6); // L: 36 - field2171 = new ServerPacket(32, 4); // L: 37 - field2172 = new ServerPacket(33, 2); // L: 38 - field2173 = new ServerPacket(34, 0); // L: 39 - field2174 = new ServerPacket(35, 20); // L: 40 - field2175 = new ServerPacket(36, -2); // L: 41 - field2176 = new ServerPacket(37, -2); // L: 42 - field2140 = new ServerPacket(38, -2); // L: 43 - field2178 = new ServerPacket(39, 2); // L: 44 - field2151 = new ServerPacket(40, 6); // L: 45 - field2180 = new ServerPacket(41, 1); // L: 46 - field2181 = new ServerPacket(42, 5); // L: 47 - field2157 = new ServerPacket(43, -2); // L: 48 - field2166 = new ServerPacket(44, 1); // L: 49 - field2184 = new ServerPacket(45, -2); // L: 50 - field2197 = new ServerPacket(46, 10); // L: 51 - field2186 = new ServerPacket(47, 2); // L: 52 - field2149 = new ServerPacket(48, 5); // L: 53 - field2214 = new ServerPacket(49, 0); // L: 54 - field2189 = new ServerPacket(50, -2); // L: 55 - field2209 = new ServerPacket(51, -2); // L: 56 - field2191 = new ServerPacket(52, 6); // L: 57 - field2145 = new ServerPacket(53, 1); // L: 58 - field2183 = new ServerPacket(54, -1); // L: 59 - field2194 = new ServerPacket(55, -2); // L: 60 - field2195 = new ServerPacket(56, -2); // L: 61 - field2196 = new ServerPacket(57, 5); // L: 62 - field2215 = new ServerPacket(58, 2); // L: 63 - field2198 = new ServerPacket(59, 3); // L: 64 - field2177 = new ServerPacket(60, 4); // L: 65 - field2207 = new ServerPacket(61, 1); // L: 66 - field2154 = new ServerPacket(62, 3); // L: 67 - field2153 = new ServerPacket(63, 6); // L: 68 - field2203 = new ServerPacket(64, -2); // L: 69 - field2204 = new ServerPacket(65, -2); // L: 70 - field2205 = new ServerPacket(66, 2); // L: 71 - field2169 = new ServerPacket(67, 4); // L: 72 - field2206 = new ServerPacket(68, -2); // L: 73 - field2185 = new ServerPacket(69, 7); // L: 74 - field2187 = new ServerPacket(70, 0); // L: 75 - field2210 = new ServerPacket(71, -1); // L: 76 - field2211 = new ServerPacket(72, 10); // L: 77 - field2193 = new ServerPacket(73, 6); // L: 78 - field2213 = new ServerPacket(74, 2); // L: 79 - field2168 = new ServerPacket(75, -2); // L: 80 - field2199 = new ServerPacket(76, 6); // L: 81 - field2216 = new ServerPacket(77, -2); // L: 82 - field2217 = new ServerPacket(78, -1); // L: 83 - field2147 = new ServerPacket(79, 12); // L: 84 - field2219 = new ServerPacket(80, 1); // L: 85 - field2220 = new ServerPacket(81, 1); // L: 86 - field2221 = new ServerPacket(82, 2); // L: 87 - field2222 = new ServerPacket(83, 8); // L: 88 - field2223 = new ServerPacket(84, 6); // L: 89 - field2224 = new ServerPacket(85, 0); // L: 90 - } + ServerPacket(int var1, int var2) { + this.id = var1; + this.length = var2; + } - ServerPacket(int var1, int var2) { - this.id = var1; // L: 99 - this.length = var2; // L: 100 - } // L: 101 + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "6" + ) + public static int method3810(int var0) { + if (var0 > 0) { + return 1; + } else { + return var0 < 0 ? -1 : 0; + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1751724590" - ) - @Export("Widget_unpackTargetMask") - public static int Widget_unpackTargetMask(int var0) { - return var0 >> 11 & 63; // L: 9 - } + @ObfuscatedName("kc") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "-58" + ) + static void method3809(Buffer var0, int var1) { + byte[] var2 = var0.array; + if (Client.randomDatData == null) { + Client.randomDatData = new byte[24]; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;I)V", - garbageValue = "-1425205882" - ) - public static void method3669(AbstractArchive var0, AbstractArchive var1) { - class225.HealthBarDefinition_archive = var0; // L: 32 - HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; // L: 33 - } // L: 34 + class311.writeRandomDat(var2, var1, Client.randomDatData, 0, 24); + if (JagexCache.JagexCache_randomDat != null) { + try { + JagexCache.JagexCache_randomDat.seek(0L); + JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); + } catch (Exception var4) { + ; + } + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "1710358127" - ) - public static String method3663(String var0) { - int var1 = var0.length(); // L: 159 - char[] var2 = new char[var1]; // L: 160 - byte var3 = 2; // L: 161 - - for (int var4 = 0; var4 < var1; ++var4) { // L: 162 - char var5 = var0.charAt(var4); // L: 163 - if (var3 == 0) { // L: 164 - var5 = Character.toLowerCase(var5); - } else if (var3 == 2 || Character.isUpperCase(var5)) { // L: 165 - char var6; - if (var5 != 181 && var5 != 402) { // L: 168 - var6 = Character.toTitleCase(var5); // L: 172 - } else { - var6 = var5; // L: 169 - } - - var5 = var6; // L: 174 - } - - if (Character.isLetter(var5)) { // L: 176 - var3 = 0; - } else if (var5 != '.' && var5 != '?' && var5 != '!') { // L: 177 - if (Character.isSpaceChar(var5)) { // L: 178 - if (var3 != 2) { // L: 179 - var3 = 1; - } - } else { - var3 = 1; // L: 181 - } - } else { - var3 = 2; - } - - var2[var4] = var5; // L: 182 - } - - return new String(var2); // L: 184 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1225574522" - ) - static final void method3668() { - Object var10000 = null; // L: 126 - String var0 = "You can't add yourself to your own friend list"; - class234.addGameMessage(30, "", var0); // L: 128 - } // L: 130 - - @ObfuscatedName("kv") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "36" - ) - static final void method3664() { - PacketBufferNode var0 = ItemContainer.getPacketBufferNode(ClientPacket.field2306, Client.packetWriter.isaacCipher); // L: 10786 - Client.packetWriter.addNode(var0); // L: 10787 - - for (InterfaceParent var1 = (InterfaceParent)Client.interfaceParents.first(); var1 != null; var1 = (InterfaceParent)Client.interfaceParents.next()) { // L: 10788 - if (var1.type == 0 || var1.type == 3) { // L: 10789 - MouseRecorder.closeInterface(var1, true); - } - } - - if (Client.meslayerContinueWidget != null) { // L: 10791 - CollisionMap.invalidateWidget(Client.meslayerContinueWidget); // L: 10792 - Client.meslayerContinueWidget = null; // L: 10793 - } - - } // L: 10795 + } } diff --git a/runescape-client/src/main/java/Skeleton.java b/runescape-client/src/main/java/Skeleton.java index 62201856dd..23c4a886e3 100644 --- a/runescape-client/src/main/java/Skeleton.java +++ b/runescape-client/src/main/java/Skeleton.java @@ -2,166 +2,55 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ej") +@ObfuscatedName("ev") @Implements("Skeleton") public class Skeleton extends Node { - @ObfuscatedName("he") - @ObfuscatedGetter( - intValue = -502356211 - ) - @Export("cameraPitch") - static int cameraPitch; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1773427771 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1481451601 - ) - @Export("count") - int count; - @ObfuscatedName("x") - @Export("transformTypes") - int[] transformTypes; - @ObfuscatedName("w") - @Export("labels") - int[][] labels; + @ObfuscatedName("rb") + @ObfuscatedGetter( + intValue = -517711137 + ) + static int field1809; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1957617641 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -246210253 + ) + @Export("count") + int count; + @ObfuscatedName("d") + @Export("transformTypes") + int[] transformTypes; + @ObfuscatedName("c") + @Export("labels") + int[][] labels; - Skeleton(int var1, byte[] var2) { - this.id = var1; // L: 13 - Buffer var3 = new Buffer(var2); // L: 14 - this.count = var3.readUnsignedByte(); // L: 15 - this.transformTypes = new int[this.count]; // L: 16 - this.labels = new int[this.count][]; // L: 17 + Skeleton(int var1, byte[] var2) { + this.id = var1; + Buffer var3 = new Buffer(var2); + this.count = var3.readUnsignedByte(); + this.transformTypes = new int[this.count]; + this.labels = new int[this.count][]; - int var4; - for (var4 = 0; var4 < this.count; ++var4) { // L: 18 - this.transformTypes[var4] = var3.readUnsignedByte(); - } + int var4; + for(var4 = 0; var4 < this.count; ++var4) { + this.transformTypes[var4] = var3.readUnsignedByte(); + } - for (var4 = 0; var4 < this.count; ++var4) { // L: 19 - this.labels[var4] = new int[var3.readUnsignedByte()]; - } + for(var4 = 0; var4 < this.count; ++var4) { + this.labels[var4] = new int[var3.readUnsignedByte()]; + } - for (var4 = 0; var4 < this.count; ++var4) { // L: 20 - for (int var5 = 0; var5 < this.labels[var4].length; ++var5) { // L: 21 - this.labels[var4][var5] = var3.readUnsignedByte(); - } - } + for(var4 = 0; var4 < this.count; ++var4) { + for(int var5 = 0; var5 < this.labels[var4].length; ++var5) { + this.labels[var4][var5] = var3.readUnsignedByte(); + } + } - } // L: 23 - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-5" - ) - static final void method3155(String var0) { - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2319, Client.packetWriter.isaacCipher); // L: 194 - var1.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var0)); // L: 195 - var1.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 196 - Client.packetWriter.addNode(var1); // L: 197 - } // L: 198 - - @ObfuscatedName("ha") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "-1484457450" - ) - @Export("addNpcsToScene") - static final void addNpcsToScene(boolean var0) { - for (int var1 = 0; var1 < Client.npcCount; ++var1) { // L: 4752 - NPC var2 = Client.npcs[Client.npcIndices[var1]]; // L: 4753 - if (var2 != null && var2.isVisible() && var2.definition.isVisible == var0 && var2.definition.transformIsVisible()) { // L: 4754 - int var3 = var2.x >> 7; // L: 4755 - int var4 = var2.y >> 7; // L: 4756 - if (var3 >= 0 && var3 < 104 && var4 >= 0 && var4 < 104) { // L: 4757 - if (var2.field941 == 1 && (var2.x & 127) == 64 && (var2.y & 127) == 64) { // L: 4758 - if (Client.tileLastDrawnActor[var3][var4] == Client.viewportDrawCount) { // L: 4759 - continue; - } - - Client.tileLastDrawnActor[var3][var4] = Client.viewportDrawCount; // L: 4760 - } - - long var5 = NPC.calculateTag(0, 0, 1, !var2.definition.isInteractable, Client.npcIndices[var1]); // L: 4762 - var2.playerCycle = Client.cycle; // L: 4763 - ArchiveLoader.scene.drawEntity(GameObject.Client_plane, var2.x, var2.y, SecureRandomFuture.getTileHeight(var2.field941 * 64 - 64 + var2.x, var2.field941 * 64 - 64 + var2.y, GameObject.Client_plane), var2.field941 * 64 - 64 + 60, var2, var2.rotation, var5, var2.isWalking); // L: 4764 - } - } - } - - } // L: 4768 - - @ObfuscatedName("ke") - @ObfuscatedSignature( - descriptor = "([Lhe;II)V", - garbageValue = "-1212206355" - ) - @Export("drawModelComponents") - static final void drawModelComponents(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { // L: 10596 - Widget var3 = var0[var2]; // L: 10597 - if (var3 != null && var3.parentId == var1 && (!var3.isIf3 || !DevicePcmPlayerProvider.isComponentHidden(var3))) { // L: 10598 10599 10600 - if (var3.type == 0) { // L: 10601 - if (!var3.isIf3 && DevicePcmPlayerProvider.isComponentHidden(var3) && var3 != EnumComposition.mousedOverWidgetIf1) { // L: 10602 - continue; - } - - drawModelComponents(var0, var3.id); // L: 10603 - if (var3.children != null) { // L: 10604 - drawModelComponents(var3.children, var3.id); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); // L: 10605 - if (var4 != null) { // L: 10606 - NPCComposition.method4759(var4.group); - } - } - - if (var3.type == 6) { // L: 10608 - int var5; - if (var3.sequenceId != -1 || var3.sequenceId2 != -1) { // L: 10609 - boolean var7 = class8.runCs1(var3); // L: 10610 - if (var7) { // L: 10612 - var5 = var3.sequenceId2; - } else { - var5 = var3.sequenceId; // L: 10613 - } - - if (var5 != -1) { // L: 10614 - SequenceDefinition var6 = ParamComposition.SequenceDefinition_get(var5); // L: 10615 - - for (var3.modelFrameCycle += Client.field850; var3.modelFrameCycle > var6.frameLengths[var3.modelFrame]; CollisionMap.invalidateWidget(var3)) { // L: 10616 10617 10624 - var3.modelFrameCycle -= var6.frameLengths[var3.modelFrame]; // L: 10618 - ++var3.modelFrame; // L: 10619 - if (var3.modelFrame >= var6.frameIds.length) { // L: 10620 - var3.modelFrame -= var6.frameCount; // L: 10621 - if (var3.modelFrame < 0 || var3.modelFrame >= var6.frameIds.length) { // L: 10622 - var3.modelFrame = 0; - } - } - } - } - } - - if (var3.field2642 != 0 && !var3.isIf3) { // L: 10628 - int var8 = var3.field2642 >> 16; // L: 10629 - var5 = var3.field2642 << 16 >> 16; // L: 10630 - var8 *= Client.field850; // L: 10631 - var5 *= Client.field850; // L: 10632 - var3.modelAngleX = var8 + var3.modelAngleX & 2047; // L: 10633 - var3.modelAngleY = var5 + var3.modelAngleY & 2047; // L: 10634 - CollisionMap.invalidateWidget(var3); // L: 10635 - } - } - } - } - - } // L: 10639 + } } diff --git a/runescape-client/src/main/java/Skills.java b/runescape-client/src/main/java/Skills.java index cdcbc49810..7747334a25 100644 --- a/runescape-client/src/main/java/Skills.java +++ b/runescape-client/src/main/java/Skills.java @@ -3,110 +3,247 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hp") +@ObfuscatedName("hl") @Implements("Skills") public class Skills { - @ObfuscatedName("v") - @Export("Skills_enabled") - public static final boolean[] Skills_enabled; - @ObfuscatedName("x") - @Export("Skills_experienceTable") - public static int[] Skills_experienceTable; + @ObfuscatedName("v") + @Export("Skills_enabled") + public static final boolean[] Skills_enabled = new boolean[]{true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false}; + @ObfuscatedName("d") + @Export("Skills_experienceTable") + public static int[] Skills_experienceTable = new int[99]; + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "Liu;" + ) + static GameBuild field2774; - static { - Skills_enabled = new boolean[]{true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, false}; // L: 5 - Skills_experienceTable = new int[99]; // L: 6 - int var0 = 0; // L: 9 + static { + int var0 = 0; - for (int var1 = 0; var1 < 99; ++var1) { // L: 10 - int var2 = var1 + 1; // L: 11 - int var3 = (int)((double)var2 + 300.0D * Math.pow(2.0D, (double)var2 / 7.0D)); // L: 12 - var0 += var3; // L: 13 - Skills_experienceTable[var1] = var0 / 4; // L: 14 - } + for(int var1 = 0; var1 < 99; ++var1) { + int var2 = var1 + 1; + int var3 = (int)((double)var2 + 300.0D * Math.pow(2.0D, (double)var2 / 7.0D)); + var0 += var3; + Skills_experienceTable[var1] = var0 / 4; + } - } // L: 16 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lib;IIB)Llm;", - garbageValue = "71" - ) - @Export("SpriteBuffer_getSprite") - public static SpritePixels SpriteBuffer_getSprite(AbstractArchive var0, int var1, int var2) { - if (!class304.method5363(var0, var1, var2)) { - return null; - } else { - SpritePixels var4 = new SpritePixels(); // L: 57 - var4.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 58 - var4.height = class336.SpriteBuffer_spriteHeight; - var4.xOffset = class336.SpriteBuffer_xOffsets[0]; // L: 60 - var4.yOffset = class336.SpriteBuffer_yOffsets[0]; // L: 61 - var4.subWidth = class336.SpriteBuffer_spriteWidths[0]; // L: 62 - var4.subHeight = class336.SpriteBuffer_spriteHeights[0]; // L: 63 - int var5 = var4.subWidth * var4.subHeight; // L: 64 - byte[] var6 = GrandExchangeEvents.SpriteBuffer_pixels[0]; // L: 65 - var4.pixels = new int[var5]; // L: 66 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Lkd;ILbk;IB)V", + garbageValue = "4" + ) + static final void method4320(PacketBuffer var0, int var1, Player var2, int var3) { + byte var4 = -1; + if ((var3 & 4096) != 0) { + var2.field992 = var0.method5721(); + var2.field952 = var0.readByte(); + var2.field996 = var0.method5747(); + var2.field998 = var0.method5747(); + var2.field999 = var0.readUnsignedShort() + Client.cycle; + var2.field1000 = var0.readUnsignedShort() + Client.cycle; + var2.field1001 = var0.readUnsignedShort(); + if (var2.field652) { + var2.field992 += var2.tileX; + var2.field952 += var2.tileY; + var2.field996 += var2.tileX; + var2.field998 += var2.tileY; + var2.pathLength = 0; + } else { + var2.field992 += var2.pathX[0]; + var2.field952 += var2.pathY[0]; + var2.field996 += var2.pathX[0]; + var2.field998 += var2.pathY[0]; + var2.pathLength = 1; + } - for (int var7 = 0; var7 < var5; ++var7) { // L: 67 - var4.pixels[var7] = class336.SpriteBuffer_spritePalette[var6[var7] & 255]; - } + var2.field1012 = 0; + } - class336.SpriteBuffer_xOffsets = null; // L: 69 - class336.SpriteBuffer_yOffsets = null; // L: 70 - class336.SpriteBuffer_spriteWidths = null; // L: 71 - class336.SpriteBuffer_spriteHeights = null; // L: 72 - class336.SpriteBuffer_spritePalette = null; // L: 73 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 74 - return var4; // L: 78 - } - } + int var5; + if ((var3 & 1024) != 0) { + var2.spotAnimation = var0.method5729(); + var5 = var0.method5739(); + var2.field994 = var5 >> 16; + var2.field993 = (var5 & '\uffff') + Client.cycle; + var2.spotAnimationFrame = 0; + var2.spotAnimationFrameCycle = 0; + if (var2.field993 > Client.cycle) { + var2.spotAnimationFrame = -1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(ILlx;Lil;I)V", - garbageValue = "-1369689255" - ) - static void method4147(int var0, ArchiveDisk var1, Archive var2) { - ArchiveDiskAction var3 = new ArchiveDiskAction(); // L: 40 - var3.type = 1; // L: 41 - var3.key = (long)var0; // L: 42 - var3.archiveDisk = var1; // L: 43 - var3.archive = var2; // L: 44 - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { // L: 45 - ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); // L: 46 - } // L: 47 + if (var2.spotAnimation == 65535) { + var2.spotAnimation = -1; + } + } - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { // L: 49 - if (ArchiveDiskActionHandler.field3178 == 0) { // L: 50 - SecureRandomFuture.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); // L: 51 - SecureRandomFuture.ArchiveDiskActionHandler_thread.setDaemon(true); // L: 52 - SecureRandomFuture.ArchiveDiskActionHandler_thread.start(); // L: 53 - SecureRandomFuture.ArchiveDiskActionHandler_thread.setPriority(5); // L: 54 - } + int var8; + int var9; + int var12; + if ((var3 & 32) != 0) { + var5 = var0.method5729(); + PlayerType var6 = (PlayerType)InterfaceParent.findEnumerated(class69.PlayerType_values(), var0.method5720()); + boolean var7 = var0.method5776() == 1; + var8 = var0.method5776(); + var9 = var0.offset; + if (var2.username != null && var2.appearance != null) { + boolean var10 = false; + if (var6.isUser && InterfaceParent.friendSystem.isIgnored(var2.username)) { + var10 = true; + } - ArchiveDiskActionHandler.field3178 = 600; // L: 56 - } - } // L: 59 + if (!var10 && Client.field778 == 0 && !var2.isHidden) { + Players.field1279.offset = 0; + var0.method5740(Players.field1279.array, 0, var8); + Players.field1279.offset = 0; + String var11 = AbstractFont.escapeBrackets(UrlRequester.method3467(JagexCache.method3683(Players.field1279))); + var2.overheadText = var11.trim(); + var2.overheadTextColor = var5 >> 8; + var2.overheadTextEffect = var5 & 255; + var2.overheadTextCyclesRemaining = 150; + var2.isAutoChatting = var7; + var2.field968 = var2 != UserComparator9.localPlayer && var6.isUser && "" != Client.field882 && var11.toLowerCase().indexOf(Client.field882) == -1; + if (var6.isPrivileged) { + var12 = var7 ? 91 : 1; + } else { + var12 = var7 ? 90 : 2; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lky;I)I", - garbageValue = "-1376261869" - ) - static int method4146(PacketBuffer var0) { - int var1 = var0.readBits(2); // L: 189 - int var2; - if (var1 == 0) { // L: 191 - var2 = 0; - } else if (var1 == 1) { - var2 = var0.readBits(5); // L: 192 - } else if (var1 == 2) { // L: 193 - var2 = var0.readBits(8); - } else { - var2 = var0.readBits(11); // L: 194 - } + if (var6.modIcon != -1) { + AbstractWorldMapData.addGameMessage(var12, UserComparator10.method3580(var6.modIcon) + var2.username.getName(), var11); + } else { + AbstractWorldMapData.addGameMessage(var12, var2.username.getName(), var11); + } + } + } - return var2; // L: 195 - } + var0.offset = var9 + var8; + } + + if ((var3 & 256) != 0) { + for(var5 = 0; var5 < 3; ++var5) { + var2.actions[var5] = var0.readStringCp1252NullTerminated(); + } + } + + if ((var3 & 2048) != 0) { + Players.field1274[var1] = var0.method5721(); + } + + if ((var3 & 8) != 0) { + var2.targetIndex = var0.readUnsignedShort(); + if (var2.targetIndex == 65535) { + var2.targetIndex = -1; + } + } + + int var13; + if ((var3 & 128) != 0) { + var5 = var0.readUnsignedByte(); + int var15; + int var17; + int var19; + if (var5 > 0) { + for(var13 = 0; var13 < var5; ++var13) { + var8 = -1; + var9 = -1; + var19 = -1; + var17 = var0.readUShortSmart(); + if (var17 == 32767) { + var17 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + var8 = var0.readUShortSmart(); + var19 = var0.readUShortSmart(); + } else if (var17 != 32766) { + var9 = var0.readUShortSmart(); + } else { + var17 = -1; + } + + var15 = var0.readUShortSmart(); + var2.addHitSplat(var17, var9, var8, var19, Client.cycle, var15); + } + } + + var13 = var0.method5776(); + if (var13 > 0) { + for(var17 = 0; var17 < var13; ++var17) { + var8 = var0.readUShortSmart(); + var9 = var0.readUShortSmart(); + if (var9 != 32767) { + var19 = var0.readUShortSmart(); + var15 = var0.method5717(); + var12 = var9 > 0 ? var0.method5776() : var15; + var2.addHealthBar(var8, Client.cycle, var9, var19, var15, var12); + } else { + var2.removeHealthBar(var8); + } + } + } + } + + if ((var3 & 512) != 0) { + var4 = var0.method5721(); + } + + if ((var3 & 64) != 0) { + var5 = var0.readUnsignedShort(); + if (var5 == 65535) { + var5 = -1; + } + + var13 = var0.method5720(); + UserComparator7.performPlayerAnimation(var2, var5, var13); + } + + if ((var3 & 1) != 0) { + var2.field981 = var0.method5729(); + if (var2.pathLength == 0) { + var2.orientation = var2.field981; + var2.field981 = -1; + } + } + + if ((var3 & 16) != 0) { + var2.overheadText = var0.readStringCp1252NullTerminated(); + if (var2.overheadText.charAt(0) == '~') { + var2.overheadText = var2.overheadText.substring(1); + AbstractWorldMapData.addGameMessage(2, var2.username.getName(), var2.overheadText); + } else if (var2 == UserComparator9.localPlayer) { + AbstractWorldMapData.addGameMessage(2, var2.username.getName(), var2.overheadText); + } + + var2.isAutoChatting = false; + var2.overheadTextColor = 0; + var2.overheadTextEffect = 0; + var2.overheadTextCyclesRemaining = 150; + } + + if ((var3 & 2) != 0) { + var5 = var0.method5776(); + byte[] var16 = new byte[var5]; + Buffer var14 = new Buffer(var16); + var0.method5740(var16, 0, var5); + Players.field1269[var1] = var14; + var2.read(var14); + } + + if (var2.field652) { + if (var4 == 127) { + var2.resetPath(var2.tileX, var2.tileY); + } else { + byte var18; + if (var4 != -1) { + var18 = var4; + } else { + var18 = Players.field1274[var1]; + } + + var2.method1327(var2.tileX, var2.tileY, var18); + } + } + + } } diff --git a/runescape-client/src/main/java/SoftWrapper.java b/runescape-client/src/main/java/SoftWrapper.java index 578b985f28..e24c2cf332 100644 --- a/runescape-client/src/main/java/SoftWrapper.java +++ b/runescape-client/src/main/java/SoftWrapper.java @@ -3,27 +3,27 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("fe") +@ObfuscatedName("ft") @Implements("SoftWrapper") public class SoftWrapper extends Wrapper { - @ObfuscatedName("h") - @Export("ref") - SoftReference ref; + @ObfuscatedName("n") + @Export("ref") + SoftReference ref; - SoftWrapper(Object var1, int var2) { - super(var2); // L: 10 - this.ref = new SoftReference(var1); // L: 11 - } // L: 12 + SoftWrapper(Object var1, int var2) { + super(var2); + this.ref = new SoftReference(var1); + } - @ObfuscatedName("h") - @Export("get") - Object get() { - return this.ref.get(); // L: 15 - } + @ObfuscatedName("n") + @Export("get") + Object get() { + return this.ref.get(); + } - @ObfuscatedName("v") - @Export("isSoft") - boolean isSoft() { - return true; // L: 19 - } + @ObfuscatedName("v") + @Export("isSoft") + boolean isSoft() { + return true; + } } diff --git a/runescape-client/src/main/java/SoundCache.java b/runescape-client/src/main/java/SoundCache.java index 6ae32d455d..ef92364a1a 100644 --- a/runescape-client/src/main/java/SoundCache.java +++ b/runescape-client/src/main/java/SoundCache.java @@ -3,150 +3,162 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ds") +@ObfuscatedName("dy") @Implements("SoundCache") public class SoundCache { - @ObfuscatedName("n") - @Export("ByteArrayPool_alternativeSizes") - public static int[] ByteArrayPool_alternativeSizes; - @ObfuscatedName("cq") - @ObfuscatedSignature( - descriptor = "Lbv;" - ) - @Export("mouseRecorder") - static MouseRecorder mouseRecorder; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("soundEffectIndex") - AbstractArchive soundEffectIndex; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("musicSampleIndex") - AbstractArchive musicSampleIndex; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("musicSamples") - NodeHashTable musicSamples; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lls;" - ) - @Export("rawSounds") - NodeHashTable rawSounds; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("soundEffectIndex") + AbstractArchive soundEffectIndex; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("musicSampleIndex") + AbstractArchive musicSampleIndex; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("musicSamples") + NodeHashTable musicSamples = new NodeHashTable(256); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Llq;" + ) + @Export("rawSounds") + NodeHashTable rawSounds = new NodeHashTable(256); - @ObfuscatedSignature( - descriptor = "(Lib;Lib;)V" - ) - public SoundCache(AbstractArchive var1, AbstractArchive var2) { - this.musicSamples = new NodeHashTable(256); // L: 9 - this.rawSounds = new NodeHashTable(256); // L: 10 - this.soundEffectIndex = var1; // L: 13 - this.musicSampleIndex = var2; // L: 14 - } // L: 15 + @ObfuscatedSignature( + descriptor = "(Lig;Lig;)V" + ) + public SoundCache(AbstractArchive var1, AbstractArchive var2) { + this.soundEffectIndex = var1; + this.musicSampleIndex = var2; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II[II)Ldf;", - garbageValue = "-2076179570" - ) - @Export("getSoundEffect0") - RawSound getSoundEffect0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); // L: 18 - var4 |= var1 << 16; // L: 19 - long var5 = (long)var4; // L: 20 - RawSound var7 = (RawSound)this.rawSounds.get(var5); // L: 21 - if (var7 != null) { // L: 22 - return var7; - } else if (var3 != null && var3[0] <= 0) { - return null; // L: 23 - } else { - SoundEffect var8 = SoundEffect.readSoundEffect(this.soundEffectIndex, var1, var2); // L: 24 - if (var8 == null) { // L: 25 - return null; - } else { - var7 = var8.toRawSound(); // L: 26 - this.rawSounds.put(var7, var5); // L: 27 - if (var3 != null) { // L: 28 - var3[0] -= var7.samples.length; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II[II)Ldm;", + garbageValue = "-166733310" + ) + @Export("getSoundEffect0") + RawSound getSoundEffect0(int var1, int var2, int[] var3) { + int var4 = var2 ^ (var1 << 4 & '\uffff' | var1 >>> 12); + var4 |= var1 << 16; + long var5 = (long)var4; + RawSound var7 = (RawSound)this.rawSounds.get(var5); + if (var7 != null) { + return var7; + } else if (var3 != null && var3[0] <= 0) { + return null; + } else { + SoundEffect var8 = SoundEffect.readSoundEffect(this.soundEffectIndex, var1, var2); + if (var8 == null) { + return null; + } else { + var7 = var8.toRawSound(); + this.rawSounds.put(var7, var5); + if (var3 != null) { + var3[0] -= var7.samples.length; + } - return var7; // L: 29 - } - } - } + return var7; + } + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II[II)Ldf;", - garbageValue = "1195097760" - ) - @Export("getMusicSample0") - RawSound getMusicSample0(int var1, int var2, int[] var3) { - int var4 = var2 ^ (var1 << 4 & 65535 | var1 >>> 12); // L: 33 - var4 |= var1 << 16; // L: 34 - long var5 = (long)var4 ^ 4294967296L; // L: 35 - RawSound var7 = (RawSound)this.rawSounds.get(var5); // L: 36 - if (var7 != null) { // L: 37 - return var7; - } else if (var3 != null && var3[0] <= 0) { // L: 38 - return null; - } else { - VorbisSample var8 = (VorbisSample)this.musicSamples.get(var5); // L: 39 - if (var8 == null) { // L: 40 - var8 = VorbisSample.readMusicSample(this.musicSampleIndex, var1, var2); // L: 41 - if (var8 == null) { // L: 42 - return null; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II[IS)Ldm;", + garbageValue = "-10083" + ) + @Export("getMusicSample0") + RawSound getMusicSample0(int var1, int var2, int[] var3) { + int var4 = var2 ^ (var1 << 4 & '\uffff' | var1 >>> 12); + var4 |= var1 << 16; + long var5 = (long)var4 ^ 4294967296L; + RawSound var7 = (RawSound)this.rawSounds.get(var5); + if (var7 != null) { + return var7; + } else if (var3 != null && var3[0] <= 0) { + return null; + } else { + VorbisSample var8 = (VorbisSample)this.musicSamples.get(var5); + if (var8 == null) { + var8 = VorbisSample.readMusicSample(this.musicSampleIndex, var1, var2); + if (var8 == null) { + return null; + } - this.musicSamples.put(var8, var5); // L: 43 - } + this.musicSamples.put(var8, var5); + } - var7 = var8.toRawSound(var3); // L: 45 - if (var7 == null) { // L: 46 - return null; - } else { - var8.remove(); // L: 47 - this.rawSounds.put(var7, var5); // L: 48 - return var7; // L: 49 - } - } - } + var7 = var8.toRawSound(var3); + if (var7 == null) { + return null; + } else { + var8.remove(); + this.rawSounds.put(var7, var5); + return var7; + } + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I[II)Ldf;", - garbageValue = "122861408" - ) - @Export("getSoundEffect") - public RawSound getSoundEffect(int var1, int[] var2) { - if (this.soundEffectIndex.getGroupCount() == 1) { // L: 53 - return this.getSoundEffect0(0, var1, var2); - } else if (this.soundEffectIndex.getGroupFileCount(var1) == 1) { - return this.getSoundEffect0(var1, 0, var2); // L: 54 - } else { - throw new RuntimeException(); // L: 55 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I[IB)Ldm;", + garbageValue = "15" + ) + @Export("getSoundEffect") + public RawSound getSoundEffect(int var1, int[] var2) { + if (this.soundEffectIndex.getGroupCount() == 1) { + return this.getSoundEffect0(0, var1, var2); + } else if (this.soundEffectIndex.getGroupFileCount(var1) == 1) { + return this.getSoundEffect0(var1, 0, var2); + } else { + throw new RuntimeException(); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I[II)Ldf;", - garbageValue = "-2010455709" - ) - @Export("getMusicSample") - public RawSound getMusicSample(int var1, int[] var2) { - if (this.musicSampleIndex.getGroupCount() == 1) { // L: 59 - return this.getMusicSample0(0, var1, var2); - } else if (this.musicSampleIndex.getGroupFileCount(var1) == 1) { - return this.getMusicSample0(var1, 0, var2); // L: 60 - } else { - throw new RuntimeException(); // L: 61 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I[II)Ldm;", + garbageValue = "-1589130009" + ) + @Export("getMusicSample") + public RawSound getMusicSample(int var1, int[] var2) { + if (this.musicSampleIndex.getGroupCount() == 1) { + return this.getMusicSample0(0, var1, var2); + } else if (this.musicSampleIndex.getGroupFileCount(var1) == 1) { + return this.getMusicSample0(var1, 0, var2); + } else { + throw new RuntimeException(); + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(II)Ljava/lang/String;", + garbageValue = "1989438161" + ) + @Export("inventoryQuantityFormat") + static final String inventoryQuantityFormat(int var0) { + if (var0 < 100000) { + return "" + var0 + ""; + } else { + return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; + } + } + + @ObfuscatedName("gh") + @ObfuscatedSignature( + descriptor = "(Lcv;II)V", + garbageValue = "-701578069" + ) + static final void method2689(Actor var0, int var1) { + ParamComposition.worldToScreen(var0.x, var0.y, var1); + } } diff --git a/runescape-client/src/main/java/SoundEffect.java b/runescape-client/src/main/java/SoundEffect.java index 81f3c1ce96..cf9a2d8ed0 100644 --- a/runescape-client/src/main/java/SoundEffect.java +++ b/runescape-client/src/main/java/SoundEffect.java @@ -3,132 +3,129 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dq") +@ObfuscatedName("db") @Implements("SoundEffect") public class SoundEffect { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Ldc;" - ) - @Export("instruments") - Instrument[] instruments; - @ObfuscatedName("x") - @Export("start") - int start; - @ObfuscatedName("w") - @Export("end") - int end; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Ldg;" + ) + @Export("instruments") + Instrument[] instruments = new Instrument[10]; + @ObfuscatedName("d") + @Export("start") + int start; + @ObfuscatedName("c") + @Export("end") + int end; - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - SoundEffect(Buffer var1) { - this.instruments = new Instrument[10]; // L: 10 + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + SoundEffect(Buffer var1) { + for(int var2 = 0; var2 < 10; ++var2) { + int var3 = var1.readUnsignedByte(); + if (var3 != 0) { + --var1.offset; + this.instruments[var2] = new Instrument(); + this.instruments[var2].decode(var1); + } + } - for (int var2 = 0; var2 < 10; ++var2) { // L: 21 - int var3 = var1.readUnsignedByte(); // L: 22 - if (var3 != 0) { // L: 23 - --var1.offset; // L: 24 - this.instruments[var2] = new Instrument(); // L: 25 - this.instruments[var2].decode(var1); // L: 26 - } - } + this.start = var1.readUnsignedShort(); + this.end = var1.readUnsignedShort(); + } - this.start = var1.readUnsignedShort(); // L: 28 - this.end = var1.readUnsignedShort(); // L: 29 - } // L: 30 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "()Ldm;" + ) + @Export("toRawSound") + public RawSound toRawSound() { + byte[] var1 = this.mix(); + return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "()Ldf;" - ) - @Export("toRawSound") - public RawSound toRawSound() { - byte[] var1 = this.mix(); // L: 33 - return new RawSound(22050, var1, this.start * 22050 / 1000, this.end * 22050 / 1000); // L: 34 - } + @ObfuscatedName("d") + @Export("calculateDelay") + public final int calculateDelay() { + int var1 = 9999999; - @ObfuscatedName("x") - @Export("calculateDelay") - public final int calculateDelay() { - int var1 = 9999999; // L: 38 + int var2; + for(var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null && this.instruments[var2].offset / 20 < var1) { + var1 = this.instruments[var2].offset / 20; + } + } - int var2; - for (var2 = 0; var2 < 10; ++var2) { // L: 39 - if (this.instruments[var2] != null && this.instruments[var2].offset / 20 < var1) { // L: 40 41 - var1 = this.instruments[var2].offset / 20; - } - } + if (this.start < this.end && this.start / 20 < var1) { + var1 = this.start / 20; + } - if (this.start < this.end && this.start / 20 < var1) { // L: 44 - var1 = this.start / 20; - } + if (var1 != 9999999 && var1 != 0) { + for(var2 = 0; var2 < 10; ++var2) { + if (this.instruments[var2] != null) { + this.instruments[var2].offset -= var1 * 20; + } + } - if (var1 != 9999999 && var1 != 0) { // L: 45 - for (var2 = 0; var2 < 10; ++var2) { // L: 46 - if (this.instruments[var2] != null) { - Instrument var10000 = this.instruments[var2]; - var10000.offset -= var1 * 20; // L: 47 - } - } + if (this.start < this.end) { + this.start -= var1 * 20; + this.end -= var1 * 20; + } - if (this.start < this.end) { // L: 49 - this.start -= var1 * 20; // L: 50 - this.end -= var1 * 20; // L: 51 - } + return var1; + } else { + return 0; + } + } - return var1; // L: 53 - } else { - return 0; - } - } + @ObfuscatedName("c") + @Export("mix") + final byte[] mix() { + int var1 = 0; - @ObfuscatedName("w") - @Export("mix") - final byte[] mix() { - int var1 = 0; // L: 57 + int var2; + for(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; + } + } - int var2; - for (var2 = 0; var2 < 10; ++var2) { // L: 58 - if (this.instruments[var2] != null && this.instruments[var2].duration + this.instruments[var2].offset > var1) { // L: 59 60 - var1 = this.instruments[var2].duration + this.instruments[var2].offset; - } - } + if (var1 == 0) { + return new byte[0]; + } else { + var2 = var1 * 22050 / 1000; + byte[] var3 = new byte[var2]; - if (var1 == 0) { // L: 63 - return new byte[0]; - } else { - var2 = var1 * 22050 / 1000; // L: 64 - byte[] var3 = new byte[var2]; // L: 65 + 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); - for (int var4 = 0; var4 < 10; ++var4) { // L: 66 - if (this.instruments[var4] != null) { // L: 67 - int var5 = this.instruments[var4].duration * 22050 / 1000; // L: 68 - int var6 = this.instruments[var4].offset * 22050 / 1000; // L: 69 - int[] var7 = this.instruments[var4].synthesize(var5, this.instruments[var4].duration); // L: 70 + for(int var8 = 0; var8 < var5; ++var8) { + int var9 = (var7[var8] >> 8) + var3[var8 + var6]; + if ((var9 + 128 & -256) != 0) { + var9 = var9 >> 31 ^ 127; + } - for (int var8 = 0; var8 < var5; ++var8) { // L: 71 - int var9 = (var7[var8] >> 8) + var3[var8 + var6]; // L: 72 - if ((var9 + 128 & -256) != 0) { // L: 73 - var9 = var9 >> 31 ^ 127; - } + var3[var8 + var6] = (byte)var9; + } + } + } - var3[var8 + var6] = (byte)var9; // L: 74 - } - } - } + return var3; + } + } - return var3; // L: 78 - } - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;II)Ldq;" - ) - @Export("readSoundEffect") - public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); // L: 15 - return var3 == null ? null : new SoundEffect(new Buffer(var3)); // L: 16 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;II)Ldb;" + ) + @Export("readSoundEffect") + public static SoundEffect readSoundEffect(AbstractArchive var0, int var1, int var2) { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new SoundEffect(new Buffer(var3)); + } } diff --git a/runescape-client/src/main/java/SoundEnvelope.java b/runescape-client/src/main/java/SoundEnvelope.java index 0e076593a1..84bd2db7ea 100644 --- a/runescape-client/src/main/java/SoundEnvelope.java +++ b/runescape-client/src/main/java/SoundEnvelope.java @@ -3,109 +3,106 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dr") +@ObfuscatedName("ds") @Implements("SoundEnvelope") public class SoundEnvelope { - @ObfuscatedName("h") - @Export("segments") - int segments; - @ObfuscatedName("v") - @Export("durations") - int[] durations; - @ObfuscatedName("w") - @Export("phases") - int[] phases; - @ObfuscatedName("t") - @Export("start") - int start; - @ObfuscatedName("j") - @Export("end") - int end; - @ObfuscatedName("n") - @Export("form") - int form; - @ObfuscatedName("p") - @Export("ticks") - int ticks; - @ObfuscatedName("l") - @Export("phaseIndex") - int phaseIndex; - @ObfuscatedName("z") - @Export("step") - int step; - @ObfuscatedName("u") - @Export("amplitude") - int amplitude; - @ObfuscatedName("e") - @Export("max") - int max; + @ObfuscatedName("n") + @Export("segments") + int segments = 2; + @ObfuscatedName("v") + @Export("durations") + int[] durations = new int[2]; + @ObfuscatedName("d") + @Export("phases") + int[] phases = new int[2]; + @ObfuscatedName("c") + @Export("start") + int start; + @ObfuscatedName("y") + @Export("max") + int max; + @ObfuscatedName("h") + @Export("end") + int end; + @ObfuscatedName("z") + @Export("form") + int form; + @ObfuscatedName("e") + @Export("ticks") + int ticks; + @ObfuscatedName("q") + @Export("phaseIndex") + int phaseIndex; + @ObfuscatedName("l") + @Export("step") + int step; + @ObfuscatedName("s") + @Export("amplitude") + int amplitude; - SoundEnvelope() { - this.segments = 2; // L: 21 - this.durations = new int[2]; // L: 22 - this.phases = new int[2]; // L: 23 - this.durations[0] = 0; // L: 24 - this.durations[1] = 65535; // L: 25 - this.phases[0] = 0; // L: 26 - this.phases[1] = 65535; // L: 27 - } // L: 28 + SoundEnvelope() { + this.durations[0] = 0; + this.durations[1] = 65535; + this.phases[0] = 0; + this.phases[1] = 65535; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - @Export("decode") - final void decode(Buffer var1) { - this.form = var1.readUnsignedByte(); // L: 31 - this.start = var1.readInt(); // L: 32 - this.end = var1.readInt(); // L: 33 - this.decodeSegments(var1); // L: 34 - } // L: 35 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + @Export("decode") + final void decode(Buffer var1) { + this.form = var1.readUnsignedByte(); + this.start = var1.readInt(); + this.end = var1.readInt(); + this.decodeSegments(var1); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - @Export("decodeSegments") - final void decodeSegments(Buffer var1) { - this.segments = var1.readUnsignedByte(); // L: 38 - this.durations = new int[this.segments]; // L: 39 - this.phases = new int[this.segments]; // L: 40 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + @Export("decodeSegments") + final void decodeSegments(Buffer var1) { + this.segments = var1.readUnsignedByte(); + this.durations = new int[this.segments]; + this.phases = new int[this.segments]; - for (int var2 = 0; var2 < this.segments; ++var2) { // L: 41 - this.durations[var2] = var1.readUnsignedShort(); // L: 42 - this.phases[var2] = var1.readUnsignedShort(); // L: 43 - } + for(int var2 = 0; var2 < this.segments; ++var2) { + this.durations[var2] = var1.readUnsignedShort(); + this.phases[var2] = var1.readUnsignedShort(); + } - } // L: 45 + } - @ObfuscatedName("x") - @Export("reset") - final void reset() { - this.ticks = 0; // L: 48 - this.phaseIndex = 0; // L: 49 - this.step = 0; // L: 50 - this.amplitude = 0; // L: 51 - this.max = 0; // L: 52 - } // L: 53 + @ObfuscatedName("d") + @Export("reset") + final void reset() { + this.ticks = 0; + this.phaseIndex = 0; + this.step = 0; + this.amplitude = 0; + this.max = 0; + } - @ObfuscatedName("w") - @Export("doStep") - final int doStep(int var1) { - if (this.max >= this.ticks) { // L: 56 - this.amplitude = this.phases[this.phaseIndex++] << 15; // L: 57 - if (this.phaseIndex >= this.segments) { // L: 58 - this.phaseIndex = this.segments - 1; - } + @ObfuscatedName("c") + @Export("doStep") + final int doStep(int var1) { + if (this.max >= this.ticks) { + this.amplitude = this.phases[this.phaseIndex++] << 15; + if (this.phaseIndex >= this.segments) { + this.phaseIndex = this.segments - 1; + } - this.ticks = (int)((double)this.durations[this.phaseIndex] / 65536.0D * (double)var1); // L: 59 - if (this.ticks > this.max) { // L: 60 - this.step = ((this.phases[this.phaseIndex] << 15) - this.amplitude) / (this.ticks - this.max); - } - } + this.ticks = (int)((double)this.durations[this.phaseIndex] / 65536.0D * (double)var1); + if (this.ticks > this.max) { + this.step = ((this.phases[this.phaseIndex] << 15) - this.amplitude) / (this.ticks - this.max); + } + } - this.amplitude += this.step; // L: 62 - ++this.max; // L: 63 - return this.amplitude - this.step >> 15; // L: 64 - } + this.amplitude += this.step; + ++this.max; + return this.amplitude - this.step >> 15; + } } diff --git a/runescape-client/src/main/java/SoundSystem.java b/runescape-client/src/main/java/SoundSystem.java index d93471040c..d81efb12ea 100644 --- a/runescape-client/src/main/java/SoundSystem.java +++ b/runescape-client/src/main/java/SoundSystem.java @@ -1,196 +1,73 @@ -import java.io.IOException; -import java.lang.reflect.Field; -import java.lang.reflect.Method; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -@ObfuscatedName("dt") +@ObfuscatedName("dp") @Implements("SoundSystem") public class SoundSystem implements Runnable { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "[Ldp;" - ) - @Export("players") - volatile PcmPlayer[] players; + @ObfuscatedName("sl") + @ObfuscatedSignature( + descriptor = "Lmf;" + ) + @Export("worldMap") + static WorldMap worldMap; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -2100372523 + ) + @Export("musicTrackFileId") + public static int musicTrackFileId; + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + @Export("NetCache_reference") + public static Buffer NetCache_reference; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "[Ldh;" + ) + @Export("players") + volatile PcmPlayer[] players = new PcmPlayer[2]; - SoundSystem() { - this.players = new PcmPlayer[2]; // L: 6 - } // L: 8 + public void run() { + try { + for(int var1 = 0; var1 < 2; ++var1) { + PcmPlayer var2 = this.players[var1]; + if (var2 != null) { + var2.run(); + } + } + } catch (Exception var4) { + SequenceDefinition.RunException_sendStackTrace((String)null, var4); + } - public void run() { - try { - for (int var1 = 0; var1 < 2; ++var1) { // L: 12 - PcmPlayer var2 = this.players[var1]; // L: 13 - if (var2 != null) { // L: 14 - var2.run(); - } - } - } catch (Exception var4) { // L: 17 - PlayerComposition.RunException_sendStackTrace((String)null, var4); // L: 18 - } + } - } // L: 20 + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-422098598" + ) + @Export("runWidgetOnLoadListener") + static void runWidgetOnLoadListener(int var0) { + if (var0 != -1) { + if (WorldMapCacheName.loadInterface(var0)) { + Widget[] var1 = DefaultsGroup.Widget_interfaceComponents[var0]; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "1799114096" - ) - public static void method2564(boolean var0) { - if (NetCache.NetCache_socket != null) { // L: 42 - try { - Buffer var1 = new Buffer(4); // L: 44 - var1.writeByte(var0 ? 2 : 3); // L: 45 - var1.writeMedium(0); // L: 46 - NetCache.NetCache_socket.write(var1.array, 0, 4); // L: 47 - } catch (IOException var4) { - try { - NetCache.NetCache_socket.close(); // L: 51 - } catch (Exception var3) { // L: 53 - } + 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; + GrandExchangeOfferWorldComparator.runScript(var4, 5000000); + } + } - ++NetCache.NetCache_ioExceptions; // L: 54 - NetCache.NetCache_socket = null; // L: 55 - } - - } - } // L: 57 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-1974988755" - ) - @Export("readReflectionCheck") - public static void readReflectionCheck(Buffer var0, int var1) { - ReflectionCheck var2 = new ReflectionCheck(); // L: 129 - var2.size = var0.readUnsignedByte(); - var2.id = var0.readInt(); // L: 131 - var2.operations = new int[var2.size]; // L: 132 - var2.creationErrors = new int[var2.size]; // L: 133 - var2.fields = new Field[var2.size]; // L: 134 - var2.intReplaceValues = new int[var2.size]; // L: 135 - var2.methods = new Method[var2.size]; // L: 136 - var2.arguments = new byte[var2.size][][]; // L: 137 - - for (int var3 = 0; var3 < var2.size; ++var3) { // L: 138 - try { - int var4 = var0.readUnsignedByte(); // L: 140 - String var5; - String var6; - int var7; - if (var4 != 0 && var4 != 1 && var4 != 2) { // L: 141 - if (var4 == 3 || var4 == 4) { // L: 151 - var5 = var0.readStringCp1252NullTerminated(); // L: 152 - var6 = var0.readStringCp1252NullTerminated(); // L: 153 - var7 = var0.readUnsignedByte(); // L: 154 - String[] var8 = new String[var7]; // L: 155 - - for (int var9 = 0; var9 < var7; ++var9) { // L: 156 - var8[var9] = var0.readStringCp1252NullTerminated(); - } - - String var20 = var0.readStringCp1252NullTerminated(); // L: 157 - byte[][] var10 = new byte[var7][]; // L: 158 - int var12; - if (var4 == 3) { // L: 159 - for (int var11 = 0; var11 < var7; ++var11) { // L: 160 - var12 = var0.readInt(); // L: 161 - var10[var11] = new byte[var12]; // L: 162 - var0.readBytes(var10[var11], 0, var12); // L: 163 - } - } - - var2.operations[var3] = var4; // L: 166 - Class[] var21 = new Class[var7]; // L: 167 - - for (var12 = 0; var12 < var7; ++var12) { // L: 168 - var21[var12] = Script.loadClassFromDescriptor(var8[var12]); - } - - Class var22 = Script.loadClassFromDescriptor(var20); // L: 169 - if (Script.loadClassFromDescriptor(var5).getClassLoader() == null) { // L: 170 - throw new SecurityException(); - } - - Method[] var13 = Script.loadClassFromDescriptor(var5).getDeclaredMethods(); // L: 171 - Method[] var14 = var13; // L: 173 - - for (int var15 = 0; var15 < var14.length; ++var15) { // L: 174 - Method var16 = var14[var15]; // L: 175 - if (Reflection.getMethodName(var16).equals(var6)) { // L: 177 - Class[] var17 = Reflection.getParameterTypes(var16); // L: 178 - if (var17.length == var21.length) { // L: 179 - boolean var18 = true; // L: 180 - - for (int var19 = 0; var19 < var21.length; ++var19) { // L: 181 - if (var21[var19] != var17[var19]) { // L: 182 - var18 = false; // L: 183 - break; // L: 184 - } - } - - if (var18 && var22 == var16.getReturnType()) { // L: 187 - var2.methods[var3] = var16; // L: 188 - } - } - } - } - - var2.arguments[var3] = var10; // L: 195 - } - } else { - var5 = var0.readStringCp1252NullTerminated(); // L: 142 - var6 = var0.readStringCp1252NullTerminated(); // L: 143 - var7 = 0; // L: 144 - if (var4 == 1) { // L: 145 - var7 = var0.readInt(); - } - - var2.operations[var3] = var4; // L: 146 - var2.intReplaceValues[var3] = var7; // L: 147 - if (Script.loadClassFromDescriptor(var5).getClassLoader() == null) { // L: 148 - throw new SecurityException(); - } - - var2.fields[var3] = Reflection.findField(Script.loadClassFromDescriptor(var5), var6); // L: 149 - } - } catch (ClassNotFoundException var24) { // L: 198 - var2.creationErrors[var3] = -1; // L: 199 - } catch (SecurityException var25) { // L: 201 - var2.creationErrors[var3] = -2; // L: 202 - } catch (NullPointerException var26) { // L: 204 - var2.creationErrors[var3] = -3; // L: 205 - } catch (Exception var27) { // L: 207 - var2.creationErrors[var3] = -4; // L: 208 - } catch (Throwable var28) { // L: 210 - var2.creationErrors[var3] = -5; // L: 211 - } - } - - class105.reflectionChecks.addFirst(var2); // L: 214 - } // L: 215 - - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)I", - garbageValue = "-51" - ) - public static int method2566(String var0) { - return var0.length() + 2; // L: 130 - } - - @ObfuscatedName("ga") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "93" - ) - @Export("getWindowedMode") - static int getWindowedMode() { - return Client.isResizable ? 2 : 1; // L: 4174 - } + } + } + } } diff --git a/runescape-client/src/main/java/SpotAnimationDefinition.java b/runescape-client/src/main/java/SpotAnimationDefinition.java index 16ad8b213c..ce3d24d991 100644 --- a/runescape-client/src/main/java/SpotAnimationDefinition.java +++ b/runescape-client/src/main/java/SpotAnimationDefinition.java @@ -4,231 +4,217 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ik") +@ObfuscatedName("is") @Implements("SpotAnimationDefinition") public class SpotAnimationDefinition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("SpotAnimationDefinition_archive") - static AbstractArchive SpotAnimationDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("SpotAnimationDefinition_modelArchive") - static AbstractArchive SpotAnimationDefinition_modelArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("SpotAnimationDefinition_cached") - static EvictingDualNodeHashTable SpotAnimationDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("SpotAnimationDefinition_cachedModels") - static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 116853057 - ) - @Export("id") - int id; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1527605981 - ) - @Export("archive") - int archive; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 664616399 - ) - @Export("sequence") - public int sequence; - @ObfuscatedName("p") - @Export("recolorFrom") - short[] recolorFrom; - @ObfuscatedName("l") - @Export("recolorTo") - short[] recolorTo; - @ObfuscatedName("z") - @Export("retextureFrom") - short[] retextureFrom; - @ObfuscatedName("u") - @Export("retextureTo") - short[] retextureTo; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 492539667 - ) - @Export("widthScale") - int widthScale; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 1988933589 - ) - @Export("heightScale") - int heightScale; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 130255545 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = 905155291 - ) - @Export("ambient") - int ambient; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1227772685 - ) - @Export("contrast") - int contrast; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("SpotAnimationDefinition_archive") + public static AbstractArchive SpotAnimationDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("SpotAnimationDefinition_modelArchive") + public static AbstractArchive SpotAnimationDefinition_modelArchive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("SpotAnimationDefinition_cached") + static EvictingDualNodeHashTable SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("SpotAnimationDefinition_cachedModels") + static EvictingDualNodeHashTable SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -248085657 + ) + @Export("id") + int id; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 854487695 + ) + @Export("archive") + int archive; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -1665782571 + ) + @Export("sequence") + public int sequence = -1; + @ObfuscatedName("e") + @Export("recolorFrom") + short[] recolorFrom; + @ObfuscatedName("q") + @Export("recolorTo") + short[] recolorTo; + @ObfuscatedName("l") + @Export("retextureFrom") + short[] retextureFrom; + @ObfuscatedName("s") + @Export("retextureTo") + short[] retextureTo; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 1815263859 + ) + @Export("widthScale") + int widthScale = 128; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 159463565 + ) + @Export("heightScale") + int heightScale = 128; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1598330455 + ) + @Export("orientation") + int orientation = 0; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 1067846437 + ) + @Export("ambient") + int ambient = 0; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1731372495 + ) + @Export("contrast") + int contrast = 0; - static { - SpotAnimationDefinition_cached = new EvictingDualNodeHashTable(64); // L: 14 - SpotAnimationDefinition_cachedModels = new EvictingDualNodeHashTable(30); // L: 15 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "123" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - SpotAnimationDefinition() { - this.sequence = -1; // L: 18 - this.widthScale = 128; // L: 23 - this.heightScale = 128; // L: 24 - this.orientation = 0; // L: 25 - this.ambient = 0; // L: 26 - this.contrast = 0; // L: 27 - } // L: 29 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-1477796181" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 49 - if (var2 == 0) { // L: 50 - return; // L: 53 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "74583909" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.archive = var1.readUnsignedShort(); + } else if (var2 == 2) { + this.sequence = var1.readUnsignedShort(); + } else if (var2 == 4) { + this.widthScale = var1.readUnsignedShort(); + } else if (var2 == 5) { + this.heightScale = var1.readUnsignedShort(); + } else if (var2 == 6) { + this.orientation = var1.readUnsignedShort(); + } else if (var2 == 7) { + this.ambient = var1.readUnsignedByte(); + } else if (var2 == 8) { + this.contrast = var1.readUnsignedByte(); + } else { + int var3; + int var4; + if (var2 == 40) { + var3 = var1.readUnsignedByte(); + this.recolorFrom = new short[var3]; + this.recolorTo = new short[var3]; - this.decodeNext(var1, var2); // L: 51 - } - } + 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]; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "7" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 56 - this.archive = var1.readUnsignedShort(); - } else if (var2 == 2) { // L: 57 - this.sequence = var1.readUnsignedShort(); - } else if (var2 == 4) { // L: 58 - this.widthScale = var1.readUnsignedShort(); - } else if (var2 == 5) { // L: 59 - this.heightScale = var1.readUnsignedShort(); - } else if (var2 == 6) { // L: 60 - this.orientation = var1.readUnsignedShort(); - } else if (var2 == 7) { // L: 61 - this.ambient = var1.readUnsignedByte(); - } else if (var2 == 8) { - this.contrast = var1.readUnsignedByte(); // L: 62 - } else { - int var3; - int var4; - if (var2 == 40) { // L: 63 - var3 = var1.readUnsignedByte(); // L: 64 - this.recolorFrom = new short[var3]; // L: 65 - this.recolorTo = new short[var3]; // L: 66 + for(var4 = 0; var4 < var3; ++var4) { + this.retextureFrom[var4] = (short)var1.readUnsignedShort(); + this.retextureTo[var4] = (short)var1.readUnsignedShort(); + } + } + } - for (var4 = 0; var4 < var3; ++var4) { // L: 67 - this.recolorFrom[var4] = (short)var1.readUnsignedShort(); // L: 68 - this.recolorTo[var4] = (short)var1.readUnsignedShort(); // L: 69 - } - } else if (var2 == 41) { // L: 72 - var3 = var1.readUnsignedByte(); // L: 73 - this.retextureFrom = new short[var3]; // L: 74 - this.retextureTo = new short[var3]; // L: 75 + } - for (var4 = 0; var4 < var3; ++var4) { // L: 76 - this.retextureFrom[var4] = (short)var1.readUnsignedShort(); // L: 77 - this.retextureTo[var4] = (short)var1.readUnsignedShort(); // L: 78 - } - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IB)Lef;", + garbageValue = "1" + ) + @Export("getModel") + public final Model getModel(int var1) { + Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); + if (var2 == null) { + ModelData var3 = ModelData.ModelData_get(SpotAnimationDefinition_modelArchive, this.archive, 0); + if (var3 == null) { + return null; + } - } // L: 82 + int var4; + if (this.recolorFrom != null) { + for(var4 = 0; var4 < this.recolorFrom.length; ++var4) { + var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)Leh;", - garbageValue = "-888239890" - ) - @Export("getModel") - public final Model getModel(int var1) { - Model var2 = (Model)SpotAnimationDefinition_cachedModels.get((long)this.id); // L: 85 - if (var2 == null) { // L: 86 - ModelData var3 = ModelData.ModelData_get(SpotAnimationDefinition_modelArchive, this.archive, 0); // L: 87 - if (var3 == null) { // L: 88 - return null; - } + if (this.retextureFrom != null) { + for(var4 = 0; var4 < this.retextureFrom.length; ++var4) { + var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); + } + } - int var4; - if (this.recolorFrom != null) { // L: 89 - for (var4 = 0; var4 < this.recolorFrom.length; ++var4) { // L: 90 - var3.recolor(this.recolorFrom[var4], this.recolorTo[var4]); // L: 91 - } - } + var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); + SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); + } - if (this.retextureFrom != null) { // L: 94 - for (var4 = 0; var4 < this.retextureFrom.length; ++var4) { // L: 95 - var3.retexture(this.retextureFrom[var4], this.retextureTo[var4]); // L: 96 - } - } + Model var5; + if (this.sequence != -1 && var1 != -1) { + var5 = InterfaceParent.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); + } else { + var5 = var2.toSharedSpotAnimationModel(true); + } - var2 = var3.toModel(this.ambient + 64, this.contrast + 850, -30, -50, -30); // L: 99 - SpotAnimationDefinition_cachedModels.put(var2, (long)this.id); // L: 100 - } + if (this.widthScale != 128 || this.heightScale != 128) { + var5.scale(this.widthScale, this.heightScale, this.widthScale); + } - Model var5; - if (this.sequence != -1 && var1 != -1) { // L: 103 - var5 = ParamComposition.SequenceDefinition_get(this.sequence).transformSpotAnimationModel(var2, var1); - } else { - var5 = var2.toSharedSpotAnimationModel(true); // L: 104 - } + if (this.orientation != 0) { + if (this.orientation == 90) { + var5.rotateY90Ccw(); + } - if (this.widthScale != 128 || this.heightScale != 128) { // L: 105 - var5.scale(this.widthScale, this.heightScale, this.widthScale); - } + if (this.orientation == 180) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } - if (this.orientation != 0) { // L: 106 - if (this.orientation == 90) { // L: 107 - var5.rotateY90Ccw(); - } + if (this.orientation == 270) { + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + var5.rotateY90Ccw(); + } + } - if (this.orientation == 180) { // L: 108 - var5.rotateY90Ccw(); // L: 109 - var5.rotateY90Ccw(); // L: 110 - } - - if (this.orientation == 270) { // L: 112 - var5.rotateY90Ccw(); // L: 113 - var5.rotateY90Ccw(); // L: 114 - var5.rotateY90Ccw(); // L: 115 - } - } - - return var5; // L: 118 - } + return var5; + } } diff --git a/runescape-client/src/main/java/SpriteMask.java b/runescape-client/src/main/java/SpriteMask.java index 372a7bbb2d..4d7e7287aa 100644 --- a/runescape-client/src/main/java/SpriteMask.java +++ b/runescape-client/src/main/java/SpriteMask.java @@ -4,54 +4,437 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ho") +@ObfuscatedName("ht") @Implements("SpriteMask") public class SpriteMask extends DualNode { - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -541304415 - ) - static int field2535; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1788605819 - ) - @Export("width") - public final int width; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -4289719 - ) - @Export("height") - public final int height; - @ObfuscatedName("x") - @Export("xWidths") - public final int[] xWidths; - @ObfuscatedName("w") - @Export("xStarts") - public final int[] xStarts; + @ObfuscatedName("dy") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive1") + static Archive archive1; + @ObfuscatedName("eo") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive15") + static Archive archive15; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -305616951 + ) + @Export("width") + public final int width; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1125441395 + ) + @Export("height") + public final int height; + @ObfuscatedName("d") + @Export("xWidths") + public final int[] xWidths; + @ObfuscatedName("c") + @Export("xStarts") + public final int[] xStarts; - SpriteMask(int var1, int var2, int[] var3, int[] var4, int var5) { - this.width = var1; // L: 689 - this.height = var2; // L: 690 - this.xWidths = var3; // L: 691 - this.xStarts = var4; // L: 692 - } // L: 693 + SpriteMask(int var1, int var2, int[] var3, int[] var4, int var5) { + this.width = var1; + this.height = var2; + this.xWidths = var3; + this.xStarts = var4; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIS)Z", - garbageValue = "20494" - ) - @Export("contains") - public boolean contains(int var1, int var2) { - if (var2 >= 0 && var2 < this.xStarts.length) { // L: 696 - int var3 = this.xStarts[var2]; // L: 697 - if (var1 >= var3 && var1 <= var3 + this.xWidths[var2]) { // L: 698 - return true; - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(III)Z", + garbageValue = "-290220203" + ) + @Export("contains") + public boolean contains(int var1, int var2) { + if (var2 >= 0 && var2 < this.xStarts.length) { + int var3 = this.xStarts[var2]; + if (var1 >= var3 && var1 <= var3 + this.xWidths[var2]) { + return true; + } + } - return false; // L: 700 - } + return false; + } + + @ObfuscatedName("hh") + @ObfuscatedSignature( + descriptor = "(IIIIIIIB)V", + garbageValue = "55" + ) + @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 != class90.Client_plane) { + return; + } + + long var7 = 0L; + boolean var9 = true; + boolean var10 = false; + boolean var11 = false; + if (var1 == 0) { + var7 = MilliClock.scene.getBoundaryObjectTag(var0, var2, var3); + } + + if (var1 == 1) { + var7 = MilliClock.scene.getWallDecorationTag(var0, var2, var3); + } + + if (var1 == 2) { + var7 = MilliClock.scene.getGameObjectTag(var0, var2, var3); + } + + if (var1 == 3) { + var7 = MilliClock.scene.getFloorDecorationTag(var0, var2, var3); + } + + int var12; + if (0L != var7) { + var12 = MilliClock.scene.getObjectFlags(var0, var2, var3, var7); + int var38 = class25.Entity_unpackID(var7); + int var39 = var12 & 31; + int var40 = var12 >> 6 & 3; + ObjectComposition var13; + if (var1 == 0) { + MilliClock.scene.removeBoundaryObject(var0, var2, var3); + var13 = WorldMapAreaData.getObjectDefinition(var38); + if (var13.interactType != 0) { + Client.collisionMaps[var0].method3755(var2, var3, var39, var40, var13.boolean1); + } + } + + if (var1 == 1) { + MilliClock.scene.removeWallDecoration(var0, var2, var3); + } + + if (var1 == 2) { + MilliClock.scene.removeGameObject(var0, var2, var3); + var13 = WorldMapAreaData.getObjectDefinition(var38); + 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].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var40, var13.boolean1); + } + } + + if (var1 == 3) { + MilliClock.scene.removeFloorDecoration(var0, var2, var3); + var13 = WorldMapAreaData.getObjectDefinition(var38); + if (var13.interactType == 1) { + Client.collisionMaps[var0].method3758(var2, var3); + } + } + } + + if (var4 >= 0) { + var12 = var0; + if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { + var12 = var0 + 1; + } + + Scene var41 = MilliClock.scene; + CollisionMap var14 = Client.collisionMaps[var0]; + ObjectComposition var15 = WorldMapAreaData.getObjectDefinition(var4); + int var16; + int var17; + if (var5 != 1 && var5 != 3) { + var16 = var15.sizeX; + var17 = var15.sizeY; + } else { + var16 = var15.sizeY; + var17 = var15.sizeX; + } + + int var18; + int var19; + if (var16 + var2 <= 104) { + var18 = (var16 >> 1) + var2; + var19 = var2 + (var16 + 1 >> 1); + } else { + var18 = var2; + var19 = var2 + 1; + } + + int var20; + int var21; + if (var3 + var17 <= 104) { + var20 = var3 + (var17 >> 1); + var21 = var3 + (var17 + 1 >> 1); + } else { + var20 = var3; + var21 = var3 + 1; + } + + int[][] var22 = Tiles.Tiles_heights[var12]; + int var23 = var22[var19][var21] + var22[var18][var21] + var22[var19][var20] + var22[var18][var20] >> 2; + int var24 = (var2 << 7) + (var16 << 6); + int var25 = (var3 << 7) + (var17 << 6); + long var26 = TextureProvider.calculateTag(var2, var3, 2, var15.int1 == 0, var4); + int var28 = (var5 << 6) + var6; + if (var15.int3 == 1) { + var28 += 256; + } + + Object var36; + if (var6 == 22) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(22, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 22, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newFloorDecoration(var0, var2, var3, var23, (Renderable)var36, var26, var28); + if (var15.interactType == 1) { + var14.setBlockedByFloorDec(var2, var3); + } + } else if (var6 != 10 && var6 != 11) { + if (var6 >= 12) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(var6, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.method3400(var0, var2, var3, var23, 1, 1, (Renderable)var36, 0, var26, var28); + if (var15.interactType != 0) { + var14.addGameObject(var2, var3, var16, var17, var15.boolean1); + } + } else if (var6 == 0) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(0, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 0, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newBoundaryObject(var0, var2, var3, var23, (Renderable)var36, (Renderable)null, Tiles.field521[var5], 0, var26, var28); + if (var15.interactType != 0) { + var14.method3749(var2, var3, var6, var5, var15.boolean1); + } + } else if (var6 == 1) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(1, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 1, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newBoundaryObject(var0, var2, var3, var23, (Renderable)var36, (Renderable)null, Tiles.field514[var5], 0, var26, var28); + if (var15.interactType != 0) { + var14.method3749(var2, var3, var6, var5, var15.boolean1); + } + } else { + int var29; + if (var6 == 2) { + var29 = var5 + 1 & 3; + Object var31; + Object var37; + if (var15.animationId == -1 && var15.transforms == null) { + var37 = var15.getModel(2, var5 + 4, var22, var24, var23, var25); + var31 = var15.getModel(2, var29, var22, var24, var23, var25); + } else { + var37 = new DynamicObject(var4, 2, var5 + 4, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + var31 = new DynamicObject(var4, 2, var29, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newBoundaryObject(var0, var2, var3, var23, (Renderable)var37, (Renderable)var31, Tiles.field521[var5], Tiles.field521[var29], var26, var28); + if (var15.interactType != 0) { + var14.method3749(var2, var3, var6, var5, var15.boolean1); + } + } else if (var6 == 3) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(3, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 3, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newBoundaryObject(var0, var2, var3, var23, (Renderable)var36, (Renderable)null, Tiles.field514[var5], 0, var26, var28); + if (var15.interactType != 0) { + var14.method3749(var2, var3, var6, var5, var15.boolean1); + } + } else if (var6 == 9) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(var6, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.method3400(var0, var2, var3, var23, 1, 1, (Renderable)var36, 0, var26, var28); + if (var15.interactType != 0) { + var14.addGameObject(var2, var3, var16, var17, var15.boolean1); + } + } else if (var6 == 4) { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(4, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newWallDecoration(var0, var2, var3, var23, (Renderable)var36, (Renderable)null, Tiles.field521[var5], 0, 0, 0, var26, var28); + } else { + long var30; + Object var32; + if (var6 == 5) { + var29 = 16; + var30 = var41.getBoundaryObjectTag(var0, var2, var3); + if (0L != var30) { + var29 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var30)).int2; + } + + if (var15.animationId == -1 && var15.transforms == null) { + var32 = var15.getModel(4, var5, var22, var24, var23, var25); + } else { + var32 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newWallDecoration(var0, var2, var3, var23, (Renderable)var32, (Renderable)null, Tiles.field521[var5], 0, var29 * Tiles.field523[var5], var29 * Tiles.field527[var5], var26, var28); + } else if (var6 == 6) { + var29 = 8; + var30 = var41.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var30)).int2 / 2; + } + + if (var15.animationId == -1 && var15.transforms == null) { + var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25); + } else { + var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newWallDecoration(var0, var2, var3, var23, (Renderable)var32, (Renderable)null, 256, var5, var29 * Tiles.field525[var5], var29 * Tiles.field526[var5], var26, var28); + } else if (var6 == 7) { + int var35 = var5 + 2 & 3; + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(4, var35 + 4, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 4, var35 + 4, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newWallDecoration(var0, var2, var3, var23, (Renderable)var36, (Renderable)null, 256, var35, 0, 0, var26, var28); + } else if (var6 == 8) { + var29 = 8; + var30 = var41.getBoundaryObjectTag(var0, var2, var3); + if (var30 != 0L) { + var29 = WorldMapAreaData.getObjectDefinition(class25.Entity_unpackID(var30)).int2 / 2; + } + + int var34 = var5 + 2 & 3; + Object var33; + if (var15.animationId == -1 && var15.transforms == null) { + var32 = var15.getModel(4, var5 + 4, var22, var24, var23, var25); + var33 = var15.getModel(4, var34 + 4, var22, var24, var23, var25); + } else { + var32 = new DynamicObject(var4, 4, var5 + 4, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + var33 = new DynamicObject(var4, 4, var34 + 4, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + var41.newWallDecoration(var0, var2, var3, var23, (Renderable)var32, (Renderable)var33, 256, var5, var29 * Tiles.field525[var5], var29 * Tiles.field526[var5], var26, var28); + } + } + } + } else { + if (var15.animationId == -1 && var15.transforms == null) { + var36 = var15.getModel(10, var5, var22, var24, var23, var25); + } else { + var36 = new DynamicObject(var4, 10, var5, var12, var2, var3, var15.animationId, var15.field3429, (Renderable)null); + } + + if (var36 != null) { + var41.method3400(var0, var2, var3, var23, var16, var17, (Renderable)var36, var6 == 11 ? 256 : 0, var26, var28); + } + + if (var15.interactType != 0) { + var14.addGameObject(var2, var3, var16, var17, var15.boolean1); + } + } + } + } + + } + + @ObfuscatedName("hd") + @ObfuscatedSignature( + descriptor = "(ZLkd;B)V", + garbageValue = "100" + ) + static final void method4174(boolean var0, PacketBuffer var1) { + while(true) { + if (var1.bitsRemaining(Client.packetWriter.serverPacketLength) >= 27) { + int var2 = var1.readBits(15); + if (var2 != 32767) { + boolean var3 = false; + if (Client.npcs[var2] == null) { + Client.npcs[var2] = new NPC(); + var3 = true; + } + + NPC var4 = Client.npcs[var2]; + Client.npcIndices[++Client.npcCount - 1] = var2; + var4.npcCycle = Client.cycle; + int var5; + if (var0) { + var5 = var1.readBits(8); + if (var5 > 127) { + var5 -= 256; + } + } else { + var5 = var1.readBits(5); + if (var5 > 15) { + var5 -= 32; + } + } + + var4.definition = class90.getNpcDefinition(var1.readBits(14)); + int var6 = Client.defaultRotations[var1.readBits(3)]; + if (var3) { + var4.orientation = var4.rotation = var6; + } + + int var7 = var1.readBits(1); + if (var7 == 1) { + Client.field697[++Client.field725 - 1] = var2; + } + + int var8 = var1.readBits(1); + int var9; + if (var0) { + var9 = var1.readBits(8); + if (var9 > 127) { + var9 -= 256; + } + } else { + var9 = var1.readBits(5); + if (var9 > 15) { + var9 -= 32; + } + } + + var4.field1007 = var4.definition.size; + var4.field1006 = var4.definition.rotation; + if (var4.field1006 == 0) { + var4.rotation = 0; + } + + var4.walkSequence = var4.definition.walkSequence; + var4.walkBackSequence = var4.definition.walkBackSequence; + var4.walkLeftSequence = var4.definition.walkLeftSequence; + var4.walkRightSequence = var4.definition.walkRightSequence; + var4.idleSequence = var4.definition.idleSequence; + var4.turnLeftSequence = var4.definition.turnLeftSequence; + var4.turnRightSequence = var4.definition.turnRightSequence; + var4.method2181(UserComparator9.localPlayer.pathX[0] + var5, UserComparator9.localPlayer.pathY[0] + var9, var8 == 1); + continue; + } + } + + var1.exportIndex(); + return; + } + } } diff --git a/runescape-client/src/main/java/SpritePixels.java b/runescape-client/src/main/java/SpritePixels.java index 4913c582a8..38590b94f0 100644 --- a/runescape-client/src/main/java/SpritePixels.java +++ b/runescape-client/src/main/java/SpritePixels.java @@ -4,1656 +4,1659 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("lm") -@Implements("Sprite") +@Implements("SpritePixels") public final class SpritePixels extends Rasterizer2D { - @ObfuscatedName("h") - @Export("pixels") - public int[] pixels; - @ObfuscatedName("v") - @Export("subWidth") - public int subWidth; - @ObfuscatedName("x") - @Export("subHeight") - public int subHeight; - @ObfuscatedName("w") - @Export("xOffset") - public int xOffset; - @ObfuscatedName("t") - @Export("yOffset") - int yOffset; - @ObfuscatedName("j") - @Export("width") - public int width; - @ObfuscatedName("n") - @Export("height") - public int height; - - public SpritePixels(int[] var1, int var2, int var3) { - this.pixels = var1; // L: 26 - this.subWidth = this.width = var2; // L: 27 - this.subHeight = this.height = var3; // L: 28 - this.yOffset = 0; // L: 29 - this.xOffset = 0; // L: 30 - } // L: 31 - - public SpritePixels(int var1, int var2) { - this(new int[var2 * var1], var1, var2); // L: 22 - } // L: 23 - - SpritePixels() { - } // L: 19 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "()Llm;" - ) - @Export("mirrorHorizontally") - public SpritePixels mirrorHorizontally() { - SpritePixels var1 = new SpritePixels(this.subWidth, this.subHeight); // L: 34 - var1.width = this.width; // L: 35 - var1.height = this.height; // L: 36 - var1.xOffset = this.width - this.subWidth - this.xOffset; // L: 37 - var1.yOffset = this.yOffset; // L: 38 - - for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 39 - for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 40 - var1.pixels[var3 + var2 * this.subWidth] = this.pixels[var2 * this.subWidth + this.subWidth - 1 - var3]; // L: 41 - } - } - - return var1; // L: 44 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "()Llm;" - ) - @Export("copyNormalized") - public SpritePixels copyNormalized() { - SpritePixels var1 = new SpritePixels(this.width, this.height); // L: 48 - - for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 49 - for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 50 - var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; // L: 51 - } - } - - return var1; // L: 54 - } - - @ObfuscatedName("x") - @Export("setRaster") - public void setRaster() { - Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); // L: 58 - } // L: 59 - - @ObfuscatedName("w") - @Export("normalize") - public void normalize() { - if (this.subWidth != this.width || this.subHeight != this.height) { // L: 62 - int[] var1 = new int[this.width * this.height]; // L: 63 - - for (int var2 = 0; var2 < this.subHeight; ++var2) { // L: 64 - for (int var3 = 0; var3 < this.subWidth; ++var3) { // L: 65 - var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; // L: 66 - } - } - - this.pixels = var1; // L: 69 - this.subWidth = this.width; // L: 70 - this.subHeight = this.height; // L: 71 - this.xOffset = 0; // L: 72 - this.yOffset = 0; // L: 73 - } - } // L: 74 - - @ObfuscatedName("t") - @Export("pad") - public void pad(int var1) { - if (this.subWidth != this.width || this.subHeight != this.height) { // L: 77 - int var2 = var1; // L: 78 - if (var1 > this.xOffset) { // L: 79 - var2 = this.xOffset; - } - - int var3 = var1; // L: 80 - if (var1 + this.xOffset + this.subWidth > this.width) { // L: 81 - var3 = this.width - this.xOffset - this.subWidth; - } - - int var4 = var1; // L: 82 - if (var1 > this.yOffset) { // L: 83 - var4 = this.yOffset; - } - - int var5 = var1; // L: 84 - if (var1 + this.yOffset + this.subHeight > this.height) { // L: 85 - var5 = this.height - this.yOffset - this.subHeight; - } - - int var6 = var2 + var3 + this.subWidth; // L: 86 - int var7 = var4 + var5 + this.subHeight; // L: 87 - int[] var8 = new int[var6 * var7]; // L: 88 - - for (int var9 = 0; var9 < this.subHeight; ++var9) { // L: 89 - for (int var10 = 0; var10 < this.subWidth; ++var10) { // L: 90 - var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth]; // L: 91 - } - } - - this.pixels = var8; // L: 94 - this.subWidth = var6; // L: 95 - this.subHeight = var7; // L: 96 - this.xOffset -= var2; // L: 97 - this.yOffset -= var4; // L: 98 - } - } // L: 99 - - @ObfuscatedName("j") - @Export("flipHorizontally") - public void flipHorizontally() { - int[] var1 = new int[this.subWidth * this.subHeight]; // L: 102 - int var2 = 0; // L: 103 - - for (int var3 = 0; var3 < this.subHeight; ++var3) { // L: 104 - for (int var4 = this.subWidth - 1; var4 >= 0; --var4) { - var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; // L: 105 - } - } - - this.pixels = var1; // L: 107 - this.xOffset = this.width - this.subWidth - this.xOffset; // L: 108 - } // L: 109 - - @ObfuscatedName("n") - @Export("flipVertically") - public void flipVertically() { - int[] var1 = new int[this.subWidth * this.subHeight]; // L: 112 - int var2 = 0; // L: 113 - - for (int var3 = this.subHeight - 1; var3 >= 0; --var3) { // L: 114 - for (int var4 = 0; var4 < this.subWidth; ++var4) { // L: 115 - var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; - } - } - - this.pixels = var1; // L: 117 - this.yOffset = this.height - this.subHeight - this.yOffset; // L: 118 - } // L: 119 - - @ObfuscatedName("p") - @Export("outline") - public void outline(int var1) { - int[] var2 = new int[this.subWidth * this.subHeight]; // L: 122 - int var3 = 0; // L: 123 - - for (int var4 = 0; var4 < this.subHeight; ++var4) { // L: 124 - for (int var5 = 0; var5 < this.subWidth; ++var5) { // L: 125 - int var6 = this.pixels[var3]; // L: 126 - if (var6 == 0) { // L: 127 - if (var5 > 0 && this.pixels[var3 - 1] != 0) { // L: 128 - var6 = var1; - } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { // L: 129 - var6 = var1; - } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { - var6 = var1; // L: 130 - } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { // L: 131 - var6 = var1; - } - } - - var2[var3++] = var6; // L: 133 - } - } - - this.pixels = var2; // L: 136 - } // L: 137 - - @ObfuscatedName("l") - @Export("shadow") - public void shadow(int var1) { - for (int var2 = this.subHeight - 1; var2 > 0; --var2) { // L: 140 - int var3 = var2 * this.subWidth; // L: 141 - - for (int var4 = this.subWidth - 1; var4 > 0; --var4) { // L: 142 - if (this.pixels[var4 + var3] == 0 && this.pixels[var4 + var3 - 1 - this.subWidth] != 0) { - this.pixels[var4 + var3] = var1; // L: 143 - } - } - } - - } // L: 146 - - @ObfuscatedName("z") - @Export("drawAt") - public void drawAt(int var1, int var2) { - var1 += this.xOffset; // L: 149 - var2 += this.yOffset; // L: 150 - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 151 - int var4 = 0; // L: 152 - int var5 = this.subHeight; // L: 153 - int var6 = this.subWidth; // L: 154 - int var7 = Rasterizer2D.Rasterizer2D_width - var6; // L: 155 - int var8 = 0; // L: 156 - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 157 - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 158 - var5 -= var9; // L: 159 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 160 - var4 += var9 * var6; // L: 161 - var3 += var9 * Rasterizer2D.Rasterizer2D_width; // L: 162 - } - - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 164 - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 165 - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 166 - var6 -= var9; // L: 167 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 168 - var4 += var9; // L: 169 - var3 += var9; // L: 170 - var8 += var9; // L: 171 - var7 += var9; // L: 172 - } - - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 174 - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 175 - var6 -= var9; // L: 176 - var8 += var9; // L: 177 - var7 += var9; // L: 178 - } - - if (var6 > 0 && var5 > 0) { // L: 180 - Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); // L: 181 - } - } // L: 182 - - @ObfuscatedName("e") - @Export("drawTransBgAt") - public void drawTransBgAt(int var1, int var2) { - var1 += this.xOffset; // L: 203 - var2 += this.yOffset; // L: 204 - int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 205 - int var4 = 0; // L: 206 - int var5 = this.subHeight; // L: 207 - int var6 = this.subWidth; // L: 208 - int var7 = Rasterizer2D.Rasterizer2D_width - var6; // L: 209 - int var8 = 0; // L: 210 - int var9; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 211 - var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 212 - var5 -= var9; // L: 213 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 214 - var4 += var9 * var6; // L: 215 - var3 += var9 * Rasterizer2D.Rasterizer2D_width; // L: 216 - } - - if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 218 - var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 219 - var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 220 - var6 -= var9; // L: 221 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 222 - var4 += var9; // L: 223 - var3 += var9; // L: 224 - var8 += var9; // L: 225 - var7 += var9; // L: 226 - } - - if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 228 - var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 229 - var6 -= var9; // L: 230 - var8 += var9; // L: 231 - var7 += var9; // L: 232 - } - - if (var6 > 0 && var5 > 0) { // L: 234 - Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); // L: 235 - } - } // L: 236 - - @ObfuscatedName("c") - @Export("drawScaledAt") - public void drawScaledAt(int var1, int var2, int var3, int var4) { - if (var3 > 0 && var4 > 0) { // L: 267 - int var5 = this.subWidth; // L: 268 - int var6 = this.subHeight; // L: 269 - int var7 = 0; // L: 270 - int var8 = 0; // L: 271 - int var9 = this.width; // L: 272 - int var10 = this.height; // L: 273 - int var11 = (var9 << 16) / var3; // L: 274 - int var12 = (var10 << 16) / var4; // L: 275 - int var13; - if (this.xOffset > 0) { // L: 276 - var13 = (var11 + (this.xOffset << 16) - 1) / var11; // L: 277 - var1 += var13; // L: 278 - var7 += var13 * var11 - (this.xOffset << 16); // L: 279 - } - - if (this.yOffset > 0) { // L: 281 - var13 = (var12 + (this.yOffset << 16) - 1) / var12; // L: 282 - var2 += var13; // L: 283 - var8 += var13 * var12 - (this.yOffset << 16); // L: 284 - } - - if (var5 < var9) { // L: 286 - var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; - } - - if (var6 < var10) { // L: 287 - var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 288 - int var14 = Rasterizer2D.Rasterizer2D_width - var3; // L: 289 - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 290 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var15; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 291 - var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 292 - var4 -= var15; // L: 293 - var13 += var15 * Rasterizer2D.Rasterizer2D_width; // L: 294 - var8 += var12 * var15; // L: 295 - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 297 - var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 298 - var3 -= var15; // L: 299 - var14 += var15; // L: 300 - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 302 - var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 303 - var3 -= var15; // L: 304 - var13 += var15; // L: 305 - var7 += var11 * var15; // L: 306 - var14 += var15; // L: 307 - } - - Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); // L: 309 - } - } // L: 310 - - @ObfuscatedName("f") - @Export("drawTransOverlayAt") - public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { - if (var3 == 256) { // L: 329 - this.drawTransBgAt(var1, var2); // L: 330 - } else { - var1 += this.xOffset; // L: 333 - var2 += this.yOffset; // L: 334 - int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 335 - int var6 = 0; // L: 336 - int var7 = this.subHeight; // L: 337 - int var8 = this.subWidth; // L: 338 - int var9 = Rasterizer2D.Rasterizer2D_width - var8; // L: 339 - int var10 = 0; // L: 340 - int var11; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 341 - var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 342 - var7 -= var11; // L: 343 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 344 - var6 += var11 * var8; // L: 345 - var5 += var11 * Rasterizer2D.Rasterizer2D_width; // L: 346 - } - - if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 348 - var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 349 - var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 350 - var8 -= var11; // L: 351 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 352 - var6 += var11; // L: 353 - var5 += var11; // L: 354 - var10 += var11; // L: 355 - var9 += var11; // L: 356 - } - - if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 358 - var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 359 - var8 -= var11; // L: 360 - var10 += var11; // L: 361 - var9 += var11; // L: 362 - } - - if (var8 > 0 && var7 > 0) { // L: 364 - Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); // L: 365 - } - } - } // L: 331 366 - - @ObfuscatedName("r") - @Export("drawTransAt") - public void drawTransAt(int var1, int var2, int var3) { - var1 += this.xOffset; // L: 389 - var2 += this.yOffset; // L: 390 - int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 391 - int var5 = 0; // L: 392 - int var6 = this.subHeight; // L: 393 - int var7 = this.subWidth; // L: 394 - int var8 = Rasterizer2D.Rasterizer2D_width - var7; // L: 395 - int var9 = 0; // L: 396 - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 397 - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 398 - var6 -= var10; // L: 399 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 400 - var5 += var10 * var7; // L: 401 - var4 += var10 * Rasterizer2D.Rasterizer2D_width; // L: 402 - } - - if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 404 - var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 405 - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 406 - var7 -= var10; // L: 407 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 408 - var5 += var10; // L: 409 - var4 += var10; // L: 410 - var9 += var10; // L: 411 - var8 += var10; // L: 412 - } - - if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 414 - var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 415 - var7 -= var10; // L: 416 - var9 += var10; // L: 417 - var8 += var10; // L: 418 - } - - if (var7 > 0 && var6 > 0) { // L: 420 - Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); // L: 421 - } - } // L: 422 - - @ObfuscatedName("g") - @Export("drawTransScaledAt") - public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { - if (var3 > 0 && var4 > 0) { // L: 441 - int var6 = this.subWidth; // L: 442 - int var7 = this.subHeight; // L: 443 - int var8 = 0; // L: 444 - int var9 = 0; // L: 445 - int var10 = this.width; // L: 446 - int var11 = this.height; // L: 447 - int var12 = (var10 << 16) / var3; // L: 448 - int var13 = (var11 << 16) / var4; // L: 449 - int var14; - if (this.xOffset > 0) { // L: 450 - var14 = (var12 + (this.xOffset << 16) - 1) / var12; // L: 451 - var1 += var14; // L: 452 - var8 += var14 * var12 - (this.xOffset << 16); // L: 453 - } - - if (this.yOffset > 0) { // L: 455 - var14 = (var13 + (this.yOffset << 16) - 1) / var13; // L: 456 - var2 += var14; // L: 457 - var9 += var14 * var13 - (this.yOffset << 16); // L: 458 - } - - if (var6 < var10) { // L: 460 - var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - if (var7 < var11) { // L: 461 - var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; - } - - var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 462 - int var15 = Rasterizer2D.Rasterizer2D_width - var3; // L: 463 - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 464 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var16; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 465 - var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 466 - var4 -= var16; // L: 467 - var14 += var16 * Rasterizer2D.Rasterizer2D_width; // L: 468 - var9 += var13 * var16; // L: 469 - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 471 - var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 472 - var3 -= var16; // L: 473 - var15 += var16; // L: 474 - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 476 - var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 477 - var3 -= var16; // L: 478 - var14 += var16; // L: 479 - var8 += var12 * var16; // L: 480 - var15 += var16; // L: 481 - } - - Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); // L: 483 - } - } // L: 484 - - @ObfuscatedName("an") - public void method6181(int var1, int var2, int var3) { - var1 += this.xOffset; // L: 507 - var2 += this.yOffset; // L: 508 - int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 509 - int var5 = 0; // L: 510 - int var6 = this.subHeight; // L: 511 - int var7 = this.subWidth; // L: 512 - int var8 = Rasterizer2D.Rasterizer2D_width - var7; // L: 513 - int var9 = 0; // L: 514 - int var10; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 515 - var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 516 - var6 -= var10; // L: 517 - var2 = Rasterizer2D.Rasterizer2D_yClipStart; // L: 518 - var5 += var10 * var7; // L: 519 - var4 += var10 * Rasterizer2D.Rasterizer2D_width; // L: 520 - } - - if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 522 - var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 523 - var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 524 - var7 -= var10; // L: 525 - var1 = Rasterizer2D.Rasterizer2D_xClipStart; // L: 526 - var5 += var10; // L: 527 - var4 += var10; // L: 528 - var9 += var10; // L: 529 - var8 += var10; // L: 530 - } - - if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 532 - var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 533 - var7 -= var10; // L: 534 - var9 += var10; // L: 535 - var8 += var10; // L: 536 - } - - if (var7 > 0 && var6 > 0) { // L: 538 - if (var3 == 256) { - method6253(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); // L: 539 - } else { - method6183(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); // L: 540 - } - - } - } // L: 541 - - @ObfuscatedName("ag") - public void method6184(int var1, int var2, int var3, int var4, int var5) { - if (var3 > 0 && var4 > 0) { // L: 582 - int var6 = this.subWidth; // L: 583 - int var7 = this.subHeight; // L: 584 - int var8 = 0; // L: 585 - int var9 = 0; // L: 586 - int var10 = this.width; // L: 587 - int var11 = this.height; // L: 588 - int var12 = (var10 << 16) / var3; // L: 589 - int var13 = (var11 << 16) / var4; // L: 590 - int var14; - if (this.xOffset > 0) { // L: 591 - var14 = (var12 + (this.xOffset << 16) - 1) / var12; // L: 592 - var1 += var14; // L: 593 - var8 += var14 * var12 - (this.xOffset << 16); // L: 594 - } - - if (this.yOffset > 0) { // L: 596 - var14 = (var13 + (this.yOffset << 16) - 1) / var13; // L: 597 - var2 += var14; // L: 598 - var9 += var14 * var13 - (this.yOffset << 16); // L: 599 - } - - if (var6 < var10) { // L: 601 - var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; - } - - if (var7 < var11) { // L: 602 - var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; - } - - var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 603 - int var15 = Rasterizer2D.Rasterizer2D_width - var3; // L: 604 - if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 605 - var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; - } - - int var16; - if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 606 - var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; // L: 607 - var4 -= var16; // L: 608 - var14 += var16 * Rasterizer2D.Rasterizer2D_width; // L: 609 - var9 += var13 * var16; // L: 610 - } - - if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 612 - var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; // L: 613 - var3 -= var16; // L: 614 - var15 += var16; // L: 615 - } - - if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 617 - var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; // L: 618 - var3 -= var16; // L: 619 - var14 += var16; // L: 620 - var8 += var12 * var16; // L: 621 - var15 += var16; // L: 622 - } - - if (var5 == 256) { // L: 624 - method6250(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); - } else { - method6249(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); // L: 625 - } - - } - } // L: 626 - - @ObfuscatedName("ae") - public void method6236(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { - int var9 = var2 < 0 ? -var2 : 0; // L: 675 - int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; // L: 676 - int var11 = var1 < 0 ? -var1 : 0; // L: 677 - int var10000; - if (this.subWidth + var1 <= var5) { // L: 678 - var10000 = this.subWidth; - } else { - var10000 = var5 - var1; - } - - int var13 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; // L: 679 - int var14 = var9 + var2; // L: 680 - - for (int var15 = var9; var15 < var10; ++var15) { // L: 681 - int var16 = var7[var14]; // L: 682 - int var17 = var8[var14++]; // L: 683 - int var18 = var13; // L: 684 - int var19; - if (var1 < var16) { // L: 686 - var19 = var16 - var1; // L: 687 - var18 = var13 + (var19 - var11); // L: 688 - } else { - var19 = var11; // L: 690 - } - - int var12; - if (this.subWidth + var1 <= var16 + var17) { // L: 691 - var12 = this.subWidth; - } else { - var12 = var16 + var17 - var1; // L: 692 - } - - for (int var20 = var19; var20 < var12; ++var20) { // L: 693 - int var21 = this.pixels[var20 + var15 * this.subWidth]; // L: 694 - if (var21 != 0) { - Rasterizer2D.Rasterizer2D_pixels[var18++] = var21; // L: 695 - } else { - ++var18; // L: 696 - } - } - - var13 += Rasterizer2D.Rasterizer2D_width; // L: 698 - } - - } // L: 700 - - @ObfuscatedName("ac") - @Export("drawRotatedMaskedCenteredAround") - public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { - try { - int var11 = -var3 / 2; // L: 704 - int var12 = -var4 / 2; // L: 705 - int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); // L: 706 - int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); // L: 707 - var13 = var13 * var8 >> 8; // L: 708 - var14 = var14 * var8 >> 8; // L: 709 - int var15 = var12 * var13 + var11 * var14 + (var5 << 16); // L: 710 - int var16 = var12 * var14 - var11 * var13 + (var6 << 16); // L: 711 - int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 712 - - for (var2 = 0; var2 < var4; ++var2) { // L: 713 - int var18 = var9[var2]; // L: 714 - int var19 = var17 + var18; // L: 715 - int var20 = var15 + var14 * var18; // L: 716 - int var21 = var16 - var13 * var18; // L: 717 - - for (var1 = -var10[var2]; var1 < 0; ++var1) { // L: 718 - Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; // L: 719 - var20 += var14; // L: 720 - var21 -= var13; // L: 721 - } - - var15 += var13; // L: 723 - var16 += var14; // L: 724 - var17 += Rasterizer2D.Rasterizer2D_width; // L: 725 - } - } catch (Exception var23) { // L: 728 - } - - } // L: 729 - - @ObfuscatedName("ak") - public void method6189(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { - try { - int var10 = -var3 / 2; // L: 733 - int var11 = -var4 / 2; // L: 734 - int var12 = (int)(Math.sin(var7) * 65536.0D); // L: 735 - int var13 = (int)(Math.cos(var7) * 65536.0D); // L: 736 - var12 = var12 * var9 >> 8; // L: 737 - var13 = var13 * var9 >> 8; // L: 738 - int var14 = var11 * var12 + var10 * var13 + (var5 << 16); // L: 739 - int var15 = var11 * var13 - var10 * var12 + (var6 << 16); // L: 740 - int var16 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; // L: 741 - - for (var2 = 0; var2 < var4; ++var2) { // L: 742 - int var17 = var16; // L: 743 - int var18 = var14; // L: 744 - int var19 = var15; // L: 745 - - for (var1 = -var3; var1 < 0; ++var1) { // L: 746 - int var20 = this.pixels[this.subWidth * (var19 >> 16) + (var18 >> 16)]; // L: 747 - if (var20 != 0) { // L: 748 - Rasterizer2D.Rasterizer2D_pixels[var17++] = var20; - } else { - ++var17; // L: 749 - } - - var18 += var13; // L: 750 - var19 -= var12; // L: 751 - } - - var14 += var12; // L: 753 - var15 += var13; // L: 754 - var16 += Rasterizer2D.Rasterizer2D_width; // L: 755 - } - } catch (Exception var22) { // L: 758 - } - - } // L: 759 - - @ObfuscatedName("av") - public void method6190(int var1, int var2, int var3, int var4) { - this.method6191(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); // L: 762 - } // L: 763 - - @ObfuscatedName("aq") - void method6191(int var1, int var2, int var3, int var4, int var5, int var6) { - if (var6 != 0) { // L: 766 - var1 -= this.xOffset << 4; // L: 767 - var2 -= this.yOffset << 4; // L: 768 - double var7 = (double)(var5 & 65535) * 9.587379924285257E-5D; // L: 769 - int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); // L: 770 - int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); // L: 771 - int var11 = var10 * -var1 + -var2 * var9; // L: 772 - int var12 = -var2 * var10 + var9 * -(-var1); // L: 773 - int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9; // L: 774 - int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10; // L: 775 - int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1; // L: 776 - int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1); // L: 777 - int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1); // L: 778 - int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1); // L: 779 - int var19; - int var20; - if (var11 < var13) { // L: 782 - var19 = var11; // L: 783 - var20 = var13; // L: 784 - } else { - var19 = var13; // L: 787 - var20 = var11; // L: 788 - } - - if (var15 < var19) { // L: 790 - var19 = var15; - } - - if (var17 < var19) { // L: 791 - var19 = var17; - } - - if (var15 > var20) { // L: 792 - var20 = var15; - } - - if (var17 > var20) { // L: 793 - var20 = var17; - } - - int var21; - int var22; - if (var12 < var14) { // L: 796 - var21 = var12; // L: 797 - var22 = var14; // L: 798 - } else { - var21 = var14; // L: 801 - var22 = var12; // L: 802 - } - - if (var16 < var21) { // L: 804 - var21 = var16; - } - - if (var18 < var21) { // L: 805 - var21 = var18; - } - - if (var16 > var22) { // L: 806 - var22 = var16; - } - - if (var18 > var22) { // L: 807 - var22 = var18; - } - - var19 >>= 12; // L: 808 - var20 = var20 + 4095 >> 12; // L: 809 - var21 >>= 12; // L: 810 - var22 = var22 + 4095 >> 12; // L: 811 - var19 += var3; // L: 812 - var20 += var3; // L: 813 - var21 += var4; // L: 814 - var22 += var4; // L: 815 - var19 >>= 4; // L: 816 - var20 = var20 + 15 >> 4; // L: 817 - var21 >>= 4; // L: 818 - var22 = var22 + 15 >> 4; // L: 819 - if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 820 - var19 = Rasterizer2D.Rasterizer2D_xClipStart; - } - - if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 821 - var20 = Rasterizer2D.Rasterizer2D_xClipEnd; - } - - if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 822 - var21 = Rasterizer2D.Rasterizer2D_yClipStart; - } - - if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 823 - var22 = Rasterizer2D.Rasterizer2D_yClipEnd; - } - - var20 = var19 - var20; // L: 824 - if (var20 < 0) { // L: 825 - var22 = var21 - var22; // L: 826 - if (var22 < 0) { // L: 827 - int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width; // L: 828 - double var24 = 1.6777216E7D / (double)var6; // L: 829 - int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); // L: 830 - int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); // L: 831 - int var28 = (var19 << 4) + 8 - var3; // L: 832 - int var29 = (var21 << 4) + 8 - var4; // L: 833 - int var30 = (var1 << 8) - (var29 * var26 >> 4); // L: 834 - int var31 = (var29 * var27 >> 4) + (var2 << 8); // L: 835 - int var32; - int var33; - int var34; - int var35; - int var36; - int var37; - int var38; - if (var27 == 0) { // L: 837 - if (var26 == 0) { // L: 838 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 840 - var35 = var30; // L: 841 - var36 = var31; // L: 842 - var37 = var20; // L: 843 - if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) { // L: 844 845 846 847 - for (; var37 < 0; ++var37) { // L: 848 - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 849 - if (var38 != 0) { // L: 850 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 851 - } - } - } - - ++var33; // L: 839 - } - } else if (var26 < 0) { // L: 855 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 857 - var35 = var30; // L: 858 - var36 = (var28 * var26 >> 4) + var31; // L: 859 - var37 = var20; // L: 860 - if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { // L: 861 862 - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 863 - var32 = (var26 - var32) / var26; // L: 864 - var37 = var20 + var32; // L: 865 - var36 += var26 * var32; // L: 866 - var34 = var23 + var32; // L: 867 - } - - if ((var32 = (var36 - var26) / var26) > var37) { // L: 869 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 871 - if (var38 != 0) { // L: 872 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 873 - } - - var36 += var26; // L: 874 - ++var37; // L: 870 - } - } - - ++var33; // L: 856 - var30 -= var26; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 880 - var35 = var30; // L: 881 - var36 = (var28 * var26 >> 4) + var31; // L: 882 - var37 = var20; // L: 883 - if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { // L: 884 885 - if (var36 < 0) { // L: 886 - var32 = (var26 - 1 - var36) / var26; // L: 887 - var37 = var20 + var32; // L: 888 - var36 += var26 * var32; // L: 889 - var34 = var23 + var32; // L: 890 - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 892 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 894 - if (var38 != 0) { // L: 895 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 896 - } - - var36 += var26; // L: 897 - ++var37; // L: 893 - } - } - - ++var33; // L: 879 - var30 -= var26; - } - } - } else if (var27 < 0) { // L: 902 - if (var26 == 0) { // L: 903 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 905 - var35 = (var28 * var27 >> 4) + var30; // L: 906 - var36 = var31; // L: 907 - var37 = var20; // L: 908 - if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { // L: 909 910 - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 911 - var32 = (var27 - var32) / var27; // L: 912 - var37 = var20 + var32; // L: 913 - var35 += var27 * var32; // L: 914 - var34 = var23 + var32; // L: 915 - } - - if ((var32 = (var35 - var27) / var27) > var37) { // L: 917 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 919 - if (var38 != 0) { // L: 920 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 921 - } - - var35 += var27; // L: 922 - ++var37; // L: 918 - } - } - - ++var33; // L: 904 - var31 += var27; - } - } else if (var26 < 0) { // L: 926 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 928 - var35 = (var28 * var27 >> 4) + var30; // L: 929 - var36 = (var28 * var26 >> 4) + var31; // L: 930 - var37 = var20; // L: 931 - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 932 - var32 = (var27 - var32) / var27; // L: 933 - var37 = var20 + var32; // L: 934 - var35 += var27 * var32; // L: 935 - var36 += var26 * var32; // L: 936 - var34 = var23 + var32; // L: 937 - } - - if ((var32 = (var35 - var27) / var27) > var37) { // L: 939 - var37 = var32; - } - - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 940 - var32 = (var26 - var32) / var26; // L: 941 - var37 += var32; // L: 942 - var35 += var27 * var32; // L: 943 - var36 += var26 * var32; // L: 944 - var34 += var32; // L: 945 - } - - if ((var32 = (var36 - var26) / var26) > var37) { // L: 947 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 949 - if (var38 != 0) { // L: 950 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 951 - } - - var35 += var27; // L: 952 - var36 += var26; // L: 953 - ++var37; // L: 948 - } - - ++var33; // L: 927 - var30 -= var26; - var31 += var27; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 959 - var35 = (var28 * var27 >> 4) + var30; // L: 960 - var36 = (var28 * var26 >> 4) + var31; // L: 961 - var37 = var20; // L: 962 - if ((var32 = var35 - (this.subWidth << 12)) >= 0) { // L: 963 - var32 = (var27 - var32) / var27; // L: 964 - var37 = var20 + var32; // L: 965 - var35 += var27 * var32; // L: 966 - var36 += var26 * var32; // L: 967 - var34 = var23 + var32; // L: 968 - } - - if ((var32 = (var35 - var27) / var27) > var37) { // L: 970 - var37 = var32; - } - - if (var36 < 0) { // L: 971 - var32 = (var26 - 1 - var36) / var26; // L: 972 - var37 += var32; // L: 973 - var35 += var27 * var32; // L: 974 - var36 += var26 * var32; // L: 975 - var34 += var32; // L: 976 - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 978 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 980 - if (var38 != 0) { // L: 981 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 982 - } - - var35 += var27; // L: 983 - var36 += var26; // L: 984 - ++var37; // L: 979 - } - - ++var33; // L: 958 - var30 -= var26; - var31 += var27; - } - } - } else if (var26 == 0) { // L: 990 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 992 - var35 = (var28 * var27 >> 4) + var30; // L: 993 - var36 = var31; // L: 994 - var37 = var20; // L: 995 - if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { // L: 996 997 - if (var35 < 0) { // L: 998 - var32 = (var27 - 1 - var35) / var27; // L: 999 - var37 = var20 + var32; // L: 1000 - var35 += var27 * var32; // L: 1001 - var34 = var23 + var32; // L: 1002 - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1004 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1006 - if (var38 != 0) { // L: 1007 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 1008 - } - - var35 += var27; // L: 1009 - ++var37; // L: 1005 - } - } - - ++var33; // L: 991 - var31 += var27; - } - } else if (var26 < 0) { // L: 1013 - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 1015 - var35 = (var28 * var27 >> 4) + var30; // L: 1016 - var36 = (var28 * var26 >> 4) + var31; // L: 1017 - var37 = var20; // L: 1018 - if (var35 < 0) { // L: 1019 - var32 = (var27 - 1 - var35) / var27; // L: 1020 - var37 = var20 + var32; // L: 1021 - var35 += var27 * var32; // L: 1022 - var36 += var26 * var32; // L: 1023 - var34 = var23 + var32; // L: 1024 - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1026 - var37 = var32; - } - - if ((var32 = var36 - (this.subHeight << 12)) >= 0) { // L: 1027 - var32 = (var26 - var32) / var26; // L: 1028 - var37 += var32; // L: 1029 - var35 += var27 * var32; // L: 1030 - var36 += var26 * var32; // L: 1031 - var34 += var32; // L: 1032 - } - - if ((var32 = (var36 - var26) / var26) > var37) { // L: 1034 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1036 - if (var38 != 0) { // L: 1037 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 1038 - } - - var35 += var27; // L: 1039 - var36 += var26; // L: 1040 - ++var37; // L: 1035 - } - - ++var33; // L: 1014 - var30 -= var26; - var31 += var27; - } - } else { - for (var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { - var34 = var23; // L: 1046 - var35 = (var28 * var27 >> 4) + var30; // L: 1047 - var36 = (var28 * var26 >> 4) + var31; // L: 1048 - var37 = var20; // L: 1049 - if (var35 < 0) { // L: 1050 - var32 = (var27 - 1 - var35) / var27; // L: 1051 - var37 = var20 + var32; // L: 1052 - var35 += var27 * var32; // L: 1053 - var36 += var26 * var32; // L: 1054 - var34 = var23 + var32; // L: 1055 - } - - if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { // L: 1057 - var37 = var32; - } - - if (var36 < 0) { // L: 1058 - var32 = (var26 - 1 - var36) / var26; // L: 1059 - var37 += var32; // L: 1060 - var35 += var27 * var32; // L: 1061 - var36 += var26 * var32; // L: 1062 - var34 += var32; // L: 1063 - } - - if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { // L: 1065 - var37 = var32; - } - - while (var37 < 0) { - var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; // L: 1067 - if (var38 != 0) { // L: 1068 - Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; - } else { - ++var34; // L: 1069 - } - - var35 += var27; // L: 1070 - var36 += var26; // L: 1071 - ++var37; // L: 1066 - } - - ++var33; // L: 1045 - var30 -= var26; - var31 += var27; - } - } - - } - } - } - } // L: 1076 - - @ObfuscatedName("ah") - @Export("drawScaledWorldmap") - public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { - if (var3 <= this.width && var4 <= this.height) { // L: 1079 - int var5 = var3 * this.xOffset / this.width + var1; // L: 1082 - int var6 = (var3 * (this.xOffset + this.subWidth) + this.width - 1) / this.width + var1; // L: 1083 - int var7 = var2 + var4 * this.yOffset / this.height; // L: 1084 - int var8 = var2 + (this.height + (this.yOffset + this.subHeight) * var4 - 1) / this.height; // L: 1085 - if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) { // L: 1086 - var5 = Rasterizer2D.Rasterizer2D_xClipStart; - } - - if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) { // L: 1087 - var6 = Rasterizer2D.Rasterizer2D_xClipEnd; - } - - if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) { // L: 1088 - var7 = Rasterizer2D.Rasterizer2D_yClipStart; - } - - if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) { // L: 1089 - var8 = Rasterizer2D.Rasterizer2D_yClipEnd; - } - - if (var5 < var6 && var7 < var8) { // L: 1090 - int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width; // L: 1091 - int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5); // L: 1092 - if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) { // L: 1093 - for (int var11 = var7; var11 < var8; ++var11) { // L: 1096 - for (int var12 = var5; var12 < var6; ++var12) { // L: 1097 - int var13 = var12 - var1 << 4; // L: 1098 - int var14 = var11 - var2 << 4; // L: 1099 - int var15 = var13 * this.width / var3 - (this.xOffset << 4); // L: 1100 - int var16 = (var13 + 16) * this.width / var3 - (this.xOffset << 4); // L: 1101 - int var17 = var14 * this.height / var4 - (this.yOffset << 4); // L: 1102 - int var18 = (var14 + 16) * this.height / var4 - (this.yOffset << 4); // L: 1103 - int var19 = (var16 - var15) * (var18 - var17) >> 1; // L: 1104 - if (var19 != 0) { // L: 1105 - if (var15 < 0) { // L: 1106 - var15 = 0; - } - - if (var16 >= this.subWidth << 4) { // L: 1107 - var16 = this.subWidth << 4; - } - - if (var17 < 0) { // L: 1108 - var17 = 0; - } - - if (var18 >= this.subHeight << 4) { // L: 1109 - var18 = this.subHeight << 4; - } - - --var16; // L: 1110 - --var18; // L: 1111 - int var20 = 16 - (var15 & 15); // L: 1112 - int var21 = (var16 & 15) + 1; // L: 1113 - int var22 = 16 - (var17 & 15); // L: 1114 - int var23 = (var18 & 15) + 1; // L: 1115 - var15 >>= 4; // L: 1116 - var16 >>= 4; // L: 1117 - var17 >>= 4; // L: 1118 - var18 >>= 4; // L: 1119 - int var24 = 0; // L: 1120 - int var25 = 0; // L: 1121 - int var26 = 0; // L: 1122 - int var27 = 0; // L: 1123 - - int var28; - for (var28 = var17; var28 <= var18; ++var28) { // L: 1124 - int var29 = 16; // L: 1125 - if (var28 == var17) { // L: 1126 - var29 = var22; - } - - if (var28 == var18) { // L: 1127 - var29 = var23; - } - - for (int var30 = var15; var30 <= var16; ++var30) { // L: 1128 - int var31 = this.pixels[var30 + var28 * this.subWidth]; // L: 1129 - if (var31 != 0) { // L: 1130 - int var32; - if (var30 == var15) { // L: 1132 - var32 = var29 * var20; - } else if (var30 == var16) { // L: 1133 - var32 = var29 * var21; - } else { - var32 = var29 << 4; // L: 1134 - } - - var27 += var32; // L: 1135 - var24 += var32 * (var31 >> 16 & 255); // L: 1136 - var25 += var32 * (var31 >> 8 & 255); // L: 1137 - var26 += (var31 & 255) * var32; // L: 1138 - } - } - } - - if (var27 >= var19) { // L: 1142 - var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8); // L: 1143 - if (var28 == 0) { // L: 1144 - var28 = 1; - } - - Rasterizer2D.Rasterizer2D_pixels[var9] = var28; // L: 1145 - } - - ++var9; // L: 1147 - } - } - - var9 += var10; // L: 1149 - } - - } - } - } else { - throw new IllegalArgumentException(); // L: 1080 - } - } // L: 1094 1151 - - @ObfuscatedName("u") - @Export("Sprite_draw") - static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { - for (int var8 = -var5; var8 < 0; ++var8) { // L: 185 - int var9; - for (var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { // L: 186 187 191 - var0[var3++] = var1[var2++]; // L: 188 - var0[var3++] = var1[var2++]; // L: 189 - var0[var3++] = var1[var2++]; // L: 190 - } - - for (var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { // L: 193 194 195 - } - - var3 += var6; // L: 197 - var2 += var7; // L: 198 - } - - } // L: 200 - - @ObfuscatedName("m") - @Export("Sprite_drawTransBg") - static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int var9 = -(var5 >> 2); // L: 239 - var5 = -(var5 & 3); // L: 240 - - for (int var10 = -var6; var10 < 0; ++var10) { // L: 241 - int var11; - for (var11 = var9; var11 < 0; ++var11) { // L: 242 - var2 = var1[var3++]; // L: 243 - if (var2 != 0) { // L: 244 - var0[var4++] = var2; - } else { - ++var4; // L: 245 - } - - var2 = var1[var3++]; // L: 246 - if (var2 != 0) { // L: 247 - var0[var4++] = var2; - } else { - ++var4; // L: 248 - } - - var2 = var1[var3++]; // L: 249 - if (var2 != 0) { // L: 250 - var0[var4++] = var2; - } else { - ++var4; // L: 251 - } - - var2 = var1[var3++]; // L: 252 - if (var2 != 0) { // L: 253 - var0[var4++] = var2; - } else { - ++var4; // L: 254 - } - } - - for (var11 = var5; var11 < 0; ++var11) { // L: 256 - var2 = var1[var3++]; // L: 257 - if (var2 != 0) { // L: 258 - var0[var4++] = var2; - } else { - ++var4; // L: 259 - } - } - - var4 += var7; // L: 261 - var3 += var8; // L: 262 - } - - } // L: 264 - - @ObfuscatedName("i") - @Export("Sprite_drawScaled") - static void Sprite_drawScaled(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { - int var12 = var3; // L: 313 - - for (int var13 = -var8; var13 < 0; ++var13) { // L: 314 - int var14 = var11 * (var4 >> 16); // L: 315 - - for (int var15 = -var7; var15 < 0; ++var15) { // L: 316 - var2 = var1[(var3 >> 16) + var14]; // L: 317 - if (var2 != 0) { // L: 318 - var0[var5++] = var2; - } else { - ++var5; // L: 319 - } - - var3 += var9; // L: 320 - } - - var4 += var10; // L: 322 - var3 = var12; // L: 323 - var5 += var6; // L: 324 - } - - } // L: 326 - - @ObfuscatedName("y") - @Export("Sprite_drawTransOverlay") - static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - int var11 = 256 - var9; // L: 369 - int var12 = (var10 & 16711935) * var11 & -16711936; // L: 370 - int var13 = (var10 & 65280) * var11 & 16711680; // L: 371 - var10 = (var12 | var13) >>> 8; // L: 372 - - for (int var14 = -var6; var14 < 0; ++var14) { // L: 373 - for (int var15 = -var5; var15 < 0; ++var15) { // L: 374 - var2 = var1[var3++]; // L: 375 - if (var2 != 0) { // L: 376 - var12 = var9 * (var2 & 16711935) & -16711936; // L: 377 - var13 = (var2 & 65280) * var9 & 16711680; // L: 378 - var0[var4++] = var10 + ((var12 | var13) >>> 8); // L: 379 - } else { - ++var4; // L: 381 - } - } - - var4 += var7; // L: 383 - var3 += var8; // L: 384 - } - - } // L: 386 - - @ObfuscatedName("q") - @Export("Sprite_drawTransparent") - static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { - int var10 = 256 - var9; // L: 425 - - for (int var11 = -var6; var11 < 0; ++var11) { // L: 426 - for (int var12 = -var5; var12 < 0; ++var12) { // L: 427 - var2 = var1[var3++]; // L: 428 - if (var2 != 0) { // L: 429 - int var13 = var0[var4]; // L: 430 - var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & 65280) * var9 + var10 * (var13 & 65280) & 16711680) >> 8; // L: 431 - } else { - ++var4; // L: 433 - } - } - - var4 += var7; // L: 435 - var3 += var8; // L: 436 - } - - } // L: 438 - - @ObfuscatedName("o") - @Export("Sprite_drawTransScaled") - static void Sprite_drawTransScaled(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { - int var13 = 256 - var12; // L: 487 - int var14 = var3; // L: 488 - - for (int var15 = -var8; var15 < 0; ++var15) { // L: 489 - int var16 = var11 * (var4 >> 16); // L: 490 - - for (int var17 = -var7; var17 < 0; ++var17) { // L: 491 - var2 = var1[(var3 >> 16) + var16]; // L: 492 - if (var2 != 0) { // L: 493 - int var18 = var0[var5]; // L: 494 - var0[var5++] = ((var2 & 65280) * var12 + var13 * (var18 & 65280) & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8; // L: 495 - } else { - ++var5; // L: 497 - } - - var3 += var9; // L: 498 - } - - var4 += var10; // L: 500 - var3 = var14; // L: 501 - var5 += var6; // L: 502 - } - - } // L: 504 - - @ObfuscatedName("aj") - static void method6253(int var0, int var1, int var2, int[] var3, int[] var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { - for (var8 = -var10; var8 < 0; ++var8) { // L: 544 - for (var6 = -var9; var6 < 0; ++var6) { // L: 545 - var0 = var4[var5++]; // L: 546 - if (var0 != 0) { // L: 547 - var1 = var3[var7]; // L: 548 - var2 = var0 + var1; // L: 549 - var0 = (var0 & 16711935) + (var1 & 16711935); // L: 550 - var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 551 - var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); // L: 552 - } else { - ++var7; // L: 554 - } - } - - var7 += var11; // L: 556 - var5 += var12; // L: 557 - } - - } // L: 559 - - @ObfuscatedName("ax") - static void method6183(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) { - for (var8 = -var10; var8 < 0; ++var8) { // L: 562 - for (var6 = -var9; var6 < 0; ++var6) { // L: 563 - var0 = var4[var5++]; // L: 564 - if (var0 != 0) { // L: 565 - var1 = var13 * (var0 & 16711935); // L: 566 - var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8; // L: 567 - var1 = var3[var7]; // L: 568 - var2 = var0 + var1; // L: 569 - var0 = (var0 & 16711935) + (var1 & 16711935); // L: 570 - var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 571 - var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); // L: 572 - } else { - ++var7; // L: 574 - } - } - - var7 += var11; // L: 576 - var5 += var12; // L: 577 - } - - } // L: 579 - - @ObfuscatedName("au") - static void method6250(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) { - for (int var16 = var3; var8 < 0; ++var8) { // L: 629 630 - var7 = var15 * (var9 >> 16); // L: 631 - - for (var6 = -var12; var6 < 0; ++var6) { // L: 632 - var0 = var4[(var3 >> 16) + var7]; // L: 633 - if (var0 != 0) { // L: 634 - var1 = var5[var10]; // L: 635 - var2 = var0 + var1; // L: 636 - var0 = (var0 & 16711935) + (var1 & 16711935); // L: 637 - var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 638 - var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); // L: 639 - } else { - ++var10; // L: 641 - } - - var3 += var13; // L: 642 - } - - var9 += var14; // L: 644 - var3 = var16; // L: 645 - var10 += var11; // L: 646 - } - - } // L: 648 - - @ObfuscatedName("as") - static void method6249(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) { - for (int var17 = var3; var8 < 0; ++var8) { // L: 651 652 - var7 = var15 * (var9 >> 16); // L: 653 - - for (var6 = -var12; var6 < 0; ++var6) { // L: 654 - var0 = var4[(var3 >> 16) + var7]; // L: 655 - if (var0 != 0) { // L: 656 - var1 = (var0 & 16711935) * var16; // L: 657 - var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8; // L: 658 - var1 = var5[var10]; // L: 659 - var2 = var0 + var1; // L: 660 - var0 = (var0 & 16711935) + (var1 & 16711935); // L: 661 - var1 = (var0 & 16777472) + (var2 - var0 & 65536); // L: 662 - var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); // L: 663 - } else { - ++var10; // L: 665 - } - - var3 += var13; // L: 666 - } - - var9 += var14; // L: 668 - var3 = var17; // L: 669 - var10 += var11; // L: 670 - } - - } // L: 672 + @ObfuscatedName("n") + @Export("pixels") + public int[] pixels; + @ObfuscatedName("v") + @Export("subWidth") + public int subWidth; + @ObfuscatedName("d") + @Export("subHeight") + public int subHeight; + @ObfuscatedName("c") + @Export("xOffset") + public int xOffset; + @ObfuscatedName("y") + @Export("yOffset") + int yOffset; + @ObfuscatedName("h") + @Export("width") + public int width; + @ObfuscatedName("z") + @Export("height") + public int height; + + public SpritePixels(int[] var1, int var2, int var3) { + this.pixels = var1; + this.subWidth = this.width = var2; + this.subHeight = this.height = var3; + this.yOffset = 0; + this.xOffset = 0; + } + + public SpritePixels(int var1, int var2) { + this(new int[var2 * var1], var1, var2); + } + + SpritePixels() { + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "()Llm;" + ) + @Export("mirrorHorizontally") + public SpritePixels mirrorHorizontally() { + SpritePixels var1 = new SpritePixels(this.subWidth, this.subHeight); + var1.width = this.width; + var1.height = this.height; + var1.xOffset = this.width - this.subWidth - this.xOffset; + var1.yOffset = this.yOffset; + + for(int var2 = 0; var2 < this.subHeight; ++var2) { + for(int var3 = 0; var3 < this.subWidth; ++var3) { + var1.pixels[var3 + var2 * this.subWidth] = this.pixels[var2 * this.subWidth + this.subWidth - 1 - var3]; + } + } + + return var1; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "()Llm;" + ) + @Export("copyNormalized") + public SpritePixels copyNormalized() { + SpritePixels var1 = new SpritePixels(this.width, this.height); + + for(int var2 = 0; var2 < this.subHeight; ++var2) { + for(int var3 = 0; var3 < this.subWidth; ++var3) { + var1.pixels[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + return var1; + } + + @ObfuscatedName("d") + @Export("setRaster") + public void setRaster() { + Rasterizer2D.Rasterizer2D_replace(this.pixels, this.subWidth, this.subHeight); + } + + @ObfuscatedName("c") + @Export("normalize") + public void normalize() { + if (this.subWidth != this.width || this.subHeight != this.height) { + int[] var1 = new int[this.width * this.height]; + + for(int var2 = 0; var2 < this.subHeight; ++var2) { + for(int var3 = 0; var3 < this.subWidth; ++var3) { + var1[var3 + (var2 + this.yOffset) * this.width + this.xOffset] = this.pixels[var3 + var2 * this.subWidth]; + } + } + + this.pixels = var1; + this.subWidth = this.width; + this.subHeight = this.height; + this.xOffset = 0; + this.yOffset = 0; + } + } + + @ObfuscatedName("y") + @Export("pad") + public void pad(int var1) { + if (this.subWidth != this.width || this.subHeight != this.height) { + int var2 = var1; + if (var1 > this.xOffset) { + var2 = this.xOffset; + } + + int var3 = var1; + if (var1 + this.xOffset + this.subWidth > this.width) { + var3 = this.width - this.xOffset - this.subWidth; + } + + int var4 = var1; + if (var1 > this.yOffset) { + var4 = this.yOffset; + } + + int var5 = var1; + if (var1 + this.yOffset + this.subHeight > this.height) { + var5 = this.height - this.yOffset - this.subHeight; + } + + int var6 = var2 + var3 + this.subWidth; + int var7 = var4 + var5 + this.subHeight; + int[] var8 = new int[var6 * var7]; + + for(int var9 = 0; var9 < this.subHeight; ++var9) { + for(int var10 = 0; var10 < this.subWidth; ++var10) { + var8[var6 * (var9 + var4) + var10 + var2] = this.pixels[var10 + var9 * this.subWidth]; + } + } + + this.pixels = var8; + this.subWidth = var6; + this.subHeight = var7; + this.xOffset -= var2; + this.yOffset -= var4; + } + } + + @ObfuscatedName("h") + @Export("flipHorizontally") + public void flipHorizontally() { + int[] var1 = new int[this.subWidth * this.subHeight]; + int var2 = 0; + + for(int var3 = 0; var3 < this.subHeight; ++var3) { + for(int var4 = this.subWidth - 1; var4 >= 0; --var4) { + var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; + } + } + + this.pixels = var1; + this.xOffset = this.width - this.subWidth - this.xOffset; + } + + @ObfuscatedName("z") + @Export("flipVertically") + public void flipVertically() { + int[] var1 = new int[this.subWidth * this.subHeight]; + int var2 = 0; + + for(int var3 = this.subHeight - 1; var3 >= 0; --var3) { + for(int var4 = 0; var4 < this.subWidth; ++var4) { + var1[var2++] = this.pixels[var4 + var3 * this.subWidth]; + } + } + + this.pixels = var1; + this.yOffset = this.height - this.subHeight - this.yOffset; + } + + @ObfuscatedName("e") + @Export("outline") + public void outline(int var1) { + int[] var2 = new int[this.subWidth * this.subHeight]; + int var3 = 0; + + for(int var4 = 0; var4 < this.subHeight; ++var4) { + for(int var5 = 0; var5 < this.subWidth; ++var5) { + int var6 = this.pixels[var3]; + if (var6 == 0) { + if (var5 > 0 && this.pixels[var3 - 1] != 0) { + var6 = var1; + } else if (var4 > 0 && this.pixels[var3 - this.subWidth] != 0) { + var6 = var1; + } else if (var5 < this.subWidth - 1 && this.pixels[var3 + 1] != 0) { + var6 = var1; + } else if (var4 < this.subHeight - 1 && this.pixels[var3 + this.subWidth] != 0) { + var6 = var1; + } + } + + var2[var3++] = var6; + } + } + + this.pixels = var2; + } + + @ObfuscatedName("q") + @Export("shadow") + public void shadow(int var1) { + for(int var2 = this.subHeight - 1; var2 > 0; --var2) { + int var3 = var2 * this.subWidth; + + for(int var4 = this.subWidth - 1; var4 > 0; --var4) { + if (this.pixels[var4 + var3] == 0 && this.pixels[var4 + var3 - 1 - this.subWidth] != 0) { + this.pixels[var4 + var3] = var1; + } + } + } + + } + + @ObfuscatedName("l") + @Export("drawAt") + public void drawAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } + + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if (var6 > 0 && var5 > 0) { + Sprite_draw(Rasterizer2D.Rasterizer2D_pixels, this.pixels, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("b") + @Export("drawTransBgAt") + public void drawTransBgAt(int var1, int var2) { + var1 += this.xOffset; + var2 += this.yOffset; + int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var4 = 0; + int var5 = this.subHeight; + int var6 = this.subWidth; + int var7 = Rasterizer2D.Rasterizer2D_width - var6; + int var8 = 0; + int var9; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var5 -= var9; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var4 += var9 * var6; + var3 += var9 * Rasterizer2D.Rasterizer2D_width; + } + + if (var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var6 -= var9; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var4 += var9; + var3 += var9; + var8 += var9; + var7 += var9; + } + + if (var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var6 -= var9; + var8 += var9; + var7 += var9; + } + + if (var6 > 0 && var5 > 0) { + Sprite_drawTransBg(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var4, var3, var6, var5, var7, var8); + } + } + + @ObfuscatedName("w") + @Export("drawScaledAt") + public void drawScaledAt(int var1, int var2, int var3, int var4) { + if (var3 > 0 && var4 > 0) { + int var5 = this.subWidth; + int var6 = this.subHeight; + int var7 = 0; + int var8 = 0; + int var9 = this.width; + int var10 = this.height; + int var11 = (var9 << 16) / var3; + int var12 = (var10 << 16) / var4; + int var13; + if (this.xOffset > 0) { + var13 = (var11 + (this.xOffset << 16) - 1) / var11; + var1 += var13; + var7 += var13 * var11 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var13 = (var12 + (this.yOffset << 16) - 1) / var12; + var2 += var13; + var8 += var13 * var12 - (this.yOffset << 16); + } + + if (var5 < var9) { + var3 = (var11 + ((var5 << 16) - var7) - 1) / var11; + } + + if (var6 < var10) { + var4 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var15; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var15; + var13 += var15 * Rasterizer2D.Rasterizer2D_width; + var8 += var12 * var15; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var15; + var14 += var15; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var15; + var13 += var15; + var7 += var11 * var15; + var14 += var15; + } + + Sprite_drawScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var7, var8, var13, var14, var3, var4, var11, var12, var5); + } + } + + @ObfuscatedName("i") + @Export("drawTransOverlayAt") + public void drawTransOverlayAt(int var1, int var2, int var3, int var4) { + if (var3 == 256) { + this.drawTransBgAt(var1, var2); + } else { + var1 += this.xOffset; + var2 += this.yOffset; + int var5 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var6 = 0; + int var7 = this.subHeight; + int var8 = this.subWidth; + int var9 = Rasterizer2D.Rasterizer2D_width - var8; + int var10 = 0; + int var11; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var7 -= var11; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var6 += var11 * var8; + var5 += var11 * Rasterizer2D.Rasterizer2D_width; + } + + if (var7 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var7 -= var7 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var8 -= var11; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var6 += var11; + var5 += var11; + var10 += var11; + var9 += var11; + } + + if (var8 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var11 = var8 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var8 -= var11; + var10 += var11; + var9 += var11; + } + + if (var8 > 0 && var7 > 0) { + Sprite_drawTransOverlay(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var6, var5, var8, var7, var9, var10, var3, var4); + } + } + } + + @ObfuscatedName("g") + @Export("drawTransAt") + public void drawTransAt(int var1, int var2, int var3) { + var1 += this.xOffset; + var2 += this.yOffset; + int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var5 = 0; + int var6 = this.subHeight; + int var7 = this.subWidth; + int var8 = Rasterizer2D.Rasterizer2D_width - var7; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var6 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var5 += var10 * var7; + var4 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var7 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if (var7 > 0 && var6 > 0) { + Sprite_drawTransparent(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var5, var4, var7, var6, var8, var9, var3); + } + } + + @ObfuscatedName("t") + @Export("drawTransScaledAt") + public void drawTransScaledAt(int var1, int var2, int var3, int var4, int var5) { + if (var3 > 0 && var4 > 0) { + int var6 = this.subWidth; + int var7 = this.subHeight; + int var8 = 0; + int var9 = 0; + int var10 = this.width; + int var11 = this.height; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if (this.xOffset > 0) { + var14 = (var12 + (this.xOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var14 = (var13 + (this.yOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.yOffset << 16); + } + + if (var6 < var10) { + var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + if (var7 < var11) { + var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; + } + + var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var15 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var16; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var16; + var14 += var16 * Rasterizer2D.Rasterizer2D_width; + var9 += var13 * var16; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var16; + var15 += var16; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + Sprite_drawTransScaled(Rasterizer2D.Rasterizer2D_pixels, this.pixels, 0, var8, var9, var14, var15, var3, var4, var12, var13, var6, var5); + } + } + + @ObfuscatedName("o") + public void method6426(int var1, int var2, int var3) { + var1 += this.xOffset; + var2 += this.yOffset; + int var4 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var5 = 0; + int var6 = this.subHeight; + int var7 = this.subWidth; + int var8 = Rasterizer2D.Rasterizer2D_width - var7; + int var9 = 0; + int var10; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var6 -= var10; + var2 = Rasterizer2D.Rasterizer2D_yClipStart; + var5 += var10 * var7; + var4 += var10 * Rasterizer2D.Rasterizer2D_width; + } + + if (var6 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var6 -= var6 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var7 -= var10; + var1 = Rasterizer2D.Rasterizer2D_xClipStart; + var5 += var10; + var4 += var10; + var9 += var10; + var8 += var10; + } + + if (var7 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var10 = var7 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var7 -= var10; + var9 += var10; + var8 += var10; + } + + if (var7 > 0 && var6 > 0) { + if (var3 == 256) { + method6345(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9); + } else { + method6356(0, 0, 0, Rasterizer2D.Rasterizer2D_pixels, this.pixels, var5, 0, var4, 0, var7, var6, var8, var9, var3); + } + + } + } + + @ObfuscatedName("ag") + public void method6347(int var1, int var2, int var3, int var4, int var5) { + if (var3 > 0 && var4 > 0) { + int var6 = this.subWidth; + int var7 = this.subHeight; + int var8 = 0; + int var9 = 0; + int var10 = this.width; + int var11 = this.height; + int var12 = (var10 << 16) / var3; + int var13 = (var11 << 16) / var4; + int var14; + if (this.xOffset > 0) { + var14 = (var12 + (this.xOffset << 16) - 1) / var12; + var1 += var14; + var8 += var14 * var12 - (this.xOffset << 16); + } + + if (this.yOffset > 0) { + var14 = (var13 + (this.yOffset << 16) - 1) / var13; + var2 += var14; + var9 += var14 * var13 - (this.yOffset << 16); + } + + if (var6 < var10) { + var3 = (var12 + ((var6 << 16) - var8) - 1) / var12; + } + + if (var7 < var11) { + var4 = (var13 + ((var7 << 16) - var9) - 1) / var13; + } + + var14 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + int var15 = Rasterizer2D.Rasterizer2D_width - var3; + if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd; + } + + int var16; + if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) { + var16 = Rasterizer2D.Rasterizer2D_yClipStart - var2; + var4 -= var16; + var14 += var16 * Rasterizer2D.Rasterizer2D_width; + var9 += var13 * var16; + } + + if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var16 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd; + var3 -= var16; + var15 += var16; + } + + if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) { + var16 = Rasterizer2D.Rasterizer2D_xClipStart - var1; + var3 -= var16; + var14 += var16; + var8 += var12 * var16; + var15 += var16; + } + + if (var5 == 256) { + method6360(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6); + } else { + method6418(0, 0, 0, var8, this.pixels, Rasterizer2D.Rasterizer2D_pixels, 0, 0, -var4, var9, var14, var15, var3, var12, var13, var6, var5); + } + + } + } + + @ObfuscatedName("aq") + public void method6350(int var1, int var2, int var3, int var4, int var5, int var6, int[] var7, int[] var8) { + int var9 = var2 < 0 ? -var2 : 0; + int var10 = var2 + this.subHeight <= var6 ? this.subHeight : var6 - var2; + int var11 = var1 < 0 ? -var1 : 0; + int var10000; + if (this.subWidth + var1 <= var5) { + var10000 = this.subWidth; + } else { + var10000 = var5 - var1; + } + + int var13 = var3 + var11 + (var9 + var2 + var4) * Rasterizer2D.Rasterizer2D_width + var1; + int var14 = var9 + var2; + + for(int var15 = var9; var15 < var10; ++var15) { + int var16 = var7[var14]; + int var17 = var8[var14++]; + int var18 = var13; + int var19; + if (var1 < var16) { + var19 = var16 - var1; + var18 = var13 + (var19 - var11); + } else { + var19 = var11; + } + + int var12; + if (this.subWidth + var1 <= var16 + var17) { + var12 = this.subWidth; + } else { + var12 = var16 + var17 - var1; + } + + for(int var20 = var19; var20 < var12; ++var20) { + int var21 = this.pixels[var20 + var15 * this.subWidth]; + if (var21 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var18++] = var21; + } else { + ++var18; + } + } + + var13 += Rasterizer2D.Rasterizer2D_width; + } + + } + + @ObfuscatedName("at") + @Export("drawRotatedMaskedCenteredAround") + public void drawRotatedMaskedCenteredAround(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { + try { + int var11 = -var3 / 2; + int var12 = -var4 / 2; + int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); + int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); + var13 = var13 * var8 >> 8; + var14 = var14 * var8 >> 8; + int var15 = var12 * var13 + var11 * var14 + (var5 << 16); + int var16 = var12 * var14 - var11 * var13 + (var6 << 16); + int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + + for(var2 = 0; var2 < var4; ++var2) { + int var18 = var9[var2]; + int var19 = var17 + var18; + int var20 = var15 + var14 * var18; + int var21 = var16 - var13 * var18; + + for(var1 = -var10[var2]; var1 < 0; ++var1) { + Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; + var20 += var14; + var21 -= var13; + } + + var15 += var13; + var16 += var14; + var17 += Rasterizer2D.Rasterizer2D_width; + } + } catch (Exception var23) { + ; + } + + } + + @ObfuscatedName("ak") + public void method6393(int var1, int var2, int var3, int var4, int var5, int var6, double var7, int var9) { + try { + int var10 = -var3 / 2; + int var11 = -var4 / 2; + int var12 = (int)(Math.sin(var7) * 65536.0D); + int var13 = (int)(Math.cos(var7) * 65536.0D); + var12 = var12 * var9 >> 8; + var13 = var13 * var9 >> 8; + int var14 = var11 * var12 + var10 * var13 + (var5 << 16); + int var15 = var11 * var13 - var10 * var12 + (var6 << 16); + int var16 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; + + for(var2 = 0; var2 < var4; ++var2) { + int var17 = var16; + int var18 = var14; + int var19 = var15; + + for(var1 = -var3; var1 < 0; ++var1) { + int var20 = this.pixels[this.subWidth * (var19 >> 16) + (var18 >> 16)]; + if (var20 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var17++] = var20; + } else { + ++var17; + } + + var18 += var13; + var19 -= var12; + } + + var14 += var12; + var15 += var13; + var16 += Rasterizer2D.Rasterizer2D_width; + } + } catch (Exception var22) { + ; + } + + } + + @ObfuscatedName("ax") + public void method6425(int var1, int var2, int var3, int var4) { + this.method6369(this.width << 3, this.height << 3, var1 << 4, var2 << 4, var3, var4); + } + + @ObfuscatedName("ar") + void method6369(int var1, int var2, int var3, int var4, int var5, int var6) { + if (var6 != 0) { + var1 -= this.xOffset << 4; + var2 -= this.yOffset << 4; + double var7 = (double)(var5 & '\uffff') * 9.587379924285257E-5D; + int var9 = (int)Math.floor(Math.sin(var7) * (double)var6 + 0.5D); + int var10 = (int)Math.floor(Math.cos(var7) * (double)var6 + 0.5D); + int var11 = var10 * -var1 + -var2 * var9; + int var12 = -var2 * var10 + var9 * -(-var1); + int var13 = var10 * ((this.subWidth << 4) - var1) + -var2 * var9; + int var14 = var9 * -((this.subWidth << 4) - var1) + -var2 * var10; + int var15 = ((this.subHeight << 4) - var2) * var9 + var10 * -var1; + int var16 = ((this.subHeight << 4) - var2) * var10 + var9 * -(-var1); + int var17 = ((this.subHeight << 4) - var2) * var9 + var10 * ((this.subWidth << 4) - var1); + int var18 = ((this.subHeight << 4) - var2) * var10 + var9 * -((this.subWidth << 4) - var1); + int var19; + int var20; + if (var11 < var13) { + var19 = var11; + var20 = var13; + } else { + var19 = var13; + var20 = var11; + } + + if (var15 < var19) { + var19 = var15; + } + + if (var17 < var19) { + var19 = var17; + } + + if (var15 > var20) { + var20 = var15; + } + + if (var17 > var20) { + var20 = var17; + } + + int var21; + int var22; + if (var12 < var14) { + var21 = var12; + var22 = var14; + } else { + var21 = var14; + var22 = var12; + } + + if (var16 < var21) { + var21 = var16; + } + + if (var18 < var21) { + var21 = var18; + } + + if (var16 > var22) { + var22 = var16; + } + + if (var18 > var22) { + var22 = var18; + } + + var19 >>= 12; + var20 = var20 + 4095 >> 12; + var21 >>= 12; + var22 = var22 + 4095 >> 12; + var19 += var3; + var20 += var3; + var21 += var4; + var22 += var4; + var19 >>= 4; + var20 = var20 + 15 >> 4; + var21 >>= 4; + var22 = var22 + 15 >> 4; + if (var19 < Rasterizer2D.Rasterizer2D_xClipStart) { + var19 = Rasterizer2D.Rasterizer2D_xClipStart; + } + + if (var20 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var20 = Rasterizer2D.Rasterizer2D_xClipEnd; + } + + if (var21 < Rasterizer2D.Rasterizer2D_yClipStart) { + var21 = Rasterizer2D.Rasterizer2D_yClipStart; + } + + if (var22 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var22 = Rasterizer2D.Rasterizer2D_yClipEnd; + } + + var20 = var19 - var20; + if (var20 < 0) { + var22 = var21 - var22; + if (var22 < 0) { + int var23 = var19 + var21 * Rasterizer2D.Rasterizer2D_width; + double var24 = 1.6777216E7D / (double)var6; + int var26 = (int)Math.floor(Math.sin(var7) * var24 + 0.5D); + int var27 = (int)Math.floor(Math.cos(var7) * var24 + 0.5D); + int var28 = (var19 << 4) + 8 - var3; + int var29 = (var21 << 4) + 8 - var4; + int var30 = (var1 << 8) - (var29 * var26 >> 4); + int var31 = (var29 * var27 >> 4) + (var2 << 8); + int var32; + int var33; + int var34; + int var35; + int var36; + int var37; + int var38; + if (var27 == 0) { + if (var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = var31; + var37 = var20; + if (var30 >= 0 && var31 >= 0 && var30 - (this.subWidth << 12) < 0 && var31 - (this.subHeight << 12) < 0) { + for(; var37 < 0; ++var37) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + } + } + + ++var33; + } + } else if (var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } else { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var30 >= 0 && var30 - (this.subWidth << 12) < 0) { + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 = var20 + var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var36 += var26; + ++var37; + } + } + + ++var33; + var30 -= var26; + } + } + } else if (var27 < 0) { + if (var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = var31; + var37 = var20; + if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if (var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if ((var32 = var35 - (this.subWidth << 12)) >= 0) { + var32 = (var27 - var32) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 - var27) / var27) > var37) { + var37 = var32; + } + + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + } else if (var26 == 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = var31; + var37 = var20; + if (var31 >= 0 && var31 - (this.subHeight << 12) < 0) { + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + ++var37; + } + } + + ++var33; + var31 += var27; + } + } else if (var26 < 0) { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if ((var32 = var36 - (this.subHeight << 12)) >= 0) { + var32 = (var26 - var32) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } else { + for(var33 = var22; var33 < 0; var23 += Rasterizer2D.Rasterizer2D_width) { + var34 = var23; + var35 = (var28 * var27 >> 4) + var30; + var36 = (var28 * var26 >> 4) + var31; + var37 = var20; + if (var35 < 0) { + var32 = (var27 - 1 - var35) / var27; + var37 = var20 + var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 = var23 + var32; + } + + if ((var32 = (var35 + 1 - (this.subWidth << 12) - var27) / var27) > var37) { + var37 = var32; + } + + if (var36 < 0) { + var32 = (var26 - 1 - var36) / var26; + var37 += var32; + var35 += var27 * var32; + var36 += var26 * var32; + var34 += var32; + } + + if ((var32 = (var36 + 1 - (this.subHeight << 12) - var26) / var26) > var37) { + var37 = var32; + } + + while(var37 < 0) { + var38 = this.pixels[(var35 >> 12) + (var36 >> 12) * this.subWidth]; + if (var38 != 0) { + Rasterizer2D.Rasterizer2D_pixels[var34++] = var38; + } else { + ++var34; + } + + var35 += var27; + var36 += var26; + ++var37; + } + + ++var33; + var30 -= var26; + var31 += var27; + } + } + + } + } + } + } + + @ObfuscatedName("al") + @Export("drawScaledWorldmap") + public void drawScaledWorldmap(int var1, int var2, int var3, int var4) { + if (var3 <= this.width && var4 <= this.height) { + int var5 = var3 * this.xOffset / this.width + var1; + int var6 = (var3 * (this.xOffset + this.subWidth) + this.width - 1) / this.width + var1; + int var7 = var2 + var4 * this.yOffset / this.height; + int var8 = var2 + (this.height + (this.yOffset + this.subHeight) * var4 - 1) / this.height; + if (var5 < Rasterizer2D.Rasterizer2D_xClipStart) { + var5 = Rasterizer2D.Rasterizer2D_xClipStart; + } + + if (var6 > Rasterizer2D.Rasterizer2D_xClipEnd) { + var6 = Rasterizer2D.Rasterizer2D_xClipEnd; + } + + if (var7 < Rasterizer2D.Rasterizer2D_yClipStart) { + var7 = Rasterizer2D.Rasterizer2D_yClipStart; + } + + if (var8 > Rasterizer2D.Rasterizer2D_yClipEnd) { + var8 = Rasterizer2D.Rasterizer2D_yClipEnd; + } + + if (var5 < var6 && var7 < var8) { + int var9 = var5 + var7 * Rasterizer2D.Rasterizer2D_width; + int var10 = Rasterizer2D.Rasterizer2D_width - (var6 - var5); + if (var9 < Rasterizer2D.Rasterizer2D_pixels.length) { + for(int var11 = var7; var11 < var8; ++var11) { + for(int var12 = var5; var12 < var6; ++var12) { + int var13 = var12 - var1 << 4; + int var14 = var11 - var2 << 4; + int var15 = var13 * this.width / var3 - (this.xOffset << 4); + int var16 = (var13 + 16) * this.width / var3 - (this.xOffset << 4); + int var17 = var14 * this.height / var4 - (this.yOffset << 4); + int var18 = (var14 + 16) * this.height / var4 - (this.yOffset << 4); + int var19 = (var16 - var15) * (var18 - var17) >> 1; + if (var19 != 0) { + if (var15 < 0) { + var15 = 0; + } + + if (var16 >= this.subWidth << 4) { + var16 = this.subWidth << 4; + } + + if (var17 < 0) { + var17 = 0; + } + + if (var18 >= this.subHeight << 4) { + var18 = this.subHeight << 4; + } + + --var16; + --var18; + int var20 = 16 - (var15 & 15); + int var21 = (var16 & 15) + 1; + int var22 = 16 - (var17 & 15); + int var23 = (var18 & 15) + 1; + var15 >>= 4; + var16 >>= 4; + var17 >>= 4; + var18 >>= 4; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + + int var28; + for(var28 = var17; var28 <= var18; ++var28) { + int var29 = 16; + if (var28 == var17) { + var29 = var22; + } + + if (var28 == var18) { + var29 = var23; + } + + for(int var30 = var15; var30 <= var16; ++var30) { + int var31 = this.pixels[var30 + var28 * this.subWidth]; + if (var31 != 0) { + int var32; + if (var30 == var15) { + var32 = var29 * var20; + } else if (var30 == var16) { + var32 = var29 * var21; + } else { + var32 = var29 << 4; + } + + var27 += var32; + var24 += var32 * (var31 >> 16 & 255); + var25 += var32 * (var31 >> 8 & 255); + var26 += (var31 & 255) * var32; + } + } + } + + if (var27 >= var19) { + var28 = var26 / var27 + (var24 / var27 << 16) + (var25 / var27 << 8); + if (var28 == 0) { + var28 = 1; + } + + Rasterizer2D.Rasterizer2D_pixels[var9] = var28; + } + + ++var9; + } + } + + var9 += var10; + } + + } + } + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("s") + @Export("Sprite_draw") + static void Sprite_draw(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for(int var8 = -var5; var8 < 0; ++var8) { + int var9; + for(var9 = var3 + var4 - 3; var3 < var9; var0[var3++] = var1[var2++]) { + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + var0[var3++] = var1[var2++]; + } + + for(var9 += 3; var3 < var9; var0[var3++] = var1[var2++]) { + ; + } + + var3 += var6; + var2 += var7; + } + + } + + @ObfuscatedName("a") + @Export("Sprite_drawTransBg") + static void Sprite_drawTransBg(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int var9 = -(var5 >> 2); + var5 = -(var5 & 3); + + for(int var10 = -var6; var10 < 0; ++var10) { + int var11; + for(var11 = var9; var11 < 0; ++var11) { + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + for(var11 = var5; var11 < 0; ++var11) { + var2 = var1[var3++]; + if (var2 != 0) { + var0[var4++] = var2; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("k") + @Export("Sprite_drawScaled") + static void Sprite_drawScaled(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) { + int var12 = var3; + + for(int var13 = -var8; var13 < 0; ++var13) { + int var14 = var11 * (var4 >> 16); + + for(int var15 = -var7; var15 < 0; ++var15) { + var2 = var1[(var3 >> 16) + var14]; + if (var2 != 0) { + var0[var5++] = var2; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var12; + var5 += var6; + } + + } + + @ObfuscatedName("x") + @Export("Sprite_drawTransOverlay") + static void Sprite_drawTransOverlay(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + int var11 = 256 - var9; + int var12 = (var10 & 16711935) * var11 & -16711936; + int var13 = (var10 & '\uff00') * var11 & 16711680; + var10 = (var12 | var13) >>> 8; + + for(int var14 = -var6; var14 < 0; ++var14) { + for(int var15 = -var5; var15 < 0; ++var15) { + var2 = var1[var3++]; + if (var2 != 0) { + var12 = var9 * (var2 & 16711935) & -16711936; + var13 = (var2 & '\uff00') * var9 & 16711680; + var0[var4++] = var10 + ((var12 | var13) >>> 8); + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("u") + @Export("Sprite_drawTransparent") + static void Sprite_drawTransparent(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9) { + int var10 = 256 - var9; + + for(int var11 = -var6; var11 < 0; ++var11) { + for(int var12 = -var5; var12 < 0; ++var12) { + var2 = var1[var3++]; + if (var2 != 0) { + int var13 = var0[var4]; + var0[var4++] = ((var13 & 16711935) * var10 + var9 * (var2 & 16711935) & -16711936) + ((var2 & '\uff00') * var9 + var10 * (var13 & '\uff00') & 16711680) >> 8; + } else { + ++var4; + } + } + + var4 += var7; + var3 += var8; + } + + } + + @ObfuscatedName("p") + @Export("Sprite_drawTransScaled") + static void Sprite_drawTransScaled(int[] var0, int[] var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + int var13 = 256 - var12; + int var14 = var3; + + for(int var15 = -var8; var15 < 0; ++var15) { + int var16 = var11 * (var4 >> 16); + + for(int var17 = -var7; var17 < 0; ++var17) { + var2 = var1[(var3 >> 16) + var16]; + if (var2 != 0) { + int var18 = var0[var5]; + var0[var5++] = ((var2 & '\uff00') * var12 + var13 * (var18 & '\uff00') & 16711680) + ((var18 & 16711935) * var13 + var12 * (var2 & 16711935) & -16711936) >> 8; + } else { + ++var5; + } + + var3 += var9; + } + + var4 += var10; + var3 = var14; + var5 += var6; + } + + } + + @ObfuscatedName("ay") + static void method6345(int var0, int var1, int var2, int[] var3, int[] var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11, int var12) { + for(var8 = -var10; var8 < 0; ++var8) { + for(var6 = -var9; var6 < 0; ++var6) { + var0 = var4[var5++]; + if (var0 != 0) { + var1 = var3[var7]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var7; + } + } + + var7 += var11; + var5 += var12; + } + + } + + @ObfuscatedName("am") + static void method6356(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) { + for(var8 = -var10; var8 < 0; ++var8) { + for(var6 = -var9; var6 < 0; ++var6) { + var0 = var4[var5++]; + if (var0 != 0) { + var1 = var13 * (var0 & 16711935); + var0 = (var1 & -16711936) + (var13 * var0 - var1 & 16711680) >>> 8; + var1 = var3[var7]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var3[var7++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var7; + } + } + + var7 += var11; + var5 += var12; + } + + } + + @ObfuscatedName("ae") + static void method6360(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) { + for(int var16 = var3; var8 < 0; ++var8) { + var7 = var15 * (var9 >> 16); + + for(var6 = -var12; var6 < 0; ++var6) { + var0 = var4[(var3 >> 16) + var7]; + if (var0 != 0) { + var1 = var5[var10]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var10; + } + + var3 += var13; + } + + var9 += var14; + var3 = var16; + var10 += var11; + } + + } + + @ObfuscatedName("ac") + static void method6418(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) { + for(int var17 = var3; var8 < 0; ++var8) { + var7 = var15 * (var9 >> 16); + + for(var6 = -var12; var6 < 0; ++var6) { + var0 = var4[(var3 >> 16) + var7]; + if (var0 != 0) { + var1 = (var0 & 16711935) * var16; + var0 = (var1 & -16711936) + (var0 * var16 - var1 & 16711680) >>> 8; + var1 = var5[var10]; + var2 = var0 + var1; + var0 = (var0 & 16711935) + (var1 & 16711935); + var1 = (var0 & 16777472) + (var2 - var0 & 65536); + var5[var10++] = var2 - var1 | var1 - (var1 >>> 8); + } else { + ++var10; + } + + var3 += var13; + } + + var9 += var14; + var3 = var17; + var10 += var11; + } + + } } diff --git a/runescape-client/src/main/java/Strings.java b/runescape-client/src/main/java/Strings.java index db59066383..315224f41a 100644 --- a/runescape-client/src/main/java/Strings.java +++ b/runescape-client/src/main/java/Strings.java @@ -1,49 +1,298 @@ +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("hw") +@ObfuscatedName("hi") @Implements("Strings") public class Strings { - @ObfuscatedName("br") - public static String field3011; - @ObfuscatedName("cp") - public static String field2877; - @ObfuscatedName("ji") - public static String field3053; - @ObfuscatedName("jn") - public static String field3054; - @ObfuscatedName("jp") - public static String field3055; + @ObfuscatedName("bp") + public static String field2841 = "Please visit the support page for assistance."; + @ObfuscatedName("cy") + public static String field2918 = "Please visit the support page for assistance."; + @ObfuscatedName("jd") + public static String field3056 = ""; + @ObfuscatedName("jv") + public static String field3057 = "Page has opened in a new window."; + @ObfuscatedName("ji") + public static String field3058 = "(Please check your popup blocker.)"; - static { - field3011 = "Please visit the support page for assistance."; // L: 60 - field2877 = "Please visit the support page for assistance."; // L: 99 - field3053 = ""; // L: 275 - field3054 = "Page has opened in a new window."; // L: 276 - field3055 = "(Please check your popup blocker.)"; // L: 277 - } // L: 307 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([I[II)V", + garbageValue = "-894693523" + ) + public static void method4329(int[] var0, int[] var1) { + if (var0 != null && var1 != null) { + TriBool.ByteArrayPool_alternativeSizes = var0; + class225.ByteArrayPool_altSizeArrayCounts = new int[var0.length]; + ByteArrayPool.ByteArrayPool_arrays = new byte[var0.length][][]; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(ZZI)Llo;", - garbageValue = "1809126106" - ) - static IndexedSprite method4158(boolean var0, boolean var1) { - return var0 ? (var1 ? class204.field2408 : ItemContainer.options_buttons_2Sprite) : (var1 ? AccessFile.field4101 : DirectByteArrayCopier.options_buttons_0Sprite); // L: 183 - } + for(int var2 = 0; var2 < TriBool.ByteArrayPool_alternativeSizes.length; ++var2) { + ByteArrayPool.ByteArrayPool_arrays[var2] = new byte[var1[var2]][]; + } - @ObfuscatedName("ig") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-851150981" - ) - static final void method4157(int var0, int var1, int var2, int var3) { - for (int var4 = 0; var4 < Client.rootWidgetCount; ++var4) { // L: 7342 - if (Client.rootWidgetXs[var4] + Client.rootWidgetWidths[var4] > var0 && Client.rootWidgetXs[var4] < var0 + var2 && Client.rootWidgetYs[var4] + Client.rootWidgetHeights[var4] > var1 && Client.rootWidgetYs[var4] < var3 + var1) { // L: 7343 - Client.field854[var4] = true; - } - } + } else { + TriBool.ByteArrayPool_alternativeSizes = null; + class225.ByteArrayPool_altSizeArrayCounts = null; + ByteArrayPool.ByteArrayPool_arrays = null; + } + } - } // L: 7345 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "9" + ) + static void method4324() { + Coord.field2560 = new int[2000]; + int var0 = 0; + int var1 = 240; + + int var3; + for(byte var2 = 12; var0 < 16; var1 -= var2) { + var3 = class231.method4321((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)(0.075F + 0.425F * (float)var0 / 16.0F)); + Coord.field2560[var0] = var3; + ++var0; + } + + var1 = 48; + + for(int var5 = var1 / 6; var0 < Coord.field2560.length; var1 -= var5) { + var3 = var0 * 2; + + for(int var4 = class231.method4321((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var3 && var0 < Coord.field2560.length; ++var0) { + Coord.field2560[var0] = var4; + } + } + + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "([BIII)Ljava/lang/String;", + garbageValue = "-983754831" + ) + public static String method4327(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; + int var5 = var1; + + int var8; + for(int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { + int var7 = var0[var5++] & 255; + if (var7 < 128) { + if (var7 == 0) { + var8 = 65533; + } else { + var8 = var7; + } + } else if (var7 < 192) { + var8 = 65533; + } else if (var7 < 224) { + if (var5 < var6 && (var0[var5] & 192) == 128) { + var8 = (var7 & 31) << 6 | var0[var5++] & 63; + if (var8 < 128) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 240) { + if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { + var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 < 2048) { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else if (var7 < 248) { + if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { + var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; + if (var8 >= 65536 && var8 <= 1114111) { + var8 = 65533; + } else { + var8 = 65533; + } + } else { + var8 = 65533; + } + } else { + var8 = 65533; + } + } + + return new String(var3, 0, var4); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(CI)Z", + garbageValue = "-570785562" + ) + @Export("isDigit") + public static boolean isDigit(char var0) { + return var0 >= '0' && var0 <= '9'; + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "580078079" + ) + static int method4326(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.CLIENTCLOCK) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.cycle; + return 1; + } else { + int var3; + int var4; + if (var0 == ScriptOpcodes.INV_GETOBJ) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.method1375(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_GETNUM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapID.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_TOTAL) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class232.method4322(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INV_SIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = HealthBarUpdate.getInvDefinition(var3).size; + return 1; + } else if (var0 == ScriptOpcodes.STAT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.currentLevels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_BASE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.levels[var3]; + return 1; + } else if (var0 == ScriptOpcodes.STAT_XP) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.experience[var3]; + return 1; + } else { + int var5; + if (var0 == ScriptOpcodes.COORD) { + var3 = class90.Client_plane; + var4 = GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7); + var5 = NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var4 << 14) + var5 + (var3 << 28); + return 1; + } else if (var0 == ScriptOpcodes.COORDX) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 >> 14 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.COORDZ) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 >> 28; + return 1; + } else if (var0 == ScriptOpcodes.COORDY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3 & 16383; + return 1; + } else if (var0 == ScriptOpcodes.MAP_MEMBERS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.isMembersWorld ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETOBJ) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + '耀'; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = GrandExchangeOfferOwnWorldComparator.method1375(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_GETNUM) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + '耀'; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapID.ItemContainer_getCount(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.INVOTHER_TOTAL) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] + '耀'; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class232.method4322(var3, var4); + return 1; + } else if (var0 == ScriptOpcodes.STAFFMODLEVEL) { + if (Client.staffModLevel >= 2) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.staffModLevel; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.REBOOTTIMER) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.rebootTimer; + return 1; + } else if (var0 == ScriptOpcodes.MAP_WORLD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.worldId; + return 1; + } else if (var0 == ScriptOpcodes.RUNENERGY_VISIBLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.runEnergy; + return 1; + } else if (var0 == ScriptOpcodes.RUNWEIGHT_VISIBLE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.weight; + return 1; + } else if (var0 == ScriptOpcodes.PLAYERMOD) { + if (Client.playerMod) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDFLAGS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.worldProperties; + return 1; + } else if (var0 == ScriptOpcodes.MOVECOORD) { + Interpreter.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + int var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + var3 += var4 << 14; + var3 += var5 << 28; + var3 += var6; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3; + return 1; + } else { + return 2; + } + } + } + } + + @ObfuscatedName("kz") + @ObfuscatedSignature( + descriptor = "(Lhz;B)Lhz;", + garbageValue = "-45" + ) + static Widget method4325(Widget var0) { + int var2 = class60.getWidgetFlags(var0); + int var1 = var2 >> 17 & 7; + int var3 = var1; + if (var1 == 0) { + return null; + } else { + for(int var4 = 0; var4 < var3; ++var4) { + var0 = class237.getWidget(var0.parentId); + if (var0 == null) { + return null; + } + } + + return var0; + } + } } diff --git a/runescape-client/src/main/java/StructComposition.java b/runescape-client/src/main/java/StructComposition.java index a35e9cb579..13f672ed26 100644 --- a/runescape-client/src/main/java/StructComposition.java +++ b/runescape-client/src/main/java/StructComposition.java @@ -1,128 +1,116 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jb") +@ObfuscatedName("jp") @Implements("StructComposition") public class StructComposition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("StructDefinition_archive") - static AbstractArchive StructDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("StructDefinition_cached") - public static EvictingDualNodeHashTable StructDefinition_cached; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lla;" - ) - @Export("params") - IterableNodeHashTable params; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("StructDefinition_archive") + static AbstractArchive StructDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("StructDefinition_cached") + public static EvictingDualNodeHashTable StructDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 762629466 + ) + public static int field3338; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llg;" + ) + @Export("params") + IterableNodeHashTable params; - static { - StructDefinition_cached = new EvictingDualNodeHashTable(64); // L: 13 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-61" + ) + @Export("postDecode") + void postDecode() { + } - StructComposition() { - } // L: 16 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1222397412" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-839418144" - ) - @Export("postDecode") - void postDecode() { - } // L: 33 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-2120336035" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 37 - if (var2 == 0) { // L: 38 - return; // L: 41 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "1068696099" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 249) { + this.params = TextureProvider.readStringIntParameters(var1, this.params); + } - this.decodeNext(var1, var2); // L: 39 - } - } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-2108853566" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 249) { - this.params = NetSocket.readStringIntParameters(var1, this.params); // L: 44 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1838065399" + ) + @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; + } + } - } // L: 46 + return var3; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-1178143086" - ) - @Export("getIntParam") - public int getIntParam(int var1, int var2) { - IterableNodeHashTable var4 = this.params; // L: 50 - int var3; - if (var4 == null) { // L: 52 - var3 = var2; // L: 53 - } else { - IntegerNode var5 = (IntegerNode)var4.get((long)var1); // L: 56 - if (var5 == null) { // L: 57 - var3 = var2; // L: 58 - } else { - var3 = var5.integer; // L: 61 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;S)Ljava/lang/String;", + garbageValue = "-15071" + ) + @Export("getStringParam") + public String getStringParam(int var1, String var2) { + return class69.method1258(this.params, var1, var2); + } - return var3; // L: 63 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)Ljava/lang/String;", - garbageValue = "116269360" - ) - @Export("getStringParam") - public String getStringParam(int var1, String var2) { - IterableNodeHashTable var4 = this.params; // L: 68 - String var3; - if (var4 == null) { // L: 70 - var3 = var2; // L: 71 - } else { - ObjectNode var5 = (ObjectNode)var4.get((long)var1); // L: 74 - if (var5 == null) { // L: 75 - var3 = var2; // L: 76 - } else { - var3 = (String)var5.obj; // L: 79 - } - } - - return var3; // L: 81 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;I)V", - garbageValue = "-890013246" - ) - public static void method4545(AbstractArchive var0) { - EnumComposition.EnumDefinition_archive = var0; // L: 25 - } // L: 26 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;Lig;B)V", + garbageValue = "76" + ) + public static void method4734(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { + HitSplatDefinition.HitSplatDefinition_archive = var0; + Frames.field1904 = var1; + HitSplatDefinition.HitSplatDefinition_fontsArchive = var2; + } } diff --git a/runescape-client/src/main/java/StudioGame.java b/runescape-client/src/main/java/StudioGame.java index 69c0ce51c4..d8337cf2a9 100644 --- a/runescape-client/src/main/java/StudioGame.java +++ b/runescape-client/src/main/java/StudioGame.java @@ -3,216 +3,69 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ic") +@ObfuscatedName("im") @Implements("StudioGame") public enum StudioGame implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("runescape") - runescape("runescape", "RuneScape", 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("stellardawn") - stellardawn("stellardawn", "Stellar Dawn", 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("game3") - game3("game3", "Game 3", 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("game4") - game4("game4", "Game 4", 3), - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("game5") - game5("game5", "Game 5", 4), - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lic;" - ) - @Export("oldscape") - oldscape("oldscape", "RuneScape 2007", 5); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("runescape") + runescape("runescape", "RuneScape", 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("stellardawn") + stellardawn("stellardawn", "Stellar Dawn", 1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("game3") + game3("game3", "Game 3", 2), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("game4") + game4("game4", "Game 4", 3), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("game5") + game5("game5", "Game 5", 4), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lim;" + ) + @Export("oldscape") + oldscape("oldscape", "RuneScape 2007", 5); - @ObfuscatedName("cr") - @ObfuscatedGetter( - intValue = 1725294085 - ) - public static int field3135; - @ObfuscatedName("n") - @Export("name") - public final String name; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1088922919 - ) - @Export("id") - final int id; + @ObfuscatedName("z") + @Export("name") + public final String name; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1009925305 + ) + @Export("id") + final int id; - StudioGame(String var3, String var4, int var5) { - this.name = var3; // L: 17 - this.id = var5; // L: 18 - } // L: 19 + StudioGame(String var3, String var4, int var5) { + this.name = var3; + this.id = var5; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 22 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1020902177" - ) - public static void method4185() { - ParamComposition.ParamDefinition_cached.clear(); // L: 72 - } // L: 73 - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "211481230" - ) - static int method4186(int var0, Script var1, boolean var2) { - int var6; - if (var0 == ScriptOpcodes.OC_NAME) { // L: 2794 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2795 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var6).name; // L: 2796 - return 1; // L: 2797 - } else { - int var4; - ItemComposition var5; - if (var0 == ScriptOpcodes.OC_OP) { // L: 2799 - VarcInt.Interpreter_intStackSize -= 2; // L: 2800 - var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2801 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2802 - var5 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2803 - if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { // L: 2804 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2805 - } - - return 1; // L: 2806 - } else if (var0 == ScriptOpcodes.OC_IOP) { // L: 2808 - VarcInt.Interpreter_intStackSize -= 2; // L: 2809 - var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2810 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2811 - var5 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2812 - if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { // L: 2813 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2814 - } - - return 1; // L: 2815 - } else if (var0 == ScriptOpcodes.OC_COST) { // L: 2817 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2818 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var6).price; // L: 2819 - return 1; // L: 2820 - } else if (var0 == ScriptOpcodes.OC_STACKABLE) { // L: 2822 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2823 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var6).isStackable == 1 ? 1 : 0; // L: 2824 - return 1; // L: 2825 - } else { - ItemComposition var7; - if (var0 == ScriptOpcodes.OC_CERT) { // L: 2827 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2828 - var7 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2829 - if (var7.noteTemplate == -1 && var7.note >= 0) { // L: 2830 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.note; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6; // L: 2831 - } - - return 1; // L: 2832 - } else if (var0 == ScriptOpcodes.OC_UNCERT) { // L: 2834 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2835 - var7 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2836 - if (var7.noteTemplate >= 0 && var7.note >= 0) { // L: 2837 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.note; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6; // L: 2838 - } - - return 1; // L: 2839 - } else if (var0 == ScriptOpcodes.OC_MEMBERS) { // L: 2841 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2842 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = SecureRandomCallable.ItemDefinition_get(var6).isMembersOnly ? 1 : 0; // L: 2843 - return 1; // L: 2844 - } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { // L: 2846 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2847 - var7 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2848 - if (var7.placeholderTemplate == -1 && var7.placeholder >= 0) { // L: 2849 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.placeholder; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6; // L: 2850 - } - - return 1; // L: 2851 - } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { // L: 2853 - var6 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2854 - var7 = SecureRandomCallable.ItemDefinition_get(var6); // L: 2855 - if (var7.placeholderTemplate >= 0 && var7.placeholder >= 0) { // L: 2856 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var7.placeholder; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6; // L: 2857 - } - - return 1; // L: 2858 - } else if (var0 == ScriptOpcodes.OC_FIND) { // L: 2860 - String var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2861 - var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2862 - WorldMapSection1.findItemDefinitions(var3, var4 == 1); // L: 2863 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = PacketBufferNode.foundItemIdCount; // L: 2864 - return 1; // L: 2865 - } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { // L: 2867 - if (var0 == ScriptOpcodes.OC_FINDRESET) { // L: 2872 - NetCache.foundItemIndex = 0; // L: 2873 - return 1; // L: 2874 - } else { - return 2; // L: 2876 - } - } else { - if (UrlRequest.foundItemIds != null && NetCache.foundItemIndex < PacketBufferNode.foundItemIdCount) { // L: 2868 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = UrlRequest.foundItemIds[++NetCache.foundItemIndex - 1] & '\uffff'; // L: 2869 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; - } - - return 1; // L: 2870 - } - } - } - } - - @ObfuscatedName("lw") - @ObfuscatedSignature( - descriptor = "(Lhe;B)Ljava/lang/String;", - garbageValue = "-113" - ) - @Export("Widget_getSpellActionName") - static String Widget_getSpellActionName(Widget var0) { - if (ServerPacket.Widget_unpackTargetMask(FaceNormal.getWidgetFlags(var0)) == 0) { // L: 11063 - return null; - } else { - return var0.spellActionName != null && var0.spellActionName.trim().length() != 0 ? var0.spellActionName : null; // L: 11064 11065 11067 - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } } diff --git a/runescape-client/src/main/java/Task.java b/runescape-client/src/main/java/Task.java index b6e5c27e7e..2ffa2ee618 100644 --- a/runescape-client/src/main/java/Task.java +++ b/runescape-client/src/main/java/Task.java @@ -4,35 +4,31 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fd") +@ObfuscatedName("fl") @Implements("Task") public class Task { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("next") - Task next; - @ObfuscatedName("t") - @Export("status") - public volatile int status; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2137331087 - ) - @Export("type") - int type; - @ObfuscatedName("n") - @Export("intArgument") - public int intArgument; - @ObfuscatedName("p") - @Export("objectArgument") - Object objectArgument; - @ObfuscatedName("l") - @Export("result") - public volatile Object result; - - Task() { - this.status = 0; // L: 11 - } // L: 23 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("next") + Task next; + @ObfuscatedName("y") + @Export("status") + public volatile int status = 0; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -710231709 + ) + @Export("type") + int type; + @ObfuscatedName("z") + @Export("intArgument") + public int intArgument; + @ObfuscatedName("e") + @Export("objectArgument") + Object objectArgument; + @ObfuscatedName("q") + @Export("result") + public volatile Object result; } diff --git a/runescape-client/src/main/java/TaskHandler.java b/runescape-client/src/main/java/TaskHandler.java index b30ec637cc..c18988e41c 100644 --- a/runescape-client/src/main/java/TaskHandler.java +++ b/runescape-client/src/main/java/TaskHandler.java @@ -7,181 +7,348 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fa") +@ObfuscatedName("fu") @Implements("TaskHandler") public class TaskHandler implements Runnable { - @ObfuscatedName("h") - @Export("javaVendor") - public static String javaVendor; - @ObfuscatedName("v") - @Export("javaVersion") - public static String javaVersion; - @ObfuscatedName("df") - @ObfuscatedSignature( - descriptor = "Llr;" - ) - @Export("js5Socket") - static AbstractSocket js5Socket; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("current") - Task current; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("task") - Task task; - @ObfuscatedName("t") - @Export("thread") - Thread thread; - @ObfuscatedName("j") - @Export("isClosed") - boolean isClosed; + @ObfuscatedName("n") + @Export("javaVendor") + public static String javaVendor; + @ObfuscatedName("v") + @Export("javaVersion") + public static String javaVersion; + @ObfuscatedName("e") + static byte[][][] field2045; + @ObfuscatedName("a") + @Export("Tiles_hueMultiplier") + static int[] Tiles_hueMultiplier; + @ObfuscatedName("dl") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("js5SocketTask") + static Task js5SocketTask; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("current") + Task current = null; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lfl;" + ) + @Export("task") + Task task = null; + @ObfuscatedName("y") + @Export("thread") + Thread thread; + @ObfuscatedName("h") + @Export("isClosed") + boolean isClosed = false; - public TaskHandler() { - this.current = null; // L: 11 - this.task = null; // L: 12 - this.isClosed = false; // L: 14 - javaVendor = "Unknown"; // L: 20 - javaVersion = "1.6"; // L: 21 + public TaskHandler() { + javaVendor = "Unknown"; + javaVersion = "1.6"; - try { - javaVendor = System.getProperty("java.vendor"); // L: 23 - javaVersion = System.getProperty("java.version"); // L: 24 - } catch (Exception var2) { // L: 26 - } + try { + javaVendor = System.getProperty("java.vendor"); + javaVersion = System.getProperty("java.version"); + } catch (Exception var2) { + ; + } - this.isClosed = false; // L: 27 - this.thread = new Thread(this); // L: 28 - this.thread.setPriority(10); // L: 29 - this.thread.setDaemon(true); // L: 30 - this.thread.start(); // L: 31 - } // L: 32 + this.isClosed = false; + this.thread = new Thread(this); + this.thread.setPriority(10); + this.thread.setDaemon(true); + this.thread.start(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "60003222" - ) - @Export("close") - public final void close() { - synchronized(this) { // L: 35 - this.isClosed = true; // L: 36 - this.notifyAll(); // L: 37 - } // L: 38 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1153020803" + ) + @Export("close") + public final void close() { + synchronized(this) { + this.isClosed = true; + this.notifyAll(); + } - try { - this.thread.join(); // L: 40 - } catch (InterruptedException var3) { // L: 42 - } + try { + this.thread.join(); + } catch (InterruptedException var3) { + ; + } - } // L: 43 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIILjava/lang/Object;I)Lfd;", - garbageValue = "-108529883" - ) - @Export("newTask") - final Task newTask(int var1, int var2, int var3, Object var4) { - Task var5 = new Task(); // L: 90 - var5.type = var1; // L: 91 - var5.intArgument = var2; // L: 92 - var5.objectArgument = var4; // L: 93 - synchronized(this) { // L: 94 - if (this.task != null) { // L: 95 - this.task.next = var5; // L: 96 - this.task = var5; // L: 97 - } else { - this.task = this.current = var5; // L: 100 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIILjava/lang/Object;I)Lfl;", + garbageValue = "1365505014" + ) + @Export("newTask") + final Task newTask(int var1, int var2, int var3, Object var4) { + Task var5 = new Task(); + var5.type = var1; + var5.intArgument = var2; + var5.objectArgument = var4; + synchronized(this) { + if (this.task != null) { + this.task.next = var5; + this.task = var5; + } else { + this.task = this.current = var5; + } - this.notify(); // L: 102 - return var5; // L: 104 - } - } + this.notify(); + return var5; + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;IB)Lfd;", - garbageValue = "0" - ) - @Export("newSocketTask") - public final Task newSocketTask(String var1, int var2) { - return this.newTask(1, var2, 0, var1); // L: 108 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;II)Lfl;", + garbageValue = "-1223563808" + ) + @Export("newSocketTask") + public final Task newSocketTask(String var1, int var2) { + return this.newTask(1, var2, 0, var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Runnable;II)Lfd;", - garbageValue = "-1137156097" - ) - @Export("newThreadTask") - public final Task newThreadTask(Runnable var1, int var2) { - return this.newTask(2, var2, 0, var1); // L: 112 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Runnable;II)Lfl;", + garbageValue = "-1832147507" + ) + @Export("newThreadTask") + public final Task newThreadTask(Runnable var1, int var2) { + return this.newTask(2, var2, 0, var1); + } - public final void run() { - while (true) { - Task var1; - synchronized(this) { // L: 48 - while (true) { - if (this.isClosed) { // L: 50 - return; - } + public final void run() { + while(true) { + Task var1; + synchronized(this) { + while(true) { + if (this.isClosed) { + return; + } - if (this.current != null) { // L: 51 - var1 = this.current; // L: 52 - this.current = this.current.next; // L: 53 - if (this.current == null) { // L: 54 - this.task = null; - } - break; - } + if (this.current != null) { + var1 = this.current; + this.current = this.current.next; + if (this.current == null) { + this.task = null; + } + break; + } - try { - this.wait(); // L: 58 - } catch (InterruptedException var8) { // L: 60 - } - } - } + try { + this.wait(); + } catch (InterruptedException var8) { + ; + } + } + } - try { - int var5 = var1.type; // L: 64 - if (var5 == 1) { // L: 65 - var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); // L: 66 - } else if (var5 == 2) { // L: 68 - Thread var3 = new Thread((Runnable)var1.objectArgument); // L: 69 - var3.setDaemon(true); // L: 70 - var3.start(); // L: 71 - var3.setPriority(var1.intArgument); // L: 72 - var1.result = var3; // L: 73 - } else if (var5 == 4) { // L: 75 - var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); // L: 76 - } + try { + int var5 = var1.type; + if (var5 == 1) { + var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument); + } else if (var5 == 2) { + Thread var3 = new Thread((Runnable)var1.objectArgument); + var3.setDaemon(true); + var3.start(); + var3.setPriority(var1.intArgument); + var1.result = var3; + } else if (var5 == 4) { + var1.result = new DataInputStream(((URL)var1.objectArgument).openStream()); + } - var1.status = 1; // L: 78 - } catch (ThreadDeath var6) { // L: 80 - throw var6; // L: 81 - } catch (Throwable var7) { // L: 83 - var1.status = 2; // L: 84 - } - } - } + var1.status = 1; + } catch (ThreadDeath var6) { + throw var6; + } catch (Throwable var7) { + var1.status = 2; + } + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IZIZI)V", - garbageValue = "766328157" - ) - @Export("sortWorldList") - static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { - if (World.World_worlds != null) { // L: 171 - class25.doWorldSorting(0, World.World_worlds.length - 1, var0, var1, var2, var3); // L: 172 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lhz;I[B[BI)V", + garbageValue = "-944892435" + ) + @Export("Widget_setKey") + static final void Widget_setKey(Widget var0, int var1, byte[] var2, byte[] var3) { + if (var0.field2668 == null) { + if (var2 == null) { + return; + } - } // L: 174 + var0.field2668 = new byte[11][]; + var0.field2669 = new byte[11][]; + var0.field2686 = new int[11]; + var0.field2599 = new int[11]; + } + + var0.field2668[var1] = var2; + if (var2 != null) { + var0.field2667 = true; + } else { + var0.field2667 = false; + + for(int var4 = 0; var4 < var0.field2668.length; ++var4) { + if (var0.field2668[var4] != null) { + var0.field2667 = true; + break; + } + } + } + + var0.field2669[var1] = var3; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIIIIZI)Llm;", + garbageValue = "1451657661" + ) + @Export("getItemSprite") + public static final SpritePixels getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { + if (var1 == -1) { + var4 = 0; + } else if (var4 == 2 && var1 != 1) { + var4 = 1; + } + + long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var1 << 16) + (long)var0 + ((long)var2 << 38); + SpritePixels var8; + if (!var5) { + var8 = (SpritePixels)ItemComposition.ItemDefinition_cachedSprites.get(var6); + if (var8 != null) { + return var8; + } + } + + ItemComposition var9 = class281.ItemDefinition_get(var0); + if (var1 > 1 && var9.countobj != null) { + int var10 = -1; + + for(int var11 = 0; var11 < 10; ++var11) { + if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { + var10 = var9.countobj[var11]; + } + } + + if (var10 != -1) { + var9 = class281.ItemDefinition_get(var10); + } + } + + Model var19 = var9.getModel(1); + if (var19 == null) { + return null; + } else { + SpritePixels var20 = null; + if (var9.noteTemplate != -1) { + var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); + if (var20 == null) { + return null; + } + } else if (var9.notedId != -1) { + var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); + if (var20 == null) { + return null; + } + } else if (var9.placeholderTemplate != -1) { + var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); + if (var20 == null) { + return null; + } + } + + int[] var12 = Rasterizer2D.Rasterizer2D_pixels; + int var13 = Rasterizer2D.Rasterizer2D_width; + int var14 = Rasterizer2D.Rasterizer2D_height; + int[] var15 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var15); + var8 = new SpritePixels(36, 32); + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + Rasterizer2D.Rasterizer2D_clear(); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.method3169(16, 16); + Rasterizer3D.field1777 = false; + if (var9.placeholderTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + int var16 = var9.zoom2d; + if (var5) { + var16 = (int)(1.5D * (double)var16); + } else if (var2 == 2) { + var16 = (int)(1.04D * (double)var16); + } + + int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; + int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; + var19.calculateBoundsCylinder(); + var19.method3106(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); + if (var9.notedId != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var2 >= 1) { + var8.outline(1); + } + + if (var2 >= 2) { + var8.outline(16777215); + } + + if (var3 != 0) { + var8.shadow(var3); + } + + Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); + if (var9.noteTemplate != -1) { + var20.drawTransBgAt(0, 0); + } + + if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { + ItemComposition.ItemDefinition_fontPlain11.draw(SoundCache.inventoryQuantityFormat(var1), 0, 9, 16776960, 1); + } + + if (!var5) { + ItemComposition.ItemDefinition_cachedSprites.put(var8, var6); + } + + Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); + Rasterizer2D.Rasterizer2D_setClipArray(var15); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + Rasterizer3D.field1777 = true; + return var8; + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(III)Z", + garbageValue = "-1388427542" + ) + static final boolean method3673(int var0, int var1) { + ObjectComposition var2 = WorldMapAreaData.getObjectDefinition(var0); + if (var1 == 11) { + var1 = 10; + } + + if (var1 >= 5 && var1 <= 8) { + var1 = 4; + } + + return var2.method4806(var1); + } } diff --git a/runescape-client/src/main/java/Texture.java b/runescape-client/src/main/java/Texture.java index 0c818f388f..0c1ed53749 100644 --- a/runescape-client/src/main/java/Texture.java +++ b/runescape-client/src/main/java/Texture.java @@ -3,257 +3,268 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eg") +@ObfuscatedName("ep") @Implements("Texture") public class Texture extends Node { - @ObfuscatedName("i") - @Export("Texture_animatedPixels") - static int[] Texture_animatedPixels; - @ObfuscatedName("t") - @Export("averageRGB") - int averageRGB; - @ObfuscatedName("j") - boolean field1640; - @ObfuscatedName("n") - @Export("fileIds") - int[] fileIds; - @ObfuscatedName("p") - int[] field1642; - @ObfuscatedName("l") - int[] field1648; - @ObfuscatedName("z") - int[] field1637; - @ObfuscatedName("u") - @Export("animationDirection") - int animationDirection; - @ObfuscatedName("e") - @Export("animationSpeed") - int animationSpeed; - @ObfuscatedName("m") - @Export("pixels") - int[] pixels; - @ObfuscatedName("c") - @Export("isLoaded") - boolean isLoaded; + @ObfuscatedName("k") + @Export("Texture_animatedPixels") + static int[] Texture_animatedPixels; + @ObfuscatedName("y") + @Export("averageRGB") + int averageRGB; + @ObfuscatedName("h") + boolean field1639; + @ObfuscatedName("z") + @Export("fileIds") + int[] fileIds; + @ObfuscatedName("e") + int[] field1641; + @ObfuscatedName("q") + int[] field1642; + @ObfuscatedName("l") + int[] field1648; + @ObfuscatedName("s") + @Export("animationDirection") + int animationDirection; + @ObfuscatedName("b") + @Export("animationSpeed") + int animationSpeed; + @ObfuscatedName("a") + @Export("pixels") + int[] pixels; + @ObfuscatedName("w") + @Export("isLoaded") + boolean isLoaded = false; - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - Texture(Buffer var1) { - this.isLoaded = false; // L: 25 - this.averageRGB = var1.readUnsignedShort(); // L: 29 - this.field1640 = var1.readUnsignedByte() == 1; // L: 30 - int var2 = var1.readUnsignedByte(); // L: 31 - if (var2 >= 1 && var2 <= 4) { // L: 32 - this.fileIds = new int[var2]; // L: 35 + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + Texture(Buffer var1) { + this.averageRGB = var1.readUnsignedShort(); + this.field1639 = var1.readUnsignedByte() == 1; + int var2 = var1.readUnsignedByte(); + if (var2 >= 1 && var2 <= 4) { + this.fileIds = new int[var2]; - int var3; - for (var3 = 0; var3 < var2; ++var3) { // L: 36 - this.fileIds[var3] = var1.readUnsignedShort(); - } + int var3; + for(var3 = 0; var3 < var2; ++var3) { + this.fileIds[var3] = var1.readUnsignedShort(); + } - if (var2 > 1) { // L: 37 - this.field1642 = new int[var2 - 1]; // L: 38 + if (var2 > 1) { + this.field1641 = new int[var2 - 1]; - for (var3 = 0; var3 < var2 - 1; ++var3) { // L: 39 - this.field1642[var3] = var1.readUnsignedByte(); - } - } + for(var3 = 0; var3 < var2 - 1; ++var3) { + this.field1641[var3] = var1.readUnsignedByte(); + } + } - if (var2 > 1) { // L: 41 - this.field1648 = new int[var2 - 1]; // L: 42 + if (var2 > 1) { + this.field1642 = new int[var2 - 1]; - for (var3 = 0; var3 < var2 - 1; ++var3) { // L: 43 - this.field1648[var3] = var1.readUnsignedByte(); - } - } + for(var3 = 0; var3 < var2 - 1; ++var3) { + this.field1642[var3] = var1.readUnsignedByte(); + } + } - this.field1637 = new int[var2]; // L: 45 + this.field1648 = new int[var2]; - for (var3 = 0; var3 < var2; ++var3) { // L: 46 - this.field1637[var3] = var1.readInt(); - } + for(var3 = 0; var3 < var2; ++var3) { + this.field1648[var3] = var1.readInt(); + } - this.animationDirection = var1.readUnsignedByte(); // L: 47 - this.animationSpeed = var1.readUnsignedByte(); // L: 48 - this.pixels = null; // L: 49 - } else { - throw new RuntimeException(); // L: 33 - } - } // L: 50 + this.animationDirection = var1.readUnsignedByte(); + this.animationSpeed = var1.readUnsignedByte(); + this.pixels = null; + } else { + throw new RuntimeException(); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(DILib;)Z" - ) - @Export("load") - boolean load(double var1, int var3, AbstractArchive var4) { - int var5; - for (var5 = 0; var5 < this.fileIds.length; ++var5) { // L: 53 - if (var4.getFileFlat(this.fileIds[var5]) == null) { // L: 54 - return false; - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(DILig;)Z" + ) + @Export("load") + boolean load(double var1, int var3, AbstractArchive var4) { + int var5; + for(var5 = 0; var5 < this.fileIds.length; ++var5) { + if (var4.getFileFlat(this.fileIds[var5]) == null) { + return false; + } + } - var5 = var3 * var3; // L: 56 - this.pixels = new int[var5]; // L: 57 + var5 = var3 * var3; + this.pixels = new int[var5]; - for (int var6 = 0; var6 < this.fileIds.length; ++var6) { // L: 58 - IndexedSprite var7 = FloorOverlayDefinition.method4789(var4, this.fileIds[var6]); // L: 59 - var7.normalize(); // L: 60 - byte[] var8 = var7.pixels; // L: 61 - int[] var9 = var7.palette; // L: 62 - int var10 = this.field1637[var6]; // L: 63 - if ((var10 & -16777216) == 16777216) { // L: 64 - } + for(int var6 = 0; var6 < this.fileIds.length; ++var6) { + int var8 = this.fileIds[var6]; + IndexedSprite var7; + if (!GrandExchangeOfferNameComparator.method212(var4, var8)) { + var7 = null; + } else { + var7 = ApproximateRouteStrategy.method1304(); + } - if ((var10 & -16777216) == 33554432) { // L: 65 - } + var7.normalize(); + byte[] var10 = var7.pixels; + int[] var11 = var7.palette; + int var12 = this.field1648[var6]; + if ((var12 & -16777216) == 16777216) { + ; + } - int var11; - int var12; - int var13; - int var14; - if ((var10 & -16777216) == 50331648) { // L: 66 - var11 = var10 & 16711935; // L: 67 - var12 = var10 >> 8 & 255; // L: 68 + if ((var12 & -16777216) == 33554432) { + ; + } - for (var13 = 0; var13 < var9.length; ++var13) { // L: 69 - var14 = var9[var13]; // L: 70 - if (var14 >> 8 == (var14 & 65535)) { // L: 71 - var14 &= 255; // L: 72 - var9[var13] = var11 * var14 >> 8 & 16711935 | var12 * var14 & 65280; // L: 73 - } - } - } + int var13; + int var14; + int var15; + int var16; + if ((var12 & -16777216) == 50331648) { + var13 = var12 & 16711935; + var14 = var12 >> 8 & 255; - for (var11 = 0; var11 < var9.length; ++var11) { // L: 77 - var9[var11] = Rasterizer3D.Rasterizer3D_brighten(var9[var11], var1); - } + for(var15 = 0; var15 < var11.length; ++var15) { + var16 = var11[var15]; + if (var16 >> 8 == (var16 & '\uffff')) { + var16 &= 255; + var11[var15] = var13 * var16 >> 8 & 16711935 | var14 * var16 & '\uff00'; + } + } + } - if (var6 == 0) { // L: 79 - var11 = 0; - } else { - var11 = this.field1642[var6 - 1]; // L: 80 - } + for(var13 = 0; var13 < var11.length; ++var13) { + var11[var13] = Rasterizer3D.Rasterizer3D_brighten(var11[var13], var1); + } - if (var11 == 0) { // L: 81 - if (var3 == var7.subWidth) { // L: 82 - for (var12 = 0; var12 < var5; ++var12) { // L: 83 - this.pixels[var12] = var9[var8[var12] & 255]; - } - } else if (var7.subWidth == 64 && var3 == 128) { // L: 85 - var12 = 0; // L: 86 + if (var6 == 0) { + var13 = 0; + } else { + var13 = this.field1641[var6 - 1]; + } - for (var13 = 0; var13 < var3; ++var13) { // L: 87 - for (var14 = 0; var14 < var3; ++var14) { // L: 88 - this.pixels[var12++] = var9[var8[(var13 >> 1 << 6) + (var14 >> 1)] & 255]; - } - } - } else { - if (var7.subWidth != 128 || var3 != 64) { // L: 91 - throw new RuntimeException(); // L: 98 - } + if (var13 == 0) { + if (var3 == var7.subWidth) { + for(var14 = 0; var14 < var5; ++var14) { + this.pixels[var14] = var11[var10[var14] & 255]; + } + } else if (var7.subWidth == 64 && var3 == 128) { + var14 = 0; - var12 = 0; // L: 92 + for(var15 = 0; var15 < var3; ++var15) { + for(var16 = 0; var16 < var3; ++var16) { + this.pixels[var14++] = var11[var10[(var15 >> 1 << 6) + (var16 >> 1)] & 255]; + } + } + } else { + if (var7.subWidth != 128 || var3 != 64) { + throw new RuntimeException(); + } - for (var13 = 0; var13 < var3; ++var13) { // L: 93 - for (var14 = 0; var14 < var3; ++var14) { // L: 94 - this.pixels[var12++] = var9[var8[(var14 << 1) + (var13 << 1 << 7)] & 255]; - } - } - } - } + var14 = 0; - if (var11 == 1) { // L: 101 - } + for(var15 = 0; var15 < var3; ++var15) { + for(var16 = 0; var16 < var3; ++var16) { + this.pixels[var14++] = var11[var10[(var16 << 1) + (var15 << 1 << 7)] & 255]; + } + } + } + } - if (var11 == 2) { // L: 102 - } + if (var13 == 1) { + ; + } - if (var11 == 3) { // L: 103 - } - } + if (var13 == 2) { + ; + } - return true; // L: 105 - } + if (var13 == 3) { + ; + } + } - @ObfuscatedName("v") - @Export("reset") - void reset() { - this.pixels = null; // L: 109 - } // L: 110 + return true; + } - @ObfuscatedName("x") - @Export("animate") - void animate(int var1) { - if (this.pixels != null) { // L: 113 - short var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int[] var10; - if (this.animationDirection == 1 || this.animationDirection == 3) { // L: 114 - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { // L: 115 - Texture_animatedPixels = new int[this.pixels.length]; - } + @ObfuscatedName("v") + @Export("reset") + void reset() { + this.pixels = null; + } - if (this.pixels.length == 4096) { // L: 117 - var2 = 64; - } else { - var2 = 128; // L: 118 - } + @ObfuscatedName("d") + @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]; + } - var3 = this.pixels.length; // L: 119 - var4 = var2 * this.animationSpeed * var1; // L: 120 - var5 = var3 - 1; // L: 121 - if (this.animationDirection == 1) { // L: 122 - var4 = -var4; - } + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } - for (var6 = 0; var6 < var3; ++var6) { // L: 123 - var7 = var6 + var4 & var5; // L: 124 - Texture_animatedPixels[var6] = this.pixels[var7]; // L: 125 - } + var3 = this.pixels.length; + var4 = var2 * this.animationSpeed * var1; + var5 = var3 - 1; + if (this.animationDirection == 1) { + var4 = -var4; + } - var10 = this.pixels; // L: 127 - this.pixels = Texture_animatedPixels; // L: 128 - Texture_animatedPixels = var10; // L: 129 - } + for(var6 = 0; var6 < var3; ++var6) { + var7 = var6 + var4 & var5; + Texture_animatedPixels[var6] = this.pixels[var7]; + } - if (this.animationDirection == 2 || this.animationDirection == 4) { // L: 131 - if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { // L: 132 - Texture_animatedPixels = new int[this.pixels.length]; - } + var10 = this.pixels; + this.pixels = Texture_animatedPixels; + Texture_animatedPixels = var10; + } - if (this.pixels.length == 4096) { // L: 134 - var2 = 64; - } else { - var2 = 128; // L: 135 - } + if (this.animationDirection == 2 || this.animationDirection == 4) { + if (Texture_animatedPixels == null || Texture_animatedPixels.length < this.pixels.length) { + Texture_animatedPixels = new int[this.pixels.length]; + } - var3 = this.pixels.length; // L: 136 - var4 = this.animationSpeed * var1; // L: 137 - var5 = var2 - 1; // L: 138 - if (this.animationDirection == 2) { // L: 139 - var4 = -var4; - } + if (this.pixels.length == 4096) { + var2 = 64; + } else { + var2 = 128; + } - for (var6 = 0; var6 < var3; var6 += var2) { // L: 140 - for (var7 = 0; var7 < var2; ++var7) { // L: 141 - int var8 = var6 + var7; // L: 142 - int var9 = var6 + (var7 + var4 & var5); // L: 143 - Texture_animatedPixels[var8] = this.pixels[var9]; // L: 144 - } - } + var3 = this.pixels.length; + var4 = this.animationSpeed * var1; + var5 = var2 - 1; + if (this.animationDirection == 2) { + var4 = -var4; + } - var10 = this.pixels; // L: 147 - this.pixels = Texture_animatedPixels; // L: 148 - Texture_animatedPixels = var10; // L: 149 - } + 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]; + } + } - } - } // L: 151 + 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 1f00344b06..4d9644a54e 100644 --- a/runescape-client/src/main/java/TextureLoader.java +++ b/runescape-client/src/main/java/TextureLoader.java @@ -3,37 +3,37 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ex") +@ObfuscatedName("ew") @Implements("TextureLoader") public interface TextureLoader { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)[I", - garbageValue = "883759945" - ) - @Export("getTexturePixels") - int[] getTexturePixels(int var1); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)[I", + garbageValue = "1068759988" + ) + @Export("getTexturePixels") + int[] getTexturePixels(int var1); - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1799220931" - ) - @Export("getAverageTextureRGB") - int getAverageTextureRGB(int var1); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "1" + ) + @Export("getAverageTextureRGB") + int getAverageTextureRGB(int var1); - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1523659518" - ) - boolean vmethod3359(int var1); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1400851651" + ) + boolean vmethod3432(int var1); - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-562229865" - ) - @Export("isLowDetail") - boolean isLowDetail(int var1); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1467632569" + ) + @Export("isLowDetail") + boolean isLowDetail(int var1); } diff --git a/runescape-client/src/main/java/TextureProvider.java b/runescape-client/src/main/java/TextureProvider.java index 858e32174d..6f1e554585 100644 --- a/runescape-client/src/main/java/TextureProvider.java +++ b/runescape-client/src/main/java/TextureProvider.java @@ -4,246 +4,274 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dk") +@ObfuscatedName("da") @Implements("TextureProvider") public class TextureProvider implements TextureLoader { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "[Leg;" - ) - @Export("textures") - Texture[] textures; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Ljp;" - ) - @Export("deque") - NodeDeque deque; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1878260407 - ) - @Export("capacity") - int capacity; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1633660225 - ) - @Export("remaining") - int remaining; - @ObfuscatedName("t") - @Export("brightness") - double brightness; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -623743257 - ) - @Export("textureSize") - int textureSize; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("archive") - AbstractArchive archive; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "[Lep;" + ) + @Export("textures") + Texture[] textures; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lji;" + ) + @Export("deque") + NodeDeque deque = new NodeDeque(); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1670453341 + ) + @Export("capacity") + int capacity; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1122848717 + ) + @Export("remaining") + int remaining = 0; + @ObfuscatedName("y") + @Export("brightness") + double brightness = 1.0D; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 705511283 + ) + @Export("textureSize") + int textureSize = 128; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("archive") + AbstractArchive archive; - @ObfuscatedSignature( - descriptor = "(Lib;Lib;IDI)V" - ) - public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { - this.deque = new NodeDeque(); // L: 9 - this.remaining = 0; // L: 11 - this.brightness = 1.0D; // L: 12 - this.textureSize = 128; // L: 13 - this.archive = var2; // L: 17 - this.capacity = var3; // L: 18 - this.remaining = this.capacity; // L: 19 - this.brightness = var4; // L: 20 - this.textureSize = var6; - int[] var7 = var1.getGroupFileIds(0); - int var8 = var7.length; - this.textures = new Texture[var1.getGroupFileCount(0)]; + @ObfuscatedSignature( + descriptor = "(Lig;Lig;IDI)V" + ) + public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { + this.archive = var2; + this.capacity = var3; + this.remaining = this.capacity; + this.brightness = var4; + this.textureSize = var6; + int[] var7 = var1.getGroupFileIds(0); + int var8 = var7.length; + this.textures = new Texture[var1.getGroupFileCount(0)]; - for (int var9 = 0; var9 < var8; ++var9) { - Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); - this.textures[var7[var9]] = new Texture(var10); - } + for(int var9 = 0; var9 < var8; ++var9) { + Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); + this.textures[var7[var9]] = new Texture(var10); + } - } // L: 29 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1888547862" - ) - @Export("getLoadedPercentage") - public int getLoadedPercentage() { - int var1 = 0; // L: 32 - int var2 = 0; // L: 33 - Texture[] var3 = this.textures; // L: 35 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2013656553" + ) + @Export("getLoadedPercentage") + public int getLoadedPercentage() { + int var1 = 0; + int var2 = 0; + Texture[] var3 = this.textures; - for (int var4 = 0; var4 < var3.length; ++var4) { // L: 36 - Texture var5 = var3[var4]; // L: 37 - if (var5 != null && var5.fileIds != null) { // L: 39 - var1 += var5.fileIds.length; // L: 40 - int[] var6 = var5.fileIds; // L: 42 + for(int var4 = 0; var4 < var3.length; ++var4) { + Texture var5 = var3[var4]; + if (var5 != null && var5.fileIds != null) { + var1 += var5.fileIds.length; + int[] var6 = var5.fileIds; - for (int var7 = 0; var7 < var6.length; ++var7) { // L: 43 - int var8 = var6[var7]; // L: 44 - if (this.archive.method4196(var8)) { // L: 46 - ++var2; // L: 47 - } - } - } - } + for(int var7 = 0; var7 < var6.length; ++var7) { + int var8 = var6[var7]; + if (this.archive.method4366(var8)) { + ++var2; + } + } + } + } - if (var1 == 0) { // L: 55 - return 0; - } else { - return var2 * 100 / var1; // L: 56 - } - } + if (var1 == 0) { + return 0; + } else { + return var2 * 100 / var1; + } + } - @ObfuscatedName("v") - @Export("setBrightness") - public void setBrightness(double var1) { - this.brightness = var1; // L: 60 - this.clear(); // L: 61 - } // L: 62 + @ObfuscatedName("v") + @Export("setBrightness") + public void setBrightness(double var1) { + this.brightness = var1; + this.clear(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)[I", - garbageValue = "883759945" - ) - @Export("getTexturePixels") - public int[] getTexturePixels(int var1) { - Texture var2 = this.textures[var1]; // L: 65 - if (var2 != null) { // L: 66 - if (var2.pixels != null) { // L: 67 - this.deque.addLast(var2); // L: 68 - var2.isLoaded = true; // L: 69 - return var2.pixels; // L: 70 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)[I", + garbageValue = "1068759988" + ) + @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; + } - boolean var3 = var2.load(this.brightness, this.textureSize, this.archive); // L: 72 - if (var3) { // L: 73 - if (this.remaining == 0) { // L: 74 - Texture var4 = (Texture)this.deque.removeFirst(); // L: 75 - var4.reset(); // L: 76 - } else { - --this.remaining; // L: 78 - } + 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; + } - this.deque.addLast(var2); // L: 79 - var2.isLoaded = true; // L: 80 - return var2.pixels; // L: 81 - } - } + this.deque.addLast(var2); + var2.isLoaded = true; + return var2.pixels; + } + } - return null; // L: 84 - } + return null; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1799220931" - ) - @Export("getAverageTextureRGB") - public int getAverageTextureRGB(int var1) { - return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; // L: 88 89 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IB)I", + garbageValue = "1" + ) + @Export("getAverageTextureRGB") + public int getAverageTextureRGB(int var1) { + return this.textures[var1] != null ? this.textures[var1].averageRGB : 0; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1523659518" - ) - public boolean vmethod3359(int var1) { - return this.textures[var1].field1640; // L: 93 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "-1400851651" + ) + public boolean vmethod3432(int var1) { + return this.textures[var1].field1639; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-562229865" - ) - @Export("isLowDetail") - public boolean isLowDetail(int var1) { - return this.textureSize == 64; // L: 97 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1467632569" + ) + @Export("isLowDetail") + public boolean isLowDetail(int var1) { + return this.textureSize == 64; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "64" - ) - @Export("clear") - public void clear() { - for (int var1 = 0; var1 < this.textures.length; ++var1) { // L: 101 - if (this.textures[var1] != null) { // L: 102 - this.textures[var1].reset(); - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1656047073" + ) + @Export("clear") + public void clear() { + for(int var1 = 0; var1 < this.textures.length; ++var1) { + if (this.textures[var1] != null) { + this.textures[var1].reset(); + } + } - this.deque = new NodeDeque(); // L: 104 - this.remaining = this.capacity; // L: 105 - } // L: 106 + this.deque = new NodeDeque(); + this.remaining = this.capacity; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1550111062" - ) - @Export("animate") - public void animate(int var1) { - for (int var2 = 0; var2 < this.textures.length; ++var2) { // L: 109 - Texture var3 = this.textures[var2]; // L: 110 - if (var3 != null && var3.animationDirection != 0 && var3.isLoaded) { // L: 111 - var3.animate(var1); // L: 112 - var3.isLoaded = false; // L: 113 - } - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-39" + ) + @Export("animate") + public void animate(int var1) { + for(int var2 = 0; var2 < this.textures.length; ++var2) { + Texture var3 = this.textures[var2]; + if (var3 != null && var3.animationDirection != 0 && var3.isLoaded) { + var3.animate(var1); + var3.isLoaded = false; + } + } - } // L: 116 + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Lir;", - garbageValue = "1406545495" - ) - public static VarcInt method2843(int var0) { - VarcInt var1 = (VarcInt)VarcInt.VarcInt_cached.get((long)var0); // L: 21 - if (var1 != null) { // L: 22 - return var1; - } else { - byte[] var2 = VarcInt.VarcInt_archive.takeFile(19, var0); // L: 23 - var1 = new VarcInt(); // L: 24 - if (var2 != null) { // L: 25 - var1.method4416(new Buffer(var2)); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;Llg;I)Llg;", + garbageValue = "-2095404981" + ) + @Export("readStringIntParameters") + static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) { + int var2 = var0.readUnsignedByte(); + int var3; + if (var1 == null) { + var3 = GameObject.method3452(var2); + var1 = new IterableNodeHashTable(var3); + } - VarcInt.VarcInt_cached.put(var1, (long)var0); // L: 26 - return var1; // L: 27 - } - } + for(var3 = 0; var3 < var2; ++var3) { + boolean var4 = var0.readUnsignedByte() == 1; + int var5 = var0.readMedium(); + Object var6; + if (var4) { + var6 = new ObjectNode(var0.readStringCp1252NullTerminated()); + } else { + var6 = new IntegerNode(var0.readInt()); + } - @ObfuscatedName("lq") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "188919715" - ) - static void method2848() { - if (WorldMapIcon_0.field148 != null) { // L: 11210 - Client.field915 = Client.cycle; // L: 11211 - WorldMapIcon_0.field148.method4345(); // L: 11212 + var1.put((Node)var6, (long)var5); + } - for (int var0 = 0; var0 < Client.players.length; ++var0) { // L: 11213 - if (Client.players[var0] != null) { // L: 11214 - WorldMapIcon_0.field148.method4344((Client.players[var0].x >> 7) + NetFileRequest.baseX, (Client.players[var0].y >> 7) + class41.baseY); // L: 11215 - } - } - } + return var1; + } - } // L: 11219 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;Lig;I)V", + garbageValue = "-729858984" + ) + public static void method2935(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2) { + SequenceDefinition.SequenceDefinition_archive = var0; + SequenceDefinition.SequenceDefinition_animationsArchive = var1; + SequenceDefinition.SequenceDefinition_skeletonsArchive = var2; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIS)I", + garbageValue = "-4181" + ) + public static int method2914(int var0, int var1, int var2) { + var2 &= 3; + if (var2 == 0) { + return var1; + } else if (var2 == 1) { + return 7 - var0; + } else { + return var2 == 2 ? 7 - var1 : var0; + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IIIZIB)J", + garbageValue = "-32" + ) + @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) { + var5 |= 65536L; + } + + return var5; + } } diff --git a/runescape-client/src/main/java/Tile.java b/runescape-client/src/main/java/Tile.java index aafeccda2d..ea6032cda5 100644 --- a/runescape-client/src/main/java/Tile.java +++ b/runescape-client/src/main/java/Tile.java @@ -4,185 +4,146 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ec") +@ObfuscatedName("es") @Implements("Tile") public final class Tile extends Node { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 518292921 - ) - @Export("plane") - int plane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -213521769 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 438104541 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 772520193 - ) - @Export("originalPlane") - int originalPlane; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lew;" - ) - @Export("paint") - SceneTilePaint paint; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Leq;" - ) - @Export("model") - SceneTileModel model; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lev;" - ) - @Export("boundaryObject") - BoundaryObject boundaryObject; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Ley;" - ) - @Export("wallDecoration") - WallDecoration wallDecoration; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lem;" - ) - @Export("floorDecoration") - FloorDecoration floorDecoration; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Ldz;" - ) - @Export("itemLayer") - ItemLayer itemLayer; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 418075799 - ) - @Export("gameObjectsCount") - int gameObjectsCount; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "[Lel;" - ) - @Export("gameObjects") - GameObject[] gameObjects; - @ObfuscatedName("m") - @Export("gameObjectEdgeMasks") - int[] gameObjectEdgeMasks; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = -306747105 - ) - @Export("gameObjectsEdgeMask") - int gameObjectsEdgeMask; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1679914955 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("f") - @Export("drawPrimary") - boolean drawPrimary; - @ObfuscatedName("a") - @Export("drawSecondary") - boolean drawSecondary; - @ObfuscatedName("b") - @Export("drawGameObjects") - boolean drawGameObjects; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1147032241 - ) - @Export("drawGameObjectEdges") - int drawGameObjectEdges; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = -14070267 - ) - int field1680; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = -1565392729 - ) - int field1677; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1370229161 - ) - int field1679; - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lec;" - ) - @Export("linkedBelowTile") - Tile linkedBelowTile; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1603227235 + ) + @Export("plane") + int plane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1514983275 + ) + @Export("x") + int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 110553161 + ) + @Export("y") + int y; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1594248765 + ) + @Export("originalPlane") + int originalPlane; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lec;" + ) + @Export("paint") + SceneTilePaint paint; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Leo;" + ) + @Export("model") + SceneTileModel model; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lee;" + ) + @Export("boundaryObject") + BoundaryObject boundaryObject; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Leu;" + ) + @Export("wallDecoration") + WallDecoration wallDecoration; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Len;" + ) + @Export("floorDecoration") + FloorDecoration floorDecoration; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Ldf;" + ) + @Export("itemLayer") + ItemLayer itemLayer; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -539721401 + ) + @Export("gameObjectsCount") + int gameObjectsCount; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "[Lej;" + ) + @Export("gameObjects") + GameObject[] gameObjects = new GameObject[5]; + @ObfuscatedName("a") + @Export("gameObjectEdgeMasks") + int[] gameObjectEdgeMasks = new int[5]; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -173130829 + ) + @Export("gameObjectsEdgeMask") + int gameObjectsEdgeMask = 0; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = -547792493 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("i") + @Export("drawPrimary") + boolean drawPrimary; + @ObfuscatedName("x") + @Export("drawSecondary") + boolean drawSecondary; + @ObfuscatedName("f") + @Export("drawGameObjects") + boolean drawGameObjects; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 1512202233 + ) + @Export("drawGameObjectEdges") + int drawGameObjectEdges; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -14103435 + ) + int field1667; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1037835833 + ) + int field1680; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = 2140292419 + ) + int field1668; + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Les;" + ) + @Export("linkedBelowTile") + Tile linkedBelowTile; - Tile(int var1, int var2, int var3) { - this.gameObjects = new GameObject[5]; // L: 17 - this.gameObjectEdgeMasks = new int[5]; // L: 18 - this.gameObjectsEdgeMask = 0; // L: 19 - this.originalPlane = this.plane = var1; // L: 31 - this.x = var2; // L: 32 - this.y = var3; // L: 33 - } // L: 34 + Tile(int var1, int var2, int var3) { + this.originalPlane = this.plane = var1; + this.x = var2; + this.y = var3; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "-1819420058" - ) - @Export("ByteArrayPool_release") - public static synchronized void ByteArrayPool_release(byte[] var0) { - if (var0.length == 100 && ByteArrayPool.ByteArrayPool_smallCount < 1000) { // L: 61 - ByteArrayPool.ByteArrayPool_small[++ByteArrayPool.ByteArrayPool_smallCount - 1] = var0; // L: 62 - } else if (var0.length == 5000 && ByteArrayPool.ByteArrayPool_mediumCount < 250) { // L: 65 - ByteArrayPool.ByteArrayPool_medium[++ByteArrayPool.ByteArrayPool_mediumCount - 1] = var0; // L: 66 - } else if (var0.length == 30000 && ByteArrayPool.ByteArrayPool_largeCount < 50) { // L: 69 - ByteArrayPool.ByteArrayPool_large[++ByteArrayPool.ByteArrayPool_largeCount - 1] = var0; // L: 70 - } else { - if (class23.ByteArrayPool_arrays != null) { // L: 73 - for (int var1 = 0; var1 < SoundCache.ByteArrayPool_alternativeSizes.length; ++var1) { // L: 74 - if (var0.length == SoundCache.ByteArrayPool_alternativeSizes[var1] && JagexCache.ByteArrayPool_altSizeArrayCounts[var1] < class23.ByteArrayPool_arrays[var1].length) { // L: 75 - class23.ByteArrayPool_arrays[var1][JagexCache.ByteArrayPool_altSizeArrayCounts[var1]++] = var0; // L: 76 - return; // L: 77 - } - } - } - - } - } // L: 63 67 71 81 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "123" - ) - static final int method2946(int var0, int var1) { - if (var0 == -1) { // L: 862 - return 12345678; - } else { - var1 = (var0 & 127) * var1 / 128; // L: 863 - if (var1 < 2) { // L: 864 - var1 = 2; - } else if (var1 > 126) { // L: 865 - var1 = 126; - } - - return (var0 & 65408) + var1; // L: 866 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + public static void method3032() { + HealthBarDefinition.HealthBarDefinition_cached.clear(); + HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); + } } diff --git a/runescape-client/src/main/java/TileItem.java b/runescape-client/src/main/java/TileItem.java index 69cf660f18..5d98e6e8a8 100644 --- a/runescape-client/src/main/java/TileItem.java +++ b/runescape-client/src/main/java/TileItem.java @@ -1,343 +1,37 @@ -import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ct") +@ObfuscatedName("cc") @Implements("TileItem") -public final class TileItem extends Renderable -{ - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1316978929 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 277715035 - ) - @Export("quantity") - int quantity; +public final class TileItem extends Renderable { + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -315361579 + ) + @Export("id") + int id; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -555496093 + ) + @Export("quantity") + int quantity; - TileItem() { - } // L: 11 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Lef;", + garbageValue = "127" + ) + @Export("getModel") + protected final Model getModel() { + return class281.ItemDefinition_get(this.id).getModel(this.quantity); + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Leh;", - garbageValue = "-1814248977" - ) - @Export("getModel") - protected final Model getModel() { - return SecureRandomCallable.ItemDefinition_get(this.id).getModel(this.quantity); // L: 14 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Lik;", - garbageValue = "93" - ) - @Export("SpotAnimationDefinition_get") - public static SpotAnimationDefinition SpotAnimationDefinition_get(int var0) { - SpotAnimationDefinition var1 = (SpotAnimationDefinition)SpotAnimationDefinition.SpotAnimationDefinition_cached.get((long)var0); // L: 37 - if (var1 != null) { // L: 38 - return var1; - } else { - byte[] var2 = SpotAnimationDefinition.SpotAnimationDefinition_archive.takeFile(13, var0); - var1 = new SpotAnimationDefinition(); // L: 40 - var1.id = var0; // L: 41 - if (var2 != null) { // L: 42 - var1.decode(new Buffer(var2)); - } - - SpotAnimationDefinition.SpotAnimationDefinition_cached.put(var1, (long)var0); // L: 43 - return var1; - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIIS)Lcs;", - garbageValue = "-4905" - ) - @Export("getWorldMapScript") - static Script getWorldMapScript(int var0, int var1, int var2) { - int var3 = (var1 << 8) + var0; // L: 39 - Script var6 = (Script)Script.Script_cached.get((long)(var3 << 16)); // L: 44 - Script var5; - if (var6 != null) { // L: 45 - var5 = var6; // L: 46 - } else { - String var7 = String.valueOf(var3); // L: 49 - int var8 = PacketBufferNode.archive12.getGroupId(var7); // L: 50 - if (var8 == -1) { // L: 51 - var5 = null; // L: 52 - } else { - label58: { - byte[] var9 = PacketBufferNode.archive12.takeFileFlat(var8); // L: 55 - if (var9 != null) { // L: 56 - if (var9.length <= 1) { // L: 57 - var5 = null; // L: 58 - break label58; // L: 59 - } - - var6 = Actor.newScript(var9); - if (var6 != null) { - Script.Script_cached.put(var6, (long)(var3 << 16)); // L: 63 - var5 = var6; - break label58; // L: 65 - } - } - - var5 = null; // L: 68 - } - } - } - - if (var5 != null) { // L: 71 - return var5; // L: 72 - } else { - int var4 = MusicPatchPcmStream.method3954(var2, var0); // L: 74 - Script var12 = (Script)Script.Script_cached.get((long)(var4 << 16)); // L: 77 - Script var13; - if (var12 != null) { // L: 78 - var13 = var12; // L: 79 - } else { - String var14 = String.valueOf(var4); // L: 82 - int var10 = PacketBufferNode.archive12.getGroupId(var14); // L: 83 - if (var10 == -1) { // L: 84 - var13 = null; // L: 85 - } else { - byte[] var11 = PacketBufferNode.archive12.takeFileFlat(var10); // L: 88 - if (var11 != null) { // L: 89 - if (var11.length <= 1) { // L: 90 - var13 = null; // L: 91 - return var13 != null ? var13 : null; // L: 104 107 - } - - var12 = Actor.newScript(var11); // L: 94 - if (var12 != null) { // L: 95 - Script.Script_cached.put(var12, (long)(var4 << 16)); // L: 96 - var13 = var12; // L: 97 - return var13 != null ? var13 : null; - } - } - - var13 = null; // L: 101 - } - } - - return var13 != null ? var13 : null; - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-263304274" - ) - static void method2189() { - Iterator var0 = Messages.Messages_hashTable.iterator(); // L: 61 - - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); // L: 62 - var1.clearIsFromFriend(); // L: 64 - } - - } // L: 67 - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1747466644" - ) - public static void method2187() { - ItemComposition.ItemDefinition_cached.clear(); // L: 565 - ItemComposition.ItemDefinition_cachedModels.clear(); // L: 566 - ItemComposition.ItemDefinition_cachedSprites.clear(); // L: 567 - } // L: 568 - - @ObfuscatedName("jl") - @ObfuscatedSignature( - descriptor = "(Ljd;IIIS)V", - garbageValue = "9349" - ) - @Export("addNpcToMenu") - static final void addNpcToMenu(NPCComposition var0, int var1, int var2, int var3) { - if (Client.menuOptionsCount < 400) { // L: 8719 - if (var0.transforms != null) { // L: 8720 - var0 = var0.transform(); - } - - if (var0 != null) { // L: 8721 - if (var0.isInteractable) { // L: 8722 - if (!var0.isFollower || Client.followerIndex == var1) { // L: 8723 - String var4 = var0.name; // L: 8724 - int var7; - int var8; - if (var0.combatLevel != 0) { // L: 8725 - var7 = var0.combatLevel; // L: 8728 - var8 = PlayerComposition.localPlayer.combatLevel; // L: 8729 - int var9 = var8 - var7; // L: 8731 - String var6; - if (var9 < -9) { // L: 8732 - var6 = class23.colorStartTag(16711680); // L: 8733 - } else if (var9 < -6) { // L: 8736 - var6 = class23.colorStartTag(16723968); // L: 8737 - } else if (var9 < -3) { // L: 8740 - var6 = class23.colorStartTag(16740352); // L: 8741 - } else if (var9 < 0) { // L: 8744 - var6 = class23.colorStartTag(16756736); // L: 8745 - } else if (var9 > 9) { // L: 8748 - var6 = class23.colorStartTag(65280); // L: 8749 - } else if (var9 > 6) { // L: 8752 - var6 = class23.colorStartTag(4259584); // L: 8753 - } else if (var9 > 3) { // L: 8756 - var6 = class23.colorStartTag(8453888); // L: 8757 - } else if (var9 > 0) { // L: 8760 - var6 = class23.colorStartTag(12648192); // L: 8761 - } else { - var6 = class23.colorStartTag(16776960); // L: 8764 - } - - var4 = var4 + var6 + " " + " (" + "level-" + var0.combatLevel + ")"; // L: 8766 - } - - if (var0.isFollower && Client.followerOpsLowPriority) { // L: 8768 - WorldMapRegion.insertMenuItemNoShift("Examine", class23.colorStartTag(16776960) + var4, 1003, var1, var2, var3); // L: 8769 - } - - if (Client.isItemSelected == 1) { // L: 8772 - WorldMapRegion.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class23.colorStartTag(16776960) + var4, 7, var1, var2, var3); // L: 8773 - } else if (Client.isSpellSelected) { // L: 8776 - if ((Player.selectedSpellFlags & 2) == 2) { // L: 8777 - WorldMapRegion.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class23.colorStartTag(16776960) + var4, 8, var1, var2, var3); // L: 8778 - } - } else { - int var10 = var0.isFollower && Client.followerOpsLowPriority ? 2000 : 0; // L: 8783 - String[] var11 = var0.actions; // L: 8784 - if (var11 != null) { // L: 8785 - for (var7 = 4; var7 >= 0; --var7) { // L: 8786 - if (var11[var7] != null && !var11[var7].equalsIgnoreCase("Attack")) { // L: 8787 - var8 = 0; // L: 8788 - if (var7 == 0) { // L: 8789 - var8 = var10 + 9; - } - - if (var7 == 1) { // L: 8790 - var8 = var10 + 10; - } - - if (var7 == 2) { // L: 8791 - var8 = var10 + 11; - } - - if (var7 == 3) { // L: 8792 - var8 = var10 + 12; - } - - if (var7 == 4) { // L: 8793 - var8 = var10 + 13; - } - - WorldMapRegion.insertMenuItemNoShift(var11[var7], class23.colorStartTag(16776960) + var4, var8, var1, var2, var3); // L: 8794 - } - } - } - - if (var11 != null) { // L: 8799 - for (var7 = 4; var7 >= 0; --var7) { // L: 8800 - if (var11[var7] != null && var11[var7].equalsIgnoreCase("Attack")) { // L: 8801 - short var12 = 0; // L: 8802 - if (AttackOption.AttackOption_hidden != Client.npcAttackOption) { // L: 8803 - if (Client.npcAttackOption == AttackOption.AttackOption_alwaysRightClick || AttackOption.AttackOption_dependsOnCombatLevels == Client.npcAttackOption && var0.combatLevel > PlayerComposition.localPlayer.combatLevel) { // L: 8804 - var12 = 2000; // L: 8805 - } - - var8 = 0; // L: 8807 - if (var7 == 0) { // L: 8808 - var8 = var12 + 9; - } - - if (var7 == 1) { // L: 8809 - var8 = var12 + 10; - } - - if (var7 == 2) { // L: 8810 - var8 = var12 + 11; - } - - if (var7 == 3) { // L: 8811 - var8 = var12 + 12; - } - - if (var7 == 4) { // L: 8812 - var8 = var12 + 13; - } - - WorldMapRegion.insertMenuItemNoShift(var11[var7], class23.colorStartTag(16776960) + var4, var8, var1, var2, var3); // L: 8813 - } - } - } - } - - if (!var0.isFollower || !Client.followerOpsLowPriority) { // L: 8818 - WorldMapRegion.insertMenuItemNoShift("Examine", class23.colorStartTag(16776960) + var4, 1003, var1, var2, var3); // L: 8819 - } - } - - } - } - } - } - } // L: 8823 - - @ObfuscatedName("jp") - @ObfuscatedSignature( - descriptor = "(Lhe;IIZB)V", - garbageValue = "-18" - ) - @Export("alignWidgetSize") - static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { - int var4 = var0.width; // L: 9497 - int var5 = var0.height; // L: 9498 - if (var0.widthAlignment == 0) { // L: 9499 - var0.width = var0.rawWidth; - } else if (var0.widthAlignment == 1) { // L: 9500 - var0.width = var1 - var0.rawWidth; - } else if (var0.widthAlignment == 2) { // L: 9501 - var0.width = var0.rawWidth * var1 >> 14; - } - - if (var0.heightAlignment == 0) { // L: 9502 - var0.height = var0.rawHeight; - } else if (var0.heightAlignment == 1) { // L: 9503 - var0.height = var2 - var0.rawHeight; - } else if (var0.heightAlignment == 2) { // L: 9504 - var0.height = var2 * var0.rawHeight >> 14; - } - - if (var0.widthAlignment == 4) { // L: 9505 - var0.width = var0.height * var0.field2660 / var0.field2604; - } - - if (var0.heightAlignment == 4) { // L: 9506 - var0.height = var0.field2604 * var0.width / var0.field2660; - } - - if (var0.contentType == 1337) { // L: 9507 - Client.viewportWidget = var0; - } - - if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { // L: 9508 - ScriptEvent var6 = new ScriptEvent(); // L: 9509 - var6.widget = var0; // L: 9510 - var6.args = var0.onResize; // L: 9511 - Client.scriptEvents.addFirst(var6); // L: 9512 - } - - } // L: 9514 + @ObfuscatedName("v") + public static boolean method2265(long var0) { + return 0L != var0 && !class225.method4239(var0); + } } diff --git a/runescape-client/src/main/java/Tiles.java b/runescape-client/src/main/java/Tiles.java index 7f12c265ab..f394d8ff44 100644 --- a/runescape-client/src/main/java/Tiles.java +++ b/runescape-client/src/main/java/Tiles.java @@ -3,203 +3,268 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bi") +@ObfuscatedName("bh") @Implements("Tiles") public final class Tiles { - @ObfuscatedName("h") - @Export("Tiles_heights") - static int[][][] Tiles_heights; - @ObfuscatedName("v") - @Export("Tiles_renderFlags") - static byte[][][] Tiles_renderFlags; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -2047065695 - ) - @Export("Tiles_minPlane") - static int Tiles_minPlane; - @ObfuscatedName("w") - static byte[][][] field514; - @ObfuscatedName("t") - static byte[][][] field508; - @ObfuscatedName("p") - static byte[][][] field511; - @ObfuscatedName("y") - static final int[] field512; - @ObfuscatedName("r") - static final int[] field513; - @ObfuscatedName("q") - static final int[] field518; - @ObfuscatedName("g") - static final int[] field515; - @ObfuscatedName("s") - static final int[] field509; - @ObfuscatedName("o") - static final int[] field517; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -172195291 - ) - static int field516; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 870257593 - ) - static int field510; + @ObfuscatedName("n") + @Export("Tiles_heights") + static int[][][] Tiles_heights = new int[4][105][105]; + @ObfuscatedName("v") + @Export("Tiles_renderFlags") + static byte[][][] Tiles_renderFlags = new byte[4][104][104]; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -968243809 + ) + @Export("Tiles_minPlane") + static int Tiles_minPlane = 99; + @ObfuscatedName("c") + static byte[][][] field517; + @ObfuscatedName("h") + static byte[][][] field530; + @ObfuscatedName("s") + @Export("Tiles_saturation") + static int[] Tiles_saturation; + @ObfuscatedName("g") + static final int[] field521 = new int[]{1, 2, 4, 8}; + @ObfuscatedName("u") + static final int[] field514 = new int[]{16, 32, 64, 128}; + @ObfuscatedName("t") + static final int[] field523 = new int[]{1, 0, -1, 0}; + @ObfuscatedName("p") + static final int[] field527 = new int[]{0, -1, 0, 1}; + @ObfuscatedName("m") + static final int[] field525 = new int[]{1, -1, -1, 1}; + @ObfuscatedName("r") + static final int[] field526 = new int[]{-1, -1, 1, 1}; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -1953607333 + ) + static int field518 = (int)(Math.random() * 17.0D) - 8; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -2108936291 + ) + static int field528 = (int)(Math.random() * 33.0D) - 16; + @ObfuscatedName("ek") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive14") + static Archive archive14; - static { - Tiles_heights = new int[4][105][105]; // L: 16 - Tiles_renderFlags = new byte[4][104][104]; // L: 17 - Tiles_minPlane = 99; // L: 18 - field512 = new int[]{1, 2, 4, 8}; // L: 34 - field513 = new int[]{16, 32, 64, 128}; // L: 35 - field518 = new int[]{1, 0, -1, 0}; // L: 36 - field515 = new int[]{0, -1, 0, 1}; // L: 37 - field509 = new int[]{1, -1, -1, 1}; // L: 38 - field517 = new int[]{-1, -1, 1, 1}; // L: 39 - field516 = (int)(Math.random() * 17.0D) - 8; // L: 40 - field510 = (int)(Math.random() * 33.0D) - 16; // L: 41 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)J", + garbageValue = "-1552906826" + ) + @Export("currentTimeMillis") + public static final synchronized long currentTimeMillis() { + long var0 = System.currentTimeMillis(); + if (var0 < class307.field3734) { + class307.field3735 += class307.field3734 - var0; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lgt;", - garbageValue = "47" - ) - @Export("ServerPacket_values") - public static ServerPacket[] ServerPacket_values() { - return new ServerPacket[]{ServerPacket.field2179, ServerPacket.field2202, ServerPacket.field2141, ServerPacket.field2142, ServerPacket.field2143, ServerPacket.field2144, ServerPacket.field2201, ServerPacket.field2146, ServerPacket.field2182, ServerPacket.field2148, ServerPacket.field2200, ServerPacket.field2150, ServerPacket.field2190, ServerPacket.field2152, ServerPacket.field2139, ServerPacket.field2188, ServerPacket.field2155, ServerPacket.field2156, ServerPacket.field2163, ServerPacket.field2158, ServerPacket.field2159, ServerPacket.field2160, ServerPacket.field2161, ServerPacket.field2162, ServerPacket.field2218, ServerPacket.field2164, ServerPacket.field2165, ServerPacket.field2192, ServerPacket.field2167, ServerPacket.field2212, ServerPacket.field2208, ServerPacket.field2170, ServerPacket.field2171, ServerPacket.field2172, ServerPacket.field2173, ServerPacket.field2174, ServerPacket.field2175, ServerPacket.field2176, ServerPacket.field2140, ServerPacket.field2178, ServerPacket.field2151, ServerPacket.field2180, ServerPacket.field2181, ServerPacket.field2157, ServerPacket.field2166, ServerPacket.field2184, ServerPacket.field2197, ServerPacket.field2186, ServerPacket.field2149, ServerPacket.field2214, ServerPacket.field2189, ServerPacket.field2209, ServerPacket.field2191, ServerPacket.field2145, ServerPacket.field2183, ServerPacket.field2194, ServerPacket.field2195, ServerPacket.field2196, ServerPacket.field2215, ServerPacket.field2198, ServerPacket.field2177, ServerPacket.field2207, ServerPacket.field2154, ServerPacket.field2153, ServerPacket.field2203, ServerPacket.field2204, ServerPacket.field2205, ServerPacket.field2169, ServerPacket.field2206, ServerPacket.field2185, ServerPacket.field2187, ServerPacket.field2210, ServerPacket.field2211, ServerPacket.field2193, ServerPacket.field2213, ServerPacket.field2168, ServerPacket.field2199, ServerPacket.field2216, ServerPacket.field2217, ServerPacket.field2147, ServerPacket.field2219, ServerPacket.field2220, ServerPacket.field2221, ServerPacket.field2222, ServerPacket.field2223, ServerPacket.field2224}; // L: 95 - } + class307.field3734 = var0; + return class307.field3735 + var0; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;ZII)V", - garbageValue = "1438840019" - ) - static void method1208(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { - if (Login.clearLoginScreen) { // L: 128 - if (var3 == 4) { // L: 129 - Login.loginIndex = 4; // L: 130 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Lih;", + garbageValue = "-2101793788" + ) + public static VarbitComposition method1219(int var0) { + VarbitComposition var1 = (VarbitComposition)VarbitComposition.VarbitDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = VarbitComposition.VarbitDefinition_archive.takeFile(14, var0); + var1 = new VarbitComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - } else { - Login.loginIndex = var3; // L: 134 - Rasterizer2D.Rasterizer2D_clear(); // L: 135 - byte[] var4 = var0.takeFileByNames("title.jpg", ""); // L: 136 - class25.leftTitleSprite = WorldMapSection0.convertJpgToSprite(var4); // L: 137 - class224.rightTitleSprite = class25.leftTitleSprite.mirrorHorizontally(); // L: 138 - int var5 = Client.worldProperties; // L: 139 - if ((var5 & 536870912) != 0) { // L: 141 - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); // L: 142 - } else if ((var5 & 1073741824) != 0) { // L: 144 - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", ""); // L: 145 - } else { - class224.logoSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); // L: 148 - } + VarbitComposition.VarbitDefinition_cached.put(var1, (long)var0); + return var1; + } + } - WorldMapEvent.titleboxSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); // L: 151 - Login.titlebuttonSprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); // L: 152 - GZipDecompressor.runesSprite = class89.method2123(var1, "runes", ""); // L: 153 - Login.title_muteSprite = class89.method2123(var1, "title_mute", ""); // L: 154 - DirectByteArrayCopier.options_buttons_0Sprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); // L: 155 - AccessFile.field4101 = class51.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); // L: 156 - ItemContainer.options_buttons_2Sprite = class51.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); // L: 157 - class204.field2408 = class51.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); // L: 158 - FriendSystem.field1071 = DirectByteArrayCopier.options_buttons_0Sprite.subWidth; // L: 159 - Players.field1260 = DirectByteArrayCopier.options_buttons_0Sprite.subHeight; // L: 160 - class1.loginScreenRunesAnimation = new LoginScreenAnimation(GZipDecompressor.runesSprite); // L: 161 - if (var2) { // L: 162 - Login.Login_username = ""; // L: 163 - Login.Login_password = ""; // L: 164 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(ILlu;Liy;B)V", + garbageValue = "1" + ) + static void method1218(int var0, ArchiveDisk var1, Archive var2) { + ArchiveDiskAction var3 = new ArchiveDiskAction(); + var3.type = 1; + var3.key = (long)var0; + var3.archiveDisk = var1; + var3.archive = var2; + NodeDeque var4 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.addFirst(var3); + } - WorldMapSection1.field313 = 0; // L: 166 - SecureRandomCallable.otp = ""; // L: 167 - Login.field1200 = true; // L: 168 - Login.worldSelectOpen = false; // L: 169 - if (!Timer.clientPreferences.titleMusicDisabled) { // L: 170 - WorldMapSectionType.method300(2, class217.archive6, "scape main", "", 255, false); - } else { - SecureRandomCallable.method1220(2); // L: 171 - } + Object var9 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock; + synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_lock) { + if (ArchiveDiskActionHandler.field3187 == 0) { + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread = new Thread(new ArchiveDiskActionHandler()); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setDaemon(true); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.start(); + ArchiveDiskActionHandler.ArchiveDiskActionHandler_thread.setPriority(5); + } - SoundSystem.method2564(false); // L: 172 - Login.clearLoginScreen = true; // L: 173 - Login.xPadding = (IgnoreList.canvasWidth - 765) / 2; // L: 174 - Login.loginBoxX = Login.xPadding + 202; // L: 175 - Login.loginBoxCenter = Login.loginBoxX + 180; // L: 176 - class25.leftTitleSprite.drawAt(Login.xPadding, 0); // L: 177 - class224.rightTitleSprite.drawAt(Login.xPadding + 382, 0); // L: 178 - class224.logoSprite.drawAt(Login.xPadding + 382 - class224.logoSprite.subWidth / 2, 18); // L: 179 - } - } // L: 132 180 + ArchiveDiskActionHandler.field3187 = 600; + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "5" - ) - public static int method1170(int var0) { - long var2 = ViewportMouse.ViewportMouse_entityTags[var0]; // L: 61 - int var1 = (int)(var2 >>> 7 & 127L); // L: 63 - return var1; // L: 65 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lgv;", + garbageValue = "-2100535609" + ) + static LoginPacket[] method1217() { + return new LoginPacket[]{LoginPacket.field2340, LoginPacket.field2339, LoginPacket.field2342, LoginPacket.field2338, LoginPacket.field2336, LoginPacket.field2337}; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-834710380" - ) - static void method1203() { - Messages.Messages_channels.clear(); // L: 54 - Messages.Messages_hashTable.clear(); // L: 55 - Messages.Messages_queue.clear(); // L: 56 - Messages.Messages_count = 0; // L: 57 - } // L: 58 + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1993341504" + ) + static final void method1209(String var0) { + class300.method5473("Please remove " + var0 + " from your friend list first"); + } - @ObfuscatedName("gx") - @ObfuscatedSignature( - descriptor = "(Lbq;III)V", - garbageValue = "1651593642" - ) - @Export("performPlayerAnimation") - static void performPlayerAnimation(Player var0, int var1, int var2) { - if (var0.sequence == var1 && var1 != -1) { // L: 4151 - int var3 = ParamComposition.SequenceDefinition_get(var1).field3548; // L: 4152 - if (var3 == 1) { // L: 4153 - var0.sequenceFrame = 0; // L: 4154 - var0.sequenceFrameCycle = 0; // L: 4155 - var0.sequenceDelay = var2; // L: 4156 - var0.field974 = 0; // L: 4157 - } + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1872094164" + ) + static int method1215(int var0, Script var1, boolean var2) { + int var6; + if (var0 == ScriptOpcodes.OC_NAME) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = class281.ItemDefinition_get(var6).name; + return 1; + } else { + int var4; + ItemComposition var5; + if (var0 == ScriptOpcodes.OC_OP) { + Interpreter.Interpreter_intStackSize -= 2; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = class281.ItemDefinition_get(var6); + if (var4 >= 1 && var4 <= 5 && var5.groundActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.groundActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } - if (var3 == 2) { // L: 4159 - var0.field974 = 0; // L: 4160 - } - } else if (var1 == -1 || var0.sequence == -1 || ParamComposition.SequenceDefinition_get(var1).field3557 >= ParamComposition.SequenceDefinition_get(var0.sequence).field3557) { // L: 4163 - var0.sequence = var1; // L: 4164 - var0.sequenceFrame = 0; // L: 4165 - var0.sequenceFrameCycle = 0; // L: 4166 - var0.sequenceDelay = var2; // L: 4167 - var0.field974 = 0; // L: 4168 - var0.field996 = var0.pathLength; // L: 4169 - } + return 1; + } else if (var0 == ScriptOpcodes.OC_IOP) { + Interpreter.Interpreter_intStackSize -= 2; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var5 = class281.ItemDefinition_get(var6); + if (var4 >= 1 && var4 <= 5 && var5.inventoryActions[var4 - 1] != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var5.inventoryActions[var4 - 1]; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } - } // L: 4171 + return 1; + } else if (var0 == ScriptOpcodes.OC_COST) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class281.ItemDefinition_get(var6).price; + return 1; + } else if (var0 == ScriptOpcodes.OC_STACKABLE) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class281.ItemDefinition_get(var6).isStackable == 1 ? 1 : 0; + return 1; + } else { + ItemComposition var7; + if (var0 == ScriptOpcodes.OC_CERT) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = class281.ItemDefinition_get(var6); + if (var7.noteTemplate == -1 && var7.note >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.note; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6; + } - @ObfuscatedName("lk") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;S)V", - garbageValue = "2048" - ) - @Export("clanKickUser") - static final void clanKickUser(String var0) { - if (WorldMapArea.clanChat != null) { // L: 11021 - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2228, Client.packetWriter.isaacCipher); // L: 11022 - var1.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var0)); // L: 11023 - var1.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 11024 - Client.packetWriter.addNode(var1); // L: 11025 - } - } // L: 11026 + return 1; + } else if (var0 == ScriptOpcodes.OC_UNCERT) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = class281.ItemDefinition_get(var6); + if (var7.noteTemplate >= 0 && var7.note >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.note; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_MEMBERS) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class281.ItemDefinition_get(var6).isMembersOnly ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.OC_PLACEHOLDER) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = class281.ItemDefinition_get(var6); + if (var7.placeholderTemplate == -1 && var7.placeholder >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.placeholder; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_UNPLACEHOLDER) { + var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var7 = class281.ItemDefinition_get(var6); + if (var7.placeholderTemplate >= 0 && var7.placeholder >= 0) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.placeholder; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6; + } + + return 1; + } else if (var0 == ScriptOpcodes.OC_FIND) { + String var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + PendingSpawn.findItemDefinitions(var3, var4 == 1); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = NPC.foundItemIdCount; + return 1; + } else if (var0 != ScriptOpcodes.OC_FINDNEXT) { + if (var0 == ScriptOpcodes.OC_FINDRESET) { + WorldMapLabelSize.foundItemIndex = 0; + return 1; + } else { + return 2; + } + } else { + if (class52.foundItemIds != null && WorldMapLabelSize.foundItemIndex < NPC.foundItemIdCount) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = class52.foundItemIds[++WorldMapLabelSize.foundItemIndex - 1] & '\uffff'; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } + + return 1; + } + } + } + } + + @ObfuscatedName("jg") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "739507935" + ) + @Export("setTapToDrop") + static void setTapToDrop(boolean var0) { + Client.tapToDrop = var0; + } } diff --git a/runescape-client/src/main/java/Timer.java b/runescape-client/src/main/java/Timer.java index 7b217d6db6..865acb4f16 100644 --- a/runescape-client/src/main/java/Timer.java +++ b/runescape-client/src/main/java/Timer.java @@ -4,179 +4,162 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("jc") +@ObfuscatedName("jr") @Implements("Timer") public class Timer { - @ObfuscatedName("su") - @ObfuscatedSignature( - descriptor = "Lcd;" - ) - @Export("clientPreferences") - static ClientPreferences clientPreferences; - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = 3770281443563997935L - ) - long field3620; - @ObfuscatedName("v") - @ObfuscatedGetter( - longValue = -2250207918034291381L - ) - long field3616; - @ObfuscatedName("x") - public boolean field3614; - @ObfuscatedName("w") - @ObfuscatedGetter( - longValue = -2802156095156479445L - ) - long field3615; - @ObfuscatedName("t") - @ObfuscatedGetter( - longValue = -1144199365391722153L - ) - long field3622; - @ObfuscatedName("j") - @ObfuscatedGetter( - longValue = -6579691889222792449L - ) - long field3613; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 121997523 - ) - int field3618; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1353523553 - ) - int field3619; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1070107525 - ) - int field3612; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1445210843 - ) - int field3621; + @ObfuscatedName("f") + static String[] field3621; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = -2999131098664295081L + ) + long field3620 = -1L; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = 8703508403484672025L + ) + long field3611 = -1L; + @ObfuscatedName("d") + public boolean field3616 = false; + @ObfuscatedName("c") + @ObfuscatedGetter( + longValue = 6712649404077510219L + ) + long field3614 = 0L; + @ObfuscatedName("y") + @ObfuscatedGetter( + longValue = 6713522721722477663L + ) + long field3612 = 0L; + @ObfuscatedName("h") + @ObfuscatedGetter( + longValue = 4706314381784357345L + ) + long field3615 = 0L; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 231611023 + ) + int field3617 = 0; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 764593875 + ) + int field3618 = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -941214579 + ) + int field3613 = 0; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1615778673 + ) + int field3619 = 0; - public Timer() { - this.field3620 = -1L; // L: 7 - this.field3616 = -1L; // L: 8 - this.field3614 = false; // L: 9 - this.field3615 = 0L; // L: 10 - this.field3622 = 0L; // L: 11 - this.field3613 = 0L; // L: 12 - this.field3618 = 0; // L: 13 - this.field3619 = 0; // L: 14 - this.field3612 = 0; // L: 15 - this.field3621 = 0; // L: 16 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + public void method5212() { + this.field3620 = Tiles.currentTimeMillis(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-16" - ) - public void method5010() { - this.field3620 = class298.currentTimeMillis(); // L: 19 - } // L: 20 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-86650625" + ) + public void method5206() { + if (-1L != this.field3620) { + this.field3612 = Tiles.currentTimeMillis() - this.field3620; + this.field3620 = -1L; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1990101755" - ) - public void method5018() { - if (-1L != this.field3620) { // L: 23 - this.field3622 = class298.currentTimeMillis() - this.field3620; // L: 24 - this.field3620 = -1L; // L: 25 - } + } - } // L: 27 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-330894833" + ) + public void method5211(int var1) { + this.field3611 = Tiles.currentTimeMillis(); + this.field3617 = var1; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "11" - ) - public void method5033(int var1) { - this.field3616 = class298.currentTimeMillis(); // L: 30 - this.field3618 = var1; // L: 31 - } // L: 32 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "40" + ) + public void method5198() { + if (this.field3611 != -1L) { + this.field3614 = Tiles.currentTimeMillis() - this.field3611; + this.field3611 = -1L; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "820461529" - ) - public void method5013() { - if (this.field3616 != -1L) { // L: 35 - this.field3615 = class298.currentTimeMillis() - this.field3616; // L: 36 - this.field3616 = -1L; // L: 37 - } + ++this.field3613; + this.field3616 = true; + } - ++this.field3612; // L: 39 - this.field3614 = true; // L: 40 - } // L: 41 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1966837629" + ) + public void method5199() { + this.field3616 = false; + this.field3618 = 0; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "0" - ) - public void method5014() { - this.field3614 = false; // L: 44 - this.field3619 = 0; // L: 45 - } // L: 46 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "435711064" + ) + public void method5200() { + this.method5198(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-105042609" - ) - public void method5015() { - this.method5013(); // L: 49 - } // L: 50 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lkx;S)V", + garbageValue = "-14322" + ) + @Export("write") + public void write(Buffer var1) { + long var2 = this.field3612; + var2 /= 10L; + if (var2 < 0L) { + var2 = 0L; + } else if (var2 > 65535L) { + var2 = 65535L; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1266632335" - ) - @Export("write") - public void write(Buffer var1) { - long var2 = this.field3622; // L: 53 - var2 /= 10L; // L: 55 - if (var2 < 0L) { // L: 56 - var2 = 0L; - } else if (var2 > 65535L) { // L: 57 - var2 = 65535L; - } + var1.writeShort((int)var2); + long var4 = this.field3614; + var4 /= 10L; + if (var4 < 0L) { + var4 = 0L; + } else if (var4 > 65535L) { + var4 = 65535L; + } - var1.writeShort((int)var2); // L: 58 - long var4 = this.field3615; // L: 60 - var4 /= 10L; // L: 62 - if (var4 < 0L) { // L: 63 - var4 = 0L; - } else if (var4 > 65535L) { // L: 64 - var4 = 65535L; - } + var1.writeShort((int)var4); + long var6 = this.field3615; + var6 /= 10L; + if (var6 < 0L) { + var6 = 0L; + } else if (var6 > 65535L) { + var6 = 65535L; + } - var1.writeShort((int)var4); // L: 65 - long var6 = this.field3613; // L: 67 - var6 /= 10L; // L: 69 - if (var6 < 0L) { // L: 70 - var6 = 0L; - } else if (var6 > 65535L) { // L: 71 - var6 = 65535L; - } - - var1.writeShort((int)var6); // L: 72 - var1.writeShort(this.field3618); // L: 74 - var1.writeShort(this.field3619); // L: 75 - var1.writeShort(this.field3612); // L: 76 - var1.writeShort(this.field3621); // L: 77 - } // L: 78 + var1.writeShort((int)var6); + var1.writeShort(this.field3617); + var1.writeShort(this.field3618); + var1.writeShort(this.field3613); + var1.writeShort(this.field3619); + } } diff --git a/runescape-client/src/main/java/TriBool.java b/runescape-client/src/main/java/TriBool.java index 9f385d4e73..20225e5d2f 100644 --- a/runescape-client/src/main/java/TriBool.java +++ b/runescape-client/src/main/java/TriBool.java @@ -3,50 +3,37 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kn") +@ObfuscatedName("ka") @Implements("TriBool") public class TriBool { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("TriBool_unknown") - public static final TriBool TriBool_unknown; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("TriBool_true") - public static final TriBool TriBool_true; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lkn;" - ) - @Export("TriBool_false") - public static final TriBool TriBool_false; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("TriBool_unknown") + public static final TriBool TriBool_unknown = new TriBool(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("TriBool_true") + public static final TriBool TriBool_true = new TriBool(); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lka;" + ) + @Export("TriBool_false") + public static final TriBool TriBool_false = new TriBool(); + @ObfuscatedName("z") + @Export("ByteArrayPool_alternativeSizes") + static int[] ByteArrayPool_alternativeSizes; - static { - TriBool_unknown = new TriBool(); // L: 4 - TriBool_true = new TriBool(); // L: 5 - TriBool_false = new TriBool(); // L: 6 - } - - TriBool() { - } // L: 8 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "538675617" - ) - @Export("isCharPrintable") - public static boolean isCharPrintable(char var0) { - if (var0 >= ' ' && var0 <= '~') { // L: 188 - return true; - } else if (var0 >= 160 && var0 <= 255) { - return true; // L: 189 - } else { - return var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376; // L: 190 - } - } + @ObfuscatedName("kx") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-107" + ) + public static boolean method5372() { + return Client.staffModLevel >= 2; + } } diff --git a/runescape-client/src/main/java/UrlRequest.java b/runescape-client/src/main/java/UrlRequest.java index ac71b57457..e97dd30311 100644 --- a/runescape-client/src/main/java/UrlRequest.java +++ b/runescape-client/src/main/java/UrlRequest.java @@ -7,40 +7,46 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("ei") @Implements("UrlRequest") public class UrlRequest { - @ObfuscatedName("st") - @Export("foundItemIds") - static short[] foundItemIds; - @ObfuscatedName("h") - @Export("url") - final URL url; - @ObfuscatedName("v") - @Export("isDone0") - volatile boolean isDone0; - @ObfuscatedName("x") - @Export("response0") - volatile byte[] response0; + @ObfuscatedName("n") + @Export("url") + final URL url; + @ObfuscatedName("v") + @Export("isDone0") + volatile boolean isDone0; + @ObfuscatedName("d") + @Export("response0") + volatile byte[] response0; - UrlRequest(URL var1) { - this.url = var1; // L: 96 - } // L: 97 + UrlRequest(URL var1) { + this.url = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "109" - ) - @Export("isDone") - public boolean isDone() { - return this.isDone0; // L: 100 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1827433673" + ) + @Export("isDone") + public boolean isDone() { + return this.isDone0; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)[B", - garbageValue = "-884175242" - ) - @Export("getResponse") - public byte[] getResponse() { - return this.response0; // L: 104 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)[B", + garbageValue = "124" + ) + @Export("getResponse") + public byte[] getResponse() { + return this.response0; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(ZZI)Lly;", + garbageValue = "-2105187304" + ) + static IndexedSprite method3476(boolean var0, boolean var1) { + return var0 ? (var1 ? WorldMapDecoration.field237 : Login.options_buttons_2Sprite) : (var1 ? UrlRequester.field1956 : class69.options_buttons_0Sprite); + } } diff --git a/runescape-client/src/main/java/UrlRequester.java b/runescape-client/src/main/java/UrlRequester.java index 2b557ad0de..3d139473db 100644 --- a/runescape-client/src/main/java/UrlRequester.java +++ b/runescape-client/src/main/java/UrlRequester.java @@ -7,320 +7,174 @@ import java.util.LinkedList; import java.util.Queue; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ea") +@ObfuscatedName("ed") @Implements("UrlRequester") public class UrlRequester implements Runnable { - @ObfuscatedName("ep") - @ObfuscatedGetter( - intValue = -863739849 - ) - static int field1963; - @ObfuscatedName("gl") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("compass") - static SpritePixels compass; - @ObfuscatedName("h") - @Export("thread") - final Thread thread; - @ObfuscatedName("v") - @Export("isClosed") - volatile boolean isClosed; - @ObfuscatedName("x") - @Export("requests") - Queue requests; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + static IndexedSprite field1956; + @ObfuscatedName("dt") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive6") + static Archive archive6; + @ObfuscatedName("n") + @Export("thread") + final Thread thread = new Thread(this); + @ObfuscatedName("v") + @Export("isClosed") + volatile boolean isClosed; + @ObfuscatedName("d") + @Export("requests") + Queue requests = new LinkedList(); - public UrlRequester() { - this.requests = new LinkedList(); - this.thread = new Thread(this); - this.thread.setPriority(1); - this.thread.start(); - } + public UrlRequester() { + this.thread.setPriority(1); + this.thread.start(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/net/URL;I)Lei;", - garbageValue = "-1941564889" - ) - @Export("request") - public UrlRequest request(URL var1) { - UrlRequest var2 = new UrlRequest(var1); // L: 71 - synchronized(this) { - this.requests.add(var2); - this.notify(); - return var2; - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/net/URL;I)Lei;", + garbageValue = "1847135895" + ) + @Export("request") + public UrlRequest request(URL var1) { + UrlRequest var2 = new UrlRequest(var1); + synchronized(this) { + this.requests.add(var2); + this.notify(); + return var2; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "6" - ) - @Export("close") - public void close() { - this.isClosed = true; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-158100516" + ) + @Export("close") + public void close() { + this.isClosed = true; - try { - synchronized(this) { - this.notify(); - } + try { + synchronized(this) { + this.notify(); + } - this.thread.join(); - } catch (InterruptedException var4) { - } + this.thread.join(); + } catch (InterruptedException var4) { + ; + } - } + } - public void run() { - while (!this.isClosed) { - try { - UrlRequest var1; - synchronized(this) { - var1 = (UrlRequest)this.requests.poll(); - if (var1 == null) { - try { - this.wait(); // L: 31 - } catch (InterruptedException var13) { // L: 33 - } - continue; - } - } + public void run() { + while(!this.isClosed) { + try { + UrlRequest var1; + synchronized(this) { + var1 = (UrlRequest)this.requests.poll(); + if (var1 == null) { + try { + this.wait(); + } catch (InterruptedException var13) { + ; + } + continue; + } + } - DataInputStream var2 = null; // L: 37 - URLConnection var3 = null; // L: 38 + DataInputStream var2 = null; + URLConnection var3 = null; - try { - var3 = var1.url.openConnection(); - var3.setConnectTimeout(5000); // L: 41 - var3.setReadTimeout(5000); // L: 42 - var3.setUseCaches(false); - var3.setRequestProperty("Connection", "close"); - int var7 = var3.getContentLength(); // L: 45 - if (var7 >= 0) { // L: 46 - byte[] var5 = new byte[var7]; - var2 = new DataInputStream(var3.getInputStream()); - var2.readFully(var5); // L: 49 - var1.response0 = var5; // L: 50 - } + try { + var3 = var1.url.openConnection(); + var3.setConnectTimeout(5000); + var3.setReadTimeout(5000); + var3.setUseCaches(false); + var3.setRequestProperty("Connection", "close"); + int var7 = var3.getContentLength(); + if (var7 >= 0) { + byte[] var5 = new byte[var7]; + var2 = new DataInputStream(var3.getInputStream()); + var2.readFully(var5); + var1.response0 = var5; + } - var1.isDone0 = true; - } catch (IOException var14) { // L: 54 - var1.isDone0 = true; - } finally { - if (var2 != null) { // L: 58 - var2.close(); - } + var1.isDone0 = true; + } catch (IOException var14) { + var1.isDone0 = true; + } finally { + if (var2 != null) { + var2.close(); + } - if (var3 != null && var3 instanceof HttpURLConnection) { // L: 59 - ((HttpURLConnection)var3).disconnect(); - } + if (var3 != null && var3 instanceof HttpURLConnection) { + ((HttpURLConnection)var3).disconnect(); + } - } - } catch (Exception var17) { - PlayerComposition.RunException_sendStackTrace((String)null, var17); - } - } + } + } catch (Exception var17) { + SequenceDefinition.RunException_sendStackTrace((String)null, var17); + } + } - } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([Lgd;II)Lgd;", - garbageValue = "-933292802" - ) - @Export("findEnumerated") - public static Enumerated findEnumerated(Enumerated[] var0, int var1) { - Enumerated[] var2 = var0; // L: 17 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "([BI)[B", + garbageValue = "833500111" + ) + static byte[] method3460(byte[] var0) { + int var1 = var0.length; + byte[] var2 = new byte[var1]; + System.arraycopy(var0, 0, var2, 0, var1); + return var2; + } - for (int var3 = 0; var3 < var2.length; ++var3) { - Enumerated var4 = var2[var3]; - if (var1 == var4.rsOrdinal()) { - return var4; - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", + garbageValue = "-630790234" + ) + public static String method3467(String var0) { + int var1 = var0.length(); + char[] var2 = new char[var1]; + byte var3 = 2; - return null; - } + for(int var4 = 0; var4 < var1; ++var4) { + char var5 = var0.charAt(var4); + if (var3 == 0) { + var5 = Character.toLowerCase(var5); + } else if (var3 == 2 || Character.isUpperCase(var5)) { + var5 = LoginScreenAnimation.method1927(var5); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgi;I)I", - garbageValue = "-530251547" - ) - @Export("compareStrings") - public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { - int var3 = var0.length(); // L: 11 - int var4 = var1.length(); // L: 12 - int var5 = 0; // L: 13 - int var6 = 0; // L: 14 - byte var7 = 0; // L: 15 - byte var8 = 0; // L: 16 + if (Character.isLetter(var5)) { + var3 = 0; + } else if (var5 != '.' && var5 != '?' && var5 != '!') { + if (Character.isSpaceChar(var5)) { + if (var3 != 2) { + var3 = 1; + } + } else { + var3 = 1; + } + } else { + var3 = 2; + } - while (var5 - var7 < var3 || var6 - var8 < var4) { - if (var5 - var7 >= var3) { - return -1; - } + var2[var4] = var5; + } - if (var6 - var8 >= var4) { - return 1; - } - - char var9; - if (var7 != 0) { // L: 23 - var9 = (char)var7; // L: 24 - boolean var14 = false; // L: 25 - } else { - var9 = var0.charAt(var5++); // L: 27 - } - - char var10; - if (var8 != 0) { // L: 28 - var10 = (char)var8; // L: 29 - boolean var15 = false; // L: 30 - } else { - var10 = var1.charAt(var6++); // L: 32 - } - - byte var11; - if (var9 == 198) { // L: 35 - var11 = 69; // L: 36 - } else if (var9 == 230) { // L: 39 - var11 = 101; // L: 40 - } else if (var9 == 223) { // L: 43 - var11 = 115; // L: 44 - } else if (var9 == 338) { // L: 47 - var11 = 69; // L: 48 - } else if (var9 == 339) { // L: 51 - var11 = 101; // L: 52 - } else { - var11 = 0; // L: 55 - } - - var7 = var11; // L: 57 - byte var12; - if (var10 == 198) { // L: 60 - var12 = 69; // L: 61 - } else if (var10 == 230) { // L: 64 - var12 = 101; // L: 65 - } else if (var10 == 223) { // L: 68 - var12 = 115; // L: 69 - } else if (var10 == 338) { // L: 72 - var12 = 69; // L: 73 - } else if (var10 == 339) { - var12 = 101; - } else { - var12 = 0; - } - - var8 = var12; - var9 = UserComparator5.standardizeChar(var9, var2); - var10 = UserComparator5.standardizeChar(var10, var2); - if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { - var9 = Character.toLowerCase(var9); - var10 = Character.toLowerCase(var10); - if (var10 != var9) { // L: 88 - return WorldMapAreaData.lowercaseChar(var9, var2) - WorldMapAreaData.lowercaseChar(var10, var2); - } - } - } - - int var16 = Math.min(var3, var4); - - int var17; - char var20; - for (var17 = 0; var17 < var16; ++var17) { - if (var2 == Language.Language_FR) { - var5 = var3 - 1 - var17; - var6 = var4 - 1 - var17; - } else { - var6 = var17; // L: 97 - var5 = var17; - } - - char var18 = var0.charAt(var5); - var20 = var1.charAt(var6); // L: 99 - if (var20 != var18 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) { // L: 100 - var18 = Character.toLowerCase(var18); // L: 101 - var20 = Character.toLowerCase(var20); // L: 102 - if (var18 != var20) { - return WorldMapAreaData.lowercaseChar(var18, var2) - WorldMapAreaData.lowercaseChar(var20, var2); // L: 103 - } - } - } - - var17 = var3 - var4; // L: 106 - if (var17 != 0) { // L: 107 - return var17; - } else { - for (int var19 = 0; var19 < var16; ++var19) { // L: 108 - var20 = var0.charAt(var19); // L: 109 - char var13 = var1.charAt(var19); // L: 110 - if (var20 != var13) { // L: 111 - return WorldMapAreaData.lowercaseChar(var20, var2) - WorldMapAreaData.lowercaseChar(var13, var2); - } - } - - return 0; // L: 113 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;Ljava/lang/String;I)I", - garbageValue = "-1031927437" - ) - public static int method3383(Buffer var0, String var1) { - int var2 = var0.offset; // L: 18 - byte[] var3 = Projectile.method2171(var1); // L: 19 - var0.writeSmartByteShort(var3.length); // L: 20 - var0.offset += class219.huffman.compress(var3, 0, var3.length, var0.array, var0.offset); // L: 21 - return var0.offset - var2; // L: 22 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "117" - ) - public static void method3381() { - try { - if (class206.musicPlayerStatus == 1) { // L: 74 - int var0 = class206.midiPcmStream.method3816(); // L: 75 - if (var0 > 0 && class206.midiPcmStream.isReady()) { // L: 76 - var0 -= WorldMapSection1.pcmSampleLength; // L: 77 - if (var0 < 0) { // L: 78 - var0 = 0; - } - - class206.midiPcmStream.setPcmStreamVolume(var0); // L: 79 - return; // L: 80 - } - - class206.midiPcmStream.clear(); // L: 82 - class206.midiPcmStream.removeAll(); // L: 83 - if (Varps.musicTrackArchive != null) { // L: 84 - class206.musicPlayerStatus = 2; - } else { - class206.musicPlayerStatus = 0; // L: 85 - } - - FileSystem.musicTrack = null; // L: 86 - class206.soundCache = null; // L: 87 - } - } catch (Exception var2) { // L: 90 - var2.printStackTrace(); // L: 91 - class206.midiPcmStream.clear(); // L: 92 - class206.musicPlayerStatus = 0; // L: 93 - FileSystem.musicTrack = null; // L: 94 - class206.soundCache = null; // L: 95 - Varps.musicTrackArchive = null; // L: 96 - } - - } // L: 98 + return new String(var2); + } } diff --git a/runescape-client/src/main/java/User.java b/runescape-client/src/main/java/User.java index 2176f403f7..d7bc198c63 100644 --- a/runescape-client/src/main/java/User.java +++ b/runescape-client/src/main/java/User.java @@ -3,81 +3,200 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ju") +@ObfuscatedName("jn") @Implements("User") public class User implements Comparable { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - @Export("username") - Username username; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lki;" - ) - @Export("previousUsername") - Username previousUsername; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lkk;" + ) + @Export("username") + Username username; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lkk;" + ) + @Export("previousUsername") + Username previousUsername; - User() { - } // L: 7 + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(B)Lkk;", + garbageValue = "-24" + ) + @Export("getUsername") + public Username getUsername() { + return this.username; + } - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(I)Lki;", - garbageValue = "1670678120" - ) - @Export("getUsername") - public Username getUsername() { - return this.username; // L: 10 - } + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-2090571369" + ) + @Export("getName") + public String getName() { + return this.username == null ? "" : this.username.getName(); + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(S)Ljava/lang/String;", - garbageValue = "2928" - ) - @Export("getName") - public String getName() { - return this.username == null ? "" : this.username.getName(); // L: 14 15 - } + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(B)Ljava/lang/String;", + garbageValue = "-71" + ) + @Export("getPreviousName") + public String getPreviousName() { + return this.previousUsername == null ? "" : this.previousUsername.getName(); + } - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "1728130643" - ) - @Export("getPreviousName") - public String getPreviousName() { - return this.previousUsername == null ? "" : this.previousUsername.getName(); // L: 19 20 - } + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(Lkk;Lkk;B)V", + garbageValue = "0" + ) + @Export("set") + void set(Username var1, Username var2) { + if (var1 == null) { + throw new NullPointerException(); + } else { + this.username = var1; + this.previousUsername = var2; + } + } - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(Lki;Lki;I)V", - garbageValue = "-1682462851" - ) - @Export("set") - void set(Username var1, Username var2) { - if (var1 == null) { // L: 24 - throw new NullPointerException(); - } else { - this.username = var1; // L: 25 - this.previousUsername = var2; // L: 26 - } - } // L: 27 + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(Ljn;I)I", + garbageValue = "642739557" + ) + @Export("compareTo_user") + public int compareTo_user(User var1) { + return this.username.compareToTyped(var1.username); + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Lju;I)I", - garbageValue = "-1545516578" - ) - @Export("compareTo_user") - public int compareTo_user(User var1) { - return this.username.compareToTyped(var1.username); // L: 30 - } + public int compareTo(Object var1) { + return this.compareTo_user((User)var1); + } - public int compareTo(Object var1) { - return this.compareTo_user((User)var1); // L: 34 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Lgp;I)I", + garbageValue = "-1977368915" + ) + @Export("compareStrings") + public static int compareStrings(CharSequence var0, CharSequence var1, Language var2) { + int var3 = var0.length(); + int var4 = var1.length(); + int var5 = 0; + int var6 = 0; + byte var7 = 0; + byte var8 = 0; + + while(var5 - var7 < var3 || var6 - var8 < var4) { + if (var5 - var7 >= var3) { + return -1; + } + + if (var6 - var8 >= var4) { + return 1; + } + + char var9; + if (var7 != 0) { + var9 = (char)var7; + boolean var14 = false; + } else { + var9 = var0.charAt(var5++); + } + + char var10; + if (var8 != 0) { + var10 = (char)var8; + boolean var15 = false; + } else { + var10 = var1.charAt(var6++); + } + + byte var11; + if (var9 == 198) { + var11 = 69; + } else if (var9 == 230) { + var11 = 101; + } else if (var9 == 223) { + var11 = 115; + } else if (var9 == 338) { + var11 = 69; + } else if (var9 == 339) { + var11 = 101; + } else { + var11 = 0; + } + + var7 = var11; + byte var12; + if (var10 == 198) { + var12 = 69; + } else if (var10 == 230) { + var12 = 101; + } else if (var10 == 223) { + var12 = 115; + } else if (var10 == 338) { + var12 = 69; + } else if (var10 == 339) { + var12 = 101; + } else { + var12 = 0; + } + + var8 = var12; + var9 = ItemContainer.standardizeChar(var9, var2); + var10 = ItemContainer.standardizeChar(var10, var2); + if (var9 != var10 && Character.toUpperCase(var9) != Character.toUpperCase(var10)) { + var9 = Character.toLowerCase(var9); + var10 = Character.toLowerCase(var10); + if (var9 != var10) { + return EnumComposition.lowercaseChar(var9, var2) - EnumComposition.lowercaseChar(var10, var2); + } + } + } + + int var16 = Math.min(var3, var4); + + int var17; + char var20; + for(var17 = 0; var17 < var16; ++var17) { + if (var2 == Language.Language_FR) { + var5 = var3 - 1 - var17; + var6 = var4 - 1 - var17; + } else { + var6 = var17; + var5 = var17; + } + + char var18 = var0.charAt(var5); + var20 = var1.charAt(var6); + if (var20 != var18 && Character.toUpperCase(var18) != Character.toUpperCase(var20)) { + var18 = Character.toLowerCase(var18); + var20 = Character.toLowerCase(var20); + if (var18 != var20) { + return EnumComposition.lowercaseChar(var18, var2) - EnumComposition.lowercaseChar(var20, var2); + } + } + } + + var17 = var3 - var4; + if (var17 != 0) { + return var17; + } else { + for(int var19 = 0; var19 < var16; ++var19) { + var20 = var0.charAt(var19); + char var13 = var1.charAt(var19); + if (var20 != var13) { + return EnumComposition.lowercaseChar(var20, var2) - EnumComposition.lowercaseChar(var13, var2); + } + } + + return 0; + } + } } diff --git a/runescape-client/src/main/java/UserComparator1.java b/runescape-client/src/main/java/UserComparator1.java index f18f7bd055..ccb43bf025 100644 --- a/runescape-client/src/main/java/UserComparator1.java +++ b/runescape-client/src/main/java/UserComparator1.java @@ -4,32 +4,32 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lp") +@ObfuscatedName("la") @Implements("UserComparator1") public class UserComparator1 implements Comparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator1(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public UserComparator1(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lju;Lju;B)I", - garbageValue = "-72" - ) - @Export("compare_bridged") - int compare_bridged(User var1, User var2) { - return this.reversed ? var1.compareTo_user(var2) : var2.compareTo_user(var1); // L: 14 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljn;Ljn;I)I", + garbageValue = "1322603376" + ) + @Export("compare_bridged") + int compare_bridged(User var1, User var2) { + return this.reversed ? var1.compareTo_user(var2) : var2.compareTo_user(var1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((User)var1, (User)var2); // L: 18 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 22 - } + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator10.java b/runescape-client/src/main/java/UserComparator10.java index 334d9c836a..a4a1ba8bea 100644 --- a/runescape-client/src/main/java/UserComparator10.java +++ b/runescape-client/src/main/java/UserComparator10.java @@ -3,167 +3,53 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ff") +@ObfuscatedName("fn") @Implements("UserComparator10") public class UserComparator10 extends AbstractUserComparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator10(boolean var1) { - this.reversed = var1; // L: 11 - } // L: 12 + public UserComparator10(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "620956476" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world && var2.world == Client.worldId) { // L: 15 - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; // L: 16 - } else { - return this.compareUser(var1, var2); // L: 18 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;I)I", + garbageValue = "899318279" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world && var2.world == Client.worldId) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 22 - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Liy;", - garbageValue = "-1778501776" - ) - @Export("WorldMapElement_get") - public static WorldMapElement WorldMapElement_get(int var0) { - return var0 >= 0 && var0 < WorldMapElement.WorldMapElement_cached.length && WorldMapElement.WorldMapElement_cached[var0] != null ? WorldMapElement.WorldMapElement_cached[var0] : new WorldMapElement(var0); // L: 62 63 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Ljava/lang/String;", + garbageValue = "77103650" + ) + static String method3580(int var0) { + return ""; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lky;IB)V", - garbageValue = "46" - ) - @Export("updatePlayers") - static final void updatePlayers(PacketBuffer var0, int var1) { - int var2 = var0.offset; // L: 71 - Players.Players_pendingUpdateCount = 0; // L: 72 - UserComparator3.method3515(var0); // L: 73 - - for (int var3 = 0; var3 < Players.Players_pendingUpdateCount; ++var3) { // L: 75 - int var4 = Players.Players_pendingUpdateIndices[var3]; // L: 76 - Player var5 = Client.players[var4]; // L: 77 - int var6 = var0.readUnsignedByte(); // L: 78 - if ((var6 & 64) != 0) { // L: 79 - var6 += var0.readUnsignedByte() << 8; - } - - WorldMapManager.method709(var0, var4, var5, var6); // L: 80 - } - - if (var0.offset - var2 != var1) { // L: 83 - throw new RuntimeException(var0.offset - var2 + " " + var1); // L: 84 - } - } // L: 86 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", - garbageValue = "-506643476" - ) - @Export("addChatMessage") - static void addChatMessage(int var0, String var1, String var2, String var3) { - ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0); // L: 27 - if (var4 == null) { // L: 28 - var4 = new ChatChannel(); // L: 29 - Messages.Messages_channels.put(var0, var4); // L: 30 - } - - Message var5 = var4.addMessage(var0, var1, var2, var3); // L: 32 - Messages.Messages_hashTable.put(var5, (long)var5.count); // L: 33 - Messages.Messages_queue.add(var5); // L: 34 - Client.chatCycle = Client.cycleCntr; // L: 35 - } // L: 36 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(CI)C", - garbageValue = "1725294085" - ) - static char method3492(char var0) { - switch(var0) { // L: 94 - case ' ': - case '-': - case '_': - case ' ': - return '_'; // L: 103 - case '#': - case '[': - case ']': - return var0; // L: 154 - case 'À': - case 'Á': - case 'Â': - case 'Ã': - case 'Ä': - case 'à': - case 'á': - case 'â': - case 'ã': - case 'ä': - return 'a'; // L: 147 - case 'Ç': - case 'ç': - return 'c'; // L: 106 - case 'È': - case 'É': - case 'Ê': - case 'Ë': - case 'è': - case 'é': - case 'ê': - case 'ë': - return 'e'; // L: 126 - case 'Í': - case 'Î': - case 'Ï': - case 'í': - case 'î': - case 'ï': - return 'i'; // L: 133 - case 'Ñ': - case 'ñ': - return 'n'; // L: 150 - case 'Ò': - case 'Ó': - case 'Ô': - case 'Õ': - case 'Ö': - case 'ò': - case 'ó': - case 'ô': - case 'õ': - case 'ö': - return 'o'; // L: 117 - case 'Ù': - case 'Ú': - case 'Û': - case 'Ü': - case 'ù': - case 'ú': - case 'û': - case 'ü': - return 'u'; // L: 163 - case 'ß': - return 'b'; // L: 96 - case 'ÿ': - case 'Ÿ': - return 'y'; // L: 136 - default: - return Character.toLowerCase(var0); // L: 98 - } - } + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1892343700" + ) + static void method3573() { + Login.worldSelectOpen = false; + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + Login.logoSprite.drawAt(Login.xPadding + 382 - Login.logoSprite.subWidth / 2, 18); + } } diff --git a/runescape-client/src/main/java/UserComparator2.java b/runescape-client/src/main/java/UserComparator2.java index 940f435f44..e9e13fa416 100644 --- a/runescape-client/src/main/java/UserComparator2.java +++ b/runescape-client/src/main/java/UserComparator2.java @@ -4,41 +4,32 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lv") +@ObfuscatedName("lr") @Implements("UserComparator2") public class UserComparator2 implements Comparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator2(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public UserComparator2(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lju;Lju;B)I", - garbageValue = "26" - ) - @Export("compare_bridged") - int compare_bridged(User var1, User var2) { - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); // L: 14 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljn;Ljn;I)I", + garbageValue = "-1740485605" + ) + @Export("compare_bridged") + int compare_bridged(User var1, User var2) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((User)var1, (User)var2); // L: 18 - } + public int compare(Object var1, Object var2) { + return this.compare_bridged((User)var1, (User)var2); + } - public boolean equals(Object var1) { - return super.equals(var1); // L: 22 - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2053247999" - ) - public static void method5959() { - KitDefinition.KitDefinition_cached.clear(); // L: 130 - } // L: 131 + public boolean equals(Object var1) { + return super.equals(var1); + } } diff --git a/runescape-client/src/main/java/UserComparator3.java b/runescape-client/src/main/java/UserComparator3.java index de24a64d9f..b86a2beb0d 100644 --- a/runescape-client/src/main/java/UserComparator3.java +++ b/runescape-client/src/main/java/UserComparator3.java @@ -6,166 +6,29 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("fv") @Implements("UserComparator3") public class UserComparator3 extends AbstractUserComparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator3(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public UserComparator3(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;B)I", - garbageValue = "96" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var2.world != var1.world) { // L: 14 - return this.reversed ? var1.world - var2.world : var2.world - var1.world; // L: 15 - } else { - return this.compareUser(var1, var2); // L: 17 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;I)I", + garbageValue = "917883171" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var2.world != var1.world) { + return this.reversed ? var1.world - var2.world : var2.world - var1.world; + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 21 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lky;B)V", - garbageValue = "10" - ) - static final void method3515(PacketBuffer var0) { - int var1 = 0; // L: 89 - var0.importIndex(); // L: 90 - - byte[] var10000; - int var2; - int var4; - int var5; - for (var2 = 0; var2 < Players.Players_count; ++var2) { // L: 91 - var5 = Players.Players_indices[var2]; // L: 92 - if ((Players.field1252[var5] & 1) == 0) { // L: 93 - if (var1 > 0) { // L: 94 - --var1; // L: 95 - var10000 = Players.field1252; // L: 96 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var4 = var0.readBits(1); // L: 99 - if (var4 == 0) { // L: 100 - var1 = Skills.method4146(var0); // L: 101 - var10000 = Players.field1252; // L: 102 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - class349.readPlayerUpdate(var0, var5); // L: 105 - } - } - } - } - - var0.exportIndex(); // L: 108 - if (var1 != 0) { // L: 109 - throw new RuntimeException(); // L: 110 - } else { - var0.importIndex(); // L: 112 - - for (var2 = 0; var2 < Players.Players_count; ++var2) { // L: 113 - var5 = Players.Players_indices[var2]; // L: 114 - if ((Players.field1252[var5] & 1) != 0) { // L: 115 - if (var1 > 0) { // L: 116 - --var1; // L: 117 - var10000 = Players.field1252; // L: 118 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var4 = var0.readBits(1); // L: 121 - if (var4 == 0) { // L: 122 - var1 = Skills.method4146(var0); // L: 123 - var10000 = Players.field1252; // L: 124 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - class349.readPlayerUpdate(var0, var5); // L: 127 - } - } - } - } - - var0.exportIndex(); // L: 130 - if (var1 != 0) { // L: 131 - throw new RuntimeException(); // L: 132 - } else { - var0.importIndex(); // L: 134 - - for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { // L: 135 - var5 = Players.Players_emptyIndices[var2]; // L: 136 - if ((Players.field1252[var5] & 1) != 0) { // L: 137 - if (var1 > 0) { // L: 138 - --var1; // L: 139 - var10000 = Players.field1252; // L: 140 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var4 = var0.readBits(1); // L: 143 - if (var4 == 0) { // L: 144 - var1 = Skills.method4146(var0); // L: 145 - var10000 = Players.field1252; // L: 146 - var10000[var5] = (byte)(var10000[var5] | 2); - } else if (WorldMapSection0.updateExternalPlayer(var0, var5)) { // L: 149 - var10000 = Players.field1252; - var10000[var5] = (byte)(var10000[var5] | 2); - } - } - } - } - - var0.exportIndex(); // L: 152 - if (var1 != 0) { // L: 153 - throw new RuntimeException(); // L: 154 - } else { - var0.importIndex(); // L: 156 - - for (var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { // L: 157 - var5 = Players.Players_emptyIndices[var2]; // L: 158 - if ((Players.field1252[var5] & 1) == 0) { // L: 159 - if (var1 > 0) { // L: 160 - --var1; // L: 161 - var10000 = Players.field1252; // L: 162 - var10000[var5] = (byte)(var10000[var5] | 2); - } else { - var4 = var0.readBits(1); // L: 165 - if (var4 == 0) { // L: 166 - var1 = Skills.method4146(var0); // L: 167 - var10000 = Players.field1252; // L: 168 - var10000[var5] = (byte)(var10000[var5] | 2); - } else if (WorldMapSection0.updateExternalPlayer(var0, var5)) { // L: 171 - var10000 = Players.field1252; - var10000[var5] = (byte)(var10000[var5] | 2); - } - } - } - } - - var0.exportIndex(); // L: 174 - if (var1 != 0) { // L: 175 - throw new RuntimeException(); // L: 176 - } else { - Players.Players_count = 0; // L: 178 - Players.Players_emptyIdxCount = 0; // L: 179 - - for (var2 = 1; var2 < 2048; ++var2) { // L: 180 - var10000 = Players.field1252; // L: 181 - var10000[var2] = (byte)(var10000[var2] >> 1); - Player var3 = Client.players[var2]; // L: 182 - if (var3 != null) { // L: 183 - Players.Players_indices[++Players.Players_count - 1] = var2; - } else { - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var2; // L: 184 - } - } - - } - } - } - } - } // L: 186 + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } } diff --git a/runescape-client/src/main/java/UserComparator4.java b/runescape-client/src/main/java/UserComparator4.java index 11dc5e519a..849c813f1b 100644 --- a/runescape-client/src/main/java/UserComparator4.java +++ b/runescape-client/src/main/java/UserComparator4.java @@ -4,396 +4,32 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fz") +@ObfuscatedName("fb") @Implements("UserComparator4") public class UserComparator4 implements Comparator { - @ObfuscatedName("m") - public static boolean field1988; - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator4(boolean var1) { - this.reversed = var1; // L: 10 - } + public UserComparator4(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "1051999362" - ) - @Export("compare_bridged") - int compare_bridged(Buddy var1, Buddy var2) { - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;B)I", + garbageValue = "4" + ) + @Export("compare_bridged") + int compare_bridged(Buddy var1, Buddy var2) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } - public boolean equals(Object var1) { - return super.equals(var1); - } + public boolean equals(Object var1) { + return super.equals(var1); + } - public int compare(Object var1, Object var2) { - return this.compare_bridged((Buddy)var1, (Buddy)var2); // L: 18 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;IZI)Lep;", - garbageValue = "1436051671" - ) - public static Frames method3470(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { - boolean var4 = true; // L: 11 - int[] var5 = var0.getGroupFileIds(var2); // L: 12 - - for (int var6 = 0; var6 < var5.length; ++var6) { // L: 13 - byte[] var7 = var0.getFile(var2, var5[var6]); // L: 14 - if (var7 == null) { // L: 15 - var4 = false; // L: 16 - } else { - int var8 = (var7[0] & 255) << 8 | var7[1] & 255; // L: 19 - byte[] var9; - if (var3) { // L: 21 - var9 = var1.getFile(0, var8); - } else { - var9 = var1.getFile(var8, 0); // L: 22 - } - - if (var9 == null) { // L: 23 - var4 = false; - } - } - } - - if (!var4) { // L: 25 - return null; - } else { - try { - return new Frames(var0, var1, var2, var3); // L: 27 - } catch (Exception var11) { // L: 29 - return null; // L: 30 - } - } - } - - @ObfuscatedName("fv") - @ObfuscatedSignature( - descriptor = "(Lil;Ljava/lang/String;B)V", - garbageValue = "0" - ) - static void method3469(Archive var0, String var1) { - ArchiveLoader var2 = new ArchiveLoader(var0, var1); // L: 1695 - Client.archiveLoaders.add(var2); // L: 1696 - Client.field666 += var2.groupCount; // L: 1697 - } // L: 1698 - - @ObfuscatedName("hz") - @ObfuscatedSignature( - descriptor = "(Lgs;I)V", - garbageValue = "-1705259576" - ) - static final void method3465(class194 var0) { - PacketBuffer var1 = Client.packetWriter.packetBuffer; // L: 6648 - int var2; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var9; - int var10; - if (class194.field2342 == var0) { // L: 6649 - var2 = var1.method5582(); // L: 6650 - var3 = var1.method5571(); // L: 6651 - var4 = (var3 >> 4 & 7) + PacketWriter.field1331; // L: 6652 - var5 = (var3 & 7) + class248.field3222; // L: 6653 - var6 = var1.method5571(); // L: 6654 - var7 = var6 >> 4 & 15; // L: 6655 - var8 = var6 & 7; // L: 6656 - var9 = var1.method5572(); // L: 6657 - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { // L: 6658 - var10 = var7 + 1; // L: 6659 - if (PlayerComposition.localPlayer.pathX[0] >= var4 - var10 && PlayerComposition.localPlayer.pathX[0] <= var10 + var4 && PlayerComposition.localPlayer.pathY[0] >= var5 - var10 && PlayerComposition.localPlayer.pathY[0] <= var5 + var10 && Timer.clientPreferences.areaSoundEffectsVolume != 0 && var8 > 0 && Client.soundEffectCount < 50) { // L: 6660 6661 - Client.soundEffectIds[Client.soundEffectCount] = var2; // L: 6662 - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var8; // L: 6663 - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var9; // L: 6664 - Client.soundEffects[Client.soundEffectCount] = null; // L: 6665 - Client.soundLocations[Client.soundEffectCount] = var7 + (var5 << 8) + (var4 << 16); // L: 6666 - ++Client.soundEffectCount; // L: 6667 - } - } - } - - if (class194.field2349 == var0) { // L: 6672 - var2 = var1.method5571(); // L: 6673 - var3 = (var2 >> 4 & 7) + PacketWriter.field1331; // L: 6674 - var4 = (var2 & 7) + class248.field3222; // L: 6675 - var5 = var1.method5582(); // L: 6676 - var6 = var1.readUnsignedShort(); // L: 6677 - var7 = var1.readUnsignedByte(); // L: 6678 - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { // L: 6679 - var3 = var3 * 128 + 64; // L: 6680 - var4 = var4 * 128 + 64; // L: 6681 - GraphicsObject var45 = new GraphicsObject(var5, GameObject.Client_plane, var3, var4, SecureRandomFuture.getTileHeight(var3, var4, GameObject.Client_plane) - var7, var6, Client.cycle); // L: 6682 - Client.graphicsObjects.addFirst(var45); // L: 6683 - } - - } else { - int var11; - int var13; - int var14; - if (class194.field2346 == var0) { // L: 6687 - var2 = var1.method5573() * 4; // L: 6688 - byte var38 = var1.readByte(); // L: 6689 - byte var39 = var1.readByte(); // L: 6690 - var5 = var1.readUnsignedByte(); // L: 6691 - var6 = var1.method5580(); // L: 6692 - var7 = var1.method5584(); // L: 6693 - var8 = var1.method5571(); // L: 6694 - var9 = (var8 >> 4 & 7) + PacketWriter.field1331; // L: 6695 - var10 = (var8 & 7) + class248.field3222; // L: 6696 - var11 = var1.readUnsignedShort(); // L: 6697 - int var41 = var1.method5582(); // L: 6698 - var13 = var1.method5571(); // L: 6699 - var14 = var1.method5573() * 4; // L: 6700 - var3 = var38 + var9; // L: 6701 - var4 = var39 + var10; // L: 6702 - if (var9 >= 0 && var10 >= 0 && var9 < 104 && var10 < 104 && var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104 && var41 != 65535) { // L: 6703 - var9 = var9 * 128 + 64; // L: 6704 - var10 = var10 * 128 + 64; // L: 6705 - var3 = var3 * 128 + 64; // L: 6706 - var4 = var4 * 128 + 64; // L: 6707 - Projectile var36 = new Projectile(var41, GameObject.Client_plane, var9, var10, SecureRandomFuture.getTileHeight(var9, var10, GameObject.Client_plane) - var2, var6 + Client.cycle, var11 + Client.cycle, var13, var5, var7, var14); // L: 6708 - var36.setDestination(var3, var4, SecureRandomFuture.getTileHeight(var3, var4, GameObject.Client_plane) - var14, var6 + Client.cycle); // L: 6709 - Client.projectiles.addFirst(var36); // L: 6710 - } - - } else if (class194.field2343 == var0) { // L: 6714 - var2 = var1.readUnsignedShort(); // L: 6715 - var3 = var1.method5573(); // L: 6716 - var4 = var3 >> 2; // L: 6717 - var5 = var3 & 3; // L: 6718 - var6 = Client.field708[var4]; // L: 6719 - var7 = var1.readUnsignedByte(); // L: 6720 - var8 = (var7 >> 4 & 7) + PacketWriter.field1331; // L: 6721 - var9 = (var7 & 7) + class248.field3222; // L: 6722 - if (var8 >= 0 && var9 >= 0 && var8 < 104 && var9 < 104) { // L: 6723 - ArchiveLoader.updatePendingSpawn(GameObject.Client_plane, var8, var9, var6, var2, var4, var5, 0, -1); // L: 6724 - } - - } else { - TileItem var33; - if (class194.field2345 == var0) { // L: 6728 - var2 = var1.method5582(); // L: 6729 - var3 = var1.method5572(); // L: 6730 - var4 = (var3 >> 4 & 7) + PacketWriter.field1331; // L: 6731 - var5 = (var3 & 7) + class248.field3222; // L: 6732 - var6 = var1.method5582(); // L: 6733 - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { // L: 6734 - var33 = new TileItem(); // L: 6735 - var33.id = var6; // L: 6736 - var33.quantity = var2; // L: 6737 - if (Client.groundItems[GameObject.Client_plane][var4][var5] == null) { // L: 6738 - Client.groundItems[GameObject.Client_plane][var4][var5] = new NodeDeque(); - } - - Client.groundItems[GameObject.Client_plane][var4][var5].addFirst(var33); // L: 6739 - MouseRecorder.updateItemPile(var4, var5); // L: 6740 - } - - } else if (class194.field2350 == var0) { // L: 6744 - var2 = var1.method5580(); // L: 6745 - var3 = var1.method5572(); // L: 6746 - var4 = (var3 >> 4 & 7) + PacketWriter.field1331; // L: 6747 - var5 = (var3 & 7) + class248.field3222; // L: 6748 - var6 = var1.method5580(); // L: 6749 - var7 = var1.method5580(); // L: 6750 - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { // L: 6751 - NodeDeque var34 = Client.groundItems[GameObject.Client_plane][var4][var5]; // L: 6752 - if (var34 != null) { // L: 6753 - for (TileItem var35 = (TileItem)var34.last(); var35 != null; var35 = (TileItem)var34.previous()) { // L: 6754 6755 6760 - if ((var2 & 32767) == var35.id && var7 == var35.quantity) { // L: 6756 - var35.quantity = var6; // L: 6757 - break; - } - } - - MouseRecorder.updateItemPile(var4, var5); // L: 6762 - } - } - - } else if (class194.field2348 == var0) { // L: 6767 - var2 = var1.method5580(); // L: 6768 - var3 = var1.method5572(); // L: 6769 - var4 = (var3 >> 4 & 7) + PacketWriter.field1331; // L: 6770 - var5 = (var3 & 7) + class248.field3222; // L: 6771 - if (var4 >= 0 && var5 >= 0 && var4 < 104 && var5 < 104) { // L: 6772 - NodeDeque var32 = Client.groundItems[GameObject.Client_plane][var4][var5]; // L: 6773 - if (var32 != null) { // L: 6774 - for (var33 = (TileItem)var32.last(); var33 != null; var33 = (TileItem)var32.previous()) { // L: 6775 6776 6781 - if ((var2 & 32767) == var33.id) { // L: 6777 - var33.remove(); // L: 6778 - break; - } - } - - if (var32.last() == null) { // L: 6783 - Client.groundItems[GameObject.Client_plane][var4][var5] = null; - } - - MouseRecorder.updateItemPile(var4, var5); // L: 6784 - } - } - - } else if (class194.field2351 == var0) { // L: 6789 - var2 = var1.method5572(); // L: 6790 - var3 = var2 >> 2; // L: 6791 - var4 = var2 & 3; // L: 6792 - var5 = Client.field708[var3]; // L: 6793 - var6 = var1.readUnsignedShort(); // L: 6794 - var7 = var1.method5572(); // L: 6795 - var8 = (var7 >> 4 & 7) + PacketWriter.field1331; // L: 6796 - var9 = (var7 & 7) + class248.field3222; // L: 6797 - if (var8 >= 0 && var9 >= 0 && var8 < 103 && var9 < 103) { // L: 6798 - if (var5 == 0) { // L: 6799 - BoundaryObject var31 = ArchiveLoader.scene.method3197(GameObject.Client_plane, var8, var9); // L: 6800 - if (var31 != null) { // L: 6801 - var11 = Occluder.Entity_unpackID(var31.tag); // L: 6802 - if (var3 == 2) { // L: 6803 - var31.renderable1 = new DynamicObject(var11, 2, var4 + 4, GameObject.Client_plane, var8, var9, var6, false, var31.renderable1); // L: 6804 - var31.renderable2 = new DynamicObject(var11, 2, var4 + 1 & 3, GameObject.Client_plane, var8, var9, var6, false, var31.renderable2); // L: 6805 - } else { - var31.renderable1 = new DynamicObject(var11, var3, var4, GameObject.Client_plane, var8, var9, var6, false, var31.renderable1); // L: 6807 - } - } - } - - if (var5 == 1) { // L: 6810 - WallDecoration var42 = ArchiveLoader.scene.method3234(GameObject.Client_plane, var8, var9); // L: 6811 - if (var42 != null) { // L: 6812 - var11 = Occluder.Entity_unpackID(var42.tag); // L: 6813 - if (var3 != 4 && var3 != 5) { // L: 6814 - if (var3 == 6) { // L: 6815 - var42.renderable1 = new DynamicObject(var11, 4, var4 + 4, GameObject.Client_plane, var8, var9, var6, false, var42.renderable1); - } else if (var3 == 7) { // L: 6816 - var42.renderable1 = new DynamicObject(var11, 4, (var4 + 2 & 3) + 4, GameObject.Client_plane, var8, var9, var6, false, var42.renderable1); - } else if (var3 == 8) { // L: 6817 - var42.renderable1 = new DynamicObject(var11, 4, var4 + 4, GameObject.Client_plane, var8, var9, var6, false, var42.renderable1); // L: 6818 - var42.renderable2 = new DynamicObject(var11, 4, (var4 + 2 & 3) + 4, GameObject.Client_plane, var8, var9, var6, false, var42.renderable2); // L: 6819 - } - } else { - var42.renderable1 = new DynamicObject(var11, 4, var4, GameObject.Client_plane, var8, var9, var6, false, var42.renderable1); - } - } - } - - if (var5 == 2) { // L: 6823 - GameObject var43 = ArchiveLoader.scene.method3183(GameObject.Client_plane, var8, var9); // L: 6824 - if (var3 == 11) { // L: 6825 - var3 = 10; - } - - if (var43 != null) { // L: 6826 - var43.renderable = new DynamicObject(Occluder.Entity_unpackID(var43.tag), var3, var4, GameObject.Client_plane, var8, var9, var6, false, var43.renderable); - } - } - - if (var5 == 3) { // L: 6828 - FloorDecoration var44 = ArchiveLoader.scene.getFloorDecoration(GameObject.Client_plane, var8, var9); // L: 6829 - if (var44 != null) { // L: 6830 - var44.renderable = new DynamicObject(Occluder.Entity_unpackID(var44.tag), 22, var4, GameObject.Client_plane, var8, var9, var6, false, var44.renderable); - } - } - } - - } else { - if (class194.field2344 == var0) { // L: 6835 - byte var37 = var1.method5645(); // L: 6836 - var3 = var1.method5571(); // L: 6837 - var4 = var3 >> 2; // L: 6838 - var5 = var3 & 3; // L: 6839 - var6 = Client.field708[var4]; // L: 6840 - byte var40 = var1.method5645(); // L: 6841 - var8 = var1.readUnsignedShort(); // L: 6842 - var9 = var1.method5572(); // L: 6843 - var10 = (var9 >> 4 & 7) + PacketWriter.field1331; // L: 6844 - var11 = (var9 & 7) + class248.field3222; // L: 6845 - byte var12 = var1.readByte(); // L: 6846 - var13 = var1.readUnsignedShort(); // L: 6847 - var14 = var1.method5539(); // L: 6848 - int var15 = var1.readUnsignedShort(); // L: 6849 - byte var16 = var1.readByte(); // L: 6850 - Player var17; - if (var13 == Client.localPlayerIndex) { // L: 6852 - var17 = PlayerComposition.localPlayer; - } else { - var17 = Client.players[var13]; // L: 6853 - } - - if (var17 != null) { // L: 6854 - ObjectComposition var18 = WorldMapDecoration.getObjectDefinition(var14); // L: 6855 - int var19; - int var20; - if (var5 != 1 && var5 != 3) { // L: 6858 - var19 = var18.sizeX; // L: 6863 - var20 = var18.sizeY; // L: 6864 - } else { - var19 = var18.sizeY; // L: 6859 - var20 = var18.sizeX; // L: 6860 - } - - int var21 = var10 + (var19 >> 1); // L: 6866 - int var22 = var10 + (var19 + 1 >> 1); // L: 6867 - int var23 = var11 + (var20 >> 1); // L: 6868 - int var24 = var11 + (var20 + 1 >> 1); // L: 6869 - int[][] var25 = Tiles.Tiles_heights[GameObject.Client_plane]; // L: 6870 - int var26 = var25[var22][var24] + var25[var21][var24] + var25[var21][var23] + var25[var22][var23] >> 2; // L: 6871 - int var27 = (var10 << 7) + (var19 << 6); // L: 6872 - int var28 = (var11 << 7) + (var20 << 6); // L: 6873 - Model var29 = var18.getModel(var4, var5, var25, var27, var26, var28); // L: 6874 - if (var29 != null) { // L: 6875 - ArchiveLoader.updatePendingSpawn(GameObject.Client_plane, var10, var11, var6, -1, 0, 0, var15 + 1, var8 + 1); // L: 6876 - var17.animationCycleStart = var15 + Client.cycle; // L: 6877 - var17.animationCycleEnd = var8 + Client.cycle; // L: 6878 - var17.model0 = var29; // L: 6879 - var17.field634 = var19 * 64 + var10 * 128; // L: 6880 - var17.field626 = var20 * 64 + var11 * 128; // L: 6881 - var17.tileHeight2 = var26; // L: 6882 - byte var30; - if (var12 > var40) { // L: 6883 - var30 = var12; // L: 6884 - var12 = var40; // L: 6885 - var40 = var30; // L: 6886 - } - - if (var37 > var16) { // L: 6888 - var30 = var37; // L: 6889 - var37 = var16; // L: 6890 - var16 = var30; // L: 6891 - } - - var17.field620 = var10 + var12; // L: 6893 - var17.field622 = var40 + var10; // L: 6894 - var17.field606 = var11 + var37; // L: 6895 - var17.field623 = var11 + var16; // L: 6896 - } - } - } - - if (class194.field2347 == var0) { // L: 6900 - var2 = var1.method5572(); // L: 6901 - var3 = (var2 >> 4 & 7) + PacketWriter.field1331; // L: 6902 - var4 = (var2 & 7) + class248.field3222; // L: 6903 - var5 = var1.method5571(); // L: 6904 - var6 = var5 >> 2; // L: 6905 - var7 = var5 & 3; // L: 6906 - var8 = Client.field708[var6]; // L: 6907 - if (var3 >= 0 && var4 >= 0 && var3 < 104 && var4 < 104) { // L: 6908 - ArchiveLoader.updatePendingSpawn(GameObject.Client_plane, var3, var4, var8, -1, var6, var7, 0, -1); // L: 6909 - } - - } - } - } - } - } // L: 6685 6712 6726 6742 6765 6787 6833 6911 6913 + public int compare(Object var1, Object var2) { + return this.compare_bridged((Buddy)var1, (Buddy)var2); + } } diff --git a/runescape-client/src/main/java/UserComparator5.java b/runescape-client/src/main/java/UserComparator5.java index 07370e29a2..63d8007875 100644 --- a/runescape-client/src/main/java/UserComparator5.java +++ b/runescape-client/src/main/java/UserComparator5.java @@ -3,197 +3,694 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fk") +@ObfuscatedName("fg") @Implements("UserComparator5") public class UserComparator5 extends AbstractUserComparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator5(boolean var1) { - this.reversed = var1; - } + public UserComparator5(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;B)I", - garbageValue = "8" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0) { - if (var2.world == 0) { - return this.reversed ? -1 : 1; - } - } else if (var2.world != 0) { - return this.reversed ? 1 : -1; // L: 18 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;I)I", + garbageValue = "-159510893" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0) { + if (var2.world == 0) { + return this.reversed ? -1 : 1; + } + } else if (var2.world != 0) { + return this.reversed ? 1 : -1; + } - return this.compareUser(var1, var2); // L: 20 - } + return this.compareUser(var1, var2); + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 24 - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)I", - garbageValue = "-1024728099" - ) - public static int method3500(CharSequence var0) { - int var1 = var0.length(); // L: 9 - int var2 = 0; // L: 10 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IB)Lld;", + garbageValue = "25" + ) + public static PrivateChatMode method3604(int var0) { + PrivateChatMode[] var1 = new PrivateChatMode[]{PrivateChatMode.field3831, PrivateChatMode.field3829, PrivateChatMode.field3830}; + PrivateChatMode[] var2 = var1; - for (int var3 = 0; var3 < var1; ++var3) { // L: 11 - char var4 = var0.charAt(var3); // L: 12 - if (var4 <= 127) { // L: 13 - ++var2; - } else if (var4 <= 2047) { // L: 14 - var2 += 2; - } else { - var2 += 3; // L: 15 - } - } + for(int var3 = 0; var3 < var2.length; ++var3) { + PrivateChatMode var4 = var2[var3]; + if (var0 == var4.field3832) { + return var4; + } + } - return var2; // L: 17 - } + return null; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(CLgi;I)C", - garbageValue = "-531904522" - ) - @Export("standardizeChar") - static char standardizeChar(char var0, Language var1) { - if (var0 >= 192 && var0 <= 255) { // L: 117 - if (var0 >= 192 && var0 <= 198) { // L: 118 - return 'A'; - } + @ObfuscatedName("fy") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-179435824" + ) + @Export("playPcmPlayers") + static final void playPcmPlayers() { + if (WorldMapDecorationType.pcmPlayer1 != null) { + WorldMapDecorationType.pcmPlayer1.run(); + } - if (var0 == 199) { // L: 119 - return 'C'; - } + if (class197.pcmPlayer0 != null) { + class197.pcmPlayer0.run(); + } - if (var0 >= 200 && var0 <= 203) { // L: 120 - return 'E'; - } + } - if (var0 >= 204 && var0 <= 207) { // L: 121 - return 'I'; - } + @ObfuscatedName("gw") + @ObfuscatedSignature( + descriptor = "(Lcv;IIIIIB)V", + garbageValue = "1" + ) + @Export("drawActor2d") + static final void drawActor2d(Actor var0, int var1, int var2, int var3, int var4, int var5) { + if (var0 != null && var0.isVisible()) { + if (var0 instanceof NPC) { + NPCComposition var6 = ((NPC)var0).definition; + if (var6.transforms != null) { + var6 = var6.transform(); + } - if (var0 == 209 && var1 != Language.Language_ES) { // L: 122 - return 'N'; - } + if (var6 == null) { + return; + } + } - if (var0 >= 210 && var0 <= 214) { // L: 123 - return 'O'; - } + int var75 = Players.Players_count; + int[] var7 = Players.Players_indices; + byte var8 = 0; + Player var10; + if (var1 < var75 && var0.playerCycle == Client.cycle) { + var10 = (Player)var0; + boolean var9; + if (Client.drawPlayerNames == 0) { + var9 = false; + } else if (var10 == UserComparator9.localPlayer) { + var9 = ArchiveDiskAction.method4359(); + } else { + boolean var11 = GameBuild.method4350(); + boolean var12; + if (!var11) { + var12 = (Client.drawPlayerNames & 1) != 0; + var11 = var12 && var10.isFriend(); + } - if (var0 >= 217 && var0 <= 220) { // L: 124 - return 'U'; - } + var12 = var11; + if (!var11) { + boolean var13 = (Client.drawPlayerNames & 2) != 0; + var12 = var13 && var10.isClanMember(); + } - if (var0 == 221) { // L: 125 - return 'Y'; - } + var9 = var12; + } - if (var0 == 223) { // L: 126 - return 's'; - } + if (var9) { + Player var76 = (Player)var0; + if (var1 < var75) { + SoundCache.method2689(var0, var0.defaultHeight + 15); + AbstractFont var77 = (AbstractFont)Client.fontsMap.get(FontName.FontName_plain12); + byte var91 = 9; + var77.drawCentered(var76.username.getName(), var2 + Client.viewportTempX, var3 + Client.viewportTempY - var91, 16777215, 0); + var8 = 18; + } + } + } - if (var0 >= 224 && var0 <= 230) { // L: 127 - return 'a'; - } + int var87 = -2; + int var15; + int var22; + int var23; + if (!var0.healthBars.method5064()) { + SoundCache.method2689(var0, var0.defaultHeight + 15); - if (var0 == 231) { // L: 128 - return 'c'; - } + for(HealthBar var88 = (HealthBar)var0.healthBars.last(); var88 != null; var88 = (HealthBar)var0.healthBars.previous()) { + HealthBarUpdate var94 = var88.get(Client.cycle); + if (var94 == null) { + if (var88.isEmpty()) { + var88.remove(); + } + } else { + HealthBarDefinition var95 = var88.definition; + SpritePixels var79 = var95.getBackSprite(); + SpritePixels var81 = var95.getFrontSprite(); + int var82 = 0; + if (var79 != null && var81 != null) { + if (var95.widthPadding * 2 < var81.subWidth) { + var82 = var95.widthPadding; + } - if (var0 >= 232 && var0 <= 235) { // L: 129 - return 'e'; - } + var15 = var81.subWidth - var82 * 2; + } else { + var15 = var95.width; + } - if (var0 >= 236 && var0 <= 239) { // L: 130 - return 'i'; - } + int var17 = 255; + boolean var83 = true; + int var84 = Client.cycle - var94.cycle; + int var85 = var15 * var94.health2 / var95.width; + int var86; + int var97; + if (var94.cycleOffset > var84) { + var86 = var95.field3316 == 0 ? 0 : var95.field3316 * (var84 / var95.field3316); + var22 = var15 * var94.health / var95.width; + var97 = var86 * (var85 - var22) / var94.cycleOffset + var22; + } else { + var97 = var85; + var86 = var95.int5 + var94.cycleOffset - var84; + if (var95.int3 >= 0) { + var17 = (var86 << 8) / (var95.int5 - var95.int3); + } + } - if (var0 == 241 && var1 != Language.Language_ES) { // L: 131 - return 'n'; - } + if (var94.health2 > 0 && var97 < 1) { + var97 = 1; + } - if (var0 >= 242 && var0 <= 246) { // L: 132 - return 'o'; - } + if (var79 != null && var81 != null) { + if (var15 == var97) { + var97 += var82 * 2; + } else { + var97 += var82; + } - if (var0 >= 249 && var0 <= 252) { // L: 133 - return 'u'; - } + var86 = var79.subHeight; + var87 += var86; + var22 = var2 + Client.viewportTempX - (var15 >> 1); + var23 = var3 + Client.viewportTempY - var87; + var22 -= var82; + if (var17 >= 0 && var17 < 255) { + var79.drawTransAt(var22, var23, var17); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var97 + var22, var86 + var23); + var81.drawTransAt(var22, var23, var17); + } else { + var79.drawTransBgAt(var22, var23); + Rasterizer2D.Rasterizer2D_expandClip(var22, var23, var97 + var22, var86 + var23); + var81.drawTransBgAt(var22, var23); + } - if (var0 == 253 || var0 == 255) { // L: 134 - return 'y'; - } - } + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var2 + var4, var3 + var5); + var87 += 2; + } else { + var87 += 5; + if (Client.viewportTempX > -1) { + var86 = var2 + Client.viewportTempX - (var15 >> 1); + var22 = var3 + Client.viewportTempY - var87; + Rasterizer2D.Rasterizer2D_fillRectangle(var86, var22, var97, 5, 65280); + Rasterizer2D.Rasterizer2D_fillRectangle(var86 + var97, var22, var15 - var97, 5, 16711680); + } - if (var0 == 338) { // L: 136 - return 'O'; - } else if (var0 == 339) { // L: 137 - return 'o'; - } else if (var0 == 376) { // L: 138 - return 'Y'; - } else { - return var0; // L: 139 - } - } + var87 += 2; + } + } + } + } - @ObfuscatedName("gu") - @ObfuscatedSignature( - descriptor = "(Lhe;III)V", - garbageValue = "171068975" - ) - @Export("checkIfMinimapClicked") - static final void checkIfMinimapClicked(Widget var0, int var1, int var2) { - if (Client.minimapState == 0 || Client.minimapState == 3) { // L: 3784 - if (!Client.isMenuOpen && (MouseHandler.MouseHandler_lastButton == 1 || !UserComparator9.mouseCam && MouseHandler.MouseHandler_lastButton == 4)) { // L: 3785 - SpriteMask var3 = var0.getSpriteMask(true); // L: 3786 - if (var3 == null) { // L: 3787 - return; - } + if (var87 == -2) { + var87 += 7; + } - int var4 = MouseHandler.MouseHandler_lastPressedX - var1; // L: 3788 - int var5 = MouseHandler.MouseHandler_lastPressedY - var2; // L: 3789 - if (var3.contains(var4, var5)) { // L: 3790 - var4 -= var3.width / 2; // L: 3791 - var5 -= var3.height / 2; // L: 3792 - int var6 = Client.camAngleY & 2047; // L: 3793 - int var7 = Rasterizer3D.Rasterizer3D_sine[var6]; // L: 3794 - int var8 = Rasterizer3D.Rasterizer3D_cosine[var6]; // L: 3795 - int var9 = var4 * var8 + var7 * var5 >> 11; // L: 3796 - int var10 = var8 * var5 - var7 * var4 >> 11; // L: 3797 - int var11 = var9 + PlayerComposition.localPlayer.x >> 7; // L: 3798 - int var12 = PlayerComposition.localPlayer.y - var10 >> 7; // L: 3799 - PacketBufferNode var13 = ItemContainer.getPacketBufferNode(ClientPacket.field2272, Client.packetWriter.isaacCipher); // L: 3801 - var13.packetBuffer.writeByte(18); // L: 3802 - var13.packetBuffer.method5739(var11 + NetFileRequest.baseX); // L: 3803 - var13.packetBuffer.writeIntME(KeyHandler.KeyHandler_pressedKeys[82] ? (KeyHandler.KeyHandler_pressedKeys[81] ? 2 : 1) : 0); // L: 3804 - var13.packetBuffer.writeShortLE(var12 + class41.baseY); // L: 3805 - var13.packetBuffer.writeByte(var4); // L: 3806 - var13.packetBuffer.writeByte(var5); // L: 3807 - var13.packetBuffer.writeShort(Client.camAngleY); // L: 3808 - var13.packetBuffer.writeByte(57); // L: 3809 - var13.packetBuffer.writeByte(0); // L: 3810 - var13.packetBuffer.writeByte(0); // L: 3811 - var13.packetBuffer.writeByte(89); // L: 3812 - var13.packetBuffer.writeShort(PlayerComposition.localPlayer.x); // L: 3813 - var13.packetBuffer.writeShort(PlayerComposition.localPlayer.y); // L: 3814 - var13.packetBuffer.writeByte(63); // L: 3815 - Client.packetWriter.addNode(var13); // L: 3816 - Client.destinationX = var11; // L: 3817 - Client.destinationY = var12; // L: 3818 - } - } + var87 += var8; + if (var1 < var75) { + var10 = (Player)var0; + if (var10.isHidden) { + return; + } - } - } // L: 3821 + if (var10.headIconPk != -1 || var10.headIconPrayer != -1) { + SoundCache.method2689(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + if (var10.headIconPk != -1) { + var87 += 25; + Client.headIconPkSprites[var10.headIconPk].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + + if (var10.headIconPrayer != -1) { + var87 += 25; + class169.headIconPrayerSprites[var10.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + } + } + + if (var1 >= 0 && Client.hintArrowType == 10 && var7[var1] == Client.hintArrowPlayerIndex) { + SoundCache.method2689(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + var87 += class13.headIconHintSprites[1].subHeight; + class13.headIconHintSprites[1].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - var87); + } + } + } else { + NPCComposition var89 = ((NPC)var0).definition; + if (var89.transforms != null) { + var89 = var89.transform(); + } + + if (var89.headIconPrayer >= 0 && var89.headIconPrayer < class169.headIconPrayerSprites.length) { + SoundCache.method2689(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + class169.headIconPrayerSprites[var89.headIconPrayer].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 30); + } + } + + if (Client.hintArrowType == 1 && Client.npcIndices[var1 - var75] == Client.hintArrowNpcIndex && Client.cycle % 20 < 10) { + SoundCache.method2689(var0, var0.defaultHeight + 15); + if (Client.viewportTempX > -1) { + class13.headIconHintSprites[0].drawTransBgAt(var2 + Client.viewportTempX - 12, var3 + Client.viewportTempY - 28); + } + } + } + + if (var0.overheadText != null && (var1 >= var75 || !var0.field968 && (Client.publicChatMode == 4 || !var0.isAutoChatting && (Client.publicChatMode == 0 || Client.publicChatMode == 3 || Client.publicChatMode == 1 && ((Player)var0).isFriend())))) { + SoundCache.method2689(var0, var0.defaultHeight); + if (Client.viewportTempX > -1 && Client.overheadTextCount < Client.overheadTextLimit) { + Client.overheadTextXOffsets[Client.overheadTextCount] = ScriptEvent.fontBold12.stringWidth(var0.overheadText) / 2; + Client.overheadTextAscents[Client.overheadTextCount] = ScriptEvent.fontBold12.ascent; + Client.overheadTextXs[Client.overheadTextCount] = Client.viewportTempX; + Client.overheadTextYs[Client.overheadTextCount] = Client.viewportTempY; + Client.overheadTextColors[Client.overheadTextCount] = var0.overheadTextColor; + Client.overheadTextEffects[Client.overheadTextCount] = var0.overheadTextEffect; + Client.overheadTextCyclesRemaining[Client.overheadTextCount] = var0.overheadTextCyclesRemaining; + Client.overheadText[Client.overheadTextCount] = var0.overheadText; + ++Client.overheadTextCount; + } + } + + for(int var78 = 0; var78 < 4; ++var78) { + int var90 = var0.hitSplatCycles[var78]; + int var92 = var0.hitSplatTypes[var78]; + HitSplatDefinition var96 = null; + int var14 = 0; + if (var92 >= 0) { + if (var90 <= Client.cycle) { + continue; + } + + var96 = ScriptFrame.method1222(var0.hitSplatTypes[var78]); + var14 = var96.field3364; + if (var96 != null && var96.transforms != null) { + var96 = var96.transform(); + if (var96 == null) { + var0.hitSplatCycles[var78] = -1; + continue; + } + } + } else if (var90 < 0) { + continue; + } + + var15 = var0.hitSplatTypes2[var78]; + HitSplatDefinition var16 = null; + if (var15 >= 0) { + var16 = ScriptFrame.method1222(var15); + if (var16 != null && var16.transforms != null) { + var16 = var16.transform(); + } + } + + if (var90 - var14 <= Client.cycle) { + if (var96 == null) { + var0.hitSplatCycles[var78] = -1; + } else { + SoundCache.method2689(var0, var0.defaultHeight / 2); + if (Client.viewportTempX > -1) { + if (var78 == 1) { + Client.viewportTempY -= 20; + } + + if (var78 == 2) { + Client.viewportTempX -= 15; + Client.viewportTempY -= 10; + } + + if (var78 == 3) { + Client.viewportTempX += 15; + Client.viewportTempY -= 10; + } + + SpritePixels var18 = null; + SpritePixels var19 = null; + SpritePixels var20 = null; + SpritePixels var21 = null; + var22 = 0; + var23 = 0; + int var24 = 0; + int var25 = 0; + int var26 = 0; + int var27 = 0; + int var28 = 0; + int var29 = 0; + SpritePixels var30 = null; + SpritePixels var31 = null; + SpritePixels var32 = null; + SpritePixels var33 = null; + int var34 = 0; + int var35 = 0; + int var36 = 0; + int var37 = 0; + int var38 = 0; + int var39 = 0; + int var40 = 0; + int var41 = 0; + int var42 = 0; + var18 = var96.method4764(); + int var43; + if (var18 != null) { + var22 = var18.subWidth; + var43 = var18.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var26 = var18.xOffset; + } + + var19 = var96.method4770(); + if (var19 != null) { + var23 = var19.subWidth; + var43 = var19.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var27 = var19.xOffset; + } + + var20 = var96.method4769(); + if (var20 != null) { + var24 = var20.subWidth; + var43 = var20.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var28 = var20.xOffset; + } + + var21 = var96.method4766(); + if (var21 != null) { + var25 = var21.subWidth; + var43 = var21.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var29 = var21.xOffset; + } + + if (var16 != null) { + var30 = var16.method4764(); + if (var30 != null) { + var34 = var30.subWidth; + var43 = var30.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var38 = var30.xOffset; + } + + var31 = var16.method4770(); + if (var31 != null) { + var35 = var31.subWidth; + var43 = var31.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var39 = var31.xOffset; + } + + var32 = var16.method4769(); + if (var32 != null) { + var36 = var32.subWidth; + var43 = var32.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var40 = var32.xOffset; + } + + var33 = var16.method4766(); + if (var33 != null) { + var37 = var33.subWidth; + var43 = var33.subHeight; + if (var43 > var42) { + var42 = var43; + } + + var41 = var33.xOffset; + } + } + + Font var80 = var96.getFont(); + if (var80 == null) { + var80 = SecureRandomCallable.fontPlain11; + } + + Font var44; + if (var16 != null) { + var44 = var16.getFont(); + if (var44 == null) { + var44 = SecureRandomCallable.fontPlain11; + } + } else { + var44 = SecureRandomCallable.fontPlain11; + } + + String var45 = null; + String var46 = null; + boolean var47 = false; + int var48 = 0; + var45 = var96.getString(var0.hitSplatValues[var78]); + int var93 = var80.stringWidth(var45); + if (var16 != null) { + var46 = var16.getString(var0.hitSplatValues2[var78]); + var48 = var44.stringWidth(var46); + } + + int var49 = 0; + int var50 = 0; + if (var23 > 0) { + if (var20 == null && var21 == null) { + var49 = 1; + } else { + var49 = var93 / var23 + 1; + } + } + + if (var16 != null && var35 > 0) { + if (var32 == null && var33 == null) { + var50 = 1; + } else { + var50 = var48 / var35 + 1; + } + } + + int var51 = 0; + int var52 = var51; + if (var22 > 0) { + var51 += var22; + } + + var51 += 2; + int var53 = var51; + if (var24 > 0) { + var51 += var24; + } + + int var54 = var51; + int var55 = var51; + int var56; + if (var23 > 0) { + var56 = var23 * var49; + var51 += var56; + var55 += (var56 - var93) / 2; + } else { + var51 += var93; + } + + var56 = var51; + if (var25 > 0) { + var51 += var25; + } + + int var57 = 0; + int var58 = 0; + int var59 = 0; + int var60 = 0; + int var61 = 0; + int var62; + if (var16 != null) { + var51 += 2; + var57 = var51; + if (var34 > 0) { + var51 += var34; + } + + var51 += 2; + var58 = var51; + if (var36 > 0) { + var51 += var36; + } + + var59 = var51; + var61 = var51; + if (var35 > 0) { + var62 = var35 * var50; + var51 += var62; + var61 += (var62 - var48) / 2; + } else { + var51 += var48; + } + + var60 = var51; + if (var37 > 0) { + var51 += var37; + } + } + + var62 = var0.hitSplatCycles[var78] - Client.cycle; + int var63 = var96.field3378 - var62 * var96.field3378 / var96.field3364; + int var64 = var62 * var96.field3370 / var96.field3364 + -var96.field3370; + int var65 = var63 + (var2 + Client.viewportTempX - (var51 >> 1)); + int var66 = var64 + (var3 + Client.viewportTempY - 12); + int var67 = var66; + int var68 = var66 + var42; + int var69 = var66 + var96.field3368 + 15; + int var70 = var69 - var80.maxAscent; + int var71 = var69 + var80.maxDescent; + if (var70 < var66) { + var67 = var70; + } + + if (var71 > var68) { + var68 = var71; + } + + int var72 = 0; + int var73; + int var74; + if (var16 != null) { + var72 = var66 + var16.field3368 + 15; + var73 = var72 - var44.maxAscent; + var74 = var72 + var44.maxDescent; + if (var73 < var67) { + ; + } + + if (var74 > var68) { + ; + } + } + + var73 = 255; + if (var96.field3371 >= 0) { + var73 = (var62 << 8) / (var96.field3364 - var96.field3371); + } + + if (var73 >= 0 && var73 < 255) { + if (var18 != null) { + var18.drawTransAt(var52 + var65 - var26, var66, var73); + } + + if (var20 != null) { + var20.drawTransAt(var53 + var65 - var28, var66, var73); + } + + if (var19 != null) { + for(var74 = 0; var74 < var49; ++var74) { + var19.drawTransAt(var74 * var23 + (var54 + var65 - var27), var66, var73); + } + } + + if (var21 != null) { + var21.drawTransAt(var65 + var56 - var29, var66, var73); + } + + var80.drawAlpha(var45, var65 + var55, var69, var96.textColor, 0, var73); + if (var16 != null) { + if (var30 != null) { + var30.drawTransAt(var65 + var57 - var38, var66, var73); + } + + if (var32 != null) { + var32.drawTransAt(var65 + var58 - var40, var66, var73); + } + + if (var31 != null) { + for(var74 = 0; var74 < var50; ++var74) { + var31.drawTransAt(var35 * var74 + (var59 + var65 - var39), var66, var73); + } + } + + if (var33 != null) { + var33.drawTransAt(var60 + var65 - var41, var66, var73); + } + + var44.drawAlpha(var46, var65 + var61, var72, var16.textColor, 0, var73); + } + } else { + if (var18 != null) { + var18.drawTransBgAt(var52 + var65 - var26, var66); + } + + if (var20 != null) { + var20.drawTransBgAt(var53 + var65 - var28, var66); + } + + if (var19 != null) { + for(var74 = 0; var74 < var49; ++var74) { + var19.drawTransBgAt(var23 * var74 + (var54 + var65 - var27), var66); + } + } + + if (var21 != null) { + var21.drawTransBgAt(var65 + var56 - var29, var66); + } + + var80.draw(var45, var55 + var65, var69, var96.textColor | -16777216, 0); + if (var16 != null) { + if (var30 != null) { + var30.drawTransBgAt(var57 + var65 - var38, var66); + } + + if (var32 != null) { + var32.drawTransBgAt(var58 + var65 - var40, var66); + } + + if (var31 != null) { + for(var74 = 0; var74 < var50; ++var74) { + var31.drawTransBgAt(var35 * var74 + (var59 + var65 - var39), var66); + } + } + + if (var33 != null) { + var33.drawTransBgAt(var60 + var65 - var41, var66); + } + + var44.draw(var46, var61 + var65, var72, var16.textColor | -16777216, 0); + } + } + } + } + } + } + + } + } } diff --git a/runescape-client/src/main/java/UserComparator6.java b/runescape-client/src/main/java/UserComparator6.java index 9afb295949..d9d965631c 100644 --- a/runescape-client/src/main/java/UserComparator6.java +++ b/runescape-client/src/main/java/UserComparator6.java @@ -1,89 +1,39 @@ -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fx") +@ObfuscatedName("fk") @Implements("UserComparator6") public class UserComparator6 extends AbstractUserComparator { - @ObfuscatedName("gr") - @ObfuscatedGetter( - intValue = -1692601205 - ) - static int field2013; - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("fw") + @ObfuscatedSignature( + descriptor = "Lls;" + ) + static AbstractSocket field2008; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator6(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public UserComparator6(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "1927447948" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0 && var2.world != 0) { // L: 14 - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); // L: 15 - } else { - return this.compareUser(var1, var2); // L: 17 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;I)I", + garbageValue = "-441882539" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0 && var2.world != 0) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 21 - } - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(Lfa;IIB)Ldp;", - garbageValue = "7" - ) - public static final PcmPlayer method3526(TaskHandler var0, int var1, int var2) { - if (PcmPlayer.field1443 == 0) { // L: 56 - throw new IllegalStateException(); - } else if (var1 >= 0 && var1 < 2) { // L: 57 - if (var2 < 256) { // L: 58 - var2 = 256; - } - - try { - PcmPlayer var3 = Varps.pcmPlayerProvider.player(); // L: 60 - var3.samples = new int[256 * (PcmPlayer.PcmPlayer_stereo ? 2 : 1)]; // L: 61 - var3.field1431 = var2; // L: 62 - var3.init(); // L: 63 - var3.capacity = (var2 & -1024) + 1024; // L: 64 - if (var3.capacity > 16384) { // L: 65 - var3.capacity = 16384; - } - - var3.open(var3.capacity); // L: 66 - if (PcmPlayer.field1424 > 0 && PcmPlayer.soundSystem == null) { // L: 67 - PcmPlayer.soundSystem = new SoundSystem(); // L: 68 - InterfaceParent.soundSystemExecutor = Executors.newScheduledThreadPool(1); // L: 69 - InterfaceParent.soundSystemExecutor.scheduleAtFixedRate(PcmPlayer.soundSystem, 0L, 10L, TimeUnit.MILLISECONDS); // L: 70 - } - - if (PcmPlayer.soundSystem != null) { // L: 72 - if (PcmPlayer.soundSystem.players[var1] != null) { // L: 73 - throw new IllegalArgumentException(); - } - - PcmPlayer.soundSystem.players[var1] = var3; // L: 74 - } - - return var3; // L: 76 - } catch (Throwable var4) { // L: 78 - return new PcmPlayer(); // L: 79 - } - } else { - throw new IllegalArgumentException(); - } - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } } diff --git a/runescape-client/src/main/java/UserComparator7.java b/runescape-client/src/main/java/UserComparator7.java index 3c39fc9efd..4fb5916ca3 100644 --- a/runescape-client/src/main/java/UserComparator7.java +++ b/runescape-client/src/main/java/UserComparator7.java @@ -1,37 +1,95 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fs") +@ObfuscatedName("fc") @Implements("UserComparator7") public class UserComparator7 extends AbstractUserComparator { - @ObfuscatedName("m") - @Export("Tiles_hueMultiplier") - static int[] Tiles_hueMultiplier; - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("el") + @ObfuscatedGetter( + intValue = -528381057 + ) + static int field1999; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator7(boolean var1) { - this.reversed = var1; // L: 10 - } // L: 11 + public UserComparator7(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "-1102022170" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (var1.world != 0 && var2.world != 0) { // L: 14 - return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; // L: 15 - } else { - return this.compareUser(var1, var2); // L: 17 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;B)I", + garbageValue = "0" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (var1.world != 0 && var2.world != 0) { + return this.reversed ? var1.int2 - var2.int2 : var2.int2 - var1.int2; + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 21 - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(IIIIIIIB)Z", + garbageValue = "126" + ) + static final boolean method3592(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + int var7 = ViewportMouse.ViewportMouse_y + var6; + if (var7 < var0 && var7 < var1 && var7 < var2) { + return false; + } else { + var7 = ViewportMouse.ViewportMouse_y - var6; + if (var7 > var0 && var7 > var1 && var7 > var2) { + return false; + } else { + var7 = ViewportMouse.ViewportMouse_x + var6; + if (var7 < var3 && var7 < var4 && var7 < var5) { + return false; + } else { + var7 = ViewportMouse.ViewportMouse_x - var6; + return var7 <= var3 || var7 <= var4 || var7 <= var5; + } + } + } + } + + @ObfuscatedName("gz") + @ObfuscatedSignature( + descriptor = "(Lbk;IIB)V", + garbageValue = "-26" + ) + @Export("performPlayerAnimation") + static void performPlayerAnimation(Player var0, int var1, int var2) { + if (var0.sequence == var1 && var1 != -1) { + int var3 = InterfaceParent.SequenceDefinition_get(var1).field3548; + if (var3 == 1) { + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field973 = 0; + } + + if (var3 == 2) { + var0.field973 = 0; + } + } else if (var1 == -1 || var0.sequence == -1 || InterfaceParent.SequenceDefinition_get(var1).field3560 >= InterfaceParent.SequenceDefinition_get(var0.sequence).field3560) { + var0.sequence = var1; + var0.sequenceFrame = 0; + var0.sequenceFrameCycle = 0; + var0.sequenceDelay = var2; + var0.field973 = 0; + var0.field1012 = var0.pathLength; + } + + } } diff --git a/runescape-client/src/main/java/UserComparator8.java b/runescape-client/src/main/java/UserComparator8.java index b36ec51570..05bab847a2 100644 --- a/runescape-client/src/main/java/UserComparator8.java +++ b/runescape-client/src/main/java/UserComparator8.java @@ -3,134 +3,36 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fp") +@ObfuscatedName("fq") @Implements("UserComparator8") public class UserComparator8 extends AbstractUserComparator { - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator8(boolean var1) { - this.reversed = var1; // L: 11 - } // L: 12 + public UserComparator8(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;I)I", - garbageValue = "-617956062" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world) { // L: 15 - if (var2.world != Client.worldId) { - return this.reversed ? -1 : 1; // L: 16 - } - } else if (var2.world == Client.worldId) { - return this.reversed ? 1 : -1; // L: 19 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;I)I", + garbageValue = "-1412914674" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world) { + if (var2.world != Client.worldId) { + return this.reversed ? -1 : 1; + } + } else if (var2.world == Client.worldId) { + return this.reversed ? 1 : -1; + } - return this.compareUser(var1, var2); // L: 21 - } + return this.compareUser(var1, var2); + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 25 - } - - @ObfuscatedName("fa") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "62" - ) - @Export("getLoginError") - static void getLoginError(int var0) { - if (var0 == -3) { // L: 2791 - GameEngine.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); - } else if (var0 == -2) { // L: 2792 - GameEngine.setLoginResponseString("Error connecting to server.", "Please try using a different world.", ""); - } else if (var0 == -1) { // L: 2793 - GameEngine.setLoginResponseString("No response from server.", "Please try using a different world.", ""); - } else if (var0 == 3) { // L: 2794 - Login.loginIndex = 3; // L: 2795 - Login.field1190 = 1; // L: 2796 - } else if (var0 == 4) { // L: 2798 - Login.loginIndex = 12; // L: 2800 - Login.field1199 = 0; // L: 2801 - } else if (var0 == 5) { // L: 2804 - Login.field1190 = 2; // L: 2805 - GameEngine.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); // L: 2806 - } else if (var0 != 68 && (Client.onMobile || var0 != 6)) { // L: 2808 - if (var0 == 7) { // L: 2811 - GameEngine.setLoginResponseString("This world is full.", "Please use a different world.", ""); - } else if (var0 == 8) { // L: 2812 - GameEngine.setLoginResponseString("Unable to connect.", "Login server offline.", ""); - } else if (var0 == 9) { // L: 2813 - GameEngine.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); - } else if (var0 == 10) { // L: 2814 - GameEngine.setLoginResponseString("Unable to connect.", "Bad session id.", ""); - } else if (var0 == 11) { // L: 2815 - GameEngine.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); - } else if (var0 == 12) { // L: 2816 - GameEngine.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); - } else if (var0 == 13) { // L: 2817 - GameEngine.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); - } else if (var0 == 14) { // L: 2818 - GameEngine.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 16) { // L: 2819 - GameEngine.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); - } else if (var0 == 17) { // L: 2820 - GameEngine.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", ""); - } else if (var0 == 18) { // L: 2821 - Login.loginIndex = 12; // L: 2823 - Login.field1199 = 1; // L: 2824 - } else if (var0 == 19) { // L: 2827 - GameEngine.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); - } else if (var0 == 20) { // L: 2828 - GameEngine.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); - } else if (var0 == 22) { // L: 2829 - GameEngine.setLoginResponseString("Malformed login packet.", "Please try again.", ""); - } else if (var0 == 23) { // L: 2830 - GameEngine.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); - } else if (var0 == 24) { // L: 2831 - GameEngine.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); - } else if (var0 == 25) { // L: 2832 - GameEngine.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); - } else if (var0 == 26) { // L: 2833 - GameEngine.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); - } else if (var0 == 27) { // L: 2834 - GameEngine.setLoginResponseString("", "Service unavailable.", ""); - } else if (var0 == 31) { // L: 2835 - GameEngine.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game."); - } else if (var0 == 32) { - GameEngine.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system."); // L: 2836 - } else if (var0 == 37) { // L: 2837 - GameEngine.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); - } else if (var0 == 38) { // L: 2838 - GameEngine.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!"); - } else if (var0 == 55) { // L: 2839 - Login.loginIndex = 8; // L: 2840 - } else { - if (var0 == 56) { // L: 2842 - GameEngine.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); // L: 2843 - WorldMapCacheName.updateGameState(11); // L: 2844 - return; // L: 2845 - } - - if (var0 == 57) { // L: 2847 - GameEngine.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); // L: 2848 - WorldMapCacheName.updateGameState(11); // L: 2849 - return; // L: 2850 - } - - if (var0 == 61) { // L: 2852 - Login.loginIndex = 7; // L: 2853 - } else { - GameEngine.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); // L: 2855 - } - } - } else { - GameEngine.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); // L: 2809 - } - - WorldMapCacheName.updateGameState(10); // L: 2856 - } // L: 2857 + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } } diff --git a/runescape-client/src/main/java/UserComparator9.java b/runescape-client/src/main/java/UserComparator9.java index f6a43035e5..35e22c9592 100644 --- a/runescape-client/src/main/java/UserComparator9.java +++ b/runescape-client/src/main/java/UserComparator9.java @@ -2,128 +2,55 @@ 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("fj") +@ObfuscatedName("fs") @Implements("UserComparator9") public class UserComparator9 extends AbstractUserComparator { - @ObfuscatedName("du") - @Export("mouseCam") - static boolean mouseCam; - @ObfuscatedName("h") - @Export("reversed") - final boolean reversed; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lei;" + ) + @Export("World_request") + static UrlRequest World_request; + @ObfuscatedName("ka") + @ObfuscatedSignature( + descriptor = "Lbk;" + ) + @Export("localPlayer") + static Player localPlayer; + @ObfuscatedName("n") + @Export("reversed") + final boolean reversed; - public UserComparator9(boolean var1) { - this.reversed = var1; // L: 11 - } // L: 12 + public UserComparator9(boolean var1) { + this.reversed = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkz;Lkz;B)I", - garbageValue = "-18" - ) - @Export("compareBuddy") - int compareBuddy(Buddy var1, Buddy var2) { - if (Client.worldId == var1.world && var2.world == Client.worldId) { // L: 15 - return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); // L: 16 - } else { - return this.compareUser(var1, var2); // L: 18 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lky;Lky;B)I", + garbageValue = "53" + ) + @Export("compareBuddy") + int compareBuddy(Buddy var1, Buddy var2) { + if (Client.worldId == var1.world && var2.world == Client.worldId) { + return this.reversed ? var1.getUsername().compareToTyped(var2.getUsername()) : var2.getUsername().compareToTyped(var1.getUsername()); + } else { + return this.compareUser(var1, var2); + } + } - public int compare(Object var1, Object var2) { - return this.compareBuddy((Buddy)var1, (Buddy)var2); // L: 22 - } + public int compare(Object var1, Object var2) { + return this.compareBuddy((Buddy)var1, (Buddy)var2); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmg;" - ) - @Export("newRunException") - public static RunException newRunException(Throwable var0, String var1) { - RunException var2; - if (var0 instanceof RunException) { // L: 99 - var2 = (RunException)var0; // L: 100 - var2.message = var2.message + ' ' + var1; // L: 101 - } else { - var2 = new RunException(var0, var1); // L: 103 - } - - return var2; // L: 104 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1672462382" - ) - static int method3478(int var0, Script var1, boolean var2) { - Widget var3; - if (var0 >= 2000) { // L: 734 - var0 -= 1000; // L: 735 - var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 736 - } else { - var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 738 - } - - CollisionMap.invalidateWidget(var3); // L: 739 - if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { // L: 740 - if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { // L: 760 - var3.modelType = 2; // L: 761 - var3.modelId = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 762 - return 1; // L: 763 - } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { // L: 765 - var3.modelType = 3; // L: 766 - var3.modelId = PlayerComposition.localPlayer.appearance.getChatHeadId(); // L: 767 - return 1; // L: 768 - } else { - return 2; // L: 770 - } - } else { - VarcInt.Interpreter_intStackSize -= 2; // L: 741 - int var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 742 - int var5 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 743 - var3.itemId = var4; // L: 744 - var3.itemQuantity = var5; // L: 745 - ItemComposition var6 = SecureRandomCallable.ItemDefinition_get(var4); // L: 746 - var3.modelAngleX = var6.xan2d; // L: 747 - var3.modelAngleY = var6.yan2d; // L: 748 - var3.modelAngleZ = var6.zan2d; // L: 749 - var3.modelOffsetX = var6.offsetX2d; // L: 750 - var3.modelOffsetY = var6.offsetY2d; // L: 751 - var3.modelZoom = var6.zoom2d; // L: 752 - if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { - var3.itemQuantityMode = 0; // L: 753 - } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | 1 == var6.isStackable) { // L: 754 - var3.itemQuantityMode = 1; - } else { - var3.itemQuantityMode = 2; // L: 755 - } - - if (var3.field2641 > 0) { // L: 756 - var3.modelZoom = var3.modelZoom * 32 / var3.field2641; - } else if (var3.rawWidth > 0) { // L: 757 - var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; - } - - return 1; // L: 758 - } - } - - @ObfuscatedName("gb") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-889276398" - ) - static final void method3477() { - for (int var0 = 0; var0 < Client.npcCount; ++var0) { // L: 3868 - int var1 = Client.npcIndices[var0]; // L: 3869 - NPC var2 = Client.npcs[var1]; // L: 3870 - if (var2 != null) { // L: 3871 - WorldMapID.updateActorSequence(var2, var2.definition.size); // L: 3872 - } - } - - } // L: 3875 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;I)V", + garbageValue = "-1134565802" + ) + public static void method3562(AbstractArchive var0, AbstractArchive var1) { + HealthBarDefinition.HealthBarDefinition_archive = var0; + HealthBarDefinition.HitSplatDefinition_spritesArchive = var1; + } } diff --git a/runescape-client/src/main/java/UserList.java b/runescape-client/src/main/java/UserList.java index c1df1f4bb7..2697633a0a 100644 --- a/runescape-client/src/main/java/UserList.java +++ b/runescape-client/src/main/java/UserList.java @@ -7,335 +7,333 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kb") +@ObfuscatedName("ku") @Implements("UserList") public abstract class UserList { - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -562547945 - ) - @Export("capacity") - final int capacity; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 2048838613 - ) - @Export("size") - int size; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "[Lju;" - ) - @Export("array") - User[] array; - @ObfuscatedName("n") - @Export("usernamesMap") - HashMap usernamesMap; - @ObfuscatedName("p") - @Export("previousUsernamesMap") - HashMap previousUsernamesMap; - @ObfuscatedName("l") - @Export("comparator") - Comparator comparator; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1596118633 + ) + @Export("capacity") + final int capacity; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 201704809 + ) + @Export("size") + int size = 0; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "[Ljn;" + ) + @Export("array") + User[] array; + @ObfuscatedName("z") + @Export("usernamesMap") + HashMap usernamesMap; + @ObfuscatedName("e") + @Export("previousUsernamesMap") + HashMap previousUsernamesMap; + @ObfuscatedName("q") + @Export("comparator") + Comparator comparator = null; - UserList(int var1) { - this.size = 0; // L: 9 - this.comparator = null; // L: 13 - this.capacity = var1; // L: 16 - this.array = this.newTypedArray(var1); // L: 17 - this.usernamesMap = new HashMap(var1 / 8); // L: 18 - this.previousUsernamesMap = new HashMap(var1 / 8); // L: 19 - } // L: 20 + UserList(int var1) { + this.capacity = var1; + this.array = this.newTypedArray(var1); + this.usernamesMap = new HashMap(var1 / 8); + this.previousUsernamesMap = new HashMap(var1 / 8); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)Lju;", - garbageValue = "-99" - ) - @Export("newInstance") - abstract User newInstance(); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Ljn;", + garbageValue = "-315842787" + ) + @Export("newInstance") + abstract User newInstance(); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)[Lju;", - garbageValue = "-1524839332" - ) - @Export("newTypedArray") - abstract User[] newTypedArray(int var1); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)[Ljn;", + garbageValue = "1723641195" + ) + @Export("newTypedArray") + abstract User[] newTypedArray(int var1); - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-91" - ) - @Export("clear") - public void clear() { - this.size = 0; // L: 23 - Arrays.fill(this.array, (Object)null); // L: 24 - this.usernamesMap.clear(); // L: 25 - this.previousUsernamesMap.clear(); // L: 26 - } // L: 27 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "-16027" + ) + @Export("clear") + public void clear() { + this.size = 0; + Arrays.fill(this.array, (Object)null); + this.usernamesMap.clear(); + this.previousUsernamesMap.clear(); + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1488862486" - ) - @Export("getSize") - public int getSize() { - return this.size; // L: 30 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "687" + ) + @Export("getSize") + public int getSize() { + return this.size; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "1" - ) - @Export("isFull") - public boolean isFull() { - return this.size == this.capacity; // L: 34 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "0" + ) + @Export("isFull") + public boolean isFull() { + return this.size == this.capacity; + } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(Lki;B)Z", - garbageValue = "1" - ) - @Export("contains") - public boolean contains(Username var1) { - if (!var1.hasCleanName()) { // L: 38 - return false; - } else { - return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1); // L: 39 40 - } - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Z", + garbageValue = "-1403863390" + ) + @Export("contains") + public boolean contains(Username var1) { + if (!var1.hasCleanName()) { + return false; + } else { + return this.usernamesMap.containsKey(var1) ? true : this.previousUsernamesMap.containsKey(var1); + } + } - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(Lki;I)Lju;", - garbageValue = "709076888" - ) - @Export("getByUsername") - public User getByUsername(Username var1) { - User var2 = this.getByCurrentUsername(var1); // L: 44 - return var2 != null ? var2 : this.getByPreviousUsername(var1); // L: 45 46 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Ljn;", + garbageValue = "2091513607" + ) + @Export("getByUsername") + public User getByUsername(Username var1) { + User var2 = this.getByCurrentUsername(var1); + return var2 != null ? var2 : this.getByPreviousUsername(var1); + } - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(Lki;I)Lju;", - garbageValue = "-2053834091" - ) - @Export("getByCurrentUsername") - User getByCurrentUsername(Username var1) { - return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); // L: 50 51 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Ljn;", + garbageValue = "1389255330" + ) + @Export("getByCurrentUsername") + User getByCurrentUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.usernamesMap.get(var1); + } - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(Lki;I)Lju;", - garbageValue = "2109358184" - ) - @Export("getByPreviousUsername") - User getByPreviousUsername(Username var1) { - return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); // L: 55 56 - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(Lkk;B)Ljn;", + garbageValue = "106" + ) + @Export("getByPreviousUsername") + User getByPreviousUsername(Username var1) { + return !var1.hasCleanName() ? null : (User)this.previousUsernamesMap.get(var1); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(Lki;B)Z", - garbageValue = "0" - ) - @Export("removeByUsername") - public final boolean removeByUsername(Username var1) { - User var2 = this.getByCurrentUsername(var1); // L: 60 - if (var2 == null) { // L: 61 - return false; - } else { - this.remove(var2); // L: 62 - return true; // L: 63 - } - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Z", + garbageValue = "925545602" + ) + @Export("removeByUsername") + public final boolean removeByUsername(Username var1) { + User var2 = this.getByCurrentUsername(var1); + if (var2 == null) { + return false; + } else { + this.remove(var2); + return true; + } + } - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(Lju;I)V", - garbageValue = "-202922237" - ) - @Export("remove") - final void remove(User var1) { - int var2 = this.indexOf(var1); // L: 67 - if (var2 != -1) { // L: 68 - this.arrayRemove(var2); // L: 69 - this.mapRemove(var1); // L: 70 - } - } // L: 71 + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(Ljn;I)V", + garbageValue = "1008503929" + ) + @Export("remove") + final void remove(User var1) { + int var2 = this.indexOf(var1); + if (var2 != -1) { + this.arrayRemove(var2); + this.mapRemove(var1); + } + } - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(Lki;B)Lju;", - garbageValue = "8" - ) - @Export("addLastNoPreviousUsername") - User addLastNoPreviousUsername(Username var1) { - return this.addLast(var1, (Username)null); // L: 74 - } + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Lkk;I)Ljn;", + garbageValue = "1681859445" + ) + @Export("addLastNoPreviousUsername") + User addLastNoPreviousUsername(Username var1) { + return this.addLast(var1, (Username)null); + } - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(Lki;Lki;I)Lju;", - garbageValue = "1547669313" - ) - @Export("addLast") - User addLast(Username var1, Username var2) { - if (this.getByCurrentUsername(var1) != null) { // L: 78 - throw new IllegalStateException(); - } else { - User var3 = this.newInstance(); // L: 79 - var3.set(var1, var2); // L: 80 - this.arrayAddLast(var3); // L: 81 - this.mapPut(var3); // L: 82 - return var3; // L: 83 - } - } + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(Lkk;Lkk;I)Ljn;", + garbageValue = "1304686486" + ) + @Export("addLast") + User addLast(Username var1, Username var2) { + if (this.getByCurrentUsername(var1) != null) { + throw new IllegalStateException(); + } else { + User var3 = this.newInstance(); + var3.set(var1, var2); + this.arrayAddLast(var3); + this.mapPut(var3); + return var3; + } + } - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(II)Lju;", - garbageValue = "1977107439" - ) - @Export("get") - public final User get(int var1) { - if (var1 >= 0 && var1 < this.size) { // L: 87 - return this.array[var1]; - } else { - throw new ArrayIndexOutOfBoundsException(var1); // L: 88 - } - } + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(IB)Ljn;", + garbageValue = "12" + ) + @Export("get") + public final User get(int var1) { + if (var1 >= 0 && var1 < this.size) { + return this.array[var1]; + } else { + throw new ArrayIndexOutOfBoundsException(var1); + } + } - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2040277695" - ) - @Export("sort") - public final void sort() { - if (this.comparator == null) { // L: 92 - Arrays.sort(this.array, 0, this.size); // L: 93 - } else { - Arrays.sort(this.array, 0, this.size, this.comparator); // L: 96 - } + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1849487850" + ) + @Export("sort") + public final void sort() { + if (this.comparator == null) { + Arrays.sort(this.array, 0, this.size); + } else { + Arrays.sort(this.array, 0, this.size, this.comparator); + } - } // L: 98 + } - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(Lju;Lki;Lki;I)V", - garbageValue = "-2012575511" - ) - @Export("changeName") - final void changeName(User var1, Username var2, Username var3) { - this.mapRemove(var1); // L: 101 - var1.set(var2, var3); // L: 102 - this.mapPut(var1); // L: 103 - } // L: 104 + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(Ljn;Lkk;Lkk;I)V", + garbageValue = "1325828813" + ) + @Export("changeName") + final void changeName(User var1, Username var2, Username var3) { + this.mapRemove(var1); + var1.set(var2, var3); + this.mapPut(var1); + } - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(Lju;I)I", - garbageValue = "1245630013" - ) - @Export("indexOf") - final int indexOf(User var1) { - for (int var2 = 0; var2 < this.size; ++var2) { // L: 107 - if (this.array[var2] == var1) { // L: 108 - return var2; - } - } + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(Ljn;B)I", + garbageValue = "113" + ) + @Export("indexOf") + final int indexOf(User var1) { + for(int var2 = 0; var2 < this.size; ++var2) { + if (this.array[var2] == var1) { + return var2; + } + } - return -1; // L: 110 - } + return -1; + } - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(Lju;S)V", - garbageValue = "255" - ) - @Export("mapRemove") - final void mapRemove(User var1) { - if (this.usernamesMap.remove(var1.username) == null) { // L: 114 - throw new IllegalStateException(); - } else { - if (var1.previousUsername != null) { - this.previousUsernamesMap.remove(var1.previousUsername); // L: 115 - } + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(Ljn;I)V", + garbageValue = "-1644008169" + ) + @Export("mapRemove") + final void mapRemove(User var1) { + if (this.usernamesMap.remove(var1.username) == null) { + throw new IllegalStateException(); + } else { + if (var1.previousUsername != null) { + this.previousUsernamesMap.remove(var1.previousUsername); + } - } - } // L: 116 + } + } - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(Lju;I)V", - garbageValue = "1107214584" - ) - @Export("arrayAddLast") - final void arrayAddLast(User var1) { - this.array[++this.size - 1] = var1; // L: 119 - } // L: 120 + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(Ljn;B)V", + garbageValue = "-53" + ) + @Export("arrayAddLast") + final void arrayAddLast(User var1) { + this.array[++this.size - 1] = var1; + } - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(Lju;I)V", - garbageValue = "961436842" - ) - @Export("mapPut") - final void mapPut(User var1) { - this.usernamesMap.put(var1.username, var1); // L: 123 - if (var1.previousUsername != null) { // L: 124 - User var2 = (User)this.previousUsernamesMap.put(var1.previousUsername, var1); // L: 125 - if (var2 != null && var2 != var1) { // L: 126 - var2.previousUsername = null; // L: 127 - } - } + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(Ljn;I)V", + garbageValue = "-669871077" + ) + @Export("mapPut") + final void mapPut(User var1) { + this.usernamesMap.put(var1.username, var1); + if (var1.previousUsername != null) { + User var2 = (User)this.previousUsernamesMap.put(var1.previousUsername, var1); + if (var2 != null && var2 != var1) { + var2.previousUsername = null; + } + } - } // L: 130 + } - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "365639793" - ) - @Export("arrayRemove") - final void arrayRemove(int var1) { - --this.size; // L: 133 - if (var1 < this.size) { // L: 134 - System.arraycopy(this.array, var1 + 1, this.array, var1, this.size - var1); // L: 135 - } + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "53" + ) + @Export("arrayRemove") + final void arrayRemove(int var1) { + --this.size; + if (var1 < this.size) { + System.arraycopy(this.array, var1 + 1, this.array, var1, this.size - var1); + } - } // L: 137 + } - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1918060687" - ) - @Export("removeComparator") - public final void removeComparator() { - this.comparator = null; // L: 143 - } // L: 144 + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1607977980" + ) + @Export("removeComparator") + public final void removeComparator() { + this.comparator = null; + } - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(Ljava/util/Comparator;I)V", - garbageValue = "345387098" - ) - @Export("addComparator") - public final void addComparator(Comparator var1) { - if (this.comparator == null) { // L: 147 - this.comparator = var1; // L: 148 - } else if (this.comparator instanceof AbstractUserComparator) { // L: 150 - ((AbstractUserComparator)this.comparator).addComparator(var1); // L: 151 - } + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(Ljava/util/Comparator;B)V", + garbageValue = "-22" + ) + @Export("addComparator") + public final void addComparator(Comparator var1) { + if (this.comparator == null) { + this.comparator = var1; + } else if (this.comparator instanceof AbstractUserComparator) { + ((AbstractUserComparator)this.comparator).addComparator(var1); + } - } // L: 153 + } } diff --git a/runescape-client/src/main/java/Username.java b/runescape-client/src/main/java/Username.java index 12972302d0..55384a6c0a 100644 --- a/runescape-client/src/main/java/Username.java +++ b/runescape-client/src/main/java/Username.java @@ -3,87 +3,409 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ki") +@ObfuscatedName("kk") @Implements("Username") public class Username implements Comparable { - @ObfuscatedName("j") - @Export("Interpreter_stringLocals") - static String[] Interpreter_stringLocals; - @ObfuscatedName("n") - static byte[][][] field3663; - @ObfuscatedName("h") - @Export("name") - String name; - @ObfuscatedName("v") - @Export("cleanName") - String cleanName; + @ObfuscatedName("n") + @Export("name") + String name; + @ObfuscatedName("v") + @Export("cleanName") + String cleanName; - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lmu;)V" - ) - public Username(String var1, LoginType var2) { - this.name = var1; // L: 11 - this.cleanName = VarbitComposition.method4525(var1, var2); // L: 12 - } // L: 13 + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Lml;)V" + ) + public Username(String var1, LoginType var2) { + this.name = var1; + String var4; + if (var1 == null) { + var4 = null; + } else { + label124: { + int var5 = 0; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-1189841453" - ) - @Export("getName") - public String getName() { - return this.name; // L: 16 - } + int var6; + for(var6 = var1.length(); var5 < var6 && class281.method5194(var1.charAt(var5)); ++var5) { + ; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-4" - ) - @Export("hasCleanName") - public boolean hasCleanName() { - return this.cleanName != null; // L: 20 - } + while(var6 > var5 && class281.method5194(var1.charAt(var6 - 1))) { + --var6; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lki;I)I", - garbageValue = "-1152802722" - ) - @Export("compareToTyped") - public int compareToTyped(Username var1) { - if (this.cleanName == null) { // L: 44 - return var1.cleanName == null ? 0 : 1; // L: 45 46 - } else { - return var1.cleanName == null ? -1 : this.cleanName.compareTo(var1.cleanName); // L: 48 49 - } - } + int var7 = var6 - var5; + if (var7 >= 1) { + byte var9; + if (var2 == null) { + var9 = 12; + } else { + switch(var2.field4073) { + case 0: + var9 = 20; + break; + default: + var9 = 12; + } + } - public boolean equals(Object var1) { - if (var1 instanceof Username) { // L: 24 - Username var2 = (Username)var1; // L: 25 - if (this.cleanName == null) { - return var2.cleanName == null; // L: 26 - } else if (var2.cleanName == null) { // L: 27 - return false; - } else { - return this.hashCode() != var2.hashCode() ? false : this.cleanName.equals(var2.cleanName); // L: 28 29 - } - } else { - return false; // L: 31 - } - } + if (var7 <= var9) { + StringBuilder var15 = new StringBuilder(var7); - public int hashCode() { - return this.cleanName == null ? 0 : this.cleanName.hashCode(); // L: 35 36 - } + for(int var17 = var5; var17 < var6; ++var17) { + char var10 = var1.charAt(var17); + boolean var11; + if (Character.isISOControl(var10)) { + var11 = false; + } else if (class225.isAlphaNumeric(var10)) { + var11 = true; + } else { + char[] var12 = class349.field4080; + int var13 = 0; - public int compareTo(Object var1) { - return this.compareToTyped((Username)var1); // L: 53 - } + label91: + while(true) { + char var14; + if (var13 >= var12.length) { + var12 = class349.field4078; - public String toString() { - return this.getName(); // L: 40 - } + for(var13 = 0; var13 < var12.length; ++var13) { + var14 = var12[var13]; + if (var14 == var10) { + var11 = true; + break label91; + } + } + + var11 = false; + break; + } + + var14 = var12[var13]; + if (var10 == var14) { + var11 = true; + break; + } + + ++var13; + } + } + + if (var11) { + char var16; + switch(var10) { + case ' ': + case '-': + case '_': + case ' ': + var16 = '_'; + break; + case '#': + case '[': + case ']': + var16 = var10; + break; + case 'À': + case 'Á': + case 'Â': + case 'Ã': + case 'Ä': + case 'à': + case 'á': + case 'â': + case 'ã': + case 'ä': + var16 = 'a'; + break; + case 'Ç': + case 'ç': + var16 = 'c'; + break; + case 'È': + case 'É': + case 'Ê': + case 'Ë': + case 'è': + case 'é': + case 'ê': + case 'ë': + var16 = 'e'; + break; + case 'Í': + case 'Î': + case 'Ï': + case 'í': + case 'î': + case 'ï': + var16 = 'i'; + break; + case 'Ñ': + case 'ñ': + var16 = 'n'; + break; + case 'Ò': + case 'Ó': + case 'Ô': + case 'Õ': + case 'Ö': + case 'ò': + case 'ó': + case 'ô': + case 'õ': + case 'ö': + var16 = 'o'; + break; + case 'Ù': + case 'Ú': + case 'Û': + case 'Ü': + case 'ù': + case 'ú': + case 'û': + case 'ü': + var16 = 'u'; + break; + case 'ß': + var16 = 'b'; + break; + case 'ÿ': + case 'Ÿ': + var16 = 'y'; + break; + default: + var16 = Character.toLowerCase(var10); + } + + if (var16 != 0) { + var15.append(var16); + } + } + } + + if (var15.length() == 0) { + var4 = null; + } else { + var4 = var15.toString(); + } + break label124; + } + } + + var4 = null; + } + } + + this.cleanName = var4; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-1565783636" + ) + @Export("getName") + public String getName() { + return this.name; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "2035894536" + ) + @Export("hasCleanName") + public boolean hasCleanName() { + return this.cleanName != null; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkk;B)I", + garbageValue = "120" + ) + @Export("compareToTyped") + public int compareToTyped(Username var1) { + if (this.cleanName == null) { + return var1.cleanName == null ? 0 : 1; + } else { + return var1.cleanName == null ? -1 : this.cleanName.compareTo(var1.cleanName); + } + } + + public boolean equals(Object var1) { + if (var1 instanceof Username) { + Username var2 = (Username)var1; + if (this.cleanName == null) { + return var2.cleanName == null; + } else if (var2.cleanName == null) { + return false; + } else { + return this.hashCode() != var2.hashCode() ? false : this.cleanName.equals(var2.cleanName); + } + } else { + return false; + } + } + + public int hashCode() { + return this.cleanName == null ? 0 : this.cleanName.hashCode(); + } + + public int compareTo(Object var1) { + return this.compareToTyped((Username)var1); + } + + public String toString() { + return this.getName(); + } + + @ObfuscatedName("hb") + @ObfuscatedSignature( + descriptor = "(IIIIII)V", + garbageValue = "296142419" + ) + @Export("drawObject") + static final void drawObject(int var0, int var1, int var2, int var3, int var4) { + long var5 = MilliClock.scene.getBoundaryObjectTag(var0, var1, var2); + int var7; + int var8; + int var9; + int var10; + int var12; + int var13; + if (var5 != 0L) { + var7 = MilliClock.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = var3; + if (TileItem.method2265(var5)) { + var10 = var4; + } + + int[] var11 = GrandExchangeOfferAgeComparator.sceneMinimapSprite.pixels; + var12 = var1 * 4 + (103 - var2) * 2048 + 24624; + var13 = class25.Entity_unpackID(var5); + ObjectComposition var14 = WorldMapAreaData.getObjectDefinition(var13); + if (var14.mapSceneId != -1) { + IndexedSprite var15 = WorldMapSection1.mapSceneSprites[var14.mapSceneId]; + if (var15 != null) { + int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; + int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; + var15.drawAt(var16 + var1 * 4 + 48, (104 - var2 - var14.sizeY) * 4 + var17 + 48); + } + } else { + if (var9 == 0 || var9 == 2) { + if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 1) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + + if (var9 == 3) { + if (var8 == 0) { + var11[var12] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 3) { + var11[var12 + 1536] = var10; + } + } + + if (var9 == 2) { + if (var8 == 3) { + var11[var12] = var10; + var11[var12 + 512] = var10; + var11[var12 + 1024] = var10; + var11[var12 + 1536] = var10; + } else if (var8 == 0) { + var11[var12] = var10; + var11[var12 + 1] = var10; + var11[var12 + 2] = var10; + var11[var12 + 3] = var10; + } else if (var8 == 1) { + var11[var12 + 3] = var10; + var11[var12 + 512 + 3] = var10; + var11[var12 + 1024 + 3] = var10; + var11[var12 + 1536 + 3] = var10; + } else if (var8 == 2) { + var11[var12 + 1536] = var10; + var11[var12 + 1536 + 1] = var10; + var11[var12 + 1536 + 2] = var10; + var11[var12 + 1536 + 3] = var10; + } + } + } + } + + var5 = MilliClock.scene.getGameObjectTag(var0, var1, var2); + if (var5 != 0L) { + var7 = MilliClock.scene.getObjectFlags(var0, var1, var2, var5); + var8 = var7 >> 6 & 3; + var9 = var7 & 31; + var10 = class25.Entity_unpackID(var5); + ObjectComposition var24 = WorldMapAreaData.getObjectDefinition(var10); + int var19; + if (var24.mapSceneId != -1) { + IndexedSprite var20 = WorldMapSection1.mapSceneSprites[var24.mapSceneId]; + if (var20 != null) { + var13 = (var24.sizeX * 4 - var20.subWidth) / 2; + var19 = (var24.sizeY * 4 - var20.subHeight) / 2; + var20.drawAt(var1 * 4 + var13 + 48, (104 - var2 - var24.sizeY) * 4 + var19 + 48); + } + } else if (var9 == 9) { + var12 = 15658734; + if (TileItem.method2265(var5)) { + var12 = 15597568; + } + + int[] var18 = GrandExchangeOfferAgeComparator.sceneMinimapSprite.pixels; + var19 = var1 * 4 + (103 - var2) * 2048 + 24624; + if (var8 != 0 && var8 != 2) { + var18[var19] = var12; + var18[var19 + 1 + 512] = var12; + var18[var19 + 1024 + 2] = var12; + var18[var19 + 1536 + 3] = var12; + } else { + var18[var19 + 1536] = var12; + var18[var19 + 1 + 1024] = var12; + var18[var19 + 512 + 2] = var12; + var18[var19 + 3] = var12; + } + } + } + + var5 = MilliClock.scene.getFloorDecorationTag(var0, var1, var2); + if (0L != var5) { + var7 = class25.Entity_unpackID(var5); + ObjectComposition var21 = WorldMapAreaData.getObjectDefinition(var7); + if (var21.mapSceneId != -1) { + IndexedSprite var22 = WorldMapSection1.mapSceneSprites[var21.mapSceneId]; + if (var22 != null) { + var10 = (var21.sizeX * 4 - var22.subWidth) / 2; + int var23 = (var21.sizeY * 4 - var22.subHeight) / 2; + var22.drawAt(var10 + var1 * 4 + 48, (104 - var2 - var21.sizeY) * 4 + var23 + 48); + } + } + } + + } } diff --git a/runescape-client/src/main/java/Usernamed.java b/runescape-client/src/main/java/Usernamed.java index 08bf819853..5e6b315813 100644 --- a/runescape-client/src/main/java/Usernamed.java +++ b/runescape-client/src/main/java/Usernamed.java @@ -3,14 +3,14 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ka") +@ObfuscatedName("kg") @Implements("Usernamed") public interface Usernamed { - @ObfuscatedName("lb") - @ObfuscatedSignature( - descriptor = "(I)Lki;", - garbageValue = "82536799" - ) - @Export("username") - Username username(); + @ObfuscatedName("kd") + @ObfuscatedSignature( + descriptor = "(B)Lkk;", + garbageValue = "75" + ) + @Export("username") + Username username(); } diff --git a/runescape-client/src/main/java/VarbitComposition.java b/runescape-client/src/main/java/VarbitComposition.java index 387c6f075b..b5785fbaaa 100644 --- a/runescape-client/src/main/java/VarbitComposition.java +++ b/runescape-client/src/main/java/VarbitComposition.java @@ -4,133 +4,90 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iv") +@ObfuscatedName("ih") @Implements("VarbitComposition") public class VarbitComposition extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("VarbitDefinition_archive") - public static AbstractArchive VarbitDefinition_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("VarbitDefinition_cached") - public static EvictingDualNodeHashTable VarbitDefinition_cached; - @ObfuscatedName("z") - @Export("Tiles_hue") - static int[] Tiles_hue; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1845026741 - ) - @Export("baseVar") - public int baseVar; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -974081687 - ) - @Export("startBit") - public int startBit; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1357944677 - ) - @Export("endBit") - public int endBit; + @ObfuscatedName("qo") + @ObfuscatedSignature( + descriptor = "Ldi;" + ) + @Export("pcmStreamMixer") + static PcmStreamMixer pcmStreamMixer; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("VarbitDefinition_archive") + public static AbstractArchive VarbitDefinition_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("VarbitDefinition_cached") + public static EvictingDualNodeHashTable VarbitDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1019712225 + ) + @Export("baseVar") + public int baseVar; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 832067477 + ) + @Export("startBit") + public int startBit; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1230578517 + ) + @Export("endBit") + public int endBit; - static { - VarbitDefinition_cached = new EvictingDualNodeHashTable(64); // L: 11 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "1" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1196473375" - ) - @Export("decode") - public void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 22 - if (var2 == 0) { // L: 23 - return; // L: 26 - } + this.decodeNext(var1, var2); + } + } - this.decodeNext(var1, var2); // L: 24 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-1952270730" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.baseVar = var1.readUnsignedShort(); + this.startBit = var1.readUnsignedByte(); + this.endBit = var1.readUnsignedByte(); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-1699368159" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 29 - this.baseVar = var1.readUnsignedShort(); // L: 30 - this.startBit = var1.readUnsignedByte(); // L: 31 - this.endBit = var1.readUnsignedByte(); // L: 32 - } + } - } // L: 35 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;Lmu;B)Ljava/lang/String;", - garbageValue = "3" - ) - public static String method4525(CharSequence var0, LoginType var1) { - if (var0 == null) { // L: 48 - return null; - } else { - int var2 = 0; // L: 49 - - int var3; - boolean var4; - char var5; - for (var3 = var0.length(); var2 < var3; ++var2) { // L: 50 53 63 - var5 = var0.charAt(var2); // L: 55 - var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; // L: 57 - if (!var4) { // L: 59 - break; - } - } - - while (var3 > var2) { // L: 67 - var5 = var0.charAt(var3 - 1); // L: 69 - var4 = var5 == 160 || var5 == ' ' || var5 == '_' || var5 == '-'; // L: 71 - if (!var4) { // L: 73 - break; - } - - --var3; // L: 77 - } - - int var10 = var3 - var2; // L: 79 - if (var10 >= 1 && var10 <= ArchiveLoader.method1232(var1)) { // L: 80 - StringBuilder var9 = new StringBuilder(var10); // L: 81 - - for (int var6 = var2; var6 < var3; ++var6) { // L: 82 - char var7 = var0.charAt(var6); // L: 83 - if (ObjectComposition.method4657(var7)) { // L: 84 - char var8 = UserComparator10.method3492(var7); // L: 85 - if (var8 != 0) { // L: 86 - var9.append(var8); // L: 87 - } - } - } - - if (var9.length() == 0) { // L: 89 - return null; - } else { - return var9.toString(); // L: 90 - } - } else { - return null; - } - } - } + @ObfuscatedName("kw") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "-1439525339" + ) + @Export("Clan_joinChat") + static final void Clan_joinChat(String var0) { + if (!var0.equals("")) { + PacketBufferNode var1 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2270, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var0)); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } + } } diff --git a/runescape-client/src/main/java/VarcInt.java b/runescape-client/src/main/java/VarcInt.java index 2fb2b7b191..f6d574ffd6 100644 --- a/runescape-client/src/main/java/VarcInt.java +++ b/runescape-client/src/main/java/VarcInt.java @@ -1,209 +1,52 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ir") +@ObfuscatedName("ia") @Implements("VarcInt") public class VarcInt extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("VarcInt_archive") - static AbstractArchive VarcInt_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("VarcInt_cached") - static EvictingDualNodeHashTable VarcInt_cached; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -290807175 - ) - @Export("Interpreter_intStackSize") - static int Interpreter_intStackSize; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("scriptActiveWidget") - static Widget scriptActiveWidget; - @ObfuscatedName("x") - @Export("persist") - public boolean persist; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("VarcInt_archive") + public static AbstractArchive VarcInt_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("VarcInt_cached") + public static EvictingDualNodeHashTable VarcInt_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("d") + @Export("persist") + public boolean persist = false; - static { - VarcInt_cached = new EvictingDualNodeHashTable(64); // L: 11 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "-111" + ) + public void method4594(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - VarcInt() { - this.persist = false; // L: 12 - } // L: 14 + this.method4595(var1, var2); + } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;S)V", - garbageValue = "12817" - ) - void method4416(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 32 - if (var2 == 0) { // L: 33 - return; // L: 36 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-1938056419" + ) + void method4595(Buffer var1, int var2) { + if (var2 == 2) { + this.persist = true; + } - this.method4420(var1, var2); // L: 34 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "8" - ) - void method4420(Buffer var1, int var2) { - if (var2 == 2) { // L: 39 - this.persist = true; // L: 40 - } - - } // L: 43 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "121" - ) - public static int method4427() { - return KeyHandler.KeyHandler_idleCycles; // L: 201 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1734720266" - ) - public static void method4426() { - HealthBarDefinition.HealthBarDefinition_cached.clear(); // L: 94 - HealthBarDefinition.HealthBarDefinition_cachedSprites.clear(); // L: 95 - } // L: 96 - - @ObfuscatedName("hh") - @ObfuscatedSignature( - descriptor = "(IIZI)V", - garbageValue = "1702821448" - ) - static final void method4428(int var0, int var1, boolean var2) { - if (!var2 || var0 != class182.field2112 || UserComparator6.field2013 != var1) { // L: 5384 - class182.field2112 = var0; // L: 5387 - UserComparator6.field2013 = var1; // L: 5388 - WorldMapCacheName.updateGameState(25); // L: 5389 - Varps.drawLoadingMessage("Loading - please wait.", true); // L: 5390 - int var3 = NetFileRequest.baseX; // L: 5391 - int var4 = class41.baseY; // L: 5392 - NetFileRequest.baseX = (var0 - 6) * 8; // L: 5393 - class41.baseY = (var1 - 6) * 8; // L: 5394 - int var5 = NetFileRequest.baseX - var3; // L: 5395 - int var6 = class41.baseY - var4; // L: 5396 - var3 = NetFileRequest.baseX; // L: 5397 - var4 = class41.baseY; // L: 5398 - - int var7; - int var9; - int[] var10000; - for (var7 = 0; var7 < 32768; ++var7) { // L: 5399 - NPC var19 = Client.npcs[var7]; // L: 5400 - if (var19 != null) { // L: 5401 - for (var9 = 0; var9 < 10; ++var9) { // L: 5402 - var10000 = var19.pathX; // L: 5403 - var10000[var9] -= var5; - var10000 = var19.pathY; // L: 5404 - var10000[var9] -= var6; - } - - var19.x -= var5 * 128; // L: 5406 - var19.y -= var6 * 128; // L: 5407 - } - } - - for (var7 = 0; var7 < 2048; ++var7) { // L: 5410 - Player var22 = Client.players[var7]; // L: 5411 - if (var22 != null) { // L: 5412 - for (var9 = 0; var9 < 10; ++var9) { // L: 5413 - var10000 = var22.pathX; // L: 5414 - var10000[var9] -= var5; - var10000 = var22.pathY; // L: 5415 - var10000[var9] -= var6; - } - - var22.x -= var5 * 128; // L: 5417 - var22.y -= var6 * 128; // L: 5418 - } - } - - byte var20 = 0; // L: 5421 - byte var8 = 104; // L: 5422 - byte var21 = 1; // L: 5423 - if (var5 < 0) { // L: 5424 - var20 = 103; // L: 5425 - var8 = -1; // L: 5426 - var21 = -1; // L: 5427 - } - - byte var10 = 0; // L: 5429 - byte var11 = 104; // L: 5430 - byte var12 = 1; // L: 5431 - if (var6 < 0) { // L: 5432 - var10 = 103; // L: 5433 - var11 = -1; // L: 5434 - var12 = -1; // L: 5435 - } - - int var14; - for (int var13 = var20; var8 != var13; var13 += var21) { // L: 5437 - for (var14 = var10; var11 != var14; var14 += var12) { // L: 5438 - int var15 = var5 + var13; // L: 5439 - int var16 = var6 + var14; // L: 5440 - - for (int var17 = 0; var17 < 4; ++var17) { // L: 5441 - if (var15 >= 0 && var16 >= 0 && var15 < 104 && var16 < 104) { - Client.groundItems[var17][var13][var14] = Client.groundItems[var17][var15][var16]; // L: 5442 - } else { - Client.groundItems[var17][var13][var14] = null; // L: 5443 - } - } - } - } - - for (PendingSpawn var18 = (PendingSpawn)Client.pendingSpawns.last(); var18 != null; var18 = (PendingSpawn)Client.pendingSpawns.previous()) { // L: 5447 5448 5452 - var18.x -= var5; // L: 5449 - var18.y -= var6; // L: 5450 - if (var18.x < 0 || var18.y < 0 || var18.x >= 104 || var18.y >= 104) { // L: 5451 - var18.remove(); - } - } - - if (Client.destinationX != 0) { // L: 5454 - Client.destinationX -= var5; // L: 5455 - Client.destinationY -= var6; // L: 5456 - } - - Client.soundEffectCount = 0; // L: 5458 - Client.isCameraLocked = false; // L: 5459 - Player.cameraX -= var5 << 7; // L: 5460 - class69.cameraZ -= var6 << 7; // L: 5461 - SecureRandomFuture.oculusOrbFocalPointX -= var5 << 7; // L: 5462 - Decimator.oculusOrbFocalPointY -= var6 << 7; // L: 5463 - Client.field874 = -1; // L: 5464 - Client.graphicsObjects.clear(); // L: 5465 - Client.projectiles.clear(); // L: 5466 - - for (var14 = 0; var14 < 4; ++var14) { // L: 5467 - Client.collisionMaps[var14].clear(); - } - - } - } // L: 5385 5468 + } } diff --git a/runescape-client/src/main/java/Varcs.java b/runescape-client/src/main/java/Varcs.java index d248c3b3ae..5eb7ad8d64 100644 --- a/runescape-client/src/main/java/Varcs.java +++ b/runescape-client/src/main/java/Varcs.java @@ -1,4 +1,7 @@ import java.io.EOFException; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -12,413 +15,439 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("cg") @Implements("Varcs") public class Varcs { - @ObfuscatedName("oq") - @ObfuscatedSignature( - descriptor = "Lcg;" - ) - @Export("varcs") - static Varcs varcs; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 329492753 - ) - @Export("ItemDefinition_fileCount") - public static int ItemDefinition_fileCount; - @ObfuscatedName("c") - static int[] field1283; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = -69113617 - ) - @Export("clientTickTimeIdx") - static int clientTickTimeIdx; - @ObfuscatedName("x") - @Export("intsPersistence") - boolean[] intsPersistence; - @ObfuscatedName("w") - @Export("map") - Map map; - @ObfuscatedName("t") - @Export("strings") - String[] strings; - @ObfuscatedName("j") - @Export("unwrittenChanges") - boolean unwrittenChanges; - @ObfuscatedName("n") - @ObfuscatedGetter( - longValue = 442917365631683491L - ) - long field1276; + @ObfuscatedName("d") + @Export("intsPersistence") + boolean[] intsPersistence; + @ObfuscatedName("c") + @Export("map") + Map map; + @ObfuscatedName("y") + @Export("strings") + String[] strings; + @ObfuscatedName("h") + @Export("unwrittenChanges") + boolean unwrittenChanges = false; + @ObfuscatedName("z") + @ObfuscatedGetter( + longValue = 3247217840907840609L + ) + long field1282; - Varcs() { - this.unwrittenChanges = false; // L: 22 - int var1 = DynamicObject.archive2.getGroupFileCount(19); // L: 26 - this.map = new HashMap(); // L: 27 - this.intsPersistence = new boolean[var1]; // L: 28 + Varcs() { + int var1 = WorldMapIcon_0.archive2.getGroupFileCount(19); + this.map = new HashMap(); + this.intsPersistence = new boolean[var1]; - int var2; - for (var2 = 0; var2 < var1; ++var2) { // L: 29 - VarcInt var3 = TextureProvider.method2843(var2); // L: 30 - this.intsPersistence[var2] = var3.persist; // L: 31 - } + int var2; + for(var2 = 0; var2 < var1; ++var2) { + VarcInt var4 = (VarcInt)VarcInt.VarcInt_cached.get((long)var2); + VarcInt var3; + if (var4 != null) { + var3 = var4; + } else { + byte[] var5 = VarcInt.VarcInt_archive.takeFile(19, var2); + var4 = new VarcInt(); + if (var5 != null) { + var4.method4594(new Buffer(var5)); + } - var2 = 0; // L: 33 - if (DynamicObject.archive2.method4305(15)) { // L: 34 - var2 = DynamicObject.archive2.getGroupFileCount(15); // L: 35 - } + VarcInt.VarcInt_cached.put(var4, (long)var2); + var3 = var4; + } - this.strings = new String[var2]; // L: 37 - this.read(); // L: 38 - } // L: 39 + this.intsPersistence[var2] = var3.persist; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-298220081" - ) - @Export("setInt") - void setInt(int var1, int var2) { - this.map.put(var1, var2); // L: 42 - if (this.intsPersistence[var1]) { - this.unwrittenChanges = true; // L: 43 - } + var2 = 0; + if (WorldMapIcon_0.archive2.method4471(15)) { + var2 = WorldMapIcon_0.archive2.getGroupFileCount(15); + } - } // L: 44 + this.strings = new String[var2]; + this.read(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-2112992813" - ) - @Export("getInt") - int getInt(int var1) { - Object var2 = this.map.get(var1); // L: 47 - return var2 instanceof Integer ? (Integer)var2 : -1; // L: 48 49 51 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-1194686711" + ) + @Export("setInt") + void setInt(int var1, int var2) { + this.map.put(var1, var2); + if (this.intsPersistence[var1]) { + this.unwrittenChanges = true; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)V", - garbageValue = "-387665729" - ) - @Export("setString") - void setString(int var1, String var2) { - this.map.put(var1, var2); // L: 55 - } // L: 56 + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IB)Ljava/lang/String;", - garbageValue = "-99" - ) - @Export("getString") - String getString(int var1) { - Object var2 = this.map.get(var1); // L: 59 - return var2 instanceof String ? (String)var2 : ""; // L: 60 61 63 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "16777215" + ) + @Export("getInt") + int getInt(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof Integer ? (Integer)var2 : -1; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;B)V", - garbageValue = "0" - ) - @Export("setStringOld") - void setStringOld(int var1, String var2) { - this.strings[var1] = var2; // L: 67 - } // L: 68 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;I)V", + garbageValue = "2044340742" + ) + @Export("setString") + void setString(int var1, String var2) { + this.map.put(var1, var2); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "343264324" - ) - @Export("getStringOld") - String getStringOld(int var1) { - return this.strings[var1]; // L: 71 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Ljava/lang/String;", + garbageValue = "1459564767" + ) + @Export("getString") + String getString(int var1) { + Object var2 = this.map.get(var1); + return var2 instanceof String ? (String)var2 : ""; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1770667153" - ) - @Export("clearTransient") - void clearTransient() { - int var1; - for (var1 = 0; var1 < this.intsPersistence.length; ++var1) { // L: 75 - if (!this.intsPersistence[var1]) { // L: 76 - this.map.remove(var1); // L: 77 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;I)V", + garbageValue = "81320649" + ) + @Export("setStringOld") + void setStringOld(int var1, String var2) { + this.strings[var1] = var2; + } - for (var1 = 0; var1 < this.strings.length; ++var1) { // L: 80 - this.strings[var1] = null; // L: 81 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IB)Ljava/lang/String;", + garbageValue = "-82" + ) + @Export("getStringOld") + String getStringOld(int var1) { + return this.strings[var1]; + } - } // L: 83 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1732763236" + ) + @Export("clearTransient") + void clearTransient() { + int var1; + for(var1 = 0; var1 < this.intsPersistence.length; ++var1) { + if (!this.intsPersistence[var1]) { + this.map.remove(var1); + } + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(ZB)Lmy;", - garbageValue = "-102" - ) - @Export("getPreferencesFile") - AccessFile getPreferencesFile(boolean var1) { - return WorldMapRegion.getPreferencesFile("2", AttackOption.field1174.name, var1); // L: 86 - } + for(var1 = 0; var1 < this.strings.length; ++var1) { + this.strings[var1] = null; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1929534435" - ) - @Export("write") - void write() { - AccessFile var1 = this.getPreferencesFile(true); // L: 90 + } - try { - int var2 = 3; // L: 92 - int var3 = 0; // L: 93 - Iterator var4 = this.map.entrySet().iterator(); // L: 94 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(ZI)Lmc;", + garbageValue = "1003516163" + ) + @Export("getPreferencesFile") + AccessFile getPreferencesFile(boolean var1) { + return WorldMapRectangle.getPreferencesFile("2", FontName.field3699.name, var1); + } - while (var4.hasNext()) { - Entry var5 = (Entry)var4.next(); // L: 95 - int var6 = (Integer)var5.getKey(); // L: 97 - if (this.intsPersistence[var6]) { // L: 98 - Object var7 = var5.getValue(); // L: 99 - var2 += 3; // L: 100 - if (var7 instanceof Integer) { // L: 101 - var2 += 4; - } else if (var7 instanceof String) { // L: 102 - var2 += FloorDecoration.stringCp1252NullTerminatedByteSize((String)var7); - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2064490955" + ) + @Export("write") + void write() { + AccessFile var1 = this.getPreferencesFile(true); - ++var3; // L: 103 - } - } + try { + int var2 = 3; + int var3 = 0; + Iterator var4 = this.map.entrySet().iterator(); - Buffer var28 = new Buffer(var2); // L: 107 - var28.writeByte(2); // L: 108 - var28.writeShort(var3); // L: 109 - Iterator var29 = this.map.entrySet().iterator(); // L: 110 + while(var4.hasNext()) { + Entry var5 = (Entry)var4.next(); + int var6 = (Integer)var5.getKey(); + if (this.intsPersistence[var6]) { + Object var7 = var5.getValue(); + var2 += 3; + if (var7 instanceof Integer) { + var2 += 4; + } else if (var7 instanceof String) { + var2 += WorldMapLabelSize.stringCp1252NullTerminatedByteSize((String)var7); + } - label146: - while (true) { - Entry var17; - int var18; - do { - if (!var29.hasNext()) { - var1.write(var28.array, 0, var28.offset); // L: 144 - break label146; - } + ++var3; + } + } - var17 = (Entry)var29.next(); // L: 111 - var18 = (Integer)var17.getKey(); // L: 113 - } while(!this.intsPersistence[var18]); // L: 114 + Buffer var28 = new Buffer(var2); + var28.writeByte(2); + var28.writeShort(var3); + Iterator var29 = this.map.entrySet().iterator(); - var28.writeShort(var18); // L: 115 - Object var8 = var17.getValue(); // L: 116 - Class var10 = var8.getClass(); // L: 118 - class3[] var11 = new class3[]{class3.field13, class3.field12, class3.field8}; // L: 123 - class3[] var12 = var11; // L: 125 - int var13 = 0; + label146: + while(true) { + Entry var17; + int var18; + do { + if (!var29.hasNext()) { + var1.write(var28.array, 0, var28.offset); + break label146; + } - class3 var9; - while (true) { - if (var13 >= var12.length) { - var9 = null; // L: 136 - break; - } + var17 = (Entry)var29.next(); + var18 = (Integer)var17.getKey(); + } while(!this.intsPersistence[var18]); - class3 var14 = var12[var13]; // L: 127 - if (var10 == var14.field6) { // L: 129 - var9 = var14; // L: 130 - break; // L: 131 - } + var28.writeShort(var18); + Object var8 = var17.getValue(); + Class var10 = var8.getClass(); + class3[] var11 = new class3[]{class3.field18, class3.field26, class3.field17}; + class3[] var12 = var11; + int var13 = 0; - ++var13; // L: 126 - } + class3 var9; + while(true) { + if (var13 >= var12.length) { + var9 = null; + break; + } - var28.writeByte(var9.field10); // L: 139 - class3.method25(var8, var28); // L: 140 - } - } catch (Exception var26) { // L: 146 - } finally { - try { - var1.close(); // L: 149 - } catch (Exception var25) { // L: 151 - } + class3 var14 = var12[var13]; + if (var10 == var14.field21) { + var9 = var14; + break; + } - } + ++var13; + } - this.unwrittenChanges = false; // L: 153 - this.field1276 = class298.currentTimeMillis(); // L: 154 - } // L: 155 + var28.writeByte(var9.field22); + class3.method30(var8, var28); + } + } catch (Exception var26) { + ; + } finally { + try { + var1.close(); + } catch (Exception var25) { + ; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "20" - ) - @Export("read") - void read() { - AccessFile var1 = this.getPreferencesFile(false); // L: 158 + } - label222: { - try { - byte[] var2 = new byte[(int)var1.length()]; // L: 160 + this.unwrittenChanges = false; + this.field1282 = Tiles.currentTimeMillis(); + } - int var4; - for (int var3 = 0; var3 < var2.length; var3 += var4) { // L: 161 162 165 - var4 = var1.read(var2, var3, var2.length - var3); // L: 163 - if (var4 == -1) { // L: 164 - throw new EOFException(); - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1389856130" + ) + @Export("read") + void read() { + AccessFile var1 = this.getPreferencesFile(false); - Buffer var15 = new Buffer(var2); // L: 167 - if (var15.array.length - var15.offset < 1) { // L: 168 - return; - } + label227: { + try { + byte[] var2 = new byte[(int)var1.length()]; - int var16 = var15.readUnsignedByte(); // L: 169 - if (var16 >= 0 && var16 <= 2) { // L: 170 - int var7; - int var8; - int var9; - int var17; - if (var16 >= 2) { // L: 171 - var17 = var15.readUnsignedShort(); // L: 172 - var7 = 0; + int var4; + for(int var3 = 0; var3 < var2.length; var3 += var4) { + var4 = var1.read(var2, var3, var2.length - var3); + if (var4 == -1) { + throw new EOFException(); + } + } - while (true) { - if (var7 >= var17) { - break label222; - } + Buffer var15 = new Buffer(var2); + if (var15.array.length - var15.offset < 1) { + return; + } - var8 = var15.readUnsignedShort(); // L: 174 - var9 = var15.readUnsignedByte(); // L: 175 - class3[] var10 = new class3[]{class3.field13, class3.field12, class3.field8}; // L: 178 - class3 var11 = (class3)UrlRequester.findEnumerated(var10, var9); // L: 180 - Object var12 = var11.method28(var15); // L: 181 - if (this.intsPersistence[var8]) { // L: 182 - this.map.put(var8, var12); // L: 183 - } + int var16 = var15.readUnsignedByte(); + if (var16 >= 0 && var16 <= 2) { + int var7; + int var8; + int var9; + int var17; + if (var16 >= 2) { + var17 = var15.readUnsignedShort(); + var7 = 0; - ++var7; // L: 173 - } - } else { - var17 = var15.readUnsignedShort(); // L: 188 + while(true) { + if (var7 >= var17) { + break label227; + } - for (var7 = 0; var7 < var17; ++var7) { // L: 189 - var8 = var15.readUnsignedShort(); // L: 190 - var9 = var15.readInt(); // L: 191 - if (this.intsPersistence[var8]) { // L: 192 - this.map.put(var8, var9); // L: 193 - } - } + var8 = var15.readUnsignedShort(); + var9 = var15.readUnsignedByte(); + class3[] var10 = new class3[]{class3.field18, class3.field26, class3.field17}; + class3 var11 = (class3)InterfaceParent.findEnumerated(var10, var9); + Object var12 = var11.method32(var15); + if (this.intsPersistence[var8]) { + this.map.put(var8, var12); + } - var7 = var15.readUnsignedShort(); // L: 196 - var8 = 0; + ++var7; + } + } else { + var17 = var15.readUnsignedShort(); - while (true) { - if (var8 >= var7) { - break label222; - } + for(var7 = 0; var7 < var17; ++var7) { + var8 = var15.readUnsignedShort(); + var9 = var15.readInt(); + if (this.intsPersistence[var8]) { + this.map.put(var8, var9); + } + } - var15.readUnsignedShort(); // L: 198 - var15.readStringCp1252NullTerminated(); // L: 199 - ++var8; // L: 197 - } - } - } - } catch (Exception var26) { // L: 203 - break label222; - } finally { - try { - var1.close(); // L: 206 - } catch (Exception var25) { // L: 208 - } + var7 = var15.readUnsignedShort(); + var8 = 0; - } + while(true) { + if (var8 >= var7) { + break label227; + } - return; - } + var15.readUnsignedShort(); + var15.readStringCp1252NullTerminated(); + ++var8; + } + } + } + } catch (Exception var26) { + break label227; + } finally { + try { + var1.close(); + } catch (Exception var25) { + ; + } - this.unwrittenChanges = false; // L: 210 - } // L: 211 + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1201076072" - ) - @Export("tryWrite") - void tryWrite() { - if (this.unwrittenChanges && this.field1276 < class298.currentTimeMillis() - 60000L) { // L: 214 - this.write(); // L: 215 - } + return; + } - } // L: 217 + this.unwrittenChanges = false; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1775213978" - ) - @Export("hasUnwrittenChanges") - boolean hasUnwrittenChanges() { - return this.unwrittenChanges; // L: 220 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "2098120459" + ) + @Export("tryWrite") + void tryWrite() { + if (this.unwrittenChanges && this.field1282 < Tiles.currentTimeMillis() - 60000L) { + this.write(); + } - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(Ldi;I)V", - garbageValue = "1243916403" - ) - @Export("PcmStream_disable") - static final void PcmStream_disable(PcmStream var0) { - var0.active = false; // L: 270 - if (var0.sound != null) { // L: 271 - var0.sound.position = 0; - } + } - for (PcmStream var1 = var0.firstSubStream(); var1 != null; var1 = var0.nextSubStream()) { - PcmStream_disable(var1); // L: 272 - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-2106101646" + ) + @Export("hasUnwrittenChanges") + boolean hasUnwrittenChanges() { + return this.unwrittenChanges; + } - } // L: 273 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IB)Lcl;", + garbageValue = "18" + ) + @Export("getScript") + static Script getScript(int var0) { + Script var1 = (Script)Script.Script_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = WorldMapSection0.archive12.takeFile(var0, 0); + if (var2 == null) { + return null; + } else { + var1 = GameObject.newScript(var2); + Script.Script_cached.put(var1, (long)var0); + return var1; + } + } + } - @ObfuscatedName("km") - @ObfuscatedSignature( - descriptor = "(Lhe;IIII)V", - garbageValue = "842543427" - ) - @Export("drawCompass") - static final void drawCompass(Widget var0, int var1, int var2, int var3) { - SpriteMask var4 = var0.getSpriteMask(false); // L: 10957 - if (var4 != null) { // L: 10958 - if (Client.minimapState < 3) { // L: 10959 - UrlRequester.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); // L: 10960 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-73" + ) + @Export("isKeyDown") + public static final boolean isKeyDown() { + KeyHandler var0 = KeyHandler.KeyHandler_instance; + synchronized(KeyHandler.KeyHandler_instance) { + if (KeyHandler.field424 == KeyHandler.field418) { + return false; + } else { + ModeWhere.field2417 = KeyHandler.field428[KeyHandler.field418]; + WorldMapID.field299 = KeyHandler.field422[KeyHandler.field418]; + KeyHandler.field418 = KeyHandler.field418 + 1 & 127; + return true; + } + } + } - } - } // L: 10961 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "0" + ) + static void method2346() { + try { + File var0 = new File(JagexCache.userHomeDirectory, "random.dat"); + int var2; + if (var0.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); + } else { + label39: + for(int var1 = 0; var1 < Timer.field3621.length; ++var1) { + for(var2 = 0; var2 < class224.field2576.length; ++var2) { + File var3 = new File(class224.field2576[var2] + Timer.field3621[var1] + File.separatorChar + "random.dat"); + if (var3.exists()) { + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); + break label39; + } + } + } + } - @ObfuscatedName("lr") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "1893534902" - ) - @Export("Clan_joinChat") - static final void Clan_joinChat(String var0) { - if (!var0.equals("")) { // L: 11029 - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2285, Client.packetWriter.isaacCipher); // L: 11031 - var1.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var0)); // L: 11032 - var1.packetBuffer.writeStringCp1252NullTerminated(var0); // L: 11033 - Client.packetWriter.addNode(var1); // L: 11034 - } - } // L: 11035 + if (JagexCache.JagexCache_randomDat == null) { + RandomAccessFile var4 = new RandomAccessFile(var0, "rw"); + var2 = var4.read(); + var4.seek(0L); + var4.write(var2); + var4.seek(0L); + var4.close(); + JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); + } + } catch (IOException var5) { + ; + } + + } } diff --git a/runescape-client/src/main/java/VarpDefinition.java b/runescape-client/src/main/java/VarpDefinition.java index c3da385348..379d35e154 100644 --- a/runescape-client/src/main/java/VarpDefinition.java +++ b/runescape-client/src/main/java/VarpDefinition.java @@ -4,88 +4,77 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("is") +@ObfuscatedName("il") @Implements("VarpDefinition") public class VarpDefinition extends DualNode { - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 447928959 - ) - @Export("VarpDefinition_fileCount") - public static int VarpDefinition_fileCount; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("VarpDefinition_cached") - static EvictingDualNodeHashTable VarpDefinition_cached; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1862551275 - ) - @Export("type") - public int type; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("VarpDefinition_archive") + public static AbstractArchive VarpDefinition_archive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("VarpDefinition_cached") + static EvictingDualNodeHashTable VarpDefinition_cached = new EvictingDualNodeHashTable(64); + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -921079377 + ) + @Export("type") + public int type = 0; - static { - VarpDefinition_cached = new EvictingDualNodeHashTable(64); // L: 12 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1864493120" + ) + @Export("decode") + void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - VarpDefinition() { - this.type = 0; // L: 13 - } // L: 15 + this.decodeNext(var1, var2); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-1194573420" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 29 - if (var2 == 0) { // L: 30 - return; // L: 33 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;IB)V", + garbageValue = "54" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 5) { + this.type = var1.readUnsignedShort(); + } - this.decodeNext(var1, var2); // L: 31 - } - } + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "263828873" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 5) { // L: 36 - this.type = var1.readUnsignedShort(); - } + @ObfuscatedName("ez") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "498467917" + ) + static boolean method4552() { + if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { + while(Client.archiveLoadersDone < Client.archiveLoaders.size()) { + ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoadersDone); + if (!var0.isLoaded()) { + return false; + } - } // L: 38 + ++Client.archiveLoadersDone; + } - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "789122507" - ) - @Export("runWidgetOnLoadListener") - static void runWidgetOnLoadListener(int var0) { - if (var0 != -1) { // L: 3902 - if (class41.loadInterface(var0)) { // L: 3903 - Widget[] var1 = class9.Widget_interfaceComponents[var0]; // L: 3904 - - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 3905 - Widget var3 = var1[var2]; // L: 3906 - if (var3.onLoad != null) { // L: 3907 - ScriptEvent var4 = new ScriptEvent(); // L: 3908 - var4.widget = var3; // L: 3909 - var4.args = var3.onLoad; // L: 3910 - AttackOption.runScript(var4, 5000000); // L: 3911 - } - } - - } - } - } // L: 3914 + return true; + } else { + return true; + } + } } diff --git a/runescape-client/src/main/java/Varps.java b/runescape-client/src/main/java/Varps.java index 84f3ec4e4a..89bad99cda 100644 --- a/runescape-client/src/main/java/Varps.java +++ b/runescape-client/src/main/java/Varps.java @@ -3,138 +3,41 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hc") +@ObfuscatedName("hj") @Implements("Varps") public class Varps { - @ObfuscatedName("h") - @Export("Varps_masks") - static int[] Varps_masks; - @ObfuscatedName("v") - @Export("Varps_temp") - public static int[] Varps_temp; - @ObfuscatedName("x") - @Export("Varps_main") - public static int[] Varps_main; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("musicTrackArchive") - static AbstractArchive musicTrackArchive; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Ldw;" - ) - @Export("pcmPlayerProvider") - static PlayerProvider pcmPlayerProvider; + @ObfuscatedName("n") + @Export("Varps_masks") + static int[] Varps_masks = new int[32]; + @ObfuscatedName("v") + @Export("Varps_temp") + public static int[] Varps_temp; + @ObfuscatedName("d") + @Export("Varps_main") + public static int[] Varps_main; - static { - Varps_masks = new int[32]; // L: 6 - int var0 = 2; // L: 9 + static { + int var0 = 2; - for (int var1 = 0; var1 < 32; ++var1) { // L: 10 - Varps_masks[var1] = var0 - 1; // L: 11 - var0 += var0; - } + for(int var1 = 0; var1 < 32; ++var1) { + Varps_masks[var1] = var0 - 1; + var0 += var0; + } - Varps_temp = new int[4000]; - Varps_main = new int[4000]; - } + Varps_temp = new int[4000]; + Varps_main = new int[4000]; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(CI)B", - garbageValue = "-1388919463" - ) - @Export("charToByteCp1252") - public static byte charToByteCp1252(char var0) { - byte var1; - if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) { // L: 12 - var1 = (byte)var0; - } else if (var0 == 8364) { // L: 13 - var1 = -128; - } else if (var0 == 8218) { // L: 14 - var1 = -126; - } else if (var0 == 402) { // L: 15 - var1 = -125; - } else if (var0 == 8222) { // L: 16 - var1 = -124; - } else if (var0 == 8230) { // L: 17 - var1 = -123; - } else if (var0 == 8224) { // L: 18 - var1 = -122; - } else if (var0 == 8225) { // L: 19 - var1 = -121; - } else if (var0 == 710) { // L: 20 - var1 = -120; - } else if (var0 == 8240) { // L: 21 - var1 = -119; - } else if (var0 == 352) { // L: 22 - var1 = -118; - } else if (var0 == 8249) { // L: 23 - var1 = -117; - } else if (var0 == 338) { // L: 24 - var1 = -116; - } else if (var0 == 381) { // L: 25 - var1 = -114; - } else if (var0 == 8216) { // L: 26 - var1 = -111; - } else if (var0 == 8217) { - var1 = -110; // L: 27 - } else if (var0 == 8220) { // L: 28 - var1 = -109; - } else if (var0 == 8221) { // L: 29 - var1 = -108; - } else if (var0 == 8226) { // L: 30 - var1 = -107; - } else if (var0 == 8211) { // L: 31 - var1 = -106; - } else if (var0 == 8212) { // L: 32 - var1 = -105; - } else if (var0 == 732) { // L: 33 - var1 = -104; - } else if (var0 == 8482) { // L: 34 - var1 = -103; - } else if (var0 == 353) { // L: 35 - var1 = -102; - } else if (var0 == 8250) { // L: 36 - var1 = -101; - } else if (var0 == 339) { // L: 37 - var1 = -100; - } else if (var0 == 382) { // L: 38 - var1 = -98; - } else if (var0 == 376) { // L: 39 - var1 = -97; - } else { - var1 = 63; // L: 40 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IZIZI)V", + garbageValue = "1823742662" + ) + @Export("sortWorldList") + static void sortWorldList(int var0, boolean var1, int var2, boolean var3) { + if (World.World_worlds != null) { + WorldMapLabelSize.doWorldSorting(0, World.World_worlds.length - 1, var0, var1, var2, var3); + } - return var1; // L: 41 - } - - @ObfuscatedName("gd") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZB)V", - garbageValue = "-106" - ) - @Export("drawLoadingMessage") - static final void drawLoadingMessage(String var0, boolean var1) { - if (Client.showLoadingMessages) { // L: 4285 - byte var2 = 4; // L: 4286 - int var3 = var2 + 6; // L: 4287 - int var4 = var2 + 6; // L: 4288 - int var5 = WorldMapLabelSize.fontPlain12.lineWidth(var0, 250); // L: 4289 - int var6 = WorldMapLabelSize.fontPlain12.lineCount(var0, 250) * 13; // L: 4290 - Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var5 + var2 + var2, var6 + var2 + var2, 0); // L: 4291 - Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var6 + var2, 16777215); // L: 4292 - WorldMapLabelSize.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); // L: 4293 - Frames.method3352(var3 - var2, var4 - var2, var5 + var2 + var2, var2 + var6 + var2); // L: 4294 - if (var1) { // L: 4295 - WorldMapIcon_0.rasterProvider.drawFull(0, 0); // L: 4296 - } else { - Strings.method4157(var3, var4, var5, var6); // L: 4299 - } - - } - } // L: 4301 + } } diff --git a/runescape-client/src/main/java/VertexNormal.java b/runescape-client/src/main/java/VertexNormal.java index aaabe2a9de..73b040fb9d 100644 --- a/runescape-client/src/main/java/VertexNormal.java +++ b/runescape-client/src/main/java/VertexNormal.java @@ -4,91 +4,115 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("eb") +@ObfuscatedName("eh") @Implements("VertexNormal") public class VertexNormal { - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("ItemDefinition_modelArchive") - static AbstractArchive ItemDefinition_modelArchive; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1772389683 - ) - @Export("x") - int x; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1686806459 - ) - @Export("y") - int y; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 987567799 - ) - @Export("z") - int z; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -730921547 - ) - @Export("magnitude") - int magnitude; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgg;" + ) + @Export("midiPcmStream") + public static MidiPcmStream midiPcmStream; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1584172969 + ) + @Export("gameCyclesToDo") + protected static int gameCyclesToDo; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1064061579 + ) + @Export("x") + int x; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -178122101 + ) + @Export("y") + int y; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1860163805 + ) + @Export("z") + int z; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -525129943 + ) + @Export("magnitude") + int magnitude; - VertexNormal() { - } // L: 9 + VertexNormal() { + } - @ObfuscatedSignature( - descriptor = "(Leb;)V" - ) - VertexNormal(VertexNormal var1) { - this.x = var1.x; // L: 12 - this.y = var1.y; // L: 13 - this.z = var1.z; // L: 14 - this.magnitude = var1.magnitude; // L: 15 - } // L: 16 + @ObfuscatedSignature( + descriptor = "(Leh;)V" + ) + VertexNormal(VertexNormal var1) { + this.x = var1.x; + this.y = var1.y; + this.z = var1.z; + this.magnitude = var1.magnitude; + } - @ObfuscatedName("iy") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2064562109" - ) - static final void method3068() { - boolean var0 = false; // L: 8473 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BI)Ljava/lang/String;", + garbageValue = "1971758922" + ) + public static String method3163(byte[] var0) { + int var2 = var0.length; + StringBuilder var3 = new StringBuilder(); - while (!var0) { // L: 8474 - var0 = true; // L: 8475 + for(int var4 = 0; var4 < var2 + 0; var4 += 3) { + int var5 = var0[var4] & 255; + var3.append(class300.field3688[var5 >>> 2]); + if (var4 < var2 - 1) { + int var6 = var0[var4 + 1] & 255; + var3.append(class300.field3688[(var5 & 3) << 4 | var6 >>> 4]); + if (var4 < var2 - 2) { + int var7 = var0[var4 + 2] & 255; + var3.append(class300.field3688[(var6 & 15) << 2 | var7 >>> 6]).append(class300.field3688[var7 & 63]); + } else { + var3.append(class300.field3688[(var6 & 15) << 2]).append("="); + } + } else { + var3.append(class300.field3688[(var5 & 3) << 4]).append("=="); + } + } - for (int var1 = 0; var1 < Client.menuOptionsCount - 1; ++var1) { // L: 8476 - if (Client.menuOpcodes[var1] < 1000 && Client.menuOpcodes[var1 + 1] > 1000) { // L: 8477 - String var2 = Client.menuTargets[var1]; // L: 8478 - Client.menuTargets[var1] = Client.menuTargets[var1 + 1]; // L: 8479 - Client.menuTargets[var1 + 1] = var2; // L: 8480 - String var3 = Client.menuActions[var1]; // L: 8481 - Client.menuActions[var1] = Client.menuActions[var1 + 1]; // L: 8482 - Client.menuActions[var1 + 1] = var3; // L: 8483 - int var4 = Client.menuOpcodes[var1]; // L: 8484 - Client.menuOpcodes[var1] = Client.menuOpcodes[var1 + 1]; // L: 8485 - Client.menuOpcodes[var1 + 1] = var4; // L: 8486 - var4 = Client.menuArguments1[var1]; // L: 8487 - Client.menuArguments1[var1] = Client.menuArguments1[var1 + 1]; // L: 8488 - Client.menuArguments1[var1 + 1] = var4; // L: 8489 - var4 = Client.menuArguments2[var1]; // L: 8490 - Client.menuArguments2[var1] = Client.menuArguments2[var1 + 1]; // L: 8491 - Client.menuArguments2[var1 + 1] = var4; // L: 8492 - var4 = Client.menuIdentifiers[var1]; // L: 8493 - Client.menuIdentifiers[var1] = Client.menuIdentifiers[var1 + 1]; // L: 8494 - Client.menuIdentifiers[var1 + 1] = var4; // L: 8495 - boolean var5 = Client.menuShiftClick[var1]; // L: 8496 - Client.menuShiftClick[var1] = Client.menuShiftClick[var1 + 1]; // L: 8497 - Client.menuShiftClick[var1 + 1] = var5; // L: 8498 - var0 = false; // L: 8499 - } - } - } + String var1 = var3.toString(); + return var1; + } - } // L: 8503 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "([BIII)Ljava/lang/String;", + garbageValue = "-1881073597" + ) + @Export("decodeStringCp1252") + public static String decodeStringCp1252(byte[] var0, int var1, int var2) { + char[] var3 = new char[var2]; + int var4 = 0; + + for(int var5 = 0; var5 < var2; ++var5) { + int var6 = var0[var5 + var1] & 255; + if (var6 != 0) { + if (var6 >= 128 && var6 < 160) { + char var7 = class298.cp1252AsciiExtension[var6 - 128]; + if (var7 == 0) { + var7 = '?'; + } + + var6 = var7; + } + + var3[var4++] = (char)var6; + } + } + + return new String(var3, 0, var4); + } } diff --git a/runescape-client/src/main/java/VerticalAlignment.java b/runescape-client/src/main/java/VerticalAlignment.java index 08ac8f2f81..d28dc51a34 100644 --- a/runescape-client/src/main/java/VerticalAlignment.java +++ b/runescape-client/src/main/java/VerticalAlignment.java @@ -4,57 +4,51 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("it") +@ObfuscatedName("ie") @Implements("VerticalAlignment") public enum VerticalAlignment implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - field3229(1, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - @Export("VerticalAlignment_centered") - VerticalAlignment_centered(2, 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - field3225(0, 2); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lie;" + ) + field3236(0, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lie;" + ) + @Export("VerticalAlignment_centered") + VerticalAlignment_centered(2, 1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lie;" + ) + field3234(1, 2); - @ObfuscatedName("bi") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("worldSelectLeftSprite") - static IndexedSprite worldSelectLeftSprite; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -525110533 - ) - @Export("value") - public final int value; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1435294299 - ) - @Export("id") - final int id; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -876494083 + ) + @Export("value") + public final int value; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 405688727 + ) + @Export("id") + final int id; - VerticalAlignment(int var3, int var4) { - this.value = var3; // L: 14 - this.id = var4; // L: 15 - } // L: 16 + VerticalAlignment(int var3, int var4) { + this.value = var3; + this.id = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 19 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } } diff --git a/runescape-client/src/main/java/ViewportMouse.java b/runescape-client/src/main/java/ViewportMouse.java index 7eced93120..0d7df8f6e7 100644 --- a/runescape-client/src/main/java/ViewportMouse.java +++ b/runescape-client/src/main/java/ViewportMouse.java @@ -1,90 +1,119 @@ -import java.awt.FontMetrics; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ee") +@ObfuscatedName("eb") @Implements("ViewportMouse") public class ViewportMouse { - @ObfuscatedName("h") - @Export("ViewportMouse_isInViewport") - public static boolean ViewportMouse_isInViewport; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1491760047 - ) - @Export("ViewportMouse_x") - static int ViewportMouse_x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1851429051 - ) - @Export("ViewportMouse_y") - static int ViewportMouse_y; - @ObfuscatedName("w") - @Export("ViewportMouse_false0") - static boolean ViewportMouse_false0; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1457304063 - ) - static int field1758; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 2019363501 - ) - static int field1759; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 378915017 - ) - static int field1765; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1817647009 - ) - static int field1761; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -344047059 - ) - static int field1762; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1994634683 - ) - @Export("ViewportMouse_entityCount") - public static int ViewportMouse_entityCount; - @ObfuscatedName("i") - @Export("ViewportMouse_entityTags") - public static long[] ViewportMouse_entityTags; - @ObfuscatedName("au") - @Export("loginScreenFontMetrics") - static FontMetrics loginScreenFontMetrics; - @ObfuscatedName("gy") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("redHintArrowSprite") - static SpritePixels redHintArrowSpritePixels; + @ObfuscatedName("n") + @Export("ViewportMouse_isInViewport") + public static boolean ViewportMouse_isInViewport = false; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -174867873 + ) + @Export("ViewportMouse_x") + static int ViewportMouse_x = 0; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1503136055 + ) + @Export("ViewportMouse_y") + static int ViewportMouse_y = 0; + @ObfuscatedName("c") + @Export("ViewportMouse_false0") + static boolean ViewportMouse_false0 = false; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1632949407 + ) + static int field1757; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = -1445923815 + ) + static int field1758; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -822732275 + ) + static int field1759; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -1825654461 + ) + @Export("ViewportMouse_entityCount") + public static int ViewportMouse_entityCount = 0; + @ObfuscatedName("k") + @Export("ViewportMouse_entityTags") + public static long[] ViewportMouse_entityTags = new long[1000]; + @ObfuscatedName("dz") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive9") + static Archive archive9; - static { - ViewportMouse_isInViewport = false; // L: 4 - ViewportMouse_x = 0; // L: 5 - ViewportMouse_y = 0; // L: 6 - ViewportMouse_false0 = false; // L: 7 - ViewportMouse_entityCount = 0; // L: 17 - ViewportMouse_entityTags = new long[1000]; // L: 18 - } + @ObfuscatedName("fi") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "598296470" + ) + static int method3161() { + if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { + int var0 = 0; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lgw;", - garbageValue = "12" - ) - static LoginPacket[] method3062() { - return new LoginPacket[]{LoginPacket.field2334, LoginPacket.field2332, LoginPacket.field2336, LoginPacket.field2339, LoginPacket.field2335, LoginPacket.field2337}; // L: 22 - } + for(int var1 = 0; var1 <= Client.archiveLoadersDone; ++var1) { + var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; + } + + return var0 * 10000 / Client.field934; + } else { + return 10000; + } + } + + @ObfuscatedName("fh") + @ObfuscatedSignature( + descriptor = "(IZZZI)Liy;", + garbageValue = "1822401208" + ) + @Export("newArchive") + static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { + ArchiveDisk var4 = null; + if (JagexCache.JagexCache_dat2File != null) { + var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, WorldMapEvent.JagexCache_idxFiles[var0], 1000000); + } + + return new Archive(var4, WorldMapScaleHandler.masterDisk, var0, var1, var2, var3); + } + + @ObfuscatedName("iy") + @ObfuscatedSignature( + descriptor = "(IIIIIIIII)V", + garbageValue = "-1069741089" + ) + @Export("drawWidgets") + static final void drawWidgets(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + if (WorldMapCacheName.loadInterface(var0)) { + WorldMapAreaData.field362 = null; + class41.drawInterface(DefaultsGroup.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6, var7); + if (WorldMapAreaData.field362 != null) { + class41.drawInterface(WorldMapAreaData.field362, -1412584499, var1, var2, var3, var4, WorldMapIcon_1.field218, GrandExchangeOfferOwnWorldComparator.field656, var7); + WorldMapAreaData.field362 = null; + } + + } else { + if (var7 != -1) { + Client.field816[var7] = true; + } else { + for(int var8 = 0; var8 < 100; ++var8) { + Client.field816[var8] = true; + } + } + + } + } } diff --git a/runescape-client/src/main/java/VorbisCodebook.java b/runescape-client/src/main/java/VorbisCodebook.java index 8e9cdf48f9..0c6f8bffcd 100644 --- a/runescape-client/src/main/java/VorbisCodebook.java +++ b/runescape-client/src/main/java/VorbisCodebook.java @@ -2,256 +2,235 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("db") +@ObfuscatedName("dd") @Implements("VorbisCodebook") public class VorbisCodebook { - @ObfuscatedName("h") - @Export("dimensions") - int dimensions; - @ObfuscatedName("v") - @Export("entries") - int entries; - @ObfuscatedName("x") - @Export("lengthMap") - int[] lengthMap; - @ObfuscatedName("w") - int[] field1361; - @ObfuscatedName("t") - float[][] field1360; - @ObfuscatedName("j") - @Export("keys") - int[] keys; + @ObfuscatedName("n") + @Export("dimensions") + int dimensions; + @ObfuscatedName("v") + @Export("entries") + int entries; + @ObfuscatedName("d") + @Export("lengthMap") + int[] lengthMap; + @ObfuscatedName("c") + int[] field1359; + @ObfuscatedName("y") + float[][] field1358; + @ObfuscatedName("h") + @Export("keys") + int[] keys; - VorbisCodebook() { - VorbisSample.readBits(24); // L: 41 - this.dimensions = VorbisSample.readBits(16); // L: 42 - this.entries = VorbisSample.readBits(24); // L: 43 - this.lengthMap = new int[this.entries]; // L: 44 - boolean var1 = VorbisSample.readBit() != 0; // L: 45 - int var2; - int var3; - int var5; - if (var1) { // L: 46 - var2 = 0; // L: 47 + VorbisCodebook() { + VorbisSample.readBits(24); + this.dimensions = VorbisSample.readBits(16); + this.entries = VorbisSample.readBits(24); + this.lengthMap = new int[this.entries]; + boolean var1 = VorbisSample.readBit() != 0; + int var2; + int var3; + int var5; + if (var1) { + var2 = 0; - for (var3 = VorbisSample.readBits(5) + 1; var2 < this.entries; ++var3) { // L: 48 49 52 - int var4 = VorbisSample.readBits(IgnoreList.iLog(this.entries - var2)); // L: 50 + for(var3 = VorbisSample.readBits(5) + 1; var2 < this.entries; ++var3) { + int var4 = VorbisSample.readBits(Coord.iLog(this.entries - var2)); - for (var5 = 0; var5 < var4; ++var5) { // L: 51 - this.lengthMap[var2++] = var3; - } - } - } else { - boolean var14 = VorbisSample.readBit() != 0; // L: 56 + for(var5 = 0; var5 < var4; ++var5) { + this.lengthMap[var2++] = var3; + } + } + } else { + boolean var14 = VorbisSample.readBit() != 0; - for (var3 = 0; var3 < this.entries; ++var3) { // L: 57 - if (var14 && VorbisSample.readBit() == 0) { // L: 58 - this.lengthMap[var3] = 0; - } else { - this.lengthMap[var3] = VorbisSample.readBits(5) + 1; // L: 59 - } - } - } + for(var3 = 0; var3 < this.entries; ++var3) { + if (var14 && VorbisSample.readBit() == 0) { + this.lengthMap[var3] = 0; + } else { + this.lengthMap[var3] = VorbisSample.readBits(5) + 1; + } + } + } - this.method2396(); // L: 62 - var2 = VorbisSample.readBits(4); // L: 63 - if (var2 > 0) { // L: 64 - float var15 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); // L: 65 - float var16 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); // L: 66 - var5 = VorbisSample.readBits(4) + 1; // L: 67 - boolean var6 = VorbisSample.readBit() != 0; // L: 68 - int var7; - if (var2 == 1) { // L: 70 - var7 = mapType1QuantValues(this.entries, this.dimensions); - } else { - var7 = this.entries * this.dimensions; // L: 71 - } + this.method2524(); + var2 = VorbisSample.readBits(4); + if (var2 > 0) { + float var15 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); + float var16 = VorbisSample.float32Unpack(VorbisSample.readBits(32)); + var5 = VorbisSample.readBits(4) + 1; + boolean var6 = VorbisSample.readBit() != 0; + int var7; + if (var2 == 1) { + var7 = mapType1QuantValues(this.entries, this.dimensions); + } else { + var7 = this.entries * this.dimensions; + } - this.field1361 = new int[var7]; // L: 72 + this.field1359 = new int[var7]; - int var8; - for (var8 = 0; var8 < var7; ++var8) { // L: 73 - this.field1361[var8] = VorbisSample.readBits(var5); - } + int var8; + for(var8 = 0; var8 < var7; ++var8) { + this.field1359[var8] = VorbisSample.readBits(var5); + } - this.field1360 = new float[this.entries][this.dimensions]; // L: 74 - float var9; - int var10; - int var11; - if (var2 == 1) { // L: 75 - for (var8 = 0; var8 < this.entries; ++var8) { // L: 76 - var9 = 0.0F; // L: 77 - var10 = 1; // L: 78 + this.field1358 = new float[this.entries][this.dimensions]; + float var9; + int var10; + int var11; + if (var2 == 1) { + for(var8 = 0; var8 < this.entries; ++var8) { + var9 = 0.0F; + var10 = 1; - for (var11 = 0; var11 < this.dimensions; ++var11) { // L: 79 - int var12 = var8 / var10 % var7; // L: 80 - float var13 = (float)this.field1361[var12] * var16 + var15 + var9; // L: 81 - this.field1360[var8][var11] = var13; // L: 82 - if (var6) { // L: 83 - var9 = var13; - } + for(var11 = 0; var11 < this.dimensions; ++var11) { + int var12 = var8 / var10 % var7; + float var13 = (float)this.field1359[var12] * var16 + var15 + var9; + this.field1358[var8][var11] = var13; + if (var6) { + var9 = var13; + } - var10 *= var7; // L: 84 - } - } - } else { - for (var8 = 0; var8 < this.entries; ++var8) { // L: 89 - var9 = 0.0F; // L: 90 - var10 = var8 * this.dimensions; // L: 91 + var10 *= var7; + } + } + } else { + for(var8 = 0; var8 < this.entries; ++var8) { + var9 = 0.0F; + var10 = var8 * this.dimensions; - for (var11 = 0; var11 < this.dimensions; ++var11) { // L: 92 - float var17 = (float)this.field1361[var10] * var16 + var15 + var9; // L: 93 - this.field1360[var8][var11] = var17; // L: 94 - if (var6) { // L: 95 - var9 = var17; - } + for(var11 = 0; var11 < this.dimensions; ++var11) { + float var17 = (float)this.field1359[var10] * var16 + var15 + var9; + this.field1358[var8][var11] = var17; + if (var6) { + var9 = var17; + } - ++var10; // L: 96 - } - } - } - } + ++var10; + } + } + } + } - } // L: 101 + } - @ObfuscatedName("v") - void method2396() { - int[] var1 = new int[this.entries]; // L: 104 - int[] var2 = new int[33]; // L: 106 + @ObfuscatedName("v") + void method2524() { + int[] var1 = new int[this.entries]; + int[] var2 = new int[33]; - int var3; - int var4; - int var5; - int var6; - int var7; - int var8; - int var10; - for (var3 = 0; var3 < this.entries; ++var3) { // L: 107 - var4 = this.lengthMap[var3]; // L: 108 - if (var4 != 0) { // L: 109 - var5 = 1 << 32 - var4; // L: 110 - var6 = var2[var4]; // L: 111 - var1[var3] = var6; // L: 112 - int var12; - if ((var6 & var5) != 0) { // L: 114 - var7 = var2[var4 - 1]; // L: 115 - } else { - var7 = var6 | var5; // L: 118 + int var3; + int var4; + int var5; + int var6; + int var7; + int var8; + int var10; + for(var3 = 0; var3 < this.entries; ++var3) { + var4 = this.lengthMap[var3]; + if (var4 != 0) { + var5 = 1 << 32 - var4; + var6 = var2[var4]; + var1[var3] = var6; + int var12; + if ((var6 & var5) != 0) { + var7 = var2[var4 - 1]; + } else { + var7 = var6 | var5; - for (var8 = var4 - 1; var8 >= 1; --var8) { // L: 119 - var12 = var2[var8]; // L: 120 - if (var12 != var6) { // L: 121 - break; - } + for(var8 = var4 - 1; var8 >= 1; --var8) { + var12 = var2[var8]; + if (var12 != var6) { + break; + } - var10 = 1 << 32 - var8; // L: 122 - if ((var12 & var10) != 0) { // L: 123 - var2[var8] = var2[var8 - 1]; // L: 124 - break; // L: 125 - } + var10 = 1 << 32 - var8; + if ((var12 & var10) != 0) { + var2[var8] = var2[var8 - 1]; + break; + } - var2[var8] = var12 | var10; // L: 128 - } - } + var2[var8] = var12 | var10; + } + } - var2[var4] = var7; // L: 134 + var2[var4] = var7; - for (var8 = var4 + 1; var8 <= 32; ++var8) { // L: 135 - var12 = var2[var8]; // L: 136 - if (var12 == var6) { // L: 137 - var2[var8] = var7; - } - } - } - } + for(var8 = var4 + 1; var8 <= 32; ++var8) { + var12 = var2[var8]; + if (var12 == var6) { + var2[var8] = var7; + } + } + } + } - this.keys = new int[8]; // L: 141 - int var11 = 0; // L: 142 + this.keys = new int[8]; + int var11 = 0; - for (var3 = 0; var3 < this.entries; ++var3) { // L: 143 - var4 = this.lengthMap[var3]; // L: 144 - if (var4 != 0) { // L: 145 - var5 = var1[var3]; // L: 146 - var6 = 0; // L: 147 + for(var3 = 0; var3 < this.entries; ++var3) { + var4 = this.lengthMap[var3]; + if (var4 != 0) { + var5 = var1[var3]; + var6 = 0; - for (var7 = 0; var7 < var4; ++var7) { // L: 148 - var8 = Integer.MIN_VALUE >>> var7; // L: 149 - if ((var5 & var8) != 0) { // L: 150 - if (this.keys[var6] == 0) { // L: 151 - this.keys[var6] = var11; - } + for(var7 = 0; var7 < var4; ++var7) { + var8 = Integer.MIN_VALUE >>> var7; + if ((var5 & var8) != 0) { + if (this.keys[var6] == 0) { + this.keys[var6] = var11; + } - var6 = this.keys[var6]; // L: 152 - } else { - ++var6; // L: 155 - } + var6 = this.keys[var6]; + } else { + ++var6; + } - if (var6 >= this.keys.length) { // L: 157 - int[] var9 = new int[this.keys.length * 2]; // L: 158 + if (var6 >= this.keys.length) { + int[] var9 = new int[this.keys.length * 2]; - for (var10 = 0; var10 < this.keys.length; ++var10) { // L: 159 - var9[var10] = this.keys[var10]; - } + for(var10 = 0; var10 < this.keys.length; ++var10) { + var9[var10] = this.keys[var10]; + } - this.keys = var9; // L: 160 - } + this.keys = var9; + } - var8 >>>= 1; // L: 162 - } + var8 >>>= 1; + } - this.keys[var6] = ~var3; // L: 164 - if (var6 >= var11) { // L: 165 - var11 = var6 + 1; - } - } - } + this.keys[var6] = ~var3; + if (var6 >= var11) { + var11 = var6 + 1; + } + } + } - } // L: 167 + } - @ObfuscatedName("x") - int method2402() { - int var1; - for (var1 = 0; this.keys[var1] >= 0; var1 = VorbisSample.readBit() != 0 ? this.keys[var1] : var1 + 1) { // L: 170 171 - } + @ObfuscatedName("d") + int method2510() { + int var1; + for(var1 = 0; this.keys[var1] >= 0; var1 = VorbisSample.readBit() != 0 ? this.keys[var1] : var1 + 1) { + ; + } - return ~this.keys[var1]; // L: 172 - } + return ~this.keys[var1]; + } - @ObfuscatedName("w") - float[] method2400() { - return this.field1360[this.method2402()]; // L: 176 - } + @ObfuscatedName("c") + float[] method2511() { + return this.field1358[this.method2510()]; + } - @ObfuscatedName("h") - @Export("mapType1QuantValues") - static int mapType1QuantValues(int var0, int var1) { - int var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; // L: 16 + @ObfuscatedName("n") + @Export("mapType1QuantValues") + static int mapType1QuantValues(int var0, int var1) { + int var2; + for(var2 = (int)Math.pow((double)var0, 1.0D / (double)var1) + 1; class39.method644(var2, var1) > var0; --var2) { + ; + } - while (true) { - int var4 = var2; // L: 19 - int var5 = var1; // L: 20 - - int var6; - for (var6 = 1; var5 > 1; var5 >>= 1) { // L: 22 23 26 - if ((var5 & 1) != 0) { // L: 24 - var6 *= var4; - } - - var4 *= var4; // L: 25 - } - - int var3; - if (var5 == 1) { // L: 28 - var3 = var6 * var4; // L: 29 - } else { - var3 = var6; // L: 32 - } - - if (var3 <= var0) { // L: 34 - return var2; // L: 37 - } - - --var2; // L: 35 - } - } + return var2; + } } diff --git a/runescape-client/src/main/java/VorbisFloor.java b/runescape-client/src/main/java/VorbisFloor.java index 7889491ebd..cad120cd48 100644 --- a/runescape-client/src/main/java/VorbisFloor.java +++ b/runescape-client/src/main/java/VorbisFloor.java @@ -2,321 +2,316 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dm") +@ObfuscatedName("dj") @Implements("VorbisFloor") public class VorbisFloor { - @ObfuscatedName("h") - static final int[] field1413; - @ObfuscatedName("v") - @Export("VorbisFloor_decibelStatics") - static final float[] VorbisFloor_decibelStatics; - @ObfuscatedName("z") - static int[] field1418; - @ObfuscatedName("u") - static int[] field1419; - @ObfuscatedName("e") - static boolean[] field1409; - @ObfuscatedName("x") - int[] field1411; - @ObfuscatedName("w") - @Export("multiplier") - int multiplier; - @ObfuscatedName("t") - @Export("partitionClassList") - int[] partitionClassList; - @ObfuscatedName("j") - @Export("classDimensions") - int[] classDimensions; - @ObfuscatedName("n") - @Export("classSubClasses") - int[] classSubClasses; - @ObfuscatedName("p") - @Export("classMasterbooks") - int[] classMasterbooks; - @ObfuscatedName("l") - @Export("subclassBooks") - int[][] subclassBooks; + @ObfuscatedName("n") + static final int[] field1411 = new int[]{256, 128, 86, 64}; + @ObfuscatedName("v") + @Export("VorbisFloor_decibelStatics") + static final float[] VorbisFloor_decibelStatics = new float[]{1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F}; + @ObfuscatedName("l") + static int[] field1415; + @ObfuscatedName("s") + static int[] field1405; + @ObfuscatedName("b") + static boolean[] field1416; + @ObfuscatedName("d") + int[] field1407; + @ObfuscatedName("c") + @Export("multiplier") + int multiplier; + @ObfuscatedName("y") + @Export("partitionClassList") + int[] partitionClassList; + @ObfuscatedName("h") + @Export("classDimensions") + int[] classDimensions; + @ObfuscatedName("z") + @Export("classSubClasses") + int[] classSubClasses; + @ObfuscatedName("e") + @Export("classMasterbooks") + int[] classMasterbooks; + @ObfuscatedName("q") + @Export("subclassBooks") + int[][] subclassBooks; - static { - field1413 = new int[]{256, 128, 86, 64}; // L: 8 - VorbisFloor_decibelStatics = new float[]{1.0649863E-7F, 1.1341951E-7F, 1.2079015E-7F, 1.2863978E-7F, 1.369995E-7F, 1.459025E-7F, 1.5538409E-7F, 1.6548181E-7F, 1.7623574E-7F, 1.8768856E-7F, 1.998856E-7F, 2.128753E-7F, 2.2670913E-7F, 2.4144197E-7F, 2.5713223E-7F, 2.7384212E-7F, 2.9163792E-7F, 3.1059022E-7F, 3.307741E-7F, 3.5226967E-7F, 3.7516213E-7F, 3.995423E-7F, 4.255068E-7F, 4.5315863E-7F, 4.8260745E-7F, 5.1397E-7F, 5.4737063E-7F, 5.829419E-7F, 6.208247E-7F, 6.611694E-7F, 7.041359E-7F, 7.4989464E-7F, 7.98627E-7F, 8.505263E-7F, 9.057983E-7F, 9.646621E-7F, 1.0273513E-6F, 1.0941144E-6F, 1.1652161E-6F, 1.2409384E-6F, 1.3215816E-6F, 1.4074654E-6F, 1.4989305E-6F, 1.5963394E-6F, 1.7000785E-6F, 1.8105592E-6F, 1.9282195E-6F, 2.053526E-6F, 2.1869757E-6F, 2.3290977E-6F, 2.4804558E-6F, 2.6416496E-6F, 2.813319E-6F, 2.9961443E-6F, 3.1908505E-6F, 3.39821E-6F, 3.619045E-6F, 3.8542307E-6F, 4.1047006E-6F, 4.371447E-6F, 4.6555283E-6F, 4.958071E-6F, 5.280274E-6F, 5.623416E-6F, 5.988857E-6F, 6.3780467E-6F, 6.7925284E-6F, 7.2339453E-6F, 7.704048E-6F, 8.2047E-6F, 8.737888E-6F, 9.305725E-6F, 9.910464E-6F, 1.0554501E-5F, 1.1240392E-5F, 1.1970856E-5F, 1.2748789E-5F, 1.3577278E-5F, 1.4459606E-5F, 1.5399271E-5F, 1.6400005E-5F, 1.7465769E-5F, 1.8600793E-5F, 1.9809577E-5F, 2.1096914E-5F, 2.2467912E-5F, 2.3928002E-5F, 2.5482977E-5F, 2.7139005E-5F, 2.890265E-5F, 3.078091E-5F, 3.2781227E-5F, 3.4911533E-5F, 3.718028E-5F, 3.9596467E-5F, 4.2169668E-5F, 4.491009E-5F, 4.7828602E-5F, 5.0936775E-5F, 5.424693E-5F, 5.7772202E-5F, 6.152657E-5F, 6.552491E-5F, 6.9783084E-5F, 7.4317984E-5F, 7.914758E-5F, 8.429104E-5F, 8.976875E-5F, 9.560242E-5F, 1.0181521E-4F, 1.0843174E-4F, 1.1547824E-4F, 1.2298267E-4F, 1.3097477E-4F, 1.3948625E-4F, 1.4855085E-4F, 1.5820454E-4F, 1.6848555E-4F, 1.7943469E-4F, 1.9109536E-4F, 2.0351382E-4F, 2.167393E-4F, 2.3082423E-4F, 2.4582449E-4F, 2.6179955E-4F, 2.7881275E-4F, 2.9693157E-4F, 3.1622787E-4F, 3.3677815E-4F, 3.5866388E-4F, 3.8197188E-4F, 4.0679457E-4F, 4.3323037E-4F, 4.613841E-4F, 4.913675E-4F, 5.2329927E-4F, 5.573062E-4F, 5.935231E-4F, 6.320936E-4F, 6.731706E-4F, 7.16917E-4F, 7.635063E-4F, 8.1312325E-4F, 8.6596457E-4F, 9.2223985E-4F, 9.821722E-4F, 0.0010459992F, 0.0011139743F, 0.0011863665F, 0.0012634633F, 0.0013455702F, 0.0014330129F, 0.0015261382F, 0.0016253153F, 0.0017309374F, 0.0018434235F, 0.0019632196F, 0.0020908006F, 0.0022266726F, 0.0023713743F, 0.0025254795F, 0.0026895993F, 0.0028643848F, 0.0030505287F, 0.003248769F, 0.0034598925F, 0.0036847359F, 0.0039241905F, 0.0041792067F, 0.004450795F, 0.004740033F, 0.005048067F, 0.0053761187F, 0.005725489F, 0.0060975635F, 0.0064938175F, 0.0069158226F, 0.0073652514F, 0.007843887F, 0.008353627F, 0.008896492F, 0.009474637F, 0.010090352F, 0.01074608F, 0.011444421F, 0.012188144F, 0.012980198F, 0.013823725F, 0.014722068F, 0.015678791F, 0.016697686F, 0.017782796F, 0.018938422F, 0.020169148F, 0.021479854F, 0.022875736F, 0.02436233F, 0.025945531F, 0.027631618F, 0.029427277F, 0.031339627F, 0.03337625F, 0.035545226F, 0.037855156F, 0.0403152F, 0.042935107F, 0.045725275F, 0.048696756F, 0.05186135F, 0.05523159F, 0.05882085F, 0.062643364F, 0.06671428F, 0.07104975F, 0.075666964F, 0.08058423F, 0.08582105F, 0.09139818F, 0.097337745F, 0.1036633F, 0.11039993F, 0.11757434F, 0.12521498F, 0.13335215F, 0.14201812F, 0.15124726F, 0.16107617F, 0.1715438F, 0.18269168F, 0.19456401F, 0.20720787F, 0.22067343F, 0.23501402F, 0.25028655F, 0.26655158F, 0.28387362F, 0.3023213F, 0.32196787F, 0.34289113F, 0.36517414F, 0.3889052F, 0.41417846F, 0.44109413F, 0.4697589F, 0.50028646F, 0.53279793F, 0.5674221F, 0.6042964F, 0.64356697F, 0.6853896F, 0.72993004F, 0.777365F, 0.8278826F, 0.88168305F, 0.9389798F, 1.0F}; // L: 9 - } + VorbisFloor() { + int var1 = VorbisSample.readBits(16); + if (var1 != 1) { + throw new RuntimeException(); + } else { + int var2 = VorbisSample.readBits(5); + int var3 = 0; + this.partitionClassList = new int[var2]; - VorbisFloor() { - int var1 = VorbisSample.readBits(16); // L: 108 - if (var1 != 1) { // L: 109 - throw new RuntimeException(); // L: 110 - } else { - int var2 = VorbisSample.readBits(5); // L: 112 - int var3 = 0; // L: 113 - this.partitionClassList = new int[var2]; // L: 114 + int var4; + int var5; + for(var4 = 0; var4 < var2; ++var4) { + var5 = VorbisSample.readBits(4); + this.partitionClassList[var4] = var5; + if (var5 >= var3) { + var3 = var5 + 1; + } + } - int var4; - int var5; - for (var4 = 0; var4 < var2; ++var4) { // L: 115 - var5 = VorbisSample.readBits(4); // L: 116 - this.partitionClassList[var4] = var5; // L: 117 - if (var5 >= var3) { // L: 118 - var3 = var5 + 1; - } - } + this.classDimensions = new int[var3]; + this.classSubClasses = new int[var3]; + this.classMasterbooks = new int[var3]; + this.subclassBooks = new int[var3][]; - this.classDimensions = new int[var3]; // L: 120 - this.classSubClasses = new int[var3]; // L: 121 - this.classMasterbooks = new int[var3]; // L: 122 - this.subclassBooks = new int[var3][]; // L: 123 + int var7; + for(var4 = 0; var4 < var3; ++var4) { + this.classDimensions[var4] = VorbisSample.readBits(3) + 1; + var5 = this.classSubClasses[var4] = VorbisSample.readBits(2); + if (var5 != 0) { + this.classMasterbooks[var4] = VorbisSample.readBits(8); + } - int var7; - for (var4 = 0; var4 < var3; ++var4) { // L: 124 - this.classDimensions[var4] = VorbisSample.readBits(3) + 1; // L: 125 - var5 = this.classSubClasses[var4] = VorbisSample.readBits(2); // L: 126 - if (var5 != 0) { // L: 127 - this.classMasterbooks[var4] = VorbisSample.readBits(8); - } + var5 = 1 << var5; + int[] var9 = new int[var5]; + this.subclassBooks[var4] = var9; - var5 = 1 << var5; // L: 128 - int[] var9 = new int[var5]; // L: 129 - this.subclassBooks[var4] = var9; // L: 130 + for(var7 = 0; var7 < var5; ++var7) { + var9[var7] = VorbisSample.readBits(8) - 1; + } + } - for (var7 = 0; var7 < var5; ++var7) { // L: 131 - var9[var7] = VorbisSample.readBits(8) - 1; - } - } + this.multiplier = VorbisSample.readBits(2) + 1; + var4 = VorbisSample.readBits(4); + var5 = 2; - this.multiplier = VorbisSample.readBits(2) + 1; // L: 133 - var4 = VorbisSample.readBits(4); // L: 134 - var5 = 2; // L: 135 + int var6; + for(var6 = 0; var6 < var2; ++var6) { + var5 += this.classDimensions[this.partitionClassList[var6]]; + } - int var6; - for (var6 = 0; var6 < var2; ++var6) { // L: 136 - var5 += this.classDimensions[this.partitionClassList[var6]]; - } + this.field1407 = new int[var5]; + this.field1407[0] = 0; + this.field1407[1] = 1 << var4; + var5 = 2; - this.field1411 = new int[var5]; // L: 137 - this.field1411[0] = 0; // L: 138 - this.field1411[1] = 1 << var4; // L: 139 - var5 = 2; // L: 140 + for(var6 = 0; var6 < var2; ++var6) { + var7 = this.partitionClassList[var6]; - for (var6 = 0; var6 < var2; ++var6) { // L: 141 - var7 = this.partitionClassList[var6]; // L: 142 + for(int var8 = 0; var8 < this.classDimensions[var7]; ++var8) { + this.field1407[var5++] = VorbisSample.readBits(var4); + } + } - for (int var8 = 0; var8 < this.classDimensions[var7]; ++var8) { // L: 143 - this.field1411[var5++] = VorbisSample.readBits(var4); - } - } + if (field1415 == null || field1415.length < var5) { + field1415 = new int[var5]; + field1405 = new int[var5]; + field1416 = new boolean[var5]; + } - if (field1418 == null || field1418.length < var5) { // L: 145 - field1418 = new int[var5]; // L: 146 - field1419 = new int[var5]; // L: 147 - field1409 = new boolean[var5]; // L: 148 - } + } + } - } - } // L: 150 + @ObfuscatedName("d") + int method2586(int var1, int var2, int var3, int var4, int var5) { + int var6 = var4 - var2; + int var7 = var3 - var1; + int var8 = var6 < 0 ? -var6 : var6; + int var9 = (var5 - var1) * var8; + int var10 = var9 / var7; + return var6 < 0 ? var2 - var10 : var10 + var2; + } - @ObfuscatedName("x") - int method2476(int var1, int var2, int var3, int var4, int var5) { - int var6 = var4 - var2; // L: 50 - int var7 = var3 - var1; // L: 51 - int var8 = var6 < 0 ? -var6 : var6; // L: 52 - int var9 = (var5 - var1) * var8; // L: 53 - int var10 = var9 / var7; // L: 54 - return var6 < 0 ? var2 - var10 : var10 + var2; // L: 55 - } + @ObfuscatedName("c") + void method2606(int var1, int var2, int var3, int var4, float[] var5, int var6) { + int var7 = var4 - var2; + int var8 = var3 - var1; + int var9 = var7 < 0 ? -var7 : var7; + int var10 = var7 / var8; + int var11 = var2; + int var12 = 0; + int var13 = var7 < 0 ? var10 - 1 : var10 + 1; + var9 -= (var10 < 0 ? -var10 : var10) * var8; + var5[var1] *= VorbisFloor_decibelStatics[var2]; + if (var3 > var6) { + var3 = var6; + } - @ObfuscatedName("w") - void method2469(int var1, int var2, int var3, int var4, float[] var5, int var6) { - int var7 = var4 - var2; // L: 59 - int var8 = var3 - var1; // L: 60 - int var9 = var7 < 0 ? -var7 : var7; // L: 61 - int var10 = var7 / var8; // L: 62 - int var11 = var2; // L: 63 - int var12 = 0; // L: 64 - int var13 = var7 < 0 ? var10 - 1 : var10 + 1; // L: 65 - var9 -= (var10 < 0 ? -var10 : var10) * var8; // L: 66 - var5[var1] *= VorbisFloor_decibelStatics[var2]; // L: 67 - if (var3 > var6) { // L: 68 - var3 = var6; - } + for(int var14 = var1 + 1; var14 < var3; ++var14) { + var12 += var9; + if (var12 >= var8) { + var12 -= var8; + var11 += var13; + } else { + var11 += var10; + } - for (int var14 = var1 + 1; var14 < var3; ++var14) { // L: 69 - var12 += var9; // L: 70 - if (var12 >= var8) { // L: 71 - var12 -= var8; // L: 72 - var11 += var13; // L: 73 - } else { - var11 += var10; // L: 76 - } + var5[var14] *= VorbisFloor_decibelStatics[var11]; + } - var5[var14] *= VorbisFloor_decibelStatics[var11]; // L: 78 - } + } - } // L: 80 + @ObfuscatedName("y") + @Export("VarbisFloor_sort") + void VarbisFloor_sort(int var1, int var2) { + if (var1 < var2) { + int var3 = var1; + int var4 = field1415[var1]; + int var5 = field1405[var1]; + boolean var6 = field1416[var1]; - @ObfuscatedName("t") - @Export("VarbisFloor_sort") - void VarbisFloor_sort(int var1, int var2) { - if (var1 < var2) { // L: 83 - int var3 = var1; // L: 84 - int var4 = field1418[var1]; // L: 85 - int var5 = field1419[var1]; // L: 86 - boolean var6 = field1409[var1]; // L: 87 + for(int var7 = var1 + 1; var7 <= var2; ++var7) { + int var8 = field1415[var7]; + if (var8 < var4) { + field1415[var3] = var8; + field1405[var3] = field1405[var7]; + field1416[var3] = field1416[var7]; + ++var3; + field1415[var7] = field1415[var3]; + field1405[var7] = field1405[var3]; + field1416[var7] = field1416[var3]; + } + } - for (int var7 = var1 + 1; var7 <= var2; ++var7) { // L: 88 - int var8 = field1418[var7]; // L: 89 - if (var8 < var4) { // L: 90 - field1418[var3] = var8; // L: 91 - field1419[var3] = field1419[var7]; // L: 92 - field1409[var3] = field1409[var7]; // L: 93 - ++var3; // L: 94 - field1418[var7] = field1418[var3]; // L: 95 - field1419[var7] = field1419[var3]; // L: 96 - field1409[var7] = field1409[var3]; // L: 97 - } - } + field1415[var3] = var4; + field1405[var3] = var5; + field1416[var3] = var6; + this.VarbisFloor_sort(var1, var3 - 1); + this.VarbisFloor_sort(var3 + 1, var2); + } + } - field1418[var3] = var4; // L: 100 - field1419[var3] = var5; // L: 101 - field1409[var3] = var6; // L: 102 - this.VarbisFloor_sort(var1, var3 - 1); // L: 103 - this.VarbisFloor_sort(var3 + 1, var2); // L: 104 - } - } // L: 105 + @ObfuscatedName("h") + @Export("readSubmapFloor") + boolean readSubmapFloor() { + boolean var1 = VorbisSample.readBit() != 0; + if (!var1) { + return false; + } else { + int var2 = this.field1407.length; - @ObfuscatedName("j") - @Export("readSubmapFloor") - boolean readSubmapFloor() { - boolean var1 = VorbisSample.readBit() != 0; // L: 153 - if (!var1) { // L: 154 - return false; - } else { - int var2 = this.field1411.length; // L: 155 + int var3; + for(var3 = 0; var3 < var2; ++var3) { + field1415[var3] = this.field1407[var3]; + } - int var3; - for (var3 = 0; var3 < var2; ++var3) { // L: 156 - field1418[var3] = this.field1411[var3]; - } + var3 = field1411[this.multiplier - 1]; + int var4 = Coord.iLog(var3 - 1); + field1405[0] = VorbisSample.readBits(var4); + field1405[1] = VorbisSample.readBits(var4); + int var5 = 2; - var3 = field1413[this.multiplier - 1]; // L: 157 - int var4 = IgnoreList.iLog(var3 - 1); // L: 158 - field1419[0] = VorbisSample.readBits(var4); // L: 159 - field1419[1] = VorbisSample.readBits(var4); // L: 160 - int var5 = 2; // L: 161 + for(int var6 = 0; var6 < this.partitionClassList.length; ++var6) { + int var7 = this.partitionClassList[var6]; + int var8 = this.classDimensions[var7]; + int var9 = this.classSubClasses[var7]; + int var10 = (1 << var9) - 1; + int var11 = 0; + if (var9 > 0) { + var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method2510(); + } - for (int var6 = 0; var6 < this.partitionClassList.length; ++var6) { // L: 162 - int var7 = this.partitionClassList[var6]; // L: 163 - int var8 = this.classDimensions[var7]; // L: 164 - int var9 = this.classSubClasses[var7]; // L: 165 - int var10 = (1 << var9) - 1; // L: 166 - int var11 = 0; // L: 167 - if (var9 > 0) { // L: 168 - var11 = VorbisSample.VorbisSample_codebooks[this.classMasterbooks[var7]].method2402(); - } + for(int var12 = 0; var12 < var8; ++var12) { + int var13 = this.subclassBooks[var7][var11 & var10]; + var11 >>>= var9; + field1405[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method2510() : 0; + } + } - for (int var12 = 0; var12 < var8; ++var12) { // L: 169 - int var13 = this.subclassBooks[var7][var11 & var10]; // L: 170 - var11 >>>= var9; // L: 171 - field1419[var5++] = var13 >= 0 ? VorbisSample.VorbisSample_codebooks[var13].method2402() : 0; // L: 172 - } - } + return true; + } + } - return true; // L: 175 - } - } + @ObfuscatedName("z") + void method2590(float[] var1, int var2) { + int var3 = this.field1407.length; + int var4 = field1411[this.multiplier - 1]; + boolean[] var5 = field1416; + field1416[1] = true; + var5[0] = true; - @ObfuscatedName("n") - void method2465(float[] var1, int var2) { - int var3 = this.field1411.length; // L: 179 - int var4 = field1413[this.multiplier - 1]; // L: 180 - boolean[] var5 = field1409; // L: 181 - field1409[1] = true; // L: 182 - var5[0] = true; // L: 183 + int var6; + int var7; + int var8; + int var9; + int var10; + for(var6 = 2; var6 < var3; ++var6) { + var7 = method2602(field1415, var6); + var8 = method2600(field1415, var6); + var9 = this.method2586(field1415[var7], field1405[var7], field1415[var8], field1405[var8], field1415[var6]); + var10 = field1405[var6]; + int var11 = var4 - var9; + int var13 = (var11 < var9 ? var11 : var9) << 1; + if (var10 != 0) { + boolean[] var14 = field1416; + field1416[var8] = true; + var14[var7] = true; + field1416[var6] = true; + if (var10 >= var13) { + field1405[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; + } else { + field1405[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; + } + } else { + field1416[var6] = false; + field1405[var6] = var9; + } + } - int var6; - int var7; - int var8; - int var9; - int var10; - for (var6 = 2; var6 < var3; ++var6) { // L: 184 - var7 = method2466(field1418, var6); // L: 185 - var8 = method2460(field1418, var6); // L: 186 - var9 = this.method2476(field1418[var7], field1419[var7], field1418[var8], field1419[var8], field1418[var6]); // L: 187 - var10 = field1419[var6]; // L: 188 - int var11 = var4 - var9; // L: 189 - int var13 = (var11 < var9 ? var11 : var9) << 1; // L: 191 - if (var10 != 0) { // L: 192 - boolean[] var14 = field1409; // L: 193 - field1409[var8] = true; // L: 195 - var14[var7] = true; // L: 196 - field1409[var6] = true; // L: 197 - if (var10 >= var13) { // L: 198 - field1419[var6] = var11 > var9 ? var9 + (var10 - var9) : var11 + (var9 - var10) - 1; // L: 199 - } else { - field1419[var6] = (var10 & 1) != 0 ? var9 - (var10 + 1) / 2 : var10 / 2 + var9; // L: 202 - } - } else { - field1409[var6] = false; // L: 206 - field1419[var6] = var9; // L: 207 - } - } + this.VarbisFloor_sort(0, var3 - 1); + var6 = 0; + var7 = field1405[0] * this.multiplier; - this.VarbisFloor_sort(0, var3 - 1); // L: 210 - var6 = 0; // L: 211 - var7 = field1419[0] * this.multiplier; // L: 212 + for(var8 = 1; var8 < var3; ++var8) { + if (field1416[var8]) { + var9 = field1415[var8]; + var10 = field1405[var8] * this.multiplier; + this.method2606(var6, var7, var9, var10, var1, var2); + if (var9 >= var2) { + return; + } - for (var8 = 1; var8 < var3; ++var8) { // L: 213 - if (field1409[var8]) { // L: 214 - var9 = field1418[var8]; // L: 215 - var10 = field1419[var8] * this.multiplier; // L: 216 - this.method2469(var6, var7, var9, var10, var1, var2); // L: 217 - if (var9 >= var2) { // L: 218 - return; - } + var6 = var9; + var7 = var10; + } + } - var6 = var9; // L: 219 - var7 = var10; // L: 220 - } - } + float var16 = VorbisFloor_decibelStatics[var7]; - float var16 = VorbisFloor_decibelStatics[var7]; // L: 223 + for(var9 = var6; var9 < var2; ++var9) { + var1[var9] *= var16; + } - for (var9 = var6; var9 < var2; ++var9) { // L: 224 - var1[var9] *= var16; - } + } - } // L: 225 + @ObfuscatedName("n") + static int method2602(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MIN_VALUE; - @ObfuscatedName("h") - static int method2466(int[] var0, int var1) { - int var2 = var0[var1]; // L: 22 - int var3 = -1; // L: 23 - int var4 = Integer.MIN_VALUE; // L: 24 + for(int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if (var6 < var2 && var6 > var4) { + var3 = var5; + var4 = var6; + } + } - for (int var5 = 0; var5 < var1; ++var5) { // L: 25 - int var6 = var0[var5]; // L: 26 - if (var6 < var2 && var6 > var4) { // L: 27 - var3 = var5; // L: 28 - var4 = var6; // L: 29 - } - } + return var3; + } - return var3; // L: 32 - } + @ObfuscatedName("v") + static int method2600(int[] var0, int var1) { + int var2 = var0[var1]; + int var3 = -1; + int var4 = Integer.MAX_VALUE; - @ObfuscatedName("v") - static int method2460(int[] var0, int var1) { - int var2 = var0[var1]; // L: 36 - int var3 = -1; // L: 37 - int var4 = Integer.MAX_VALUE; // L: 38 + for(int var5 = 0; var5 < var1; ++var5) { + int var6 = var0[var5]; + if (var6 > var2 && var6 < var4) { + var3 = var5; + var4 = var6; + } + } - for (int var5 = 0; var5 < var1; ++var5) { // L: 39 - int var6 = var0[var5]; // L: 40 - if (var6 > var2 && var6 < var4) { // L: 41 - var3 = var5; // L: 42 - var4 = var6; // L: 43 - } - } - - return var3; // L: 46 - } + return var3; + } } diff --git a/runescape-client/src/main/java/VorbisMapping.java b/runescape-client/src/main/java/VorbisMapping.java index 061636a322..b584939860 100644 --- a/runescape-client/src/main/java/VorbisMapping.java +++ b/runescape-client/src/main/java/VorbisMapping.java @@ -2,42 +2,42 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("do") +@ObfuscatedName("dz") @Implements("VorbisMapping") public class VorbisMapping { - @ObfuscatedName("h") - @Export("submaps") - int submaps; - @ObfuscatedName("v") - @Export("mappingMux") - int mappingMux; - @ObfuscatedName("x") - @Export("submapFloor") - int[] submapFloor; - @ObfuscatedName("w") - @Export("submapResidue") - int[] submapResidue; + @ObfuscatedName("n") + @Export("submaps") + int submaps; + @ObfuscatedName("v") + @Export("mappingMux") + int mappingMux; + @ObfuscatedName("d") + @Export("submapFloor") + int[] submapFloor; + @ObfuscatedName("c") + @Export("submapResidue") + int[] submapResidue; - VorbisMapping() { - VorbisSample.readBits(16); // L: 12 - this.submaps = VorbisSample.readBit() != 0 ? VorbisSample.readBits(4) + 1 : 1; // L: 13 - if (VorbisSample.readBit() != 0) { // L: 14 - VorbisSample.readBits(8); // L: 15 - } + VorbisMapping() { + VorbisSample.readBits(16); + this.submaps = VorbisSample.readBit() != 0 ? VorbisSample.readBits(4) + 1 : 1; + if (VorbisSample.readBit() != 0) { + VorbisSample.readBits(8); + } - VorbisSample.readBits(2); // L: 18 - if (this.submaps > 1) { // L: 19 - this.mappingMux = VorbisSample.readBits(4); // L: 20 - } + VorbisSample.readBits(2); + if (this.submaps > 1) { + this.mappingMux = VorbisSample.readBits(4); + } - this.submapFloor = new int[this.submaps]; // L: 22 - this.submapResidue = new int[this.submaps]; // L: 23 + this.submapFloor = new int[this.submaps]; + this.submapResidue = new int[this.submaps]; - for (int var1 = 0; var1 < this.submaps; ++var1) { // L: 24 - VorbisSample.readBits(8); // L: 25 - this.submapFloor[var1] = VorbisSample.readBits(8); // L: 26 - this.submapResidue[var1] = VorbisSample.readBits(8); // L: 27 - } + for(int var1 = 0; var1 < this.submaps; ++var1) { + VorbisSample.readBits(8); + this.submapFloor[var1] = VorbisSample.readBits(8); + this.submapResidue[var1] = VorbisSample.readBits(8); + } - } // L: 29 + } } diff --git a/runescape-client/src/main/java/VorbisResidue.java b/runescape-client/src/main/java/VorbisResidue.java index b7b8477602..07e3264017 100644 --- a/runescape-client/src/main/java/VorbisResidue.java +++ b/runescape-client/src/main/java/VorbisResidue.java @@ -2,130 +2,124 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("dy") +@ObfuscatedName("dc") @Implements("VorbisResidue") public class VorbisResidue { - @ObfuscatedName("h") - @Export("residueType") - int residueType; - @ObfuscatedName("v") - @Export("begin") - int begin; - @ObfuscatedName("x") - @Export("end") - int end; - @ObfuscatedName("w") - @Export("partitionSize") - int partitionSize; - @ObfuscatedName("t") - @Export("classifications") - int classifications; - @ObfuscatedName("j") - @Export("classbook") - int classbook; - @ObfuscatedName("n") - @Export("cascade") - int[] cascade; + @ObfuscatedName("n") + @Export("residueType") + int residueType = VorbisSample.readBits(16); + @ObfuscatedName("v") + @Export("begin") + int begin = VorbisSample.readBits(24); + @ObfuscatedName("d") + @Export("end") + int end = VorbisSample.readBits(24); + @ObfuscatedName("c") + @Export("partitionSize") + int partitionSize = VorbisSample.readBits(24) + 1; + @ObfuscatedName("y") + @Export("classifications") + int classifications = VorbisSample.readBits(6) + 1; + @ObfuscatedName("h") + @Export("classbook") + int classbook = VorbisSample.readBits(8); + @ObfuscatedName("z") + @Export("cascade") + int[] cascade; - VorbisResidue() { - this.residueType = VorbisSample.readBits(16); // L: 15 - this.begin = VorbisSample.readBits(24); // L: 16 - this.end = VorbisSample.readBits(24); // L: 17 - this.partitionSize = VorbisSample.readBits(24) + 1; // L: 18 - this.classifications = VorbisSample.readBits(6) + 1; // L: 19 - this.classbook = VorbisSample.readBits(8); // L: 20 - int[] var1 = new int[this.classifications]; // L: 21 + VorbisResidue() { + int[] var1 = new int[this.classifications]; - int var2; - for (var2 = 0; var2 < this.classifications; ++var2) { // L: 22 - int var3 = 0; // L: 23 - int var4 = VorbisSample.readBits(3); // L: 24 - boolean var5 = VorbisSample.readBit() != 0; // L: 25 - if (var5) { // L: 26 - var3 = VorbisSample.readBits(5); - } + int var2; + for(var2 = 0; var2 < this.classifications; ++var2) { + int var3 = 0; + int var4 = VorbisSample.readBits(3); + boolean var5 = VorbisSample.readBit() != 0; + if (var5) { + var3 = VorbisSample.readBits(5); + } - var1[var2] = var3 << 3 | var4; // L: 27 - } + var1[var2] = var3 << 3 | var4; + } - this.cascade = new int[this.classifications * 8]; // L: 29 + this.cascade = new int[this.classifications * 8]; - for (var2 = 0; var2 < this.classifications * 8; ++var2) { // L: 30 - this.cascade[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0 ? VorbisSample.readBits(8) : -1; - } + for(var2 = 0; var2 < this.classifications * 8; ++var2) { + this.cascade[var2] = (var1[var2 >> 3] & 1 << (var2 & 7)) != 0 ? VorbisSample.readBits(8) : -1; + } - } // L: 31 + } - @ObfuscatedName("h") - void method2586(float[] var1, int var2, boolean var3) { - int var4; - for (var4 = 0; var4 < var2; ++var4) { // L: 34 - var1[var4] = 0.0F; - } + @ObfuscatedName("n") + void method2696(float[] var1, int var2, boolean var3) { + int var4; + for(var4 = 0; var4 < var2; ++var4) { + var1[var4] = 0.0F; + } - if (!var3) { // L: 35 - var4 = VorbisSample.VorbisSample_codebooks[this.classbook].dimensions; // L: 36 - int var5 = this.end - this.begin; // L: 37 - int var6 = var5 / this.partitionSize; // L: 38 - int[] var7 = new int[var6]; // L: 39 + if (!var3) { + var4 = VorbisSample.VorbisSample_codebooks[this.classbook].dimensions; + int var5 = this.end - this.begin; + int var6 = var5 / this.partitionSize; + int[] var7 = new int[var6]; - for (int var8 = 0; var8 < 8; ++var8) { // L: 40 - int var9 = 0; // L: 41 + for(int var8 = 0; var8 < 8; ++var8) { + int var9 = 0; - while (var9 < var6) { // L: 42 - int var10; - int var11; - if (var8 == 0) { // L: 43 - var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method2402(); // L: 45 + while(var9 < var6) { + int var10; + int var11; + if (var8 == 0) { + var10 = VorbisSample.VorbisSample_codebooks[this.classbook].method2510(); - for (var11 = var4 - 1; var11 >= 0; --var11) { // L: 46 - if (var9 + var11 < var6) { // L: 47 - var7[var9 + var11] = var10 % this.classifications; - } + for(var11 = var4 - 1; var11 >= 0; --var11) { + if (var9 + var11 < var6) { + var7[var9 + var11] = var10 % this.classifications; + } - var10 /= this.classifications; // L: 48 - } - } + var10 /= this.classifications; + } + } - for (var10 = 0; var10 < var4; ++var10) { // L: 52 - var11 = var7[var9]; // L: 54 - int var12 = this.cascade[var8 + var11 * 8]; // L: 55 - if (var12 >= 0) { // L: 56 - int var13 = var9 * this.partitionSize + this.begin; // L: 57 - VorbisCodebook var14 = VorbisSample.VorbisSample_codebooks[var12]; // L: 58 - int var15; - if (this.residueType == 0) { // L: 59 - var15 = this.partitionSize / var14.dimensions; // L: 60 + for(var10 = 0; var10 < var4; ++var10) { + var11 = var7[var9]; + int var12 = this.cascade[var8 + var11 * 8]; + if (var12 >= 0) { + int var13 = var9 * this.partitionSize + this.begin; + VorbisCodebook var14 = VorbisSample.VorbisSample_codebooks[var12]; + int var15; + if (this.residueType == 0) { + var15 = this.partitionSize / var14.dimensions; - for (int var19 = 0; var19 < var15; ++var19) { // L: 61 - float[] var20 = var14.method2400(); // L: 62 + for(int var19 = 0; var19 < var15; ++var19) { + float[] var20 = var14.method2511(); - for (int var18 = 0; var18 < var14.dimensions; ++var18) { // L: 63 - var1[var13 + var19 + var18 * var15] += var20[var18]; - } - } - } else { - var15 = 0; // L: 67 + for(int var18 = 0; var18 < var14.dimensions; ++var18) { + var1[var13 + var19 + var18 * var15] += var20[var18]; + } + } + } else { + var15 = 0; - while (var15 < this.partitionSize) { // L: 68 - float[] var16 = var14.method2400(); // L: 69 + while(var15 < this.partitionSize) { + float[] var16 = var14.method2511(); - for (int var17 = 0; var17 < var14.dimensions; ++var17) { // L: 70 - var1[var13 + var15] += var16[var17]; // L: 71 - ++var15; // L: 72 - } - } - } - } + for(int var17 = 0; var17 < var14.dimensions; ++var17) { + var1[var13 + var15] += var16[var17]; + ++var15; + } + } + } + } - ++var9; // L: 78 - if (var9 >= var6) { // L: 79 - break; - } - } - } - } + ++var9; + if (var9 >= var6) { + break; + } + } + } + } - } - } // L: 83 + } + } } diff --git a/runescape-client/src/main/java/VorbisSample.java b/runescape-client/src/main/java/VorbisSample.java index e1759adb1f..fd1681acec 100644 --- a/runescape-client/src/main/java/VorbisSample.java +++ b/runescape-client/src/main/java/VorbisSample.java @@ -3,645 +3,647 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dx") +@ObfuscatedName("dl") @Implements("VorbisSample") public class VorbisSample extends Node { - @ObfuscatedName("n") - @Export("VorbisSample_bytes") - static byte[] VorbisSample_bytes; - @ObfuscatedName("p") - @Export("VorbisSample_byteOffset") - static int VorbisSample_byteOffset; - @ObfuscatedName("l") - @Export("VorbisSample_bitOffset") - static int VorbisSample_bitOffset; - @ObfuscatedName("z") - @Export("VorbisSample_blockSize0") - static int VorbisSample_blockSize0; - @ObfuscatedName("u") - @Export("VorbisSample_blockSize1") - static int VorbisSample_blockSize1; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "[Ldb;" - ) - @Export("VorbisSample_codebooks") - static VorbisCodebook[] VorbisSample_codebooks; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "[Ldm;" - ) - @Export("VorbisSample_floors") - static VorbisFloor[] VorbisSample_floors; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "[Ldy;" - ) - @Export("VorbisSample_residues") - static VorbisResidue[] VorbisSample_residues; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "[Ldo;" - ) - @Export("VorbisSample_mappings") - static VorbisMapping[] VorbisSample_mappings; - @ObfuscatedName("f") - @Export("VorbisSample_blockFlags") - static boolean[] VorbisSample_blockFlags; - @ObfuscatedName("a") - @Export("VorbisSample_mapping") - static int[] VorbisSample_mapping; - @ObfuscatedName("b") - static boolean field1387; - @ObfuscatedName("s") - static float[] field1392; - @ObfuscatedName("o") - static float[] field1393; - @ObfuscatedName("k") - static float[] field1394; - @ObfuscatedName("d") - static float[] field1395; - @ObfuscatedName("an") - static float[] field1396; - @ObfuscatedName("aj") - static float[] field1397; - @ObfuscatedName("ax") - static float[] field1381; - @ObfuscatedName("ag") - static int[] field1391; - @ObfuscatedName("au") - static int[] field1400; - @ObfuscatedName("h") - byte[][] field1383; - @ObfuscatedName("v") - @Export("sampleRate") - int sampleRate; - @ObfuscatedName("x") - @Export("sampleCount") - int sampleCount; - @ObfuscatedName("w") - @Export("start") - int start; - @ObfuscatedName("t") - @Export("end") - int end; - @ObfuscatedName("j") - boolean field1375; - @ObfuscatedName("y") - float[] field1388; - @ObfuscatedName("r") - int field1389; - @ObfuscatedName("q") - int field1390; - @ObfuscatedName("g") - boolean field1377; - @ObfuscatedName("as") - @Export("samples") - byte[] samples; - @ObfuscatedName("ae") - int field1402; - @ObfuscatedName("ac") - int field1385; - - static { - field1387 = false; // L: 28 - } - - VorbisSample(byte[] var1) { - this.read(var1); // L: 401 - } // L: 402 - - @ObfuscatedName("t") - @Export("read") - void read(byte[] var1) { - Buffer var2 = new Buffer(var1); // L: 89 - this.sampleRate = var2.readInt(); // L: 90 - this.sampleCount = var2.readInt(); // L: 91 - this.start = var2.readInt(); // L: 92 - this.end = var2.readInt(); // L: 93 - if (this.end < 0) { // L: 94 - this.end = ~this.end; // L: 95 - this.field1375 = true; // L: 96 - } - - int var3 = var2.readInt(); // L: 98 - this.field1383 = new byte[var3][]; // L: 99 - - for (int var4 = 0; var4 < var3; ++var4) { // L: 100 - int var5 = 0; // L: 101 - - int var6; - do { - var6 = var2.readUnsignedByte(); // L: 103 - var5 += var6; // L: 104 - } while(var6 >= 255); // L: 105 - - byte[] var7 = new byte[var5]; // L: 107 - var2.readBytes(var7, 0, var5); // L: 108 - this.field1383[var4] = var7; // L: 109 - } - - } // L: 111 - - @ObfuscatedName("n") - float[] method2425(int var1) { - VorbisSample_setData(this.field1383[var1], 0); // L: 182 - readBit(); // L: 183 - int var2 = readBits(IgnoreList.iLog(VorbisSample_mapping.length - 1)); // L: 184 - boolean var3 = VorbisSample_blockFlags[var2]; // L: 185 - int var4 = var3 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; // L: 186 - boolean var5 = false; // L: 187 - boolean var6 = false; // L: 188 - if (var3) { // L: 189 - var5 = readBit() != 0; // L: 190 - var6 = readBit() != 0; // L: 191 - } - - int var7 = var4 >> 1; // L: 193 - int var8; - int var9; - int var10; - if (var3 && !var5) { // L: 197 - var8 = (var4 >> 2) - (VorbisSample_blockSize0 >> 2); // L: 198 - var9 = (VorbisSample_blockSize0 >> 2) + (var4 >> 2); // L: 199 - var10 = VorbisSample_blockSize0 >> 1; // L: 200 - } else { - var8 = 0; // L: 203 - var9 = var7; // L: 204 - var10 = var4 >> 1; // L: 205 - } - - int var11; - int var12; - int var13; - if (var3 && !var6) { // L: 210 - var11 = var4 - (var4 >> 2) - (VorbisSample_blockSize0 >> 2); // L: 211 - var12 = (VorbisSample_blockSize0 >> 2) + (var4 - (var4 >> 2)); // L: 212 - var13 = VorbisSample_blockSize0 >> 1; // L: 213 - } else { - var11 = var7; // L: 216 - var12 = var4; // L: 217 - var13 = var4 >> 1; // L: 218 - } - - VorbisMapping var14 = VorbisSample_mappings[VorbisSample_mapping[var2]]; // L: 220 - int var16 = var14.mappingMux; // L: 223 - int var17 = var14.submapFloor[var16]; // L: 224 - boolean var15 = !VorbisSample_floors[var17].readSubmapFloor(); // L: 225 - boolean var45 = var15; // L: 227 - - for (var17 = 0; var17 < var14.submaps; ++var17) { // L: 228 - VorbisResidue var42 = VorbisSample_residues[var14.submapResidue[var17]]; // L: 229 - float[] var44 = field1392; // L: 230 - var42.method2586(var44, var4 >> 1, var45); // L: 231 - } - - int var18; - if (!var15) { // L: 234 - var17 = var14.mappingMux; // L: 235 - var18 = var14.submapFloor[var17]; // L: 236 - VorbisSample_floors[var18].method2465(field1392, var4 >> 1); // L: 237 - } - - int var19; - if (var15) { // L: 240 - for (var17 = var4 >> 1; var17 < var4; ++var17) { // L: 241 - field1392[var17] = 0.0F; - } - } else { - var17 = var4 >> 1; // L: 244 - var18 = var4 >> 2; // L: 245 - var19 = var4 >> 3; // L: 246 - float[] var20 = field1392; // L: 247 - - int var21; - for (var21 = 0; var21 < var17; ++var21) { // L: 248 - var20[var21] *= 0.5F; - } - - for (var21 = var17; var21 < var4; ++var21) { // L: 249 - var20[var21] = -var20[var4 - var21 - 1]; - } - - float[] var40 = var3 ? field1396 : field1393; // L: 250 - float[] var22 = var3 ? field1397 : field1394; // L: 251 - float[] var23 = var3 ? field1381 : field1395; // L: 252 - int[] var24 = var3 ? field1400 : field1391; // L: 253 - - int var25; - float var26; - float var27; - float var28; - float var29; - for (var25 = 0; var25 < var18; ++var25) { // L: 254 - var26 = var20[var25 * 4] - var20[var4 - var25 * 4 - 1]; // L: 255 - var27 = var20[var25 * 4 + 2] - var20[var4 - var25 * 4 - 3]; // L: 256 - var28 = var40[var25 * 2]; // L: 257 - var29 = var40[var25 * 2 + 1]; // L: 258 - var20[var4 - var25 * 4 - 1] = var26 * var28 - var27 * var29; // L: 259 - var20[var4 - var25 * 4 - 3] = var26 * var29 + var27 * var28; // L: 260 - } - - float var30; - float var31; - for (var25 = 0; var25 < var19; ++var25) { // L: 262 - var26 = var20[var17 + var25 * 4 + 3]; // L: 263 - var27 = var20[var17 + var25 * 4 + 1]; // L: 264 - var28 = var20[var25 * 4 + 3]; // L: 265 - var29 = var20[var25 * 4 + 1]; // L: 266 - var20[var17 + var25 * 4 + 3] = var26 + var28; // L: 267 - var20[var17 + var25 * 4 + 1] = var27 + var29; // L: 268 - var30 = var40[var17 - 4 - var25 * 4]; // L: 269 - var31 = var40[var17 - 3 - var25 * 4]; // L: 270 - var20[var25 * 4 + 3] = (var26 - var28) * var30 - (var27 - var29) * var31; // L: 271 - var20[var25 * 4 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; // L: 272 - } - - var25 = IgnoreList.iLog(var4 - 1); // L: 274 - - int var46; - int var47; - int var48; - int var49; - for (var46 = 0; var46 < var25 - 3; ++var46) { // L: 275 - var47 = var4 >> var46 + 2; // L: 276 - var48 = 8 << var46; // L: 277 - - for (var49 = 0; var49 < 2 << var46; ++var49) { // L: 278 - int var50 = var4 - var47 * var49 * 2; // L: 279 - int var51 = var4 - var47 * (var49 * 2 + 1); // L: 280 - - for (int var32 = 0; var32 < var4 >> var46 + 4; ++var32) { // L: 281 - int var33 = var32 * 4; // L: 282 - float var34 = var20[var50 - 1 - var33]; // L: 283 - float var35 = var20[var50 - 3 - var33]; // L: 284 - float var36 = var20[var51 - 1 - var33]; // L: 285 - float var37 = var20[var51 - 3 - var33]; // L: 286 - var20[var50 - 1 - var33] = var34 + var36; // L: 287 - var20[var50 - 3 - var33] = var35 + var37; // L: 288 - float var38 = var40[var32 * var48]; // L: 289 - float var39 = var40[var32 * var48 + 1]; // L: 290 - var20[var51 - 1 - var33] = (var34 - var36) * var38 - (var35 - var37) * var39; // L: 291 - var20[var51 - 3 - var33] = (var35 - var37) * var38 + (var34 - var36) * var39; // L: 292 - } - } - } - - for (var46 = 1; var46 < var19 - 1; ++var46) { // L: 296 - var47 = var24[var46]; // L: 297 - if (var46 < var47) { // L: 298 - var48 = var46 * 8; // L: 299 - var49 = var47 * 8; // L: 300 - var30 = var20[var48 + 1]; // L: 302 - var20[var48 + 1] = var20[var49 + 1]; // L: 303 - var20[var49 + 1] = var30; // L: 304 - var30 = var20[var48 + 3]; // L: 305 - var20[var48 + 3] = var20[var49 + 3]; // L: 306 - var20[var49 + 3] = var30; // L: 307 - var30 = var20[var48 + 5]; // L: 308 - var20[var48 + 5] = var20[var49 + 5]; // L: 309 - var20[var49 + 5] = var30; // L: 310 - var30 = var20[var48 + 7]; // L: 311 - var20[var48 + 7] = var20[var49 + 7]; // L: 312 - var20[var49 + 7] = var30; // L: 313 - } - } - - for (var46 = 0; var46 < var17; ++var46) { // L: 316 - var20[var46] = var20[var46 * 2 + 1]; - } - - for (var46 = 0; var46 < var19; ++var46) { // L: 317 - var20[var4 - 1 - var46 * 2] = var20[var46 * 4]; // L: 318 - var20[var4 - 2 - var46 * 2] = var20[var46 * 4 + 1]; // L: 319 - var20[var4 - var18 - 1 - var46 * 2] = var20[var46 * 4 + 2]; // L: 320 - var20[var4 - var18 - 2 - var46 * 2] = var20[var46 * 4 + 3]; // L: 321 - } - - for (var46 = 0; var46 < var19; ++var46) { // L: 323 - var27 = var23[var46 * 2]; // L: 324 - var28 = var23[var46 * 2 + 1]; // L: 325 - var29 = var20[var17 + var46 * 2]; // L: 326 - var30 = var20[var17 + var46 * 2 + 1]; // L: 327 - var31 = var20[var4 - 2 - var46 * 2]; // L: 328 - float var52 = var20[var4 - 1 - var46 * 2]; // L: 329 - float var53 = var28 * (var29 - var31) + var27 * (var30 + var52); // L: 330 - var20[var17 + var46 * 2] = (var29 + var31 + var53) * 0.5F; // L: 331 - var20[var4 - 2 - var46 * 2] = (var29 + var31 - var53) * 0.5F; // L: 332 - var53 = var28 * (var30 + var52) - var27 * (var29 - var31); // L: 333 - var20[var17 + var46 * 2 + 1] = (var30 - var52 + var53) * 0.5F; // L: 334 - var20[var4 - 1 - var46 * 2] = (-var30 + var52 + var53) * 0.5F; // L: 335 - } - - for (var46 = 0; var46 < var18; ++var46) { // L: 337 - var20[var46] = var20[var17 + var46 * 2] * var22[var46 * 2] + var20[var17 + var46 * 2 + 1] * var22[var46 * 2 + 1]; // L: 338 - var20[var17 - 1 - var46] = var20[var17 + var46 * 2] * var22[var46 * 2 + 1] - var20[var17 + var46 * 2 + 1] * var22[var46 * 2]; // L: 339 - } - - for (var46 = 0; var46 < var18; ++var46) { // L: 341 - var20[var46 + (var4 - var18)] = -var20[var46]; - } - - for (var46 = 0; var46 < var18; ++var46) { // L: 342 - var20[var46] = var20[var18 + var46]; - } - - for (var46 = 0; var46 < var18; ++var46) { // L: 343 - var20[var18 + var46] = -var20[var18 - var46 - 1]; - } - - for (var46 = 0; var46 < var18; ++var46) { // L: 344 - var20[var17 + var46] = var20[var4 - var46 - 1]; - } - - float[] var10000; - for (var46 = var8; var46 < var9; ++var46) { // L: 345 - var27 = (float)Math.sin(((double)(var46 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); // L: 346 - var10000 = field1392; // L: 347 - var10000[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); - } - - for (var46 = var11; var46 < var12; ++var46) { // L: 349 - var27 = (float)Math.sin(((double)(var46 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); // L: 350 - var10000 = field1392; // L: 351 - var10000[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); - } - } - - float[] var41 = null; // L: 354 - if (this.field1389 > 0) { // L: 355 - var18 = var4 + this.field1389 >> 2; // L: 356 - var41 = new float[var18]; // L: 357 - int var43; - if (!this.field1377) { // L: 358 - for (var19 = 0; var19 < this.field1390; ++var19) { // L: 359 - var43 = var19 + (this.field1389 >> 1); // L: 360 - var41[var19] += this.field1388[var43]; // L: 361 - } - } - - if (!var15) { // L: 364 - for (var19 = var8; var19 < var4 >> 1; ++var19) { // L: 365 - var43 = var41.length - (var4 >> 1) + var19; // L: 366 - var41[var43] += field1392[var19]; // L: 367 - } - } - } - - float[] var54 = this.field1388; // L: 371 - this.field1388 = field1392; // L: 372 - field1392 = var54; // L: 373 - this.field1389 = var4; // L: 374 - this.field1390 = var12 - (var4 >> 1); // L: 375 - this.field1377 = var15; // L: 376 - return var41; // L: 377 - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "([I)Ldf;" - ) - @Export("toRawSound") - RawSound toRawSound(int[] var1) { - if (var1 != null && var1[0] <= 0) { // L: 405 - return null; - } else { - if (this.samples == null) { // L: 406 - this.field1389 = 0; // L: 407 - this.field1388 = new float[VorbisSample_blockSize1]; // L: 408 - this.samples = new byte[this.sampleCount]; // L: 409 - this.field1402 = 0; // L: 410 - this.field1385 = 0; // L: 411 - } - - for (; this.field1385 < this.field1383.length; ++this.field1385) { // L: 413 428 - if (var1 != null && var1[0] <= 0) { // L: 414 - return null; - } - - float[] var2 = this.method2425(this.field1385); // L: 415 - if (var2 != null) { // L: 416 - int var3 = this.field1402; // L: 417 - int var4 = var2.length; // L: 418 - if (var4 > this.sampleCount - var3) { // L: 419 - var4 = this.sampleCount - var3; - } - - for (int var5 = 0; var5 < var4; ++var5) { // L: 420 - int var6 = (int)(128.0F + var2[var5] * 128.0F); // L: 421 - if ((var6 & -256) != 0) { // L: 422 - var6 = ~var6 >> 31; - } - - this.samples[var3++] = (byte)(var6 - 128); // L: 423 - } - - if (var1 != null) { // L: 425 - var1[0] -= var3 - this.field1402; - } - - this.field1402 = var3; // L: 426 - } - } - - this.field1388 = null; // L: 430 - byte[] var7 = this.samples; // L: 431 - this.samples = null; // L: 432 - return new RawSound(this.sampleRate, var7, this.start, this.end, this.field1375); // L: 433 - } - } - - @ObfuscatedName("h") - @Export("float32Unpack") - static float float32Unpack(int var0) { - int var1 = var0 & 2097151; // L: 47 - int var2 = var0 & Integer.MIN_VALUE; // L: 48 - int var3 = (var0 & 2145386496) >> 21; // L: 49 - if (var2 != 0) { // L: 50 - var1 = -var1; - } - - return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); // L: 51 - } - - @ObfuscatedName("v") - @Export("VorbisSample_setData") - static void VorbisSample_setData(byte[] var0, int var1) { - VorbisSample_bytes = var0; // L: 55 - VorbisSample_byteOffset = var1; // L: 56 - VorbisSample_bitOffset = 0; // L: 57 - } // L: 58 - - @ObfuscatedName("x") - @Export("readBit") - static int readBit() { - int var0 = VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & 1; // L: 61 - ++VorbisSample_bitOffset; // L: 62 - VorbisSample_byteOffset += VorbisSample_bitOffset >> 3; // L: 63 - VorbisSample_bitOffset &= 7; // L: 64 - return var0; // L: 65 - } - - @ObfuscatedName("w") - @Export("readBits") - static int readBits(int var0) { - int var1 = 0; // L: 69 - - int var2; - int var3; - for (var2 = 0; var0 >= 8 - VorbisSample_bitOffset; var0 -= var3) { // L: 70 71 78 - var3 = 8 - VorbisSample_bitOffset; // L: 72 - int var4 = (1 << var3) - 1; // L: 73 - var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var4) << var2; // L: 74 - VorbisSample_bitOffset = 0; // L: 75 - ++VorbisSample_byteOffset; // L: 76 - var2 += var3; // L: 77 - } - - if (var0 > 0) { // L: 80 - var3 = (1 << var0) - 1; // L: 81 - var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var3) << var2; // L: 82 - VorbisSample_bitOffset += var0; // L: 83 - } - - return var1; // L: 85 - } - - @ObfuscatedName("j") - static void method2452(byte[] var0) { - VorbisSample_setData(var0, 0); // L: 114 - VorbisSample_blockSize0 = 1 << readBits(4); // L: 115 - VorbisSample_blockSize1 = 1 << readBits(4); // L: 116 - field1392 = new float[VorbisSample_blockSize1]; // L: 117 - - int var1; - int var2; - int var3; - int var4; - int var5; - for (var1 = 0; var1 < 2; ++var1) { // L: 118 - var2 = var1 != 0 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; // L: 119 - var3 = var2 >> 1; // L: 120 - var4 = var2 >> 2; // L: 121 - var5 = var2 >> 3; // L: 122 - float[] var12 = new float[var3]; // L: 123 - - for (int var7 = 0; var7 < var4; ++var7) { // L: 124 - var12[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); // L: 125 - var12[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); // L: 126 - } - - float[] var13 = new float[var3]; // L: 128 - - for (int var8 = 0; var8 < var4; ++var8) { // L: 129 - var13[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); // L: 130 - var13[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); // L: 131 - } - - float[] var14 = new float[var4]; // L: 133 - - for (int var9 = 0; var9 < var5; ++var9) { // L: 134 - var14[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); // L: 135 - var14[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); // L: 136 - } - - int[] var15 = new int[var5]; // L: 138 - int var10 = IgnoreList.iLog(var5 - 1); // L: 139 - - for (int var11 = 0; var11 < var5; ++var11) { // L: 140 - var15[var11] = MusicPatchNode2.method3723(var11, var10); - } - - if (var1 != 0) { // L: 141 - field1396 = var12; // L: 142 - field1397 = var13; // L: 143 - field1381 = var14; // L: 144 - field1400 = var15; // L: 145 - } else { - field1393 = var12; // L: 148 - field1394 = var13; // L: 149 - field1395 = var14; // L: 150 - field1391 = var15; // L: 151 - } - } - - var1 = readBits(8) + 1; // L: 154 - VorbisSample_codebooks = new VorbisCodebook[var1]; // L: 155 - - for (var2 = 0; var2 < var1; ++var2) { // L: 156 - VorbisSample_codebooks[var2] = new VorbisCodebook(); - } - - var2 = readBits(6) + 1; // L: 158 - - for (var3 = 0; var3 < var2; ++var3) { // L: 159 - readBits(16); - } - - var2 = readBits(6) + 1; // L: 161 - VorbisSample_floors = new VorbisFloor[var2]; // L: 162 - - for (var3 = 0; var3 < var2; ++var3) { // L: 163 - VorbisSample_floors[var3] = new VorbisFloor(); - } - - var3 = readBits(6) + 1; // L: 164 - VorbisSample_residues = new VorbisResidue[var3]; // L: 165 - - for (var4 = 0; var4 < var3; ++var4) { // L: 166 - VorbisSample_residues[var4] = new VorbisResidue(); - } - - var4 = readBits(6) + 1; // L: 167 - VorbisSample_mappings = new VorbisMapping[var4]; // L: 168 - - for (var5 = 0; var5 < var4; ++var5) { // L: 169 - VorbisSample_mappings[var5] = new VorbisMapping(); - } - - var5 = readBits(6) + 1; // L: 170 - VorbisSample_blockFlags = new boolean[var5]; // L: 171 - VorbisSample_mapping = new int[var5]; // L: 172 - - for (int var6 = 0; var6 < var5; ++var6) { // L: 173 - VorbisSample_blockFlags[var6] = readBit() != 0; // L: 174 - readBits(16); // L: 175 - readBits(16); // L: 176 - VorbisSample_mapping[var6] = readBits(8); // L: 177 - } - - } // L: 179 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(Lib;)Z" - ) - static boolean method2450(AbstractArchive var0) { - if (!field1387) { // L: 381 - byte[] var1 = var0.takeFile(0, 0); // L: 382 - if (var1 == null) { // L: 383 - return false; - } - - method2452(var1); // L: 384 - field1387 = true; // L: 385 - } - - return true; // L: 387 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Lib;II)Ldx;" - ) - @Export("readMusicSample") - static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { - if (!method2450(var0)) { // L: 391 - var0.tryLoadFile(var1, var2); // L: 392 - return null; // L: 393 - } else { - byte[] var3 = var0.takeFile(var1, var2); // L: 395 - return var3 == null ? null : new VorbisSample(var3); // L: 396 - } - } + @ObfuscatedName("z") + @Export("VorbisSample_bytes") + static byte[] VorbisSample_bytes; + @ObfuscatedName("e") + @Export("VorbisSample_byteOffset") + static int VorbisSample_byteOffset; + @ObfuscatedName("q") + @Export("VorbisSample_bitOffset") + static int VorbisSample_bitOffset; + @ObfuscatedName("l") + @Export("VorbisSample_blockSize0") + static int VorbisSample_blockSize0; + @ObfuscatedName("s") + @Export("VorbisSample_blockSize1") + static int VorbisSample_blockSize1; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "[Ldd;" + ) + @Export("VorbisSample_codebooks") + static VorbisCodebook[] VorbisSample_codebooks; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "[Ldj;" + ) + @Export("VorbisSample_floors") + static VorbisFloor[] VorbisSample_floors; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "[Ldc;" + ) + @Export("VorbisSample_residues") + static VorbisResidue[] VorbisSample_residues; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "[Ldz;" + ) + @Export("VorbisSample_mappings") + static VorbisMapping[] VorbisSample_mappings; + @ObfuscatedName("i") + @Export("VorbisSample_blockFlags") + static boolean[] VorbisSample_blockFlags; + @ObfuscatedName("x") + @Export("VorbisSample_mapping") + static int[] VorbisSample_mapping; + @ObfuscatedName("f") + static boolean field1397 = false; + @ObfuscatedName("m") + static float[] field1391; + @ObfuscatedName("r") + static float[] field1389; + @ObfuscatedName("o") + static float[] field1388; + @ObfuscatedName("j") + static float[] field1382; + @ObfuscatedName("ay") + static float[] field1392; + @ObfuscatedName("am") + static float[] field1383; + @ObfuscatedName("ag") + static float[] field1394; + @ObfuscatedName("ae") + static int[] field1375; + @ObfuscatedName("ac") + static int[] field1396; + @ObfuscatedName("n") + byte[][] field1370; + @ObfuscatedName("v") + @Export("sampleRate") + int sampleRate; + @ObfuscatedName("d") + @Export("sampleCount") + int sampleCount; + @ObfuscatedName("c") + @Export("start") + int start; + @ObfuscatedName("y") + @Export("end") + int end; + @ObfuscatedName("h") + boolean field1371; + @ObfuscatedName("g") + float[] field1384; + @ObfuscatedName("u") + int field1385; + @ObfuscatedName("t") + int field1386; + @ObfuscatedName("p") + boolean field1393; + @ObfuscatedName("aq") + @Export("samples") + byte[] samples; + @ObfuscatedName("at") + int field1398; + @ObfuscatedName("ak") + int field1399; + + VorbisSample(byte[] var1) { + this.read(var1); + } + + @ObfuscatedName("y") + @Export("read") + void read(byte[] var1) { + Buffer var2 = new Buffer(var1); + this.sampleRate = var2.readInt(); + this.sampleCount = var2.readInt(); + this.start = var2.readInt(); + this.end = var2.readInt(); + if (this.end < 0) { + this.end = ~this.end; + this.field1371 = true; + } + + int var3 = var2.readInt(); + this.field1370 = new byte[var3][]; + + for(int var4 = 0; var4 < var3; ++var4) { + int var5 = 0; + + int var6; + do { + var6 = var2.readUnsignedByte(); + var5 += var6; + } while(var6 >= 255); + + byte[] var7 = new byte[var5]; + var2.readBytes(var7, 0, var5); + this.field1370[var4] = var7; + } + + } + + @ObfuscatedName("z") + float[] method2562(int var1) { + VorbisSample_setData(this.field1370[var1], 0); + readBit(); + int var2 = readBits(Coord.iLog(VorbisSample_mapping.length - 1)); + boolean var3 = VorbisSample_blockFlags[var2]; + int var4 = var3 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; + boolean var5 = false; + boolean var6 = false; + if (var3) { + var5 = readBit() != 0; + var6 = readBit() != 0; + } + + int var7 = var4 >> 1; + int var8; + int var9; + int var10; + if (var3 && !var5) { + var8 = (var4 >> 2) - (VorbisSample_blockSize0 >> 2); + var9 = (VorbisSample_blockSize0 >> 2) + (var4 >> 2); + var10 = VorbisSample_blockSize0 >> 1; + } else { + var8 = 0; + var9 = var7; + var10 = var4 >> 1; + } + + int var11; + int var12; + int var13; + if (var3 && !var6) { + var11 = var4 - (var4 >> 2) - (VorbisSample_blockSize0 >> 2); + var12 = (VorbisSample_blockSize0 >> 2) + (var4 - (var4 >> 2)); + var13 = VorbisSample_blockSize0 >> 1; + } else { + var11 = var7; + var12 = var4; + var13 = var4 >> 1; + } + + VorbisMapping var14 = VorbisSample_mappings[VorbisSample_mapping[var2]]; + int var16 = var14.mappingMux; + int var17 = var14.submapFloor[var16]; + boolean var15 = !VorbisSample_floors[var17].readSubmapFloor(); + boolean var45 = var15; + + for(var17 = 0; var17 < var14.submaps; ++var17) { + VorbisResidue var42 = VorbisSample_residues[var14.submapResidue[var17]]; + float[] var44 = field1391; + var42.method2696(var44, var4 >> 1, var45); + } + + int var18; + if (!var15) { + var17 = var14.mappingMux; + var18 = var14.submapFloor[var17]; + VorbisSample_floors[var18].method2590(field1391, var4 >> 1); + } + + int var19; + if (var15) { + for(var17 = var4 >> 1; var17 < var4; ++var17) { + field1391[var17] = 0.0F; + } + } else { + var17 = var4 >> 1; + var18 = var4 >> 2; + var19 = var4 >> 3; + float[] var20 = field1391; + + int var21; + for(var21 = 0; var21 < var17; ++var21) { + var20[var21] *= 0.5F; + } + + for(var21 = var17; var21 < var4; ++var21) { + var20[var21] = -var20[var4 - var21 - 1]; + } + + float[] var40 = var3 ? field1392 : field1389; + float[] var22 = var3 ? field1383 : field1388; + float[] var23 = var3 ? field1394 : field1382; + int[] var24 = var3 ? field1396 : field1375; + + int var25; + float var26; + float var27; + float var28; + float var29; + for(var25 = 0; var25 < var18; ++var25) { + var26 = var20[var25 * 4] - var20[var4 - var25 * 4 - 1]; + var27 = var20[var25 * 4 + 2] - var20[var4 - var25 * 4 - 3]; + var28 = var40[var25 * 2]; + var29 = var40[var25 * 2 + 1]; + var20[var4 - var25 * 4 - 1] = var26 * var28 - var27 * var29; + var20[var4 - var25 * 4 - 3] = var26 * var29 + var27 * var28; + } + + float var30; + float var31; + for(var25 = 0; var25 < var19; ++var25) { + var26 = var20[var17 + var25 * 4 + 3]; + var27 = var20[var17 + var25 * 4 + 1]; + var28 = var20[var25 * 4 + 3]; + var29 = var20[var25 * 4 + 1]; + var20[var17 + var25 * 4 + 3] = var26 + var28; + var20[var17 + var25 * 4 + 1] = var27 + var29; + var30 = var40[var17 - 4 - var25 * 4]; + var31 = var40[var17 - 3 - var25 * 4]; + var20[var25 * 4 + 3] = (var26 - var28) * var30 - (var27 - var29) * var31; + var20[var25 * 4 + 1] = (var27 - var29) * var30 + (var26 - var28) * var31; + } + + var25 = Coord.iLog(var4 - 1); + + int var46; + int var47; + int var48; + int var49; + for(var46 = 0; var46 < var25 - 3; ++var46) { + var47 = var4 >> var46 + 2; + var48 = 8 << var46; + + for(var49 = 0; var49 < 2 << var46; ++var49) { + int var50 = var4 - var47 * var49 * 2; + int var51 = var4 - var47 * (var49 * 2 + 1); + + for(int var32 = 0; var32 < var4 >> var46 + 4; ++var32) { + int var33 = var32 * 4; + float var34 = var20[var50 - 1 - var33]; + float var35 = var20[var50 - 3 - var33]; + float var36 = var20[var51 - 1 - var33]; + float var37 = var20[var51 - 3 - var33]; + var20[var50 - 1 - var33] = var34 + var36; + var20[var50 - 3 - var33] = var35 + var37; + float var38 = var40[var32 * var48]; + float var39 = var40[var32 * var48 + 1]; + var20[var51 - 1 - var33] = (var34 - var36) * var38 - (var35 - var37) * var39; + var20[var51 - 3 - var33] = (var35 - var37) * var38 + (var34 - var36) * var39; + } + } + } + + for(var46 = 1; var46 < var19 - 1; ++var46) { + var47 = var24[var46]; + if (var46 < var47) { + var48 = var46 * 8; + var49 = var47 * 8; + var30 = var20[var48 + 1]; + var20[var48 + 1] = var20[var49 + 1]; + var20[var49 + 1] = var30; + var30 = var20[var48 + 3]; + var20[var48 + 3] = var20[var49 + 3]; + var20[var49 + 3] = var30; + var30 = var20[var48 + 5]; + var20[var48 + 5] = var20[var49 + 5]; + var20[var49 + 5] = var30; + var30 = var20[var48 + 7]; + var20[var48 + 7] = var20[var49 + 7]; + var20[var49 + 7] = var30; + } + } + + for(var46 = 0; var46 < var17; ++var46) { + var20[var46] = var20[var46 * 2 + 1]; + } + + for(var46 = 0; var46 < var19; ++var46) { + var20[var4 - 1 - var46 * 2] = var20[var46 * 4]; + var20[var4 - 2 - var46 * 2] = var20[var46 * 4 + 1]; + var20[var4 - var18 - 1 - var46 * 2] = var20[var46 * 4 + 2]; + var20[var4 - var18 - 2 - var46 * 2] = var20[var46 * 4 + 3]; + } + + for(var46 = 0; var46 < var19; ++var46) { + var27 = var23[var46 * 2]; + var28 = var23[var46 * 2 + 1]; + var29 = var20[var17 + var46 * 2]; + var30 = var20[var17 + var46 * 2 + 1]; + var31 = var20[var4 - 2 - var46 * 2]; + float var52 = var20[var4 - 1 - var46 * 2]; + float var53 = var28 * (var29 - var31) + var27 * (var30 + var52); + var20[var17 + var46 * 2] = (var29 + var31 + var53) * 0.5F; + var20[var4 - 2 - var46 * 2] = (var29 + var31 - var53) * 0.5F; + var53 = var28 * (var30 + var52) - var27 * (var29 - var31); + var20[var17 + var46 * 2 + 1] = (var30 - var52 + var53) * 0.5F; + var20[var4 - 1 - var46 * 2] = (-var30 + var52 + var53) * 0.5F; + } + + for(var46 = 0; var46 < var18; ++var46) { + var20[var46] = var20[var17 + var46 * 2] * var22[var46 * 2] + var20[var17 + var46 * 2 + 1] * var22[var46 * 2 + 1]; + var20[var17 - 1 - var46] = var20[var17 + var46 * 2] * var22[var46 * 2 + 1] - var20[var17 + var46 * 2 + 1] * var22[var46 * 2]; + } + + for(var46 = 0; var46 < var18; ++var46) { + var20[var46 + (var4 - var18)] = -var20[var46]; + } + + for(var46 = 0; var46 < var18; ++var46) { + var20[var46] = var20[var18 + var46]; + } + + for(var46 = 0; var46 < var18; ++var46) { + var20[var18 + var46] = -var20[var18 - var46 - 1]; + } + + for(var46 = 0; var46 < var18; ++var46) { + var20[var17 + var46] = var20[var4 - var46 - 1]; + } + + for(var46 = var8; var46 < var9; ++var46) { + var27 = (float)Math.sin(((double)(var46 - var8) + 0.5D) / (double)var10 * 0.5D * 3.141592653589793D); + field1391[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + + for(var46 = var11; var46 < var12; ++var46) { + var27 = (float)Math.sin(((double)(var46 - var11) + 0.5D) / (double)var13 * 0.5D * 3.141592653589793D + 1.5707963267948966D); + field1391[var46] *= (float)Math.sin(1.5707963267948966D * (double)var27 * (double)var27); + } + } + + float[] var41 = null; + if (this.field1385 > 0) { + var18 = var4 + this.field1385 >> 2; + var41 = new float[var18]; + int var43; + if (!this.field1393) { + for(var19 = 0; var19 < this.field1386; ++var19) { + var43 = var19 + (this.field1385 >> 1); + var41[var19] += this.field1384[var43]; + } + } + + if (!var15) { + for(var19 = var8; var19 < var4 >> 1; ++var19) { + var43 = var41.length - (var4 >> 1) + var19; + var41[var43] += field1391[var19]; + } + } + } + + float[] var54 = this.field1384; + this.field1384 = field1391; + field1391 = var54; + this.field1385 = var4; + this.field1386 = var12 - (var4 >> 1); + this.field1393 = var15; + return var41; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "([I)Ldm;" + ) + @Export("toRawSound") + RawSound toRawSound(int[] var1) { + if (var1 != null && var1[0] <= 0) { + return null; + } else { + if (this.samples == null) { + this.field1385 = 0; + this.field1384 = new float[VorbisSample_blockSize1]; + this.samples = new byte[this.sampleCount]; + this.field1398 = 0; + this.field1399 = 0; + } + + for(; this.field1399 < this.field1370.length; ++this.field1399) { + if (var1 != null && var1[0] <= 0) { + return null; + } + + float[] var2 = this.method2562(this.field1399); + if (var2 != null) { + int var3 = this.field1398; + int var4 = var2.length; + if (var4 > this.sampleCount - var3) { + var4 = this.sampleCount - var3; + } + + for(int var5 = 0; var5 < var4; ++var5) { + int var6 = (int)(128.0F + var2[var5] * 128.0F); + if ((var6 & -256) != 0) { + var6 = ~var6 >> 31; + } + + this.samples[var3++] = (byte)(var6 - 128); + } + + if (var1 != null) { + var1[0] -= var3 - this.field1398; + } + + this.field1398 = var3; + } + } + + this.field1384 = null; + byte[] var7 = this.samples; + this.samples = null; + return new RawSound(this.sampleRate, var7, this.start, this.end, this.field1371); + } + } + + @ObfuscatedName("n") + @Export("float32Unpack") + static float float32Unpack(int var0) { + int var1 = var0 & 2097151; + int var2 = var0 & Integer.MIN_VALUE; + int var3 = (var0 & 2145386496) >> 21; + if (var2 != 0) { + var1 = -var1; + } + + return (float)((double)var1 * Math.pow(2.0D, (double)(var3 - 788))); + } + + @ObfuscatedName("v") + @Export("VorbisSample_setData") + static void VorbisSample_setData(byte[] var0, int var1) { + VorbisSample_bytes = var0; + VorbisSample_byteOffset = var1; + VorbisSample_bitOffset = 0; + } + + @ObfuscatedName("d") + @Export("readBit") + static int readBit() { + int var0 = VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & 1; + ++VorbisSample_bitOffset; + VorbisSample_byteOffset += VorbisSample_bitOffset >> 3; + VorbisSample_bitOffset &= 7; + return var0; + } + + @ObfuscatedName("c") + @Export("readBits") + static int readBits(int var0) { + int var1 = 0; + + int var2; + int var3; + for(var2 = 0; var0 >= 8 - VorbisSample_bitOffset; var0 -= var3) { + var3 = 8 - VorbisSample_bitOffset; + int var4 = (1 << var3) - 1; + var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var4) << var2; + VorbisSample_bitOffset = 0; + ++VorbisSample_byteOffset; + var2 += var3; + } + + if (var0 > 0) { + var3 = (1 << var0) - 1; + var1 += (VorbisSample_bytes[VorbisSample_byteOffset] >> VorbisSample_bitOffset & var3) << var2; + VorbisSample_bitOffset += var0; + } + + return var1; + } + + @ObfuscatedName("h") + static void method2538(byte[] var0) { + VorbisSample_setData(var0, 0); + VorbisSample_blockSize0 = 1 << readBits(4); + VorbisSample_blockSize1 = 1 << readBits(4); + field1391 = new float[VorbisSample_blockSize1]; + + int var1; + int var2; + int var3; + int var4; + int var5; + for(var1 = 0; var1 < 2; ++var1) { + var2 = var1 != 0 ? VorbisSample_blockSize1 : VorbisSample_blockSize0; + var3 = var2 >> 1; + var4 = var2 >> 2; + var5 = var2 >> 3; + float[] var18 = new float[var3]; + + for(int var7 = 0; var7 < var4; ++var7) { + var18[var7 * 2] = (float)Math.cos((double)(var7 * 4) * 3.141592653589793D / (double)var2); + var18[var7 * 2 + 1] = -((float)Math.sin((double)(var7 * 4) * 3.141592653589793D / (double)var2)); + } + + float[] var19 = new float[var3]; + + for(int var8 = 0; var8 < var4; ++var8) { + var19[var8 * 2] = (float)Math.cos((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + var19[var8 * 2 + 1] = (float)Math.sin((double)(var8 * 2 + 1) * 3.141592653589793D / (double)(var2 * 2)); + } + + float[] var20 = new float[var4]; + + for(int var9 = 0; var9 < var5; ++var9) { + var20[var9 * 2] = (float)Math.cos((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2); + var20[var9 * 2 + 1] = -((float)Math.sin((double)(var9 * 4 + 2) * 3.141592653589793D / (double)var2)); + } + + int[] var21 = new int[var5]; + int var10 = Coord.iLog(var5 - 1); + + for(int var11 = 0; var11 < var5; ++var11) { + int var15 = var11; + int var16 = var10; + + int var17; + for(var17 = 0; var16 > 0; --var16) { + var17 = var17 << 1 | var15 & 1; + var15 >>>= 1; + } + + var21[var11] = var17; + } + + if (var1 != 0) { + field1392 = var18; + field1383 = var19; + field1394 = var20; + field1396 = var21; + } else { + field1389 = var18; + field1388 = var19; + field1382 = var20; + field1375 = var21; + } + } + + var1 = readBits(8) + 1; + VorbisSample_codebooks = new VorbisCodebook[var1]; + + for(var2 = 0; var2 < var1; ++var2) { + VorbisSample_codebooks[var2] = new VorbisCodebook(); + } + + var2 = readBits(6) + 1; + + for(var3 = 0; var3 < var2; ++var3) { + readBits(16); + } + + var2 = readBits(6) + 1; + VorbisSample_floors = new VorbisFloor[var2]; + + for(var3 = 0; var3 < var2; ++var3) { + VorbisSample_floors[var3] = new VorbisFloor(); + } + + var3 = readBits(6) + 1; + VorbisSample_residues = new VorbisResidue[var3]; + + for(var4 = 0; var4 < var3; ++var4) { + VorbisSample_residues[var4] = new VorbisResidue(); + } + + var4 = readBits(6) + 1; + VorbisSample_mappings = new VorbisMapping[var4]; + + for(var5 = 0; var5 < var4; ++var5) { + VorbisSample_mappings[var5] = new VorbisMapping(); + } + + var5 = readBits(6) + 1; + VorbisSample_blockFlags = new boolean[var5]; + VorbisSample_mapping = new int[var5]; + + for(int var6 = 0; var6 < var5; ++var6) { + VorbisSample_blockFlags[var6] = readBit() != 0; + readBits(16); + readBits(16); + VorbisSample_mapping[var6] = readBits(8); + } + + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Lig;)Z" + ) + static boolean method2575(AbstractArchive var0) { + if (!field1397) { + byte[] var1 = var0.takeFile(0, 0); + if (var1 == null) { + return false; + } + + method2538(var1); + field1397 = true; + } + + return true; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Lig;II)Ldl;" + ) + @Export("readMusicSample") + static VorbisSample readMusicSample(AbstractArchive var0, int var1, int var2) { + if (!method2575(var0)) { + var0.tryLoadFile(var1, var2); + return null; + } else { + byte[] var3 = var0.takeFile(var1, var2); + return var3 == null ? null : new VorbisSample(var3); + } + } } diff --git a/runescape-client/src/main/java/WallDecoration.java b/runescape-client/src/main/java/WallDecoration.java index fedcca2314..cb1c4cb122 100644 --- a/runescape-client/src/main/java/WallDecoration.java +++ b/runescape-client/src/main/java/WallDecoration.java @@ -4,99 +4,140 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ey") +@ObfuscatedName("eu") @Implements("WallDecoration") public final class WallDecoration { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1081581953 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -297749373 - ) - @Export("x") - int x; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 791976009 - ) - @Export("y") - int y; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1711892485 - ) - @Export("orientation") - int orientation; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1589340577 - ) - @Export("orientation2") - int orientation2; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1872177181 - ) - @Export("xOffset") - int xOffset; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1614504195 - ) - @Export("yOffset") - int yOffset; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity1") - public Renderable renderable1; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Ler;" - ) - @Export("entity2") - public Renderable renderable2; - @ObfuscatedName("z") - @ObfuscatedGetter( - longValue = 3554481859042868621L - ) - @Export("tag") - public long tag; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 542501961 - ) - @Export("flags") - int flags; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 964756049 + ) + @Export("clientTickTimeIdx") + static int clientTickTimeIdx; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 719575047 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -920611555 + ) + @Export("x") + int x; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -730740551 + ) + @Export("y") + int y; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 333766323 + ) + @Export("orientation") + int orientation; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1617230319 + ) + @Export("orientation2") + int orientation2; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 2092861143 + ) + @Export("xOffset") + int xOffset; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1518269047 + ) + @Export("yOffset") + int yOffset; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable1") + public Renderable renderable1; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lem;" + ) + @Export("renderable2") + public Renderable renderable2; + @ObfuscatedName("l") + @ObfuscatedGetter( + longValue = 1249498855339190201L + ) + @Export("tag") + public long tag = 0L; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1390179163 + ) + @Export("flags") + int flags = 0; - WallDecoration() { - this.tag = 0L; // L: 13 - this.flags = 0; // L: 14 - } // L: 16 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", + garbageValue = "699816166" + ) + public static String method3450(CharSequence var0) { + int var1 = var0.length(); + StringBuilder var2 = new StringBuilder(var1); - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(III)Lbg;", - garbageValue = "-876680442" - ) - @Export("Messages_getByChannelAndID") - static Message Messages_getByChannelAndID(int var0, int var1) { - ChatChannel var2 = (ChatChannel)Messages.Messages_channels.get(var0); // L: 39 - return var2.getMessage(var1); // L: 40 - } + for(int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if ((var4 < 'a' || var4 > 'z') && (var4 < 'A' || var4 > 'Z') && (var4 < '0' || var4 > '9') && var4 != '.' && var4 != '-' && var4 != '*' && var4 != '_') { + if (var4 == ' ') { + var2.append('+'); + } else { + byte var5 = LoginPacket.charToByteCp1252(var4); + var2.append('%'); + int var6 = var5 >> 4 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "613088833" - ) - public static void method3379() { - SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); // L: 122 - SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); // L: 123 - } // L: 124 + var6 = var5 & 15; + if (var6 >= 10) { + var2.append((char)(var6 + 55)); + } else { + var2.append((char)(var6 + 48)); + } + } + } else { + var2.append(var4); + } + } + + return var2.toString(); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Ljo;", + garbageValue = "1862361389" + ) + public static FloorOverlayDefinition method3449(int var0) { + FloorOverlayDefinition var1 = (FloorOverlayDefinition)FloorOverlayDefinition.FloorOverlayDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = FloorOverlayDefinition.FloorOverlayDefinition_archive.takeFile(4, var0); + var1 = new FloorOverlayDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2), var0); + } + + var1.postDecode(); + FloorOverlayDefinition.FloorOverlayDefinition_cached.put(var1, (long)var0); + return var1; + } + } } diff --git a/runescape-client/src/main/java/Widget.java b/runescape-client/src/main/java/Widget.java index c25c1e7d78..b2c975f733 100644 --- a/runescape-client/src/main/java/Widget.java +++ b/runescape-client/src/main/java/Widget.java @@ -3,1572 +3,1546 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("he") +@ObfuscatedName("hz") @Implements("Widget") public class Widget extends Node { - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("Widget_cachedSprites") - public static EvictingDualNodeHashTable Widget_cachedSprites; - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("Widget_cachedModels") - public static EvictingDualNodeHashTable Widget_cachedModels; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("Widget_cachedFonts") - public static EvictingDualNodeHashTable Widget_cachedFonts; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("Widget_cachedSpriteMasks") - public static EvictingDualNodeHashTable Widget_cachedSpriteMasks; - @ObfuscatedName("a") - public static boolean field2603; - @ObfuscatedName("b") - @Export("isIf3") - public boolean isIf3; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -437932207 - ) - @Export("id") - public int id; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 951345111 - ) - @Export("childIndex") - public int childIndex; - @ObfuscatedName("q") - @ObfuscatedGetter( - intValue = 1268940833 - ) - @Export("type") - public int type; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = -1862664277 - ) - @Export("buttonType") - public int buttonType; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -198743491 - ) - @Export("contentType") - public int contentType; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = -1898483217 - ) - @Export("xAlignment") - public int xAlignment; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1346571391 - ) - @Export("yAlignment") - public int yAlignment; - @ObfuscatedName("d") - @ObfuscatedGetter( - intValue = 1889947491 - ) - @Export("widthAlignment") - public int widthAlignment; - @ObfuscatedName("an") - @ObfuscatedGetter( - intValue = -531400749 - ) - @Export("heightAlignment") - public int heightAlignment; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = -800692123 - ) - @Export("rawX") - public int rawX; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = 382974687 - ) - @Export("rawY") - public int rawY; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = -1322726457 - ) - @Export("rawWidth") - public int rawWidth; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = 1644488463 - ) - @Export("rawHeight") - public int rawHeight; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1900410117 - ) - @Export("x") - public int x; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 747357693 - ) - @Export("y") - public int y; - @ObfuscatedName("ac") - @ObfuscatedGetter( - intValue = -832572509 - ) - @Export("width") - public int width; - @ObfuscatedName("ak") - @ObfuscatedGetter( - intValue = 1772768209 - ) - @Export("height") - public int height; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1349630747 - ) - public int field2660; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = -396518171 - ) - public int field2604; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = 2117837783 - ) - @Export("parentId") - public int parentId; - @ObfuscatedName("am") - @Export("isHidden") - public boolean isHidden; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = -709692579 - ) - @Export("scrollX") - public int scrollX; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = 1771973021 - ) - @Export("scrollY") - public int scrollY; - @ObfuscatedName("ab") - @ObfuscatedGetter( - intValue = -1515274153 - ) - @Export("scrollWidth") - public int scrollWidth; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = -1479373561 - ) - @Export("scrollHeight") - public int scrollHeight; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -1315662131 - ) - @Export("color") - public int color; - @ObfuscatedName("ad") - @ObfuscatedGetter( - intValue = 165176819 - ) - @Export("color2") - public int color2; - @ObfuscatedName("ai") - @ObfuscatedGetter( - intValue = 1061783441 - ) - @Export("mouseOverColor") - public int mouseOverColor; - @ObfuscatedName("al") - @ObfuscatedGetter( - intValue = -416430081 - ) - @Export("mouseOverColor2") - public int mouseOverColor2; - @ObfuscatedName("ay") - @Export("fill") - public boolean fill; - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "Llj;" - ) - @Export("fillMode") - public WidgetFillMode fillMode; - @ObfuscatedName("ar") - @ObfuscatedGetter( - intValue = -318915915 - ) - @Export("transparencyTop") - public int transparencyTop; - @ObfuscatedName("az") - @ObfuscatedGetter( - intValue = 761063403 - ) - @Export("transparencyBot") - public int transparencyBot; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = -1947378617 - ) - @Export("lineWid") - public int lineWid; - @ObfuscatedName("bh") - public boolean field2620; - @ObfuscatedName("by") - @ObfuscatedGetter( - intValue = -1999476695 - ) - @Export("spriteId2") - public int spriteId2; - @ObfuscatedName("bs") - @ObfuscatedGetter( - intValue = -1427429915 - ) - @Export("spriteId") - public int spriteId; - @ObfuscatedName("br") - @ObfuscatedGetter( - intValue = -1067627905 - ) - @Export("spriteAngle") - public int spriteAngle; - @ObfuscatedName("bl") - @Export("spriteTiling") - public boolean spriteTiling; - @ObfuscatedName("bx") - @ObfuscatedGetter( - intValue = 530627825 - ) - @Export("outline") - public int outline; - @ObfuscatedName("bf") - @ObfuscatedGetter( - intValue = 700546127 - ) - @Export("spriteShadow") - public int spriteShadow; - @ObfuscatedName("bz") - @Export("spriteFlipV") - public boolean spriteFlipV; - @ObfuscatedName("bm") - @Export("spriteFlipH") - public boolean spriteFlipH; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = -1216081495 - ) - @Export("modelType") - public int modelType; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = -503453445 - ) - @Export("modelId") - public int modelId; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = 614808645 - ) - @Export("modelType2") - int modelType2; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = 1013399743 - ) - @Export("modelId2") - int modelId2; - @ObfuscatedName("bk") - @ObfuscatedGetter( - intValue = 801294357 - ) - @Export("sequenceId") - public int sequenceId; - @ObfuscatedName("bw") - @ObfuscatedGetter( - intValue = -142244715 - ) - @Export("sequenceId2") - public int sequenceId2; - @ObfuscatedName("bo") - @ObfuscatedGetter( - intValue = -31767663 - ) - @Export("modelOffsetX") - public int modelOffsetX; - @ObfuscatedName("bj") - @ObfuscatedGetter( - intValue = 721853025 - ) - @Export("modelOffsetY") - public int modelOffsetY; - @ObfuscatedName("bu") - @ObfuscatedGetter( - intValue = 1324971467 - ) - @Export("modelAngleX") - public int modelAngleX; - @ObfuscatedName("bt") - @ObfuscatedGetter( - intValue = 1383766093 - ) - @Export("modelAngleY") - public int modelAngleY; - @ObfuscatedName("bb") - @ObfuscatedGetter( - intValue = -1080546289 - ) - @Export("modelAngleZ") - public int modelAngleZ; - @ObfuscatedName("bv") - @ObfuscatedGetter( - intValue = -1151246903 - ) - @Export("modelZoom") - public int modelZoom; - @ObfuscatedName("bg") - @ObfuscatedGetter( - intValue = -1446492125 - ) - public int field2641; - @ObfuscatedName("ba") - @ObfuscatedGetter( - intValue = 1121746929 - ) - public int field2642; - @ObfuscatedName("bq") - @Export("modelOrthog") - public boolean modelOrthog; - @ObfuscatedName("be") - @Export("modelTransparency") - public boolean modelTransparency; - @ObfuscatedName("bp") - @ObfuscatedGetter( - intValue = 1783042781 - ) - @Export("itemQuantityMode") - public int itemQuantityMode; - @ObfuscatedName("cx") - @ObfuscatedGetter( - intValue = -1451320085 - ) - @Export("fontId") - public int fontId; - @ObfuscatedName("ci") - @Export("text") - public String text; - @ObfuscatedName("cj") - @Export("text2") - public String text2; - @ObfuscatedName("ca") - @ObfuscatedGetter( - intValue = -413643261 - ) - @Export("textLineHeight") - public int textLineHeight; - @ObfuscatedName("cd") - @ObfuscatedGetter( - intValue = 258668731 - ) - @Export("textXAlignment") - public int textXAlignment; - @ObfuscatedName("cm") - @ObfuscatedGetter( - intValue = -1607527969 - ) - @Export("textYAlignment") - public int textYAlignment; - @ObfuscatedName("cz") - @Export("textShadowed") - public boolean textShadowed; - @ObfuscatedName("cc") - @ObfuscatedGetter( - intValue = 794981295 - ) - @Export("paddingX") - public int paddingX; - @ObfuscatedName("ce") - @ObfuscatedGetter( - intValue = -135649533 - ) - @Export("paddingY") - public int paddingY; - @ObfuscatedName("cb") - @Export("inventoryXOffsets") - public int[] inventoryXOffsets; - @ObfuscatedName("cf") - @Export("inventoryYOffsets") - public int[] inventoryYOffsets; - @ObfuscatedName("cr") - @Export("inventorySprites") - public int[] inventorySprites; - @ObfuscatedName("ch") - @Export("itemActions") - public String[] itemActions; - @ObfuscatedName("cq") - @ObfuscatedGetter( - intValue = -15083415 - ) - @Export("flags") - public int flags; - @ObfuscatedName("cl") - public boolean field2590; - @ObfuscatedName("cw") - public byte[][] field2649; - @ObfuscatedName("cp") - public byte[][] field2637; - @ObfuscatedName("cy") - public int[] field2679; - @ObfuscatedName("cg") - public int[] field2664; - @ObfuscatedName("dh") - @Export("dataText") - public String dataText; - @ObfuscatedName("dl") - @Export("actions") - public String[] actions; - @ObfuscatedName("du") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("parent") - public Widget parent; - @ObfuscatedName("de") - @ObfuscatedGetter( - intValue = 1469736299 - ) - @Export("dragZoneSize") - public int dragZoneSize; - @ObfuscatedName("dw") - @ObfuscatedGetter( - intValue = -1420143935 - ) - @Export("dragThreshold") - public int dragThreshold; - @ObfuscatedName("db") - @Export("isScrollBar") - public boolean isScrollBar; - @ObfuscatedName("dq") - @Export("spellActionName") - public String spellActionName; - @ObfuscatedName("dx") - @Export("hasListener") - public boolean hasListener; - @ObfuscatedName("df") - @Export("onLoad") - public Object[] onLoad; - @ObfuscatedName("dm") - @Export("onClick") - public Object[] onClick; - @ObfuscatedName("dp") - @Export("onClickRepeat") - public Object[] onClickRepeat; - @ObfuscatedName("dr") - @Export("onRelease") - public Object[] onRelease; - @ObfuscatedName("dt") - @Export("onHold") - public Object[] onHold; - @ObfuscatedName("ds") - @Export("onMouseOver") - public Object[] onMouseOver; - @ObfuscatedName("dv") - @Export("onMouseRepeat") - public Object[] onMouseRepeat; - @ObfuscatedName("dd") - @Export("onMouseLeave") - public Object[] onMouseLeave; - @ObfuscatedName("dy") - @Export("onDrag") - public Object[] onDrag; - @ObfuscatedName("dn") - @Export("onDragComplete") - public Object[] onDragComplete; - @ObfuscatedName("dj") - @Export("onTargetEnter") - public Object[] onTargetEnter; - @ObfuscatedName("da") - @Export("onTargetLeave") - public Object[] onTargetLeave; - @ObfuscatedName("di") - @Export("onVarTransmit") - public Object[] onVarTransmit; - @ObfuscatedName("do") - @Export("varTransmitTriggers") - public int[] varTransmitTriggers; - @ObfuscatedName("dc") - @Export("onInvTransmit") - public Object[] onInvTransmit; - @ObfuscatedName("dg") - @Export("invTransmitTriggers") - public int[] invTransmitTriggers; - @ObfuscatedName("dk") - @Export("onStatTransmit") - public Object[] onStatTransmit; - @ObfuscatedName("dz") - @Export("statTransmitTriggers") - public int[] statTransmitTriggers; - @ObfuscatedName("es") - @Export("onTimer") - public Object[] onTimer; - @ObfuscatedName("eq") - @Export("onOp") - public Object[] onOp; - @ObfuscatedName("em") - @Export("onScroll") - public Object[] onScroll; - @ObfuscatedName("eg") - @Export("onChatTransmit") - public Object[] onChatTransmit; - @ObfuscatedName("eu") - @Export("onKey") - public Object[] onKey; - @ObfuscatedName("ec") - @Export("onFriendTransmit") - public Object[] onFriendTransmit; - @ObfuscatedName("eh") - @Export("onClanTransmit") - public Object[] onClanTransmit; - @ObfuscatedName("ee") - @Export("onMiscTransmit") - public Object[] onMiscTransmit; - @ObfuscatedName("eb") - @Export("onDialogAbort") - public Object[] onDialogAbort; - @ObfuscatedName("ek") - @Export("onSubChange") - public Object[] onSubChange; - @ObfuscatedName("ew") - @Export("onResize") - public Object[] onResize; - @ObfuscatedName("ej") - @Export("onStockTransmit") - public Object[] onStockTransmit; - @ObfuscatedName("eo") - public Object[] field2703; - @ObfuscatedName("et") - @Export("cs1Instructions") - public int[][] cs1Instructions; - @ObfuscatedName("er") - @Export("cs1Comparisons") - public int[] cs1Comparisons; - @ObfuscatedName("ev") - @Export("cs1ComparisonValues") - public int[] cs1ComparisonValues; - @ObfuscatedName("ef") - @ObfuscatedGetter( - intValue = 258948825 - ) - @Export("mouseOverRedirect") - public int mouseOverRedirect; - @ObfuscatedName("ep") - @Export("spellName") - public String spellName; - @ObfuscatedName("ex") - @Export("buttonText") - public String buttonText; - @ObfuscatedName("ed") - @Export("itemIds") - public int[] itemIds; - @ObfuscatedName("ey") - @Export("itemQuantities") - public int[] itemQuantities; - @ObfuscatedName("el") - @ObfuscatedGetter( - intValue = 258014549 - ) - @Export("itemId") - public int itemId; - @ObfuscatedName("ea") - @ObfuscatedGetter( - intValue = -962806035 - ) - @Export("itemQuantity") - public int itemQuantity; - @ObfuscatedName("ei") - @ObfuscatedGetter( - intValue = -394848869 - ) - @Export("modelFrame") - public int modelFrame; - @ObfuscatedName("ez") - @ObfuscatedGetter( - intValue = -1837069957 - ) - @Export("modelFrameCycle") - public int modelFrameCycle; - @ObfuscatedName("en") - @ObfuscatedSignature( - descriptor = "[Lhe;" - ) - @Export("children") - public Widget[] children; - @ObfuscatedName("fn") - @Export("containsMouse") - public boolean containsMouse; - @ObfuscatedName("ft") - @Export("isClicked") - public boolean isClicked; - @ObfuscatedName("fr") - @ObfuscatedGetter( - intValue = -1866786949 - ) - public int field2719; - @ObfuscatedName("fe") - @ObfuscatedGetter( - intValue = -605544769 - ) - public int field2645; - @ObfuscatedName("fz") - @ObfuscatedGetter( - intValue = 1348194339 - ) - public int field2721; - @ObfuscatedName("fj") - @ObfuscatedGetter( - intValue = -229655759 - ) - public int field2725; - @ObfuscatedName("fp") - @ObfuscatedGetter( - intValue = 138352117 - ) - @Export("rootIndex") - public int rootIndex; - @ObfuscatedName("ff") - @ObfuscatedGetter( - intValue = -210635413 - ) - @Export("cycle") - public int cycle; - @ObfuscatedName("fs") - public int[] field2684; - @ObfuscatedName("fk") - @Export("noClickThrough") - public boolean noClickThrough; - @ObfuscatedName("fv") - @Export("noScrollThrough") - public boolean noScrollThrough; - @ObfuscatedName("fm") - @Export("prioritizeMenuEntry") - public boolean prioritizeMenuEntry; - - static { - Widget_cachedSprites = new EvictingDualNodeHashTable(200); // L: 31 - Widget_cachedModels = new EvictingDualNodeHashTable(50); // L: 32 - Widget_cachedFonts = new EvictingDualNodeHashTable(20); // L: 33 - Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); // L: 34 - field2603 = false; // L: 35 - } - - public Widget() { - this.isIf3 = false; // L: 36 - this.id = -1; // L: 37 - this.childIndex = -1; // L: 38 - this.buttonType = 0; // L: 40 - this.contentType = 0; // L: 41 - this.xAlignment = 0; // L: 42 - this.yAlignment = 0; // L: 43 - this.widthAlignment = 0; // L: 44 - this.heightAlignment = 0; // L: 45 - this.rawX = 0; // L: 46 - this.rawY = 0; // L: 47 - this.rawWidth = 0; // L: 48 - this.rawHeight = 0; // L: 49 - this.x = 0; // L: 50 - this.y = 0; // L: 51 - this.width = 0; // L: 52 - this.height = 0; // L: 53 - this.field2660 = 1; // L: 54 - this.field2604 = 1; // L: 55 - this.parentId = -1; // L: 56 - this.isHidden = false; // L: 57 - this.scrollX = 0; // L: 58 - this.scrollY = 0; // L: 59 - this.scrollWidth = 0; - this.scrollHeight = 0; - this.color = 0; - this.color2 = 0; - this.mouseOverColor = 0; - this.mouseOverColor2 = 0; - this.fill = false; - this.fillMode = WidgetFillMode.SOLID; - this.transparencyTop = 0; - this.transparencyBot = 0; - this.lineWid = 1; - this.field2620 = false; - this.spriteId2 = -1; // L: 72 - this.spriteId = -1; - this.spriteAngle = 0; // L: 74 - this.spriteTiling = false; - this.outline = 0; - this.spriteShadow = 0; - this.modelType = 1; - this.modelId = -1; - this.modelType2 = 1; - this.modelId2 = -1; - this.sequenceId = -1; - this.sequenceId2 = -1; - this.modelOffsetX = 0; // L: 86 - this.modelOffsetY = 0; // L: 87 - this.modelAngleX = 0; - this.modelAngleY = 0; - this.modelAngleZ = 0; - this.modelZoom = 100; // L: 91 - this.field2641 = 0; - this.field2642 = 0; // L: 93 - this.modelOrthog = false; // L: 94 - this.modelTransparency = false; // L: 95 - this.itemQuantityMode = 2; // L: 96 - this.fontId = -1; // L: 97 - this.text = ""; // L: 98 - this.text2 = ""; // L: 99 - this.textLineHeight = 0; // L: 100 - this.textXAlignment = 0; // L: 101 - this.textYAlignment = 0; // L: 102 - this.textShadowed = false; // L: 103 - this.paddingX = 0; // L: 104 - this.paddingY = 0; // L: 105 - this.flags = 0; // L: 110 - this.field2590 = false; // L: 111 - this.dataText = ""; // L: 120 - this.parent = null; // L: 122 - this.dragZoneSize = 0; // L: 123 - this.dragThreshold = 0; // L: 124 - this.isScrollBar = false; // L: 125 - this.spellActionName = ""; // L: 126 - this.hasListener = false; // L: 127 - this.mouseOverRedirect = -1; // L: 162 - this.spellName = ""; // L: 163 - this.buttonText = "Ok"; // L: 164 - this.itemId = -1; // L: 167 - this.itemQuantity = 0; // L: 168 - this.modelFrame = 0; // L: 169 - this.modelFrameCycle = 0; // L: 170 - this.containsMouse = false; // L: 172 - this.isClicked = false; // L: 173 - this.field2719 = -1; // L: 174 - this.field2645 = 0; // L: 175 - this.field2721 = 0; // L: 176 - this.field2725 = 0; // L: 177 - this.rootIndex = -1; // L: 178 - this.cycle = -1; // L: 179 - this.noClickThrough = false; // L: 181 - this.noScrollThrough = false; // L: 182 - this.prioritizeMenuEntry = false; // L: 183 - } // L: 682 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1734549663" - ) - @Export("decodeLegacy") - void decodeLegacy(Buffer var1) { - this.isIf3 = false; // L: 227 - this.type = var1.readUnsignedByte(); // L: 228 - this.buttonType = var1.readUnsignedByte(); // L: 229 - this.contentType = var1.readUnsignedShort(); // L: 230 - this.rawX = var1.readShort(); // L: 231 - this.rawY = var1.readShort(); // L: 232 - this.rawWidth = var1.readUnsignedShort(); // L: 233 - this.rawHeight = var1.readUnsignedShort(); // L: 234 - this.transparencyTop = var1.readUnsignedByte(); // L: 235 - this.parentId = var1.readUnsignedShort(); // L: 236 - if (this.parentId == 65535) { // L: 237 - this.parentId = -1; - } else { - this.parentId += this.id & -65536; // L: 238 - } - - this.mouseOverRedirect = var1.readUnsignedShort(); // L: 239 - if (this.mouseOverRedirect == 65535) { // L: 240 - this.mouseOverRedirect = -1; - } - - int var2 = var1.readUnsignedByte(); // L: 241 - int var3; - if (var2 > 0) { // L: 242 - this.cs1Comparisons = new int[var2]; // L: 243 - this.cs1ComparisonValues = new int[var2]; // L: 244 - - for (var3 = 0; var3 < var2; ++var3) { // L: 245 - this.cs1Comparisons[var3] = var1.readUnsignedByte(); // L: 246 - this.cs1ComparisonValues[var3] = var1.readUnsignedShort(); // L: 247 - } - } - - var3 = var1.readUnsignedByte(); // L: 250 - int var4; - int var5; - int var6; - if (var3 > 0) { // L: 251 - this.cs1Instructions = new int[var3][]; // L: 252 - - for (var4 = 0; var4 < var3; ++var4) { // L: 253 - var5 = var1.readUnsignedShort(); // L: 254 - this.cs1Instructions[var4] = new int[var5]; // L: 255 - - for (var6 = 0; var6 < var5; ++var6) { // L: 256 - this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); // L: 257 - if (this.cs1Instructions[var4][var6] == 65535) { // L: 258 - this.cs1Instructions[var4][var6] = -1; - } - } - } - } - - if (this.type == 0) { // L: 262 - this.scrollHeight = var1.readUnsignedShort(); // L: 263 - this.isHidden = var1.readUnsignedByte() == 1; // L: 264 - } - - if (this.type == 1) { // L: 266 - var1.readUnsignedShort(); // L: 267 - var1.readUnsignedByte(); // L: 268 - } - - if (this.type == 2) { // L: 270 - this.itemIds = new int[this.rawWidth * this.rawHeight]; // L: 271 - this.itemQuantities = new int[this.rawHeight * this.rawWidth]; // L: 272 - var4 = var1.readUnsignedByte(); // L: 273 - if (var4 == 1) { // L: 274 - this.flags |= 268435456; - } - - var5 = var1.readUnsignedByte(); // L: 275 - if (var5 == 1) { // L: 276 - this.flags |= 1073741824; - } - - var6 = var1.readUnsignedByte(); // L: 277 - if (var6 == 1) { // L: 278 - this.flags |= Integer.MIN_VALUE; - } - - int var7 = var1.readUnsignedByte(); // L: 279 - if (var7 == 1) { // L: 280 - this.flags |= 536870912; - } - - this.paddingX = var1.readUnsignedByte(); // L: 281 - this.paddingY = var1.readUnsignedByte(); // L: 282 - this.inventoryXOffsets = new int[20]; // L: 283 - this.inventoryYOffsets = new int[20]; // L: 284 - this.inventorySprites = new int[20]; // L: 285 - - int var8; - for (var8 = 0; var8 < 20; ++var8) { // L: 286 - int var11 = var1.readUnsignedByte(); // L: 287 - if (var11 == 1) { // L: 288 - this.inventoryXOffsets[var8] = var1.readShort(); // L: 289 - this.inventoryYOffsets[var8] = var1.readShort(); // L: 290 - this.inventorySprites[var8] = var1.readInt(); // L: 291 - } else { - this.inventorySprites[var8] = -1; // L: 293 - } - } - - this.itemActions = new String[5]; // L: 295 - - for (var8 = 0; var8 < 5; ++var8) { // L: 296 - String var9 = var1.readStringCp1252NullTerminated(); // L: 297 - if (var9.length() > 0) { // L: 298 - this.itemActions[var8] = var9; // L: 299 - this.flags |= 1 << var8 + 23; // L: 300 - } - } - } - - if (this.type == 3) { // L: 304 - this.fill = var1.readUnsignedByte() == 1; // L: 305 - } - - if (this.type == 4 || this.type == 1) { // L: 307 - this.textXAlignment = var1.readUnsignedByte(); // L: 308 - this.textYAlignment = var1.readUnsignedByte(); // L: 309 - this.textLineHeight = var1.readUnsignedByte(); // L: 310 - this.fontId = var1.readUnsignedShort(); // L: 311 - if (this.fontId == 65535) { // L: 312 - this.fontId = -1; - } - - this.textShadowed = var1.readUnsignedByte() == 1; // L: 313 - } - - if (this.type == 4) { // L: 315 - this.text = var1.readStringCp1252NullTerminated(); // L: 316 - this.text2 = var1.readStringCp1252NullTerminated(); // L: 317 - } - - if (this.type == 1 || this.type == 3 || this.type == 4) { // L: 319 - this.color = var1.readInt(); - } - - if (this.type == 3 || this.type == 4) { // L: 320 - this.color2 = var1.readInt(); // L: 321 - this.mouseOverColor = var1.readInt(); // L: 322 - this.mouseOverColor2 = var1.readInt(); // L: 323 - } - - if (this.type == 5) { // L: 325 - this.spriteId2 = var1.readInt(); // L: 326 - this.spriteId = var1.readInt(); // L: 327 - } - - if (this.type == 6) { // L: 329 - this.modelType = 1; // L: 330 - this.modelId = var1.readUnsignedShort(); // L: 331 - if (this.modelId == 65535) { // L: 332 - this.modelId = -1; - } - - this.modelType2 = 1; // L: 333 - this.modelId2 = var1.readUnsignedShort(); // L: 334 - if (this.modelId2 == 65535) { // L: 335 - this.modelId2 = -1; - } - - this.sequenceId = var1.readUnsignedShort(); // L: 336 - if (this.sequenceId == 65535) { // L: 337 - this.sequenceId = -1; - } - - this.sequenceId2 = var1.readUnsignedShort(); // L: 338 - if (this.sequenceId2 == 65535) { // L: 339 - this.sequenceId2 = -1; - } - - this.modelZoom = var1.readUnsignedShort(); // L: 340 - this.modelAngleX = var1.readUnsignedShort(); // L: 341 - this.modelAngleY = var1.readUnsignedShort(); // L: 342 - } - - if (this.type == 7) { // L: 344 - this.itemIds = new int[this.rawWidth * this.rawHeight]; // L: 345 - this.itemQuantities = new int[this.rawHeight * this.rawWidth]; // L: 346 - this.textXAlignment = var1.readUnsignedByte(); // L: 347 - this.fontId = var1.readUnsignedShort(); // L: 348 - if (this.fontId == 65535) { // L: 349 - this.fontId = -1; - } - - this.textShadowed = var1.readUnsignedByte() == 1; // L: 350 - this.color = var1.readInt(); // L: 351 - this.paddingX = var1.readShort(); // L: 352 - this.paddingY = var1.readShort(); // L: 353 - var4 = var1.readUnsignedByte(); // L: 354 - if (var4 == 1) { - this.flags |= 1073741824; // L: 355 - } - - this.itemActions = new String[5]; // L: 356 - - for (var5 = 0; var5 < 5; ++var5) { // L: 357 - String var10 = var1.readStringCp1252NullTerminated(); // L: 358 - if (var10.length() > 0) { // L: 359 - this.itemActions[var5] = var10; // L: 360 - this.flags |= 1 << var5 + 23; // L: 361 - } - } - } - - if (this.type == 8) { // L: 365 - this.text = var1.readStringCp1252NullTerminated(); // L: 366 - } - - if (this.buttonType == 2 || this.type == 2) { // L: 368 - this.spellActionName = var1.readStringCp1252NullTerminated(); // L: 369 - this.spellName = var1.readStringCp1252NullTerminated(); // L: 370 - var4 = var1.readUnsignedShort() & 63; // L: 371 - this.flags |= var4 << 11; // L: 372 - } - - if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { // L: 374 - this.buttonText = var1.readStringCp1252NullTerminated(); // L: 375 - if (this.buttonText.length() == 0) { // L: 376 - if (this.buttonType == 1) { // L: 377 - this.buttonText = "Ok"; - } - - if (this.buttonType == 4) { // L: 378 - this.buttonText = "Select"; - } - - if (this.buttonType == 5) { // L: 379 - this.buttonText = "Select"; - } - - if (this.buttonType == 6) { // L: 380 - this.buttonText = "Continue"; - } - } - } - - if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { // L: 383 - this.flags |= 4194304; // L: 384 - } - - if (this.buttonType == 6) { // L: 386 - this.flags |= 1; // L: 387 - } - - } // L: 389 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "-2" - ) - @Export("decode") - void decode(Buffer var1) { - var1.readUnsignedByte(); // L: 392 - this.isIf3 = true; // L: 393 - this.type = var1.readUnsignedByte(); // L: 394 - this.contentType = var1.readUnsignedShort(); // L: 395 - this.rawX = var1.readShort(); // L: 396 - this.rawY = var1.readShort(); // L: 397 - this.rawWidth = var1.readUnsignedShort(); // L: 398 - if (this.type == 9) { // L: 399 - this.rawHeight = var1.readShort(); - } else { - this.rawHeight = var1.readUnsignedShort(); // L: 400 - } - - this.widthAlignment = var1.readByte(); // L: 401 - this.heightAlignment = var1.readByte(); // L: 402 - this.xAlignment = var1.readByte(); // L: 403 - this.yAlignment = var1.readByte(); // L: 404 - this.parentId = var1.readUnsignedShort(); // L: 405 - if (this.parentId == 65535) { // L: 406 - this.parentId = -1; - } else { - this.parentId += this.id & -65536; // L: 407 - } - - this.isHidden = var1.readUnsignedByte() == 1; // L: 408 - if (this.type == 0) { // L: 409 - this.scrollWidth = var1.readUnsignedShort(); // L: 410 - this.scrollHeight = var1.readUnsignedShort(); // L: 411 - this.noClickThrough = var1.readUnsignedByte() == 1; // L: 412 - } - - if (this.type == 5) { // L: 414 - this.spriteId2 = var1.readInt(); // L: 415 - this.spriteAngle = var1.readUnsignedShort(); // L: 416 - this.spriteTiling = var1.readUnsignedByte() == 1; // L: 417 - this.transparencyTop = var1.readUnsignedByte(); // L: 418 - this.outline = var1.readUnsignedByte(); // L: 419 - this.spriteShadow = var1.readInt(); // L: 420 - this.spriteFlipV = var1.readUnsignedByte() == 1; // L: 421 - this.spriteFlipH = var1.readUnsignedByte() == 1; // L: 422 - } - - if (this.type == 6) { // L: 424 - this.modelType = 1; // L: 425 - this.modelId = var1.readUnsignedShort(); // L: 426 - if (this.modelId == 65535) { // L: 427 - this.modelId = -1; - } - - this.modelOffsetX = var1.readShort(); // L: 428 - this.modelOffsetY = var1.readShort(); // L: 429 - this.modelAngleX = var1.readUnsignedShort(); // L: 430 - this.modelAngleY = var1.readUnsignedShort(); // L: 431 - this.modelAngleZ = var1.readUnsignedShort(); // L: 432 - this.modelZoom = var1.readUnsignedShort(); // L: 433 - this.sequenceId = var1.readUnsignedShort(); // L: 434 - if (this.sequenceId == 65535) { // L: 435 - this.sequenceId = -1; - } - - this.modelOrthog = var1.readUnsignedByte() == 1; // L: 436 - var1.readUnsignedShort(); // L: 437 - if (this.widthAlignment != 0) { // L: 438 - this.field2641 = var1.readUnsignedShort(); - } - - if (this.heightAlignment != 0) { // L: 439 - var1.readUnsignedShort(); // L: 440 - } - } - - if (this.type == 4) { // L: 443 - this.fontId = var1.readUnsignedShort(); // L: 444 - if (this.fontId == 65535) { // L: 445 - this.fontId = -1; - } - - this.text = var1.readStringCp1252NullTerminated(); // L: 446 - this.textLineHeight = var1.readUnsignedByte(); // L: 447 - this.textXAlignment = var1.readUnsignedByte(); // L: 448 - this.textYAlignment = var1.readUnsignedByte(); // L: 449 - this.textShadowed = var1.readUnsignedByte() == 1; // L: 450 - this.color = var1.readInt(); // L: 451 - } - - if (this.type == 3) { // L: 453 - this.color = var1.readInt(); // L: 454 - this.fill = var1.readUnsignedByte() == 1; // L: 455 - this.transparencyTop = var1.readUnsignedByte(); // L: 456 - } - - if (this.type == 9) { // L: 458 - this.lineWid = var1.readUnsignedByte(); // L: 459 - this.color = var1.readInt(); // L: 460 - this.field2620 = var1.readUnsignedByte() == 1; // L: 461 - } - - this.flags = var1.readMedium(); // L: 463 - this.dataText = var1.readStringCp1252NullTerminated(); // L: 464 - int var2 = var1.readUnsignedByte(); // L: 465 - if (var2 > 0) { // L: 466 - this.actions = new String[var2]; // L: 467 - - for (int var3 = 0; var3 < var2; ++var3) { // L: 468 - this.actions[var3] = var1.readStringCp1252NullTerminated(); - } - } - - this.dragZoneSize = var1.readUnsignedByte(); // L: 470 - this.dragThreshold = var1.readUnsignedByte(); // L: 471 - this.isScrollBar = var1.readUnsignedByte() == 1; // L: 472 - this.spellActionName = var1.readStringCp1252NullTerminated(); // L: 473 - this.onLoad = this.readListener(var1); // L: 474 - this.onMouseOver = this.readListener(var1); // L: 475 - this.onMouseLeave = this.readListener(var1); // L: 476 - this.onTargetLeave = this.readListener(var1); // L: 477 - this.onTargetEnter = this.readListener(var1); // L: 478 - this.onVarTransmit = this.readListener(var1); // L: 479 - this.onInvTransmit = this.readListener(var1); // L: 480 - this.onStatTransmit = this.readListener(var1); // L: 481 - this.onTimer = this.readListener(var1); // L: 482 - this.onOp = this.readListener(var1); // L: 483 - this.onMouseRepeat = this.readListener(var1); // L: 484 - this.onClick = this.readListener(var1); // L: 485 - this.onClickRepeat = this.readListener(var1); // L: 486 - this.onRelease = this.readListener(var1); // L: 487 - this.onHold = this.readListener(var1); // L: 488 - this.onDrag = this.readListener(var1); // L: 489 - this.onDragComplete = this.readListener(var1); // L: 490 - this.onScroll = this.readListener(var1); // L: 491 - this.varTransmitTriggers = this.readListenerTriggers(var1); // L: 492 - this.invTransmitTriggers = this.readListenerTriggers(var1); // L: 493 - this.statTransmitTriggers = this.readListenerTriggers(var1); // L: 494 - } // L: 495 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;I)[Ljava/lang/Object;", - garbageValue = "-747120554" - ) - @Export("readListener") - Object[] readListener(Buffer var1) { - int var2 = var1.readUnsignedByte(); // L: 498 - if (var2 == 0) { // L: 499 - return null; - } else { - Object[] var3 = new Object[var2]; // L: 500 - - for (int var4 = 0; var4 < var2; ++var4) { // L: 501 - int var5 = var1.readUnsignedByte(); // L: 502 - if (var5 == 0) { - var3[var4] = new Integer(var1.readInt()); // L: 503 - } else if (var5 == 1) { // L: 504 - var3[var4] = var1.readStringCp1252NullTerminated(); - } - } - - this.hasListener = true; // L: 506 - return var3; // L: 507 - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lkj;I)[I", - garbageValue = "-149240461" - ) - @Export("readListenerTriggers") - int[] readListenerTriggers(Buffer var1) { - int var2 = var1.readUnsignedByte(); // L: 511 - if (var2 == 0) { // L: 512 - return null; - } else { - int[] var3 = new int[var2]; // L: 513 - - for (int var4 = 0; var4 < var2; ++var4) { // L: 514 - var3[var4] = var1.readInt(); // L: 515 - } - - return var3; // L: 517 - } - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "90" - ) - @Export("swapItems") - public void swapItems(int var1, int var2) { - int var3 = this.itemIds[var2]; // L: 521 - this.itemIds[var2] = this.itemIds[var1]; // L: 522 - this.itemIds[var1] = var3; // L: 523 - var3 = this.itemQuantities[var2]; // L: 524 - this.itemQuantities[var2] = this.itemQuantities[var1]; // L: 525 - this.itemQuantities[var1] = var3; // L: 526 - } // L: 527 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(ZB)Llm;", - garbageValue = "14" - ) - @Export("getSprite") - public SpritePixels getSprite(boolean var1) { - field2603 = false; // L: 530 - int var2; - if (var1) { // L: 532 - var2 = this.spriteId; - } else { - var2 = this.spriteId2; // L: 533 - } - - if (var2 == -1) { // L: 534 - return null; - } else { - long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); // L: 535 - SpritePixels var5 = (SpritePixels)Widget_cachedSprites.get(var3); // L: 536 - if (var5 != null) { // L: 537 - return var5; - } else { - var5 = Skills.SpriteBuffer_getSprite(class1.Widget_spritesArchive, var2, 0); // L: 538 - if (var5 == null) { // L: 539 - field2603 = true; // L: 540 - return null; // L: 541 - } else { - if (this.spriteFlipV) { // L: 543 - var5.flipVertically(); - } - - if (this.spriteFlipH) { // L: 544 - var5.flipHorizontally(); - } - - if (this.outline > 0) { // L: 545 - var5.pad(this.outline); - } - - if (this.outline >= 1) { // L: 546 - var5.outline(1); - } - - if (this.outline >= 2) { // L: 547 - var5.outline(16777215); - } - - if (this.spriteShadow != 0) { // L: 548 - var5.shadow(this.spriteShadow); - } - - Widget_cachedSprites.put(var5, var3); // L: 549 - return var5; // L: 550 - } - } - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)Lku;", - garbageValue = "521072072" - ) - @Export("getFont") - public Font getFont() { - field2603 = false; // L: 554 - if (this.fontId == -1) { // L: 555 - return null; - } else { - Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); // L: 556 - if (var1 != null) { // L: 557 - return var1; - } else { - var1 = PrivateChatMode.method5934(class1.Widget_spritesArchive, Bounds.Widget_fontsArchive, this.fontId, 0); // L: 558 - if (var1 != null) { - Widget_cachedFonts.put(var1, (long)this.fontId); // L: 559 - } else { - field2603 = true; // L: 560 - } - - return var1; // L: 561 - } - } - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(II)Llm;", - garbageValue = "1550530577" - ) - @Export("getInventorySprite") - public SpritePixels getInventorySprite(int var1) { - field2603 = false; // L: 565 - if (var1 >= 0 && var1 < this.inventorySprites.length) { // L: 566 - int var2 = this.inventorySprites[var1]; // L: 567 - if (var2 == -1) { // L: 568 - return null; - } else { - SpritePixels var3 = (SpritePixels)Widget_cachedSprites.get((long)var2); // L: 569 - if (var3 != null) { // L: 570 - return var3; - } else { - var3 = Skills.SpriteBuffer_getSprite(class1.Widget_spritesArchive, var2, 0); // L: 571 - if (var3 != null) { // L: 572 - Widget_cachedSprites.put(var3, (long)var2); - } else { - field2603 = true; // L: 573 - } - - return var3; // L: 574 - } - } - } else { - return null; - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(Ljy;IZLhh;I)Leh;", - garbageValue = "-2117213889" - ) - @Export("getModel") - public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerComposition var4) { - field2603 = false; // L: 578 - int var5; - int var6; - if (var3) { // L: 581 - var5 = this.modelType2; // L: 582 - var6 = this.modelId2; // L: 583 - } else { - var5 = this.modelType; // L: 586 - var6 = this.modelId; // L: 587 - } - - if (var5 == 0) { // L: 589 - return null; - } else if (var5 == 1 && var6 == -1) { // L: 590 - return null; - } else { - Model var7 = (Model)Widget_cachedModels.get((long)(var6 + (var5 << 16))); // L: 591 - if (var7 == null) { // L: 592 - ModelData var8; - if (var5 == 1) { // L: 594 - var8 = ModelData.ModelData_get(GrandExchangeOfferWorldComparator.Widget_modelsArchive, var6, 0); // L: 595 - if (var8 == null) { // L: 596 - field2603 = true; // L: 597 - return null; // L: 598 - } - - var7 = var8.toModel(64, 768, -50, -10, -50); // L: 600 - } - - if (var5 == 2) { // L: 602 - var8 = WorldMapIcon_0.getNpcDefinition(var6).getModelData(); // L: 603 - if (var8 == null) { // L: 604 - field2603 = true; // L: 605 - return null; // L: 606 - } - - var7 = var8.toModel(64, 768, -50, -10, -50); // L: 608 - } - - if (var5 == 3) { // L: 610 - if (var4 == null) { // L: 611 - return null; - } - - var8 = var4.getModelData(); // L: 612 - if (var8 == null) { // L: 613 - field2603 = true; // L: 614 - return null; // L: 615 - } - - var7 = var8.toModel(64, 768, -50, -10, -50); // L: 617 - } - - if (var5 == 4) { // L: 619 - ItemComposition var9 = SecureRandomCallable.ItemDefinition_get(var6); // L: 620 - var8 = var9.getModelData(10); // L: 621 - if (var8 == null) { // L: 622 - field2603 = true; // L: 623 - return null; // L: 624 - } - - var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); // L: 626 - } - - Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); // L: 628 - } - - if (var1 != null) { // L: 630 - var7 = var1.transformWidgetModel(var7, var2); // L: 631 - } - - return var7; // L: 633 - } - } - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(ZB)Lho;", - garbageValue = "-21" - ) - @Export("getSpriteMask") - public SpriteMask getSpriteMask(boolean var1) { - if (this.spriteId == -1) { // L: 637 - var1 = false; - } - - int var2 = var1 ? this.spriteId * -815296531 * -1427429915 : this.spriteId2 * -1999476695 * 325039129; // L: 638 - if (var2 == -1) { // L: 639 - return null; - } else { - long var3 = ((long)this.spriteShadow << 40) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.outline << 36) + (long)var2 + ((this.spriteFlipH ? 1L : 0L) << 39); // L: 640 - SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); // L: 641 - if (var5 != null) { // L: 642 - return var5; - } else { - SpritePixels var6 = this.getSprite(var1); // L: 643 - if (var6 == null) { // L: 644 - return null; - } else { - SpritePixels var7 = var6.copyNormalized(); // L: 645 - int[] var8 = new int[var7.subHeight]; // L: 646 - int[] var9 = new int[var7.subHeight]; // L: 647 - - for (int var10 = 0; var10 < var7.subHeight; ++var10) { // L: 648 - int var11 = 0; // L: 649 - int var12 = var7.subWidth; // L: 650 - - int var13; - for (var13 = 0; var13 < var7.subWidth; ++var13) { // L: 651 - if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { // L: 652 - var11 = var13; // L: 653 - break; - } - } - - for (var13 = var7.subWidth - 1; var13 >= var11; --var13) { // L: 657 - if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { // L: 658 - var12 = var13 + 1; // L: 659 - break; - } - } - - var8[var10] = var11; // L: 663 - var9[var10] = var12 - var11; // L: 664 - } - - var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); // L: 666 - Widget_cachedSpriteMasks.put(var5, var3); // L: 667 - return var5; // L: 668 - } - } - } - } - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;I)V", - garbageValue = "925556129" - ) - @Export("setAction") - public void setAction(int var1, String var2) { - if (this.actions == null || this.actions.length <= var1) { // L: 672 - String[] var3 = new String[var1 + 1]; // L: 673 - if (this.actions != null) { // L: 674 - for (int var4 = 0; var4 < this.actions.length; ++var4) { // L: 675 - var3[var4] = this.actions[var4]; - } - } - - this.actions = var3; // L: 677 - } - - this.actions[var1] = var2; // L: 679 - } // L: 680 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lil;IIIBZI)V", - garbageValue = "452837182" - ) - @Export("requestNetFile") - static void requestNetFile(Archive var0, int var1, int var2, int var3, byte var4, boolean var5) { - long var6 = (long)((var1 << 16) + var2); // L: 60 - NetFileRequest var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityWrites.get(var6); // L: 61 - if (var8 == null) { // L: 62 - var8 = (NetFileRequest)NetCache.NetCache_pendingPriorityResponses.get(var6); // L: 63 - if (var8 == null) { // L: 64 - var8 = (NetFileRequest)NetCache.NetCache_pendingWrites.get(var6); // L: 65 - if (var8 != null) { // L: 66 - if (var5) { // L: 67 - var8.removeDual(); // L: 68 - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); - --NetCache.NetCache_pendingWritesCount; // L: 70 - ++NetCache.NetCache_pendingPriorityWritesCount; // L: 71 - } - - } else { - if (!var5) { // L: 75 - var8 = (NetFileRequest)NetCache.NetCache_pendingResponses.get(var6); // L: 76 - if (var8 != null) { // L: 77 - return; - } - } - - var8 = new NetFileRequest(); // L: 79 - var8.archive = var0; // L: 80 - var8.crc = var3; // L: 81 - var8.padding = var4; // L: 82 - if (var5) { // L: 83 - NetCache.NetCache_pendingPriorityWrites.put(var8, var6); // L: 84 - ++NetCache.NetCache_pendingPriorityWritesCount; // L: 85 - } else { - NetCache.NetCache_pendingWritesQueue.addFirst(var8); // L: 88 - NetCache.NetCache_pendingWrites.put(var8, var6); // L: 89 - ++NetCache.NetCache_pendingWritesCount; // L: 90 - } - - } - } - } - } // L: 73 92 - - @ObfuscatedName("j") - @Export("Entity_unpackSceneX") - public static int Entity_unpackSceneX(long var0) { - return (int)(var0 >>> 14 & 3L); // L: 69 - } + @ObfuscatedName("e") + @Export("Widget_loadedInterfaces") + public static boolean[] Widget_loadedInterfaces; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("Widget_fontsArchive") + static AbstractArchive Widget_fontsArchive; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("Widget_cachedSprites") + static EvictingDualNodeHashTable Widget_cachedSprites = new EvictingDualNodeHashTable(200); + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("Widget_cachedModels") + static EvictingDualNodeHashTable Widget_cachedModels = new EvictingDualNodeHashTable(50); + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("Widget_cachedFonts") + static EvictingDualNodeHashTable Widget_cachedFonts = new EvictingDualNodeHashTable(20); + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("Widget_cachedSpriteMasks") + static EvictingDualNodeHashTable Widget_cachedSpriteMasks = new EvictingDualNodeHashTable(8); + @ObfuscatedName("x") + public static boolean field2591 = false; + @ObfuscatedName("f") + @Export("isIf3") + public boolean isIf3 = false; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = 584503877 + ) + @Export("id") + public int id = -1; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -572555511 + ) + @Export("childIndex") + public int childIndex = -1; + @ObfuscatedName("t") + @ObfuscatedGetter( + intValue = 1058288237 + ) + @Export("type") + public int type; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1437398639 + ) + @Export("buttonType") + public int buttonType = 0; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 950643501 + ) + @Export("contentType") + public int contentType = 0; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = 1444067651 + ) + @Export("xAlignment") + public int xAlignment = 0; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 61587371 + ) + @Export("yAlignment") + public int yAlignment = 0; + @ObfuscatedName("j") + @ObfuscatedGetter( + intValue = -748645369 + ) + @Export("widthAlignment") + public int widthAlignment = 0; + @ObfuscatedName("ay") + @ObfuscatedGetter( + intValue = 1468744315 + ) + @Export("heightAlignment") + public int heightAlignment = 0; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 103560479 + ) + @Export("rawX") + public int rawX = 0; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -519325005 + ) + @Export("rawY") + public int rawY = 0; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -76139235 + ) + @Export("rawWidth") + public int rawWidth = 0; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -776487251 + ) + @Export("rawHeight") + public int rawHeight = 0; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 858952753 + ) + @Export("x") + public int x = 0; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = 1333739283 + ) + @Export("y") + public int y = 0; + @ObfuscatedName("ak") + @ObfuscatedGetter( + intValue = -1593306137 + ) + @Export("width") + public int width = 0; + @ObfuscatedName("ax") + @ObfuscatedGetter( + intValue = -937018705 + ) + @Export("height") + public int height = 0; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = 2022992129 + ) + public int field2610 = 1; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = -1312652811 + ) + public int field2611 = 1; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -624975397 + ) + @Export("parentId") + public int parentId = -1; + @ObfuscatedName("as") + @Export("isHidden") + public boolean isHidden = false; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -963861053 + ) + @Export("scrollX") + public int scrollX = 0; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -1198753763 + ) + @Export("scrollY") + public int scrollY = 0; + @ObfuscatedName("ah") + @ObfuscatedGetter( + intValue = 262059497 + ) + @Export("scrollWidth") + public int scrollWidth = 0; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = 1576927071 + ) + @Export("scrollHeight") + public int scrollHeight = 0; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 23277245 + ) + @Export("color") + public int color = 0; + @ObfuscatedName("an") + @ObfuscatedGetter( + intValue = -164131939 + ) + @Export("color2") + public int color2 = 0; + @ObfuscatedName("ai") + @ObfuscatedGetter( + intValue = -71444347 + ) + @Export("mouseOverColor") + public int mouseOverColor = 0; + @ObfuscatedName("ab") + @ObfuscatedGetter( + intValue = 1701318471 + ) + @Export("mouseOverColor2") + public int mouseOverColor2 = 0; + @ObfuscatedName("au") + @Export("fill") + public boolean fill = false; + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "Llp;" + ) + @Export("fillMode") + public WidgetFillMode fillMode; + @ObfuscatedName("af") + @ObfuscatedGetter( + intValue = -517594781 + ) + @Export("transparencyTop") + public int transparencyTop; + @ObfuscatedName("av") + @ObfuscatedGetter( + intValue = 703155759 + ) + @Export("transparencyBot") + public int transparencyBot; + @ObfuscatedName("ao") + @ObfuscatedGetter( + intValue = -434003147 + ) + @Export("lineWid") + public int lineWid; + @ObfuscatedName("bj") + public boolean field2627; + @ObfuscatedName("bn") + @ObfuscatedGetter( + intValue = -1886053401 + ) + @Export("spriteId2") + public int spriteId2; + @ObfuscatedName("bi") + @ObfuscatedGetter( + intValue = 506442589 + ) + @Export("spriteId") + public int spriteId; + @ObfuscatedName("bp") + @ObfuscatedGetter( + intValue = 302006269 + ) + @Export("spriteAngle") + public int spriteAngle; + @ObfuscatedName("br") + @Export("spriteTiling") + public boolean spriteTiling; + @ObfuscatedName("bq") + @ObfuscatedGetter( + intValue = 790935343 + ) + @Export("outline") + public int outline; + @ObfuscatedName("bx") + @ObfuscatedGetter( + intValue = -319259827 + ) + @Export("spriteShadow") + public int spriteShadow; + @ObfuscatedName("bc") + @Export("spriteFlipV") + public boolean spriteFlipV; + @ObfuscatedName("bw") + @Export("spriteFlipH") + public boolean spriteFlipH; + @ObfuscatedName("bv") + @ObfuscatedGetter( + intValue = 1855366631 + ) + @Export("modelType") + public int modelType; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = -1644049389 + ) + @Export("modelId") + public int modelId; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = 720841123 + ) + @Export("modelType2") + int modelType2; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -376137673 + ) + @Export("modelId2") + int modelId2; + @ObfuscatedName("bz") + @ObfuscatedGetter( + intValue = 1628856543 + ) + @Export("sequenceId") + public int sequenceId; + @ObfuscatedName("bg") + @ObfuscatedGetter( + intValue = -1256829773 + ) + @Export("sequenceId2") + public int sequenceId2; + @ObfuscatedName("bm") + @ObfuscatedGetter( + intValue = -1988544673 + ) + @Export("modelOffsetX") + public int modelOffsetX; + @ObfuscatedName("bf") + @ObfuscatedGetter( + intValue = 1084480665 + ) + @Export("modelOffsetY") + public int modelOffsetY; + @ObfuscatedName("be") + @ObfuscatedGetter( + intValue = -253353483 + ) + @Export("modelAngleX") + public int modelAngleX; + @ObfuscatedName("bs") + @ObfuscatedGetter( + intValue = 324297009 + ) + @Export("modelAngleY") + public int modelAngleY; + @ObfuscatedName("by") + @ObfuscatedGetter( + intValue = -1451560447 + ) + @Export("modelAngleZ") + public int modelAngleZ; + @ObfuscatedName("bb") + @ObfuscatedGetter( + intValue = -1608940237 + ) + @Export("modelZoom") + public int modelZoom; + @ObfuscatedName("bd") + @ObfuscatedGetter( + intValue = -830126165 + ) + public int field2648; + @ObfuscatedName("ba") + @ObfuscatedGetter( + intValue = 539011583 + ) + public int field2649; + @ObfuscatedName("bk") + @Export("modelOrthog") + public boolean modelOrthog; + @ObfuscatedName("bu") + @Export("modelTransparency") + public boolean modelTransparency; + @ObfuscatedName("bo") + @ObfuscatedGetter( + intValue = 565005291 + ) + @Export("itemQuantityMode") + public int itemQuantityMode; + @ObfuscatedName("cv") + @ObfuscatedGetter( + intValue = 518745989 + ) + @Export("fontId") + public int fontId; + @ObfuscatedName("cd") + @Export("text") + public String text; + @ObfuscatedName("cq") + @Export("text2") + public String text2; + @ObfuscatedName("cb") + @ObfuscatedGetter( + intValue = -562457883 + ) + @Export("textLineHeight") + public int textLineHeight; + @ObfuscatedName("cf") + @ObfuscatedGetter( + intValue = -1758780327 + ) + @Export("textXAlignment") + public int textXAlignment; + @ObfuscatedName("cp") + @ObfuscatedGetter( + intValue = 849313675 + ) + @Export("textYAlignment") + public int textYAlignment; + @ObfuscatedName("ck") + @Export("textShadowed") + public boolean textShadowed; + @ObfuscatedName("cn") + @ObfuscatedGetter( + intValue = -1465907063 + ) + @Export("paddingX") + public int paddingX; + @ObfuscatedName("cj") + @ObfuscatedGetter( + intValue = 1082787047 + ) + @Export("paddingY") + public int paddingY; + @ObfuscatedName("cr") + @Export("inventoryXOffsets") + public int[] inventoryXOffsets; + @ObfuscatedName("ca") + @Export("inventoryYOffsets") + public int[] inventoryYOffsets; + @ObfuscatedName("cz") + @Export("inventorySprites") + public int[] inventorySprites; + @ObfuscatedName("cs") + @Export("itemActions") + public String[] itemActions; + @ObfuscatedName("ce") + @ObfuscatedGetter( + intValue = 980328243 + ) + @Export("flags") + public int flags; + @ObfuscatedName("cu") + public boolean field2667; + @ObfuscatedName("ci") + public byte[][] field2668; + @ObfuscatedName("cy") + public byte[][] field2669; + @ObfuscatedName("cx") + public int[] field2686; + @ObfuscatedName("cg") + public int[] field2599; + @ObfuscatedName("dx") + @Export("dataText") + public String dataText; + @ObfuscatedName("do") + @Export("actions") + public String[] actions; + @ObfuscatedName("du") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("parent") + public Widget parent; + @ObfuscatedName("di") + @ObfuscatedGetter( + intValue = 886736563 + ) + @Export("dragZoneSize") + public int dragZoneSize; + @ObfuscatedName("dk") + @ObfuscatedGetter( + intValue = 997775527 + ) + @Export("dragThreshold") + public int dragThreshold; + @ObfuscatedName("dd") + @Export("isScrollBar") + public boolean isScrollBar; + @ObfuscatedName("db") + @Export("spellActionName") + public String spellActionName; + @ObfuscatedName("dl") + @Export("hasListener") + public boolean hasListener; + @ObfuscatedName("dm") + @Export("onLoad") + public Object[] onLoad; + @ObfuscatedName("dj") + @Export("onClick") + public Object[] onClick; + @ObfuscatedName("dh") + @Export("onClickRepeat") + public Object[] onClickRepeat; + @ObfuscatedName("ds") + @Export("onRelease") + public Object[] onRelease; + @ObfuscatedName("dp") + @Export("onHold") + public Object[] onHold; + @ObfuscatedName("dy") + @Export("onMouseOver") + public Object[] onMouseOver; + @ObfuscatedName("dv") + @Export("onMouseRepeat") + public Object[] onMouseRepeat; + @ObfuscatedName("dr") + @Export("onMouseLeave") + public Object[] onMouseLeave; + @ObfuscatedName("dc") + @Export("onDrag") + public Object[] onDrag; + @ObfuscatedName("dq") + @Export("onDragComplete") + public Object[] onDragComplete; + @ObfuscatedName("dt") + @Export("onTargetEnter") + public Object[] onTargetEnter; + @ObfuscatedName("de") + @Export("onTargetLeave") + public Object[] onTargetLeave; + @ObfuscatedName("dw") + @Export("onVarTransmit") + public Object[] onVarTransmit; + @ObfuscatedName("dz") + @Export("varTransmitTriggers") + public int[] varTransmitTriggers; + @ObfuscatedName("dg") + @Export("onInvTransmit") + public Object[] onInvTransmit; + @ObfuscatedName("dn") + @Export("invTransmitTriggers") + public int[] invTransmitTriggers; + @ObfuscatedName("da") + @Export("onStatTransmit") + public Object[] onStatTransmit; + @ObfuscatedName("df") + @Export("statTransmitTriggers") + public int[] statTransmitTriggers; + @ObfuscatedName("ek") + @Export("onTimer") + public Object[] onTimer; + @ObfuscatedName("eo") + @Export("onOp") + public Object[] onOp; + @ObfuscatedName("en") + @Export("onScroll") + public Object[] onScroll; + @ObfuscatedName("ep") + @Export("onChatTransmit") + public Object[] onChatTransmit; + @ObfuscatedName("eg") + @Export("onKey") + public Object[] onKey; + @ObfuscatedName("es") + @Export("onFriendTransmit") + public Object[] onFriendTransmit; + @ObfuscatedName("ef") + @Export("onClanTransmit") + public Object[] onClanTransmit; + @ObfuscatedName("eb") + @Export("onMiscTransmit") + public Object[] onMiscTransmit; + @ObfuscatedName("eh") + @Export("onDialogAbort") + public Object[] onDialogAbort; + @ObfuscatedName("et") + @Export("onSubChange") + public Object[] onSubChange; + @ObfuscatedName("ec") + @Export("onResize") + public Object[] onResize; + @ObfuscatedName("ev") + @Export("onStockTransmit") + public Object[] onStockTransmit; + @ObfuscatedName("eq") + public Object[] field2678; + @ObfuscatedName("ey") + @Export("cs1Instructions") + public int[][] cs1Instructions; + @ObfuscatedName("em") + @Export("cs1Comparisons") + public int[] cs1Comparisons; + @ObfuscatedName("ee") + @Export("cs1ComparisonValues") + public int[] cs1ComparisonValues; + @ObfuscatedName("er") + @ObfuscatedGetter( + intValue = 1386091893 + ) + @Export("mouseOverRedirect") + public int mouseOverRedirect; + @ObfuscatedName("el") + @Export("spellName") + public String spellName; + @ObfuscatedName("ew") + @Export("buttonText") + public String buttonText; + @ObfuscatedName("ea") + @Export("itemIds") + public int[] itemIds; + @ObfuscatedName("eu") + @Export("itemQuantities") + public int[] itemQuantities; + @ObfuscatedName("ej") + @ObfuscatedGetter( + intValue = 1781492575 + ) + @Export("itemId") + public int itemId; + @ObfuscatedName("ed") + @ObfuscatedGetter( + intValue = 717373231 + ) + @Export("itemQuantity") + public int itemQuantity; + @ObfuscatedName("ei") + @ObfuscatedGetter( + intValue = -1513891293 + ) + @Export("modelFrame") + public int modelFrame; + @ObfuscatedName("ex") + @ObfuscatedGetter( + intValue = 1411252919 + ) + @Export("modelFrameCycle") + public int modelFrameCycle; + @ObfuscatedName("ez") + @ObfuscatedSignature( + descriptor = "[Lhz;" + ) + @Export("children") + public Widget[] children; + @ObfuscatedName("fi") + @Export("containsMouse") + public boolean containsMouse; + @ObfuscatedName("fa") + @Export("isClicked") + public boolean isClicked; + @ObfuscatedName("fh") + @ObfuscatedGetter( + intValue = 1159743735 + ) + public int field2719; + @ObfuscatedName("ft") + @ObfuscatedGetter( + intValue = 1951762573 + ) + public int field2727; + @ObfuscatedName("fb") + @ObfuscatedGetter( + intValue = 2104952635 + ) + public int field2728; + @ObfuscatedName("fs") + @ObfuscatedGetter( + intValue = -1295480183 + ) + public int field2729; + @ObfuscatedName("fq") + @ObfuscatedGetter( + intValue = -1168412841 + ) + @Export("rootIndex") + public int rootIndex; + @ObfuscatedName("fn") + @ObfuscatedGetter( + intValue = 1829947671 + ) + @Export("cycle") + public int cycle; + @ObfuscatedName("fc") + public int[] field2660; + @ObfuscatedName("fg") + @Export("noClickThrough") + public boolean noClickThrough; + @ObfuscatedName("fv") + @Export("noScrollThrough") + public boolean noScrollThrough; + @ObfuscatedName("fy") + @Export("prioritizeMenuEntry") + public boolean prioritizeMenuEntry; + + public Widget() { + this.fillMode = WidgetFillMode.SOLID; + this.transparencyTop = 0; + this.transparencyBot = 0; + this.lineWid = 1; + this.field2627 = false; + this.spriteId2 = -1; + this.spriteId = -1; + this.spriteAngle = 0; + this.spriteTiling = false; + this.outline = 0; + this.spriteShadow = 0; + this.modelType = 1; + this.modelId = -1; + this.modelType2 = 1; + this.modelId2 = -1; + this.sequenceId = -1; + this.sequenceId2 = -1; + this.modelOffsetX = 0; + this.modelOffsetY = 0; + this.modelAngleX = 0; + this.modelAngleY = 0; + this.modelAngleZ = 0; + this.modelZoom = 100; + this.field2648 = 0; + this.field2649 = 0; + this.modelOrthog = false; + this.modelTransparency = false; + this.itemQuantityMode = 2; + this.fontId = -1; + this.text = ""; + this.text2 = ""; + this.textLineHeight = 0; + this.textXAlignment = 0; + this.textYAlignment = 0; + this.textShadowed = false; + this.paddingX = 0; + this.paddingY = 0; + this.flags = 0; + this.field2667 = false; + this.dataText = ""; + this.parent = null; + this.dragZoneSize = 0; + this.dragThreshold = 0; + this.isScrollBar = false; + this.spellActionName = ""; + this.hasListener = false; + this.mouseOverRedirect = -1; + this.spellName = ""; + this.buttonText = "Ok"; + this.itemId = -1; + this.itemQuantity = 0; + this.modelFrame = 0; + this.modelFrameCycle = 0; + this.containsMouse = false; + this.isClicked = false; + this.field2719 = -1; + this.field2727 = 0; + this.field2728 = 0; + this.field2729 = 0; + this.rootIndex = -1; + this.cycle = -1; + this.noClickThrough = false; + this.noScrollThrough = false; + this.prioritizeMenuEntry = false; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "14" + ) + @Export("decodeLegacy") + void decodeLegacy(Buffer var1) { + this.isIf3 = false; + this.type = var1.readUnsignedByte(); + this.buttonType = var1.readUnsignedByte(); + this.contentType = var1.readUnsignedShort(); + this.rawX = var1.readShort(); + this.rawY = var1.readShort(); + this.rawWidth = var1.readUnsignedShort(); + this.rawHeight = var1.readUnsignedShort(); + this.transparencyTop = var1.readUnsignedByte(); + this.parentId = var1.readUnsignedShort(); + if (this.parentId == 65535) { + this.parentId = -1; + } else { + this.parentId += this.id & -65536; + } + + this.mouseOverRedirect = var1.readUnsignedShort(); + if (this.mouseOverRedirect == 65535) { + this.mouseOverRedirect = -1; + } + + int var2 = var1.readUnsignedByte(); + int var3; + if (var2 > 0) { + this.cs1Comparisons = new int[var2]; + this.cs1ComparisonValues = new int[var2]; + + for(var3 = 0; var3 < var2; ++var3) { + this.cs1Comparisons[var3] = var1.readUnsignedByte(); + this.cs1ComparisonValues[var3] = var1.readUnsignedShort(); + } + } + + var3 = var1.readUnsignedByte(); + int var4; + int var5; + int var6; + if (var3 > 0) { + this.cs1Instructions = new int[var3][]; + + for(var4 = 0; var4 < var3; ++var4) { + var5 = var1.readUnsignedShort(); + this.cs1Instructions[var4] = new int[var5]; + + for(var6 = 0; var6 < var5; ++var6) { + this.cs1Instructions[var4][var6] = var1.readUnsignedShort(); + if (this.cs1Instructions[var4][var6] == 65535) { + this.cs1Instructions[var4][var6] = -1; + } + } + } + } + + if (this.type == 0) { + this.scrollHeight = var1.readUnsignedShort(); + this.isHidden = var1.readUnsignedByte() == 1; + } + + if (this.type == 1) { + var1.readUnsignedShort(); + var1.readUnsignedByte(); + } + + if (this.type == 2) { + this.itemIds = new int[this.rawHeight * this.rawWidth]; + this.itemQuantities = new int[this.rawWidth * this.rawHeight]; + var4 = var1.readUnsignedByte(); + if (var4 == 1) { + this.flags |= 268435456; + } + + var5 = var1.readUnsignedByte(); + if (var5 == 1) { + this.flags |= 1073741824; + } + + var6 = var1.readUnsignedByte(); + if (var6 == 1) { + this.flags |= Integer.MIN_VALUE; + } + + int var7 = var1.readUnsignedByte(); + if (var7 == 1) { + this.flags |= 536870912; + } + + this.paddingX = var1.readUnsignedByte(); + this.paddingY = var1.readUnsignedByte(); + this.inventoryXOffsets = new int[20]; + this.inventoryYOffsets = new int[20]; + this.inventorySprites = new int[20]; + + int var8; + for(var8 = 0; var8 < 20; ++var8) { + int var11 = var1.readUnsignedByte(); + if (var11 == 1) { + this.inventoryXOffsets[var8] = var1.readShort(); + this.inventoryYOffsets[var8] = var1.readShort(); + this.inventorySprites[var8] = var1.readInt(); + } else { + this.inventorySprites[var8] = -1; + } + } + + this.itemActions = new String[5]; + + for(var8 = 0; var8 < 5; ++var8) { + String var9 = var1.readStringCp1252NullTerminated(); + if (var9.length() > 0) { + this.itemActions[var8] = var9; + this.flags |= 1 << var8 + 23; + } + } + } + + if (this.type == 3) { + this.fill = var1.readUnsignedByte() == 1; + } + + if (this.type == 4 || this.type == 1) { + this.textXAlignment = var1.readUnsignedByte(); + this.textYAlignment = var1.readUnsignedByte(); + this.textLineHeight = var1.readUnsignedByte(); + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.textShadowed = var1.readUnsignedByte() == 1; + } + + if (this.type == 4) { + this.text = var1.readStringCp1252NullTerminated(); + this.text2 = var1.readStringCp1252NullTerminated(); + } + + if (this.type == 1 || this.type == 3 || this.type == 4) { + this.color = var1.readInt(); + } + + if (this.type == 3 || this.type == 4) { + this.color2 = var1.readInt(); + this.mouseOverColor = var1.readInt(); + this.mouseOverColor2 = var1.readInt(); + } + + if (this.type == 5) { + this.spriteId2 = var1.readInt(); + this.spriteId = var1.readInt(); + } + + if (this.type == 6) { + this.modelType = 1; + this.modelId = var1.readUnsignedShort(); + if (this.modelId == 65535) { + this.modelId = -1; + } + + this.modelType2 = 1; + this.modelId2 = var1.readUnsignedShort(); + if (this.modelId2 == 65535) { + this.modelId2 = -1; + } + + this.sequenceId = var1.readUnsignedShort(); + if (this.sequenceId == 65535) { + this.sequenceId = -1; + } + + this.sequenceId2 = var1.readUnsignedShort(); + if (this.sequenceId2 == 65535) { + this.sequenceId2 = -1; + } + + this.modelZoom = var1.readUnsignedShort(); + this.modelAngleX = var1.readUnsignedShort(); + this.modelAngleY = var1.readUnsignedShort(); + } + + if (this.type == 7) { + this.itemIds = new int[this.rawHeight * this.rawWidth]; + this.itemQuantities = new int[this.rawHeight * this.rawWidth]; + this.textXAlignment = var1.readUnsignedByte(); + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.textShadowed = var1.readUnsignedByte() == 1; + this.color = var1.readInt(); + this.paddingX = var1.readShort(); + this.paddingY = var1.readShort(); + var4 = var1.readUnsignedByte(); + if (var4 == 1) { + this.flags |= 1073741824; + } + + this.itemActions = new String[5]; + + for(var5 = 0; var5 < 5; ++var5) { + String var10 = var1.readStringCp1252NullTerminated(); + if (var10.length() > 0) { + this.itemActions[var5] = var10; + this.flags |= 1 << var5 + 23; + } + } + } + + if (this.type == 8) { + this.text = var1.readStringCp1252NullTerminated(); + } + + if (this.buttonType == 2 || this.type == 2) { + this.spellActionName = var1.readStringCp1252NullTerminated(); + this.spellName = var1.readStringCp1252NullTerminated(); + var4 = var1.readUnsignedShort() & 63; + this.flags |= var4 << 11; + } + + if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5 || this.buttonType == 6) { + this.buttonText = var1.readStringCp1252NullTerminated(); + if (this.buttonText.length() == 0) { + if (this.buttonType == 1) { + this.buttonText = "Ok"; + } + + if (this.buttonType == 4) { + this.buttonText = "Select"; + } + + if (this.buttonType == 5) { + this.buttonText = "Select"; + } + + if (this.buttonType == 6) { + this.buttonText = "Continue"; + } + } + } + + if (this.buttonType == 1 || this.buttonType == 4 || this.buttonType == 5) { + this.flags |= 4194304; + } + + if (this.buttonType == 6) { + this.flags |= 1; + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-327034944" + ) + @Export("decode") + void decode(Buffer var1) { + var1.readUnsignedByte(); + this.isIf3 = true; + this.type = var1.readUnsignedByte(); + this.contentType = var1.readUnsignedShort(); + this.rawX = var1.readShort(); + this.rawY = var1.readShort(); + this.rawWidth = var1.readUnsignedShort(); + if (this.type == 9) { + this.rawHeight = var1.readShort(); + } else { + this.rawHeight = var1.readUnsignedShort(); + } + + this.widthAlignment = var1.readByte(); + this.heightAlignment = var1.readByte(); + this.xAlignment = var1.readByte(); + this.yAlignment = var1.readByte(); + this.parentId = var1.readUnsignedShort(); + if (this.parentId == 65535) { + this.parentId = -1; + } else { + this.parentId += this.id & -65536; + } + + this.isHidden = var1.readUnsignedByte() == 1; + if (this.type == 0) { + this.scrollWidth = var1.readUnsignedShort(); + this.scrollHeight = var1.readUnsignedShort(); + this.noClickThrough = var1.readUnsignedByte() == 1; + } + + if (this.type == 5) { + this.spriteId2 = var1.readInt(); + this.spriteAngle = var1.readUnsignedShort(); + this.spriteTiling = var1.readUnsignedByte() == 1; + this.transparencyTop = var1.readUnsignedByte(); + this.outline = var1.readUnsignedByte(); + this.spriteShadow = var1.readInt(); + this.spriteFlipV = var1.readUnsignedByte() == 1; + this.spriteFlipH = var1.readUnsignedByte() == 1; + } + + if (this.type == 6) { + this.modelType = 1; + this.modelId = var1.readUnsignedShort(); + if (this.modelId == 65535) { + this.modelId = -1; + } + + this.modelOffsetX = var1.readShort(); + this.modelOffsetY = var1.readShort(); + this.modelAngleX = var1.readUnsignedShort(); + this.modelAngleY = var1.readUnsignedShort(); + this.modelAngleZ = var1.readUnsignedShort(); + this.modelZoom = var1.readUnsignedShort(); + this.sequenceId = var1.readUnsignedShort(); + if (this.sequenceId == 65535) { + this.sequenceId = -1; + } + + this.modelOrthog = var1.readUnsignedByte() == 1; + var1.readUnsignedShort(); + if (this.widthAlignment != 0) { + this.field2648 = var1.readUnsignedShort(); + } + + if (this.heightAlignment != 0) { + var1.readUnsignedShort(); + } + } + + if (this.type == 4) { + this.fontId = var1.readUnsignedShort(); + if (this.fontId == 65535) { + this.fontId = -1; + } + + this.text = var1.readStringCp1252NullTerminated(); + this.textLineHeight = var1.readUnsignedByte(); + this.textXAlignment = var1.readUnsignedByte(); + this.textYAlignment = var1.readUnsignedByte(); + this.textShadowed = var1.readUnsignedByte() == 1; + this.color = var1.readInt(); + } + + if (this.type == 3) { + this.color = var1.readInt(); + this.fill = var1.readUnsignedByte() == 1; + this.transparencyTop = var1.readUnsignedByte(); + } + + if (this.type == 9) { + this.lineWid = var1.readUnsignedByte(); + this.color = var1.readInt(); + this.field2627 = var1.readUnsignedByte() == 1; + } + + this.flags = var1.readMedium(); + this.dataText = var1.readStringCp1252NullTerminated(); + int var2 = var1.readUnsignedByte(); + if (var2 > 0) { + this.actions = new String[var2]; + + for(int var3 = 0; var3 < var2; ++var3) { + this.actions[var3] = var1.readStringCp1252NullTerminated(); + } + } + + this.dragZoneSize = var1.readUnsignedByte(); + this.dragThreshold = var1.readUnsignedByte(); + this.isScrollBar = var1.readUnsignedByte() == 1; + this.spellActionName = var1.readStringCp1252NullTerminated(); + this.onLoad = this.readListener(var1); + this.onMouseOver = this.readListener(var1); + this.onMouseLeave = this.readListener(var1); + this.onTargetLeave = this.readListener(var1); + this.onTargetEnter = this.readListener(var1); + this.onVarTransmit = this.readListener(var1); + this.onInvTransmit = this.readListener(var1); + this.onStatTransmit = this.readListener(var1); + this.onTimer = this.readListener(var1); + this.onOp = this.readListener(var1); + this.onMouseRepeat = this.readListener(var1); + this.onClick = this.readListener(var1); + this.onClickRepeat = this.readListener(var1); + this.onRelease = this.readListener(var1); + this.onHold = this.readListener(var1); + this.onDrag = this.readListener(var1); + this.onDragComplete = this.readListener(var1); + this.onScroll = this.readListener(var1); + this.varTransmitTriggers = this.readListenerTriggers(var1); + this.invTransmitTriggers = this.readListenerTriggers(var1); + this.statTransmitTriggers = this.readListenerTriggers(var1); + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lkx;B)[Ljava/lang/Object;", + garbageValue = "-123" + ) + @Export("readListener") + Object[] readListener(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return null; + } else { + Object[] var3 = new Object[var2]; + + for(int var4 = 0; var4 < var2; ++var4) { + int var5 = var1.readUnsignedByte(); + if (var5 == 0) { + var3[var4] = new Integer(var1.readInt()); + } else if (var5 == 1) { + var3[var4] = var1.readStringCp1252NullTerminated(); + } + } + + this.hasListener = true; + return var3; + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Lkx;I)[I", + garbageValue = "-892606734" + ) + @Export("readListenerTriggers") + int[] readListenerTriggers(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return null; + } else { + int[] var3 = new int[var2]; + + for(int var4 = 0; var4 < var2; ++var4) { + var3[var4] = var1.readInt(); + } + + return var3; + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "42" + ) + @Export("swapItems") + public void swapItems(int var1, int var2) { + int var3 = this.itemIds[var2]; + this.itemIds[var2] = this.itemIds[var1]; + this.itemIds[var1] = var3; + var3 = this.itemQuantities[var2]; + this.itemQuantities[var2] = this.itemQuantities[var1]; + this.itemQuantities[var1] = var3; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(ZI)Llm;", + garbageValue = "1522680461" + ) + @Export("getSprite") + public SpritePixels getSprite(boolean var1) { + field2591 = false; + int var2; + if (var1) { + var2 = this.spriteId; + } else { + var2 = this.spriteId2; + } + + if (var2 == -1) { + return null; + } else { + long var3 = (long)var2 + ((long)this.outline << 36) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((this.spriteFlipH ? 1L : 0L) << 39) + ((long)this.spriteShadow << 40); + SpritePixels var5 = (SpritePixels)Widget_cachedSprites.get(var3); + if (var5 != null) { + return var5; + } else { + var5 = BufferedSource.SpriteBuffer_getSprite(InterfaceParent.Widget_spritesArchive, var2, 0); + if (var5 == null) { + field2591 = true; + return null; + } else { + if (this.spriteFlipV) { + var5.flipVertically(); + } + + if (this.spriteFlipH) { + var5.flipHorizontally(); + } + + if (this.outline > 0) { + var5.pad(this.outline); + } + + if (this.outline >= 1) { + var5.outline(1); + } + + if (this.outline >= 2) { + var5.outline(16777215); + } + + if (this.spriteShadow != 0) { + var5.shadow(this.spriteShadow); + } + + Widget_cachedSprites.put(var5, var3); + return var5; + } + } + } + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)Lkl;", + garbageValue = "1746762389" + ) + @Export("getFont") + public Font getFont() { + field2591 = false; + if (this.fontId == -1) { + return null; + } else { + Font var1 = (Font)Widget_cachedFonts.get((long)this.fontId); + if (var1 != null) { + return var1; + } else { + AbstractArchive var3 = InterfaceParent.Widget_spritesArchive; + AbstractArchive var4 = Widget_fontsArchive; + int var5 = this.fontId; + byte[] var7 = var3.takeFile(var5, 0); + boolean var6; + if (var7 == null) { + var6 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var7); + var6 = true; + } + + Font var2; + if (!var6) { + var2 = null; + } else { + byte[] var8 = var4.takeFile(var5, 0); + Font var10; + if (var8 == null) { + var10 = null; + } else { + Font var9 = new Font(var8, class105.SpriteBuffer_xOffsets, class336.SpriteBuffer_yOffsets, class336.SpriteBuffer_spriteWidths, class225.SpriteBuffer_spriteHeights, HorizontalAlignment.SpriteBuffer_spritePalette, class2.SpriteBuffer_pixels); + class105.SpriteBuffer_xOffsets = null; + class336.SpriteBuffer_yOffsets = null; + class336.SpriteBuffer_spriteWidths = null; + class225.SpriteBuffer_spriteHeights = null; + HorizontalAlignment.SpriteBuffer_spritePalette = null; + class2.SpriteBuffer_pixels = null; + var10 = var9; + } + + var2 = var10; + } + + if (var2 != null) { + Widget_cachedFonts.put(var2, (long)this.fontId); + } else { + field2591 = true; + } + + return var2; + } + } + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IB)Llm;", + garbageValue = "-33" + ) + @Export("getInventorySprite") + public SpritePixels getInventorySprite(int var1) { + field2591 = false; + if (var1 >= 0 && var1 < this.inventorySprites.length) { + int var2 = this.inventorySprites[var1]; + if (var2 == -1) { + return null; + } else { + SpritePixels var3 = (SpritePixels)Widget_cachedSprites.get((long)var2); + if (var3 != null) { + return var3; + } else { + var3 = BufferedSource.SpriteBuffer_getSprite(InterfaceParent.Widget_spritesArchive, var2, 0); + if (var3 != null) { + Widget_cachedSprites.put(var3, (long)var2); + } else { + field2591 = true; + } + + return var3; + } + } + } else { + return null; + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(Ljs;IZLhu;B)Lef;", + garbageValue = "-25" + ) + @Export("getModel") + public Model getModel(SequenceDefinition var1, int var2, boolean var3, PlayerComposition var4) { + field2591 = false; + int var5; + int var6; + if (var3) { + var5 = this.modelType2; + var6 = this.modelId2; + } else { + var5 = this.modelType; + var6 = this.modelId; + } + + if (var5 == 0) { + return null; + } else if (var5 == 1 && var6 == -1) { + return null; + } else { + Model var7 = (Model)Widget_cachedModels.get((long)(var6 + (var5 << 16))); + if (var7 == null) { + ModelData var8; + if (var5 == 1) { + var8 = ModelData.ModelData_get(DirectByteArrayCopier.Widget_modelsArchive, var6, 0); + if (var8 == null) { + field2591 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 2) { + var8 = class90.getNpcDefinition(var6).getModelData(); + if (var8 == null) { + field2591 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 3) { + if (var4 == null) { + return null; + } + + var8 = var4.getModelData(); + if (var8 == null) { + field2591 = true; + return null; + } + + var7 = var8.toModel(64, 768, -50, -10, -50); + } + + if (var5 == 4) { + ItemComposition var9 = class281.ItemDefinition_get(var6); + var8 = var9.getModelData(10); + if (var8 == null) { + field2591 = true; + return null; + } + + var7 = var8.toModel(var9.ambient + 64, var9.contrast + 768, -50, -10, -50); + } + + Widget_cachedModels.put(var7, (long)(var6 + (var5 << 16))); + } + + if (var1 != null) { + var7 = var1.transformWidgetModel(var7, var2); + } + + return var7; + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(ZI)Lht;", + garbageValue = "202613287" + ) + @Export("getSpriteMask") + public SpriteMask getSpriteMask(boolean var1) { + if (this.spriteId == -1) { + var1 = false; + } + + int var2 = var1 ? this.spriteId : this.spriteId2; + if (var2 == -1) { + return null; + } else { + long var3 = ((this.spriteFlipH ? 1L : 0L) << 39) + (long)var2 + ((long)this.outline << 36) + ((this.spriteFlipV ? 1L : 0L) << 38) + ((long)this.spriteShadow << 40); + SpriteMask var5 = (SpriteMask)Widget_cachedSpriteMasks.get(var3); + if (var5 != null) { + return var5; + } else { + SpritePixels var6 = this.getSprite(var1); + if (var6 == null) { + return null; + } else { + SpritePixels var7 = var6.copyNormalized(); + int[] var8 = new int[var7.subHeight]; + int[] var9 = new int[var7.subHeight]; + + for(int var10 = 0; var10 < var7.subHeight; ++var10) { + int var11 = 0; + int var12 = var7.subWidth; + + int var13; + for(var13 = 0; var13 < var7.subWidth; ++var13) { + if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { + var11 = var13; + break; + } + } + + for(var13 = var7.subWidth - 1; var13 >= var11; --var13) { + if (var7.pixels[var13 + var10 * var7.subWidth] == 0) { + var12 = var13 + 1; + break; + } + } + + var8[var10] = var11; + var9[var10] = var12 - var11; + } + + var5 = new SpriteMask(var7.subWidth, var7.subHeight, var9, var8, var2); + Widget_cachedSpriteMasks.put(var5, var3); + return var5; + } + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;B)V", + garbageValue = "-44" + ) + @Export("setAction") + public void setAction(int var1, String var2) { + if (this.actions == null || this.actions.length <= var1) { + String[] var3 = new String[var1 + 1]; + if (this.actions != null) { + for(int var4 = 0; var4 < this.actions.length; ++var4) { + var3[var4] = this.actions[var4]; + } + } + + this.actions = var3; + } + + this.actions[var1] = var2; + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-2098441807" + ) + static int method4292(int var0, Script var1, boolean var2) { + if (var0 == ScriptOpcodes.LOGOUT) { + Client.logoutTimer = 250; + return 1; + } else if (var0 != 5631 && var0 != 5633) { + if (var0 == 5632) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 26; + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_stringStackSize -= 2; + return 1; + } + } } diff --git a/runescape-client/src/main/java/WidgetFillMode.java b/runescape-client/src/main/java/WidgetFillMode.java index d7651a784f..6e166f0ba6 100644 --- a/runescape-client/src/main/java/WidgetFillMode.java +++ b/runescape-client/src/main/java/WidgetFillMode.java @@ -4,49 +4,49 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lj") @Implements("WidgetFillMode") +@ObfuscatedName("lp") public enum WidgetFillMode implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Llj;" - ) - @Export("SOLID") - SOLID(0, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llj;" - ) - field3897(1, 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Llj;" - ) - field3898(2, 2); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Llp;" + ) + @Export("SOLID") + SOLID(0, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Llp;" + ) + field3896(1, 1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Llp;" + ) + field3897(2, 2); - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1992705459 - ) - public final int field3902; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1944525395 - ) - final int field3900; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 981795357 + ) + public final int field3898; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1459508057 + ) + final int field3895; - WidgetFillMode(int var3, int var4) { - this.field3902 = var3; // L: 19 - this.field3900 = var4; // L: 20 - } // L: 21 + WidgetFillMode(int var3, int var4) { + this.field3898 = var3; + this.field3895 = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field3900; // L: 24 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field3895; + } } diff --git a/runescape-client/src/main/java/World.java b/runescape-client/src/main/java/World.java index 3424e260f3..9c337d8f8b 100644 --- a/runescape-client/src/main/java/World.java +++ b/runescape-client/src/main/java/World.java @@ -1,279 +1,306 @@ +import java.util.Iterator; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cj") +@ObfuscatedName("cq") @Implements("World") public class World { - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "[Lcj;" - ) - @Export("World_worlds") - static World[] World_worlds; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1189755659 - ) - @Export("World_count") - static int World_count; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -8988331 - ) - @Export("World_listCount") - static int World_listCount; - @ObfuscatedName("p") - @Export("World_sortOption2") - static int[] World_sortOption2; - @ObfuscatedName("l") - @Export("World_sortOption1") - static int[] World_sortOption1; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lei;" - ) - @Export("World_request") - static UrlRequest World_request; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 1102432463 - ) - @Export("id") - int id; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 920976113 - ) - @Export("properties") - int properties; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1580207855 - ) - @Export("population") - int population; - @ObfuscatedName("c") - @Export("host") - String host; - @ObfuscatedName("i") - @Export("activity") - String activity; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1662346653 - ) - @Export("location") - int location; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1162479517 - ) - @Export("index") - int index; + @ObfuscatedName("qf") + @ObfuscatedSignature( + descriptor = "Ldq;" + ) + @Export("decimator") + static Decimator decimator; + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "[Lcq;" + ) + @Export("World_worlds") + static World[] World_worlds; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1883151611 + ) + @Export("World_count") + static int World_count = 0; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1211509963 + ) + @Export("World_listCount") + static int World_listCount = 0; + @ObfuscatedName("e") + @Export("World_sortOption2") + static int[] World_sortOption2 = new int[]{1, 1, 1, 1}; + @ObfuscatedName("q") + @Export("World_sortOption1") + static int[] World_sortOption1 = new int[]{0, 1, 2, 3}; + @ObfuscatedName("bl") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + static IndexedSprite field1039; + @ObfuscatedName("ds") + @ObfuscatedGetter( + longValue = 4616072820016449217L + ) + static long field1036; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1941942941 + ) + @Export("id") + int id; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 2050399625 + ) + @Export("properties") + int properties; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = -602749729 + ) + @Export("population") + int population; + @ObfuscatedName("w") + @Export("host") + String host; + @ObfuscatedName("k") + @Export("activity") + String activity; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = -175273101 + ) + @Export("location") + int location; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = 865975071 + ) + @Export("index") + int index; - static { - World_count = 0; // L: 14 - World_listCount = 0; // L: 15 - World_sortOption2 = new int[]{1, 1, 1, 1}; // L: 16 - World_sortOption1 = new int[]{0, 1, 2, 3}; // L: 17 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1593793917" + ) + @Export("isMembersOnly") + boolean isMembersOnly() { + return (1 & this.properties) != 0; + } - World() { - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1662495711" + ) + boolean method1878() { + return (2 & this.properties) != 0; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "1" - ) - @Export("isMembersOnly") - boolean isMembersOnly() { - return (1 & this.properties) != 0; // L: 257 - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1886649606" + ) + @Export("isPvp") + boolean isPvp() { + return (4 & this.properties) != 0; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-2039082864" - ) - boolean method1829() { - return (2 & this.properties) != 0; // L: 261 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1928708058" + ) + boolean method1880() { + return (8 & this.properties) != 0; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1586384705" - ) - @Export("isPvp") - boolean isPvp() { - return (4 & this.properties) != 0; // L: 265 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "28" + ) + @Export("isDeadman") + boolean isDeadman() { + return (536870912 & this.properties) != 0; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1688533510" - ) - boolean method1831() { - return (8 & this.properties) != 0; // L: 269 - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "1939241099" + ) + @Export("isBeta") + boolean isBeta() { + return (33554432 & this.properties) != 0; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-65" - ) - @Export("isDeadman") - boolean isDeadman() { - return (536870912 & this.properties) != 0; // L: 273 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "4" + ) + boolean method1883() { + return (1073741824 & this.properties) != 0; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "495435944" - ) - @Export("isBeta") - boolean isBeta() { - return (33554432 & this.properties) != 0; // L: 277 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1636550910" + ) + public static void method1924() { + VarpDefinition.VarpDefinition_cached.clear(); + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "48" - ) - boolean method1845() { - return (1073741824 & this.properties) != 0; // L: 281 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkd;IS)Z", + garbageValue = "-20652" + ) + @Export("updateExternalPlayer") + static boolean updateExternalPlayer(PacketBuffer var0, int var1) { + int var2 = var0.readBits(2); + int var3; + int var4; + int var7; + int var8; + int var9; + int var10; + if (var2 == 0) { + if (var0.readBits(1) != 0) { + updateExternalPlayer(var0, var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "719435212" - ) - public static int method1870(int var0) { - --var0; // L: 24 - var0 |= var0 >>> 1; // L: 25 - var0 |= var0 >>> 2; // L: 26 - var0 |= var0 >>> 4; // L: 27 - var0 |= var0 >>> 8; // L: 28 - var0 |= var0 >>> 16; // L: 29 - return var0 + 1; - } + var3 = var0.readBits(13); + var4 = var0.readBits(13); + boolean var12 = var0.readBits(1) == 1; + if (var12) { + Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;I)V", - garbageValue = "-186964533" - ) - public static void method1849(AbstractArchive var0, AbstractArchive var1) { - NPCComposition.NpcDefinition_archive = var0; // L: 57 - NPCComposition.NpcDefinition_modelArchive = var1; // L: 58 - } // L: 59 + if (Client.players[var1] != null) { + throw new RuntimeException(); + } else { + Player var11 = Client.players[var1] = new Player(); + var11.index = var1; + if (Players.field1269[var1] != null) { + var11.read(Players.field1269[var1]); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIIIIII)I", - garbageValue = "689239187" - ) - public static int method1871(int var0, int var1, int var2, int var3, int var4, int var5) { - if ((var5 & 1) == 1) { // L: 30 - int var6 = var3; // L: 31 - var3 = var4; // L: 32 - var4 = var6; // L: 33 - } + var11.orientation = Players.Players_orientations[var1]; + var11.targetIndex = Players.Players_targetIndices[var1]; + var7 = Players.Players_regions[var1]; + var8 = var7 >> 28; + var9 = var7 >> 14 & 255; + var10 = var7 & 255; + var11.pathTraversed[0] = Players.field1274[var1]; + var11.plane = (byte)var8; + var11.resetPath((var9 << 13) + var3 - GrandExchangeOfferNameComparator.baseX * 64, (var10 << 13) + var4 - NetCache.baseY * 64); + var11.field652 = false; + return true; + } + } else if (var2 == 1) { + var3 = var0.readBits(2); + var4 = Players.Players_regions[var1]; + Players.Players_regions[var1] = (var4 & 268435455) + (((var4 >> 28) + var3 & 3) << 28); + return false; + } else { + int var5; + int var6; + if (var2 == 2) { + var3 = var0.readBits(5); + var4 = var3 >> 3; + var5 = var3 & 7; + var6 = Players.Players_regions[var1]; + var7 = (var6 >> 28) + var4 & 3; + var8 = var6 >> 14 & 255; + var9 = var6 & 255; + if (var5 == 0) { + --var8; + --var9; + } - var2 &= 3; // L: 35 - if (var2 == 0) { // L: 36 - return var1; - } else if (var2 == 1) { // L: 37 - return 7 - var0 - (var3 - 1); - } else { - return var2 == 2 ? 7 - var1 - (var4 - 1) : var0; // L: 38 - } - } + if (var5 == 1) { + --var9; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;IZI)I", - garbageValue = "1735277376" - ) - @Export("parseIntCustomRadix") - public static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) { - if (var1 >= 2 && var1 <= 36) { // L: 80 - boolean var3 = false; // L: 81 - boolean var4 = false; // L: 82 - int var5 = 0; // L: 83 - int var6 = var0.length(); // L: 84 + if (var5 == 2) { + ++var8; + --var9; + } - for (int var7 = 0; var7 < var6; ++var7) { // L: 85 - char var8 = var0.charAt(var7); // L: 86 - if (var7 == 0) { // L: 87 - if (var8 == '-') { // L: 88 - var3 = true; // L: 89 - continue; - } + if (var5 == 3) { + --var8; + } - if (var8 == '+') { // L: 92 - continue; - } - } + if (var5 == 4) { + ++var8; + } - int var10; - if (var8 >= '0' && var8 <= '9') { - var10 = var8 - '0'; // L: 94 - } else if (var8 >= 'A' && var8 <= 'Z') { // L: 95 - var10 = var8 - '7'; - } else { - if (var8 < 'a' || var8 > 'z') { // L: 96 - throw new NumberFormatException(); // L: 97 - } + if (var5 == 5) { + --var8; + ++var9; + } - var10 = var8 - 'W'; - } + if (var5 == 6) { + ++var9; + } - if (var10 >= var1) { // L: 98 - throw new NumberFormatException(); - } + if (var5 == 7) { + ++var8; + ++var9; + } - if (var3) { // L: 99 - var10 = -var10; - } + Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); + return false; + } else { + var3 = var0.readBits(18); + var4 = var3 >> 16; + var5 = var3 >> 8 & 255; + var6 = var3 & 255; + var7 = Players.Players_regions[var1]; + var8 = (var7 >> 28) + var4 & 3; + var9 = var5 + (var7 >> 14) & 255; + var10 = var6 + var7 & 255; + Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); + return false; + } + } + } - int var9 = var5 * var1 + var10; // L: 100 - if (var9 / var1 != var5) { // L: 101 - throw new NumberFormatException(); - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "14756" + ) + static void method1923() { + Iterator var0 = Messages.Messages_hashTable.iterator(); - var5 = var9; // L: 102 - var4 = true; // L: 103 - } + while(var0.hasNext()) { + Message var1 = (Message)var0.next(); + var1.clearIsFromIgnored(); + } - if (!var4) { // L: 105 - throw new NumberFormatException(); - } else { - return var5; // L: 106 - } - } else { - throw new IllegalArgumentException("" + var1); - } - } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "614025062" - ) - public static int method1874(int var0) { - if (var0 > 0) { // L: 195 - return 1; - } else { - return var0 < 0 ? -1 : 0; // L: 196 197 - } - } + @ObfuscatedName("gb") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "37330821" + ) + static void method1925() { + if (UserComparator9.localPlayer.x >> 7 == Client.destinationX && UserComparator9.localPlayer.y >> 7 == Client.destinationY) { + Client.destinationX = 0; + } + + } } diff --git a/runescape-client/src/main/java/WorldMap.java b/runescape-client/src/main/java/WorldMap.java index 3286c4f2d0..bc358e0a9c 100644 --- a/runescape-client/src/main/java/WorldMap.java +++ b/runescape-client/src/main/java/WorldMap.java @@ -10,1443 +10,1407 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ma") +@ObfuscatedName("mf") @Implements("WorldMap") public class WorldMap { - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("fontNameVerdana11") - static final FontName fontNameVerdana11; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("fontNameVerdana13") - static final FontName fontNameVerdana13; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lkr;" - ) - @Export("fontNameVerdana15") - static final FontName fontNameVerdana15; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("WorldMap_archive") - AbstractArchive WorldMap_archive; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("WorldMap_geographyArchive") - AbstractArchive WorldMap_geographyArchive; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("WorldMap_groundArchive") - AbstractArchive WorldMap_groundArchive; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lku;" - ) - @Export("font") - Font font; - @ObfuscatedName("c") - @Export("fonts") - HashMap fonts; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("f") - @Export("details") - HashMap details; - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lav;" - ) - @Export("mainMapArea") - WorldMapArea mainMapArea; - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lav;" - ) - @Export("currentMapArea") - WorldMapArea currentMapArea; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lav;" - ) - WorldMapArea field4005; - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lai;" - ) - @Export("worldMapManager") - WorldMapManager worldMapManager; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Lmv;" - ) - @Export("cacheLoader") - WorldMapArchiveLoader cacheLoader; - @ObfuscatedName("g") - @ObfuscatedGetter( - intValue = 34446857 - ) - @Export("centerTileX") - int centerTileX; - @ObfuscatedName("s") - @ObfuscatedGetter( - intValue = -35156607 - ) - @Export("centerTileY") - int centerTileY; - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1414857527 - ) - @Export("worldMapTargetX") - int worldMapTargetX; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = -2091480201 - ) - @Export("worldMapTargetY") - int worldMapTargetY; - @ObfuscatedName("d") - @Export("zoom") - float zoom; - @ObfuscatedName("an") - @Export("zoomTarget") - float zoomTarget; - @ObfuscatedName("aj") - @ObfuscatedGetter( - intValue = 1073644533 - ) - @Export("worldMapDisplayWidth") - int worldMapDisplayWidth; - @ObfuscatedName("ax") - @ObfuscatedGetter( - intValue = -1190282307 - ) - @Export("worldMapDisplayHeight") - int worldMapDisplayHeight; - @ObfuscatedName("ag") - @ObfuscatedGetter( - intValue = 712779481 - ) - @Export("worldMapDisplayX") - int worldMapDisplayX; - @ObfuscatedName("au") - @ObfuscatedGetter( - intValue = -1873750981 - ) - @Export("worldMapDisplayY") - int worldMapDisplayY; - @ObfuscatedName("as") - @ObfuscatedGetter( - intValue = 1643702919 - ) - @Export("maxFlashCount") - int maxFlashCount; - @ObfuscatedName("ae") - @ObfuscatedGetter( - intValue = 1440936345 - ) - @Export("cyclesPerFlash") - int cyclesPerFlash; - @ObfuscatedName("ac") - @Export("perpetualFlash") - boolean perpetualFlash; - @ObfuscatedName("ak") - @Export("flashingElements") - HashSet flashingElements; - @ObfuscatedName("av") - @ObfuscatedGetter( - intValue = 1589963879 - ) - @Export("flashCount") - int flashCount; - @ObfuscatedName("aq") - @ObfuscatedGetter( - intValue = 644572641 - ) - @Export("flashCycle") - int flashCycle; - @ObfuscatedName("ah") - @ObfuscatedGetter( - intValue = -964427915 - ) - int field4024; - @ObfuscatedName("am") - @ObfuscatedGetter( - intValue = -233360709 - ) - int field4025; - @ObfuscatedName("aa") - @ObfuscatedGetter( - intValue = 1171495407 - ) - int field3990; - @ObfuscatedName("ao") - @ObfuscatedGetter( - intValue = -50950891 - ) - int field4027; - @ObfuscatedName("ab") - @ObfuscatedGetter( - longValue = 7754556817989080275L - ) - long field4034; - @ObfuscatedName("aw") - @ObfuscatedGetter( - intValue = 1220631433 - ) - int field4029; - @ObfuscatedName("ap") - @ObfuscatedGetter( - intValue = -490561459 - ) - int field4030; - @ObfuscatedName("ad") - boolean field4031; - @ObfuscatedName("ay") - @Export("enabledElements") - HashSet enabledElements; - @ObfuscatedName("af") - @Export("enabledCategories") - HashSet enabledCategories; - @ObfuscatedName("ar") - @Export("enabledElementIds") - HashSet enabledElementIds; - @ObfuscatedName("az") - HashSet field4035; - @ObfuscatedName("at") - @Export("elementsDisabled") - boolean elementsDisabled; - @ObfuscatedName("bh") - @ObfuscatedGetter( - intValue = 149168837 - ) - int field4037; - @ObfuscatedName("bs") - @Export("menuOpcodes") - final int[] menuOpcodes; - @ObfuscatedName("br") - List field4039; - @ObfuscatedName("bl") - @Export("iconIterator") - Iterator iconIterator; - @ObfuscatedName("bx") - HashSet field4008; - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("mouseCoord") - Coord mouseCoord; - @ObfuscatedName("bz") - @Export("showCoord") - public boolean showCoord; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("sprite") - SpritePixels spritePixels; - @ObfuscatedName("bn") - @ObfuscatedGetter( - intValue = -905159911 - ) - @Export("cachedPixelsPerTile") - int cachedPixelsPerTile; - @ObfuscatedName("bd") - @ObfuscatedGetter( - intValue = 1100678517 - ) - @Export("minCachedTileX") - int minCachedTileX; - @ObfuscatedName("bc") - @ObfuscatedGetter( - intValue = -364665697 - ) - @Export("minCachedTileY") - int minCachedTileY; - @ObfuscatedName("bi") - @ObfuscatedGetter( - intValue = -1734483817 - ) - int field4048; - - static { - fontNameVerdana11 = FontName.FontName_verdana11; // L: 46 - fontNameVerdana13 = FontName.FontName_verdana13; // L: 47 - fontNameVerdana15 = FontName.FontName_verdana15; // L: 48 - } - - public WorldMap() { - this.worldMapTargetX = -1; // L: 60 - this.worldMapTargetY = -1; // L: 61 - this.worldMapDisplayWidth = -1; // L: 64 - this.worldMapDisplayHeight = -1; // L: 65 - this.worldMapDisplayX = -1; // L: 66 - this.worldMapDisplayY = -1; // L: 67 - this.maxFlashCount = 3; // L: 68 - this.cyclesPerFlash = 50; // L: 69 - this.perpetualFlash = false; // L: 70 - this.flashingElements = null; // L: 71 - this.flashCount = -1; // L: 72 - this.flashCycle = -1; // L: 73 - this.field4024 = -1; // L: 74 - this.field4025 = -1; // L: 75 - this.field3990 = -1; // L: 76 - this.field4027 = -1; // L: 77 - this.field4031 = true; // L: 81 - this.enabledElements = new HashSet(); // L: 84 - this.enabledCategories = new HashSet(); // L: 85 - this.enabledElementIds = new HashSet(); // L: 86 - this.field4035 = new HashSet(); // L: 87 - this.elementsDisabled = false; // L: 88 - this.field4037 = 0; // L: 89 - this.menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012}; // L: 91 - this.field4008 = new HashSet(); // L: 94 - this.mouseCoord = null; // L: 95 - this.showCoord = false; // L: 96 - this.minCachedTileX = -1; // L: 99 - this.minCachedTileY = -1; // L: 100 - this.field4048 = -1; // L: 101 - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;Lib;Lku;Ljava/util/HashMap;[Llo;I)V", - garbageValue = "-1988514493" - ) - @Export("init") - public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { - this.mapSceneSprites = var6; // L: 105 - this.WorldMap_archive = var1; // L: 106 - this.WorldMap_geographyArchive = var2; // L: 107 - this.WorldMap_groundArchive = var3; // L: 108 - this.font = var4; // L: 109 - this.fonts = new HashMap(); // L: 110 - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, var5.get(fontNameVerdana11)); // L: 111 - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); // L: 112 - this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); // L: 113 - this.cacheLoader = new WorldMapArchiveLoader(var1); // L: 114 - int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.field328.name); // L: 115 - int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); // L: 116 - this.details = new HashMap(var8.length); // L: 117 - - for (int var9 = 0; var9 < var8.length; ++var9) { // L: 118 - Buffer var10 = new Buffer(this.WorldMap_archive.takeFile(var7, var8[var9])); // L: 119 - WorldMapArea var11 = new WorldMapArea(); // L: 120 - var11.read(var10, var8[var9]); // L: 121 - this.details.put(var11.getInternalName(), var11); // L: 122 - if (var11.getIsMain()) { // L: 123 - this.mainMapArea = var11; // L: 124 - } - } - - this.setCurrentMapArea(this.mainMapArea); // L: 127 - this.field4005 = null; // L: 128 - } // L: 129 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2048812117" - ) - public void method6363() { - WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); // L: 133 - } // L: 135 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIZIIIII)V", - garbageValue = "-1174840947" - ) - @Export("onCycle") - public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { - if (this.cacheLoader.isLoaded()) { // L: 138 - this.smoothZoom(); // L: 141 - this.scrollToTarget(); // L: 142 - if (var3) { // L: 143 - int var8 = (int)Math.ceil((double)((float)var6 / this.zoom)); // L: 146 - int var9 = (int)Math.ceil((double)((float)var7 / this.zoom)); // L: 147 - List var10 = this.worldMapManager.method707(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); // L: 148 - HashSet var11 = new HashSet(); // L: 149 - - Iterator var12; - AbstractWorldMapIcon var13; - ScriptEvent var14; - WorldMapEvent var15; - for (var12 = var10.iterator(); var12.hasNext(); class22.runScriptEvent(var14)) { // L: 150 163 - var13 = (AbstractWorldMapIcon)var12.next(); // L: 151 - var11.add(var13); // L: 153 - var14 = new ScriptEvent(); // L: 154 - var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); // L: 155 - var14.setArgs(new Object[]{var15, var1, var2}); // L: 156 - if (this.field4008.contains(var13)) { // L: 157 - var14.setType(17); // L: 158 - } else { - var14.setType(15); // L: 161 - } - } - - var12 = this.field4008.iterator(); // L: 166 - - while (var12.hasNext()) { - var13 = (AbstractWorldMapIcon)var12.next(); // L: 167 - if (!var11.contains(var13)) { // L: 169 - var14 = new ScriptEvent(); // L: 170 - var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); // L: 171 - var14.setArgs(new Object[]{var15, var1, var2}); // L: 172 - var14.setType(16); // L: 173 - class22.runScriptEvent(var14); // L: 174 - } - } - - this.field4008 = var11; // L: 178 - } - } - } // L: 139 144 179 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIZZI)V", - garbageValue = "771999489" - ) - public void method6362(int var1, int var2, boolean var3, boolean var4) { - long var5 = class298.currentTimeMillis(); // L: 182 - this.method6470(var1, var2, var4, var5); // L: 183 - if (this.hasTarget() || !var4 && !var3) { // L: 184 - this.method6367(); // L: 198 - } else { - if (var4) { // L: 185 - this.field3990 = var1; // L: 186 - this.field4027 = var2; // L: 187 - this.field4024 = this.centerTileX; // L: 188 - this.field4025 = this.centerTileY; // L: 189 - } - - if (this.field4024 != -1) { // L: 191 - int var7 = var1 - this.field3990; // L: 192 - int var8 = var2 - this.field4027; // L: 193 - this.setWorldMapPosition(this.field4024 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field4025, false); // L: 194 - } - } - - if (var4) { // L: 200 - this.field4034 = var5; // L: 201 - this.field4029 = var1; // L: 202 - this.field4030 = var2; // L: 203 - } - - } // L: 205 - - @ObfuscatedName("t") - void method6470(int var1, int var2, boolean var3, long var4) { - if (this.currentMapArea != null) { // L: 208 - int var6 = (int)((float)this.centerTileX + ((float)(var1 - this.worldMapDisplayX) - (float)this.getDisplayWith() * this.zoom / 2.0F) / this.zoom); // L: 209 - int var7 = (int)((float)this.centerTileY - ((float)(var2 - this.worldMapDisplayY) - (float)this.getDisplayHeight() * this.zoom / 2.0F) / this.zoom); // L: 210 - this.mouseCoord = this.currentMapArea.coord(var6 + this.currentMapArea.getRegionLowX() * 64, var7 + this.currentMapArea.getRegionLowY() * 64); // L: 211 - if (this.mouseCoord != null && var3) { // L: 212 - boolean var8 = Client.staffModLevel >= 2; // L: 215 - int var10; - int var11; - if (var8 && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { // L: 217 - int var14 = this.mouseCoord.x; // L: 218 - var10 = this.mouseCoord.y; // L: 219 - var11 = this.mouseCoord.plane; // L: 220 - PacketBufferNode var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2269, Client.packetWriter.isaacCipher); // L: 223 - var12.packetBuffer.method5578(var14); // L: 224 - var12.packetBuffer.method5587(0); // L: 225 - var12.packetBuffer.method5739(var10); // L: 226 - var12.packetBuffer.writeByte(var11); // L: 227 - Client.packetWriter.addNode(var12); // L: 228 - } else { - boolean var9 = true; // L: 232 - if (this.field4031) { // L: 233 - var10 = var1 - this.field4029; // L: 234 - var11 = var2 - this.field4030; // L: 235 - if (var4 - this.field4034 > 500L || var10 < -25 || var10 > 25 || var11 < -25 || var11 > 25) { // L: 236 - var9 = false; // L: 237 - } - } - - if (var9) { // L: 240 - PacketBufferNode var13 = ItemContainer.getPacketBufferNode(ClientPacket.field2328, Client.packetWriter.isaacCipher); // L: 241 - var13.packetBuffer.method5587(this.mouseCoord.packed()); // L: 242 - Client.packetWriter.addNode(var13); // L: 243 - this.field4034 = 0L; // L: 244 - } - } - } - } else { - this.mouseCoord = null; // L: 249 - } - - } // L: 250 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-25" - ) - @Export("smoothZoom") - void smoothZoom() { - if (WorldMapIcon_0.field148 != null) { // L: 253 - this.zoom = this.zoomTarget; // L: 254 - } else { - if (this.zoom < this.zoomTarget) { // L: 257 - this.zoom = Math.min(this.zoomTarget, this.zoom / 30.0F + this.zoom); // L: 258 - } - - if (this.zoom > this.zoomTarget) { // L: 260 - this.zoom = Math.max(this.zoomTarget, this.zoom - this.zoom / 30.0F); // L: 261 - } - - } - } // L: 255 263 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-4" - ) - @Export("scrollToTarget") - void scrollToTarget() { - if (this.hasTarget()) { // L: 266 - int var1 = this.worldMapTargetX - this.centerTileX; // L: 269 - int var2 = this.worldMapTargetY - this.centerTileY; // L: 270 - if (var1 != 0) { // L: 271 - var1 /= Math.min(8, Math.abs(var1)); // L: 272 - } - - if (var2 != 0) { // L: 274 - var2 /= Math.min(8, Math.abs(var2)); // L: 275 - } - - this.setWorldMapPosition(var1 + this.centerTileX, var2 + this.centerTileY, true); // L: 277 - if (this.centerTileX == this.worldMapTargetX && this.centerTileY == this.worldMapTargetY) { // L: 278 - this.worldMapTargetX = -1; // L: 279 - this.worldMapTargetY = -1; // L: 280 - } - - } - } // L: 267 282 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(IIZB)V", - garbageValue = "0" - ) - @Export("setWorldMapPosition") - final void setWorldMapPosition(int var1, int var2, boolean var3) { - this.centerTileX = var1; // L: 285 - this.centerTileY = var2; // L: 286 - class298.currentTimeMillis(); // L: 287 - if (var3) { - this.method6367(); // L: 288 - } - - } // L: 289 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1920245593" - ) - final void method6367() { - this.field4027 = -1; // L: 292 - this.field3990 = -1; // L: 293 - this.field4025 = -1; // L: 294 - this.field4024 = -1; // L: 295 - } // L: 296 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "0" - ) - @Export("hasTarget") - boolean hasTarget() { - return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; // L: 299 - } - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(IIII)Lav;", - garbageValue = "1888096920" - ) - @Export("mapAreaAtCoord") - public WorldMapArea mapAreaAtCoord(int var1, int var2, int var3) { - Iterator var4 = this.details.values().iterator(); // L: 303 - - WorldMapArea var5; - do { - if (!var4.hasNext()) { - return null; // L: 311 - } - - var5 = (WorldMapArea)var4.next(); // L: 304 - } while(!var5.containsCoord(var1, var2, var3)); // L: 306 - - return var5; // L: 307 - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIIZB)V", - garbageValue = "-100" - ) - public void method6370(int var1, int var2, int var3, boolean var4) { - WorldMapArea var5 = this.mapAreaAtCoord(var1, var2, var3); // L: 315 - if (var5 == null) { // L: 316 - if (!var4) { // L: 317 - return; // L: 320 - } - - var5 = this.mainMapArea; // L: 318 - } - - boolean var6 = false; // L: 322 - if (var5 != this.field4005 || var4) { // L: 323 - this.field4005 = var5; // L: 324 - this.setCurrentMapArea(var5); // L: 325 - var6 = true; // L: 326 - } - - if (var6 || var4) { // L: 328 - this.jump(var1, var2, var3); // L: 329 - } - - } // L: 331 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1569720823" - ) - @Export("setCurrentMapAreaId") - public void setCurrentMapAreaId(int var1) { - WorldMapArea var2 = this.getMapArea(var1); // L: 334 - if (var2 != null) { // L: 335 - this.setCurrentMapArea(var2); // L: 336 - } - - } // L: 338 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-4" - ) - @Export("currentMapAreaId") - public int currentMapAreaId() { - return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); // L: 341 342 344 - } - - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(I)Lav;", - garbageValue = "-1618834185" - ) - @Export("getCurrentMapArea") - public WorldMapArea getCurrentMapArea() { - return this.currentMapArea; // L: 348 - } - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(Lav;I)V", - garbageValue = "-320065457" - ) - @Export("setCurrentMapArea") - void setCurrentMapArea(WorldMapArea var1) { - if (this.currentMapArea == null || var1 != this.currentMapArea) { // L: 352 - this.initializeWorldMapManager(var1); // L: 355 - this.jump(-1, -1, -1); // L: 356 - } - } // L: 353 357 - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(Lav;B)V", - garbageValue = "16" - ) - @Export("initializeWorldMapManager") - void initializeWorldMapManager(WorldMapArea var1) { - this.currentMapArea = var1; // L: 360 - this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive); // L: 361 - this.cacheLoader.reset(this.currentMapArea.getInternalName()); // L: 362 - } // L: 363 - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(Lav;Lhs;Lhs;ZI)V", - garbageValue = "856208789" - ) - public void method6485(WorldMapArea var1, Coord var2, Coord var3, boolean var4) { - if (var1 != null) { // L: 366 - if (this.currentMapArea == null || var1 != this.currentMapArea) { // L: 369 - this.initializeWorldMapManager(var1); // L: 370 - } - - if (!var4 && this.currentMapArea.containsCoord(var2.plane, var2.x, var2.y)) { // L: 372 - this.jump(var2.plane, var2.x, var2.y); // L: 376 - } else { - this.jump(var3.plane, var3.x, var3.y); // L: 373 - } - - } - } // L: 367 378 - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "1387321592" - ) - @Export("jump") - void jump(int var1, int var2, int var3) { - if (this.currentMapArea != null) { // L: 381 - int[] var4 = this.currentMapArea.position(var1, var2, var3); // L: 384 - if (var4 == null) { // L: 385 - var4 = this.currentMapArea.position(this.currentMapArea.getOriginPlane(), this.currentMapArea.getOriginX(), this.currentMapArea.getOriginY()); // L: 386 - } - - this.setWorldMapPosition(var4[0] - this.currentMapArea.getRegionLowX() * 64, var4[1] - this.currentMapArea.getRegionLowY() * 64, true); // L: 388 - this.worldMapTargetX = -1; // L: 389 - this.worldMapTargetY = -1; // L: 390 - this.zoom = this.getZoomFromPercentage(this.currentMapArea.getZoom()); // L: 391 - this.zoomTarget = this.zoom; // L: 392 - this.field4039 = null; // L: 393 - this.iconIterator = null; // L: 394 - this.worldMapManager.clearIcons(); // L: 395 - } - } // L: 382 396 - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IIIIII)V", - garbageValue = "903679312" - ) - @Export("draw") - public void draw(int var1, int var2, int var3, int var4, int var5) { - int[] var6 = new int[4]; // L: 399 - Rasterizer2D.Rasterizer2D_getClipArray(var6); // L: 400 - Rasterizer2D.Rasterizer2D_setClip(var1, var2, var3 + var1, var2 + var4); // L: 401 - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); // L: 402 - int var7 = this.cacheLoader.getPercentLoaded(); // L: 403 - if (var7 < 100) { // L: 404 - this.drawLoading(var1, var2, var3, var4, var7); // L: 405 - } else { - if (!this.worldMapManager.isLoaded()) { // L: 408 - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); // L: 409 - if (!this.worldMapManager.isLoaded()) { // L: 410 - return; // L: 411 - } - } - - if (this.flashingElements != null) { // L: 414 - ++this.flashCycle; // L: 415 - if (this.flashCycle % this.cyclesPerFlash == 0) { // L: 416 - this.flashCycle = 0; // L: 417 - ++this.flashCount; // L: 418 - } - - if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) { // L: 420 - this.flashingElements = null; // L: 421 - } - } - - int var8 = (int)Math.ceil((double)((float)var3 / this.zoom)); // L: 424 - int var9 = (int)Math.ceil((double)((float)var4 / this.zoom)); // L: 425 - this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4); // L: 426 - boolean var10; - if (!this.elementsDisabled) { // L: 427 - var10 = false; // L: 428 - if (var5 - this.field4037 > 100) { // L: 429 - this.field4037 = var5; // L: 430 - var10 = true; // L: 431 - } - - this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field4035, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); // L: 433 - } - - this.method6534(var1, var2, var3, var4, var8, var9); // L: 435 - var10 = Client.staffModLevel >= 2; // L: 438 - if (var10 && this.showCoord && this.mouseCoord != null) { // L: 440 - this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1); - } - - this.worldMapDisplayWidth = var8; // L: 441 - this.worldMapDisplayHeight = var9; // L: 442 - this.worldMapDisplayX = var1; // L: 443 - this.worldMapDisplayY = var2; // L: 444 - Rasterizer2D.Rasterizer2D_setClipArray(var6); // L: 445 - } - } // L: 406 446 - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(IIIIIIB)Z", - garbageValue = "-90" - ) - boolean method6515(int var1, int var2, int var3, int var4, int var5, int var6) { - if (this.spritePixels == null) { // L: 449 - return true; - } else if (this.spritePixels.subWidth == var1 && this.spritePixels.subHeight == var2) { // L: 450 - if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) { // L: 451 - return true; - } else if (this.field4048 != Client.field915) { // L: 452 - return true; - } else if (var3 <= 0 && var4 <= 0) { // L: 453 - return var3 + var1 < var5 || var2 + var4 < var6; // L: 454 - } else { - return true; // L: 455 - } - } else { - return true; - } - } - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "1968364271" - ) - void method6534(int var1, int var2, int var3, int var4, int var5, int var6) { - if (WorldMapIcon_0.field148 != null) { // L: 459 - int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2); // L: 460 - int var8 = var3 + 512; // L: 461 - int var9 = var4 + 512; // L: 462 - float var10 = 1.0F; // L: 463 - var8 = (int)((float)var8 / var10); // L: 464 - var9 = (int)((float)var9 / var10); // L: 465 - int var11 = this.getDisplayX() - var5 / 2 - var7; // L: 466 - int var12 = this.getDisplayY() - var6 / 2 - var7; // L: 467 - int var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; // L: 468 - int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); // L: 469 - if (this.method6515(var8, var9, var13, var14, var3, var4)) { // L: 470 - if (this.spritePixels != null && this.spritePixels.subWidth == var8 && this.spritePixels.subHeight == var9) { // L: 471 - Arrays.fill(this.spritePixels.pixels, 0); // L: 474 - } else { - this.spritePixels = new SpritePixels(var8, var9); // L: 472 - } - - this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7; // L: 475 - this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7; // L: 476 - this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile; // L: 477 - WorldMapIcon_0.field148.method4346(this.minCachedTileX, this.minCachedTileY, this.spritePixels, (float)this.cachedPixelsPerTile / var10); // L: 478 - this.field4048 = Client.field915; // L: 479 - var13 = var1 - (var7 + var11 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; // L: 480 - var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); // L: 481 - } - - Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); // L: 483 - if (1.0F == var10) { // L: 484 - this.spritePixels.method6181(var13, var14, 192); // L: 485 - } else { - this.spritePixels.method6184(var13, var14, (int)((float)var8 * var10), (int)(var10 * (float)var9), 192); // L: 488 - } - } - - } // L: 491 - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "1415246881" - ) - @Export("drawOverview") - public void drawOverview(int var1, int var2, int var3, int var4) { - if (this.cacheLoader.isLoaded()) { // L: 494 - if (!this.worldMapManager.isLoaded()) { // L: 497 - this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); // L: 498 - if (!this.worldMapManager.isLoaded()) { // L: 499 - return; // L: 500 - } - } - - this.worldMapManager.drawOverview(var1, var2, var3, var4, this.flashingElements, this.flashCycle, this.cyclesPerFlash); // L: 503 - } - } // L: 495 504 - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1658246176" - ) - @Export("setZoomPercentage") - public void setZoomPercentage(int var1) { - this.zoomTarget = this.getZoomFromPercentage(var1); // L: 507 - } // L: 508 - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(IIIIII)V", - garbageValue = "483495875" - ) - @Export("drawLoading") - void drawLoading(int var1, int var2, int var3, int var4, int var5) { - byte var6 = 20; // L: 511 - int var7 = var3 / 2 + var1; // L: 512 - int var8 = var4 / 2 + var2 - 18 - var6; // L: 513 - Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); // L: 514 - Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536); // L: 515 - Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536); // L: 516 - this.font.drawCentered("Loading...", var7, var8 + var6, -1, -1); // L: 517 - } // L: 518 - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(II)F", - garbageValue = "1716504753" - ) - @Export("getZoomFromPercentage") - float getZoomFromPercentage(int var1) { - if (var1 == 25) { // L: 521 - return 1.0F; - } else if (var1 == 37) { // L: 522 - return 1.5F; - } else if (var1 == 50) { // L: 523 - return 2.0F; - } else if (var1 == 75) { // L: 524 - return 3.0F; - } else { - return var1 == 100 ? 4.0F : 8.0F; // L: 525 526 - } - } - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "106" - ) - @Export("getZoomLevel") - public int getZoomLevel() { - if (1.0D == (double)this.zoomTarget) { // L: 530 - return 25; - } else if ((double)this.zoomTarget == 1.5D) { // L: 531 - return 37; - } else if ((double)this.zoomTarget == 2.0D) { // L: 532 - return 50; - } else if ((double)this.zoomTarget == 3.0D) { - return 75; // L: 533 - } else { - return (double)this.zoomTarget == 4.0D ? 100 : 200; // L: 534 535 - } - } - - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1648107795" - ) - @Export("loadCache") - public void loadCache() { - this.cacheLoader.load(); // L: 539 - } // L: 540 - - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(B)Z", - garbageValue = "-117" - ) - @Export("isCacheLoaded") - public boolean isCacheLoaded() { - return this.cacheLoader.isLoaded(); // L: 543 - } - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(IS)Lav;", - garbageValue = "10284" - ) - @Export("getMapArea") - public WorldMapArea getMapArea(int var1) { - Iterator var2 = this.details.values().iterator(); // L: 547 - - WorldMapArea var3; - do { - if (!var2.hasNext()) { - return null; // L: 555 - } - - var3 = (WorldMapArea)var2.next(); // L: 548 - } while(var3.getId() != var1); // L: 550 - - return var3; // L: 551 - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(IIS)V", - garbageValue = "1536" - ) - @Export("setWorldMapPositionTarget") - public void setWorldMapPositionTarget(int var1, int var2) { - if (this.currentMapArea != null && this.currentMapArea.containsPosition(var1, var2)) { // L: 559 - this.worldMapTargetX = var1 - this.currentMapArea.getRegionLowX() * 64; // L: 562 - this.worldMapTargetY = var2 - this.currentMapArea.getRegionLowY() * 64; // L: 563 - } - } // L: 560 564 - - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "-4" - ) - @Export("setWorldMapPositionTargetInstant") - public void setWorldMapPositionTargetInstant(int var1, int var2) { - if (this.currentMapArea != null) { // L: 567 - this.setWorldMapPosition(var1 - this.currentMapArea.getRegionLowX() * 64, var2 - this.currentMapArea.getRegionLowY() * 64, true); // L: 570 - this.worldMapTargetX = -1; // L: 571 - this.worldMapTargetY = -1; // L: 572 - } - } // L: 568 573 - - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "1818651976" - ) - @Export("jumpToSourceCoord") - public void jumpToSourceCoord(int var1, int var2, int var3) { - if (this.currentMapArea != null) { // L: 576 - int[] var4 = this.currentMapArea.position(var1, var2, var3); // L: 579 - if (var4 != null) { // L: 580 - this.setWorldMapPositionTarget(var4[0], var4[1]); // L: 581 - } - - } - } // L: 577 583 - - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "473887994" - ) - @Export("jumpToSourceCoordInstant") - public void jumpToSourceCoordInstant(int var1, int var2, int var3) { - if (this.currentMapArea != null) { // L: 586 - int[] var4 = this.currentMapArea.position(var1, var2, var3); // L: 589 - if (var4 != null) { // L: 590 - this.setWorldMapPositionTargetInstant(var4[0], var4[1]); // L: 591 - } - - } - } // L: 587 593 - - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1523132182" - ) - @Export("getDisplayX") - public int getDisplayX() { - return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; // L: 596 597 599 - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "65408" - ) - @Export("getDisplayY") - public int getDisplayY() { - return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; // L: 603 604 606 - } - - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "(I)Lhs;", - garbageValue = "-862509197" - ) - @Export("getDisplayCoord") - public Coord getDisplayCoord() { - return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); // L: 610 611 613 - } - - @ObfuscatedName("aw") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1867921683" - ) - @Export("getDisplayWith") - public int getDisplayWith() { - return this.worldMapDisplayWidth; // L: 617 - } - - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "0" - ) - @Export("getDisplayHeight") - public int getDisplayHeight() { - return this.worldMapDisplayHeight; // L: 621 - } - - @ObfuscatedName("ad") - @ObfuscatedSignature( - descriptor = "(IB)V", - garbageValue = "32" - ) - @Export("setMaxFlashCount") - public void setMaxFlashCount(int var1) { - if (var1 >= 1) { // L: 625 - this.maxFlashCount = var1; // L: 626 - } - - } // L: 628 - - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1668488207" - ) - @Export("resetMaxFlashCount") - public void resetMaxFlashCount() { - this.maxFlashCount = 3; // L: 631 - } // L: 632 - - @ObfuscatedName("al") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-626312657" - ) - @Export("setCyclesPerFlash") - public void setCyclesPerFlash(int var1) { - if (var1 >= 1) { // L: 635 - this.cyclesPerFlash = var1; // L: 636 - } - - } // L: 638 - - @ObfuscatedName("ay") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "78" - ) - @Export("resetCyclesPerFlash") - public void resetCyclesPerFlash() { - this.cyclesPerFlash = 50; // L: 641 - } // L: 642 - - @ObfuscatedName("af") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "98" - ) - @Export("setPerpetualFlash") - public void setPerpetualFlash(boolean var1) { - this.perpetualFlash = var1; // L: 645 - } // L: 646 - - @ObfuscatedName("ar") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-2041133251" - ) - @Export("flashElement") - public void flashElement(int var1) { - this.flashingElements = new HashSet(); // L: 649 - this.flashingElements.add(var1); // L: 650 - this.flashCount = 0; // L: 651 - this.flashCycle = 0; // L: 652 - } // L: 653 - - @ObfuscatedName("az") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "982221358" - ) - @Export("flashCategory") - public void flashCategory(int var1) { - this.flashingElements = new HashSet(); // L: 656 - this.flashCount = 0; // L: 657 - this.flashCycle = 0; // L: 658 - - for (int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { // L: 659 - if (UserComparator10.WorldMapElement_get(var2) != null && UserComparator10.WorldMapElement_get(var2).category == var1) { // L: 660 663 - this.flashingElements.add(UserComparator10.WorldMapElement_get(var2).objectId); // L: 664 - } - } - - } // L: 667 - - @ObfuscatedName("at") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1855116248" - ) - @Export("stopCurrentFlashes") - public void stopCurrentFlashes() { - this.flashingElements = null; // L: 670 - } // L: 671 - - @ObfuscatedName("bh") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "795371287" - ) - @Export("setElementsDisabled") - public void setElementsDisabled(boolean var1) { - this.elementsDisabled = !var1; // L: 674 - } // L: 675 - - @ObfuscatedName("by") - @ObfuscatedSignature( - descriptor = "(IZB)V", - garbageValue = "-111" - ) - @Export("disableElement") - public void disableElement(int var1, boolean var2) { - if (!var2) { // L: 678 - this.enabledElements.add(var1); // L: 679 - } else { - this.enabledElements.remove(var1); // L: 682 - } - - this.method6412(); // L: 684 - } // L: 685 - - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "(IZB)V", - garbageValue = "-46" - ) - @Export("setCategoryDisabled") - public void setCategoryDisabled(int var1, boolean var2) { - if (!var2) { // L: 688 - this.enabledCategories.add(var1); // L: 689 - } else { - this.enabledCategories.remove(var1); // L: 692 - } - - for (int var3 = 0; var3 < WorldMapElement.WorldMapElement_count; ++var3) { // L: 694 - if (UserComparator10.WorldMapElement_get(var3) != null && UserComparator10.WorldMapElement_get(var3).category == var1) { // L: 695 698 - int var4 = UserComparator10.WorldMapElement_get(var3).objectId; // L: 699 - if (!var2) { // L: 700 - this.enabledElementIds.add(var4); // L: 701 - } else { - this.enabledElementIds.remove(var4); // L: 704 - } - } - } - - this.method6412(); // L: 708 - } // L: 709 - - @ObfuscatedName("br") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "580836467" - ) - @Export("getElementsDisabled") - public boolean getElementsDisabled() { - return !this.elementsDisabled; // L: 712 - } - - @ObfuscatedName("bl") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "686736746" - ) - @Export("isElementDisabled") - public boolean isElementDisabled(int var1) { - return !this.enabledElements.contains(var1); // L: 716 - } - - @ObfuscatedName("bx") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-1135479232" - ) - @Export("isCategoryDisabled") - public boolean isCategoryDisabled(int var1) { - return !this.enabledCategories.contains(var1); // L: 720 - } - - @ObfuscatedName("bf") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1662329798" - ) - void method6412() { - this.field4035.clear(); // L: 724 - this.field4035.addAll(this.enabledElements); // L: 725 - this.field4035.addAll(this.enabledElementIds); // L: 726 - } // L: 727 - - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "-1942025362" - ) - @Export("addElementMenuOptions") - public void addElementMenuOptions(int var1, int var2, int var3, int var4, int var5, int var6) { - if (this.cacheLoader.isLoaded()) { // L: 730 - int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); // L: 733 - int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); // L: 734 - List var9 = this.worldMapManager.method707(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); // L: 735 - if (!var9.isEmpty()) { // L: 736 - Iterator var10 = var9.iterator(); - - boolean var13; - do { - if (!var10.hasNext()) { // L: 739 - return; // L: 755 - } - - AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next(); // L: 740 - WorldMapElement var12 = UserComparator10.WorldMapElement_get(var11.getElement()); // L: 742 - var13 = false; // L: 743 - - for (int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) { // L: 744 - if (var12.menuActions[var14] != null) { // L: 745 - WorldMapRegion.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); // L: 746 - var13 = true; // L: 747 - } - } - } while(!var13); // L: 750 - - } - } - } // L: 731 737 751 - - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "(ILhs;I)Lhs;", - garbageValue = "1185313718" - ) - public Coord method6414(int var1, Coord var2) { - if (!this.cacheLoader.isLoaded()) { // L: 758 - return null; // L: 759 - } else if (!this.worldMapManager.isLoaded()) { // L: 761 - return null; // L: 762 - } else if (!this.currentMapArea.containsPosition(var2.x, var2.y)) { // L: 764 - return null; // L: 765 - } else { - HashMap var3 = this.worldMapManager.buildIcons(); // L: 767 - List var4 = (List)var3.get(var1); // L: 768 - if (var4 != null && !var4.isEmpty()) { // L: 769 - AbstractWorldMapIcon var5 = null; // L: 772 - int var6 = -1; // L: 773 - Iterator var7 = var4.iterator(); // L: 774 - - while (true) { - AbstractWorldMapIcon var8; - int var11; - do { - if (!var7.hasNext()) { - return var5.coord2; // L: 789 - } - - var8 = (AbstractWorldMapIcon)var7.next(); // L: 775 - int var9 = var8.coord2.x - var2.x; // L: 777 - int var10 = var8.coord2.y - var2.y; // L: 778 - var11 = var10 * var10 + var9 * var9; // L: 779 - if (var11 == 0) { // L: 780 - return var8.coord2; // L: 781 - } - } while(var11 >= var6 && var5 != null); // L: 783 - - var5 = var8; // L: 784 - var6 = var11; // L: 785 - } - } else { - return null; // L: 770 - } - } - } - - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "(IILhs;Lhs;B)V", - garbageValue = "123" - ) - @Export("worldMapMenuAction") - public void worldMapMenuAction(int var1, int var2, Coord var3, Coord var4) { - ScriptEvent var5 = new ScriptEvent(); // L: 793 - WorldMapEvent var6 = new WorldMapEvent(var2, var3, var4); // L: 794 - var5.setArgs(new Object[]{var6}); // L: 795 - switch(var1) { // L: 796 - case 1008: - var5.setType(10); // L: 819 - break; - case 1009: - var5.setType(11); // L: 814 - break; // L: 815 - case 1010: - var5.setType(12); // L: 799 - break; - case 1011: - var5.setType(13); // L: 809 - break; // L: 810 - case 1012: - var5.setType(14); // L: 804 - } - - class22.runScriptEvent(var5); // L: 823 - } // L: 824 - - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "(I)Lap;", - garbageValue = "1413157620" - ) - @Export("iconStart") - public AbstractWorldMapIcon iconStart() { - if (!this.cacheLoader.isLoaded()) { // L: 827 - return null; // L: 828 - } else if (!this.worldMapManager.isLoaded()) { // L: 830 - return null; // L: 831 - } else { - HashMap var1 = this.worldMapManager.buildIcons(); // L: 833 - this.field4039 = new LinkedList(); // L: 834 - Iterator var2 = var1.values().iterator(); // L: 835 - - while (var2.hasNext()) { - List var3 = (List)var2.next(); // L: 836 - this.field4039.addAll(var3); // L: 838 - } - - this.iconIterator = this.field4039.iterator(); // L: 841 - return this.iconNext(); // L: 842 - } - } - - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "(B)Lap;", - garbageValue = "71" - ) - @Export("iconNext") - public AbstractWorldMapIcon iconNext() { - if (this.iconIterator == null) { // L: 846 - return null; // L: 847 - } else { - AbstractWorldMapIcon var1; - do { - if (!this.iconIterator.hasNext()) { // L: 849 - return null; // L: 855 - } - - var1 = (AbstractWorldMapIcon)this.iconIterator.next(); // L: 850 - } while(var1.getElement() == -1); // L: 851 - - return var1; // L: 852 - } - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("fontNameVerdana11") + static final FontName fontNameVerdana11; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("fontNameVerdana13") + static final FontName fontNameVerdana13; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lkq;" + ) + @Export("fontNameVerdana15") + static final FontName fontNameVerdana15; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("WorldMap_archive") + AbstractArchive WorldMap_archive; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("WorldMap_geographyArchive") + AbstractArchive WorldMap_geographyArchive; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("WorldMap_groundArchive") + AbstractArchive WorldMap_groundArchive; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lkl;" + ) + @Export("font") + Font font; + @ObfuscatedName("w") + @Export("fonts") + HashMap fonts; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("i") + @Export("details") + HashMap details; + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Lar;" + ) + @Export("mainMapArea") + WorldMapArea mainMapArea; + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lar;" + ) + @Export("currentMapArea") + WorldMapArea currentMapArea; + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lar;" + ) + WorldMapArea field4001; + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lai;" + ) + @Export("worldMapManager") + WorldMapManager worldMapManager; + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lmj;" + ) + @Export("cacheLoader") + WorldMapArchiveLoader cacheLoader; + @ObfuscatedName("p") + @ObfuscatedGetter( + intValue = -1485160707 + ) + @Export("centerTileX") + int centerTileX; + @ObfuscatedName("m") + @ObfuscatedGetter( + intValue = 468675207 + ) + @Export("centerTileY") + int centerTileY; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -552998349 + ) + @Export("worldMapTargetX") + int worldMapTargetX = -1; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = -103147929 + ) + @Export("worldMapTargetY") + int worldMapTargetY = -1; + @ObfuscatedName("j") + @Export("zoom") + float zoom; + @ObfuscatedName("ay") + @Export("zoomTarget") + float zoomTarget; + @ObfuscatedName("am") + @ObfuscatedGetter( + intValue = 2118998885 + ) + @Export("worldMapDisplayWidth") + int worldMapDisplayWidth = -1; + @ObfuscatedName("ag") + @ObfuscatedGetter( + intValue = -1890808813 + ) + @Export("worldMapDisplayHeight") + int worldMapDisplayHeight = -1; + @ObfuscatedName("ae") + @ObfuscatedGetter( + intValue = -2127306477 + ) + @Export("worldMapDisplayX") + int worldMapDisplayX = -1; + @ObfuscatedName("ac") + @ObfuscatedGetter( + intValue = -511724315 + ) + @Export("worldMapDisplayY") + int worldMapDisplayY = -1; + @ObfuscatedName("aq") + @ObfuscatedGetter( + intValue = 430742145 + ) + @Export("maxFlashCount") + int maxFlashCount = 3; + @ObfuscatedName("at") + @ObfuscatedGetter( + intValue = -2091000699 + ) + @Export("cyclesPerFlash") + int cyclesPerFlash = 50; + @ObfuscatedName("ak") + @Export("perpetualFlash") + boolean perpetualFlash = false; + @ObfuscatedName("ax") + @Export("flashingElements") + HashSet flashingElements = null; + @ObfuscatedName("ar") + @ObfuscatedGetter( + intValue = -668167233 + ) + @Export("flashCount") + int flashCount = -1; + @ObfuscatedName("al") + @ObfuscatedGetter( + intValue = 369580101 + ) + @Export("flashCycle") + int flashCycle = -1; + @ObfuscatedName("aa") + @ObfuscatedGetter( + intValue = -495293641 + ) + int field3983 = -1; + @ObfuscatedName("as") + @ObfuscatedGetter( + intValue = -717916547 + ) + int field4024 = -1; + @ObfuscatedName("aw") + @ObfuscatedGetter( + intValue = -543796417 + ) + int field4022 = -1; + @ObfuscatedName("az") + @ObfuscatedGetter( + intValue = -866652017 + ) + int field4023 = -1; + @ObfuscatedName("ah") + @ObfuscatedGetter( + longValue = -8962083882606265099L + ) + long field4040; + @ObfuscatedName("ap") + @ObfuscatedGetter( + intValue = -255624939 + ) + int field4014; + @ObfuscatedName("aj") + @ObfuscatedGetter( + intValue = 795601449 + ) + int field4026; + @ObfuscatedName("an") + boolean field4027 = true; + @ObfuscatedName("au") + @Export("enabledElements") + HashSet enabledElements = new HashSet(); + @ObfuscatedName("ad") + @Export("enabledCategories") + HashSet enabledCategories = new HashSet(); + @ObfuscatedName("af") + @Export("enabledElementIds") + HashSet enabledElementIds = new HashSet(); + @ObfuscatedName("av") + HashSet field4032 = new HashSet(); + @ObfuscatedName("ao") + @Export("elementsDisabled") + boolean elementsDisabled = false; + @ObfuscatedName("bj") + @ObfuscatedGetter( + intValue = 1798825541 + ) + int field3994 = 0; + @ObfuscatedName("bi") + @Export("menuOpcodes") + final int[] menuOpcodes = new int[]{1008, 1009, 1010, 1011, 1012}; + @ObfuscatedName("bp") + List field4035; + @ObfuscatedName("br") + @Export("iconIterator") + Iterator iconIterator; + @ObfuscatedName("bq") + HashSet field3992 = new HashSet(); + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("mouseCoord") + Coord mouseCoord = null; + @ObfuscatedName("bc") + @Export("showCoord") + public boolean showCoord = false; + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("sprite") + SpritePixels sprite; + @ObfuscatedName("bv") + @ObfuscatedGetter( + intValue = -1265489045 + ) + @Export("cachedPixelsPerTile") + int cachedPixelsPerTile; + @ObfuscatedName("bt") + @ObfuscatedGetter( + intValue = 1633065457 + ) + @Export("minCachedTileX") + int minCachedTileX = -1; + @ObfuscatedName("bl") + @ObfuscatedGetter( + intValue = 1866710929 + ) + @Export("minCachedTileY") + int minCachedTileY = -1; + @ObfuscatedName("bh") + @ObfuscatedGetter( + intValue = -1184565479 + ) + int field4044 = -1; + + static { + fontNameVerdana11 = FontName.FontName_verdana11; + fontNameVerdana13 = FontName.FontName_verdana13; + fontNameVerdana15 = FontName.FontName_verdana15; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;Lig;Lkl;Ljava/util/HashMap;[Lly;B)V", + garbageValue = "32" + ) + @Export("init") + public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { + this.mapSceneSprites = var6; + this.WorldMap_archive = var1; + this.WorldMap_geographyArchive = var2; + this.WorldMap_groundArchive = var3; + this.font = var4; + this.fonts = new HashMap(); + this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, var5.get(fontNameVerdana11)); + 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.field333.name); + int[] var8 = this.WorldMap_archive.getGroupFileIds(var7); + this.details = new HashMap(var8.length); + + for(int var9 = 0; var9 < var8.length; ++var9) { + Buffer var10 = new Buffer(this.WorldMap_archive.takeFile(var7, var8[var9])); + WorldMapArea var11 = new WorldMapArea(); + var11.read(var10, var8[var9]); + this.details.put(var11.getInternalName(), var11); + if (var11.getIsMain()) { + this.mainMapArea = var11; + } + } + + this.setCurrentMapArea(this.mainMapArea); + this.field4001 = null; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "85863738" + ) + public void method6584() { + WorldMapSection1.method671(); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIZIIIII)V", + garbageValue = "230943505" + ) + @Export("onCycle") + public void onCycle(int var1, int var2, boolean var3, int var4, int var5, int var6, int var7) { + if (this.cacheLoader.isLoaded()) { + this.smoothZoom(); + this.scrollToTarget(); + if (var3) { + int var8 = (int)Math.ceil((double)((float)var6 / this.zoom)); + int var9 = (int)Math.ceil((double)((float)var7 / this.zoom)); + List var10 = this.worldMapManager.method722(this.centerTileX - var8 / 2 - 1, this.centerTileY - var9 / 2 - 1, var8 / 2 + this.centerTileX + 1, var9 / 2 + this.centerTileY + 1, var4, var5, var6, var7, var1, var2); + HashSet var11 = new HashSet(); + + Iterator var12; + AbstractWorldMapIcon var13; + ScriptEvent var14; + WorldMapEvent var15; + for(var12 = var10.iterator(); var12.hasNext(); PacketWriter.runScriptEvent(var14)) { + var13 = (AbstractWorldMapIcon)var12.next(); + var11.add(var13); + var14 = new ScriptEvent(); + var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); + var14.setArgs(new Object[]{var15, var1, var2}); + if (this.field3992.contains(var13)) { + var14.setType(17); + } else { + var14.setType(15); + } + } + + var12 = this.field3992.iterator(); + + while(var12.hasNext()) { + var13 = (AbstractWorldMapIcon)var12.next(); + if (!var11.contains(var13)) { + var14 = new ScriptEvent(); + var15 = new WorldMapEvent(var13.getElement(), var13.coord1, var13.coord2); + var14.setArgs(new Object[]{var15, var1, var2}); + var14.setType(16); + PacketWriter.runScriptEvent(var14); + } + } + + this.field3992 = var11; + } + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIZZI)V", + garbageValue = "-1689705014" + ) + public void method6525(int var1, int var2, boolean var3, boolean var4) { + long var5 = Tiles.currentTimeMillis(); + this.method6539(var1, var2, var4, var5); + if (this.hasTarget() || !var4 && !var3) { + this.method6527(); + } else { + if (var4) { + this.field4022 = var1; + this.field4023 = var2; + this.field3983 = this.centerTileX; + this.field4024 = this.centerTileY; + } + + if (this.field3983 != -1) { + int var7 = var1 - this.field4022; + int var8 = var2 - this.field4023; + this.setWorldMapPosition(this.field3983 - (int)((float)var7 / this.zoomTarget), (int)((float)var8 / this.zoomTarget) + this.field4024, false); + } + } + + if (var4) { + this.field4040 = var5; + this.field4014 = var1; + this.field4026 = var2; + } + + } + + @ObfuscatedName("y") + void method6539(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) { + int var9; + int var10; + if (TriBool.method5372() && KeyHandler.KeyHandler_pressedKeys[82] && KeyHandler.KeyHandler_pressedKeys[81]) { + int var13 = this.mouseCoord.x; + var9 = this.mouseCoord.y; + var10 = this.mouseCoord.plane; + PacketBufferNode var11 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var11.packetBuffer.writeShortLE(var9); + var11.packetBuffer.method5883(var10); + var11.packetBuffer.method5736(0); + var11.packetBuffer.writeIntME(var13); + Client.packetWriter.addNode(var11); + } else { + boolean var8 = true; + if (this.field4027) { + var9 = var1 - this.field4014; + var10 = var2 - this.field4026; + if (var4 - this.field4040 > 500L || var9 < -25 || var9 > 25 || var10 < -25 || var10 > 25) { + var8 = false; + } + } + + if (var8) { + PacketBufferNode var12 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2304, Client.packetWriter.isaacCipher); + var12.packetBuffer.method5736(this.mouseCoord.packed()); + Client.packetWriter.addNode(var12); + this.field4040 = 0L; + } + } + } + } else { + this.mouseCoord = null; + } + + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-1" + ) + @Export("smoothZoom") + void smoothZoom() { + if (HealthBarUpdate.field1016 != null) { + this.zoom = this.zoomTarget; + } else { + if (this.zoom < this.zoomTarget) { + this.zoom = Math.min(this.zoomTarget, this.zoom + this.zoom / 30.0F); + } + + if (this.zoom > this.zoomTarget) { + this.zoom = Math.max(this.zoomTarget, this.zoom - this.zoom / 30.0F); + } + + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "2023842573" + ) + @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; + } + + } + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(IIZI)V", + garbageValue = "1942318889" + ) + @Export("setWorldMapPosition") + final void setWorldMapPosition(int var1, int var2, boolean var3) { + this.centerTileX = var1; + this.centerTileY = var2; + Tiles.currentTimeMillis(); + if (var3) { + this.method6527(); + } + + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-759849186" + ) + final void method6527() { + this.field4023 = -1; + this.field4022 = -1; + this.field4024 = -1; + this.field3983 = -1; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-172308230" + ) + @Export("hasTarget") + boolean hasTarget() { + return this.worldMapTargetX != -1 && this.worldMapTargetY != -1; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIII)Lar;", + garbageValue = "1643132565" + ) + @Export("mapAreaAtCoord") + public WorldMapArea mapAreaAtCoord(int var1, int var2, int var3) { + Iterator var4 = this.details.values().iterator(); + + WorldMapArea var5; + do { + if (!var4.hasNext()) { + return null; + } + + var5 = (WorldMapArea)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); + + return var5; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IIIZI)V", + garbageValue = "76619956" + ) + public void method6530(int var1, int var2, int var3, boolean var4) { + WorldMapArea var5 = this.mapAreaAtCoord(var1, var2, var3); + if (var5 == null) { + if (!var4) { + return; + } + + var5 = this.mainMapArea; + } + + boolean var6 = false; + if (var5 != this.field4001 || var4) { + this.field4001 = var5; + this.setCurrentMapArea(var5); + var6 = true; + } + + if (var6 || var4) { + this.jump(var1, var2, var3); + } + + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1925451385" + ) + @Export("setCurrentMapAreaId") + public void setCurrentMapAreaId(int var1) { + WorldMapArea var2 = this.getMapArea(var1); + if (var2 != null) { + this.setCurrentMapArea(var2); + } + + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-730626276" + ) + @Export("currentMapAreaId") + public int currentMapAreaId() { + return this.currentMapArea == null ? -1 : this.currentMapArea.getId(); + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(B)Lar;", + garbageValue = "-84" + ) + @Export("getCurrentMapArea") + public WorldMapArea getCurrentMapArea() { + return this.currentMapArea; + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Lar;I)V", + garbageValue = "-248631189" + ) + @Export("setCurrentMapArea") + void setCurrentMapArea(WorldMapArea var1) { + if (this.currentMapArea == null || var1 != this.currentMapArea) { + this.initializeWorldMapManager(var1); + this.jump(-1, -1, -1); + } + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(Lar;I)V", + garbageValue = "1768917402" + ) + @Export("initializeWorldMapManager") + void initializeWorldMapManager(WorldMapArea var1) { + this.currentMapArea = var1; + this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive); + this.cacheLoader.reset(this.currentMapArea.getInternalName()); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Lar;Lhd;Lhd;ZI)V", + garbageValue = "-1378443139" + ) + public void method6536(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); + } + + } + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(IIIS)V", + garbageValue = "-10194" + ) + @Export("jump") + void jump(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 == null) { + var4 = this.currentMapArea.position(this.currentMapArea.getOriginPlane(), this.currentMapArea.getOriginX(), this.currentMapArea.getOriginY()); + } + + this.setWorldMapPosition(var4[0] - this.currentMapArea.getRegionLowX() * 64, var4[1] - this.currentMapArea.getRegionLowY() * 64, true); + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + this.zoom = this.getZoomFromPercentage(this.currentMapArea.getZoom()); + this.zoomTarget = this.zoom; + this.field4035 = null; + this.iconIterator = null; + this.worldMapManager.clearIcons(); + } + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(IIIIII)V", + garbageValue = "943833316" + ) + @Export("draw") + public void draw(int var1, int var2, int var3, int var4, int var5) { + int[] var6 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var6); + Rasterizer2D.Rasterizer2D_setClip(var1, var2, var3 + var1, var2 + var4); + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); + int var7 = this.cacheLoader.getPercentLoaded(); + if (var7 < 100) { + this.drawLoading(var1, var2, var3, var4, var7); + } else { + if (!this.worldMapManager.isLoaded()) { + this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getInternalName(), Client.isMembersWorld); + if (!this.worldMapManager.isLoaded()) { + return; + } + } + + if (this.flashingElements != null) { + ++this.flashCycle; + if (this.flashCycle % this.cyclesPerFlash == 0) { + this.flashCycle = 0; + ++this.flashCount; + } + + if (this.flashCount >= this.maxFlashCount && !this.perpetualFlash) { + this.flashingElements = null; + } + } + + int var8 = (int)Math.ceil((double)((float)var3 / this.zoom)); + int var9 = (int)Math.ceil((double)((float)var4 / this.zoom)); + this.worldMapManager.drawTiles(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4); + if (!this.elementsDisabled) { + boolean var10 = false; + if (var5 - this.field3994 > 100) { + this.field3994 = var5; + var10 = true; + } + + this.worldMapManager.drawElements(this.centerTileX - var8 / 2, this.centerTileY - var9 / 2, var8 / 2 + this.centerTileX, var9 / 2 + this.centerTileY, var1, var2, var3 + var1, var2 + var4, this.field4032, this.flashingElements, this.flashCycle, this.cyclesPerFlash, var10); + } + + this.method6699(var1, var2, var3, var4, var8, var9); + if (TriBool.method5372() && this.showCoord && this.mouseCoord != null) { + this.font.draw("Coord: " + this.mouseCoord, Rasterizer2D.Rasterizer2D_xClipStart + 10, Rasterizer2D.Rasterizer2D_yClipStart + 20, 16776960, -1); + } + + this.worldMapDisplayWidth = var8; + this.worldMapDisplayHeight = var9; + this.worldMapDisplayX = var1; + this.worldMapDisplayY = var2; + Rasterizer2D.Rasterizer2D_setClipArray(var6); + } + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(IIIIIIB)Z", + garbageValue = "32" + ) + boolean method6633(int var1, int var2, int var3, int var4, int var5, int var6) { + if (this.sprite == null) { + return true; + } else if (this.sprite.subWidth == var1 && this.sprite.subHeight == var2) { + if (this.worldMapManager.pixelsPerTile != this.cachedPixelsPerTile) { + return true; + } else if (this.field4044 != Client.field674) { + return true; + } else if (var3 <= 0 && var4 <= 0) { + return var3 + var1 < var5 || var2 + var4 < var6; + } else { + return true; + } + } else { + return true; + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(IIIIIII)V", + garbageValue = "-1237692088" + ) + void method6699(int var1, int var2, int var3, int var4, int var5, int var6) { + if (HealthBarUpdate.field1016 != null) { + int var7 = 512 / (this.worldMapManager.pixelsPerTile * 2); + int var8 = var3 + 512; + int var9 = var4 + 512; + float var10 = 1.0F; + var8 = (int)((float)var8 / var10); + var9 = (int)((float)var9 / var10); + int var11 = this.getDisplayX() - var5 / 2 - var7; + int var12 = this.getDisplayY() - var6 / 2 - var7; + int var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; + int var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); + if (this.method6633(var8, var9, var13, var14, var3, var4)) { + if (this.sprite != null && this.sprite.subWidth == var8 && this.sprite.subHeight == var9) { + Arrays.fill(this.sprite.pixels, 0); + } else { + this.sprite = new SpritePixels(var8, var9); + } + + this.minCachedTileX = this.getDisplayX() - var5 / 2 - var7; + this.minCachedTileY = this.getDisplayY() - var6 / 2 - var7; + this.cachedPixelsPerTile = this.worldMapManager.pixelsPerTile; + HealthBarUpdate.field1016.method4511(this.minCachedTileX, this.minCachedTileY, this.sprite, (float)this.cachedPixelsPerTile / var10); + this.field4044 = Client.field674; + var13 = var1 - (var11 + var7 - this.minCachedTileX) * this.worldMapManager.pixelsPerTile; + var14 = var2 - this.worldMapManager.pixelsPerTile * (var7 - (var12 - this.minCachedTileY)); + } + + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var1, var2, var3, var4, 0, 128); + if (1.0F == var10) { + this.sprite.method6426(var13, var14, 192); + } else { + this.sprite.method6347(var13, var14, (int)((float)var8 * var10), (int)(var10 * (float)var9), 192); + } + } + + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-1634362123" + ) + @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); + } + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1829622274" + ) + @Export("setZoomPercentage") + public void setZoomPercentage(int var1) { + this.zoomTarget = this.getZoomFromPercentage(var1); + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(IIIIIB)V", + garbageValue = "-22" + ) + @Export("drawLoading") + void drawLoading(int var1, int var2, int var3, int var4, int var5) { + byte var6 = 20; + int var7 = var3 / 2 + var1; + int var8 = var4 / 2 + var2 - 18 - var6; + Rasterizer2D.Rasterizer2D_fillRectangle(var1, var2, var3, var4, -16777216); + Rasterizer2D.Rasterizer2D_drawRectangle(var7 - 152, var8, 304, 34, -65536); + Rasterizer2D.Rasterizer2D_fillRectangle(var7 - 150, var8 + 2, var5 * 3, 30, -65536); + this.font.drawCentered("Loading...", var7, var6 + var8, -1, -1); + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(II)F", + garbageValue = "2058338790" + ) + @Export("getZoomFromPercentage") + float getZoomFromPercentage(int var1) { + if (var1 == 25) { + return 1.0F; + } else if (var1 == 37) { + return 1.5F; + } else if (var1 == 50) { + return 2.0F; + } else if (var1 == 75) { + return 3.0F; + } else { + return var1 == 100 ? 4.0F : 8.0F; + } + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "755044862" + ) + @Export("getZoomLevel") + public int getZoomLevel() { + if ((double)this.zoomTarget == 1.0D) { + return 25; + } else if (1.5D == (double)this.zoomTarget) { + return 37; + } else if ((double)this.zoomTarget == 2.0D) { + return 50; + } else if (3.0D == (double)this.zoomTarget) { + return 75; + } else { + return 4.0D == (double)this.zoomTarget ? 100 : 200; + } + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "7039" + ) + @Export("loadCache") + public void loadCache() { + this.cacheLoader.load(); + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1977951354" + ) + @Export("isCacheLoaded") + public boolean isCacheLoaded() { + return this.cacheLoader.isLoaded(); + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(II)Lar;", + garbageValue = "24879988" + ) + @Export("getMapArea") + public WorldMapArea getMapArea(int var1) { + Iterator var2 = this.details.values().iterator(); + + WorldMapArea var3; + do { + if (!var2.hasNext()) { + return null; + } + + var3 = (WorldMapArea)var2.next(); + } while(var3.getId() != var1); + + return var3; + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1763337265" + ) + @Export("setWorldMapPositionTarget") + public void setWorldMapPositionTarget(int var1, int var2) { + if (this.currentMapArea != null && this.currentMapArea.containsPosition(var1, var2)) { + this.worldMapTargetX = var1 - this.currentMapArea.getRegionLowX() * 64; + this.worldMapTargetY = var2 - this.currentMapArea.getRegionLowY() * 64; + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1279892888" + ) + @Export("setWorldMapPositionTargetInstant") + public void setWorldMapPositionTargetInstant(int var1, int var2) { + if (this.currentMapArea != null) { + this.setWorldMapPosition(var1 - this.currentMapArea.getRegionLowX() * 64, var2 - this.currentMapArea.getRegionLowY() * 64, true); + this.worldMapTargetX = -1; + this.worldMapTargetY = -1; + } + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "1845440607" + ) + @Export("jumpToSourceCoord") + public void jumpToSourceCoord(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 != null) { + this.setWorldMapPositionTarget(var4[0], var4[1]); + } + + } + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "739439346" + ) + @Export("jumpToSourceCoordInstant") + public void jumpToSourceCoordInstant(int var1, int var2, int var3) { + if (this.currentMapArea != null) { + int[] var4 = this.currentMapArea.position(var1, var2, var3); + if (var4 != null) { + this.setWorldMapPositionTargetInstant(var4[0], var4[1]); + } + + } + } + + @ObfuscatedName("as") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1657700908" + ) + @Export("getDisplayX") + public int getDisplayX() { + return this.currentMapArea == null ? -1 : this.centerTileX + this.currentMapArea.getRegionLowX() * 64; + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-162188906" + ) + @Export("getDisplayY") + public int getDisplayY() { + return this.currentMapArea == null ? -1 : this.centerTileY + this.currentMapArea.getRegionLowY() * 64; + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "(I)Lhd;", + garbageValue = "39771742" + ) + @Export("getDisplayCoord") + public Coord getDisplayCoord() { + return this.currentMapArea == null ? null : this.currentMapArea.coord(this.getDisplayX(), this.getDisplayY()); + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1570043056" + ) + @Export("getDisplayWith") + public int getDisplayWith() { + return this.worldMapDisplayWidth; + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "0" + ) + @Export("getDisplayHeight") + public int getDisplayHeight() { + return this.worldMapDisplayHeight; + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1795336966" + ) + @Export("setMaxFlashCount") + public void setMaxFlashCount(int var1) { + if (var1 >= 1) { + this.maxFlashCount = var1; + } + + } + + @ObfuscatedName("an") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-62" + ) + @Export("resetMaxFlashCount") + public void resetMaxFlashCount() { + this.maxFlashCount = 3; + } + + @ObfuscatedName("ai") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "91922323" + ) + @Export("setCyclesPerFlash") + public void setCyclesPerFlash(int var1) { + if (var1 >= 1) { + this.cyclesPerFlash = var1; + } + + } + + @ObfuscatedName("ab") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "24643102" + ) + @Export("resetCyclesPerFlash") + public void resetCyclesPerFlash() { + this.cyclesPerFlash = 50; + } + + @ObfuscatedName("au") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-1604690679" + ) + @Export("setPerpetualFlash") + public void setPerpetualFlash(boolean var1) { + this.perpetualFlash = var1; + } + + @ObfuscatedName("ad") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "-18" + ) + @Export("flashElement") + public void flashElement(int var1) { + this.flashingElements = new HashSet(); + this.flashingElements.add(var1); + this.flashCount = 0; + this.flashCycle = 0; + } + + @ObfuscatedName("af") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "176453590" + ) + @Export("flashCategory") + public void flashCategory(int var1) { + this.flashingElements = new HashSet(); + this.flashCount = 0; + this.flashCycle = 0; + + for(int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { + if (InvDefinition.WorldMapElement_get(var2) != null && InvDefinition.WorldMapElement_get(var2).category == var1) { + this.flashingElements.add(InvDefinition.WorldMapElement_get(var2).objectId); + } + } + + } + + @ObfuscatedName("av") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "119" + ) + @Export("stopCurrentFlashes") + public void stopCurrentFlashes() { + this.flashingElements = null; + } + + @ObfuscatedName("ao") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "651351210" + ) + @Export("setElementsDisabled") + public void setElementsDisabled(boolean var1) { + this.elementsDisabled = !var1; + } + + @ObfuscatedName("bj") + @ObfuscatedSignature( + descriptor = "(IZI)V", + garbageValue = "-1491746515" + ) + @Export("disableElement") + public void disableElement(int var1, boolean var2) { + if (!var2) { + this.enabledElements.add(var1); + } else { + this.enabledElements.remove(var1); + } + + this.method6571(); + } + + @ObfuscatedName("bn") + @ObfuscatedSignature( + descriptor = "(IZI)V", + garbageValue = "375985188" + ) + @Export("setCategoryDisabled") + public void setCategoryDisabled(int var1, boolean var2) { + if (!var2) { + this.enabledCategories.add(var1); + } else { + this.enabledCategories.remove(var1); + } + + for(int var3 = 0; var3 < WorldMapElement.WorldMapElement_count; ++var3) { + if (InvDefinition.WorldMapElement_get(var3) != null && InvDefinition.WorldMapElement_get(var3).category == var1) { + int var4 = InvDefinition.WorldMapElement_get(var3).objectId; + if (!var2) { + this.enabledElementIds.add(var4); + } else { + this.enabledElementIds.remove(var4); + } + } + } + + this.method6571(); + } + + @ObfuscatedName("bi") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "1" + ) + @Export("getElementsDisabled") + public boolean getElementsDisabled() { + return !this.elementsDisabled; + } + + @ObfuscatedName("bp") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "799594991" + ) + @Export("isElementDisabled") + public boolean isElementDisabled(int var1) { + return !this.enabledElements.contains(var1); + } + + @ObfuscatedName("br") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1690733813" + ) + @Export("isCategoryDisabled") + public boolean isCategoryDisabled(int var1) { + return !this.enabledCategories.contains(var1); + } + + @ObfuscatedName("bq") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "793022783" + ) + void method6571() { + this.field4032.clear(); + this.field4032.addAll(this.enabledElements); + this.field4032.addAll(this.enabledElementIds); + } + + @ObfuscatedName("bx") + @ObfuscatedSignature( + descriptor = "(IIIIIII)V", + garbageValue = "-2078368565" + ) + @Export("addElementMenuOptions") + public void addElementMenuOptions(int var1, int var2, int var3, int var4, int var5, int var6) { + if (this.cacheLoader.isLoaded()) { + int var7 = (int)Math.ceil((double)((float)var3 / this.zoom)); + int var8 = (int)Math.ceil((double)((float)var4 / this.zoom)); + List var9 = this.worldMapManager.method722(this.centerTileX - var7 / 2 - 1, this.centerTileY - var8 / 2 - 1, var7 / 2 + this.centerTileX + 1, var8 / 2 + this.centerTileY + 1, var1, var2, var3, var4, var5, var6); + if (!var9.isEmpty()) { + Iterator var10 = var9.iterator(); + + boolean var13; + do { + if (!var10.hasNext()) { + return; + } + + AbstractWorldMapIcon var11 = (AbstractWorldMapIcon)var10.next(); + WorldMapElement var12 = InvDefinition.WorldMapElement_get(var11.getElement()); + var13 = false; + + for(int var14 = this.menuOpcodes.length - 1; var14 >= 0; --var14) { + if (var12.menuActions[var14] != null) { + WorldMapManager.insertMenuItemNoShift(var12.menuActions[var14], var12.menuTargetName, this.menuOpcodes[var14], var11.getElement(), var11.coord1.packed(), var11.coord2.packed()); + var13 = true; + } + } + } while(!var13); + + } + } + } + + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "(ILhd;I)Lhd;", + garbageValue = "242977526" + ) + public Coord method6643(int var1, Coord var2) { + if (!this.cacheLoader.isLoaded()) { + return null; + } else if (!this.worldMapManager.isLoaded()) { + return null; + } else if (!this.currentMapArea.containsPosition(var2.x, var2.y)) { + return null; + } else { + HashMap var3 = this.worldMapManager.buildIcons(); + List var4 = (List)var3.get(var1); + if (var4 != null && !var4.isEmpty()) { + AbstractWorldMapIcon var5 = null; + int var6 = -1; + Iterator var7 = var4.iterator(); + + while(true) { + AbstractWorldMapIcon var8; + int var11; + do { + if (!var7.hasNext()) { + return var5.coord2; + } + + var8 = (AbstractWorldMapIcon)var7.next(); + int var9 = var8.coord2.x - var2.x; + int var10 = var8.coord2.y - var2.y; + var11 = var9 * var9 + var10 * var10; + if (var11 == 0) { + return var8.coord2; + } + } while(var11 >= var6 && var5 != null); + + var5 = var8; + var6 = var11; + } + } else { + return null; + } + } + } + + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "(IILhd;Lhd;I)V", + garbageValue = "-1238486806" + ) + @Export("worldMapMenuAction") + public void worldMapMenuAction(int var1, int var2, Coord var3, Coord var4) { + ScriptEvent var5 = new ScriptEvent(); + WorldMapEvent var6 = new WorldMapEvent(var2, var3, var4); + var5.setArgs(new Object[]{var6}); + switch(var1) { + case 1008: + var5.setType(10); + break; + case 1009: + var5.setType(11); + break; + case 1010: + var5.setType(12); + break; + case 1011: + var5.setType(13); + break; + case 1012: + var5.setType(14); + } + + PacketWriter.runScriptEvent(var5); + } + + @ObfuscatedName("bv") + @ObfuscatedSignature( + descriptor = "(B)Laj;", + garbageValue = "-77" + ) + @Export("iconStart") + public AbstractWorldMapIcon iconStart() { + if (!this.cacheLoader.isLoaded()) { + return null; + } else if (!this.worldMapManager.isLoaded()) { + return null; + } else { + HashMap var1 = this.worldMapManager.buildIcons(); + this.field4035 = new LinkedList(); + Iterator var2 = var1.values().iterator(); + + while(var2.hasNext()) { + List var3 = (List)var2.next(); + this.field4035.addAll(var3); + } + + this.iconIterator = this.field4035.iterator(); + return this.iconNext(); + } + } + + @ObfuscatedName("bt") + @ObfuscatedSignature( + descriptor = "(B)Laj;", + garbageValue = "-25" + ) + @Export("iconNext") + public AbstractWorldMapIcon iconNext() { + if (this.iconIterator == null) { + return null; + } else { + AbstractWorldMapIcon var1; + do { + if (!this.iconIterator.hasNext()) { + return null; + } + + var1 = (AbstractWorldMapIcon)this.iconIterator.next(); + } while(var1.getElement() == -1); + + return var1; + } + } } diff --git a/runescape-client/src/main/java/WorldMapArchiveLoader.java b/runescape-client/src/main/java/WorldMapArchiveLoader.java index e15b93cb01..9bc2398ee6 100644 --- a/runescape-client/src/main/java/WorldMapArchiveLoader.java +++ b/runescape-client/src/main/java/WorldMapArchiveLoader.java @@ -4,106 +4,104 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mv") +@ObfuscatedName("mj") @Implements("WorldMapArchiveLoader") public class WorldMapArchiveLoader { - @ObfuscatedName("t") - @Export("cacheName") - String cacheName; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("archive") - AbstractArchive archive; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1853397367 - ) - @Export("percentLoaded") - int percentLoaded; - @ObfuscatedName("p") - @Export("loaded") - boolean loaded; + @ObfuscatedName("y") + @Export("cacheName") + String cacheName; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("archive") + AbstractArchive archive; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -925994251 + ) + @Export("percentLoaded") + int percentLoaded = 0; + @ObfuscatedName("e") + @Export("loaded") + boolean loaded = false; - @ObfuscatedSignature( - descriptor = "(Lib;)V" - ) - WorldMapArchiveLoader(AbstractArchive var1) { - this.percentLoaded = 0; // L: 13 - this.loaded = false; // L: 14 - this.archive = var1; // L: 17 - } // L: 18 + @ObfuscatedSignature( + descriptor = "(Lig;)V" + ) + WorldMapArchiveLoader(AbstractArchive var1) { + this.archive = var1; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-1761137181" - ) - @Export("reset") - void reset(String var1) { - if (var1 != null && !var1.isEmpty()) { // L: 21 - if (var1 != this.cacheName) { // L: 24 - this.cacheName = var1; // L: 27 - this.percentLoaded = 0; // L: 28 - this.loaded = false; // L: 29 - this.load(); // L: 30 - } - } - } // L: 22 25 31 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)V", + garbageValue = "1607253331" + ) + @Export("reset") + void reset(String var1) { + if (var1 != null && !var1.isEmpty()) { + if (var1 != this.cacheName) { + this.cacheName = var1; + this.percentLoaded = 0; + this.loaded = false; + this.load(); + } + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "106" - ) - @Export("load") - int load() { - if (this.percentLoaded < 33) { // L: 34 - if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field326.name, this.cacheName)) { // L: 35 - return this.percentLoaded; // L: 36 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-460265936" + ) + @Export("load") + int load() { + if (this.percentLoaded < 33) { + if (!this.archive.tryLoadFileByNames(WorldMapCacheName.field323.name, this.cacheName)) { + return this.percentLoaded; + } - this.percentLoaded = 33; // L: 38 - } + this.percentLoaded = 33; + } - if (this.percentLoaded == 33) { // L: 40 - if (this.archive.isValidFileName(WorldMapCacheName.field327.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field327.name, this.cacheName)) { // L: 41 42 - return this.percentLoaded; // L: 43 - } + if (this.percentLoaded == 33) { + if (this.archive.isValidFileName(WorldMapCacheName.field324.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.field324.name, this.cacheName)) { + return this.percentLoaded; + } - this.percentLoaded = 66; // L: 46 - } + this.percentLoaded = 66; + } - if (this.percentLoaded == 66) { // L: 48 - if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field325.name)) { // L: 49 - return this.percentLoaded; // L: 50 - } + if (this.percentLoaded == 66) { + if (!this.archive.tryLoadFileByNames(this.cacheName, WorldMapCacheName.field326.name)) { + return this.percentLoaded; + } - this.percentLoaded = 100; // L: 52 - this.loaded = true; // L: 53 - } + this.percentLoaded = 100; + this.loaded = true; + } - return this.percentLoaded; // L: 55 - } + return this.percentLoaded; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "665938450" - ) - @Export("isLoaded") - boolean isLoaded() { - return this.loaded; // L: 59 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "868597570" + ) + @Export("isLoaded") + boolean isLoaded() { + return this.loaded; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1669569125" - ) - @Export("getPercentLoaded") - int getPercentLoaded() { - return this.percentLoaded; // L: 63 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-754192338" + ) + @Export("getPercentLoaded") + int getPercentLoaded() { + return this.percentLoaded; + } } diff --git a/runescape-client/src/main/java/WorldMapArea.java b/runescape-client/src/main/java/WorldMapArea.java index 47a7407c3c..1730b9b9da 100644 --- a/runescape-client/src/main/java/WorldMapArea.java +++ b/runescape-client/src/main/java/WorldMapArea.java @@ -1,3 +1,4 @@ +import java.awt.Component; import java.util.Iterator; import java.util.LinkedList; import net.runelite.mapping.Export; @@ -6,391 +7,401 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("av") +@ObfuscatedName("ar") @Implements("WorldMapArea") public class WorldMapArea { - @ObfuscatedName("pn") - @ObfuscatedSignature( - descriptor = "Lkt;" - ) - @Export("clanChat") - static ClanChat clanChat; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 437369697 - ) - @Export("id") - int id; - @ObfuscatedName("v") - @Export("internalName") - String internalName; - @ObfuscatedName("x") - @Export("externalName") - String externalName; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1200311345 - ) - @Export("backGroundColor") - int backGroundColor; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -748601679 - ) - @Export("zoom") - int zoom; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("origin") - Coord origin; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 1116802187 - ) - @Export("regionLowX") - int regionLowX; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -647199591 - ) - @Export("regionHighX") - int regionHighX; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1048525541 - ) - @Export("regionLowY") - int regionLowY; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1282095101 - ) - @Export("regionHighY") - int regionHighY; - @ObfuscatedName("u") - @Export("isMain") - boolean isMain; - @ObfuscatedName("e") - @Export("sections") - LinkedList sections; + @ObfuscatedName("dm") + @ObfuscatedSignature( + descriptor = "Lls;" + ) + @Export("js5Socket") + static AbstractSocket js5Socket; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -63029259 + ) + @Export("id") + int id = -1; + @ObfuscatedName("v") + @Export("internalName") + String internalName; + @ObfuscatedName("d") + @Export("externalName") + String externalName; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1891033177 + ) + @Export("backGroundColor") + int backGroundColor = -1; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1386343271 + ) + @Export("zoom") + int zoom = -1; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("origin") + Coord origin = null; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -861412381 + ) + @Export("regionLowX") + int regionLowX = Integer.MAX_VALUE; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 1942318889 + ) + @Export("regionHighX") + int regionHighX = 0; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1790073795 + ) + @Export("regionLowY") + int regionLowY = Integer.MAX_VALUE; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -407810153 + ) + @Export("regionHighY") + int regionHighY = 0; + @ObfuscatedName("s") + @Export("isMain") + boolean isMain = false; + @ObfuscatedName("b") + @Export("sections") + LinkedList sections; - public WorldMapArea() { - this.id = -1; // L: 9 - this.backGroundColor = -1; // L: 12 - this.zoom = -1; // L: 13 - this.origin = null; // L: 14 - this.regionLowX = Integer.MAX_VALUE; // L: 15 - this.regionHighX = 0; // L: 16 - this.regionLowY = Integer.MAX_VALUE; // L: 17 - this.regionHighY = 0; // L: 18 - this.isMain = false; // L: 19 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-285424184" + ) + @Export("read") + public void read(Buffer var1, int var2) { + this.id = var2; + this.internalName = var1.readStringCp1252NullTerminated(); + this.externalName = var1.readStringCp1252NullTerminated(); + this.origin = new Coord(var1.readInt()); + this.backGroundColor = var1.readInt(); + var1.readUnsignedByte(); + this.isMain = var1.readUnsignedByte() == 1; + this.zoom = var1.readUnsignedByte(); + int var3 = var1.readUnsignedByte(); + this.sections = new LinkedList(); - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "1014419421" - ) - @Export("read") - public void read(Buffer var1, int var2) { - this.id = var2; // L: 23 - this.internalName = var1.readStringCp1252NullTerminated(); // L: 24 - this.externalName = var1.readStringCp1252NullTerminated(); // L: 25 - this.origin = new Coord(var1.readInt()); // L: 26 - this.backGroundColor = var1.readInt(); // L: 27 - var1.readUnsignedByte(); // L: 28 - this.isMain = var1.readUnsignedByte() == 1; // L: 29 - this.zoom = var1.readUnsignedByte(); // L: 30 - int var3 = var1.readUnsignedByte(); // L: 31 - this.sections = new LinkedList(); // L: 32 + for(int var4 = 0; var4 < var3; ++var4) { + this.sections.add(this.readWorldMapSection(var1)); + } - for (int var4 = 0; var4 < var3; ++var4) { // L: 33 - this.sections.add(this.readWorldMapSection(var1)); // L: 34 - } + this.setBounds(); + } - this.setBounds(); // L: 36 - } // L: 37 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Lab;", + garbageValue = "369407724" + ) + @Export("readWorldMapSection") + WorldMapSection readWorldMapSection(Buffer var1) { + int var2 = var1.readUnsignedByte(); + WorldMapSectionType[] var3 = new WorldMapSectionType[]{WorldMapSectionType.WORLDMAPSECTIONTYPE2, WorldMapSectionType.WORLDMAPSECTIONTYPE3, WorldMapSectionType.WORLDMAPSECTIONTYPE0, WorldMapSectionType.WORLDMAPSECTIONTYPE1}; + WorldMapSectionType var4 = (WorldMapSectionType)InterfaceParent.findEnumerated(var3, var2); + Object var5 = null; + switch(var4.type) { + case 0: + var5 = new WorldMapSection1(); + break; + case 1: + var5 = new class51(); + break; + case 2: + var5 = new WorldMapSection0(); + break; + case 3: + var5 = new WorldMapSection2(); + break; + default: + throw new IllegalStateException(""); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)Lal;", - garbageValue = "1162272573" - ) - @Export("readWorldMapSection") - WorldMapSection readWorldMapSection(Buffer var1) { - int var2 = var1.readUnsignedByte(); // L: 40 - WorldMapSectionType var3 = (WorldMapSectionType)UrlRequester.findEnumerated(WorldMapSectionType.method295(), var2); // L: 41 - Object var4 = null; // L: 42 - switch(var3.type) { // L: 43 - case 0: - var4 = new WorldMapSection1(); // L: 53 - break; // L: 54 - case 1: - var4 = new WorldMapSection2(); // L: 45 - break; - case 2: - var4 = new class51(); // L: 48 - break; // L: 49 - case 3: - var4 = new WorldMapSection0(); // L: 56 - break; - default: - throw new IllegalStateException(""); // L: 51 - } + ((WorldMapSection)var5).read(var1); + return (WorldMapSection)var5; + } - ((WorldMapSection)var4).read(var1); // L: 59 - return (WorldMapSection)var4; // L: 60 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIII)Z", + garbageValue = "1455116535" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "-262671603" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - Iterator var4 = this.sections.iterator(); // L: 64 + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return false; + } - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return false; // L: 72 - } + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); - var5 = (WorldMapSection)var4.next(); // L: 65 - } while(!var5.containsCoord(var1, var2, var3)); // L: 67 + return true; + } - return true; // L: 68 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(III)Z", + garbageValue = "-1715040975" + ) + @Export("containsPosition") + 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(); - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "-1971067580" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - int var3 = var1 / 64; // L: 76 - int var4 = var2 / 64; // L: 77 - if (var3 >= this.regionLowX && var3 <= this.regionHighX) { // L: 78 - if (var4 >= this.regionLowY && var4 <= this.regionHighY) { // L: 79 - Iterator var5 = this.sections.iterator(); // L: 80 + WorldMapSection var6; + do { + if (!var5.hasNext()) { + return false; + } - WorldMapSection var6; - do { - if (!var5.hasNext()) { - return false; // L: 88 - } + var6 = (WorldMapSection)var5.next(); + } while(!var6.containsPosition(var1, var2)); - var6 = (WorldMapSection)var5.next(); // L: 81 - } while(!var6.containsPosition(var1, var2)); // L: 83 + return true; + } else { + return false; + } + } else { + return false; + } + } - return true; // L: 84 - } else { - return false; - } - } else { - return false; - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IIII)[I", + garbageValue = "332088974" + ) + @Export("position") + public int[] position(int var1, int var2, int var3) { + Iterator var4 = this.sections.iterator(); - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "2087440042" - ) - @Export("position") - public int[] position(int var1, int var2, int var3) { - Iterator var4 = this.sections.iterator(); // L: 92 + WorldMapSection var5; + do { + if (!var4.hasNext()) { + return null; + } - WorldMapSection var5; - do { - if (!var4.hasNext()) { - return null; // L: 100 - } + var5 = (WorldMapSection)var4.next(); + } while(!var5.containsCoord(var1, var2, var3)); - var5 = (WorldMapSection)var4.next(); // L: 93 - } while(!var5.containsCoord(var1, var2, var3)); // L: 95 + return var5.getBorderTileLengths(var1, var2, var3); + } - return var5.getBorderTileLengths(var1, var2, var3); // L: 96 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "1033497447" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + Iterator var3 = this.sections.iterator(); - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "-81" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - Iterator var3 = this.sections.iterator(); // L: 104 + WorldMapSection var4; + do { + if (!var3.hasNext()) { + return null; + } - WorldMapSection var4; - do { - if (!var3.hasNext()) { - return null; // L: 112 - } + var4 = (WorldMapSection)var3.next(); + } while(!var4.containsPosition(var1, var2)); - var4 = (WorldMapSection)var3.next(); // L: 105 - } while(!var4.containsPosition(var1, var2)); // L: 107 + return var4.coord(var1, var2); + } - return var4.coord(var1, var2); // L: 108 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2087726603" + ) + @Export("setBounds") + void setBounds() { + Iterator var1 = this.sections.iterator(); - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-777365291" - ) - @Export("setBounds") - void setBounds() { - Iterator var1 = this.sections.iterator(); // L: 116 + while(var1.hasNext()) { + WorldMapSection var2 = (WorldMapSection)var1.next(); + var2.expandBounds(this); + } - while (var1.hasNext()) { - WorldMapSection var2 = (WorldMapSection)var1.next(); // L: 117 - var2.expandBounds(this); // L: 119 - } + } - } // L: 122 + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "872580750" + ) + @Export("getId") + public int getId() { + return this.id; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1513965339" - ) - @Export("getId") - public int getId() { - return this.id; // L: 125 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "-7" + ) + @Export("getIsMain") + public boolean getIsMain() { + return this.isMain; + } - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "2015329854" - ) - @Export("getIsMain") - public boolean getIsMain() { - return this.isMain; // L: 129 - } + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "1550692471" + ) + @Export("getInternalName") + public String getInternalName() { + return this.internalName; + } - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "1918327624" - ) - @Export("getInternalName") - public String getInternalName() { - return this.internalName; // L: 133 - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "2036253540" + ) + @Export("getExternalName") + public String getExternalName() { + return this.externalName; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)Ljava/lang/String;", - garbageValue = "-681281722" - ) - @Export("getExternalName") - public String getExternalName() { - return this.externalName; // L: 137 - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "1" + ) + @Export("getBackGroundColor") + int getBackGroundColor() { + return this.backGroundColor; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "473258076" - ) - @Export("getBackGroundColor") - int getBackGroundColor() { - return this.backGroundColor; // L: 141 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "2014656389" + ) + @Export("getZoom") + public int getZoom() { + return this.zoom; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "39" - ) - @Export("getZoom") - public int getZoom() { - return this.zoom; // L: 145 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(S)I", + garbageValue = "128" + ) + @Export("getRegionLowX") + public int getRegionLowX() { + return this.regionLowX; + } - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-41" - ) - @Export("getRegionLowX") - public int getRegionLowX() { - return this.regionLowX; // L: 149 - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "20" + ) + @Export("getRegionHighX") + public int getRegionHighX() { + return this.regionHighX; + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1672346255" - ) - @Export("getRegionHighX") - public int getRegionHighX() { - return this.regionHighX; // L: 153 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-2024807463" + ) + @Export("getRegionLowY") + public int getRegionLowY() { + return this.regionLowY; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "8844028" - ) - @Export("getRegionLowY") - public int getRegionLowY() { - return this.regionLowY; // L: 157 - } + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1949221943" + ) + @Export("getRegionHighY") + public int getRegionHighY() { + return this.regionHighY; + } - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1226108190" - ) - @Export("getRegionHighY") - public int getRegionHighY() { - return this.regionHighY; // L: 161 - } + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "759917118" + ) + @Export("getOriginX") + public int getOriginX() { + return this.origin.x; + } - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1989874207" - ) - @Export("getOriginX") - public int getOriginX() { - return this.origin.x; // L: 165 - } + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-13" + ) + @Export("getOriginPlane") + public int getOriginPlane() { + return this.origin.plane; + } - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1105888625" - ) - @Export("getOriginPlane") - public int getOriginPlane() { - return this.origin.plane; // L: 169 - } + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-51" + ) + @Export("getOriginY") + public int getOriginY() { + return this.origin.y; + } - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "527248188" - ) - @Export("getOriginY") - public int getOriginY() { - return this.origin.y; // L: 173 - } + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(I)Lhd;", + garbageValue = "-1797620911" + ) + @Export("getOrigin") + public Coord getOrigin() { + return new Coord(this.origin); + } - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(I)Lhs;", - garbageValue = "-745168638" - ) - @Export("getOrigin") - public Coord getOrigin() { - return new Coord(this.origin); // L: 177 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/awt/Component;I)V", + garbageValue = "141354959" + ) + static void method489(Component var0) { + var0.addMouseListener(MouseHandler.MouseHandler_instance); + var0.addMouseMotionListener(MouseHandler.MouseHandler_instance); + var0.addFocusListener(MouseHandler.MouseHandler_instance); + } + + @ObfuscatedName("jj") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-1792034229" + ) + @Export("getTapToDrop") + static boolean getTapToDrop() { + return Client.tapToDrop; + } } diff --git a/runescape-client/src/main/java/WorldMapAreaData.java b/runescape-client/src/main/java/WorldMapAreaData.java index e5654e2468..8b47344bf7 100644 --- a/runescape-client/src/main/java/WorldMapAreaData.java +++ b/runescape-client/src/main/java/WorldMapAreaData.java @@ -6,102 +6,134 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ay") +@ObfuscatedName("au") @Implements("WorldMapAreaData") public class WorldMapAreaData extends WorldMapArea { - @ObfuscatedName("m") - @Export("worldMapData0Set") - HashSet worldMapData0Set; - @ObfuscatedName("c") - @Export("worldMapData1Set") - HashSet worldMapData1Set; - @ObfuscatedName("i") - @Export("iconList") - List iconList; + @ObfuscatedName("nz") + @ObfuscatedSignature( + descriptor = "[Lhz;" + ) + static Widget[] field362; + @ObfuscatedName("a") + @Export("worldMapData0Set") + HashSet worldMapData0Set; + @ObfuscatedName("w") + @Export("worldMapData1Set") + HashSet worldMapData1Set; + @ObfuscatedName("k") + @Export("iconList") + List iconList; - WorldMapAreaData() { - } // L: 14 + @ObfuscatedName("cn") + @ObfuscatedSignature( + descriptor = "(Lkx;Lkx;IZI)V", + garbageValue = "1841942277" + ) + @Export("init") + void init(Buffer var1, Buffer var2, int var3, boolean var4) { + this.read(var1, var3); + int var5 = var2.readUnsignedShort(); + this.worldMapData0Set = new HashSet(var5); - @ObfuscatedName("cm") - @ObfuscatedSignature( - descriptor = "(Lkj;Lkj;IZI)V", - garbageValue = "-303993957" - ) - @Export("init") - void init(Buffer var1, Buffer var2, int var3, boolean var4) { - this.read(var1, var3); // L: 17 - int var5 = var2.readUnsignedShort(); // L: 18 - this.worldMapData0Set = new HashSet(var5); // L: 19 + int var6; + for(var6 = 0; var6 < var5; ++var6) { + WorldMapData_0 var7 = new WorldMapData_0(); - int var6; - for (var6 = 0; var6 < var5; ++var6) { // L: 20 - WorldMapData_0 var7 = new WorldMapData_0(); // L: 21 + try { + var7.init(var2); + } catch (IllegalStateException var12) { + continue; + } - try { - var7.init(var2); // L: 23 - } catch (IllegalStateException var12) { // L: 25 - continue; // L: 26 - } + this.worldMapData0Set.add(var7); + } - this.worldMapData0Set.add(var7); // L: 28 - } + var6 = var2.readUnsignedShort(); + this.worldMapData1Set = new HashSet(var6); - var6 = var2.readUnsignedShort(); // L: 30 - this.worldMapData1Set = new HashSet(var6); // L: 31 + for(int var10 = 0; var10 < var6; ++var10) { + WorldMapData_1 var8 = new WorldMapData_1(); - for (int var10 = 0; var10 < var6; ++var10) { // L: 32 - WorldMapData_1 var8 = new WorldMapData_1(); // L: 33 + try { + var8.init(var2); + } catch (IllegalStateException var11) { + continue; + } - try { - var8.init(var2); // L: 35 - } catch (IllegalStateException var11) { // L: 37 - continue; // L: 38 - } + this.worldMapData1Set.add(var8); + } - this.worldMapData1Set.add(var8); // L: 40 - } + this.initIconsList(var2, var4); + } - this.initIconsList(var2, var4); // L: 42 - } // L: 43 + @ObfuscatedName("cj") + @ObfuscatedSignature( + descriptor = "(Lkx;ZI)V", + garbageValue = "-1098628565" + ) + @Export("initIconsList") + void initIconsList(Buffer var1, boolean var2) { + this.iconList = new LinkedList(); + int var3 = var1.readUnsignedShort(); - @ObfuscatedName("cz") - @ObfuscatedSignature( - descriptor = "(Lkj;ZB)V", - garbageValue = "54" - ) - @Export("initIconsList") - void initIconsList(Buffer var1, boolean var2) { - this.iconList = new LinkedList(); // L: 46 - int var3 = var1.readUnsignedShort(); // L: 47 + for(int var4 = 0; var4 < var3; ++var4) { + int var5 = var1.method5833(); + Coord var6 = new Coord(var1.readInt()); + boolean var7 = var1.readUnsignedByte() == 1; + if (var2 || !var7) { + this.iconList.add(new WorldMapIcon_0((Coord)null, var6, var5, (WorldMapLabel)null)); + } + } - for (int var4 = 0; var4 < var3; ++var4) { // L: 48 - int var5 = var1.method5559(); // L: 49 - Coord var6 = new Coord(var1.readInt()); // L: 50 - boolean var7 = var1.readUnsignedByte() == 1; // L: 51 - if (var2 || !var7) { // L: 52 - this.iconList.add(new WorldMapIcon_0((Coord)null, var6, var5, (WorldMapLabel)null)); // L: 53 - } - } + } - } // L: 56 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Ljg;", + garbageValue = "1068014822" + ) + @Export("getObjectDefinition") + public static ObjectComposition getObjectDefinition(int var0) { + ObjectComposition var1 = (ObjectComposition)ObjectComposition.ObjectDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = ObjectComposition.ObjectDefinition_archive.takeFile(6, var0); + var1 = new ObjectComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(CLgi;I)I", - garbageValue = "-2004067316" - ) - @Export("lowercaseChar") - static int lowercaseChar(char var0, Language var1) { - int var2 = var0 << 4; // L: 143 - if (Character.isUpperCase(var0) || Character.isTitleCase(var0)) { // L: 144 - var0 = Character.toLowerCase(var0); // L: 145 - var2 = (var0 << 4) + 1; // L: 146 - } + var1.postDecode(); + if (var1.isSolid) { + var1.interactType = 0; + var1.boolean1 = false; + } - if (var0 == 241 && var1 == Language.Language_ES) { // L: 148 - var2 = 1762; - } + ObjectComposition.ObjectDefinition_cached.put(var1, (long)var0); + return var1; + } + } - return var2; // L: 149 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-91" + ) + public static void method782() { + if (class297.NetCache_socket != null) { + class297.NetCache_socket.close(); + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + static final void method781() { + class300.method5473("Your ignore list is full. Max of 100 for free users, and 400 for members"); + } } diff --git a/runescape-client/src/main/java/WorldMapCacheName.java b/runescape-client/src/main/java/WorldMapCacheName.java index 1f72d1d9a7..4cec059041 100644 --- a/runescape-client/src/main/java/WorldMapCacheName.java +++ b/runescape-client/src/main/java/WorldMapCacheName.java @@ -3,138 +3,99 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ad") +@ObfuscatedName("an") @Implements("WorldMapCacheName") public class WorldMapCacheName { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lad;" - ) - public static final WorldMapCacheName field328; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lad;" - ) - public static final WorldMapCacheName field326; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lad;" - ) - public static final WorldMapCacheName field327; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lad;" - ) - static final WorldMapCacheName field329; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lad;" - ) - public static final WorldMapCacheName field325; - @ObfuscatedName("z") - public static short[][] field331; - @ObfuscatedName("j") - @Export("name") - public final String name; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lan;" + ) + public static final WorldMapCacheName field333 = new WorldMapCacheName("details"); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lan;" + ) + public static final WorldMapCacheName field323 = new WorldMapCacheName("compositemap"); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lan;" + ) + public static final WorldMapCacheName field324 = new WorldMapCacheName("compositetexture"); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lan;" + ) + static final WorldMapCacheName field325 = new WorldMapCacheName("area"); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lan;" + ) + public static final WorldMapCacheName field326 = new WorldMapCacheName("labels"); + @ObfuscatedName("dc") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive4") + static Archive archive4; + @ObfuscatedName("h") + @Export("name") + public final String name; - static { - field328 = new WorldMapCacheName("details"); // L: 4 - field326 = new WorldMapCacheName("compositemap"); // L: 5 - field327 = new WorldMapCacheName("compositetexture"); // L: 6 - field329 = new WorldMapCacheName("area"); // L: 7 - field325 = new WorldMapCacheName("labels"); // L: 8 - } + WorldMapCacheName(String var1) { + this.name = var1; + } - WorldMapCacheName(String var1) { - this.name = var1; // L: 12 - } // L: 13 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1996576804" + ) + @Export("loadInterface") + public static boolean loadInterface(int var0) { + if (Widget.Widget_loadedInterfaces[var0]) { + return true; + } else if (!FontName.Widget_archive.tryLoadGroup(var0)) { + return false; + } else { + int var1 = FontName.Widget_archive.getGroupFileCount(var0); + if (var1 == 0) { + Widget.Widget_loadedInterfaces[var0] = true; + return true; + } else { + if (DefaultsGroup.Widget_interfaceComponents[var0] == null) { + DefaultsGroup.Widget_interfaceComponents[var0] = new Widget[var1]; + } - @ObfuscatedName("fp") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-2075220259" - ) - @Export("updateGameState") - static void updateGameState(int var0) { - if (var0 != Client.gameState) { // L: 1345 - if (Client.gameState == 0) { // L: 1346 - WorldMapIcon_0.client.method1050(); - } + for(int var2 = 0; var2 < var1; ++var2) { + if (DefaultsGroup.Widget_interfaceComponents[var0][var2] == null) { + byte[] var3 = FontName.Widget_archive.takeFile(var0, var2); + if (var3 != null) { + DefaultsGroup.Widget_interfaceComponents[var0][var2] = new Widget(); + DefaultsGroup.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); + if (var3[0] == -1) { + DefaultsGroup.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); + } else { + DefaultsGroup.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); + } + } + } + } - if (var0 == 20 || var0 == 40 || var0 == 45) { // L: 1347 - Client.loginState = 0; // L: 1348 - Client.field892 = 0; // L: 1349 - Client.field681 = 0; // L: 1350 - Client.timer.method5033(var0); // L: 1351 - if (var0 != 20) { // L: 1352 - WorldMapDecoration.method380(false); - } - } + Widget.Widget_loadedInterfaces[var0] = true; + return true; + } + } + } - if (var0 != 20 && var0 != 40 && InterfaceParent.field562 != null) { // L: 1354 1355 - InterfaceParent.field562.close(); // L: 1356 - InterfaceParent.field562 = null; // L: 1357 - } + @ObfuscatedName("lk") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "-11688" + ) + static void method715() { + if (Client.oculusOrbState == 1) { + Client.field747 = true; + } - if (Client.gameState == 25) { // L: 1360 - Client.field704 = 0; // L: 1361 - Client.field700 = 0; // L: 1362 - Client.field701 = 1; // L: 1363 - Client.field702 = 0; // L: 1364 - Client.field703 = 1; // L: 1365 - } - - if (var0 != 5 && var0 != 10) { // L: 1367 - if (var0 == 20) { // L: 1370 - Tiles.method1208(class92.archive10, Messages.archive8, true, Client.gameState == 11 ? 4 : 0); // L: 1371 - } else if (var0 == 11) { // L: 1373 - Tiles.method1208(class92.archive10, Messages.archive8, false, 4); // L: 1374 - } else { - class89.method2122(); // L: 1376 - } - } else { - Tiles.method1208(class92.archive10, Messages.archive8, true, 0); // L: 1368 - } - - Client.gameState = var0; // L: 1377 - } - } // L: 1378 - - @ObfuscatedName("fy") - @ObfuscatedSignature( - descriptor = "(IZZZB)Lil;", - garbageValue = "-3" - ) - @Export("newArchive") - static Archive newArchive(int var0, boolean var1, boolean var2, boolean var3) { - ArchiveDisk var4 = null; // L: 2195 - if (JagexCache.JagexCache_dat2File != null) { // L: 2196 - var4 = new ArchiveDisk(var0, JagexCache.JagexCache_dat2File, PlayerComposition.JagexCache_idxFiles[var0], 1000000); - } - - return new Archive(var4, class7.masterDisk, var0, var1, var2, var3); // L: 2197 - } - - @ObfuscatedName("kk") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1105794074" - ) - static final void method662(int var0) { - var0 = Math.min(Math.max(var0, 0), 127); // L: 10672 - Timer.clientPreferences.soundEffectsVolume = var0; // L: 10673 - GrandExchangeOffer.savePreferences(); // L: 10674 - } // L: 10675 - - @ObfuscatedName("lc") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-1" - ) - static void method664() { - if (Client.oculusOrbState == 1) { // L: 11186 - Client.field649 = true; // L: 11187 - } - - } // L: 11189 + } } diff --git a/runescape-client/src/main/java/WorldMapData_0.java b/runescape-client/src/main/java/WorldMapData_0.java index 96e1b3bbf1..ef6e064ed2 100644 --- a/runescape-client/src/main/java/WorldMapData_0.java +++ b/runescape-client/src/main/java/WorldMapData_0.java @@ -1,617 +1,145 @@ -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.IOException; -import java.io.InvalidClassException; -import java.io.ObjectInputStream; -import java.io.OptionalDataException; -import java.io.RandomAccessFile; -import java.io.StreamCorruptedException; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.security.SecureRandom; +import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.Reflection; -import net.runelite.rs.ScriptOpcodes; -import netscape.javascript.JSObject; -@ObfuscatedName("k") +@ObfuscatedName("o") @Implements("WorldMapData_0") public class WorldMapData_0 extends AbstractWorldMapData { - @ObfuscatedName("ro") - @ObfuscatedGetter( - intValue = 1358667779 - ) - static int field112; - @ObfuscatedName("ei") - @Export("secureRandom") - static SecureRandom secureRandom; + @ObfuscatedName("de") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive7") + static Archive archive7; - WorldMapData_0() { - } // L: 6 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "2072507243" + ) + @Export("init") + void init(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 != WorldMapID.field301.value) { + throw new IllegalStateException(""); + } else { + super.minPlane = var1.readUnsignedByte(); + super.planes = var1.readUnsignedByte(); + super.regionXLow = var1.readUnsignedShort() * 4096; + super.regionYLow = var1.readUnsignedShort() * 4096; + super.regionX = var1.readUnsignedShort(); + super.regionY = var1.readUnsignedShort(); + super.groupId = var1.method5833(); + super.fileId = var1.method5833(); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-804003183" - ) - @Export("init") - void init(Buffer var1) { - int var2 = var1.readUnsignedByte(); // L: 9 - if (var2 != WorldMapID.field292.value) { // L: 10 - throw new IllegalStateException(""); // L: 11 - } else { - super.minPlane = var1.readUnsignedByte(); // L: 13 - super.planes = var1.readUnsignedByte(); // L: 14 - super.regionXLow = var1.readUnsignedShort(); // L: 15 - super.regionYLow = var1.readUnsignedShort(); // L: 16 - super.regionX = var1.readUnsignedShort(); // L: 17 - super.regionY = var1.readUnsignedShort(); // L: 18 - super.groupId = var1.method5559(); // L: 19 - super.fileId = var1.method5559(); // L: 20 - } - } // L: 21 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "36" + ) + @Export("readGeography") + void readGeography(Buffer var1) { + super.planes = Math.min(super.planes, 4); + super.floorUnderlayIds = new short[1][64][64]; + super.floorOverlayIds = new short[super.planes][64][64]; + super.field193 = new byte[super.planes][64][64]; + super.field204 = new byte[super.planes][64][64]; + super.decorations = new WorldMapDecoration[super.planes][64][64][]; + int var2 = var1.readUnsignedByte(); + if (var2 != class39.field285.value) { + throw new IllegalStateException(""); + } else { + int var3 = var1.readUnsignedByte(); + int var4 = var1.readUnsignedByte(); + if (var3 == super.regionX && var4 == super.regionY) { + for(int var5 = 0; var5 < 64; ++var5) { + for(int var6 = 0; var6 < 64; ++var6) { + this.readTile(var5, var6, var1); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1878970684" - ) - @Export("readGeography") - void readGeography(Buffer var1) { - super.planes = Math.min(super.planes, 4); // L: 24 - super.floorUnderlayIds = new short[1][64][64]; // L: 25 - super.floorOverlayIds = new short[super.planes][64][64]; // L: 26 - super.field178 = new byte[super.planes][64][64]; // L: 27 - super.field177 = new byte[super.planes][64][64]; // L: 28 - super.decorations = new WorldMapDecoration[super.planes][64][64][]; // L: 29 - int var2 = var1.readUnsignedByte(); // L: 30 - if (var2 != class39.field278.value) { - throw new IllegalStateException(""); - } else { - int var3 = var1.readUnsignedByte(); - int var4 = var1.readUnsignedByte(); - if (var3 == super.regionX && var4 == super.regionY) { - for (int var5 = 0; var5 < 64; ++var5) { // L: 39 - for (int var6 = 0; var6 < 64; ++var6) { // L: 40 - this.readTile(var5, var6, var1); - } - } + } else { + throw new IllegalStateException(""); + } + } + } - } else { - throw new IllegalStateException(""); - } - } - } + public boolean equals(Object var1) { + if (!(var1 instanceof WorldMapData_0)) { + return false; + } else { + WorldMapData_0 var2 = (WorldMapData_0)var1; + return super.regionX == var2.regionX && super.regionY == var2.regionY; + } + } - public boolean equals(Object var1) { - if (!(var1 instanceof WorldMapData_0)) { // L: 47 - return false; - } else { - WorldMapData_0 var2 = (WorldMapData_0)var1; - return var2.regionX == super.regionX && super.regionY == var2.regionY; - } - } + public int hashCode() { + return super.regionX | super.regionY << 8; + } - public int hashCode() { - return super.regionX | super.regionY << 8; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-825511368" + ) + @Export("loadWorlds") + static boolean loadWorlds() { + try { + if (UserComparator9.World_request == null) { + UserComparator9.World_request = ScriptFrame.urlRequester.request(new URL(Projectile.field1254)); + } else if (UserComparator9.World_request.isDone()) { + byte[] var0 = UserComparator9.World_request.getResponse(); + Buffer var1 = new Buffer(var0); + var1.readInt(); + World.World_count = var1.readUnsignedShort(); + World.World_worlds = new World[World.World_count]; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "69015458" - ) - public static boolean method247(char var0) { - if ((var0 <= 0 || var0 >= 128) && (var0 < 160 || var0 > 255)) { - if (var0 != 0) { - char[] var1 = class298.cp1252AsciiExtension; + World var3; + 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(); + var3.activity = var1.readStringCp1252NullTerminated(); + var3.location = var1.readUnsignedByte(); + var3.population = var1.readShort(); + } - for (int var2 = 0; var2 < var1.length; ++var2) { - char var3 = var1[var2]; - if (var0 == var3) { // L: 52 - return true; - } - } - } + class206.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + UserComparator9.World_request = null; + return true; + } + } catch (Exception var4) { + var4.printStackTrace(); + UserComparator9.World_request = null; + } - return false; - } else { - return true; - } - } + return false; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lky;S)V", - garbageValue = "13892" - ) - @Export("performReflectionCheck") - public static void performReflectionCheck(PacketBuffer var0) { - ReflectionCheck var1 = (ReflectionCheck)class105.reflectionChecks.last(); // L: 31 - if (var1 != null) { // L: 32 - int var2 = var0.offset; // L: 33 - var0.writeInt(var1.id); // L: 34 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "-9455782" + ) + static int method250(int var0, int var1, int var2) { + if ((Tiles.Tiles_renderFlags[var0][var1][var2] & 8) != 0) { + return 0; + } else { + return var0 > 0 && (Tiles.Tiles_renderFlags[1][var1][var2] & 2) != 0 ? var0 - 1 : var0; + } + } - for (int var3 = 0; var3 < var1.size; ++var3) { // L: 35 - if (var1.creationErrors[var3] != 0) { // L: 36 - var0.writeByte(var1.creationErrors[var3]); // L: 37 - } else { - try { - int var4 = var1.operations[var3]; // L: 41 - Field var5; - int var6; - if (var4 == 0) { // L: 42 - var5 = var1.fields[var3]; // L: 43 - var6 = Reflection.getInt(var5, (Object)null); // L: 44 - var0.writeByte(0); // L: 45 - var0.writeInt(var6); // L: 46 - } else if (var4 == 1) { // L: 48 - var5 = var1.fields[var3]; // L: 49 - Reflection.setInt(var5, (Object)null, var1.intReplaceValues[var3]); // L: 50 - var0.writeByte(0); // L: 51 - } else if (var4 == 2) { // L: 53 - var5 = var1.fields[var3]; // L: 54 - var6 = var5.getModifiers(); // L: 55 - var0.writeByte(0); // L: 56 - var0.writeInt(var6); // L: 57 - } - - Method var25; - if (var4 != 3) { // L: 59 - if (var4 == 4) { // L: 79 - var25 = var1.methods[var3]; // L: 80 - var6 = var25.getModifiers(); // L: 81 - var0.writeByte(0); // L: 82 - var0.writeInt(var6); // L: 83 - } - } else { - var25 = var1.methods[var3]; // L: 60 - byte[][] var10 = var1.arguments[var3]; // L: 61 - Object[] var7 = new Object[var10.length]; // L: 62 - - for (int var8 = 0; var8 < var10.length; ++var8) { // L: 63 - ObjectInputStream var9 = new ObjectInputStream(new ByteArrayInputStream(var10[var8])); // L: 64 - var7[var8] = var9.readObject(); // L: 65 - } - - Object var11 = Reflection.invoke(var25, (Object)null, var7); // L: 67 - if (var11 == null) { // L: 68 - var0.writeByte(0); - } else if (var11 instanceof Number) { // L: 69 - var0.writeByte(1); // L: 70 - var0.writeLong(((Number)var11).longValue()); // L: 71 - } else if (var11 instanceof String) { // L: 73 - var0.writeByte(2); // L: 74 - var0.writeStringCp1252NullTerminated((String)var11); // L: 75 - } else { - var0.writeByte(4); // L: 77 - } - } - } catch (ClassNotFoundException var13) { // L: 86 - var0.writeByte(-10); // L: 87 - } catch (InvalidClassException var14) { // L: 89 - var0.writeByte(-11); // L: 90 - } catch (StreamCorruptedException var15) { // L: 92 - var0.writeByte(-12); // L: 93 - } catch (OptionalDataException var16) { // L: 95 - var0.writeByte(-13); // L: 96 - } catch (IllegalAccessException var17) { // L: 98 - var0.writeByte(-14); // L: 99 - } catch (IllegalArgumentException var18) { // L: 101 - var0.writeByte(-15); // L: 102 - } catch (InvocationTargetException var19) { // L: 104 - var0.writeByte(-16); // L: 105 - } catch (SecurityException var20) { // L: 107 - var0.writeByte(-17); // L: 108 - } catch (IOException var21) { // L: 110 - var0.writeByte(-18); // L: 111 - } catch (NullPointerException var22) { // L: 113 - var0.writeByte(-19); // L: 114 - } catch (Exception var23) { // L: 116 - var0.writeByte(-20); // L: 117 - } catch (Throwable var24) { // L: 119 - var0.writeByte(-21); // L: 120 - } - } - } - - var0.writeCrc(var2); // L: 123 - var1.remove(); // L: 124 - } - } // L: 125 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-806912444" - ) - public static void method237() { - try { - File var0 = new File(ItemLayer.userHomeDirectory, "random.dat"); // L: 212 - int var2; - if (var0.exists()) { // L: 213 - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); // L: 214 - } else { - label37: - for (int var1 = 0; var1 < DynamicObject.field1318.length; ++var1) { // L: 217 - for (var2 = 0; var2 < GraphicsObject.field1117.length; ++var2) { // L: 218 - File var3 = new File(GraphicsObject.field1117[var2] + DynamicObject.field1318[var1] + File.separatorChar + "random.dat"); // L: 219 - if (var3.exists()) { // L: 220 - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var3, "rw", 25L), 24, 0); // L: 221 - break label37; // L: 222 - } - } - } - } - - if (JagexCache.JagexCache_randomDat == null) { // L: 227 - RandomAccessFile var4 = new RandomAccessFile(var0, "rw"); // L: 228 - var2 = var4.read(); // L: 229 - var4.seek(0L); // L: 230 - var4.write(var2); // L: 231 - var4.seek(0L); // L: 232 - var4.close(); // L: 233 - JagexCache.JagexCache_randomDat = new BufferedFile(new AccessFile(var0, "rw", 25L), 24, 0); // L: 234 - } - } catch (IOException var5) { // L: 237 - } - - } // L: 238 - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "2012352771" - ) - static int method245(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.SOUND_SYNTH) { // L: 1736 - VarcInt.Interpreter_intStackSize -= 3; // L: 1737 - class232.queueSoundEffect(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]); // L: 1738 - return 1; // L: 1739 - } else if (var0 == ScriptOpcodes.SOUND_SONG) { // L: 1741 - playSong(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1742 - return 1; // L: 1743 - } else if (var0 == ScriptOpcodes.SOUND_JINGLE) { // L: 1745 - VarcInt.Interpreter_intStackSize -= 2; // L: 1746 - LoginPacket.method3672(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 1747 - return 1; // L: 1748 - } else { - int var3; - if (var0 == 3203) { // L: 1750 - var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100); // L: 1751 - WorldMapEvent.method810(Math.round((float)var3 * 2.55F)); // L: 1752 - return 1; // L: 1753 - } else if (var0 == 3204) { // L: 1755 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.musicVolume / 2.55F); // L: 1756 - return 1; // L: 1757 - } else if (var0 == 3205) { // L: 1759 - var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100); // L: 1760 - WorldMapCacheName.method662(Math.round((float)var3 * 1.27F)); // L: 1761 - return 1; // L: 1762 - } else if (var0 == 3206) { // L: 1764 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.soundEffectsVolume / 1.27F); // L: 1765 - return 1; // L: 1766 - } else if (var0 == 3207) { // L: 1768 - var3 = Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100); // L: 1769 - class194.method3676(Math.round(1.27F * (float)var3)); // L: 1770 - return 1; // L: 1771 - } else if (var0 == 3208) { // L: 1773 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Math.round((float)Timer.clientPreferences.areaSoundEffectsVolume / 1.27F); // L: 1774 - return 1; // L: 1775 - } else { - return 2; // L: 1777 - } - } - } - - @ObfuscatedName("gr") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1507499151" - ) - @Export("playSong") - static void playSong(int var0) { - if (var0 == -1 && !Client.field883) { // L: 3708 - WorldMapRegion.method588(); // L: 3709 - } else if (var0 != -1 && var0 != Client.currentTrackGroupId && Timer.clientPreferences.musicVolume != 0 && !Client.field883) { // L: 3711 - SecureRandomCallable.method1221(2, class217.archive6, var0, 0, Timer.clientPreferences.musicVolume, false); // L: 3712 - } - - Client.currentTrackGroupId = var0; // L: 3714 - } // L: 3715 - - @ObfuscatedName("hw") - @ObfuscatedSignature( - descriptor = "(ZLky;I)V", - garbageValue = "-1863896009" - ) - @Export("updateNpcs") - static final void updateNpcs(boolean var0, PacketBuffer var1) { - Client.field769 = 0; // L: 7067 - Client.field826 = 0; // L: 7068 - PacketBuffer var2 = Client.packetWriter.packetBuffer; // L: 7070 - var2.importIndex(); // L: 7071 - int var3 = var2.readBits(8); // L: 7072 - int var4; - if (var3 < Client.npcCount) { // L: 7073 - for (var4 = var3; var4 < Client.npcCount; ++var4) { // L: 7074 - Client.field770[++Client.field769 - 1] = Client.npcIndices[var4]; - } - } - - if (var3 > Client.npcCount) { // L: 7076 - throw new RuntimeException(""); - } else { - Client.npcCount = 0; // L: 7077 - - int var5; - int var7; - int var8; - int var9; - int var10; - int var11; - for (var4 = 0; var4 < var3; ++var4) { // L: 7078 - var5 = Client.npcIndices[var4]; // L: 7079 - NPC var16 = Client.npcs[var5]; // L: 7080 - var7 = var2.readBits(1); // L: 7081 - if (var7 == 0) { // L: 7082 - Client.npcIndices[++Client.npcCount - 1] = var5; // L: 7083 - var16.npcCycle = Client.cycle; // L: 7084 - } else { - var8 = var2.readBits(2); // L: 7087 - if (var8 == 0) { // L: 7088 - Client.npcIndices[++Client.npcCount - 1] = var5; // L: 7089 - var16.npcCycle = Client.cycle; // L: 7090 - Client.field654[++Client.field826 - 1] = var5; // L: 7091 - } else if (var8 == 1) { // L: 7094 - Client.npcIndices[++Client.npcCount - 1] = var5; // L: 7095 - var16.npcCycle = Client.cycle; // L: 7096 - var9 = var2.readBits(3); // L: 7097 - var16.method2102(var9, (byte)1); // L: 7098 - var10 = var2.readBits(1); // L: 7099 - if (var10 == 1) { // L: 7100 - Client.field654[++Client.field826 - 1] = var5; - } - } else if (var8 == 2) { // L: 7103 - Client.npcIndices[++Client.npcCount - 1] = var5; // L: 7104 - var16.npcCycle = Client.cycle; // L: 7105 - var9 = var2.readBits(3); // L: 7106 - var16.method2102(var9, (byte)2); // L: 7107 - var10 = var2.readBits(3); // L: 7108 - var16.method2102(var10, (byte)2); // L: 7109 - var11 = var2.readBits(1); // L: 7110 - if (var11 == 1) { // L: 7111 - Client.field654[++Client.field826 - 1] = var5; - } - } else if (var8 == 3) { // L: 7114 - Client.field770[++Client.field769 - 1] = var5; // L: 7115 - } - } - } - - ModeWhere.method3714(var0, var1); // L: 7120 - - int var14; - for (var14 = 0; var14 < Client.field826; ++var14) { // L: 7122 - var3 = Client.field654[var14]; // L: 7123 - NPC var15 = Client.npcs[var3]; // L: 7124 - var5 = var1.readUnsignedByte(); // L: 7125 - int var6; - if ((var5 & 8) != 0) { // L: 7126 - var15.spotAnimation = var1.method5539(); // L: 7127 - var6 = var1.readInt(); // L: 7128 - var15.field979 = var6 >> 16; // L: 7129 - var15.field978 = (var6 & 65535) + Client.cycle; // L: 7130 - var15.spotAnimationFrame = 0; // L: 7131 - var15.spotAnimationFrameCycle = 0; // L: 7132 - if (var15.field978 > Client.cycle) { // L: 7133 - var15.spotAnimationFrame = -1; - } - - if (var15.spotAnimation == 65535) { // L: 7134 - var15.spotAnimation = -1; - } - } - - if ((var5 & 2) != 0) { // L: 7136 - var6 = var1.method5582(); // L: 7137 - var7 = var1.method5539(); // L: 7138 - var8 = var15.x - (var6 - NetFileRequest.baseX - NetFileRequest.baseX) * 64; // L: 7139 - var9 = var15.y - (var7 - class41.baseY - class41.baseY) * 64; // L: 7140 - if (var8 != 0 || var9 != 0) { // L: 7141 - var15.field959 = (int)(Math.atan2((double)var8, (double)var9) * 325.949D) & 2047; - } - } - - if ((var5 & 16) != 0) { // L: 7143 - var15.targetIndex = var1.method5580(); // L: 7144 - if (var15.targetIndex == 65535) { // L: 7145 - var15.targetIndex = -1; - } - } - - if ((var5 & 32) != 0) { // L: 7147 - var15.overheadText = var1.readStringCp1252NullTerminated(); // L: 7148 - var15.overheadTextCyclesRemaining = 100; // L: 7149 - } - - if ((var5 & 1) != 0) { // L: 7151 - var15.definition = WorldMapIcon_0.getNpcDefinition(var1.method5580()); // L: 7152 - var15.field941 = var15.definition.size; // L: 7153 - var15.field940 = var15.definition.rotation; // L: 7154 - var15.walkSequence = var15.definition.walkSequence; // L: 7155 - var15.walkBackSequence = var15.definition.walkBackSequence; // L: 7156 - var15.walkLeftSequence = var15.definition.walkLeftSequence; // L: 7157 - var15.walkRightSequence = var15.definition.walkRightSequence; // L: 7158 - var15.idleSequence = var15.definition.idleSequence; // L: 7159 - var15.turnLeftSequence = var15.definition.turnLeftSequence; // L: 7160 - var15.turnRightSequence = var15.definition.turnRightSequence; // L: 7161 - } - - if ((var5 & 64) != 0) { // L: 7163 - var6 = var1.method5582(); // L: 7164 - if (var6 == 65535) { // L: 7165 - var6 = -1; - } - - var7 = var1.readUnsignedByte(); // L: 7166 - if (var6 == var15.sequence && var6 != -1) { // L: 7167 - var8 = ParamComposition.SequenceDefinition_get(var6).field3548; // L: 7168 - if (var8 == 1) { // L: 7169 - var15.sequenceFrame = 0; // L: 7170 - var15.sequenceFrameCycle = 0; // L: 7171 - var15.sequenceDelay = var7; // L: 7172 - var15.field974 = 0; // L: 7173 - } - - if (var8 == 2) { // L: 7175 - var15.field974 = 0; // L: 7176 - } - } else if (var6 == -1 || var15.sequence == -1 || ParamComposition.SequenceDefinition_get(var6).field3557 >= ParamComposition.SequenceDefinition_get(var15.sequence).field3557) { // L: 7179 - var15.sequence = var6; // L: 7180 - var15.sequenceFrame = 0; // L: 7181 - var15.sequenceFrameCycle = 0; // L: 7182 - var15.sequenceDelay = var7; // L: 7183 - var15.field974 = 0; // L: 7184 - var15.field996 = var15.pathLength; // L: 7185 - } - } - - if ((var5 & 4) != 0) { // L: 7189 - var6 = var1.method5571(); // L: 7190 - int var12; - if (var6 > 0) { // L: 7191 - for (var7 = 0; var7 < var6; ++var7) { // L: 7192 - var9 = -1; // L: 7194 - var10 = -1; // L: 7195 - var11 = -1; // L: 7196 - var8 = var1.readUShortSmart(); // L: 7197 - if (var8 == 32767) { // L: 7198 - var8 = var1.readUShortSmart(); // L: 7199 - var10 = var1.readUShortSmart(); // L: 7200 - var9 = var1.readUShortSmart(); // L: 7201 - var11 = var1.readUShortSmart(); // L: 7202 - } else if (var8 != 32766) { // L: 7204 - var10 = var1.readUShortSmart(); // L: 7205 - } else { - var8 = -1; // L: 7207 - } - - var12 = var1.readUShortSmart(); // L: 7208 - var15.addHitSplat(var8, var10, var9, var11, Client.cycle, var12); // L: 7209 - } - } - - var7 = var1.readUnsignedByte(); // L: 7212 - if (var7 > 0) { // L: 7213 - for (var8 = 0; var8 < var7; ++var8) { // L: 7214 - var9 = var1.readUShortSmart(); // L: 7215 - var10 = var1.readUShortSmart(); // L: 7216 - if (var10 != 32767) { // L: 7217 - var11 = var1.readUShortSmart(); // L: 7218 - var12 = var1.method5572(); // L: 7219 - int var13 = var10 > 0 ? var1.method5572() : var12; // L: 7220 - var15.addHealthBar(var9, Client.cycle, var10, var11, var12, var13); // L: 7221 - } else { - var15.removeHealthBar(var9); // L: 7223 - } - } - } - } - - if ((var5 & 128) != 0) { // L: 7227 - var15.field981 = var1.method5645(); // L: 7228 - var15.field982 = var1.method5645(); // L: 7229 - var15.field958 = var1.method5645(); // L: 7230 - var15.field956 = var1.method5645(); // L: 7231 - var15.field984 = var1.readUnsignedShort() + Client.cycle; // L: 7232 - var15.field973 = var1.method5582() + Client.cycle; // L: 7233 - var15.field986 = var1.readUnsignedShort(); // L: 7234 - var15.pathLength = 1; // L: 7235 - var15.field996 = 0; // L: 7236 - var15.field981 += var15.pathX[0]; // L: 7237 - var15.field982 += var15.pathY[0]; // L: 7238 - var15.field958 += var15.pathX[0]; // L: 7239 - var15.field956 += var15.pathY[0]; // L: 7240 - } - } - - for (var14 = 0; var14 < Client.field769; ++var14) { // L: 7244 - var3 = Client.field770[var14]; // L: 7245 - if (Client.npcs[var3].npcCycle != Client.cycle) { // L: 7246 - Client.npcs[var3].definition = null; // L: 7247 - Client.npcs[var3] = null; // L: 7248 - } - } - - if (var1.offset != Client.packetWriter.serverPacketLength) { // L: 7251 - throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); - } else { - for (var14 = 0; var14 < Client.npcCount; ++var14) { // L: 7252 - if (Client.npcs[Client.npcIndices[var14]] == null) { // L: 7253 - throw new RuntimeException(var14 + "," + Client.npcCount); // L: 7254 - } - } - - } - } - } // L: 7257 - - @ObfuscatedName("ii") - @ObfuscatedSignature( - descriptor = "(IIB)V", - garbageValue = "43" - ) - static final void method243(int var0, int var1) { - if (Client.menuOptionsCount >= 2 || Client.isItemSelected != 0 || Client.isSpellSelected) { // L: 7324 - if (Client.showMouseOverText) { // L: 7325 - int var2 = WorldMapSprite.method463(); // L: 7326 - String var3; - if (Client.isItemSelected == 1 && Client.menuOptionsCount < 2) { // L: 7328 - var3 = "Use" + " " + Client.selectedItemName + " " + "->"; - } else if (Client.isSpellSelected && Client.menuOptionsCount < 2) { // L: 7329 - var3 = Client.selectedSpellActionName + " " + Client.selectedSpellName + " " + "->"; - } else { - var3 = ArchiveLoader.method1230(var2); // L: 7330 - } - - if (Client.menuOptionsCount > 2) { // L: 7331 - var3 = var3 + class23.colorStartTag(16777215) + " " + '/' + " " + (Client.menuOptionsCount - 2) + " more options"; - } - - GrandExchangeOfferTotalQuantityComparator.fontBold12.drawRandomAlphaAndSpacing(var3, var0 + 4, var1 + 15, 16777215, 0, Client.cycle / 1000); // L: 7332 - } - } - } // L: 7333 - - @ObfuscatedName("ln") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;B)V", - garbageValue = "-51" - ) - static void method244(String var0) { - WorldMapSection1.field317 = var0; // L: 11084 - - try { - String var1 = WorldMapIcon_0.client.getParameter(Integer.toString(18)); // L: 11086 - String var2 = WorldMapIcon_0.client.getParameter(Integer.toString(13)); // L: 11087 - String var3 = var1 + "settings=" + var0 + "; version=1; path=/; domain=" + var2; // L: 11088 - if (var0.length() == 0) { // L: 11089 - var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; - } else { - var3 = var3 + "; Expires=" + class3.method40(class298.currentTimeMillis() + 94608000000L) + "; Max-Age=" + 94608000L; // L: 11090 - } - - Client var4 = WorldMapIcon_0.client; // L: 11091 - String var5 = "document.cookie=\"" + var3 + "\""; // L: 11092 - JSObject.getWindow(var4).eval(var5); // L: 11095 - } catch (Throwable var6) { // L: 11098 - } - - } // L: 11099 + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "116" + ) + public static void method239() { + ItemComposition.ItemDefinition_cachedSprites.clear(); + } } diff --git a/runescape-client/src/main/java/WorldMapData_1.java b/runescape-client/src/main/java/WorldMapData_1.java index 346b7c4c0c..494bbc4a9a 100644 --- a/runescape-client/src/main/java/WorldMapData_1.java +++ b/runescape-client/src/main/java/WorldMapData_1.java @@ -3,476 +3,210 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("af") +@ObfuscatedName("ad") @Implements("WorldMapData_1") public class WorldMapData_1 extends AbstractWorldMapData { - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1324815795 - ) - @Export("chunkXLow") - int chunkXLow; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = 1581992363 - ) - @Export("chunkYLow") - int chunkYLow; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1550350231 - ) - @Export("chunkX") - int chunkX; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = -706955927 - ) - @Export("chunkY") - int chunkY; + @ObfuscatedName("aw") + @Export("null_string") + protected static String null_string; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 393401229 + ) + @Export("chunkXLow") + int chunkXLow; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -444387603 + ) + @Export("chunkYLow") + int chunkYLow; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -2075814335 + ) + @Export("chunkX") + int chunkX; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -959045711 + ) + @Export("chunkY") + int chunkY; - WorldMapData_1() { - } // L: 11 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-1959285533" + ) + @Export("init") + void init(Buffer var1) { + int var2 = var1.readUnsignedByte(); + if (var2 != WorldMapID.field290.value) { + throw new IllegalStateException(""); + } else { + super.minPlane = var1.readUnsignedByte(); + super.planes = var1.readUnsignedByte(); + super.regionXLow = var1.readUnsignedShort() * 4096; + super.regionYLow = var1.readUnsignedShort() * 4096; + this.chunkXLow = var1.readUnsignedByte(); + this.chunkYLow = var1.readUnsignedByte(); + super.regionX = var1.readUnsignedShort(); + super.regionY = var1.readUnsignedShort(); + this.chunkX = var1.readUnsignedByte(); + this.chunkY = var1.readUnsignedByte(); + super.groupId = var1.method5833(); + super.fileId = var1.method5833(); + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-804130257" - ) - @Export("init") - void init(Buffer var1) { - int var2 = var1.readUnsignedByte(); // L: 14 - if (var2 != WorldMapID.field296.value) { // L: 15 - throw new IllegalStateException(""); // L: 16 - } else { - super.minPlane = var1.readUnsignedByte(); // L: 18 - super.planes = var1.readUnsignedByte(); // L: 19 - super.regionXLow = var1.readUnsignedShort(); // L: 20 - super.regionYLow = var1.readUnsignedShort(); // L: 21 - this.chunkXLow = var1.readUnsignedByte(); // L: 22 - this.chunkYLow = var1.readUnsignedByte(); // L: 23 - super.regionX = var1.readUnsignedShort(); // L: 24 - super.regionY = var1.readUnsignedShort(); // L: 25 - this.chunkX = var1.readUnsignedByte(); // L: 26 - this.chunkY = var1.readUnsignedByte(); - super.groupId = var1.method5559(); - super.fileId = var1.method5559(); - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "36" + ) + @Export("readGeography") + void readGeography(Buffer var1) { + super.planes = Math.min(super.planes, 4); + super.floorUnderlayIds = new short[1][64][64]; + super.floorOverlayIds = new short[super.planes][64][64]; + super.field193 = new byte[super.planes][64][64]; + super.field204 = new byte[super.planes][64][64]; + super.decorations = new WorldMapDecoration[super.planes][64][64][]; + int var2 = var1.readUnsignedByte(); + if (var2 != class39.field283.value) { + throw new IllegalStateException(""); + } else { + int var3 = var1.readUnsignedByte(); + int var4 = var1.readUnsignedByte(); + int var5 = var1.readUnsignedByte(); + int var6 = var1.readUnsignedByte(); + if (var3 == super.regionX && var4 == super.regionY && var5 == this.chunkX && var6 == this.chunkY) { + for(int var7 = 0; var7 < 8; ++var7) { + for(int var8 = 0; var8 < 8; ++var8) { + this.readTile(var7 + this.chunkX * 8, var8 + this.chunkY * 8, var1); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "1878970684" - ) - @Export("readGeography") - void readGeography(Buffer var1) { - super.planes = Math.min(super.planes, 4); - super.floorUnderlayIds = new short[1][64][64]; // L: 34 - super.floorOverlayIds = new short[super.planes][64][64]; // L: 35 - super.field178 = new byte[super.planes][64][64]; // L: 36 - super.field177 = new byte[super.planes][64][64]; // L: 37 - super.decorations = new WorldMapDecoration[super.planes][64][64][]; // L: 38 - int var2 = var1.readUnsignedByte(); // L: 39 - if (var2 != class39.field277.value) { // L: 40 - throw new IllegalStateException(""); // L: 41 - } else { - int var3 = var1.readUnsignedByte(); // L: 43 - int var4 = var1.readUnsignedByte(); // L: 44 - int var5 = var1.readUnsignedByte(); // L: 45 - int var6 = var1.readUnsignedByte(); // L: 46 - if (var3 == super.regionX && var4 == super.regionY && var5 == this.chunkX && var6 == this.chunkY) { // L: 47 - for (int var7 = 0; var7 < 8; ++var7) { // L: 50 - for (int var8 = 0; var8 < 8; ++var8) { // L: 51 - this.readTile(var7 + this.chunkX * 8, var8 + this.chunkY * 8, var1); // L: 52 - } - } + } else { + throw new IllegalStateException(""); + } + } + } - } else { - throw new IllegalStateException(""); // L: 48 - } - } - } // L: 55 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1716602813" + ) + @Export("getChunkXLow") + int getChunkXLow() { + return this.chunkXLow; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-915979405" - ) - @Export("getChunkXLow") - int getChunkXLow() { - return this.chunkXLow; // L: 73 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "-26" + ) + @Export("getChunkYLow") + int getChunkYLow() { + return this.chunkYLow; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1034896406" - ) - @Export("getChunkYLow") - int getChunkYLow() { - return this.chunkYLow; // L: 77 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-477911557" + ) + @Export("getChunkX") + int getChunkX() { + return this.chunkX; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "3" - ) - @Export("getChunkX") - int getChunkX() { - return this.chunkX; // L: 81 - } + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "384332395" + ) + @Export("getChunkY") + int getChunkY() { + return this.chunkY; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1372566315" - ) - @Export("getChunkY") - int getChunkY() { - return this.chunkY; // L: 85 - } + public boolean equals(Object var1) { + if (!(var1 instanceof WorldMapData_1)) { + return false; + } else { + WorldMapData_1 var2 = (WorldMapData_1)var1; + if (super.regionX == var2.regionX && super.regionY == var2.regionY) { + return var2.chunkX == this.chunkX && this.chunkY == var2.chunkY; + } else { + return false; + } + } + } - public boolean equals(Object var1) { - if (!(var1 instanceof WorldMapData_1)) { // L: 58 - return false; // L: 59 - } else { - WorldMapData_1 var2 = (WorldMapData_1)var1; // L: 61 - if (var2.regionX == super.regionX && var2.regionY == super.regionY) { // L: 62 - return var2.chunkX == this.chunkX && this.chunkY == var2.chunkY; // L: 65 - } else { - return false; // L: 63 - } - } - } + public int hashCode() { + return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; + } - public int hashCode() { - return super.regionX | super.regionY << 8 | this.chunkX << 16 | this.chunkY << 24; // L: 69 - } + @ObfuscatedName("jv") + @ObfuscatedSignature( + descriptor = "([Lhz;IS)V", + garbageValue = "11595" + ) + @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) { + runComponentCloseListeners(var3.children, var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Lif;", - garbageValue = "1792117497" - ) - @Export("KitDefinition_get") - public static KitDefinition KitDefinition_get(int var0) { - KitDefinition var1 = (KitDefinition)KitDefinition.KitDefinition_cached.get((long)var0); // L: 27 - if (var1 != null) { // L: 28 - return var1; - } else { - byte[] var2 = KitDefinition.KitDefinition_archive.takeFile(3, var0); // L: 29 - var1 = new KitDefinition(); // L: 30 - if (var2 != null) { // L: 31 - var1.decode(new Buffer(var2)); - } + InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); + if (var4 != null) { + class228.runIntfCloseListeners(var4.group, var1); + } + } - KitDefinition.KitDefinition_cached.put(var1, (long)var0); // L: 32 - return var1; // L: 33 - } - } + ScriptEvent var5; + if (var1 == 0 && var3.onDialogAbort != null) { + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onDialogAbort; + PacketWriter.runScriptEvent(var5); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(ILcs;ZB)I", - garbageValue = "6" - ) - static int method736(int var0, Script var1, boolean var2) { - int var4 = -1; // L: 550 - Widget var3; - if (var0 >= 2000) { // L: 551 - var0 -= 1000; // L: 552 - var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 553 - var3 = CollisionMap.getWidget(var4); // L: 554 - } else { - var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 556 - } + if (var1 == 1 && var3.onSubChange != null) { + if (var3.childIndex >= 0) { + Widget var6 = class237.getWidget(var3.id); + if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { + continue; + } + } - if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { // L: 557 - VarcInt.Interpreter_intStackSize -= 2; // L: 558 - var3.scrollX = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 559 - if (var3.scrollX > var3.scrollWidth - var3.width) { // L: 560 - var3.scrollX = var3.scrollWidth - var3.width; - } + var5 = new ScriptEvent(); + var5.widget = var3; + var5.args = var3.onSubChange; + PacketWriter.runScriptEvent(var5); + } + } + } - if (var3.scrollX < 0) { // L: 561 - var3.scrollX = 0; - } + } - var3.scrollY = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 562 - if (var3.scrollY > var3.scrollHeight - var3.height) { // L: 563 - var3.scrollY = var3.scrollHeight - var3.height; - } - - if (var3.scrollY < 0) { // L: 564 - var3.scrollY = 0; - } - - CollisionMap.invalidateWidget(var3); // L: 565 - return 1; // L: 566 - } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { // L: 568 - var3.color = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 569 - CollisionMap.invalidateWidget(var3); // L: 570 - return 1; // L: 571 - } else if (var0 == ScriptOpcodes.CC_SETFILL) { // L: 573 - var3.fill = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 574 - CollisionMap.invalidateWidget(var3); // L: 575 - return 1; // L: 576 - } else if (var0 == ScriptOpcodes.CC_SETTRANS) { // L: 578 - var3.transparencyTop = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 579 - CollisionMap.invalidateWidget(var3); // L: 580 - return 1; // L: 581 - } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { // L: 583 - var3.lineWid = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 584 - CollisionMap.invalidateWidget(var3); // L: 585 - return 1; // L: 586 - } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { // L: 588 - var3.spriteId2 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 589 - CollisionMap.invalidateWidget(var3); // L: 590 - return 1; // L: 591 - } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { // L: 593 - var3.spriteAngle = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 594 - CollisionMap.invalidateWidget(var3); // L: 595 - return 1; // L: 596 - } else if (var0 == ScriptOpcodes.CC_SETTILING) { // L: 598 - var3.spriteTiling = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 599 - CollisionMap.invalidateWidget(var3); // L: 600 - return 1; // L: 601 - } else if (var0 == ScriptOpcodes.CC_SETMODEL) { // L: 603 - var3.modelType = 1; // L: 604 - var3.modelId = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 605 - CollisionMap.invalidateWidget(var3); // L: 606 - return 1; // L: 607 - } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { // L: 609 - VarcInt.Interpreter_intStackSize -= 6; // L: 610 - var3.modelOffsetX = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 611 - var3.modelOffsetY = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 612 - var3.modelAngleX = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 613 - var3.modelAngleY = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 614 - var3.modelAngleZ = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 4]; // L: 615 - var3.modelZoom = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 5]; // L: 616 - CollisionMap.invalidateWidget(var3); // L: 617 - return 1; // L: 618 - } else { - int var8; - if (var0 == ScriptOpcodes.CC_SETMODELANIM) { // L: 620 - var8 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 621 - if (var8 != var3.sequenceId) { // L: 622 - var3.sequenceId = var8; // L: 623 - var3.modelFrame = 0; // L: 624 - var3.modelFrameCycle = 0; // L: 625 - CollisionMap.invalidateWidget(var3); // L: 626 - } - - return 1; // L: 628 - } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { // L: 630 - var3.modelOrthog = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 631 - CollisionMap.invalidateWidget(var3); // L: 632 - return 1; // L: 633 - } else if (var0 == ScriptOpcodes.CC_SETTEXT) { // L: 635 - String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 636 - if (!var7.equals(var3.text)) { // L: 637 - var3.text = var7; // L: 638 - CollisionMap.invalidateWidget(var3); // L: 639 - } - - return 1; // L: 641 - } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { // L: 643 - var3.fontId = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 644 - CollisionMap.invalidateWidget(var3); // L: 645 - return 1; // L: 646 - } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { // L: 648 - VarcInt.Interpreter_intStackSize -= 3; // L: 649 - var3.textXAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 650 - var3.textYAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 651 - var3.textLineHeight = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 652 - CollisionMap.invalidateWidget(var3); // L: 653 - return 1; // L: 654 - } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { // L: 656 - var3.textShadowed = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 657 - CollisionMap.invalidateWidget(var3); // L: 658 - return 1; // L: 659 - } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { // L: 661 - var3.outline = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 662 - CollisionMap.invalidateWidget(var3); // L: 663 - return 1; // L: 664 - } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { // L: 666 - var3.spriteShadow = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 667 - CollisionMap.invalidateWidget(var3); // L: 668 - return 1; // L: 669 - } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { // L: 671 - var3.spriteFlipV = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 672 - CollisionMap.invalidateWidget(var3); // L: 673 - return 1; // L: 674 - } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { // L: 676 - var3.spriteFlipH = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 677 - CollisionMap.invalidateWidget(var3); // L: 678 - return 1; // L: 679 - } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { // L: 681 - VarcInt.Interpreter_intStackSize -= 2; // L: 682 - var3.scrollWidth = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 683 - var3.scrollHeight = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 684 - CollisionMap.invalidateWidget(var3); // L: 685 - if (var4 != -1 && var3.type == 0) { // L: 686 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var4 >> 16], var3, false); - } - - return 1; // L: 687 - } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { // L: 689 - DynamicObject.resumePauseWidget(var3.id, var3.childIndex); // L: 690 - Client.meslayerContinueWidget = var3; // L: 691 - CollisionMap.invalidateWidget(var3); // L: 692 - return 1; // L: 693 - } else if (var0 == 1122) { // L: 695 - var3.spriteId = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 696 - CollisionMap.invalidateWidget(var3); // L: 697 - return 1; // L: 698 - } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { // L: 700 - var3.color2 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 701 - CollisionMap.invalidateWidget(var3); // L: 702 - return 1; // L: 703 - } else if (var0 == 1124) { // L: 705 - var3.transparencyBot = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 706 - CollisionMap.invalidateWidget(var3); // L: 707 - return 1; // L: 708 - } else if (var0 == ScriptOpcodes.CC_SETFILLMODE) { // L: 710 - var8 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 711 - WidgetFillMode var6 = (WidgetFillMode)UrlRequester.findEnumerated(NetSocket.FillMode_values(), var8); // L: 712 - if (var6 != null) { // L: 713 - var3.fillMode = var6; // L: 714 - CollisionMap.invalidateWidget(var3); // L: 715 - } - - return 1; // L: 717 - } else { - boolean var5; - if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { // L: 719 - var5 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 720 - var3.field2620 = var5; // L: 721 - return 1; // L: 722 - } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { // L: 724 - var5 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 725 - var3.modelTransparency = var5; // L: 726 - return 1; // L: 727 - } else { - return 2; // L: 729 - } - } - } - } - - @ObfuscatedName("hb") - @ObfuscatedSignature( - descriptor = "(IIIIIIII)V", - garbageValue = "1785957932" - ) - @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) { // L: 6987 - if (Client.isLowDetail && var0 != GameObject.Client_plane) { // L: 6988 - return; - } - - long var7 = 0L; // L: 6989 - boolean var9 = true; // L: 6990 - boolean var10 = false; // L: 6991 - boolean var11 = false; // L: 6992 - if (var1 == 0) { // L: 6993 - var7 = ArchiveLoader.scene.getBoundaryObjectTag(var0, var2, var3); - } - - if (var1 == 1) { // L: 6994 - var7 = ArchiveLoader.scene.getWallDecorationTag(var0, var2, var3); - } - - if (var1 == 2) { // L: 6995 - var7 = ArchiveLoader.scene.getGameObjectTag(var0, var2, var3); - } - - if (var1 == 3) { // L: 6996 - var7 = ArchiveLoader.scene.getFloorDecorationTag(var0, var2, var3); - } - - int var12; - if (var7 != 0L) { // L: 6997 - var12 = ArchiveLoader.scene.getObjectFlags(var0, var2, var3, var7); // L: 6998 - int var14 = Occluder.Entity_unpackID(var7); // L: 6999 - int var15 = var12 & 31; // L: 7000 - int var16 = var12 >> 6 & 3; // L: 7001 - ObjectComposition var13; - if (var1 == 0) { // L: 7002 - ArchiveLoader.scene.removeBoundaryObject(var0, var2, var3); // L: 7003 - var13 = WorldMapDecoration.getObjectDefinition(var14); // L: 7004 - if (var13.interactType != 0) { // L: 7005 - Client.collisionMaps[var0].method3616(var2, var3, var15, var16, var13.boolean1); - } - } - - if (var1 == 1) { // L: 7007 - ArchiveLoader.scene.removeWallDecoration(var0, var2, var3); - } - - if (var1 == 2) { // L: 7008 - ArchiveLoader.scene.removeGameObject(var0, var2, var3); // L: 7009 - var13 = WorldMapDecoration.getObjectDefinition(var14); // L: 7010 - if (var2 + var13.sizeX > 103 || var3 + var13.sizeX > 103 || var2 + var13.sizeY > 103 || var3 + var13.sizeY > 103) { // L: 7011 - return; - } - - if (var13.interactType != 0) { // L: 7012 - Client.collisionMaps[var0].setFlagOffNonSquare(var2, var3, var13.sizeX, var13.sizeY, var16, var13.boolean1); - } - } - - if (var1 == 3) { // L: 7014 - ArchiveLoader.scene.removeFloorDecoration(var0, var2, var3); // L: 7015 - var13 = WorldMapDecoration.getObjectDefinition(var14); // L: 7016 - if (var13.interactType == 1) { // L: 7017 - Client.collisionMaps[var0].method3619(var2, var3); - } - } - } - - if (var4 >= 0) { // L: 7020 - var12 = var0; // L: 7021 - if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { // L: 7022 - var12 = var0 + 1; - } - - ScriptEvent.method1259(var0, var12, var2, var3, var4, var5, var6, ArchiveLoader.scene, Client.collisionMaps[var0]); // L: 7023 - } - } - - } // L: 7026 - - @ObfuscatedName("if") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "155276335" - ) - static void method767() { - for (int var0 = 0; var0 < Client.menuOptionsCount; ++var0) { // L: 8528 - if (WorldMapSection1.method624(Client.menuOpcodes[var0])) { // L: 8529 - if (var0 < Client.menuOptionsCount - 1) { // L: 8530 - for (int var1 = var0; var1 < Client.menuOptionsCount - 1; ++var1) { // L: 8531 - Client.menuActions[var1] = Client.menuActions[var1 + 1]; // L: 8532 - Client.menuTargets[var1] = Client.menuTargets[var1 + 1]; // L: 8533 - Client.menuOpcodes[var1] = Client.menuOpcodes[var1 + 1]; // L: 8534 - Client.menuIdentifiers[var1] = Client.menuIdentifiers[var1 + 1]; // L: 8535 - Client.menuArguments1[var1] = Client.menuArguments1[var1 + 1]; // L: 8536 - Client.menuArguments2[var1] = Client.menuArguments2[var1 + 1]; // L: 8537 - Client.menuShiftClick[var1] = Client.menuShiftClick[var1 + 1]; // L: 8538 - } - } - - --var0; // L: 8541 - --Client.menuOptionsCount; // L: 8542 - } - } - - BuddyRankComparator.method3522(Occluder.menuWidth / 2 + AbstractUserComparator.menuX, DynamicObject.menuY); // L: 8546 - } // L: 8548 + @ObfuscatedName("jr") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "1" + ) + static final void method810(int var0) { + var0 = Math.min(Math.max(var0, 0), 127); + WorldMapSectionType.clientPreferences.areaSoundEffectsVolume = var0; + class23.savePreferences(); + } } diff --git a/runescape-client/src/main/java/WorldMapDecoration.java b/runescape-client/src/main/java/WorldMapDecoration.java index 2dae17561a..1b3550e9c6 100644 --- a/runescape-client/src/main/java/WorldMapDecoration.java +++ b/runescape-client/src/main/java/WorldMapDecoration.java @@ -1,178 +1,277 @@ -import java.util.LinkedHashMap; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ak") +@ObfuscatedName("ax") @Implements("WorldMapDecoration") public class WorldMapDecoration { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1756359553 - ) - @Export("objectDefinitionId") - final int objectDefinitionId; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1376256815 - ) - @Export("decoration") - final int decoration; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 112778991 - ) - @Export("rotation") - final int rotation; + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + static IndexedSprite field237; + @ObfuscatedName("au") + @ObfuscatedGetter( + intValue = 948104613 + ) + static int field235; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -406250939 + ) + @Export("objectDefinitionId") + final int objectDefinitionId; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1381482747 + ) + @Export("decoration") + final int decoration; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -102940373 + ) + @Export("rotation") + final int rotation; - WorldMapDecoration(int var1, int var2, int var3) { - this.objectDefinitionId = var1; // L: 9 - this.decoration = var2; // L: 10 - this.rotation = var3; // L: 11 - } // L: 12 + WorldMapDecoration(int var1, int var2, int var3) { + this.objectDefinitionId = var1; + this.decoration = var2; + this.rotation = var3; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Ljm;", - garbageValue = "-671846279" - ) - @Export("getObjectDefinition") - public static ObjectComposition getObjectDefinition(int var0) { - ObjectComposition var1 = (ObjectComposition) ObjectComposition.ObjectDefinition_cached.get((long)var0); // L: 73 - if (var1 != null) { // L: 74 - return var1; - } else { - byte[] var2 = ObjectComposition.ObjectDefinition_archive.takeFile(6, var0); // L: 75 - var1 = new ObjectComposition(); // L: 76 - var1.id = var0; // L: 77 - if (var2 != null) { // L: 78 - var1.decode(new Buffer(var2)); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)Z", + garbageValue = "792255319" + ) + @Export("isNumber") + public static boolean isNumber(CharSequence var0) { + boolean var2 = false; + boolean var3 = false; + int var4 = 0; + int var5 = var0.length(); + int var6 = 0; - var1.postDecode(); // L: 79 - if (var1.isSolid) { // L: 80 - var1.interactType = 0; // L: 81 - var1.boolean1 = false; // L: 82 - } + boolean var1; + while(true) { + if (var6 >= var5) { + var1 = var3; + break; + } - ObjectComposition.ObjectDefinition_cached.put(var1, (long)var0); // L: 84 - return var1; // L: 85 - } - } + label83: { + char var7 = var0.charAt(var6); + if (var6 == 0) { + if (var7 == '-') { + var2 = true; + break label83; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "([BIIIIIII[Lfo;B)V", - garbageValue = "-44" - ) - static final void method381(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { - int var10; - for (int var9 = 0; var9 < 8; ++var9) { // L: 96 - for (var10 = 0; var10 < 8; ++var10) { // L: 97 - if (var9 + var2 > 0 && var9 + var2 < 103 && var3 + var10 > 0 && var3 + var10 < 103) { // L: 98 - int[] var10000 = var8[var1].flags[var9 + var2]; - var10000[var10 + var3] &= -16777217; - } - } - } + if (var7 == '+') { + break label83; + } + } - Buffer var21 = new Buffer(var0); // L: 101 + int var9; + if (var7 >= '0' && var7 <= '9') { + var9 = var7 - 48; + } else if (var7 >= 'A' && var7 <= 'Z') { + var9 = var7 - 55; + } else { + if (var7 < 'a' || var7 > 'z') { + var1 = false; + break; + } - for (var10 = 0; var10 < 4; ++var10) { // L: 102 - for (int var11 = 0; var11 < 64; ++var11) { // L: 103 - for (int var12 = 0; var12 < 64; ++var12) { // L: 104 - if (var10 == var4 && var11 >= var5 && var11 < var5 + 8 && var12 >= var6 && var12 < var6 + 8) { // L: 105 - int var15 = var2 + class51.method815(var11 & 7, var12 & 7, var7); // L: 108 - int var18 = var11 & 7; // L: 111 - int var19 = var12 & 7; // L: 112 - int var20 = var7 & 3; // L: 115 - int var17; - if (var20 == 0) { // L: 116 - var17 = var19; // L: 117 - } else if (var20 == 1) { // L: 120 - var17 = 7 - var18; // L: 121 - } else if (var20 == 2) { // L: 124 - var17 = 7 - var19; // L: 125 - } else { - var17 = var18; // L: 128 - } + var9 = var7 - 87; + } - Huffman.loadTerrain(var21, var1, var15, var3 + var17, 0, 0, var7); // L: 130 - } else { - Huffman.loadTerrain(var21, 0, -1, -1, 0, 0, 0); // L: 132 - } - } - } - } + if (var9 >= 10) { + var1 = false; + break; + } - } // L: 136 + if (var2) { + var9 = -var9; + } - @ObfuscatedName("fl") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "1662959699" - ) - static final void method380(boolean var0) { - if (var0) { // L: 2970 - Client.field872 = Login.field1200 ? class169.field2019 : class169.field2020; // L: 2971 - } else { - LinkedHashMap var1 = Timer.clientPreferences.parameters; // L: 2974 - String var3 = Login.Login_username; // L: 2976 - int var4 = var3.length(); // L: 2978 - int var5 = 0; // L: 2979 + int var8 = var9 + var4 * 10; + if (var4 != var8 / 10) { + var1 = false; + break; + } - for (int var6 = 0; var6 < var4; ++var6) { // L: 2980 - var5 = (var5 << 5) - var5 + var3.charAt(var6); - } + var4 = var8; + var3 = true; + } - Client.field872 = var1.containsKey(var5) ? class169.field2025 : class169.field2021; // L: 2983 - } + ++var6; + } - } // L: 2985 + return var1; + } - @ObfuscatedName("hp") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-708398742" - ) - static final void method382() { - for (PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { // L: 6962 6963 6982 - if (var0.hitpoints > 0) { // L: 6964 - --var0.hitpoints; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkd;B)V", + garbageValue = "13" + ) + static final void method404(PacketBuffer var0) { + int var1 = 0; + var0.importIndex(); - if (var0.hitpoints == 0) { // L: 6965 - if (var0.objectId < 0 || class234.method4159(var0.objectId, var0.field935)) { // L: 6966 - WorldMapData_1.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.objectId, var0.field929, var0.field935); // L: 6967 - var0.remove(); // L: 6968 - } - } else { - if (var0.delay > 0) { // L: 6972 - --var0.delay; - } + int var2; + int var4; + int var5; + for(var2 = 0; var2 < Players.Players_count; ++var2) { + var5 = Players.Players_indices[var2]; + if ((Players.field1275[var5] & 1) == 0) { + if (var1 > 0) { + --var1; + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = class198.method3851(var0); + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + PendingSpawn.readPlayerUpdate(var0, var5); + } + } + } + } - if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102 && (var0.id < 0 || class234.method4159(var0.id, var0.field933))) { // L: 6973 6974 - WorldMapData_1.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field933); // L: 6975 - var0.delay = -1; // L: 6976 - if (var0.id == var0.objectId && var0.objectId == -1) { // L: 6977 - var0.remove(); - } else if (var0.id == var0.objectId && var0.field929 == var0.orientation && var0.field935 == var0.field933) { - var0.remove(); // L: 6978 - } - } - } - } + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); - } // L: 6984 + for(var2 = 0; var2 < Players.Players_count; ++var2) { + var5 = Players.Players_indices[var2]; + if ((Players.field1275[var5] & 1) != 0) { + if (var1 > 0) { + --var1; + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = class198.method3851(var0); + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + PendingSpawn.readPlayerUpdate(var0, var5); + } + } + } + } - @ObfuscatedName("ij") - @ObfuscatedSignature( - descriptor = "(Lcq;IIB)V", - garbageValue = "-43" - ) - static final void method379(MenuAction var0, int var1, int var2) { - RouteStrategy.menuAction(var0.param0, var0.param1, var0.opcode, var0.identifier, var0.action, var0.action, var1, var2); // L: 7481 - } // L: 7482 + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for(var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { + var5 = Players.Players_emptyIndices[var2]; + if ((Players.field1275[var5] & 1) != 0) { + if (var1 > 0) { + --var1; + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = class198.method3851(var0); + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else if (World.updateExternalPlayer(var0, var5)) { + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + var0.importIndex(); + + for(var2 = 0; var2 < Players.Players_emptyIdxCount; ++var2) { + var5 = Players.Players_emptyIndices[var2]; + if ((Players.field1275[var5] & 1) == 0) { + if (var1 > 0) { + --var1; + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else { + var4 = var0.readBits(1); + if (var4 == 0) { + var1 = class198.method3851(var0); + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } else if (World.updateExternalPlayer(var0, var5)) { + Players.field1275[var5] = (byte)(Players.field1275[var5] | 2); + } + } + } + } + + var0.exportIndex(); + if (var1 != 0) { + throw new RuntimeException(); + } else { + Players.Players_count = 0; + Players.Players_emptyIdxCount = 0; + + for(var2 = 1; var2 < 2048; ++var2) { + Players.field1275[var2] = (byte)(Players.field1275[var2] >> 1); + Player var3 = Client.players[var2]; + if (var3 != null) { + Players.Players_indices[++Players.Players_count - 1] = var2; + } else { + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var2; + } + } + + } + } + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1927290139" + ) + static void method406(int var0) { + Login.loginIndex = 12; + Login.field1206 = var0; + } + + @ObfuscatedName("ka") + @ObfuscatedSignature( + descriptor = "(IIIILlm;Lht;I)V", + garbageValue = "-1757506186" + ) + @Export("worldToMinimap") + static final void worldToMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { + int var6 = var3 * var3 + var2 * var2; + if (var6 > 4225 && var6 < 90000) { + int var7 = Client.camAngleY & 2047; + int var8 = Rasterizer3D.Rasterizer3D_sine[var7]; + int var9 = Rasterizer3D.Rasterizer3D_cosine[var7]; + int var10 = var9 * var2 + var3 * var8 >> 16; + int var11 = var3 * var9 - var8 * var2 >> 16; + double var12 = Math.atan2((double)var10, (double)var11); + int var14 = var5.width / 2 - 25; + int var15 = (int)(Math.sin(var12) * (double)var14); + int var16 = (int)(Math.cos(var12) * (double)var14); + byte var17 = 20; + class236.redHintArrowSprite.method6393(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); + } else { + AbstractArchive.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5); + } + + } } diff --git a/runescape-client/src/main/java/WorldMapDecorationType.java b/runescape-client/src/main/java/WorldMapDecorationType.java index ad0cd440d3..a5e1a861ef 100644 --- a/runescape-client/src/main/java/WorldMapDecorationType.java +++ b/runescape-client/src/main/java/WorldMapDecorationType.java @@ -4,147 +4,186 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ht") +@ObfuscatedName("hw") @Implements("WorldMapDecorationType") public enum WorldMapDecorationType implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2761(0, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2745(1, 0), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2746(2, 0), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2747(3, 0), - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2748(9, 2), - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2753(4, 1), - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2744(5, 1), - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2751(6, 1), - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2752(7, 1), - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2756(8, 1), - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2754(12, 2), - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2765(13, 2), - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2762(14, 2), - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2757(15, 2), - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2758(16, 2), - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2759(17, 2), - @ObfuscatedName("a") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2749(18, 2), - @ObfuscatedName("b") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2760(19, 2), - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2750(20, 2), - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2763(21, 2), - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2764(10, 2), - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2755(11, 2), - @ObfuscatedName("s") - @ObfuscatedSignature( - descriptor = "Lht;" - ) - field2766(22, 3); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2765(0, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2748(1, 0), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2749(2, 0), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2750(3, 0), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2760(9, 2), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2752(4, 1), + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2768(5, 1), + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2754(6, 1), + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2755(7, 1), + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2751(8, 1), + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2757(12, 2), + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2767(13, 2), + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2758(14, 2), + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2756(15, 2), + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2761(16, 2), + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2762(17, 2), + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2763(18, 2), + @ObfuscatedName("f") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2764(19, 2), + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2769(20, 2), + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2766(21, 2), + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2747(10, 2), + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2753(11, 2), + @ObfuscatedName("m") + @ObfuscatedSignature( + descriptor = "Lhw;" + ) + field2759(22, 3); - @ObfuscatedName("o") - @ObfuscatedGetter( - intValue = 1564744229 - ) - @Export("id") - public final int id; + @ObfuscatedName("qe") + @ObfuscatedSignature( + descriptor = "Ldh;" + ) + @Export("pcmPlayer1") + static PcmPlayer pcmPlayer1; + @ObfuscatedName("r") + @ObfuscatedGetter( + intValue = -129094329 + ) + @Export("id") + public final int id; - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "0" - ) - WorldMapDecorationType(int var3, int var4) { - this.id = var3; // L: 34 - } // L: 35 + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "0" + ) + WorldMapDecorationType(int var3, int var4) { + this.id = var3; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 38 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "([BB)[B", + garbageValue = "98" + ) + @Export("decompressBytes") + static final byte[] decompressBytes(byte[] var0) { + Buffer var1 = new Buffer(var0); + int var2 = var1.readUnsignedByte(); + int var3 = var1.readInt(); + if (var3 < 0 || AbstractArchive.field3171 != 0 && var3 > AbstractArchive.field3171) { + throw new RuntimeException(); + } else if (var2 == 0) { + byte[] var6 = new byte[var3]; + var1.readBytes(var6, 0, var3); + return var6; + } else { + int var4 = var1.readInt(); + if (var4 >= 0 && (AbstractArchive.field3171 == 0 || var4 <= AbstractArchive.field3171)) { + byte[] var5 = new byte[var4]; + if (var2 == 1) { + BZip2Decompressor.BZip2Decompressor_decompress(var5, var4, var0, var3, 9); + } else { + AbstractArchive.gzipDecompressor.decompress(var1, var5); + } + + return var5; + } else { + throw new RuntimeException(); + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapElement.java b/runescape-client/src/main/java/WorldMapElement.java index cd7d2cfd8f..394140c50c 100644 --- a/runescape-client/src/main/java/WorldMapElement.java +++ b/runescape-client/src/main/java/WorldMapElement.java @@ -4,337 +4,444 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iy") +@ObfuscatedName("ic") @Implements("WorldMapElement") public class WorldMapElement extends DualNode { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("WorldMapElement_archive") - static AbstractArchive WorldMapElement_archive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "[Liy;" - ) - @Export("WorldMapElement_cached") - static WorldMapElement[] WorldMapElement_cached; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1991794269 - ) - @Export("WorldMapElement_count") - public static int WorldMapElement_count; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lez;" - ) - @Export("WorldMapElement_cachedSprites") - public static EvictingDualNodeHashTable WorldMapElement_cachedSprites; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1735605345 - ) - @Export("objectId") - public final int objectId; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 733089851 - ) - @Export("sprite1") - public int sprite1; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -2004503055 - ) - @Export("sprite2") - int sprite2; - @ObfuscatedName("p") - @Export("name") - public String name; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 2118102397 - ) - public int field3251; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1394872311 - ) - @Export("textSize") - public int textSize; - @ObfuscatedName("e") - public boolean field3250; - @ObfuscatedName("m") - public boolean field3263; - @ObfuscatedName("c") - @Export("menuActions") - public String[] menuActions; - @ObfuscatedName("i") - @Export("menuTargetName") - public String menuTargetName; - @ObfuscatedName("f") - int[] field3254; - @ObfuscatedName("a") - @ObfuscatedGetter( - intValue = -1853395127 - ) - int field3255; - @ObfuscatedName("b") - @ObfuscatedGetter( - intValue = 1120447861 - ) - int field3256; - @ObfuscatedName("y") - @ObfuscatedGetter( - intValue = 1444444969 - ) - int field3257; - @ObfuscatedName("r") - @ObfuscatedGetter( - intValue = 765833913 - ) - int field3258; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "Ljt;" - ) - @Export("horizontalAlignment") - public HorizontalAlignment horizontalAlignment; - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "Lit;" - ) - @Export("verticalAlignment") - public VerticalAlignment verticalAlignment; - @ObfuscatedName("s") - int[] field3261; - @ObfuscatedName("o") - byte[] field3242; - @ObfuscatedName("k") - @ObfuscatedGetter( - intValue = 1907461079 - ) - @Export("category") - public int category; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("WorldMapElement_archive") + public static AbstractArchive WorldMapElement_archive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "[Lic;" + ) + @Export("WorldMapElement_cached") + public static WorldMapElement[] WorldMapElement_cached; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -346827273 + ) + @Export("WorldMapElement_count") + public static int WorldMapElement_count; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lex;" + ) + @Export("WorldMapElement_cachedSprites") + static EvictingDualNodeHashTable WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1832807857 + ) + @Export("objectId") + public final int objectId; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -928242387 + ) + @Export("sprite1") + public int sprite1 = -1; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -342149719 + ) + @Export("sprite2") + int sprite2 = -1; + @ObfuscatedName("e") + @Export("name") + public String name; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1722981439 + ) + public int field3245; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1426815711 + ) + @Export("textSize") + public int textSize = 0; + @ObfuscatedName("b") + public boolean field3250 = true; + @ObfuscatedName("a") + public boolean field3255 = false; + @ObfuscatedName("w") + @Export("menuActions") + public String[] menuActions = new String[5]; + @ObfuscatedName("k") + @Export("menuTargetName") + public String menuTargetName; + @ObfuscatedName("i") + int[] field3258; + @ObfuscatedName("x") + @ObfuscatedGetter( + intValue = -683625561 + ) + int field3253 = Integer.MAX_VALUE; + @ObfuscatedName("f") + @ObfuscatedGetter( + intValue = -424376699 + ) + int field3259 = Integer.MAX_VALUE; + @ObfuscatedName("g") + @ObfuscatedGetter( + intValue = -934504639 + ) + int field3261 = Integer.MIN_VALUE; + @ObfuscatedName("u") + @ObfuscatedGetter( + intValue = -97806191 + ) + int field3262 = Integer.MIN_VALUE; + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "Lje;" + ) + @Export("horizontalAlignment") + public HorizontalAlignment horizontalAlignment; + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "Lie;" + ) + @Export("verticalAlignment") + public VerticalAlignment verticalAlignment; + @ObfuscatedName("m") + int[] field3265; + @ObfuscatedName("r") + byte[] field3266; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 922243855 + ) + @Export("category") + public int category; - static { - WorldMapElement_cachedSprites = new EvictingDualNodeHashTable(256); // L: 16 - } + public WorldMapElement(int var1) { + this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; + this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; + this.category = -1; + this.objectId = var1; + } - WorldMapElement(int var1) { - this.sprite1 = -1; // L: 18 - this.sprite2 = -1; // L: 19 - this.textSize = 0; - this.field3250 = true; - this.field3263 = false; - this.menuActions = new String[5]; - this.field3255 = Integer.MAX_VALUE; // L: 29 - this.field3256 = Integer.MAX_VALUE; // L: 30 - this.field3257 = Integer.MIN_VALUE; // L: 31 - this.field3258 = Integer.MIN_VALUE; // L: 32 - this.horizontalAlignment = HorizontalAlignment.HorizontalAlignment_centered; // L: 33 - this.verticalAlignment = VerticalAlignment.VerticalAlignment_centered; // L: 34 - this.category = -1; // L: 37 - this.objectId = var1; // L: 40 - } // L: 41 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;B)V", + garbageValue = "-21" + ) + @Export("decode") + public void decode(Buffer var1) { + while(true) { + int var2 = var1.readUnsignedByte(); + if (var2 == 0) { + return; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Lkj;I)V", - garbageValue = "-1959908559" - ) - @Export("decode") - void decode(Buffer var1) { - while (true) { - int var2 = var1.readUnsignedByte(); // L: 70 - if (var2 == 0) { // L: 71 - return; // L: 74 - } + this.decodeNext(var1, var2); + } + } - this.decodeNext(var1, var2); // L: 72 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "835039554" + ) + @Export("decodeNext") + void decodeNext(Buffer var1, int var2) { + if (var2 == 1) { + this.sprite1 = var1.method5833(); + } else if (var2 == 2) { + this.sprite2 = var1.method5833(); + } else if (var2 == 3) { + this.name = var1.readStringCp1252NullTerminated(); + } else if (var2 == 4) { + this.field3245 = var1.readMedium(); + } else if (var2 == 5) { + var1.readMedium(); + } else if (var2 == 6) { + this.textSize = var1.readUnsignedByte(); + } else { + int var3; + if (var2 == 7) { + var3 = var1.readUnsignedByte(); + if ((var3 & 1) == 0) { + this.field3250 = false; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;II)V", - garbageValue = "-694353382" - ) - @Export("decodeNext") - void decodeNext(Buffer var1, int var2) { - if (var2 == 1) { // L: 77 - this.sprite1 = var1.method5559(); - } else if (var2 == 2) { // L: 78 - this.sprite2 = var1.method5559(); - } else if (var2 == 3) { // L: 79 - this.name = var1.readStringCp1252NullTerminated(); - } else if (var2 == 4) { // L: 80 - this.field3251 = var1.readMedium(); - } else if (var2 == 5) { // L: 81 - var1.readMedium(); // L: 82 - } else if (var2 == 6) { // L: 84 - this.textSize = var1.readUnsignedByte(); - } else { - int var6; - if (var2 == 7) { // L: 85 - var6 = var1.readUnsignedByte(); // L: 86 - if ((var6 & 1) == 0) { // L: 87 - this.field3250 = false; - } + if ((var3 & 2) == 2) { + this.field3255 = true; + } + } else if (var2 == 8) { + var1.readUnsignedByte(); + } else if (var2 >= 10 && var2 <= 14) { + this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated(); + } else if (var2 == 15) { + var3 = var1.readUnsignedByte(); + this.field3258 = new int[var3 * 2]; - if ((var6 & 2) == 2) { // L: 88 - this.field3263 = true; - } - } else if (var2 == 8) { // L: 90 - var1.readUnsignedByte(); // L: 91 - } else if (var2 >= 10 && var2 <= 14) { // L: 93 - this.menuActions[var2 - 10] = var1.readStringCp1252NullTerminated(); - } else if (var2 == 15) { // L: 94 - var6 = var1.readUnsignedByte(); // L: 95 - this.field3254 = new int[var6 * 2]; // L: 96 + int var4; + for(var4 = 0; var4 < var3 * 2; ++var4) { + this.field3258[var4] = var1.readShort(); + } - int var4; - for (var4 = 0; var4 < var6 * 2; ++var4) { // L: 97 - this.field3254[var4] = var1.readShort(); - } + var1.readInt(); + var4 = var1.readUnsignedByte(); + this.field3265 = new int[var4]; - var1.readInt(); // L: 98 - var4 = var1.readUnsignedByte(); // L: 99 - this.field3261 = new int[var4]; // L: 100 + int var5; + for(var5 = 0; var5 < this.field3265.length; ++var5) { + this.field3265[var5] = var1.readInt(); + } - int var5; - for (var5 = 0; var5 < this.field3261.length; ++var5) { // L: 101 - this.field3261[var5] = var1.readInt(); - } + this.field3266 = new byte[var3]; - this.field3242 = new byte[var6]; // L: 102 + for(var5 = 0; var5 < var3; ++var5) { + this.field3266[var5] = var1.readByte(); + } + } else if (var2 != 16) { + if (var2 == 17) { + this.menuTargetName = var1.readStringCp1252NullTerminated(); + } else if (var2 == 18) { + var1.method5833(); + } else if (var2 == 19) { + this.category = var1.readUnsignedShort(); + } else if (var2 == 21) { + var1.readInt(); + } else if (var2 == 22) { + var1.readInt(); + } else if (var2 == 23) { + var1.readUnsignedByte(); + var1.readUnsignedByte(); + var1.readUnsignedByte(); + } else if (var2 == 24) { + var1.readShort(); + var1.readShort(); + } else if (var2 == 25) { + var1.method5833(); + } else if (var2 == 28) { + var1.readUnsignedByte(); + } else if (var2 == 29) { + this.horizontalAlignment = (HorizontalAlignment)InterfaceParent.findEnumerated(GameEngine.method1137(), var1.readUnsignedByte()); + } else if (var2 == 30) { + this.verticalAlignment = (VerticalAlignment)InterfaceParent.findEnumerated(class169.method3631(), var1.readUnsignedByte()); + } + } + } - for (var5 = 0; var5 < var6; ++var5) { // L: 103 - this.field3242[var5] = var1.readByte(); - } - } else if (var2 != 16) { // L: 105 - if (var2 == 17) { // L: 106 - this.menuTargetName = var1.readStringCp1252NullTerminated(); - } else if (var2 == 18) { // L: 107 - var1.method5559(); // L: 108 - } else if (var2 == 19) { // L: 110 - this.category = var1.readUnsignedShort(); - } else if (var2 == 21) { // L: 111 - var1.readInt(); // L: 112 - } else if (var2 == 22) { // L: 114 - var1.readInt(); // L: 115 - } else if (var2 == 23) { // L: 117 - var1.readUnsignedByte(); // L: 118 - var1.readUnsignedByte(); // L: 119 - var1.readUnsignedByte(); // L: 120 - } else if (var2 == 24) { // L: 122 - var1.readShort(); // L: 123 - var1.readShort(); // L: 124 - } else if (var2 == 25) { // L: 126 - var1.method5559(); // L: 127 - } else if (var2 == 28) { // L: 129 - var1.readUnsignedByte(); // L: 130 - } else if (var2 == 29) { // L: 132 - HorizontalAlignment[] var3 = new HorizontalAlignment[]{HorizontalAlignment.field3491, HorizontalAlignment.HorizontalAlignment_centered, HorizontalAlignment.field3490}; // L: 135 - this.horizontalAlignment = (HorizontalAlignment)UrlRequester.findEnumerated(var3, var1.readUnsignedByte()); // L: 137 - } else if (var2 == 30) { // L: 139 - VerticalAlignment[] var7 = new VerticalAlignment[]{VerticalAlignment.field3225, VerticalAlignment.field3229, VerticalAlignment.VerticalAlignment_centered}; // L: 142 - this.verticalAlignment = (VerticalAlignment)UrlRequester.findEnumerated(var7, var1.readUnsignedByte()); // L: 144 - } - } - } + } - } // L: 147 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1040699133" + ) + public void method4576() { + if (this.field3258 != null) { + for(int var1 = 0; var1 < this.field3258.length; var1 += 2) { + if (this.field3258[var1] < this.field3253) { + this.field3253 = this.field3258[var1]; + } else if (this.field3258[var1] > this.field3261) { + this.field3261 = this.field3258[var1]; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-604734124" - ) - void method4391() { - if (this.field3254 != null) { // L: 150 - for (int var1 = 0; var1 < this.field3254.length; var1 += 2) { // L: 151 - if (this.field3254[var1] < this.field3255) { // L: 152 - this.field3255 = this.field3254[var1]; - } else if (this.field3254[var1] > this.field3257) { // L: 153 - this.field3257 = this.field3254[var1]; - } + if (this.field3258[var1 + 1] < this.field3259) { + this.field3259 = this.field3258[var1 + 1]; + } else if (this.field3258[var1 + 1] > this.field3262) { + this.field3262 = this.field3258[var1 + 1]; + } + } + } - if (this.field3254[var1 + 1] < this.field3256) { // L: 154 - this.field3256 = this.field3254[var1 + 1]; - } else if (this.field3254[var1 + 1] > this.field3258) { - this.field3258 = this.field3254[var1 + 1]; // L: 155 - } - } - } + } - } // L: 158 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(ZI)Llm;", + garbageValue = "1411469246" + ) + @Export("getSpriteBool") + public SpritePixels getSpriteBool(boolean var1) { + int var2 = this.sprite1; + return this.getSprite(var2); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(ZI)Llm;", - garbageValue = "-375882692" - ) - @Export("getSpriteBool") - public SpritePixels getSpriteBool(boolean var1) { - int var2 = this.sprite1; // L: 161 - return this.getSprite(var2); // L: 162 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IB)Llm;", + garbageValue = "3" + ) + @Export("getSprite") + SpritePixels getSprite(int var1) { + if (var1 < 0) { + return null; + } else { + SpritePixels var2 = (SpritePixels)WorldMapElement_cachedSprites.get((long)var1); + if (var2 != null) { + return var2; + } else { + var2 = BufferedSource.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); + if (var2 != null) { + WorldMapElement_cachedSprites.put(var2, (long)var1); + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(II)Llm;", - garbageValue = "954144981" - ) - @Export("getSprite") - SpritePixels getSprite(int var1) { - if (var1 < 0) { // L: 166 - return null; - } else { - SpritePixels var2 = (SpritePixels)WorldMapElement_cachedSprites.get((long)var1); // L: 167 - if (var2 != null) { // L: 168 - return var2; - } else { - var2 = Skills.SpriteBuffer_getSprite(WorldMapElement_archive, var1, 0); // L: 169 - if (var2 != null) { // L: 170 - WorldMapElement_cachedSprites.put(var2, (long)var1); // L: 171 - } + return var2; + } + } + } - return var2; // L: 173 - } - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "1309901264" + ) + @Export("getObjectId") + public int getObjectId() { + return this.objectId; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-1401841512" - ) - @Export("getObjectId") - public int getObjectId() { - return this.objectId; // L: 177 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IILgz;Lfe;B)Z", + garbageValue = "75" + ) + public static final boolean method4591(int var0, int var1, RouteStrategy var2, CollisionMap var3) { + int var4 = var0; + int var5 = var1; + byte var6 = 64; + byte var7 = 64; + int var8 = var0 - var6; + int var9 = var1 - var7; + class182.directions[var6][var7] = 99; + class182.distances[var6][var7] = 0; + byte var10 = 0; + int var11 = 0; + class182.bufferX[var10] = var0; + byte var10001 = var10; + int var18 = var10 + 1; + class182.bufferY[var10001] = var1; + int[][] var12 = var3.flags; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Liw;", - garbageValue = "1557457090" - ) - public static FloorUnderlayDefinition method4405(int var0) { - FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); // L: 21 - if (var1 != null) { // L: 22 - return var1; - } else { - byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); // L: 23 - var1 = new FloorUnderlayDefinition(); // L: 24 - if (var2 != null) { // L: 25 - var1.decode(new Buffer(var2), var0); - } + while(var18 != var11) { + var4 = class182.bufferX[var11]; + var5 = class182.bufferY[var11]; + var11 = var11 + 1 & 4095; + int var16 = var4 - var8; + int var17 = var5 - var9; + int var13 = var4 - var3.xInset; + int var14 = var5 - var3.yInset; + if (var2.hasArrived(2, var4, var5, var3)) { + class182.field2118 = var4; + class182.field2124 = var5; + return true; + } - var1.postDecode(); // L: 26 - FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); // L: 27 - return var1; // L: 28 - } - } + int var15 = class182.distances[var16][var17] + 1; + if (var16 > 0 && class182.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17] = 2; + class182.distances[var16 - 1][var17] = var15; + } + + if (var16 < 126 && class182.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17] = 8; + class182.distances[var16 + 1][var17] = var15; + } + + if (var17 > 0 && class182.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { + class182.bufferX[var18] = var4; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16][var17 - 1] = 1; + class182.distances[var16][var17 - 1] = var15; + } + + if (var17 < 126 && class182.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { + class182.bufferX[var18] = var4; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16][var17 + 1] = 4; + class182.distances[var16][var17 + 1] = var15; + } + + if (var16 > 0 && var17 > 0 && class182.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17 - 1] = 3; + class182.distances[var16 - 1][var17 - 1] = var15; + } + + if (var16 < 126 && var17 > 0 && class182.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5 - 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17 - 1] = 9; + class182.distances[var16 + 1][var17 - 1] = var15; + } + + if (var16 > 0 && var17 < 126 && class182.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { + class182.bufferX[var18] = var4 - 1; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 - 1][var17 + 1] = 6; + class182.distances[var16 - 1][var17 + 1] = var15; + } + + if (var16 < 126 && var17 < 126 && class182.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { + class182.bufferX[var18] = var4 + 1; + class182.bufferY[var18] = var5 + 1; + var18 = var18 + 1 & 4095; + class182.directions[var16 + 1][var17 + 1] = 12; + class182.distances[var16 + 1][var17 + 1] = var15; + } + } + + class182.field2118 = var4; + class182.field2124 = var5; + return false; + } + + @ObfuscatedName("hg") + @ObfuscatedSignature( + descriptor = "(Lbo;B)V", + garbageValue = "1" + ) + static final void method4592(PendingSpawn var0) { + long var1 = 0L; + int var3 = -1; + int var4 = 0; + int var5 = 0; + if (var0.type == 0) { + var1 = MilliClock.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 1) { + var1 = MilliClock.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 2) { + var1 = MilliClock.scene.getGameObjectTag(var0.plane, var0.x, var0.y); + } + + if (var0.type == 3) { + var1 = MilliClock.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); + } + + if (0L != var1) { + int var6 = MilliClock.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); + var3 = class25.Entity_unpackID(var1); + var4 = var6 & 31; + var5 = var6 >> 6 & 3; + } + + var0.objectId = var3; + var0.field945 = var4; + var0.field944 = var5; + } } diff --git a/runescape-client/src/main/java/WorldMapEvent.java b/runescape-client/src/main/java/WorldMapEvent.java index 847e75a3e9..467765d633 100644 --- a/runescape-client/src/main/java/WorldMapEvent.java +++ b/runescape-client/src/main/java/WorldMapEvent.java @@ -4,123 +4,89 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("az") +@ObfuscatedName("av") @Implements("WorldMapEvent") public class WorldMapEvent { - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("titleboxSprite") - static IndexedSprite titleboxSprite; - @ObfuscatedName("iz") - @ObfuscatedGetter( - intValue = 972918301 - ) - @Export("selectedItemId") - static int selectedItemId; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1211419281 - ) - @Export("mapElement") - public int mapElement; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("coord1") - public Coord coord1; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lhs;" - ) - @Export("coord2") - public Coord coord2; + @ObfuscatedName("rk") + @ObfuscatedGetter( + intValue = -687726109 + ) + static int field380; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "[Lme;" + ) + @Export("JagexCache_idxFiles") + public static BufferedFile[] JagexCache_idxFiles; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 477038655 + ) + @Export("mapElement") + public int mapElement; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("coord1") + public Coord coord1; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lhd;" + ) + @Export("coord2") + public Coord coord2; - @ObfuscatedSignature( - descriptor = "(ILhs;Lhs;)V" - ) - public WorldMapEvent(int var1, Coord var2, Coord var3) { - this.mapElement = var1; // L: 11 - this.coord1 = var2; // L: 12 - this.coord2 = var3; // L: 13 - } // L: 14 + @ObfuscatedSignature( + descriptor = "(ILhd;Lhd;)V" + ) + public WorldMapEvent(int var1, Coord var2, Coord var3) { + this.mapElement = var1; + this.coord1 = var2; + this.coord2 = var3; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "1" - ) - public static void method809() { - while (true) { - ArchiveDiskAction var0; - synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) { // L: 64 - var0 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_responseQueue.removeLast(); // L: 65 - } // L: 66 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-852874949" + ) + public static void method851() { + SpotAnimationDefinition.SpotAnimationDefinition_cached.clear(); + SpotAnimationDefinition.SpotAnimationDefinition_cachedModels.clear(); + } - if (var0 == null) { - return; // L: 67 - } + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "32" + ) + public static void method850() { + Widget.Widget_cachedSprites.clear(); + Widget.Widget_cachedModels.clear(); + Widget.Widget_cachedFonts.clear(); + Widget.Widget_cachedSpriteMasks.clear(); + } - var0.archive.load(var0.archiveDisk, (int)var0.key, var0.data, false); // L: 68 - } - } + @ObfuscatedName("iv") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIZB)V", + garbageValue = "-21" + ) + @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.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; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "787195295" - ) - public static void method807() { - if (KeyHandler.KeyHandler_instance != null) { // L: 156 - synchronized(KeyHandler.KeyHandler_instance) { // L: 157 - KeyHandler.KeyHandler_instance = null; // L: 158 - } // L: 159 - } - - } // L: 161 - - @ObfuscatedName("kq") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "1393718801" - ) - static final void method810(int var0) { - var0 = Math.min(Math.max(var0, 0), 255); // L: 10652 - if (var0 != Timer.clientPreferences.musicVolume) { // L: 10653 - if (Timer.clientPreferences.musicVolume == 0 && Client.currentTrackGroupId != -1) { // L: 10654 - Interpreter.method2082(class217.archive6, Client.currentTrackGroupId, 0, var0, false); // L: 10655 - Client.field883 = false; // L: 10656 - } else if (var0 == 0) { // L: 10658 - WorldMapRegion.method588(); // L: 10659 - Client.field883 = false; // L: 10660 - } else if (class206.musicPlayerStatus != 0) { // L: 10663 - GrandExchangeEvent.musicTrackVolume = var0; - } else { - class206.midiPcmStream.setPcmStreamVolume(var0); // L: 10664 - } - - Timer.clientPreferences.musicVolume = var0; // L: 10666 - GrandExchangeOffer.savePreferences(); // L: 10667 - } - - } // L: 10669 - - @ObfuscatedName("lv") - @ObfuscatedSignature( - descriptor = "(Lkj;IB)V", - garbageValue = "-67" - ) - static void method808(Buffer var0, int var1) { - AbstractSocket.method5846(var0.array, var1); // L: 11139 - if (JagexCache.JagexCache_randomDat != null) { // L: 11141 - try { - JagexCache.JagexCache_randomDat.seek(0L); // L: 11143 - JagexCache.JagexCache_randomDat.write(var0.array, var1, 24); // L: 11144 - } catch (Exception var3) { // L: 11146 - } - } - - } // L: 11149 + } + } } diff --git a/runescape-client/src/main/java/WorldMapID.java b/runescape-client/src/main/java/WorldMapID.java index ad95f758af..9143c2c032 100644 --- a/runescape-client/src/main/java/WorldMapID.java +++ b/runescape-client/src/main/java/WorldMapID.java @@ -1,666 +1,191 @@ +import java.lang.management.GarbageCollectorMXBean; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ao") +@ObfuscatedName("az") @Implements("WorldMapID") public class WorldMapID { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lao;" - ) - static final WorldMapID field292; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lao;" - ) - static final WorldMapID field296; - @ObfuscatedName("fm") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("socketTask") - static Task socketTask; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1634523621 - ) - @Export("value") - final int value; + @ObfuscatedName("pv") + @ObfuscatedSignature( + descriptor = "Lkt;" + ) + @Export("clanChat") + static ClanChat clanChat; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Laz;" + ) + static final WorldMapID field301 = new WorldMapID(0); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Laz;" + ) + static final WorldMapID field290 = new WorldMapID(1); + @ObfuscatedName("w") + static int[] field292; + @ObfuscatedName("ab") + @Export("garbageCollector") + static GarbageCollectorMXBean garbageCollector; + @ObfuscatedName("bc") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("worldSelectBackSprites") + static SpritePixels[] worldSelectBackSprites; + @ObfuscatedName("ca") + public static char field299; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -842814977 + ) + @Export("value") + final int value; - static { - field292 = new WorldMapID(0); // L: 4 - field296 = new WorldMapID(1); // L: 5 - } + WorldMapID(int var1) { + this.value = var1; + } - WorldMapID(int var1) { - this.value = var1; // L: 9 - } // L: 10 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "893410164" + ) + @Export("ItemContainer_getCount") + static int ItemContainer_getCount(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; + } else { + return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1557996921" - ) - public static void method601() { - VarpDefinition.VarpDefinition_cached.clear(); // L: 41 - } // L: 42 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)Ljava/lang/String;", + garbageValue = "-283946785" + ) + static String method645() { + return WorldMapSectionType.clientPreferences.hideUsername ? HitSplatDefinition.method4768(Login.Login_username) : Login.Login_username; + } - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1833830337" - ) - static int method600(int var0, Script var1, boolean var2) { - String var7; - if (var0 == ScriptOpcodes.MES) { // L: 1327 - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1328 - class234.addGameMessage(0, "", var7); // L: 1329 - return 1; // L: 1330 - } else if (var0 == ScriptOpcodes.ANIM) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1333 - Tiles.performPlayerAnimation(PlayerComposition.localPlayer, Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize], Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 1334 - return 1; // L: 1335 - } else if (var0 == ScriptOpcodes.IF_CLOSE) { - if (!Interpreter.field1103) { // L: 1338 - Interpreter.field1104 = true; // L: 1339 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1525294724" + ) + @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; + } - return 1; // L: 1341 - } else { - int var16; - if (var0 == ScriptOpcodes.RESUME_COUNTDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1344 - var16 = 0; // L: 1345 - if (ArchiveDiskAction.isNumber(var7)) { // L: 1346 - var16 = class279.parseInt(var7); - } + } + } - PacketBufferNode var14 = ItemContainer.getPacketBufferNode(ClientPacket.field2291, Client.packetWriter.isaacCipher); // L: 1348 - var14.packetBuffer.writeInt(var16); // L: 1349 - Client.packetWriter.addNode(var14); // L: 1350 - return 1; // L: 1351 - } else { - PacketBufferNode var12; - if (var0 == ScriptOpcodes.RESUME_NAMEDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1354 - var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2245, Client.packetWriter.isaacCipher); // L: 1356 - var12.packetBuffer.writeByte(var7.length() + 1); // L: 1357 - var12.packetBuffer.writeStringCp1252NullTerminated(var7); // L: 1358 - Client.packetWriter.addNode(var12); // L: 1359 - return 1; // L: 1360 - } else if (var0 == ScriptOpcodes.RESUME_STRINGDIALOG) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1363 - var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); // L: 1365 - var12.packetBuffer.writeByte(var7.length() + 1); // L: 1366 - var12.packetBuffer.writeStringCp1252NullTerminated(var7); // L: 1367 - Client.packetWriter.addNode(var12); // L: 1368 - return 1; // L: 1369 - } else { - String var4; - int var10; - if (var0 == ScriptOpcodes.OPPLAYER) { - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1372 - var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1373 - FloorDecoration.method2931(var10, var4); // L: 1374 - return 1; // L: 1375 - } else if (var0 == ScriptOpcodes.IF_DRAGPICKUP) { - VarcInt.Interpreter_intStackSize -= 3; // L: 1378 - var10 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1379 - var16 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1380 - int var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 1381 - Widget var15 = CollisionMap.getWidget(var9); // L: 1382 - class13.clickWidget(var15, var10, var16); // L: 1383 - return 1; // L: 1384 - } else if (var0 == ScriptOpcodes.CC_DRAGPICKUP) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1387 - var10 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1388 - var16 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1389 - Widget var13 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1390 - class13.clickWidget(var13, var10, var16); // L: 1391 - return 1; // L: 1392 - } else if (var0 == ScriptOpcodes.MOUSECAM) { - UserComparator9.mouseCam = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1395 - return 1; // L: 1396 - } else if (var0 == ScriptOpcodes.GETREMOVEROOFS) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Timer.clientPreferences.roofsHidden ? 1 : 0; // L: 1399 - return 1; // L: 1400 - } else if (var0 == ScriptOpcodes.SETREMOVEROOFS) { - Timer.clientPreferences.roofsHidden = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1403 - GrandExchangeOffer.savePreferences(); // L: 1404 - return 1; // L: 1405 - } else if (var0 == ScriptOpcodes.OPENURL) { - var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 1408 - boolean var8 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1409 - AttackOption.openURL(var7, var8, false); // L: 1410 - return 1; // L: 1411 - } else if (var0 == ScriptOpcodes.RESUME_OBJDIALOG) { - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1414 - var12 = ItemContainer.getPacketBufferNode(ClientPacket.field2250, Client.packetWriter.isaacCipher); // L: 1416 - var12.packetBuffer.writeShort(var10); // L: 1417 - Client.packetWriter.addNode(var12); // L: 1418 - return 1; // L: 1419 - } else if (var0 == ScriptOpcodes.BUG_REPORT) { - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1422 - Interpreter.Interpreter_stringStackSize -= 2; // L: 1423 - var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 1424 - String var5 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 1425 - if (var4.length() > 500) { // L: 1426 - return 1; - } else if (var5.length() > 500) { // L: 1427 - return 1; - } else { - PacketBufferNode var6 = ItemContainer.getPacketBufferNode(ClientPacket.field2270, Client.packetWriter.isaacCipher); // L: 1428 - var6.packetBuffer.writeShort(1 + FloorDecoration.stringCp1252NullTerminatedByteSize(var4) + FloorDecoration.stringCp1252NullTerminatedByteSize(var5)); // L: 1429 - var6.packetBuffer.writeByte(var10); // L: 1430 - var6.packetBuffer.writeStringCp1252NullTerminated(var4); // L: 1431 - var6.packetBuffer.writeStringCp1252NullTerminated(var5); // L: 1432 - Client.packetWriter.addNode(var6); // L: 1433 - return 1; // L: 1434 - } - } else if (var0 == ScriptOpcodes.SETSHIFTCLICKDROP) { - Client.shiftClickDrop = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1437 - return 1; // L: 1438 - } else if (var0 == ScriptOpcodes.SETSHOWMOUSEOVERTEXT) { - Client.showMouseOverText = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1441 - return 1; // L: 1442 - } else if (var0 == ScriptOpcodes.RENDERSELF) { - Client.renderSelf = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1445 - return 1; // L: 1446 - } else if (var0 == 3120) { - if (Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1) { // L: 1449 - Client.drawPlayerNames |= 1; - } else { - Client.drawPlayerNames &= -2; // L: 1450 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lig;Ljava/lang/String;Ljava/lang/String;S)[Llm;", + garbageValue = "26517" + ) + public static SpritePixels[] method648(AbstractArchive var0, String var1, String var2) { + int var3 = var0.getGroupId(var1); + int var4 = var0.getFileId(var3, var2); + return WorldMapLabelSize.method268(var0, var3, var4); + } - return 1; // L: 1451 - } else if (var0 == 3121) { - if (Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1) { // L: 1454 - Client.drawPlayerNames |= 2; - } else { - Client.drawPlayerNames &= -3; // L: 1455 - } + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(Lbt;I)V", + garbageValue = "1647051153" + ) + static void method646(GameEngine var0) { + while(Varcs.isKeyDown()) { + if (ModeWhere.field2417 == 13) { + UserComparator10.method3573(); + return; + } - return 1; // L: 1456 - } else if (var0 == 3122) { - if (Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1) { // L: 1459 - Client.drawPlayerNames |= 4; - } else { - Client.drawPlayerNames &= -5; // L: 1460 - } + if (ModeWhere.field2417 == 96) { + if (Login.worldSelectPage > 0 && class7.worldSelectLeftSprite != null) { + --Login.worldSelectPage; + } + } else if (ModeWhere.field2417 == 97 && Login.worldSelectPage < Login.worldSelectPagesCount && class2.worldSelectRightSprite != null) { + ++Login.worldSelectPage; + } + } - return 1; // L: 1461 - } else if (var0 == 3123) { - if (Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1) { // L: 1464 - Client.drawPlayerNames |= 8; - } else { - Client.drawPlayerNames &= -9; // L: 1465 - } + if (MouseHandler.MouseHandler_lastButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_lastButton == 4) { + int var1 = Login.xPadding + 280; + if (MouseHandler.MouseHandler_lastPressedX >= var1 && MouseHandler.MouseHandler_lastPressedX <= var1 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(0, 0); + return; + } - return 1; // L: 1466 - } else if (var0 == 3124) { - Client.drawPlayerNames = 0; // L: 1469 - return 1; // L: 1470 - } else if (var0 == ScriptOpcodes.SETSHOWMOUSECROSS) { - Client.showMouseCross = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1473 - return 1; // L: 1474 - } else if (var0 == ScriptOpcodes.SETSHOWLOADINGMESSAGES) { - Client.showLoadingMessages = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1477 - return 1; // L: 1478 - } else if (var0 == ScriptOpcodes.SETTAPTODROP) { - class25.setTapToDrop(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1); // L: 1481 - return 1; // L: 1482 - } else if (var0 == ScriptOpcodes.GETTAPTODROP) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class3.getTapToDrop() ? 1 : 0; // L: 1485 - return 1; // L: 1486 - } else if (var0 == ScriptOpcodes.SETOCULUSORBSPEED) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1489 - Client.oculusOrbNormalSpeed = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 1490 - Client.oculusOrbSlowedSpeed = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 1491 - return 1; // L: 1492 - } else if (var0 == 3130) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1495 - return 1; // L: 1496 - } else if (var0 == 3131) { - --VarcInt.Interpreter_intStackSize; // L: 1499 - return 1; // L: 1500 - } else if (var0 == ScriptOpcodes.GETCANVASSIZE) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = IgnoreList.canvasWidth; // L: 1503 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ModelData0.canvasHeight; // L: 1504 - return 1; // L: 1505 - } else if (var0 == ScriptOpcodes.MOBILE_SETFPS) { - --VarcInt.Interpreter_intStackSize; // L: 1508 - return 1; // L: 1509 - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORE) { - return 1; // L: 1512 - } else if (var0 == ScriptOpcodes.MOBILE_OPENSTORECATEGORY) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1515 - return 1; // L: 1516 - } else if (var0 == 3136) { - Client.field810 = 3; // L: 1519 - Client.field811 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1520 - return 1; // L: 1521 - } else if (var0 == 3137) { - Client.field810 = 2; // L: 1524 - Client.field811 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1525 - return 1; // L: 1526 - } else if (var0 == 3138) { - Client.field810 = 0; // L: 1529 - return 1; // L: 1530 - } else if (var0 == 3139) { - Client.field810 = 1; // L: 1533 - return 1; // L: 1534 - } else if (var0 == 3140) { - Client.field810 = 3; // L: 1537 - Client.field811 = var2 ? PlayerComposition.scriptDotWidget.id * -437932207 * 653064625 : VarcInt.scriptActiveWidget.id * -437932207 * 653064625; // L: 1538 - return 1; // L: 1539 - } else { - boolean var11; - if (var0 == ScriptOpcodes.SETHIDEUSERNAME) { - var11 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1542 - Timer.clientPreferences.hideUsername = var11; // L: 1543 - GrandExchangeOffer.savePreferences(); // L: 1544 - return 1; // L: 1545 - } else if (var0 == ScriptOpcodes.GETHIDEUSERNAME) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Timer.clientPreferences.hideUsername ? 1 : 0; // L: 1548 - return 1; // L: 1549 - } else if (var0 == ScriptOpcodes.SETREMEMBERUSERNAME) { - var11 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1552 - Client.Login_isUsernameRemembered = var11; // L: 1553 - if (!var11) { // L: 1554 - Timer.clientPreferences.rememberedUsername = ""; // L: 1555 - GrandExchangeOffer.savePreferences(); // L: 1556 - } + if (MouseHandler.MouseHandler_lastPressedX >= var1 + 15 && MouseHandler.MouseHandler_lastPressedX <= var1 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(0, 1); + return; + } - return 1; // L: 1558 - } else if (var0 == ScriptOpcodes.GETREMEMBERUSERNAME) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.Login_isUsernameRemembered ? 1 : 0; // L: 1561 - return 1; // L: 1562 - } else if (var0 == 3145) { - return 1; // L: 1565 - } else if (var0 == ScriptOpcodes.SETTITLEMUSICENABLED) { - var11 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 1568 - if (var11 == Timer.clientPreferences.titleMusicDisabled) { // L: 1569 - Timer.clientPreferences.titleMusicDisabled = !var11; // L: 1570 - GrandExchangeOffer.savePreferences(); // L: 1571 - } + int var2 = Login.xPadding + 390; + if (MouseHandler.MouseHandler_lastPressedX >= var2 && MouseHandler.MouseHandler_lastPressedX <= var2 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(1, 0); + return; + } - return 1; // L: 1573 - } else if (var0 == ScriptOpcodes.GETTITLEMUSICENABLED) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Timer.clientPreferences.titleMusicDisabled ? 0 : 1; // L: 1576 - return 1; // L: 1577 - } else if (var0 == 3148) { - return 1; // L: 1580 - } else if (var0 == 3149) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1583 - return 1; // L: 1584 - } else if (var0 == 3150) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1587 - return 1; // L: 1588 - } else if (var0 == 3151) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1591 - return 1; // L: 1592 - } else if (var0 == 3152) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1595 - return 1; // L: 1596 - } else if (var0 == 3153) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Login.Login_loadingPercent; // L: 1599 - return 1; // L: 1600 - } else if (var0 == 3154) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class13.method132(); // L: 1603 - return 1; // L: 1604 - } else if (var0 == 3155) { - --Interpreter.Interpreter_stringStackSize; // L: 1607 - return 1; // L: 1608 - } else if (var0 == 3156) { - return 1; // L: 1611 - } else if (var0 == 3157) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1614 - return 1; // L: 1615 - } else if (var0 == 3158) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1618 - return 1; // L: 1619 - } else if (var0 == 3159) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1622 - return 1; // L: 1623 - } else if (var0 == 3160) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1626 - return 1; // L: 1627 - } else if (var0 == 3161) { - --VarcInt.Interpreter_intStackSize; // L: 1630 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1631 - return 1; // L: 1632 - } else if (var0 == 3162) { - --VarcInt.Interpreter_intStackSize; // L: 1635 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1636 - return 1; // L: 1637 - } else if (var0 == 3163) { - --Interpreter.Interpreter_stringStackSize; // L: 1640 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1641 - return 1; // L: 1642 - } else if (var0 == 3164) { - --VarcInt.Interpreter_intStackSize; // L: 1645 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1646 - return 1; // L: 1647 - } else if (var0 == 3165) { - --VarcInt.Interpreter_intStackSize; // L: 1650 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1651 - return 1; // L: 1652 - } else if (var0 == 3166) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1655 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1656 - return 1; // L: 1657 - } else if (var0 == 3167) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1660 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1661 - return 1; // L: 1662 - } else if (var0 == 3168) { - VarcInt.Interpreter_intStackSize -= 2; // L: 1665 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1666 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1667 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1668 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1669 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1670 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1671 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1672 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1673 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 1674 - return 1; // L: 1675 - } else if (var0 == 3169) { - return 1; // L: 1678 - } else if (var0 == 3170) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1681 - return 1; // L: 1682 - } else if (var0 == 3171) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1685 - return 1; // L: 1686 - } else if (var0 == 3172) { - --VarcInt.Interpreter_intStackSize; // L: 1689 - return 1; // L: 1690 - } else if (var0 == 3173) { - --VarcInt.Interpreter_intStackSize; // L: 1693 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1694 - return 1; // L: 1695 - } else if (var0 == 3174) { - --VarcInt.Interpreter_intStackSize; // L: 1698 - return 1; // L: 1699 - } else if (var0 == 3175) { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1702 - return 1; // L: 1703 - } else if (var0 == 3176) { - return 1; // L: 1706 - } else if (var0 == 3177) { - return 1; // L: 1709 - } else if (var0 == 3178) { - --Interpreter.Interpreter_stringStackSize; // L: 1712 - return 1; // L: 1713 - } else if (var0 == 3179) { - return 1; // L: 1716 - } else if (var0 == 3180) { - --Interpreter.Interpreter_stringStackSize; // L: 1719 - return 1; // L: 1720 - } else if (var0 == 3181) { - var10 = 100 - Math.min(Math.max(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize], 0), 100); // L: 1723 - WorldMapSection1.method626((double)((float)var10 / 200.0F + 0.5F)); // L: 1724 - return 1; // L: 1725 - } else if (var0 == 3182) { - float var3 = ((float)Timer.clientPreferences.field1057 - 0.5F) * 200.0F; // L: 1728 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 100 - Math.round(var3); // L: 1729 - return 1; // L: 1730 - } else { - return 2; // L: 1732 - } - } - } - } - } - } + if (MouseHandler.MouseHandler_lastPressedX >= var2 + 15 && MouseHandler.MouseHandler_lastPressedX <= var2 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(1, 1); + return; + } - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1805385873" - ) - static int method599(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.VIEWPORT_SETFOV) { // L: 3267 - VarcInt.Interpreter_intStackSize -= 2; // L: 3268 - Client.field896 = (short)HealthBarUpdate.method1823(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]); // L: 3269 - if (Client.field896 <= 0) { // L: 3270 - Client.field896 = 256; - } + int var3 = Login.xPadding + 500; + if (MouseHandler.MouseHandler_lastPressedX >= var3 && MouseHandler.MouseHandler_lastPressedX <= var3 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(2, 0); + return; + } - Client.field897 = (short)HealthBarUpdate.method1823(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 3271 - if (Client.field897 <= 0) { // L: 3272 - Client.field897 = 256; - } + if (MouseHandler.MouseHandler_lastPressedX >= var3 + 15 && MouseHandler.MouseHandler_lastPressedX <= var3 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(2, 1); + return; + } - return 1; // L: 3273 - } else if (var0 == ScriptOpcodes.VIEWPORT_SETZOOM) { // L: 3275 - VarcInt.Interpreter_intStackSize -= 2; // L: 3276 - Client.zoomHeight = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3277 - if (Client.zoomHeight <= 0) { // L: 3278 - Client.zoomHeight = 256; - } + int var4 = Login.xPadding + 610; + if (MouseHandler.MouseHandler_lastPressedX >= var4 && MouseHandler.MouseHandler_lastPressedX <= var4 + 14 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(3, 0); + return; + } - Client.zoomWidth = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3279 - if (Client.zoomWidth <= 0) { // L: 3280 - Client.zoomWidth = 320; - } + if (MouseHandler.MouseHandler_lastPressedX >= var4 + 15 && MouseHandler.MouseHandler_lastPressedX <= var4 + 80 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedY <= 18) { + class1.changeWorldSelectSorting(3, 1); + return; + } - return 1; // L: 3281 - } else if (var0 == ScriptOpcodes.VIEWPORT_CLAMPFOV) { // L: 3283 - VarcInt.Interpreter_intStackSize -= 4; // L: 3284 - Client.field900 = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3285 - if (Client.field900 <= 0) { // L: 3286 - Client.field900 = 1; - } + if (MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 708 && MouseHandler.MouseHandler_lastPressedY >= 4 && MouseHandler.MouseHandler_lastPressedX <= Login.xPadding + 708 + 50 && MouseHandler.MouseHandler_lastPressedY <= 20) { + UserComparator10.method3573(); + return; + } - Client.field731 = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 3287 - if (Client.field731 <= 0) { // L: 3288 - Client.field731 = 32767; - } else if (Client.field731 < Client.field900) { // L: 3289 - Client.field731 = Client.field900; - } + if (Login.hoveredWorldIndex != -1) { + World var5 = World.World_worlds[Login.hoveredWorldIndex]; + ChatChannel.changeWorld(var5); + UserComparator10.method3573(); + return; + } - Client.field828 = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 3290 - if (Client.field828 <= 0) { // L: 3291 - Client.field828 = 1; - } + if (Login.worldSelectPage > 0 && class7.worldSelectLeftSprite != null && MouseHandler.MouseHandler_lastPressedX >= 0 && MouseHandler.MouseHandler_lastPressedX <= class7.worldSelectLeftSprite.subWidth && MouseHandler.MouseHandler_lastPressedY >= class25.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= class25.canvasHeight / 2 + 50) { + --Login.worldSelectPage; + } - Client.field903 = (short)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 3292 - if (Client.field903 <= 0) { // L: 3293 - Client.field903 = 32767; - } else if (Client.field903 < Client.field828) { // L: 3294 - Client.field903 = Client.field828; - } + if (Login.worldSelectPage < Login.worldSelectPagesCount && class2.worldSelectRightSprite != null && MouseHandler.MouseHandler_lastPressedX >= GrandExchangeOfferTotalQuantityComparator.canvasWidth - class2.worldSelectRightSprite.subWidth - 5 && MouseHandler.MouseHandler_lastPressedX <= GrandExchangeOfferTotalQuantityComparator.canvasWidth && MouseHandler.MouseHandler_lastPressedY >= class25.canvasHeight / 2 - 50 && MouseHandler.MouseHandler_lastPressedY <= class25.canvasHeight / 2 + 50) { + ++Login.worldSelectPage; + } + } - return 1; // L: 3295 - } else if (var0 == ScriptOpcodes.VIEWPORT_GETEFFECTIVESIZE) { // L: 3297 - if (Client.viewportWidget != null) { // L: 3298 - class25.setViewportShape(0, 0, Client.viewportWidget.width, Client.viewportWidget.height, false); // L: 3299 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.viewportWidth; // L: 3300 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.viewportHeight; // L: 3301 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3304 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3305 - } - - return 1; // L: 3307 - } else if (var0 == ScriptOpcodes.VIEWPORT_GETZOOM) { // L: 3309 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.zoomHeight; // L: 3310 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.zoomWidth; // L: 3311 - return 1; // L: 3312 - } else if (var0 == ScriptOpcodes.VIEWPORT_GETFOV) { // L: 3314 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MouseHandler.method1156(Client.field896); // L: 3315 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = MouseHandler.method1156(Client.field897); // L: 3316 - return 1; // L: 3317 - } else if (var0 == 6220) { // L: 3319 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3320 - return 1; // L: 3321 - } else if (var0 == 6221) { // L: 3323 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3324 - return 1; // L: 3325 - } else if (var0 == 6222) { // L: 3327 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = IgnoreList.canvasWidth; // L: 3328 - return 1; // L: 3329 - } else if (var0 == 6223) { // L: 3331 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ModelData0.canvasHeight; // L: 3332 - return 1; // L: 3333 - } else { - return 2; // L: 3335 - } - } - - @ObfuscatedName("gw") - @ObfuscatedSignature( - descriptor = "(Lcx;II)V", - garbageValue = "646312603" - ) - @Export("updateActorSequence") - static final void updateActorSequence(Actor var0, int var1) { - int var2; - int var3; - int var4; - if (var0.field984 >= Client.cycle) { // L: 3878 - WorldMapManager.method672(var0); - } else if (var0.field973 >= Client.cycle) { // L: 3879 - if (var0.field973 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > ParamComposition.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { // L: 3880 - var2 = var0.field973 - var0.field984; // L: 3881 - var3 = Client.cycle - var0.field984; // L: 3882 - var4 = var0.field941 * 64 + var0.field981 * 128; // L: 3883 - int var5 = var0.field941 * 64 + var0.field982 * 128; // L: 3884 - int var6 = var0.field941 * 64 + var0.field958 * 128; // L: 3885 - int var7 = var0.field941 * 64 + var0.field956 * 128; // L: 3886 - var0.x = (var6 * var3 + var4 * (var2 - var3)) / var2; // L: 3887 - var0.y = (var3 * var7 + var5 * (var2 - var3)) / var2; // L: 3888 - } - - var0.field963 = 0; // L: 3890 - var0.orientation = var0.field986; // L: 3891 - var0.rotation = var0.orientation; // L: 3892 - } else { - class51.method831(var0); // L: 3894 - } - - if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { // L: 3895 - var0.sequence = -1; // L: 3896 - var0.spotAnimation = -1; // L: 3897 - var0.field984 = 0; // L: 3898 - var0.field973 = 0; // L: 3899 - var0.x = var0.pathX[0] * 128 + var0.field941 * 64; // L: 3900 - var0.y = var0.pathY[0] * 128 + var0.field941 * 64; // L: 3901 - var0.method1803(); // L: 3902 - } - - if (PlayerComposition.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { // L: 3904 3905 - var0.sequence = -1; // L: 3906 - var0.spotAnimation = -1; // L: 3907 - var0.field984 = 0; // L: 3908 - var0.field973 = 0; // L: 3909 - var0.x = var0.pathX[0] * 128 + var0.field941 * 64; // L: 3910 - var0.y = var0.field941 * 64 + var0.pathY[0] * 128; // L: 3911 - var0.method1803(); // L: 3912 - } - - if (var0.field940 != 0) { // L: 3916 - if (var0.targetIndex != -1) { // L: 3917 - Object var8 = null; // L: 3918 - if (var0.targetIndex < 32768) { // L: 3919 - var8 = Client.npcs[var0.targetIndex]; - } else if (var0.targetIndex >= 32768) { // L: 3920 - var8 = Client.players[var0.targetIndex - 32768]; - } - - if (var8 != null) { // L: 3921 - var3 = var0.x - ((Actor)var8).x; // L: 3922 - var4 = var0.y - ((Actor)var8).y; // L: 3923 - if (var3 != 0 || var4 != 0) { // L: 3924 - var0.orientation = (int)(Math.atan2((double)var3, (double)var4) * 325.949D) & 2047; - } - } else if (var0.false0) { // L: 3926 - var0.targetIndex = -1; // L: 3927 - var0.false0 = false; // L: 3928 - } - } - - if (var0.field959 != -1 && (var0.pathLength == 0 || var0.field963 > 0)) { // L: 3931 - var0.orientation = var0.field959; // L: 3932 - var0.field959 = -1; // L: 3933 - } - - var2 = var0.orientation - var0.rotation & 2047; // L: 3935 - if (var2 == 0 && var0.false0) { // L: 3936 - var0.targetIndex = -1; // L: 3937 - var0.false0 = false; // L: 3938 - } - - if (var2 != 0) { // L: 3940 - ++var0.field954; // L: 3941 - boolean var10; - if (var2 > 1024) { // L: 3942 - var0.rotation -= var0.field940; // L: 3943 - var10 = true; // L: 3944 - if (var2 < var0.field940 || var2 > 2048 - var0.field940) { // L: 3945 - var0.rotation = var0.orientation; // L: 3946 - var10 = false; // L: 3947 - } - - if (var0.idleSequence == var0.movementSequence && (var0.field954 > 25 || var10)) { // L: 3949 - if (var0.turnLeftSequence != -1) { // L: 3950 - var0.movementSequence = var0.turnLeftSequence; - } else { - var0.movementSequence = var0.walkSequence; // L: 3951 - } - } - } else { - var0.rotation += var0.field940; // L: 3955 - var10 = true; // L: 3956 - if (var2 < var0.field940 || var2 > 2048 - var0.field940) { // L: 3957 - var0.rotation = var0.orientation; // L: 3958 - var10 = false; // L: 3959 - } - - if (var0.movementSequence == var0.idleSequence && (var0.field954 > 25 || var10)) { // L: 3961 - if (var0.turnRightSequence != -1) { // L: 3962 - var0.movementSequence = var0.turnRightSequence; - } else { - var0.movementSequence = var0.walkSequence; // L: 3963 - } - } - } - - var0.rotation &= 2047; // L: 3967 - } else { - var0.field954 = 0; // L: 3969 - } - } - - SceneTilePaint.method3154(var0); // L: 3971 - } // L: 3972 - - @ObfuscatedName("ik") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIZI)V", - garbageValue = "-1609914367" - ) - @Export("insertMenuItem") - static final void insertMenuItem(String var0, String var1, int var2, int var3, int var4, int var5, boolean var6) { - if (!Client.isMenuOpen) { // L: 8510 - if (Client.menuOptionsCount < 500) { // L: 8511 - Client.menuActions[Client.menuOptionsCount] = var0; // L: 8512 - Client.menuTargets[Client.menuOptionsCount] = var1; // L: 8513 - Client.menuOpcodes[Client.menuOptionsCount] = var2; // L: 8514 - Client.menuIdentifiers[Client.menuOptionsCount] = var3; // L: 8515 - Client.menuArguments1[Client.menuOptionsCount] = var4; // L: 8516 - Client.menuArguments2[Client.menuOptionsCount] = var5; // L: 8517 - Client.menuShiftClick[Client.menuOptionsCount] = var6; // L: 8518 - ++Client.menuOptionsCount; // L: 8519 - } - - } - } // L: 8521 + } } diff --git a/runescape-client/src/main/java/WorldMapIcon_0.java b/runescape-client/src/main/java/WorldMapIcon_0.java index db0a26b259..f007819b59 100644 --- a/runescape-client/src/main/java/WorldMapIcon_0.java +++ b/runescape-client/src/main/java/WorldMapIcon_0.java @@ -3,155 +3,167 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("aj") +@ObfuscatedName("am") @Implements("WorldMapIcon_0") public class WorldMapIcon_0 extends AbstractWorldMapIcon { - @ObfuscatedName("sv") - @ObfuscatedSignature( - descriptor = "Liz;" - ) - public static class248 field148; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -2114229287 - ) - static int field146; - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "Llu;" - ) - @Export("rasterProvider") - public static AbstractRasterProvider rasterProvider; - @ObfuscatedName("az") - @Export("client") - @ObfuscatedSignature( - descriptor = "Lclient;" - ) - static Client client; - @ObfuscatedName("gk") - @Export("regionLandArchives") - static byte[][] regionLandArchives; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 660088057 - ) - @Export("element") - final int element; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lah;" - ) - @Export("label") - final WorldMapLabel label; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1542772613 - ) - @Export("subWidth") - final int subWidth; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 112630785 - ) - @Export("subHeight") - final int subHeight; + @ObfuscatedName("ae") + @Export("fontHelvetica13") + static java.awt.Font fontHelvetica13; + @ObfuscatedName("dv") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive2") + static Archive archive2; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 309353729 + ) + @Export("element") + final int element; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Laa;" + ) + @Export("label") + final WorldMapLabel label; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1945919631 + ) + @Export("subWidth") + final int subWidth; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1219873699 + ) + @Export("subHeight") + final int subHeight; - @ObfuscatedSignature( - descriptor = "(Lhs;Lhs;ILah;)V" - ) - WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { - super(var1, var2); // L: 14 - this.element = var3; // L: 15 - this.label = var4; // L: 16 - WorldMapElement var5 = UserComparator10.WorldMapElement_get(this.getElement()); // L: 17 - SpritePixels var6 = var5.getSpriteBool(false); // L: 18 - if (var6 != null) { // L: 19 - this.subWidth = var6.subWidth; // L: 20 - this.subHeight = var6.subHeight; // L: 21 - } else { - this.subWidth = 0; // L: 24 - this.subHeight = 0; // L: 25 - } + @ObfuscatedSignature( + descriptor = "(Lhd;Lhd;ILaa;)V" + ) + WorldMapIcon_0(Coord var1, Coord var2, int var3, WorldMapLabel var4) { + super(var1, var2); + this.element = var3; + this.label = var4; + WorldMapElement var5 = InvDefinition.WorldMapElement_get(this.getElement()); + SpritePixels var6 = var5.getSpriteBool(false); + if (var6 != null) { + this.subWidth = var6.subWidth; + this.subHeight = var6.subHeight; + } else { + this.subWidth = 0; + this.subHeight = 0; + } - } // L: 27 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-359753179" - ) - @Export("getElement") - public int getElement() { - return this.element; // L: 30 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "7" + ) + @Export("getElement") + public int getElement() { + return this.element; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Lah;", - garbageValue = "1889474780" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; // L: 34 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(S)Laa;", + garbageValue = "31041" + ) + @Export("getLabel") + WorldMapLabel getLabel() { + return this.label; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-79" - ) - @Export("getSubWidth") - int getSubWidth() { - return this.subWidth; // L: 38 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-413607837" + ) + @Export("getSubWidth") + int getSubWidth() { + return this.subWidth; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1082591682" - ) - @Export("getSubHeight") - int getSubHeight() { - return this.subHeight; // L: 42 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1875187157" + ) + @Export("getSubHeight") + int getSubHeight() { + return this.subHeight; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Ljd;", - garbageValue = "-1562808952" - ) - @Export("getNpcDefinition") - public static NPCComposition getNpcDefinition(int var0) { - NPCComposition var1 = (NPCComposition) NPCComposition.NpcDefinition_cached.get((long)var0); // L: 62 - if (var1 != null) { // L: 63 - return var1; - } else { - byte[] var2 = NPCComposition.NpcDefinition_archive.takeFile(9, var0); // L: 64 - var1 = new NPCComposition(); // L: 65 - var1.id = var0; // L: 66 - if (var2 != null) { // L: 67 - var1.decode(new Buffer(var2)); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-344987914" + ) + static int method286() { + return 12; + } - var1.postDecode(); // L: 68 - NPCComposition.NpcDefinition_cached.put(var1, (long)var0); // L: 69 - return var1; // L: 70 - } - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(Lhz;II)V", + garbageValue = "18479210" + ) + @Export("Widget_setKeyIgnoreHeld") + static final void Widget_setKeyIgnoreHeld(Widget var0, int var1) { + if (var0.field2668 == null) { + throw new RuntimeException(); + } else { + if (var0.field2660 == null) { + var0.field2660 = new int[var0.field2668.length]; + } - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(IZII)V", - garbageValue = "1525295907" - ) - public static final void method270(int var0, boolean var1, int var2) { - if (var0 >= 8000 && var0 <= 48000) { // L: 49 - PcmPlayer.field1443 = var0; // L: 50 - PcmPlayer.PcmPlayer_stereo = var1; // L: 51 - PcmPlayer.field1424 = var2; // L: 52 - } else { - throw new IllegalArgumentException(); - } - } // L: 53 + var0.field2660[var1] = Integer.MAX_VALUE; + } + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1727285517" + ) + static int method285(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.CAM_FORCEANGLE) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (!Client.isCameraLocked) { + Client.camAngleX = var3; + Client.camAngleY = var4; + } + + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_XA) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETANGLE_YA) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CAM_SETFOLLOWHEIGHT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var3 < 0) { + var3 = 0; + } + + Client.camFollowHeight = var3; + return 1; + } else if (var0 == ScriptOpcodes.CAM_GETFOLLOWHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.camFollowHeight; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/WorldMapIcon_1.java b/runescape-client/src/main/java/WorldMapIcon_1.java index 038bf382bb..938b3253d3 100644 --- a/runescape-client/src/main/java/WorldMapIcon_1.java +++ b/runescape-client/src/main/java/WorldMapIcon_1.java @@ -3,304 +3,1017 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ae") +@ObfuscatedName("at") @Implements("WorldMapIcon_1") public class WorldMapIcon_1 extends AbstractWorldMapIcon { - @ObfuscatedName("pv") - @Export("ClanChat_inClanChat") - static boolean ClanChat_inClanChat; - @ObfuscatedName("cf") - public static char field200; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1040342565 - ) - @Export("objectDefId") - final int objectDefId; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lam;" - ) - @Export("region") - final WorldMapRegion region; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1070346919 - ) - @Export("element") - int element; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lah;" - ) - @Export("label") - WorldMapLabel label; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 807187901 - ) - @Export("subWidth") - int subWidth; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1506081143 - ) - @Export("subHeight") - int subHeight; + @ObfuscatedName("nt") + @ObfuscatedGetter( + intValue = 92186385 + ) + static int field218; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -197408887 + ) + @Export("objectDefId") + final int objectDefId; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Las;" + ) + @Export("region") + final WorldMapRegion region; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1040980621 + ) + @Export("element") + int element; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Laa;" + ) + @Export("label") + WorldMapLabel label; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1242494149 + ) + @Export("subWidth") + int subWidth; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1347635285 + ) + @Export("subHeight") + int subHeight; - @ObfuscatedSignature( - descriptor = "(Lhs;Lhs;ILam;)V" - ) - WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { - super(var1, var2); // L: 17 - this.objectDefId = var3; // L: 18 - this.region = var4; // L: 19 - this.init(); // L: 20 - } // L: 21 + @ObfuscatedSignature( + descriptor = "(Lhd;Lhd;ILas;)V" + ) + WorldMapIcon_1(Coord var1, Coord var2, int var3, WorldMapRegion var4) { + super(var1, var2); + this.objectDefId = var3; + this.region = var4; + this.init(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-359753179" - ) - @Export("getElement") - public int getElement() { - return this.element; // L: 39 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "7" + ) + @Export("getElement") + public int getElement() { + return this.element; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Lah;", - garbageValue = "1889474780" - ) - @Export("getLabel") - WorldMapLabel getLabel() { - return this.label; // L: 43 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(S)Laa;", + garbageValue = "31041" + ) + @Export("getLabel") + WorldMapLabel getLabel() { + return this.label; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)I", - garbageValue = "-79" - ) - @Export("getSubWidth") - int getSubWidth() { - return this.subWidth; // L: 47 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-413607837" + ) + @Export("getSubWidth") + int getSubWidth() { + return this.subWidth; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1082591682" - ) - @Export("getSubHeight") - int getSubHeight() { - return this.subHeight; // L: 51 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-1875187157" + ) + @Export("getSubHeight") + int getSubHeight() { + return this.subHeight; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1102738521" - ) - @Export("init") - void init() { - this.element = WorldMapDecoration.getObjectDefinition(this.objectDefId).transform().mapIconId; // L: 24 - this.label = this.region.createMapLabel(UserComparator10.WorldMapElement_get(this.element)); // L: 25 - WorldMapElement var1 = UserComparator10.WorldMapElement_get(this.getElement()); // L: 26 - SpritePixels var2 = var1.getSpriteBool(false); // L: 27 - if (var2 != null) { // L: 28 - this.subWidth = var2.subWidth; // L: 29 - this.subHeight = var2.subHeight; // L: 30 - } else { - this.subWidth = 0; // L: 33 - this.subHeight = 0; // L: 34 - } + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-551497433" + ) + @Export("init") + void init() { + this.element = WorldMapAreaData.getObjectDefinition(this.objectDefId).transform().mapIconId; + this.label = this.region.createMapLabel(InvDefinition.WorldMapElement_get(this.element)); + WorldMapElement var1 = InvDefinition.WorldMapElement_get(this.getElement()); + SpritePixels var2 = var1.getSpriteBool(false); + if (var2 != null) { + this.subWidth = var2.subWidth; + this.subHeight = var2.subHeight; + } else { + this.subWidth = 0; + this.subHeight = 0; + } - } // L: 36 + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "14" - ) - static void method354() { - if (TaskHandler.javaVendor.toLowerCase().indexOf("microsoft") != -1) { // L: 119 - KeyHandler.KeyHandler_keyCodes[186] = 57; - KeyHandler.KeyHandler_keyCodes[187] = 27; - KeyHandler.KeyHandler_keyCodes[188] = 71; - KeyHandler.KeyHandler_keyCodes[189] = 26; - KeyHandler.KeyHandler_keyCodes[190] = 72; - KeyHandler.KeyHandler_keyCodes[191] = 73; - KeyHandler.KeyHandler_keyCodes[192] = 58; - KeyHandler.KeyHandler_keyCodes[219] = 42; // L: 127 - KeyHandler.KeyHandler_keyCodes[220] = 74; - KeyHandler.KeyHandler_keyCodes[221] = 43; // L: 129 - KeyHandler.KeyHandler_keyCodes[222] = 59; // L: 130 - KeyHandler.KeyHandler_keyCodes[223] = 28; // L: 131 - } else { - KeyHandler.KeyHandler_keyCodes[44] = 71; // L: 134 - KeyHandler.KeyHandler_keyCodes[45] = 26; // L: 135 - KeyHandler.KeyHandler_keyCodes[46] = 72; // L: 136 - KeyHandler.KeyHandler_keyCodes[47] = 73; // L: 137 - KeyHandler.KeyHandler_keyCodes[59] = 57; // L: 138 - KeyHandler.KeyHandler_keyCodes[61] = 27; // L: 139 - KeyHandler.KeyHandler_keyCodes[91] = 42; // L: 140 - KeyHandler.KeyHandler_keyCodes[92] = 74; // L: 141 - KeyHandler.KeyHandler_keyCodes[93] = 43; // L: 142 - KeyHandler.KeyHandler_keyCodes[192] = 28; // L: 143 - KeyHandler.KeyHandler_keyCodes[222] = 58; // L: 144 - KeyHandler.KeyHandler_keyCodes[520] = 59; // L: 145 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Le;", + garbageValue = "-2092634459" + ) + public static class7[] method376() { + return new class7[]{class7.field41}; + } - } // L: 147 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "1961749617" + ) + public static void method377(int var0, int var1) { + VarbitComposition var2 = Tiles.method1219(var0); + int var3 = var2.baseVar; + int var4 = var2.startBit; + int var5 = var2.endBit; + int var6 = Varps.Varps_masks[var5 - var4]; + if (var1 < 0 || var1 > var6) { + var1 = 0; + } - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "982246175" - ) - public static boolean method355() { - try { - if (class206.musicPlayerStatus == 2) { // L: 102 - if (FileSystem.musicTrack == null) { // L: 103 - FileSystem.musicTrack = MusicTrack.readTrack(Varps.musicTrackArchive, HealthBarUpdate.musicTrackGroupId, class206.musicTrackFileId); // L: 104 - if (FileSystem.musicTrack == null) { // L: 105 - return false; - } - } + var6 <<= var4; + Varps.Varps_main[var3] = Varps.Varps_main[var3] & ~var6 | var1 << var4 & var6; + } - if (class206.soundCache == null) { // L: 107 - class206.soundCache = new SoundCache(class206.soundEffectsArchive, class206.musicSamplesArchive); - } + @ObfuscatedName("gq") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZI)V", + garbageValue = "1521238081" + ) + @Export("drawLoadingMessage") + static final void drawLoadingMessage(String var0, boolean var1) { + if (Client.showLoadingMessages) { + byte var2 = 4; + int var3 = var2 + 6; + int var4 = var2 + 6; + int var5 = Login.fontPlain12.lineWidth(var0, 250); + int var6 = Login.fontPlain12.lineCount(var0, 250) * 13; + Rasterizer2D.Rasterizer2D_fillRectangle(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var2 + var6, 0); + Rasterizer2D.Rasterizer2D_drawRectangle(var3 - var2, var4 - var2, var5 + var2 + var2, var6 + var2 + var2, 16777215); + Login.fontPlain12.drawLines(var0, var3, var4, var5, var6, 16777215, -1, 1, 1, 0); + Projectile.method2262(var3 - var2, var4 - var2, var2 + var5 + var2, var2 + var2 + var6); + if (var1) { + FileSystem.rasterProvider.drawFull(0, 0); + } else { + int var7 = var3; + int var8 = var4; + int var9 = var5; + int var10 = var6; - if (class206.midiPcmStream.loadMusicTrack(FileSystem.musicTrack, class206.musicPatchesArchive, class206.soundCache, 22050)) { // L: 108 - class206.midiPcmStream.clearAll(); // L: 109 - class206.midiPcmStream.setPcmStreamVolume(GrandExchangeEvent.musicTrackVolume); // L: 110 - class206.midiPcmStream.setMusicTrack(FileSystem.musicTrack, class231.musicTrackBoolean); // L: 111 - class206.musicPlayerStatus = 0; // L: 112 - FileSystem.musicTrack = null; // L: 113 - class206.soundCache = null; // L: 114 - Varps.musicTrackArchive = null; // L: 115 - return true; // L: 116 - } - } - } catch (Exception var1) { // L: 120 - var1.printStackTrace(); // L: 121 - class206.midiPcmStream.clear(); // L: 122 - class206.musicPlayerStatus = 0; // L: 123 - FileSystem.musicTrack = null; // L: 124 - class206.soundCache = null; // L: 125 - Varps.musicTrackArchive = null; // L: 126 - } + for(int var11 = 0; var11 < Client.rootWidgetCount; ++var11) { + if (Client.rootWidgetXs[var11] + Client.rootWidgetWidths[var11] > var7 && Client.rootWidgetXs[var11] < var9 + var7 && Client.rootWidgetYs[var11] + Client.rootWidgetHeights[var11] > var8 && Client.rootWidgetYs[var11] < var10 + var8) { + Client.field827[var11] = true; + } + } + } - return false; // L: 128 - } + } + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "620552386" - ) - public static void method339() { - NPCComposition.NpcDefinition_cached.clear(); // L: 285 - NPCComposition.NpcDefinition_cachedModels.clear(); // L: 286 - } // L: 287 + @ObfuscatedName("he") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1982809553" + ) + static final void method375() { + HealthBar.method2166(false); + Client.field785 = 0; + boolean var0 = true; - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1021880804" - ) - static int method336(int var0, Script var1, boolean var2) { - Widget var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1215 - if (var0 == ScriptOpcodes.IF_GETSCROLLX) { // L: 1216 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollX; // L: 1217 - return 1; // L: 1218 - } else if (var0 == ScriptOpcodes.IF_GETSCROLLY) { // L: 1220 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollY; // L: 1221 - return 1; // L: 1222 - } else if (var0 == ScriptOpcodes.IF_GETTEXT) { // L: 1224 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; // L: 1225 - return 1; // L: 1226 - } else if (var0 == ScriptOpcodes.IF_GETSCROLLWIDTH) { // L: 1228 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollWidth; // L: 1229 - return 1; // L: 1230 - } else if (var0 == ScriptOpcodes.IF_GETSCROLLHEIGHT) { // L: 1232 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.scrollHeight; // L: 1233 - return 1; // L: 1234 - } else if (var0 == ScriptOpcodes.IF_GETMODELZOOM) { // L: 1236 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelZoom; // L: 1237 - return 1; // L: 1238 - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_X) { // L: 1240 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleX; // L: 1241 - return 1; // L: 1242 - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Z) { // L: 1244 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleZ; // L: 1245 - return 1; // L: 1246 - } else if (var0 == ScriptOpcodes.IF_GETMODELANGLE_Y) { // L: 1248 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelAngleY; // L: 1249 - return 1; // L: 1250 - } else if (var0 == ScriptOpcodes.IF_GETTRANSTOP) { // L: 1252 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.transparencyTop; // L: 1253 - return 1; // L: 1254 - } else if (var0 == ScriptOpcodes.IF_GETTRANSBOT) { // L: 1256 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.transparencyBot; // L: 1257 - return 1; // L: 1258 - } else if (var0 == ScriptOpcodes.IF_GETCOLOUR) { // L: 1260 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.color; // L: 1261 - return 1; // L: 1262 - } else if (var0 == ScriptOpcodes.IF_GETFILLCOLOUR) { // L: 1264 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.color2; // L: 1265 - return 1; // L: 1266 - } else if (var0 == ScriptOpcodes.IF_GETFILLMODE) { // L: 1268 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); // L: 1269 - return 1; // L: 1270 - } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) { // L: 1272 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; // L: 1273 - return 1; // L: 1274 - } else { - return 2; // L: 1276 - } - } + int var1; + for(var1 = 0; var1 < class2.regionLandArchives.length; ++var1) { + if (class92.regionMapArchiveIds[var1] != -1 && class2.regionLandArchives[var1] == null) { + class2.regionLandArchives[var1] = class8.archive5.takeFile(class92.regionMapArchiveIds[var1], 0); + if (class2.regionLandArchives[var1] == null) { + var0 = false; + ++Client.field785; + } + } - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(ILcs;ZS)I", - garbageValue = "255" - ) - static int method345(int var0, Script var1, boolean var2) { - Widget var5; - if (var0 == ScriptOpcodes.IF_GETINVOBJECT) { // L: 1280 - var5 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1281 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var5.itemId; // L: 1282 - return 1; // L: 1283 - } else if (var0 == ScriptOpcodes.IF_GETINVCOUNT) { // L: 1285 - var5 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1286 - if (var5.itemId != -1) { // L: 1287 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var5.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1288 - } + if (MusicPatchNode2.regionLandArchiveIds[var1] != -1 && Interpreter.regionMapArchives[var1] == null) { + Interpreter.regionMapArchives[var1] = class8.archive5.takeFileEncrypted(MusicPatchNode2.regionLandArchiveIds[var1], 0, Bounds.xteaKeys[var1]); + if (Interpreter.regionMapArchives[var1] == null) { + var0 = false; + ++Client.field785; + } + } + } - return 1; // L: 1289 - } else if (var0 == ScriptOpcodes.IF_HASSUB) { // L: 1291 - int var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1292 - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3); // L: 1293 - if (var4 != null) { // L: 1294 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1295 - } + if (!var0) { + Client.field720 = 1; + } else { + Client.field718 = 0; + var0 = true; - return 1; // L: 1296 - } else if (var0 == ScriptOpcodes.IF_GETTOP) { // L: 1298 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.rootInterface; // L: 1299 - return 1; // L: 1300 - } else { - return 2; // L: 1302 - } - } + int var4; + int var9; + int var10; + int var11; + int var13; + int var14; + int var15; + int var16; + int var17; + int var18; + int var48; + Buffer var51; + for(var1 = 0; var1 < class2.regionLandArchives.length; ++var1) { + byte[] var2 = Interpreter.regionMapArchives[var1]; + if (var2 != null) { + var48 = (class238.regions[var1] >> 8) * 64 - GrandExchangeOfferNameComparator.baseX * 64; + var4 = (class238.regions[var1] & 255) * 64 - NetCache.baseY * 64; + if (Client.isInInstance) { + var48 = 10; + var4 = 10; + } + + boolean var7 = true; + var51 = new Buffer(var2); + var9 = -1; + + label1246: + while(true) { + var10 = var51.method5704(); + if (var10 == 0) { + var0 &= var7; + break; + } + + var9 += var10; + var11 = 0; + boolean var12 = false; + + while(true) { + while(!var12) { + var13 = var51.readUShortSmart(); + if (var13 == 0) { + continue label1246; + } + + var11 += var13 - 1; + var14 = var11 & 63; + var15 = var11 >> 6 & 63; + var16 = var51.readUnsignedByte() >> 2; + var17 = var48 + var15; + var18 = var4 + var14; + if (var17 > 0 && var18 > 0 && var17 < 103 && var18 < 103) { + ObjectComposition var53 = WorldMapAreaData.getObjectDefinition(var9); + if (var16 != 22 || !Client.isLowDetail || var53.int1 != 0 || var53.interactType == 1 || var53.boolean2) { + if (!var53.needsModelFiles()) { + ++Client.field718; + var7 = false; + } + + var12 = true; + } + } + } + + var13 = var51.readUShortSmart(); + if (var13 == 0) { + break; + } + + var51.readUnsignedByte(); + } + } + } + } + + if (!var0) { + Client.field720 = 2; + } else { + if (Client.field720 != 0) { + drawLoadingMessage("Loading - please wait." + "
" + " (" + 100 + "%" + ")", true); + } + + UserComparator5.playPcmPlayers(); + MilliClock.scene.clear(); + + for(var1 = 0; var1 < 4; ++var1) { + Client.collisionMaps[var1].clear(); + } + + int var44; + for(var1 = 0; var1 < 4; ++var1) { + for(var44 = 0; var44 < 104; ++var44) { + for(var48 = 0; var48 < 104; ++var48) { + Tiles.Tiles_renderFlags[var1][var44][var48] = 0; + } + } + } + + UserComparator5.playPcmPlayers(); + class58.method939(); + var1 = class2.regionLandArchives.length; + + for(ObjectSound var54 = (ObjectSound)ObjectSound.objectSounds.last(); var54 != null; var54 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var54.stream1 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var54.stream1); + var54.stream1 = null; + } + + if (var54.stream2 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var54.stream2); + var54.stream2 = null; + } + } + + ObjectSound.objectSounds.clear(); + HealthBar.method2166(true); + int var5; + int var19; + int var20; + int var21; + int var59; + if (!Client.isInInstance) { + byte[] var45; + for(var44 = 0; var44 < var1; ++var44) { + var48 = (class238.regions[var44] >> 8) * 64 - GrandExchangeOfferNameComparator.baseX * 64; + var4 = (class238.regions[var44] & 255) * 64 - NetCache.baseY * 64; + var45 = class2.regionLandArchives[var44]; + if (var45 != null) { + UserComparator5.playPcmPlayers(); + ModelData0.method3411(var45, var48, var4, class3.field24 * 8 - 48, class39.field284 * 8 - 48, Client.collisionMaps); + } + } + + for(var44 = 0; var44 < var1; ++var44) { + var48 = (class238.regions[var44] >> 8) * 64 - GrandExchangeOfferNameComparator.baseX * 64; + var4 = (class238.regions[var44] & 255) * 64 - NetCache.baseY * 64; + var45 = class2.regionLandArchives[var44]; + if (var45 == null && class39.field284 < 800) { + UserComparator5.playPcmPlayers(); + class4.method55(var48, var4, 64, 64); + } + } + + HealthBar.method2166(true); + + for(var44 = 0; var44 < var1; ++var44) { + byte[] var3 = Interpreter.regionMapArchives[var44]; + if (var3 != null) { + var4 = (class238.regions[var44] >> 8) * 64 - GrandExchangeOfferNameComparator.baseX * 64; + var5 = (class238.regions[var44] & 255) * 64 - NetCache.baseY * 64; + UserComparator5.playPcmPlayers(); + Scene var49 = MilliClock.scene; + CollisionMap[] var50 = Client.collisionMaps; + var51 = new Buffer(var3); + var9 = -1; + + while(true) { + var10 = var51.method5704(); + if (var10 == 0) { + break; + } + + var9 += var10; + var11 = 0; + + while(true) { + var59 = var51.readUShortSmart(); + if (var59 == 0) { + break; + } + + var11 += var59 - 1; + var13 = var11 & 63; + var14 = var11 >> 6 & 63; + var15 = var11 >> 12; + var16 = var51.readUnsignedByte(); + var17 = var16 >> 2; + var18 = var16 & 3; + var19 = var4 + var14; + var20 = var13 + var5; + if (var19 > 0 && var20 > 0 && var19 < 103 && var20 < 103) { + var21 = var15; + if ((Tiles.Tiles_renderFlags[1][var19][var20] & 2) == 2) { + var21 = var15 - 1; + } + + CollisionMap var52 = null; + if (var21 >= 0) { + var52 = var50[var21]; + } + + GameEngine.method1134(var15, var19, var20, var9, var18, var17, var49, var52); + } + } + } + } + } + } + + int var6; + int var8; + int var58; + if (Client.isInInstance) { + for(var44 = 0; var44 < 4; ++var44) { + UserComparator5.playPcmPlayers(); + + for(var48 = 0; var48 < 13; ++var48) { + for(var4 = 0; var4 < 13; ++var4) { + boolean var57 = false; + var6 = Client.instanceChunkTemplates[var44][var48][var4]; + if (var6 != -1) { + var58 = var6 >> 24 & 3; + var8 = var6 >> 1 & 3; + var9 = var6 >> 14 & 1023; + var10 = var6 >> 3 & 2047; + var11 = (var9 / 8 << 8) + var10 / 8; + + for(var59 = 0; var59 < class238.regions.length; ++var59) { + if (class238.regions[var59] == var11 && class2.regionLandArchives[var59] != null) { + WorldMapManager.method749(class2.regionLandArchives[var59], var44, var48 * 8, var4 * 8, var58, (var9 & 7) * 8, (var10 & 7) * 8, var8, Client.collisionMaps); + var57 = true; + break; + } + } + } + + if (!var57) { + var58 = var44; + var8 = var48 * 8; + var9 = var4 * 8; + + for(var10 = 0; var10 < 8; ++var10) { + for(var11 = 0; var11 < 8; ++var11) { + Tiles.Tiles_heights[var58][var10 + var8][var11 + var9] = 0; + } + } + + if (var8 > 0) { + for(var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var58][var8][var10 + var9] = Tiles.Tiles_heights[var58][var8 - 1][var10 + var9]; + } + } + + if (var9 > 0) { + for(var10 = 1; var10 < 8; ++var10) { + Tiles.Tiles_heights[var58][var10 + var8][var9] = Tiles.Tiles_heights[var58][var10 + var8][var9 - 1]; + } + } + + if (var8 > 0 && Tiles.Tiles_heights[var58][var8 - 1][var9] != 0) { + Tiles.Tiles_heights[var58][var8][var9] = Tiles.Tiles_heights[var58][var8 - 1][var9]; + } else if (var9 > 0 && Tiles.Tiles_heights[var58][var8][var9 - 1] != 0) { + Tiles.Tiles_heights[var58][var8][var9] = Tiles.Tiles_heights[var58][var8][var9 - 1]; + } else if (var8 > 0 && var9 > 0 && Tiles.Tiles_heights[var58][var8 - 1][var9 - 1] != 0) { + Tiles.Tiles_heights[var58][var8][var9] = Tiles.Tiles_heights[var58][var8 - 1][var9 - 1]; + } + } + } + } + } + + for(var44 = 0; var44 < 13; ++var44) { + for(var48 = 0; var48 < 13; ++var48) { + var4 = Client.instanceChunkTemplates[0][var44][var48]; + if (var4 == -1) { + class4.method55(var44 * 8, var48 * 8, 8, 8); + } + } + } + + HealthBar.method2166(true); + + for(var44 = 0; var44 < 4; ++var44) { + UserComparator5.playPcmPlayers(); + + for(var48 = 0; var48 < 13; ++var48) { + for(var4 = 0; var4 < 13; ++var4) { + var5 = Client.instanceChunkTemplates[var44][var48][var4]; + if (var5 != -1) { + var6 = var5 >> 24 & 3; + var58 = var5 >> 1 & 3; + var8 = var5 >> 14 & 1023; + var9 = var5 >> 3 & 2047; + var10 = (var8 / 8 << 8) + var9 / 8; + + for(var11 = 0; var11 < class238.regions.length; ++var11) { + if (class238.regions[var11] == var10 && Interpreter.regionMapArchives[var11] != null) { + WorldMapSection0.method310(Interpreter.regionMapArchives[var11], var44, var48 * 8, var4 * 8, var6, (var8 & 7) * 8, (var9 & 7) * 8, var58, MilliClock.scene, Client.collisionMaps); + break; + } + } + } + } + } + } + } + + HealthBar.method2166(true); + UserComparator5.playPcmPlayers(); + Scene var55 = MilliClock.scene; + CollisionMap[] var56 = Client.collisionMaps; + + for(var4 = 0; var4 < 4; ++var4) { + for(var5 = 0; var5 < 104; ++var5) { + for(var6 = 0; var6 < 104; ++var6) { + if ((Tiles.Tiles_renderFlags[var4][var5][var6] & 1) == 1) { + var58 = var4; + if ((Tiles.Tiles_renderFlags[1][var5][var6] & 2) == 2) { + var58 = var4 - 1; + } + + if (var58 >= 0) { + var56[var58].setBlockedByFloor(var5, var6); + } + } + } + } + } + + Tiles.field518 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field518 < -8) { + Tiles.field518 = -8; + } + + if (Tiles.field518 > 8) { + Tiles.field518 = 8; + } + + Tiles.field528 += (int)(Math.random() * 5.0D) - 2; + if (Tiles.field528 < -16) { + Tiles.field528 = -16; + } + + if (Tiles.field528 > 16) { + Tiles.field528 = 16; + } + + for(var4 = 0; var4 < 4; ++var4) { + byte[][] var63 = TaskHandler.field2045[var4]; + var11 = (int)Math.sqrt(5100.0D); + var59 = var11 * 768 >> 8; + + int var22; + for(var13 = 1; var13 < 103; ++var13) { + for(var14 = 1; var14 < 103; ++var14) { + var15 = Tiles.Tiles_heights[var4][var14 + 1][var13] - Tiles.Tiles_heights[var4][var14 - 1][var13]; + var16 = Tiles.Tiles_heights[var4][var14][var13 + 1] - Tiles.Tiles_heights[var4][var14][var13 - 1]; + var17 = (int)Math.sqrt((double)(var16 * var16 + var15 * var15 + 65536)); + var18 = (var15 << 8) / var17; + var19 = 65536 / var17; + var20 = (var16 << 8) / var17; + var21 = (var18 * -50 + var20 * -50 + var19 * -10) / var59 + 96; + var22 = (var63[var14 - 1][var13] >> 2) + (var63[var14][var13 - 1] >> 2) + (var63[var14 + 1][var13] >> 3) + (var63[var14][var13 + 1] >> 3) + (var63[var14][var13] >> 1); + WorldMapSprite.field257[var14][var13] = var21 - var22; + } + } + + for(var13 = 0; var13 < 104; ++var13) { + GrandExchangeOfferAgeComparator.Tiles_hue[var13] = 0; + Tiles.Tiles_saturation[var13] = 0; + WorldMapLabel.Tiles_lightness[var13] = 0; + TaskHandler.Tiles_hueMultiplier[var13] = 0; + WorldMapID.field292[var13] = 0; + } + + for(var13 = -5; var13 < 109; ++var13) { + for(var14 = 0; var14 < 104; ++var14) { + var15 = var13 + 5; + if (var15 >= 0 && var15 < 104) { + var16 = Tiles.field517[var4][var15][var14] & 255; + if (var16 > 0) { + FloorUnderlayDefinition var46 = class51.method876(var16 - 1); + GrandExchangeOfferAgeComparator.Tiles_hue[var14] += var46.hue; + Tiles.Tiles_saturation[var14] += var46.saturation; + WorldMapLabel.Tiles_lightness[var14] += var46.lightness; + TaskHandler.Tiles_hueMultiplier[var14] += var46.hueMultiplier; + ++WorldMapID.field292[var14]; + } + } + + var16 = var13 - 5; + if (var16 >= 0 && var16 < 104) { + var17 = Tiles.field517[var4][var16][var14] & 255; + if (var17 > 0) { + FloorUnderlayDefinition var47 = class51.method876(var17 - 1); + GrandExchangeOfferAgeComparator.Tiles_hue[var14] -= var47.hue; + Tiles.Tiles_saturation[var14] -= var47.saturation; + WorldMapLabel.Tiles_lightness[var14] -= var47.lightness; + TaskHandler.Tiles_hueMultiplier[var14] -= var47.hueMultiplier; + --WorldMapID.field292[var14]; + } + } + } + + if (var13 >= 1 && var13 < 103) { + var14 = 0; + var15 = 0; + var16 = 0; + var17 = 0; + var18 = 0; + + for(var19 = -5; var19 < 109; ++var19) { + var20 = var19 + 5; + if (var20 >= 0 && var20 < 104) { + var14 += GrandExchangeOfferAgeComparator.Tiles_hue[var20]; + var15 += Tiles.Tiles_saturation[var20]; + var16 += WorldMapLabel.Tiles_lightness[var20]; + var17 += TaskHandler.Tiles_hueMultiplier[var20]; + var18 += WorldMapID.field292[var20]; + } + + var21 = var19 - 5; + if (var21 >= 0 && var21 < 104) { + var14 -= GrandExchangeOfferAgeComparator.Tiles_hue[var21]; + var15 -= Tiles.Tiles_saturation[var21]; + var16 -= WorldMapLabel.Tiles_lightness[var21]; + var17 -= TaskHandler.Tiles_hueMultiplier[var21]; + var18 -= WorldMapID.field292[var21]; + } + + if (var19 >= 1 && var19 < 103 && (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var13][var19] & 2) != 0 || (Tiles.Tiles_renderFlags[var4][var13][var19] & 16) == 0)) { + if (var4 < Tiles.Tiles_minPlane) { + Tiles.Tiles_minPlane = var4; + } + + var22 = Tiles.field517[var4][var13][var19] & 255; + int var23 = class200.field2399[var4][var13][var19] & 255; + if (var22 > 0 || var23 > 0) { + int var24 = Tiles.Tiles_heights[var4][var13][var19]; + int var25 = Tiles.Tiles_heights[var4][var13 + 1][var19]; + int var26 = Tiles.Tiles_heights[var4][var13 + 1][var19 + 1]; + int var27 = Tiles.Tiles_heights[var4][var13][var19 + 1]; + int var28 = WorldMapSprite.field257[var13][var19]; + int var29 = WorldMapSprite.field257[var13 + 1][var19]; + int var30 = WorldMapSprite.field257[var13 + 1][var19 + 1]; + int var31 = WorldMapSprite.field257[var13][var19 + 1]; + int var32 = -1; + int var33 = -1; + int var34; + int var35; + if (var22 > 0) { + var34 = var14 * 256 / var17; + var35 = var15 / var18; + int var36 = var16 / var18; + var32 = Interpreter.hslToRgb(var34, var35, var36); + var34 = var34 + Tiles.field518 & 255; + var36 += Tiles.field528; + if (var36 < 0) { + var36 = 0; + } else if (var36 > 255) { + var36 = 255; + } + + var33 = Interpreter.hslToRgb(var34, var35, var36); + } + + if (var4 > 0) { + boolean var61 = true; + if (var22 == 0 && Tiles.field530[var4][var13][var19] != 0) { + var61 = false; + } + + if (var23 > 0 && !WallDecoration.method3449(var23 - 1).hideUnderlay) { + var61 = false; + } + + if (var61 && var24 == var25 && var24 == var26 && var27 == var24) { + class2.field12[var4][var13][var19] |= 2340; + } + } + + var34 = 0; + if (var33 != -1) { + var34 = Rasterizer3D.Rasterizer3D_colorPalette[GameObject.method3451(var33, 96)]; + } + + if (var23 == 0) { + var55.addTile(var4, var13, var19, 0, 0, -1, var24, var25, var26, var27, GameObject.method3451(var32, var28), GameObject.method3451(var32, var29), GameObject.method3451(var32, var30), GameObject.method3451(var32, var31), 0, 0, 0, 0, var34, 0); + } else { + var35 = Tiles.field530[var4][var13][var19] + 1; + byte var62 = class1.field1[var4][var13][var19]; + FloorOverlayDefinition var37 = WallDecoration.method3449(var23 - 1); + int var38 = var37.texture; + int var39; + int var40; + int var41; + int var42; + if (var38 >= 0) { + var40 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var38); + var39 = -1; + } else if (var37.primaryRgb == 16711935) { + var39 = -2; + var38 = -1; + var40 = -2; + } else { + var39 = Interpreter.hslToRgb(var37.hue, var37.saturation, var37.lightness); + var41 = var37.hue + Tiles.field518 & 255; + var42 = var37.lightness + Tiles.field528; + if (var42 < 0) { + var42 = 0; + } else if (var42 > 255) { + var42 = 255; + } + + var40 = Interpreter.hslToRgb(var41, var37.saturation, var42); + } + + var41 = 0; + if (var40 != -2) { + var41 = Rasterizer3D.Rasterizer3D_colorPalette[SecureRandomCallable.method1226(var40, 96)]; + } + + if (var37.secondaryRgb != -1) { + var42 = var37.secondaryHue + Tiles.field518 & 255; + int var43 = var37.secondaryLightness + Tiles.field528; + if (var43 < 0) { + var43 = 0; + } else if (var43 > 255) { + var43 = 255; + } + + var40 = Interpreter.hslToRgb(var42, var37.secondarySaturation, var43); + var41 = Rasterizer3D.Rasterizer3D_colorPalette[SecureRandomCallable.method1226(var40, 96)]; + } + + var55.addTile(var4, var13, var19, var35, var62, var38, var24, var25, var26, var27, GameObject.method3451(var32, var28), GameObject.method3451(var32, var29), GameObject.method3451(var32, var30), GameObject.method3451(var32, var31), SecureRandomCallable.method1226(var39, var28), SecureRandomCallable.method1226(var39, var29), SecureRandomCallable.method1226(var39, var30), SecureRandomCallable.method1226(var39, var31), var34, var41); + } + } + } + } + } + } + + for(var13 = 1; var13 < 103; ++var13) { + for(var14 = 1; var14 < 103; ++var14) { + var55.setTileMinPlane(var4, var14, var13, WorldMapData_0.method250(var4, var14, var13)); + } + } + + Tiles.field517[var4] = null; + class200.field2399[var4] = null; + Tiles.field530[var4] = null; + class1.field1[var4] = null; + TaskHandler.field2045[var4] = null; + } + + var55.method3263(-50, -10, -50); + + for(var4 = 0; var4 < 104; ++var4) { + for(var5 = 0; var5 < 104; ++var5) { + if ((Tiles.Tiles_renderFlags[1][var4][var5] & 2) == 2) { + var55.setLinkBelow(var4, var5); + } + } + } + + var4 = 1; + var5 = 2; + var6 = 4; + + for(var58 = 0; var58 < 4; ++var58) { + if (var58 > 0) { + var4 <<= 3; + var5 <<= 3; + var6 <<= 3; + } + + for(var8 = 0; var8 <= var58; ++var8) { + for(var9 = 0; var9 <= 104; ++var9) { + for(var10 = 0; var10 <= 104; ++var10) { + short var60; + if ((class2.field12[var8][var10][var9] & var4) != 0) { + var11 = var9; + var59 = var9; + var13 = var8; + + for(var14 = var8; var11 > 0 && (class2.field12[var8][var10][var11 - 1] & var4) != 0; --var11) { + ; + } + + while(var59 < 104 && (class2.field12[var8][var10][var59 + 1] & var4) != 0) { + ++var59; + } + + label812: + while(var13 > 0) { + for(var15 = var11; var15 <= var59; ++var15) { + if ((class2.field12[var13 - 1][var10][var15] & var4) == 0) { + break label812; + } + } + + --var13; + } + + label801: + while(var14 < var58) { + for(var15 = var11; var15 <= var59; ++var15) { + if ((class2.field12[var14 + 1][var10][var15] & var4) == 0) { + break label801; + } + } + + ++var14; + } + + var15 = (var14 + 1 - var13) * (var59 - var11 + 1); + if (var15 >= 8) { + var60 = 240; + var17 = Tiles.Tiles_heights[var14][var10][var11] - var60; + var18 = Tiles.Tiles_heights[var13][var10][var11]; + Scene.Scene_addOccluder(var58, 1, var10 * 128, var10 * 128, var11 * 128, var59 * 128 + 128, var17, var18); + + for(var19 = var13; var19 <= var14; ++var19) { + for(var20 = var11; var20 <= var59; ++var20) { + class2.field12[var19][var10][var20] &= ~var4; + } + } + } + } + + if ((class2.field12[var8][var10][var9] & var5) != 0) { + var11 = var10; + var59 = var10; + var13 = var8; + + for(var14 = var8; var11 > 0 && (class2.field12[var8][var11 - 1][var9] & var5) != 0; --var11) { + ; + } + + while(var59 < 104 && (class2.field12[var8][var59 + 1][var9] & var5) != 0) { + ++var59; + } + + label865: + while(var13 > 0) { + for(var15 = var11; var15 <= var59; ++var15) { + if ((class2.field12[var13 - 1][var15][var9] & var5) == 0) { + break label865; + } + } + + --var13; + } + + label854: + while(var14 < var58) { + for(var15 = var11; var15 <= var59; ++var15) { + if ((class2.field12[var14 + 1][var15][var9] & var5) == 0) { + break label854; + } + } + + ++var14; + } + + var15 = (var59 - var11 + 1) * (var14 + 1 - var13); + if (var15 >= 8) { + var60 = 240; + var17 = Tiles.Tiles_heights[var14][var11][var9] - var60; + var18 = Tiles.Tiles_heights[var13][var11][var9]; + Scene.Scene_addOccluder(var58, 2, var11 * 128, var59 * 128 + 128, var9 * 128, var9 * 128, var17, var18); + + for(var19 = var13; var19 <= var14; ++var19) { + for(var20 = var11; var20 <= var59; ++var20) { + class2.field12[var19][var20][var9] &= ~var5; + } + } + } + } + + if ((class2.field12[var8][var10][var9] & var6) != 0) { + var11 = var10; + var59 = var10; + var13 = var9; + + for(var14 = var9; var13 > 0 && (class2.field12[var8][var10][var13 - 1] & var6) != 0; --var13) { + ; + } + + while(var14 < 104 && (class2.field12[var8][var10][var14 + 1] & var6) != 0) { + ++var14; + } + + label918: + while(var11 > 0) { + for(var15 = var13; var15 <= var14; ++var15) { + if ((class2.field12[var8][var11 - 1][var15] & var6) == 0) { + break label918; + } + } + + --var11; + } + + label907: + while(var59 < 104) { + for(var15 = var13; var15 <= var14; ++var15) { + if ((class2.field12[var8][var59 + 1][var15] & var6) == 0) { + break label907; + } + } + + ++var59; + } + + if ((var14 - var13 + 1) * (var59 - var11 + 1) >= 4) { + var15 = Tiles.Tiles_heights[var8][var11][var13]; + Scene.Scene_addOccluder(var58, 4, var11 * 128, var59 * 128 + 128, var13 * 128, var14 * 128 + 128, var15, var15); + + for(var16 = var11; var16 <= var59; ++var16) { + for(var17 = var13; var17 <= var14; ++var17) { + class2.field12[var8][var16][var17] &= ~var6; + } + } + } + } + } + } + } + } + + HealthBar.method2166(true); + var4 = Tiles.Tiles_minPlane; + if (var4 > class90.Client_plane) { + var4 = class90.Client_plane; + } + + if (var4 < class90.Client_plane - 1) { + var4 = class90.Client_plane - 1; + } + + if (Client.isLowDetail) { + MilliClock.scene.init(Tiles.Tiles_minPlane); + } else { + MilliClock.scene.init(0); + } + + for(var5 = 0; var5 < 104; ++var5) { + for(var6 = 0; var6 < 104; ++var6) { + HitSplatDefinition.updateItemPile(var5, var6); + } + } + + UserComparator5.playPcmPlayers(); + + for(PendingSpawn var64 = (PendingSpawn)Client.pendingSpawns.last(); var64 != null; var64 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var64.hitpoints == -1) { + var64.delay = 0; + WorldMapElement.method4592(var64); + } else { + var64.remove(); + } + } + + ObjectComposition.ObjectDefinition_cachedModelData.clear(); + PacketBufferNode var65; + if (class1.client.hasFrame()) { + var65 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2295, Client.packetWriter.isaacCipher); + var65.packetBuffer.writeInt(1057001181); + Client.packetWriter.addNode(var65); + } + + if (!Client.isInInstance) { + var5 = (class3.field24 - 6) / 8; + var6 = (class3.field24 + 6) / 8; + var58 = (class39.field284 - 6) / 8; + var8 = (class39.field284 + 6) / 8; + + for(var9 = var5 - 1; var9 <= var6 + 1; ++var9) { + for(var10 = var58 - 1; var10 <= var8 + 1; ++var10) { + if (var9 < var5 || var9 > var6 || var10 < var58 || var10 > var8) { + class8.archive5.loadRegionFromName("m" + var9 + "_" + var10); + class8.archive5.loadRegionFromName("l" + var9 + "_" + var10); + } + } + } + } + + ItemContainer.updateGameState(30); + UserComparator5.playPcmPlayers(); + class23.method232(); + var65 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2277, Client.packetWriter.isaacCipher); + Client.packetWriter.addNode(var65); + WorldMapSprite.clock.mark(); + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.graphicsTickTimes[var6] = 0L; + } + + for(var6 = 0; var6 < 32; ++var6) { + GameEngine.clientTickTimes[var6] = 0L; + } + + VertexNormal.gameCyclesToDo = 0; + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapLabel.java b/runescape-client/src/main/java/WorldMapLabel.java index 61643d678d..e1708f42cc 100644 --- a/runescape-client/src/main/java/WorldMapLabel.java +++ b/runescape-client/src/main/java/WorldMapLabel.java @@ -4,65 +4,237 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ah") +@ObfuscatedName("aa") @Implements("WorldMapLabel") public class WorldMapLabel { - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - @Export("NetCache_reference") - public static Buffer NetCache_reference; - @ObfuscatedName("ey") - @ObfuscatedGetter( - intValue = 1487211049 - ) - static int field258; - @ObfuscatedName("fa") - @ObfuscatedSignature( - descriptor = "Lkv;" - ) - @Export("WorldMapElement_fonts") - static Fonts WorldMapElement_fonts; - @ObfuscatedName("h") - @Export("text") - String text; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1156578913 - ) - @Export("width") - int width; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 2007608325 - ) - @Export("height") - int height; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lan;" - ) - @Export("size") - WorldMapLabelSize size; + @ObfuscatedName("b") + @Export("Tiles_lightness") + static int[] Tiles_lightness; + @ObfuscatedName("n") + @Export("text") + String text; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1144128527 + ) + @Export("width") + int width; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -467317487 + ) + @Export("height") + int height; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lay;" + ) + @Export("size") + WorldMapLabelSize size; - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;IILan;)V" - ) - WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { - this.text = var1; // L: 10 - this.width = var2; // L: 11 - this.height = var3; // L: 12 - this.size = var4; // L: 13 - } // L: 14 + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;IILay;)V" + ) + WorldMapLabel(String var1, int var2, int var3, WorldMapLabelSize var4) { + this.text = var1; + this.width = var2; + this.height = var3; + this.size = var4; + } - @ObfuscatedName("li") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-13" - ) - static final void method469() { - Client.field842 = Client.cycleCntr; // L: 11016 - WorldMapIcon_1.ClanChat_inClanChat = true; // L: 11017 - } // L: 11018 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-293834504" + ) + @Export("itemContainerSetItem") + static void itemContainerSetItem(int var0, int var1, int var2, int var3) { + ItemContainer var4 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var4 == null) { + var4 = new ItemContainer(); + ItemContainer.itemContainers.put(var4, (long)var0); + } + + if (var4.ids.length <= var1) { + int[] var5 = new int[var1 + 1]; + int[] var6 = new int[var1 + 1]; + + int var7; + for(var7 = 0; var7 < var4.ids.length; ++var7) { + var5[var7] = var4.ids[var7]; + var6[var7] = var4.quantities[var7]; + } + + for(var7 = var4.ids.length; var7 < var1; ++var7) { + var5[var7] = -1; + var6[var7] = 0; + } + + var4.ids = var5; + var4.quantities = var6; + } + + var4.ids[var1] = var2; + var4.quantities[var1] = var3; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + static void method499() { + if (Login.clearLoginScreen) { + GrandExchangeOfferNameComparator.titleboxSprite = null; + InterfaceParent.titlebuttonSprite = null; + Login.runesSprite = null; + Login.leftTitleSprite = null; + Login.rightTitleSprite = null; + Login.logoSprite = null; + Login.title_muteSprite = null; + class69.options_buttons_0Sprite = null; + Login.options_buttons_2Sprite = null; + WorldMapID.worldSelectBackSprites = null; + WorldMapManager.worldSelectFlagSprites = null; + DevicePcmPlayerProvider.worldSelectArrows = null; + Occluder.worldSelectStars = null; + World.field1039 = null; + class9.loginScreenRunesAnimation.method1926(); + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = null; + class206.musicTrackGroupId = -1; + SoundSystem.musicTrackFileId = -1; + DevicePcmPlayerProvider.musicTrackVolume = 0; + class206.musicTrackBoolean = false; + class7.pcmSampleLength = 2; + Actor.method1867(true); + Login.clearLoginScreen = false; + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "2132008086" + ) + static void method501(int var0) { + ItemContainer var1 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var1 != null) { + var1.remove(); + } + } + + @ObfuscatedName("fk") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "25470" + ) + static final void method502() { + for(int var0 = 0; var0 < Client.soundEffectCount; ++var0) { + --Client.queuedSoundEffectDelays[var0]; + if (Client.queuedSoundEffectDelays[var0] >= -10) { + SoundEffect var1 = Client.soundEffects[var0]; + if (var1 == null) { + Object var10000 = null; + var1 = SoundEffect.readSoundEffect(WorldMapCacheName.archive4, Client.soundEffectIds[var0], 0); + if (var1 == null) { + continue; + } + + Client.queuedSoundEffectDelays[var0] += var1.calculateDelay(); + Client.soundEffects[var0] = var1; + } + + if (Client.queuedSoundEffectDelays[var0] < 0) { + int var2; + if (Client.soundLocations[var0] != 0) { + int var3 = (Client.soundLocations[var0] & 255) * 128; + int var4 = Client.soundLocations[var0] >> 16 & 255; + int var5 = var4 * 128 + 64 - UserComparator9.localPlayer.x; + if (var5 < 0) { + var5 = -var5; + } + + int var6 = Client.soundLocations[var0] >> 8 & 255; + int var7 = var6 * 128 + 64 - UserComparator9.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) * WorldMapSectionType.clientPreferences.areaSoundEffectsVolume / var3; + } else { + var2 = WorldMapSectionType.clientPreferences.soundEffectsVolume; + } + + if (var2 > 0) { + RawSound var9 = var1.toRawSound().resample(World.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var2); + var10.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); + VarbitComposition.pcmStreamMixer.addSubStream(var10); + } + + Client.queuedSoundEffectDelays[var0] = -100; + } + } else { + --Client.soundEffectCount; + + for(int var11 = var0; var11 < Client.soundEffectCount; ++var11) { + Client.soundEffectIds[var11] = Client.soundEffectIds[var11 + 1]; + Client.soundEffects[var11] = Client.soundEffects[var11 + 1]; + Client.queuedSoundEffectLoops[var11] = Client.queuedSoundEffectLoops[var11 + 1]; + Client.queuedSoundEffectDelays[var11] = Client.queuedSoundEffectDelays[var11 + 1]; + Client.soundLocations[var11] = Client.soundLocations[var11 + 1]; + } + + --var0; + } + } + + if (Client.field899 && !class4.method56()) { + if (WorldMapSectionType.clientPreferences.musicVolume != 0 && Client.currentTrackGroupId != -1) { + ReflectionCheck.method2450(UrlRequester.archive6, Client.currentTrackGroupId, 0, WorldMapSectionType.clientPreferences.musicVolume, false); + } + + Client.field899 = false; + } + + } + + @ObfuscatedName("ik") + @ObfuscatedSignature( + descriptor = "(IB)Ljava/lang/String;", + garbageValue = "42" + ) + static String method504(int var0) { + if (var0 < 0) { + return ""; + } else { + return Client.menuTargets[var0].length() > 0 ? Client.menuActions[var0] + " " + Client.menuTargets[var0] : Client.menuActions[var0]; + } + } + + @ObfuscatedName("js") + @ObfuscatedSignature( + descriptor = "(II)Z", + garbageValue = "1224588099" + ) + static boolean method503(int var0) { + for(int var1 = 0; var1 < Client.field885; ++var1) { + if (Client.field738[var1] == var0) { + return true; + } + } + + return false; + } } diff --git a/runescape-client/src/main/java/WorldMapLabelSize.java b/runescape-client/src/main/java/WorldMapLabelSize.java index 8725f4e7d9..659b4c6a1d 100644 --- a/runescape-client/src/main/java/WorldMapLabelSize.java +++ b/runescape-client/src/main/java/WorldMapLabelSize.java @@ -4,100 +4,217 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("an") +@ObfuscatedName("ay") @Implements("WorldMapLabelSize") public class WorldMapLabelSize { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lan;" - ) - @Export("WorldMapLabelSize_small") - public static final WorldMapLabelSize WorldMapLabelSize_small; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lan;" - ) - @Export("WorldMapLabelSize_medium") - public static final WorldMapLabelSize WorldMapLabelSize_medium; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lan;" - ) - @Export("WorldMapLabelSize_large") - public static final WorldMapLabelSize WorldMapLabelSize_large; - @ObfuscatedName("fi") - @ObfuscatedSignature( - descriptor = "Lku;" - ) - @Export("fontPlain12") - static Font fontPlain12; - @ObfuscatedName("ix") - @ObfuscatedGetter( - intValue = -36540981 - ) - @Export("selectedItemWidget") - static int selectedItemWidget; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 277822877 - ) - final int field142; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 655374697 - ) - final int field133; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1182850847 - ) - final int field135; + @ObfuscatedName("sx") + @ObfuscatedGetter( + intValue = 339414095 + ) + @Export("foundItemIndex") + static int foundItemIndex; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lay;" + ) + @Export("WorldMapLabelSize_small") + public static final WorldMapLabelSize WorldMapLabelSize_small = new WorldMapLabelSize(0, 0, 4); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lay;" + ) + @Export("WorldMapLabelSize_medium") + public static final WorldMapLabelSize WorldMapLabelSize_medium = new WorldMapLabelSize(2, 1, 2); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lay;" + ) + @Export("WorldMapLabelSize_large") + public static final WorldMapLabelSize WorldMapLabelSize_large = new WorldMapLabelSize(1, 2, 0); + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -2074270997 + ) + final int field149; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 603088885 + ) + final int field153; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 518486027 + ) + final int field154; - static { - WorldMapLabelSize_small = new WorldMapLabelSize(2, 0, 4); // L: 7 - WorldMapLabelSize_medium = new WorldMapLabelSize(1, 1, 2); // L: 8 - WorldMapLabelSize_large = new WorldMapLabelSize(0, 2, 0); // L: 9 - } + WorldMapLabelSize(int var1, int var2, int var3) { + this.field149 = var1; + this.field153 = var2; + this.field154 = var3; + } - WorldMapLabelSize(int var1, int var2, int var3) { - this.field142 = var1; // L: 15 - this.field133 = var2; // L: 16 - this.field135 = var3; // L: 17 - } // L: 18 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(FB)Z", + garbageValue = "-67" + ) + boolean method255(float var1) { + return var1 >= (float)this.field154; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(FB)Z", - garbageValue = "-7" - ) - boolean method254(float var1) { - return var1 >= (float)this.field135; // L: 21 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lay;", + garbageValue = "-2106429153" + ) + static WorldMapLabelSize[] method269() { + return new WorldMapLabelSize[]{WorldMapLabelSize_large, WorldMapLabelSize_medium, WorldMapLabelSize_small}; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "-3" - ) - @Export("hslToRgb") - static final int hslToRgb(int var0, int var1, int var2) { - if (var2 > 179) { // L: 883 - var1 /= 2; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lig;III)[Llm;", + garbageValue = "-173751595" + ) + public static SpritePixels[] method268(AbstractArchive var0, int var1, int var2) { + byte[] var4 = var0.takeFile(var1, var2); + boolean var3; + if (var4 == null) { + var3 = false; + } else { + GrandExchangeOfferNameComparator.SpriteBuffer_decode(var4); + var3 = true; + } - if (var2 > 192) { // L: 884 - var1 /= 2; - } + return !var3 ? null : BufferedSource.method6103(); + } - if (var2 > 217) { // L: 885 - var1 /= 2; - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IB)Lay;", + garbageValue = "31" + ) + static WorldMapLabelSize method266(int var0) { + WorldMapLabelSize[] var1 = method269(); - if (var2 > 243) { // L: 886 - var1 /= 2; - } + for(int var2 = 0; var2 < var1.length; ++var2) { + WorldMapLabelSize var3 = var1[var2]; + if (var0 == var3.field153) { + return var3; + } + } - int var3 = (var1 / 32 << 7) + (var0 / 4 << 10) + var2 / 2; // L: 887 - return var3; // L: 888 - } + return null; + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IIIZIZI)V", + garbageValue = "-1679154092" + ) + @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.World_worlds[var6]; + World.World_worlds[var6] = World.World_worlds[var1]; + World.World_worlds[var1] = var8; + + for(int var9 = var0; var9 < var1; ++var9) { + if (class22.method226(World.World_worlds[var9], var8, var2, var3, var4, var5) <= 0) { + World var10 = World.World_worlds[var9]; + World.World_worlds[var9] = World.World_worlds[var7]; + World.World_worlds[var7++] = var10; + } + } + + 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("bp") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)I", + garbageValue = "1534549931" + ) + @Export("stringCp1252NullTerminatedByteSize") + public static int stringCp1252NullTerminatedByteSize(String var0) { + return var0.length() + 1; + } + + @ObfuscatedName("in") + @ObfuscatedSignature( + descriptor = "(IIIIII)V", + garbageValue = "1283328511" + ) + @Export("drawScrollBar") + static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { + ObjectSound.scrollBarSprites[0].drawAt(var0, var1); + ObjectSound.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field727); + int var5 = var3 * (var3 - 32) / var4; + if (var5 < 8) { + var5 = 8; + } + + int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field777); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field730); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field730); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field730); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field730); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field729); + Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field729); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var5 + var1 + 15, 16, Client.field729); + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var6 + var5 + var1 + 14, 15, Client.field729); + } + + @ObfuscatedName("ke") + @ObfuscatedSignature( + descriptor = "(Lhz;I)Z", + garbageValue = "-490308531" + ) + static final boolean method254(Widget var0) { + int var1 = var0.contentType; + if (var1 == 205) { + Client.logoutTimer = 250; + return true; + } else { + int var2; + int var3; + if (var1 >= 300 && var1 <= 313) { + var2 = (var1 - 300) / 2; + var3 = var1 & 1; + Client.playerComposition.changeAppearance(var2, var3 == 1); + } + + if (var1 >= 314 && var1 <= 323) { + var2 = (var1 - 314) / 2; + var3 = var1 & 1; + Client.playerComposition.method4206(var2, var3 == 1); + } + + if (var1 == 324) { + Client.playerComposition.changeSex(false); + } + + if (var1 == 325) { + Client.playerComposition.changeSex(true); + } + + if (var1 == 326) { + PacketBufferNode var4 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2322, Client.packetWriter.isaacCipher); + Client.playerComposition.write(var4.packetBuffer); + Client.packetWriter.addNode(var4); + return true; + } else { + return false; + } + } + } } diff --git a/runescape-client/src/main/java/WorldMapManager.java b/runescape-client/src/main/java/WorldMapManager.java index ef61153cdf..c90d9c3b99 100644 --- a/runescape-client/src/main/java/WorldMapManager.java +++ b/runescape-client/src/main/java/WorldMapManager.java @@ -1,1084 +1,859 @@ +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.net.URL; +import java.net.URLConnection; +import java.security.SecureRandom; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; +import java.util.Random; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; @ObfuscatedName("ai") @Implements("WorldMapManager") public final class WorldMapManager { - @ObfuscatedName("qz") - @ObfuscatedSignature( - descriptor = "Lde;" - ) - @Export("pcmStreamMixer") - static PcmStreamMixer pcmStreamMixer; - @ObfuscatedName("dx") - @ObfuscatedSignature( - descriptor = "Lfd;" - ) - @Export("js5SocketTask") - static Task js5SocketTask; - @ObfuscatedName("ee") - @ObfuscatedSignature( - descriptor = "Lln;" - ) - @Export("spriteIds") - static GraphicsDefaults spriteIds; - @ObfuscatedName("h") - @Export("loaded") - boolean loaded; - @ObfuscatedName("v") - @Export("loadStarted") - boolean loadStarted; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lay;" - ) - @Export("mapAreaData") - WorldMapAreaData mapAreaData; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("compositeTextureSprite") - SpritePixels compositeTextureSpritePixels; - @ObfuscatedName("t") - @Export("icons") - HashMap icons; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "[[Lam;" - ) - @Export("regions") - WorldMapRegion[][] regions; - @ObfuscatedName("n") - @Export("scaleHandlers") - HashMap scaleHandlers; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("mapSceneSprites") - IndexedSprite[] mapSceneSprites; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("geographyArchive") - final AbstractArchive geographyArchive; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("groundArchive") - final AbstractArchive groundArchive; - @ObfuscatedName("u") - @Export("fonts") - final HashMap fonts; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = -1926509867 - ) - @Export("tileX") - int tileX; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = 631527739 - ) - @Export("tileY") - int tileY; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 1156728003 - ) - @Export("tileWidth") - int tileWidth; - @ObfuscatedName("i") - @ObfuscatedGetter( - intValue = -1535286909 - ) - @Export("tileHeight") - int tileHeight; - @ObfuscatedName("f") - @ObfuscatedGetter( - intValue = -1280315109 - ) - @Export("pixelsPerTile") - public int pixelsPerTile; - - @ObfuscatedSignature( - descriptor = "([Llo;Ljava/util/HashMap;Lib;Lib;)V" - ) - public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { - this.loaded = false; // L: 16 - this.loadStarted = false; // L: 17 - this.scaleHandlers = new HashMap(); // L: 22 - this.pixelsPerTile = 0; // L: 31 - this.mapSceneSprites = var1; // L: 34 - this.fonts = var2; // L: 35 - this.geographyArchive = var3; // L: 36 - this.groundArchive = var4; // L: 37 - } // L: 38 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Ljava/lang/String;ZI)V", - garbageValue = "1247485995" - ) - @Export("load") - public void load(AbstractArchive var1, String var2, boolean var3) { - if (!this.loadStarted) { // L: 41 - this.loaded = false; // L: 44 - this.loadStarted = true; // L: 45 - System.nanoTime(); // L: 46 - int var4 = var1.getGroupId(WorldMapCacheName.field328.name); // L: 47 - int var5 = var1.getFileId(var4, var2); // L: 48 - Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field328.name, var2)); // L: 49 - Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field326.name, var2)); // L: 50 - System.nanoTime(); // L: 51 - System.nanoTime(); // L: 52 - this.mapAreaData = new WorldMapAreaData(); // L: 53 - - try { - this.mapAreaData.init(var6, var7, var5, var3); // L: 55 - } catch (IllegalStateException var19) { // L: 57 - return; // L: 58 - } - - this.mapAreaData.getOriginX(); // L: 60 - this.mapAreaData.getOriginPlane(); // L: 61 - this.mapAreaData.getOriginY(); // L: 62 - this.tileX = this.mapAreaData.getRegionLowX() * 64; // L: 63 - this.tileY = this.mapAreaData.getRegionLowY() * 64; // L: 64 - this.tileWidth = (this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1) * 64; // L: 65 - this.tileHeight = (this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1) * 64; // L: 66 - int var16 = this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1; // L: 67 - int var9 = this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1; // L: 68 - System.nanoTime(); // L: 69 - System.nanoTime(); // L: 70 - GrandExchangeOfferNameComparator.method201(); // L: 71 - this.regions = new WorldMapRegion[var16][var9]; // L: 72 - Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); // L: 73 - - while (var10.hasNext()) { - WorldMapData_0 var11 = (WorldMapData_0)var10.next(); // L: 74 - int var12 = var11.regionX; // L: 76 - int var13 = var11.regionY; // L: 77 - int var14 = var12 - this.mapAreaData.getRegionLowX(); // L: 78 - int var15 = var13 - this.mapAreaData.getRegionLowY(); // L: 79 - this.regions[var14][var15] = new WorldMapRegion(var12, var13, this.mapAreaData.getBackGroundColor(), this.fonts); // L: 80 - this.regions[var14][var15].initWorldMapData0(var11, this.mapAreaData.iconList); // L: 81 - } - - for (int var17 = 0; var17 < var16; ++var17) { // L: 84 - for (int var18 = 0; var18 < var9; ++var18) { // L: 85 - if (this.regions[var17][var18] == null) { // L: 86 - this.regions[var17][var18] = new WorldMapRegion(this.mapAreaData.getRegionLowX() + var17, this.mapAreaData.getRegionLowY() + var18, this.mapAreaData.getBackGroundColor(), this.fonts); // L: 87 - this.regions[var17][var18].initWorldMapData1(this.mapAreaData.worldMapData1Set, this.mapAreaData.iconList); // L: 88 - } - } - } - - System.nanoTime(); // L: 92 - System.nanoTime(); // L: 93 - if (var1.isValidFileName(WorldMapCacheName.field327.name, var2)) { // L: 94 - byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field327.name, var2); // L: 95 - this.compositeTextureSpritePixels = WorldMapSection0.convertJpgToSprite(var20); // L: 96 - } - - System.nanoTime(); // L: 98 - var1.clearGroups(); - var1.clearFiles(); - this.loaded = true; - } - } // L: 42 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "54" - ) - @Export("clearIcons") - public final void clearIcons() { - this.icons = null; - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIIIIIIII)V", - garbageValue = "1886974954" - ) - @Export("drawTiles") - public final void drawTiles(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - int[] var9 = Rasterizer2D.Rasterizer2D_pixels; - int var10 = Rasterizer2D.Rasterizer2D_width; - int var11 = Rasterizer2D.Rasterizer2D_height; - int[] var12 = new int[4]; - Rasterizer2D.Rasterizer2D_getClipArray(var12); - WorldMapRectangle var13 = this.createWorldMapRectangle(var1, var2, var3, var4); - float var14 = this.getPixelsPerTile(var7 - var5, var3 - var1); - int var15 = (int)Math.ceil((double)var14); - this.pixelsPerTile = var15; - if (!this.scaleHandlers.containsKey(var15)) { - WorldMapScaleHandler var16 = new WorldMapScaleHandler(var15); - var16.init(); - this.scaleHandlers.put(var15, var16); - } - - int var23 = var13.x + var13.width - 1; - int var17 = var13.height + var13.y - 1; - - int var18; - int var19; - for (var18 = var13.x; var18 <= var23; ++var18) { - for (var19 = var13.y; var19 <= var17; ++var19) { - this.regions[var18][var19].drawTile(var15, (WorldMapScaleHandler)this.scaleHandlers.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive); - } - } - - Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); - Rasterizer2D.Rasterizer2D_setClipArray(var12); // L: 131 - var18 = (int)(var14 * 64.0F); - var19 = this.tileX + var1; // L: 133 - int var20 = var2 + this.tileY; // L: 134 - - for (int var21 = var13.x; var21 < var13.width + var13.x; ++var21) { // L: 135 - for (int var22 = var13.y; var22 < var13.y + var13.height; ++var22) { // L: 136 - this.regions[var21][var22].method534(var5 + (this.regions[var21][var22].regionX * 64 - var19) * var18 / 64, var8 - (this.regions[var21][var22].regionY * 64 - var20 + 64) * var18 / 64, var18); // L: 137 - } - } - - } // L: 140 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", - garbageValue = "1206614213" - ) - @Export("drawElements") - public final void drawElements(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) { - WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4); // L: 143 - float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); // L: 144 - int var16 = (int)(var15 * 64.0F); // L: 145 - int var17 = this.tileX + var1; // L: 146 - int var18 = var2 + this.tileY; // L: 147 - - int var19; - int var20; - for (var19 = var14.x; var19 < var14.x + var14.width; ++var19) { // L: 148 - for (var20 = var14.y; var20 < var14.y + var14.height; ++var20) { // L: 149 - if (var13) { // L: 150 - this.regions[var19][var20].initWorldMapIcon1s(); // L: 151 - } - - this.regions[var19][var20].method481(var5 + (this.regions[var19][var20].regionX * 64 - var17) * var16 / 64, var8 - (this.regions[var19][var20].regionY * 64 - var18 + 64) * var16 / 64, var16, var9); // L: 153 - } - } - - if (var10 != null && var11 > 0) { // L: 156 - for (var19 = var14.x; var19 < var14.width + var14.x; ++var19) { // L: 157 - for (var20 = var14.y; var20 < var14.height + var14.y; ++var20) { // L: 158 - this.regions[var19][var20].flashElements(var10, var11, var12); // L: 159 - } - } - } - - } // L: 163 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIIILjava/util/HashSet;IIB)V", - garbageValue = "-11" - ) - @Export("drawOverview") - public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { - if (this.compositeTextureSpritePixels != null) { // L: 166 - this.compositeTextureSpritePixels.drawScaledAt(var1, var2, var3, var4); // L: 169 - if (var6 > 0 && var6 % var7 < var7 / 2) { // L: 170 - if (this.icons == null) { // L: 173 - this.buildIcons0(); // L: 174 - } - - Iterator var8 = var5.iterator(); // L: 176 - - while (true) { - List var10; - do { - if (!var8.hasNext()) { - return; // L: 193 - } - - int var9 = (Integer)var8.next(); // L: 177 - var10 = (List)this.icons.get(var9); // L: 179 - } while(var10 == null); // L: 180 - - Iterator var11 = var10.iterator(); - - while (var11.hasNext()) { // L: 183 - AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next(); // L: 184 - int var13 = var3 * (var12.coord2.x - this.tileX) / this.tileWidth; // L: 186 - int var14 = var4 - (var12.coord2.y - this.tileY) * var4 / this.tileHeight; // L: 187 - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256); // L: 188 - } - } - } - } - } // L: 167 171 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIIII)Ljava/util/List;", - garbageValue = "279349552" - ) - public List method707(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { - LinkedList var11 = new LinkedList(); // L: 196 - if (!this.loaded) { // L: 197 - return var11; // L: 198 - } else { - WorldMapRectangle var12 = this.createWorldMapRectangle(var1, var2, var3, var4); // L: 200 - float var13 = this.getPixelsPerTile(var7, var3 - var1); // L: 201 - int var14 = (int)(var13 * 64.0F); // L: 202 - int var15 = this.tileX + var1; // L: 203 - int var16 = var2 + this.tileY; // L: 204 - - for (int var17 = var12.x; var17 < var12.x + var12.width; ++var17) { // L: 205 - for (int var18 = var12.y; var18 < var12.height + var12.y; ++var18) { // L: 206 - List var19 = this.regions[var17][var18].method501(var5 + (this.regions[var17][var18].regionX * 64 - var15) * var14 / 64, var8 + var6 - (this.regions[var17][var18].regionY * 64 - var16 + 64) * var14 / 64, var14, var9, var10); // L: 207 - if (!var19.isEmpty()) { // L: 208 - var11.addAll(var19); // L: 209 - } - } - } - - return var11; // L: 213 - } - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(IIIII)Las;", - garbageValue = "604537210" - ) - @Export("createWorldMapRectangle") - WorldMapRectangle createWorldMapRectangle(int var1, int var2, int var3, int var4) { - WorldMapRectangle var5 = new WorldMapRectangle(this); // L: 217 - int var6 = this.tileX + var1; // L: 218 - int var7 = var2 + this.tileY; // L: 219 - int var8 = var3 + this.tileX; // L: 220 - int var9 = var4 + this.tileY; // L: 221 - int var10 = var6 / 64; // L: 222 - int var11 = var7 / 64; // L: 223 - int var12 = var8 / 64; // L: 224 - int var13 = var9 / 64; // L: 225 - var5.width = var12 - var10 + 1; // L: 226 - var5.height = var13 - var11 + 1; // L: 227 - var5.x = var10 - this.mapAreaData.getRegionLowX(); // L: 228 - var5.y = var11 - this.mapAreaData.getRegionLowY(); // L: 229 - if (var5.x < 0) { // L: 230 - var5.width += var5.x; // L: 231 - var5.x = 0; // L: 232 - } - - if (var5.x > this.regions.length - var5.width) { // L: 234 - var5.width = this.regions.length - var5.x; // L: 235 - } - - if (var5.y < 0) { // L: 237 - var5.height += var5.y; // L: 238 - var5.y = 0; // L: 239 - } - - if (var5.y > this.regions[0].length - var5.height) { // L: 241 - var5.height = this.regions[0].length - var5.y; // L: 242 - } - - var5.width = Math.min(var5.width, this.regions.length); // L: 244 - var5.height = Math.min(var5.height, this.regions[0].length); // L: 245 - return var5; // L: 246 - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1914860720" - ) - @Export("isLoaded") - public boolean isLoaded() { - return this.loaded; // L: 250 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)Ljava/util/HashMap;", - garbageValue = "-1074161201" - ) - @Export("buildIcons") - public HashMap buildIcons() { - this.buildIcons0(); // L: 254 - return this.icons; // L: 255 - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2005270001" - ) - @Export("buildIcons0") - void buildIcons0() { - if (this.icons == null) { // L: 259 - this.icons = new HashMap(); // L: 260 - } - - this.icons.clear(); // L: 262 - - for (int var1 = 0; var1 < this.regions.length; ++var1) { // L: 263 - for (int var2 = 0; var2 < this.regions[var1].length; ++var2) { // L: 264 - List var3 = this.regions[var1][var2].icons(); // L: 265 - Iterator var4 = var3.iterator(); // L: 266 - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); // L: 267 - if (var5.hasValidElement()) { // L: 269 - int var6 = var5.getElement(); // L: 270 - if (!this.icons.containsKey(var6)) { // L: 271 - LinkedList var7 = new LinkedList(); // L: 272 - var7.add(var5); // L: 273 - this.icons.put(var6, var7); // L: 274 - } else { - List var8 = (List)this.icons.get(var6); // L: 277 - var8.add(var5); // L: 278 - } - } - } - } - } - - } // L: 284 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(III)F", - garbageValue = "-1229276140" - ) - @Export("getPixelsPerTile") - float getPixelsPerTile(int var1, int var2) { - float var3 = (float)var1 / (float)var2; // L: 287 - if (var3 > 8.0F) { // L: 288 - return 8.0F; - } else if (var3 < 1.0F) { // L: 289 - return 1.0F; - } else { - int var4 = Math.round(var3); // L: 290 - return Math.abs((float)var4 - var3) < 0.05F ? (float)var4 : var3; // L: 291 292 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;II[BIB)I", - garbageValue = "-67" - ) - @Export("encodeStringCp1252") - public static int encodeStringCp1252(CharSequence var0, int var1, int var2, byte[] var3, int var4) { - int var5 = var2 - var1; // L: 99 - - for (int var6 = 0; var6 < var5; ++var6) { // L: 100 - char var7 = var0.charAt(var6 + var1); // L: 101 - if (var7 > 0 && var7 < 128 || var7 >= 160 && var7 <= 255) { // L: 102 - var3[var6 + var4] = (byte)var7; - } else if (var7 == 8364) { // L: 103 - var3[var6 + var4] = -128; - } else if (var7 == 8218) { // L: 104 - var3[var6 + var4] = -126; - } else if (var7 == 402) { // L: 105 - var3[var6 + var4] = -125; - } else if (var7 == 8222) { // L: 106 - var3[var6 + var4] = -124; - } else if (var7 == 8230) { // L: 107 - var3[var6 + var4] = -123; - } else if (var7 == 8224) { // L: 108 - var3[var6 + var4] = -122; - } else if (var7 == 8225) { // L: 109 - var3[var6 + var4] = -121; - } else if (var7 == 710) { // L: 110 - var3[var6 + var4] = -120; - } else if (var7 == 8240) { // L: 111 - var3[var6 + var4] = -119; - } else if (var7 == 352) { // L: 112 - var3[var6 + var4] = -118; - } else if (var7 == 8249) { // L: 113 - var3[var6 + var4] = -117; - } else if (var7 == 338) { // L: 114 - var3[var6 + var4] = -116; - } else if (var7 == 381) { // L: 115 - var3[var6 + var4] = -114; - } else if (var7 == 8216) { // L: 116 - var3[var6 + var4] = -111; - } else if (var7 == 8217) { // L: 117 - var3[var6 + var4] = -110; - } else if (var7 == 8220) { // L: 118 - var3[var6 + var4] = -109; - } else if (var7 == 8221) { // L: 119 - var3[var6 + var4] = -108; - } else if (var7 == 8226) { // L: 120 - var3[var6 + var4] = -107; - } else if (var7 == 8211) { // L: 121 - var3[var6 + var4] = -106; - } else if (var7 == 8212) { - var3[var6 + var4] = -105; // L: 122 - } else if (var7 == 732) { // L: 123 - var3[var6 + var4] = -104; - } else if (var7 == 8482) { // L: 124 - var3[var6 + var4] = -103; - } else if (var7 == 353) { // L: 125 - var3[var6 + var4] = -102; - } else if (var7 == 8250) { // L: 126 - var3[var6 + var4] = -101; - } else if (var7 == 339) { // L: 127 - var3[var6 + var4] = -100; - } else if (var7 == 382) { // L: 128 - var3[var6 + var4] = -98; - } else if (var7 == 376) { // L: 129 - var3[var6 + var4] = -97; - } else { - var3[var6 + var4] = 63; // L: 130 - } - } - - return var5; // L: 132 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lky;ILbq;II)V", - garbageValue = "-2082174377" - ) - static final void method709(PacketBuffer var0, int var1, Player var2, int var3) { - byte var4 = -1; // L: 453 - if ((var3 & 256) != 0) { // L: 454 - var2.field981 = var0.method5665(); // L: 455 - var2.field982 = var0.method5665(); // L: 456 - var2.field958 = var0.method5665(); // L: 457 - var2.field956 = var0.method5661(); // L: 458 - var2.field984 = var0.method5582() + Client.cycle; // L: 459 - var2.field973 = var0.method5539() + Client.cycle; // L: 460 - var2.field986 = var0.readUnsignedShort(); // L: 461 - if (var2.field631) { // L: 462 - var2.field981 += var2.tileX; // L: 463 - var2.field982 += var2.tileY; // L: 464 - var2.field958 += var2.tileX; // L: 465 - var2.field956 += var2.tileY; // L: 466 - var2.pathLength = 0; // L: 467 - } else { - var2.field981 += var2.pathX[0]; // L: 470 - var2.field982 += var2.pathY[0]; // L: 471 - var2.field958 += var2.pathX[0]; // L: 472 - var2.field956 += var2.pathY[0]; // L: 473 - var2.pathLength = 1; // L: 474 - } - - var2.field996 = 0; // L: 476 - } - - if ((var3 & 32) != 0) { // L: 478 - var2.overheadText = var0.readStringCp1252NullTerminated(); // L: 479 - if (var2.overheadText.charAt(0) == '~') { // L: 480 - var2.overheadText = var2.overheadText.substring(1); // L: 481 - class234.addGameMessage(2, var2.username.getName(), var2.overheadText); // L: 482 - } else if (var2 == PlayerComposition.localPlayer) { // L: 484 - class234.addGameMessage(2, var2.username.getName(), var2.overheadText); // L: 485 - } - - var2.isAutoChatting = false; // L: 487 - var2.overheadTextColor = 0; // L: 488 - var2.overheadTextEffect = 0; // L: 489 - var2.overheadTextCyclesRemaining = 150; // L: 490 - } - - int var5; - int var8; - int var9; - int var12; - if ((var3 & 128) != 0) { // L: 492 - var5 = var0.method5582(); // L: 493 - PlayerType var6 = (PlayerType)UrlRequester.findEnumerated(class234.PlayerType_values(), var0.method5571()); // L: 494 - boolean var7 = var0.readUnsignedByte() == 1; // L: 495 - var8 = var0.method5572(); // L: 496 - var9 = var0.offset; // L: 497 - if (var2.username != null && var2.appearance != null) { // L: 498 - boolean var10 = false; // L: 499 - if (var6.isUser && MilliClock.friendSystem.isIgnored(var2.username)) { // L: 500 501 - var10 = true; - } - - if (!var10 && Client.field762 == 0 && !var2.isHidden) { // L: 503 - Players.field1264.offset = 0; // L: 504 - var0.method5593(Players.field1264.array, 0, var8); // L: 505 - Players.field1264.offset = 0; // L: 506 - String var11 = AbstractFont.escapeBrackets(ServerPacket.method3663(AttackOption.method2135(Players.field1264))); // L: 507 - var2.overheadText = var11.trim(); // L: 508 - var2.overheadTextColor = var5 >> 8; // L: 509 - var2.overheadTextEffect = var5 & 255; // L: 510 - var2.overheadTextCyclesRemaining = 150; // L: 511 - var2.isAutoChatting = var7; // L: 512 - var2.field953 = var2 != PlayerComposition.localPlayer && var6.isUser && "" != Client.field871 && var11.toLowerCase().indexOf(Client.field871) == -1; // L: 513 - if (var6.isPrivileged) { // L: 515 - var12 = var7 ? 91 : 1; - } else { - var12 = var7 ? 90 : 2; // L: 516 - } - - if (var6.modIcon != -1) { // L: 517 - class234.addGameMessage(var12, class25.method248(var6.modIcon) + var2.username.getName(), var11); - } else { - class234.addGameMessage(var12, var2.username.getName(), var11); // L: 518 - } - } - } - - var0.offset = var8 + var9; // L: 521 - } - - if ((var3 & 1024) != 0) { // L: 523 - for (var5 = 0; var5 < 3; ++var5) { // L: 524 - var2.actions[var5] = var0.readStringCp1252NullTerminated(); - } - } - - if ((var3 & 8) != 0) { // L: 526 - var2.field959 = var0.method5582(); // L: 527 - if (var2.pathLength == 0) { // L: 528 - var2.orientation = var2.field959; // L: 529 - var2.field959 = -1; // L: 530 - } - } - - int var13; - if ((var3 & 16) != 0) { // L: 533 - var5 = var0.method5571(); // L: 534 - int var15; - int var17; - int var19; - if (var5 > 0) { // L: 535 - for (var13 = 0; var13 < var5; ++var13) { // L: 536 - var8 = -1; // L: 538 - var9 = -1; // L: 539 - var19 = -1; // L: 540 - var17 = var0.readUShortSmart(); // L: 541 - if (var17 == 32767) { // L: 542 - var17 = var0.readUShortSmart(); // L: 543 - var9 = var0.readUShortSmart(); // L: 544 - var8 = var0.readUShortSmart(); // L: 545 - var19 = var0.readUShortSmart(); // L: 546 - } else if (var17 != 32766) { // L: 548 - var9 = var0.readUShortSmart(); // L: 549 - } else { - var17 = -1; // L: 551 - } - - var15 = var0.readUShortSmart(); // L: 552 - var2.addHitSplat(var17, var9, var8, var19, Client.cycle, var15); // L: 553 - } - } - - var13 = var0.method5572(); // L: 556 - if (var13 > 0) { // L: 557 - for (var17 = 0; var17 < var13; ++var17) { // L: 558 - var8 = var0.readUShortSmart(); // L: 559 - var9 = var0.readUShortSmart(); // L: 560 - if (var9 != 32767) { // L: 561 - var19 = var0.readUShortSmart(); // L: 562 - var15 = var0.method5572(); // L: 563 - var12 = var9 > 0 ? var0.method5573() : var15; // L: 564 - var2.addHealthBar(var8, Client.cycle, var9, var19, var15, var12); // L: 565 - } else { - var2.removeHealthBar(var8); // L: 567 - } - } - } - } - - if ((var3 & 512) != 0) { // L: 571 - Players.field1253[var1] = var0.method5661(); // L: 572 - } - - if ((var3 & 1) != 0) { // L: 574 - var2.targetIndex = var0.method5539(); // L: 575 - if (var2.targetIndex == 65535) { // L: 576 - var2.targetIndex = -1; - } - } - - if ((var3 & 4096) != 0) { // L: 578 - var2.spotAnimation = var0.method5539(); // L: 579 - var5 = var0.method5643(); // L: 580 - var2.field979 = var5 >> 16; // L: 581 - var2.field978 = (var5 & 65535) + Client.cycle; // L: 582 - var2.spotAnimationFrame = 0; // L: 583 - var2.spotAnimationFrameCycle = 0; // L: 584 - if (var2.field978 > Client.cycle) { // L: 585 - var2.spotAnimationFrame = -1; - } - - if (var2.spotAnimation == 65535) { // L: 586 - var2.spotAnimation = -1; - } - } - - if ((var3 & 2048) != 0) { // L: 588 - var4 = var0.method5665(); // L: 589 - } - - if ((var3 & 2) != 0) { // L: 591 - var5 = var0.method5539(); // L: 592 - if (var5 == 65535) { // L: 593 - var5 = -1; - } - - var13 = var0.method5571(); // L: 594 - Tiles.performPlayerAnimation(var2, var5, var13); // L: 595 - } - - if ((var3 & 4) != 0) { // L: 597 - var5 = var0.method5573(); // L: 598 - byte[] var16 = new byte[var5]; // L: 599 - Buffer var14 = new Buffer(var16); // L: 600 - var0.method5733(var16, 0, var5); // L: 601 - Players.field1254[var1] = var14; // L: 602 - var2.read(var14); // L: 603 - } - - if (var2.field631) { // L: 605 - if (var4 == 127) { // L: 606 - var2.resetPath(var2.tileX, var2.tileY); - } else { - byte var18; - if (var4 != -1) { // L: 609 - var18 = var4; - } else { - var18 = Players.field1253[var1]; // L: 610 - } - - var2.method1313(var2.tileX, var2.tileY, var18); // L: 611 - } - } - - } // L: 615 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(IIIIIZI)Llm;", - garbageValue = "-1786223770" - ) - @Export("getItemSprite") - public static final SpritePixels getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) { - if (var1 == -1) { // L: 353 - var4 = 0; - } else if (var4 == 2 && var1 != 1) { // L: 354 - var4 = 1; - } - - long var6 = ((long)var3 << 42) + ((long)var4 << 40) + ((long)var2 << 38) + (long)var0 + ((long)var1 << 16); // L: 355 - SpritePixels var8; - if (!var5) { // L: 357 - var8 = (SpritePixels) ItemComposition.ItemDefinition_cachedSprites.get(var6); // L: 358 - if (var8 != null) { // L: 359 - return var8; - } - } - - ItemComposition var9 = SecureRandomCallable.ItemDefinition_get(var0); // L: 361 - if (var1 > 1 && var9.countobj != null) { // L: 362 - int var10 = -1; // L: 363 - - for (int var11 = 0; var11 < 10; ++var11) { // L: 364 - if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) { // L: 365 - var10 = var9.countobj[var11]; - } - } - - if (var10 != -1) { // L: 367 - var9 = SecureRandomCallable.ItemDefinition_get(var10); - } - } - - Model var19 = var9.getModel(1); // L: 369 - if (var19 == null) { // L: 370 - return null; - } else { - SpritePixels var20 = null; // L: 371 - if (var9.noteTemplate != -1) { // L: 372 - var20 = getItemSprite(var9.note, 10, 1, 0, 0, true); // L: 373 - if (var20 == null) { // L: 374 - return null; - } - } else if (var9.notedId != -1) { // L: 376 - var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false); // L: 377 - if (var20 == null) { // L: 378 - return null; - } - } else if (var9.placeholderTemplate != -1) { // L: 380 - var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false); // L: 381 - if (var20 == null) { // L: 382 - return null; - } - } - - int[] var12 = Rasterizer2D.Rasterizer2D_pixels; // L: 384 - int var13 = Rasterizer2D.Rasterizer2D_width; // L: 385 - int var14 = Rasterizer2D.Rasterizer2D_height; // L: 386 - int[] var15 = new int[4]; // L: 387 - Rasterizer2D.Rasterizer2D_getClipArray(var15); // L: 388 - var8 = new SpritePixels(36, 32); // L: 389 - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); // L: 390 - Rasterizer2D.Rasterizer2D_clear(); // L: 391 - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 392 - Rasterizer3D.method3138(16, 16); // L: 393 - Rasterizer3D.field1782 = false; // L: 394 - if (var9.placeholderTemplate != -1) { // L: 395 - var20.drawTransBgAt(0, 0); - } - - int var16 = var9.zoom2d; // L: 396 - if (var5) { // L: 397 - var16 = (int)(1.5D * (double)var16); - } else if (var2 == 2) { // L: 398 - var16 = (int)(1.04D * (double)var16); - } - - int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16; // L: 399 - int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16; // L: 400 - var19.calculateBoundsCylinder(); // L: 401 - var19.method2966(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d); // L: 402 - if (var9.notedId != -1) { // L: 403 - var20.drawTransBgAt(0, 0); - } - - if (var2 >= 1) { // L: 404 - var8.outline(1); - } - - if (var2 >= 2) { // L: 405 - var8.outline(16777215); - } - - if (var3 != 0) { // L: 406 - var8.shadow(var3); - } - - Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32); // L: 407 - if (var9.noteTemplate != -1) { // L: 408 - var20.drawTransBgAt(0, 0); - } - - if (var4 == 1 || var4 == 2 && var9.isStackable == 1) { // L: 409 - ItemComposition.ItemDefinition_fontPlain11.draw(class195.inventoryQuantityFormat(var1), 0, 9, 16776960, 1); // L: 410 - } - - if (!var5) { // L: 412 - ItemComposition.ItemDefinition_cachedSprites.put(var8, var6); - } - - Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); // L: 413 - Rasterizer2D.Rasterizer2D_setClipArray(var15); // L: 414 - Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); // L: 415 - Rasterizer3D.field1782 = true; // L: 416 - return var8; // L: 417 - } - } - - @ObfuscatedName("fx") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "2111583994" - ) - static int method704(int var0) { - return var0 * 3 + 600; // L: 1710 - } - - @ObfuscatedName("gc") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-10595779" - ) - static final void method679() { - for (int var0 = 0; var0 < Client.soundEffectCount; ++var0) { // L: 3619 - int var10002 = Client.queuedSoundEffectDelays[var0]--; // L: 3620 - if (Client.queuedSoundEffectDelays[var0] >= -10) { // L: 3621 - SoundEffect var1 = Client.soundEffects[var0]; // L: 3633 - if (var1 == null) { // L: 3634 - Object var10000 = null; // L: 3635 - var1 = SoundEffect.readSoundEffect(class227.archive4, Client.soundEffectIds[var0], 0); - if (var1 == null) { // L: 3636 - continue; - } - - int[] var12 = Client.queuedSoundEffectDelays; // L: 3637 - var12[var0] += var1.calculateDelay(); - Client.soundEffects[var0] = var1; // L: 3638 - } - - if (Client.queuedSoundEffectDelays[var0] < 0) { // L: 3644 - int var2; - if (Client.soundLocations[var0] != 0) { // L: 3646 - int var3 = (Client.soundLocations[var0] & 255) * 128; // L: 3647 - int var4 = Client.soundLocations[var0] >> 16 & 255; // L: 3648 - int var5 = var4 * 128 + 64 - PlayerComposition.localPlayer.x; // L: 3649 - if (var5 < 0) { // L: 3650 - var5 = -var5; - } - - int var6 = Client.soundLocations[var0] >> 8 & 255; // L: 3651 - int var7 = var6 * 128 + 64 - PlayerComposition.localPlayer.y; // L: 3652 - if (var7 < 0) { // L: 3653 - var7 = -var7; - } - - int var8 = var5 + var7 - 128; // L: 3654 - if (var8 > var3) { // L: 3655 - Client.queuedSoundEffectDelays[var0] = -100; // L: 3656 - continue; // L: 3657 - } - - if (var8 < 0) { // L: 3659 - var8 = 0; - } - - var2 = (var3 - var8) * Timer.clientPreferences.areaSoundEffectsVolume / var3; // L: 3660 - } else { - var2 = Timer.clientPreferences.soundEffectsVolume; // L: 3662 - } - - if (var2 > 0) { // L: 3663 - RawSound var9 = var1.toRawSound().resample(ItemLayer.decimator); // L: 3664 - RawPcmStream var10 = RawPcmStream.createRawPcmStream(var9, 100, var2); // L: 3665 - var10.setNumLoops(Client.queuedSoundEffectLoops[var0] - 1); // L: 3666 - pcmStreamMixer.addSubStream(var10); // L: 3667 - } - - Client.queuedSoundEffectDelays[var0] = -100; // L: 3669 - } - } else { - --Client.soundEffectCount; // L: 3622 - - for (int var11 = var0; var11 < Client.soundEffectCount; ++var11) { // L: 3623 - Client.soundEffectIds[var11] = Client.soundEffectIds[var11 + 1]; // L: 3624 - Client.soundEffects[var11] = Client.soundEffects[var11 + 1]; // L: 3625 - Client.queuedSoundEffectLoops[var11] = Client.queuedSoundEffectLoops[var11 + 1]; // L: 3626 - Client.queuedSoundEffectDelays[var11] = Client.queuedSoundEffectDelays[var11 + 1]; // L: 3627 - Client.soundLocations[var11] = Client.soundLocations[var11 + 1]; // L: 3628 - } - - --var0; // L: 3630 - } - } - - if (Client.field883 && !JagexCache.method3566()) { // L: 3672 - if (Timer.clientPreferences.musicVolume != 0 && Client.currentTrackGroupId != -1) { // L: 3673 - Interpreter.method2082(class217.archive6, Client.currentTrackGroupId, 0, Timer.clientPreferences.musicVolume, false); - } - - Client.field883 = false; // L: 3674 - } - - } // L: 3676 - - @ObfuscatedName("go") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-504342638" - ) - static final void method703() { - int[] var0 = Players.Players_indices; // L: 3824 - - int var1; - for (var1 = 0; var1 < Players.Players_count; ++var1) { // L: 3825 - Player var4 = Client.players[var0[var1]]; // L: 3826 - if (var4 != null && var4.overheadTextCyclesRemaining > 0) { // L: 3827 - --var4.overheadTextCyclesRemaining; // L: 3828 - if (var4.overheadTextCyclesRemaining == 0) { // L: 3829 - var4.overheadText = null; - } - } - } - - for (var1 = 0; var1 < Client.npcCount; ++var1) { // L: 3832 - int var2 = Client.npcIndices[var1]; // L: 3833 - NPC var3 = Client.npcs[var2]; // L: 3834 - if (var3 != null && var3.overheadTextCyclesRemaining > 0) { // L: 3835 - --var3.overheadTextCyclesRemaining; // L: 3836 - if (var3.overheadTextCyclesRemaining == 0) { // L: 3837 - var3.overheadText = null; - } - } - } - - } // L: 3840 - - @ObfuscatedName("gs") - @ObfuscatedSignature( - descriptor = "(Lcx;I)V", - garbageValue = "-939198295" - ) - static final void method672(Actor var0) { - int var1 = Math.max(1, var0.field984 - Client.cycle); // L: 3975 - int var2 = var0.field941 * 64 + var0.field981 * 128; // L: 3976 - int var3 = var0.field941 * 64 + var0.field982 * 128; // L: 3977 - var0.x += (var2 - var0.x) / var1; // L: 3978 - var0.y += (var3 - var0.y) / var1; // L: 3979 - var0.field963 = 0; // L: 3980 - var0.orientation = var0.field986; // L: 3981 - } // L: 3982 - - @ObfuscatedName("hg") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "1888675083" - ) - static final int method712() { - if (Timer.clientPreferences.roofsHidden) { // L: 4784 - return GameObject.Client_plane; - } else { - int var0 = SecureRandomFuture.getTileHeight(Player.cameraX, class69.cameraZ, GameObject.Client_plane); // L: 4785 - return var0 - KeyHandler.cameraY < 800 && (Tiles.Tiles_renderFlags[GameObject.Client_plane][Player.cameraX >> 7][class69.cameraZ >> 7] & 4) != 0 ? GameObject.Client_plane : 3; // L: 4786 4787 - } - } - - @ObfuscatedName("it") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1369174129" - ) - @Export("Widget_runOnTargetLeave") - static void Widget_runOnTargetLeave() { - if (Client.isSpellSelected) { // L: 8347 - Widget var0 = class92.getWidgetChild(MouseHandler.selectedSpellWidget, Client.selectedSpellChildIndex); // L: 8348 - if (var0 != null && var0.onTargetLeave != null) { // L: 8349 - ScriptEvent var1 = new ScriptEvent(); // L: 8350 - var1.widget = var0; // L: 8351 - var1.args = var0.onTargetLeave; // L: 8352 - class22.runScriptEvent(var1); // L: 8353 - } - - Client.isSpellSelected = false; // L: 8355 - CollisionMap.invalidateWidget(var0); // L: 8356 - } - } // L: 8357 - - @ObfuscatedName("ji") - @ObfuscatedSignature( - descriptor = "(IIIZI)V", - garbageValue = "1536063708" - ) - static final void method686(int var0, int var1, int var2, boolean var3) { - if (class41.loadInterface(var0)) { // L: 9477 - Interpreter.resizeInterface(class9.Widget_interfaceComponents[var0], -1, var1, var2, var3); // L: 9478 - } - } // L: 9479 + @ObfuscatedName("qw") + @ObfuscatedGetter( + intValue = -188939136 + ) + static int field345; + @ObfuscatedName("bw") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("worldSelectFlagSprites") + static IndexedSprite[] worldSelectFlagSprites; + @ObfuscatedName("dn") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive11") + static Archive archive11; + @ObfuscatedName("ei") + @Export("secureRandom") + static SecureRandom secureRandom; + @ObfuscatedName("n") + @Export("loaded") + boolean loaded = false; + @ObfuscatedName("v") + @Export("loadStarted") + boolean loadStarted = false; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lau;" + ) + @Export("mapAreaData") + WorldMapAreaData mapAreaData; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("compositeTextureSprite") + SpritePixels compositeTextureSprite; + @ObfuscatedName("y") + @Export("icons") + HashMap icons; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "[[Las;" + ) + @Export("regions") + WorldMapRegion[][] regions; + @ObfuscatedName("z") + @Export("scaleHandlers") + HashMap scaleHandlers = new HashMap(); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("mapSceneSprites") + IndexedSprite[] mapSceneSprites; + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("geographyArchive") + final AbstractArchive geographyArchive; + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("groundArchive") + final AbstractArchive groundArchive; + @ObfuscatedName("s") + @Export("fonts") + final HashMap fonts; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 749583707 + ) + @Export("tileX") + int tileX; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 461859631 + ) + @Export("tileY") + int tileY; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = -571129221 + ) + @Export("tileWidth") + int tileWidth; + @ObfuscatedName("k") + @ObfuscatedGetter( + intValue = 2077457216 + ) + @Export("tileHeight") + int tileHeight; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1259035297 + ) + @Export("pixelsPerTile") + public int pixelsPerTile = 0; + + @ObfuscatedSignature( + descriptor = "([Lly;Ljava/util/HashMap;Lig;Lig;)V" + ) + public WorldMapManager(IndexedSprite[] var1, HashMap var2, AbstractArchive var3, AbstractArchive var4) { + this.mapSceneSprites = var1; + this.fonts = var2; + this.geographyArchive = var3; + this.groundArchive = var4; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Ljava/lang/String;ZI)V", + garbageValue = "1075163259" + ) + @Export("load") + public void load(AbstractArchive var1, String var2, boolean var3) { + if (!this.loadStarted) { + this.loaded = false; + this.loadStarted = true; + System.nanoTime(); + int var4 = var1.getGroupId(WorldMapCacheName.field333.name); + int var5 = var1.getFileId(var4, var2); + Buffer var6 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field333.name, var2)); + Buffer var7 = new Buffer(var1.takeFileByNames(WorldMapCacheName.field323.name, var2)); + System.nanoTime(); + System.nanoTime(); + this.mapAreaData = new WorldMapAreaData(); + + try { + this.mapAreaData.init(var6, var7, var5, var3); + } catch (IllegalStateException var19) { + return; + } + + this.mapAreaData.getOriginX(); + this.mapAreaData.getOriginPlane(); + this.mapAreaData.getOriginY(); + this.tileX = this.mapAreaData.getRegionLowX() * 64; + this.tileY = this.mapAreaData.getRegionLowY() * 64; + this.tileWidth = (this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1) * 64; + this.tileHeight = (this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1) * 4096; + int var16 = this.mapAreaData.getRegionHighX() - this.mapAreaData.getRegionLowX() + 1; + int var9 = this.mapAreaData.getRegionHighY() - this.mapAreaData.getRegionLowY() + 1; + System.nanoTime(); + System.nanoTime(); + Messages.method2372(); + this.regions = new WorldMapRegion[var16][var9]; + Iterator var10 = this.mapAreaData.worldMapData0Set.iterator(); + + while(var10.hasNext()) { + WorldMapData_0 var11 = (WorldMapData_0)var10.next(); + int var12 = var11.regionX; + int var13 = var11.regionY; + int var14 = var12 - this.mapAreaData.getRegionLowX(); + int var15 = var13 - this.mapAreaData.getRegionLowY(); + this.regions[var14][var15] = new WorldMapRegion(var12, var13, this.mapAreaData.getBackGroundColor(), this.fonts); + this.regions[var14][var15].initWorldMapData0(var11, this.mapAreaData.iconList); + } + + for(int var17 = 0; var17 < var16; ++var17) { + for(int var18 = 0; var18 < var9; ++var18) { + if (this.regions[var17][var18] == null) { + this.regions[var17][var18] = new WorldMapRegion(this.mapAreaData.getRegionLowX() + var17, this.mapAreaData.getRegionLowY() + var18, this.mapAreaData.getBackGroundColor(), this.fonts); + this.regions[var17][var18].initWorldMapData1(this.mapAreaData.worldMapData1Set, this.mapAreaData.iconList); + } + } + } + + System.nanoTime(); + System.nanoTime(); + if (var1.isValidFileName(WorldMapCacheName.field324.name, var2)) { + byte[] var20 = var1.takeFileByNames(WorldMapCacheName.field324.name, var2); + this.compositeTextureSprite = WorldMapRectangle.convertJpgToSprite(var20); + } + + System.nanoTime(); + var1.clearGroups(); + var1.clearFiles(); + this.loaded = true; + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-192155866" + ) + @Export("clearIcons") + public final void clearIcons() { + this.icons = null; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIIIIIII)V", + garbageValue = "-1854160239" + ) + @Export("drawTiles") + public final void drawTiles(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + int[] var9 = Rasterizer2D.Rasterizer2D_pixels; + int var10 = Rasterizer2D.Rasterizer2D_width; + int var11 = Rasterizer2D.Rasterizer2D_height; + int[] var12 = new int[4]; + Rasterizer2D.Rasterizer2D_getClipArray(var12); + WorldMapRectangle var13 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var14 = this.getPixelsPerTile(var7 - var5, var3 - var1); + int var15 = (int)Math.ceil((double)var14); + this.pixelsPerTile = var15; + if (!this.scaleHandlers.containsKey(var15)) { + WorldMapScaleHandler var16 = new WorldMapScaleHandler(var15); + var16.init(); + this.scaleHandlers.put(var15, var16); + } + + int var23 = var13.x + var13.width - 1; + int var17 = var13.y + var13.height - 1; + + int var18; + int var19; + for(var18 = var13.x; var18 <= var23; ++var18) { + for(var19 = var13.y; var19 <= var17; ++var19) { + this.regions[var18][var19].drawTile(var15, (WorldMapScaleHandler)this.scaleHandlers.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive); + } + } + + Rasterizer2D.Rasterizer2D_replace(var9, var10, var11); + Rasterizer2D.Rasterizer2D_setClipArray(var12); + var18 = (int)(var14 * 64.0F); + var19 = this.tileX * 4096 + var1; + int var20 = this.tileY * 4096 + var2; + + for(int var21 = var13.x; var21 < var13.width + var13.x; ++var21) { + for(int var22 = var13.y; var22 < var13.height + var13.y; ++var22) { + this.regions[var21][var22].method506(var5 + var18 * (this.regions[var21][var22].regionX * 64 - var19) / 64, var8 - var18 * (this.regions[var21][var22].regionY * 64 - var20 + 64) / 64, var18); + } + } + + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIIIIIILjava/util/HashSet;Ljava/util/HashSet;IIZI)V", + garbageValue = "-2105446269" + ) + @Export("drawElements") + public final void drawElements(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, HashSet var9, HashSet var10, int var11, int var12, boolean var13) { + WorldMapRectangle var14 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var15 = this.getPixelsPerTile(var7 - var5, var3 - var1); + int var16 = (int)(var15 * 64.0F); + int var17 = this.tileX * 4096 + var1; + int var18 = this.tileY * 4096 + var2; + + int var19; + int var20; + for(var19 = var14.x; var19 < var14.width + var14.x; ++var19) { + for(var20 = var14.y; var20 < var14.height + var14.y; ++var20) { + if (var13) { + this.regions[var19][var20].initWorldMapIcon1s(); + } + + this.regions[var19][var20].method516(var5 + var16 * (this.regions[var19][var20].regionX * 64 - var17) / 64, var8 - var16 * (this.regions[var19][var20].regionY * 64 - var18 + 64) / 64, var16, var9); + } + } + + if (var10 != null && var11 > 0) { + for(var19 = var14.x; var19 < var14.width + var14.x; ++var19) { + for(var20 = var14.y; var20 < var14.height + var14.y; ++var20) { + this.regions[var19][var20].flashElements(var10, var11, var12); + } + } + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(IIIILjava/util/HashSet;III)V", + garbageValue = "1410026121" + ) + @Export("drawOverview") + public void drawOverview(int var1, int var2, int var3, int var4, HashSet var5, int var6, int var7) { + if (this.compositeTextureSprite != null) { + this.compositeTextureSprite.drawScaledAt(var1, var2, var3, var4); + if (var6 > 0 && var6 % var7 < var7 / 2) { + if (this.icons == null) { + this.buildIcons0(); + } + + Iterator var8 = var5.iterator(); + + while(true) { + List var10; + do { + if (!var8.hasNext()) { + return; + } + + int var9 = (Integer)var8.next(); + var10 = (List)this.icons.get(var9); + } while(var10 == null); + + Iterator var11 = var10.iterator(); + + while(var11.hasNext()) { + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var11.next(); + int var13 = var3 * (var12.coord2.x - this.tileX * 4096) / (this.tileWidth * 4096); + int var14 = var4 - (var12.coord2.y - this.tileY * 4096) * var4 / (this.tileHeight * 64); + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var13 + var1, var14 + var2, 2, 16776960, 256); + } + } + } + } + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IIIIIIIIIII)Ljava/util/List;", + garbageValue = "-1800022691" + ) + public List method722(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) { + LinkedList var11 = new LinkedList(); + if (!this.loaded) { + return var11; + } else { + WorldMapRectangle var12 = this.createWorldMapRectangle(var1, var2, var3, var4); + float var13 = this.getPixelsPerTile(var7, var3 - var1); + int var14 = (int)(64.0F * var13); + int var15 = this.tileX * 4096 + var1; + int var16 = this.tileY * 4096 + var2; + + for(int var17 = var12.x; var17 < var12.x + var12.width; ++var17) { + for(int var18 = var12.y; var18 < var12.height + var12.y; ++var18) { + List var19 = this.regions[var17][var18].method537(var5 + var14 * (this.regions[var17][var18].regionX * 64 - var15) / 64, var8 + var6 - var14 * (this.regions[var17][var18].regionY * 64 - var16 + 64) / 64, var14, var9, var10); + if (!var19.isEmpty()) { + var11.addAll(var19); + } + } + } + + return var11; + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(IIIII)Laq;", + garbageValue = "-2121459740" + ) + @Export("createWorldMapRectangle") + WorldMapRectangle createWorldMapRectangle(int var1, int var2, int var3, int var4) { + WorldMapRectangle var5 = new WorldMapRectangle(this); + int var6 = this.tileX * 4096 + var1; + int var7 = this.tileY * 4096 + var2; + int var8 = var3 + this.tileX * 4096; + int var9 = this.tileY * 4096 + var4; + int var10 = var6 / 64; + int var11 = var7 / 64; + int var12 = var8 / 64; + int var13 = var9 / 64; + var5.width = var12 - var10 + 1; + var5.height = var13 - var11 + 1; + var5.x = var10 - this.mapAreaData.getRegionLowX(); + var5.y = var11 - this.mapAreaData.getRegionLowY(); + if (var5.x < 0) { + var5.width += var5.x; + var5.x = 0; + } + + if (var5.x > this.regions.length - var5.width) { + var5.width = this.regions.length - var5.x; + } + + if (var5.y < 0) { + var5.height += var5.y; + var5.y = 0; + } + + if (var5.y > this.regions[0].length - var5.height) { + var5.height = this.regions[0].length - var5.y; + } + + var5.width = Math.min(var5.width, this.regions.length); + var5.height = Math.min(var5.height, this.regions[0].length); + return var5; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)Z", + garbageValue = "14" + ) + @Export("isLoaded") + public boolean isLoaded() { + return this.loaded; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(B)Ljava/util/HashMap;", + garbageValue = "108" + ) + @Export("buildIcons") + public HashMap buildIcons() { + this.buildIcons0(); + return this.icons; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "118" + ) + @Export("buildIcons0") + void buildIcons0() { + if (this.icons == null) { + this.icons = new HashMap(); + } + + this.icons.clear(); + + for(int var1 = 0; var1 < this.regions.length; ++var1) { + for(int var2 = 0; var2 < this.regions[var1].length; ++var2) { + List var3 = this.regions[var1][var2].icons(); + Iterator var4 = var3.iterator(); + + while(var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + int var6 = var5.getElement(); + if (!this.icons.containsKey(var6)) { + LinkedList var7 = new LinkedList(); + var7.add(var5); + this.icons.put(var6, var7); + } else { + List var8 = (List)this.icons.get(var6); + var8.add(var5); + } + } + } + } + } + + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIB)F", + garbageValue = "11" + ) + @Export("getPixelsPerTile") + float getPixelsPerTile(int var1, int var2) { + float var3 = (float)var1 / (float)var2; + if (var3 > 8.0F) { + return 8.0F; + } else if (var3 < 1.0F) { + return 1.0F; + } else { + int var4 = Math.round(var3); + return Math.abs((float)var4 - var3) < 0.05F ? (float)var4 : var3; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Ljx;", + garbageValue = "-2146982596" + ) + @Export("getEnum") + public static EnumComposition getEnum(int var0) { + EnumComposition var1 = (EnumComposition)EnumComposition.EnumDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = EnumComposition.EnumDefinition_archive.takeFile(8, var0); + var1 = new EnumComposition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + EnumComposition.EnumDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "([BIIIIIII[Lfe;B)V", + garbageValue = "0" + ) + static final void method749(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, CollisionMap[] var8) { + int var10; + 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) { + var8[var1].flags[var9 + var2][var10 + var3] &= -16777217; + } + } + } + + Buffer var13 = new Buffer(var0); + + for(var10 = 0; var10 < 4; ++var10) { + for(int var11 = 0; var11 < 64; ++var11) { + for(int var12 = 0; var12 < 64; ++var12) { + if (var10 == var4 && var11 >= var5 && var11 < var5 + 8 && var12 >= var6 && var12 < var6 + 8) { + KeyHandler.loadTerrain(var13, var1, var2 + class236.method4332(var11 & 7, var12 & 7, var7), var3 + TextureProvider.method2914(var11 & 7, var12 & 7, var7), 0, 0, var7); + } else { + KeyHandler.loadTerrain(var13, 0, -1, -1, 0, 0, 0); + } + } + } + } + + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-74" + ) + static void method738() { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + InvDefinition.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(GrandExchangeOfferNameComparator.method209("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 var20 = var7.readLong(); + var1 = var20; + break; + } + + var7.offset += var8; + if (var7.offset >= 1000) { + var1 = 0L; + break; + } + } + } catch (Exception var28) { + var1 = 0L; + } + + byte var0; + if (0L == var1) { + var0 = 5; + } else { + String var29 = Login.Login_username; + Random var30 = new Random(); + Buffer var24 = new Buffer(128); + Buffer var9 = new Buffer(128); + int[] var10 = new int[]{var30.nextInt(), var30.nextInt(), (int)(var1 >> 32), (int)var1}; + var24.writeByte(10); + + int var11; + for(var11 = 0; var11 < 4; ++var11) { + var24.writeInt(var30.nextInt()); + } + + var24.writeInt(var10[0]); + var24.writeInt(var10[1]); + var24.writeLong(var1); + var24.writeLong(0L); + + for(var11 = 0; var11 < 4; ++var11) { + var24.writeInt(var30.nextInt()); + } + + var24.encryptRsa(class89.field1155, class89.field1154); + var9.writeByte(10); + + for(var11 = 0; var11 < 3; ++var11) { + var9.writeInt(var30.nextInt()); + } + + var9.writeLong(var30.nextLong()); + var9.writeLongMedium(var30.nextLong()); + GrandExchangeOfferOwnWorldComparator.method1378(var9); + var9.writeLong(var30.nextLong()); + var9.encryptRsa(class89.field1155, class89.field1154); + var11 = WorldMapLabelSize.stringCp1252NullTerminatedByteSize(var29); + if (var11 % 8 != 0) { + var11 += 8 - var11 % 8; + } + + Buffer var12 = new Buffer(var11); + var12.writeStringCp1252NullTerminated(var29); + var12.offset = var11; + var12.xteaEncryptAll(var10); + Buffer var13 = new Buffer(var12.offset + var9.offset + var24.offset + 5); + var13.writeByte(2); + var13.writeByte(var24.offset); + var13.writeBytes(var24.array, 0, var24.offset); + var13.writeByte(var9.offset); + var13.writeBytes(var9.array, 0, var9.offset); + var13.writeShort(var12.offset); + var13.writeBytes(var12.array, 0, var12.offset); + String var14 = VertexNormal.method3163(var13.array); + + byte var25; + try { + URL var15 = new URL(GrandExchangeOfferNameComparator.method209("services", false) + "m=accountappeal/login.ws"); + URLConnection var16 = var15.openConnection(); + var16.setDoInput(true); + var16.setDoOutput(true); + var16.setConnectTimeout(5000); + OutputStreamWriter var17 = new OutputStreamWriter(var16.getOutputStream()); + var17.write("data2=" + WallDecoration.method3450(var14) + "&dest=" + WallDecoration.method3450("passwordchoice.ws")); + var17.flush(); + InputStream var18 = var16.getInputStream(); + var13 = new Buffer(new byte[1000]); + + while(true) { + int var19 = var18.read(var13.array, var13.offset, 1000 - var13.offset); + if (var19 == -1) { + var17.close(); + var18.close(); + String var26 = new String(var13.array); + if (var26.startsWith("OFFLINE")) { + var25 = 4; + } else if (var26.startsWith("WRONG")) { + var25 = 7; + } else if (var26.startsWith("RELOAD")) { + var25 = 3; + } else if (var26.startsWith("Not permitted for social network accounts.")) { + var25 = 6; + } else { + var13.xteaDecryptAll(var10); + + while(var13.offset > 0 && var13.array[var13.offset - 1] == 0) { + --var13.offset; + } + + var26 = new String(var13.array, 0, var13.offset); + if (ReflectionCheck.method2452(var26)) { + WorldMapRectangle.openURL(var26, true, false); + var25 = 2; + } else { + var25 = 5; + } + } + break; + } + + var13.offset += var19; + if (var13.offset >= 1000) { + var25 = 5; + break; + } + } + } catch (Throwable var27) { + var27.printStackTrace(); + var25 = 5; + } + + var0 = var25; + } + + switch(var0) { + case 2: + InvDefinition.setLoginResponseString(Strings.field3056, Strings.field3057, Strings.field3058); + Login.loginIndex = 6; + break; + case 3: + InvDefinition.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 4: + InvDefinition.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); + break; + case 5: + InvDefinition.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); + break; + case 6: + InvDefinition.setLoginResponseString("", "Error connecting to server.", ""); + break; + case 7: + InvDefinition.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("ag") + @ObfuscatedSignature( + descriptor = "(ILcl;ZB)I", + garbageValue = "1" + ) + static int method746(int var0, Script var1, boolean var2) { + int var3; + int var6; + int var9; + if (var0 == ScriptOpcodes.ENUM_STRING) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + EnumComposition var10 = getEnum(var3); + if (var10.outputType != 's') { + ; + } + + for(var6 = 0; var6 < var10.outputCount; ++var6) { + if (var9 == var10.keys[var6]) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.strVals[var6]; + var10 = null; + break; + } + } + + if (var10 != null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10.defaultStr; + } + + return 1; + } else if (var0 != ScriptOpcodes.ENUM) { + if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + EnumComposition var4 = getEnum(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.size(); + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 4; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var6 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + EnumComposition var7 = getEnum(var5); + if (var3 == var7.inputType && var9 == var7.outputType) { + for(int var8 = 0; var8 < var7.outputCount; ++var8) { + if (var6 == var7.keys[var8]) { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.strVals[var8]; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.intVals[var8]; + } + + var7 = null; + break; + } + } + + if (var7 != null) { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.defaultStr; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var7.defaultInt; + } + } + + return 1; + } else { + if (var9 == 115) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "null"; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } + + @ObfuscatedName("ib") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIIB)V", + garbageValue = "4" + ) + @Export("insertMenuItemNoShift") + public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { + WorldMapEvent.insertMenuItem(var0, var1, var2, var3, var4, var5, false); + } + + @ObfuscatedName("iw") + @ObfuscatedSignature( + descriptor = "(Lhz;IIZB)V", + garbageValue = "1" + ) + @Export("alignWidgetSize") + static void alignWidgetSize(Widget var0, int var1, int var2, boolean var3) { + int var4 = var0.width; + int var5 = var0.height; + if (var0.widthAlignment == 0) { + var0.width = var0.rawWidth; + } else if (var0.widthAlignment == 1) { + var0.width = var1 - var0.rawWidth; + } else if (var0.widthAlignment == 2) { + var0.width = var0.rawWidth * var1 >> 14; + } + + if (var0.heightAlignment == 0) { + var0.height = var0.rawHeight; + } else if (var0.heightAlignment == 1) { + var0.height = var2 - var0.rawHeight; + } else if (var0.heightAlignment == 2) { + var0.height = var2 * var0.rawHeight >> 14; + } + + if (var0.widthAlignment == 4) { + var0.width = var0.field2610 * var0.height / var0.field2611; + } + + if (var0.heightAlignment == 4) { + var0.height = var0.field2611 * var0.width / var0.field2610; + } + + if (var0.contentType == 1337) { + Client.viewportWidget = var0; + } + + if (var3 && var0.onResize != null && (var4 != var0.width || var5 != var0.height)) { + ScriptEvent var6 = new ScriptEvent(); + var6.widget = var0; + var6.args = var0.onResize; + Client.scriptEvents.addFirst(var6); + } + + } } diff --git a/runescape-client/src/main/java/WorldMapRectangle.java b/runescape-client/src/main/java/WorldMapRectangle.java index cb925cfab9..a78bf883a0 100644 --- a/runescape-client/src/main/java/WorldMapRectangle.java +++ b/runescape-client/src/main/java/WorldMapRectangle.java @@ -1,206 +1,192 @@ +import java.awt.Desktop; +import java.awt.Desktop.Action; +import java.awt.image.BufferedImage; +import java.awt.image.PixelGrabber; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.net.URI; +import javax.imageio.ImageIO; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("as") +@ObfuscatedName("aq") @Implements("WorldMapRectangle") public final class WorldMapRectangle { - @ObfuscatedName("sa") - @ObfuscatedSignature( - descriptor = "Lma;" - ) - @Export("worldMap") - static WorldMap worldMap; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 841729037 - ) - @Export("width") - int width; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 618067361 - ) - @Export("height") - int height; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1268324115 - ) - @Export("x") - int x; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 235337233 - ) - @Export("y") - int y; - // $FF: synthetic field - @ObfuscatedSignature( - descriptor = "Lai;" - ) - final WorldMapManager this$0; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1552197653 + ) + @Export("width") + int width; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 522429537 + ) + @Export("height") + int height; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1426976537 + ) + @Export("x") + int x; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1260779731 + ) + @Export("y") + int y; + // $FF: synthetic field + @ObfuscatedSignature( + descriptor = "Lai;" + ) + final WorldMapManager this$0; - @ObfuscatedSignature( - descriptor = "(Lai;)V" - ) - WorldMapRectangle(WorldMapManager var1) { - this.this$0 = var1; // L: 303 - } + @ObfuscatedSignature( + descriptor = "(Lai;)V" + ) + WorldMapRectangle(WorldMapManager var1) { + this.this$0 = var1; + } - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "470419605" - ) - static int method331(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1124 - if (var0 == ScriptOpcodes.CC_GETTARGETMASK) { // L: 1125 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = ServerPacket.Widget_unpackTargetMask(FaceNormal.getWidgetFlags(var3)); // L: 1126 - return 1; // L: 1127 - } else if (var0 != ScriptOpcodes.CC_GETOP) { // L: 1129 - if (var0 == ScriptOpcodes.CC_GETOPBASE) { // L: 1136 - if (var3.dataText == null) { // L: 1137 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.dataText; // L: 1138 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BI)Llm;", + garbageValue = "-1825283733" + ) + @Export("convertJpgToSprite") + public static final SpritePixels convertJpgToSprite(byte[] var0) { + BufferedImage var1 = null; - return 1; // L: 1139 - } else { - return 2; // L: 1141 - } - } else { - int var4 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 1130 - --var4; // L: 1131 - if (var3.actions != null && var4 < var3.actions.length && var3.actions[var4] != null) { // L: 1132 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.actions[var4]; // L: 1133 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; - } + try { + var1 = ImageIO.read(new ByteArrayInputStream(var0)); + int var2 = var1.getWidth(); + int var3 = var1.getHeight(); + int[] var4 = new int[var3 * var2]; + PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); + var5.grabPixels(); + return new SpritePixels(var4, var2, var3); + } catch (IOException var7) { + ; + } catch (InterruptedException var8) { + ; + } - return 1; // L: 1134 - } - } + return new SpritePixels(0, 0); + } - @ObfuscatedName("ab") - @ObfuscatedSignature( - descriptor = "([BIII)I", - garbageValue = "-738122321" - ) - static int method334(byte[] var0, int var1, int var2) { - int var3 = -1; // L: 45 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ZZI)V", + garbageValue = "1269350728" + ) + @Export("openURL") + public static void openURL(String var0, boolean var1, boolean var2) { + if (var1) { + if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Action.BROWSE)) { + try { + Desktop.getDesktop().browse(new URI(var0)); + return; + } catch (Exception var4) { + ; + } + } - for (int var4 = var1; var4 < var2; ++var4) { // L: 46 - var3 = var3 >>> 8 ^ Buffer.crc32Table[(var3 ^ var0[var4]) & 255]; // L: 47 - } + if (class60.field454.startsWith("win")) { + ClientPreferences.method1972(var0, 0); + } else if (class60.field454.startsWith("mac")) { + class204.method3888(var0, 1, "openjs"); + } else { + ClientPreferences.method1972(var0, 2); + } + } else { + ClientPreferences.method1972(var0, 3); + } - var3 = ~var3; // L: 49 - return var3; // L: 50 - } + } - @ObfuscatedName("fu") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1843949362" - ) - @Export("logOut") - static final void logOut() { - Client.packetWriter.close(); // L: 2860 - FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); // L: 2863 - MusicPatchPcmStream.method3953(); // L: 2865 - UserComparator2.method5959(); // L: 2866 - ObjectComposition.ObjectDefinition_cached.clear(); // L: 2868 - ObjectComposition.ObjectDefinition_cachedModelData.clear(); // L: 2869 - ObjectComposition.ObjectDefinition_cachedEntities.clear(); // L: 2870 - ObjectComposition.ObjectDefinition_cachedModels.clear(); // L: 2871 - WorldMapIcon_1.method339(); // L: 2873 - TileItem.method2187(); // L: 2874 - SequenceDefinition.SequenceDefinition_cached.clear(); // L: 2876 - SequenceDefinition.SequenceDefinition_cachedFrames.clear(); // L: 2877 - WallDecoration.method3379(); // L: 2879 - VarbitComposition.VarbitDefinition_cached.clear(); // L: 2881 - WorldMapID.method601(); // L: 2883 - HealthBarDefinition.method4509(); // L: 2884 - VarcInt.method4426(); // L: 2885 - StructComposition.StructDefinition_cached.clear(); // L: 2887 - StudioGame.method4185(); // L: 2889 - WorldMapElement.WorldMapElement_cachedSprites.clear(); // L: 2891 - PlayerComposition.PlayerAppearance_cachedModels.clear(); // L: 2894 - Widget.Widget_cachedSprites.clear(); // L: 2897 - Widget.Widget_cachedModels.clear(); // L: 2898 - Widget.Widget_cachedFonts.clear(); // L: 2899 - Widget.Widget_cachedSpriteMasks.clear(); // L: 2900 - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); // L: 2902 - Script.Script_cached.clear(); // L: 2903 - SceneTilePaint.archive0.clearFiles(); // L: 2904 - WorldMapSprite.archive1.clearFiles(); // L: 2905 - class330.archive3.clearFiles(); // L: 2906 - class227.archive4.clearFiles(); // L: 2907 - GameEngine.archive5.clearFiles(); // L: 2908 - class217.archive6.clearFiles(); // L: 2909 - BuddyRankComparator.archive7.clearFiles(); // L: 2910 - Messages.archive8.clearFiles(); // L: 2911 - GrandExchangeOfferUnitPriceComparator.archive9.clearFiles(); // L: 2912 - class92.archive10.clearFiles(); // L: 2913 - ItemContainer.archive11.clearFiles(); // L: 2914 - PacketBufferNode.archive12.clearFiles(); // L: 2915 - ArchiveLoader.scene.clear(); // L: 2917 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmc;", + garbageValue = "59696754" + ) + @Export("getPreferencesFile") + public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { + File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat"); + if (var3.exists()) { + try { + AccessFile var10 = new AccessFile(var3, "rw", 10000L); + return var10; + } catch (IOException var9) { + ; + } + } - for (int var0 = 0; var0 < 4; ++var0) { // L: 2918 - Client.collisionMaps[var0].clear(); - } + String var4 = ""; + if (JagexCache.cacheGamebuild == 33) { + var4 = "_rc"; + } else if (JagexCache.cacheGamebuild == 34) { + var4 = "_wip"; + } - System.gc(); // L: 2919 - SecureRandomCallable.method1220(2); // L: 2920 - Client.currentTrackGroupId = -1; // L: 2921 - Client.field883 = false; // L: 2922 + File var5 = new File(JagexCache.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); + AccessFile var6; + if (!var2 && var5.exists()) { + try { + var6 = new AccessFile(var5, "rw", 10000L); + return var6; + } catch (IOException var8) { + ; + } + } - for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) { // L: 2924 - if (var1.stream1 != null) { // L: 2925 - WorldMapManager.pcmStreamMixer.removeSubStream(var1.stream1); // L: 2926 - var1.stream1 = null; // L: 2927 - } + try { + var6 = new AccessFile(var3, "rw", 10000L); + return var6; + } catch (IOException var7) { + throw new RuntimeException(); + } + } - if (var1.stream2 != null) { // L: 2929 - WorldMapManager.pcmStreamMixer.removeSubStream(var1.stream2); // L: 2930 - var1.stream2 = null; // L: 2931 - } - } + @ObfuscatedName("fo") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1194982929" + ) + static final void method354() { + int var0 = Players.Players_count; + int[] var1 = Players.Players_indices; - ObjectSound.objectSounds.clear(); // L: 2934 - WorldMapCacheName.updateGameState(10); // L: 2936 - } // L: 2937 + for(int var2 = 0; var2 < var0; ++var2) { + Player var3 = Client.players[var1[var2]]; + if (var3 != null) { + class171.updateActorSequence(var3, 1); + } + } - @ObfuscatedName("hn") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1899321298" - ) - static void method332() { - int var0 = Players.Players_count; // L: 4714 - int[] var1 = Players.Players_indices; // L: 4715 + } - for (int var2 = 0; var2 < var0; ++var2) { // L: 4716 - if (var1[var2] != Client.combatTargetPlayerIndex && var1[var2] != Client.localPlayerIndex) { // L: 4717 - ClientPreferences.addPlayerToScene(Client.players[var1[var2]], true); // L: 4718 - } - } + @ObfuscatedName("ij") + @ObfuscatedSignature( + descriptor = "(II)Ljava/lang/String;", + garbageValue = "-1726408780" + ) + @Export("formatItemStacks") + static final String formatItemStacks(int var0) { + String var1 = Integer.toString(var0); - } // L: 4720 + for(int var2 = var1.length() - 3; var2 > 0; var2 -= 3) { + var1 = var1.substring(0, var2) + "," + var1.substring(var2); + } - @ObfuscatedName("kb") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-159412455" - ) - @Export("runIntfCloseListeners") - static final void runIntfCloseListeners(int var0, int var1) { - if (class41.loadInterface(var0)) { // L: 10371 - class51.runComponentCloseListeners(class9.Widget_interfaceComponents[var0], var1); // L: 10372 - } - } // L: 10373 + if (var1.length() > 9) { + return " " + FileSystem.colorStartTag(65408) + var1.substring(0, var1.length() - 8) + "M" + " " + " (" + var1 + ")" + ""; + } else { + return var1.length() > 6 ? " " + FileSystem.colorStartTag(16777215) + var1.substring(0, var1.length() - 4) + "K" + " " + " (" + var1 + ")" + "" : " " + FileSystem.colorStartTag(16776960) + var1 + ""; + } + } } diff --git a/runescape-client/src/main/java/WorldMapRegion.java b/runescape-client/src/main/java/WorldMapRegion.java index c41aedf611..8456032158 100644 --- a/runescape-client/src/main/java/WorldMapRegion.java +++ b/runescape-client/src/main/java/WorldMapRegion.java @@ -1,5 +1,3 @@ -import java.io.File; -import java.io.IOException; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -12,1190 +10,1121 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("am") +@ObfuscatedName("as") @Implements("WorldMapRegion") public class WorldMapRegion { - @ObfuscatedName("rs") - @ObfuscatedGetter( - intValue = 625285525 - ) - static int field271; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lfr;" - ) - @Export("WorldMapRegion_cachedSprites") - public static DemotingHashTable WorldMapRegion_cachedSprites; - @ObfuscatedName("gq") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("mapSceneSprites") - static IndexedSprite[] mapSceneSprites; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1611303231 - ) - @Export("regionX") - int regionX; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1835973111 - ) - @Export("regionY") - int regionY; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lk;" - ) - @Export("worldMapData_0") - WorldMapData_0 worldMapData_0; - @ObfuscatedName("l") - @Export("worldMapData1List") - LinkedList worldMapData1List; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 900207131 - ) - @Export("backgroundColor") - int backgroundColor; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = -1432423267 - ) - @Export("pixelsPerTile") - int pixelsPerTile; - @ObfuscatedName("e") - @Export("icon0List") - List icon0List; - @ObfuscatedName("m") - @Export("iconMap") - HashMap iconMap; - @ObfuscatedName("c") - @Export("fonts") - final HashMap fonts; - - static { - WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256); // L: 26 - } - - WorldMapRegion(int var1, int var2, int var3, HashMap var4) { - this.regionX = var1; // L: 51 - this.regionY = var2; // L: 52 - this.worldMapData1List = new LinkedList(); // L: 53 - this.icon0List = new LinkedList(); // L: 54 - this.iconMap = new HashMap(); // L: 55 - this.backgroundColor = var3 | -16777216; // L: 56 - this.fonts = var4; // L: 57 - } // L: 58 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "-1252499183" - ) - void method534(int var1, int var2, int var3) { - SpritePixels var4 = PlayerType.method4170(this.regionX, this.regionY, this.pixelsPerTile); // L: 61 - if (var4 != null) { // L: 62 - if (var3 == this.pixelsPerTile * 64) { // L: 63 - var4.drawAt(var1, var2); // L: 64 - } else { - var4.drawScaledWorldmap(var1, var2, var3, var3); // L: 67 - } - - } - } // L: 69 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lk;Ljava/util/List;B)V", - garbageValue = "1" - ) - @Export("initWorldMapData0") - void initWorldMapData0(WorldMapData_0 var1, List var2) { - this.iconMap.clear(); // L: 72 - this.worldMapData_0 = var1; // L: 73 - this.addAllToIconList(var2); // L: 74 - } // L: 75 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Ljava/util/HashSet;Ljava/util/List;I)V", - garbageValue = "390590880" - ) - @Export("initWorldMapData1") - void initWorldMapData1(HashSet var1, List var2) { - this.iconMap.clear(); // L: 78 - Iterator var3 = var1.iterator(); // L: 79 - - while (var3.hasNext()) { - WorldMapData_1 var4 = (WorldMapData_1)var3.next(); // L: 80 - if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) { // L: 82 - this.worldMapData1List.add(var4); // L: 83 - } - } - - this.addAllToIconList(var2); // L: 87 - } // L: 88 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IIIILau;I)V", - garbageValue = "-1057419535" - ) - @Export("getIconsForTiles") - void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) { - for (int var6 = var1; var6 < var3 + var1; ++var6) { // L: 91 - label75: - for (int var7 = var2; var7 < var2 + var4; ++var7) { // L: 92 - for (int var8 = 0; var8 < var5.planes; ++var8) { // L: 93 - WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7]; // L: 94 - if (var9 != null && var9.length != 0) { // L: 95 - WorldMapDecoration[] var10 = var9; // L: 99 - - for (int var11 = 0; var11 < var10.length; ++var11) { // L: 100 - ObjectComposition var13; - boolean var14; - label66: { - WorldMapDecoration var12 = var10[var11]; // L: 101 - var13 = WorldMapDecoration.getObjectDefinition(var12.objectDefinitionId); // L: 103 - if (var13.transforms != null) { // L: 106 - int[] var15 = var13.transforms; // L: 108 - - for (int var16 = 0; var16 < var15.length; ++var16) { // L: 109 - int var17 = var15[var16]; // L: 110 - ObjectComposition var18 = WorldMapDecoration.getObjectDefinition(var17); // L: 112 - if (var18.mapIconId != -1) { // L: 113 - var14 = true; // L: 114 - break label66; - } - } - } else if (var13.mapIconId != -1) { // L: 121 - var14 = true; // L: 122 - break label66; // L: 123 - } - - var14 = false; // L: 125 - } - - if (var14) { // L: 127 - this.getIcon(var13, var8, var6, var7, var5); // L: 130 - continue label75; // L: 131 - } - } - } - } - } - } - - } // L: 138 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Ljm;IIILau;I)V", - garbageValue = "1801137136" - ) - @Export("getIcon") - void getIcon(ObjectComposition var1, int var2, int var3, int var4, AbstractWorldMapData var5) { - Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4); // L: 141 - Coord var7 = null; // L: 142 - if (this.worldMapData_0 != null) { // L: 143 - var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, var4 + this.worldMapData_0.regionYLow * 64); // L: 144 - } else { - WorldMapData_1 var8 = (WorldMapData_1)var5; // L: 147 - var7 = new Coord(var2 + var8.minPlane, var3 + var8.regionXLow * 64 + var8.getChunkXLow() * 8, var8.regionYLow * 64 + var4 + var8.getChunkYLow() * 8); // L: 148 - } - - WorldMapElement var9; - Object var10; - if (var1.transforms != null) { // L: 151 - var10 = new WorldMapIcon_1(var7, var6, var1.id, this); // L: 152 - } else { - var9 = UserComparator10.WorldMapElement_get(var1.mapIconId); // L: 155 - var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); // L: 156 - } - - var9 = UserComparator10.WorldMapElement_get(((AbstractWorldMapIcon)var10).getElement()); // L: 158 - if (var9.field3250) { // L: 159 - this.iconMap.put(new Coord(0, var3, var4), var10); // L: 160 - } - - } // L: 162 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1147787882" - ) - @Export("initWorldMapIcon1s") - void initWorldMapIcon1s() { - Iterator var1 = this.iconMap.values().iterator(); // L: 165 - - while (var1.hasNext()) { - AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); // L: 166 - if (var2 instanceof WorldMapIcon_1) { // L: 168 - ((WorldMapIcon_1)var2).init(); // L: 169 - } - } - - } // L: 173 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(Ljava/util/List;I)V", - garbageValue = "-1315662131" - ) - @Export("addAllToIconList") - void addAllToIconList(List var1) { - Iterator var2 = var1.iterator(); // L: 176 - - while (var2.hasNext()) { - WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next(); // L: 177 - if (UserComparator10.WorldMapElement_get(var3.element).field3250 && var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { // L: 179 182 - WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method474(var3.element)); - this.icon0List.add(var4); - } - } - - } // L: 188 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "1700" - ) - void method530() { - if (this.worldMapData_0 != null) { - this.worldMapData_0.reset(); - } else { - Iterator var1 = this.worldMapData1List.iterator(); - - while (var1.hasNext()) { - WorldMapData_1 var2 = (WorldMapData_1)var1.next(); // L: 196 - var2.reset(); - } - } - - } // L: 202 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lib;I)Z", - garbageValue = "-1344110120" - ) - @Export("loadGeography") - boolean loadGeography(AbstractArchive var1) { - this.iconMap.clear(); // L: 205 - if (this.worldMapData_0 != null) { - this.worldMapData_0.loadGeography(var1); - if (this.worldMapData_0.isFullyLoaded()) { // L: 208 - this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0); // L: 209 - return true; // L: 210 - } else { - return false; // L: 212 - } - } else { - boolean var2 = true; // L: 215 - - Iterator var3; - WorldMapData_1 var4; - for (var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) { // L: 216 220 - var4 = (WorldMapData_1)var3.next(); // L: 217 - var4.loadGeography(var1); // L: 219 - } - - if (var2) { // L: 223 - var3 = this.worldMapData1List.iterator(); // L: 224 - - while (var3.hasNext()) { - var4 = (WorldMapData_1)var3.next(); // L: 225 - this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4); // L: 227 - } - } - - return var2; // L: 231 - } - } - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(ILar;[Llo;Lib;Lib;B)V", - garbageValue = "71" - ) - @Export("drawTile") - void drawTile(int var1, WorldMapScaleHandler var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { - this.pixelsPerTile = var1; // L: 236 - if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { // L: 237 - if (PlayerType.method4170(this.regionX, this.regionY, var1) == null) { // L: 240 - boolean var6 = true; // L: 243 - var6 &= this.loadGeography(var4); // L: 244 - int var8; - if (this.worldMapData_0 != null) { // L: 247 - var8 = this.worldMapData_0.groupId; // L: 248 - } else { - var8 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; // L: 251 - } - - var6 &= var5.tryLoadGroup(var8); // L: 253 - if (var6) { // L: 254 - byte[] var7 = var5.takeFileFlat(var8); // L: 255 - WorldMapSprite var9 = DynamicObject.method2300(var7); // L: 256 - SpritePixels var10 = new SpritePixels(this.pixelsPerTile * 64, this.pixelsPerTile * 64); // L: 257 - var10.setRaster(); // L: 258 - if (this.worldMapData_0 != null) { // L: 259 - this.method471(var2, var3, var9); // L: 260 - } else { - this.method484(var2, var3, var9); // L: 263 - } - - int var11 = this.regionX; // L: 265 - int var12 = this.regionY; // L: 266 - int var13 = this.pixelsPerTile; // L: 267 - DemotingHashTable var14 = WorldMapRegion_cachedSprites; // L: 269 - long var16 = (long)(var13 << 16 | var11 << 8 | var12); // L: 273 - var14.put(var10, var16, var10.pixels.length * 4); // L: 275 - this.method530(); // L: 277 - } - } - } - } // L: 238 241 278 - - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(IIILjava/util/HashSet;I)V", - garbageValue = "-935222416" - ) - void method481(int var1, int var2, int var3, HashSet var4) { - if (var4 == null) { // L: 281 - var4 = new HashSet(); // L: 282 - } - - this.drawNonLinkMapIcons(var1, var2, var4, var3); // L: 284 - this.drawMapLinks(var1, var2, var4, var3); // L: 285 - } // L: 286 - - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "(Ljava/util/HashSet;III)V", - garbageValue = "-879873974" - ) - @Export("flashElements") - void flashElements(HashSet var1, int var2, int var3) { - Iterator var4 = this.iconMap.values().iterator(); // L: 289 - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); // L: 290 - if (var5.hasValidElement()) { // L: 292 - int var6 = var5.getElement(); // L: 293 - if (var1.contains(var6)) { // L: 294 - WorldMapElement var7 = UserComparator10.WorldMapElement_get(var6); // L: 295 - this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); // L: 296 - } - } - } - - this.method491(var1, var2, var3); // L: 300 - } // L: 301 - - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(Lar;[Llo;Laq;I)V", - garbageValue = "-830543594" - ) - void method471(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { - int var4; - int var5; - for (var4 = 0; var4 < 64; ++var4) { // L: 304 - for (var5 = 0; var5 < 64; ++var5) { // L: 305 - this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); // L: 306 - this.method487(var4, var5, this.worldMapData_0, var1); // L: 307 - } - } - - for (var4 = 0; var4 < 64; ++var4) { // L: 310 - for (var5 = 0; var5 < 64; ++var5) { // L: 311 - this.method485(var4, var5, this.worldMapData_0, var1, var2); // L: 312 - } - } - - } // L: 315 - - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "(Lar;[Llo;Laq;I)V", - garbageValue = "574283591" - ) - void method484(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { - Iterator var4 = this.worldMapData1List.iterator(); // L: 318 - - WorldMapData_1 var5; - int var6; - int var7; - while (var4.hasNext()) { - var5 = (WorldMapData_1)var4.next(); // L: 319 - - for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { // L: 321 - for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { // L: 322 - this.drawTileGround(var6, var7, var5, var1, var3); // L: 323 - this.method487(var6, var7, var5, var1); // L: 324 - } - } - } - - var4 = this.worldMapData1List.iterator(); // L: 329 - - while (var4.hasNext()) { - var5 = (WorldMapData_1)var4.next(); // L: 330 - - for (var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { // L: 332 - for (var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { // L: 333 - this.method485(var6, var7, var5, var1, var2); // L: 334 - } - } - } - - } // L: 339 - - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(IILau;Lar;[Llo;B)V", - garbageValue = "-14" - ) - void method485(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) { - this.method548(var1, var2, var3); // L: 342 - this.method552(var1, var2, var3, var5); // L: 343 - } // L: 344 - - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(IILau;Lar;Laq;I)V", - garbageValue = "143170882" - ) - @Export("drawTileGround") - void drawTileGround(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, WorldMapSprite var5) { - int var6 = var3.floorUnderlayIds[0][var1][var2] - 1; // L: 347 - int var7 = var3.floorOverlayIds[0][var1][var2] - 1; // L: 348 - if (var6 == -1 && var7 == -1) { // L: 349 - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor); // L: 350 - } - - int var8 = 16711935; // L: 352 - if (var7 != -1) { // L: 353 - var8 = GrandExchangeOffer.method186(var7, this.backgroundColor); // L: 354 - } - - if (var7 > -1 && var3.field178[0][var1][var2] == 0) { // L: 356 - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); // L: 357 - } else { - int var9 = this.method488(var1, var2, var3, var5); // L: 360 - if (var7 == -1) { // L: 361 - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); // L: 362 - } else { - var4.method780(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field178[0][var1][var2], var3.field177[0][var1][var2]); // L: 365 - } - } - } // L: 358 363 366 - - @ObfuscatedName("q") - @ObfuscatedSignature( - descriptor = "(IILau;Lar;I)V", - garbageValue = "1236225695" - ) - void method487(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) { - for (int var5 = 1; var5 < var3.planes; ++var5) { // L: 369 - int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; // L: 370 - if (var6 > -1) { // L: 371 - int var7 = GrandExchangeOffer.method186(var6, this.backgroundColor); // L: 372 - if (var3.field178[var5][var1][var2] == 0) { // L: 373 - Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); // L: 374 - } else { - var4.method780(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field178[var5][var1][var2], var3.field177[var5][var1][var2]); // L: 377 - } - } - } - - } // L: 381 - - @ObfuscatedName("g") - @ObfuscatedSignature( - descriptor = "(IILau;Laq;I)I", - garbageValue = "372915391" - ) - int method488(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { - return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); // L: 384 385 387 - } - - @ObfuscatedName("o") - @ObfuscatedSignature( - descriptor = "(IILau;[Llo;B)V", - garbageValue = "109" - ) - void method552(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { - for (int var5 = 0; var5 < var3.planes; ++var5) { // L: 391 - WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; // L: 392 - if (var6 != null && var6.length != 0) { // L: 393 - WorldMapDecoration[] var7 = var6; // L: 397 - - for (int var8 = 0; var8 < var7.length; ++var8) { // L: 398 - WorldMapDecoration var9 = var7[var8]; // L: 399 - int var11 = var9.decoration; // L: 402 - boolean var10 = var11 >= WorldMapDecorationType.field2764.id && var11 <= WorldMapDecorationType.field2755.id; // L: 404 - if (var10 || BoundaryObject.method3342(var9.decoration)) { // L: 406 - ObjectComposition var12 = WorldMapDecoration.getObjectDefinition(var9.objectDefinitionId); // L: 407 - if (var12.mapSceneId != -1) { // L: 408 - if (var12.mapSceneId != 46 && var12.mapSceneId != 52) { // L: 409 - var4[var12.mapSceneId].method6141(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); // L: 413 - } else { - var4[var12.mapSceneId].method6141(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); // L: 410 - } - } - } - } - } - } - - } // L: 421 - - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(IILau;I)V", - garbageValue = "160900359" - ) - void method548(int var1, int var2, AbstractWorldMapData var3) { - for (int var4 = 0; var4 < var3.planes; ++var4) { // L: 424 - WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; // L: 425 - if (var5 != null && var5.length != 0) { // L: 426 - WorldMapDecoration[] var6 = var5; // L: 430 - - for (int var7 = 0; var7 < var6.length; ++var7) { // L: 431 - WorldMapDecoration var8 = var6[var7]; // L: 432 - if (FriendLoginUpdate.method5290(var8.decoration)) { // L: 434 - ObjectComposition var9 = WorldMapDecoration.getObjectDefinition(var8.objectDefinitionId); // L: 435 - int var10 = var9.int1 != 0 ? -3407872 : -3355444; // L: 436 - if (var8.decoration == WorldMapDecorationType.field2761.id) { // L: 437 - this.method503(var1, var2, var8.rotation, var10); // L: 438 - } - - if (var8.decoration == WorldMapDecorationType.field2746.id) { // L: 440 - this.method503(var1, var2, var8.rotation, -3355444); // L: 441 - this.method503(var1, var2, var8.rotation + 1, var10); // L: 442 - } - - if (var8.decoration == WorldMapDecorationType.field2747.id) { // L: 444 - if (var8.rotation == 0) { // L: 445 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var10); - } - - if (var8.rotation == 1) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), 1, var10); // L: 446 - } - - if (var8.rotation == 2) { // L: 447 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); - } - - if (var8.rotation == 3) { // L: 448 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); - } - } - - if (var8.decoration == WorldMapDecorationType.field2748.id) { // L: 450 - int var11 = var8.rotation % 2; // L: 451 - int var12; - if (var11 == 0) { // L: 452 - for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { // L: 453 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var12, 1, var10); // L: 454 - } - } else { - for (var12 = 0; var12 < this.pixelsPerTile; ++var12) { // L: 458 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, var12 + this.pixelsPerTile * (63 - var2), 1, var10); // L: 459 - } - } - } - } - } - } - } - - } // L: 468 - - @ObfuscatedName("aj") - @ObfuscatedSignature( - descriptor = "(IILjava/util/HashSet;II)V", - garbageValue = "1579796963" - ) - @Export("drawNonLinkMapIcons") - void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) { - float var5 = (float)var4 / 64.0F; // L: 471 - float var6 = var5 / 2.0F; // L: 472 - Iterator var7 = this.iconMap.entrySet().iterator(); // L: 473 - - while (var7.hasNext()) { - Entry var8 = (Entry)var7.next(); // L: 474 - Coord var9 = (Coord)var8.getKey(); // L: 476 - int var10 = (int)((float)var9.x * var5 + (float)var1 - var6); // L: 477 - int var11 = (int)((float)(var2 + var4) - var5 * (float)var9.y - var6); // L: 478 - AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); // L: 479 - if (var12 != null && var12.hasValidElement()) { // L: 480 - var12.screenX = var10; // L: 481 - var12.screenY = var11; // L: 482 - WorldMapElement var13 = UserComparator10.WorldMapElement_get(var12.getElement()); // L: 483 - if (!var3.contains(var13.getObjectId())) { // L: 484 - this.method493(var12, var10, var11, var5); // L: 485 - } - } - } - - } // L: 490 - - @ObfuscatedName("ax") - @ObfuscatedSignature( - descriptor = "(Ljava/util/HashSet;III)V", - garbageValue = "-1282937551" - ) - void method491(HashSet var1, int var2, int var3) { - Iterator var4 = this.icon0List.iterator(); // L: 493 - - while (var4.hasNext()) { - AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); // L: 494 - if (var5.hasValidElement()) { // L: 496 - WorldMapElement var6 = UserComparator10.WorldMapElement_get(var5.getElement()); // L: 497 - if (var6 != null && var1.contains(var6.getObjectId())) { // L: 498 - this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); // L: 499 - } - } - } - - } // L: 503 - - @ObfuscatedName("ag") - @ObfuscatedSignature( - descriptor = "(Liy;IIIII)V", - garbageValue = "1953515805" - ) - @Export("drawBackgroundCircle") - void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) { - SpritePixels var6 = var1.getSpriteBool(false); // L: 506 - if (var6 != null) { // L: 507 - var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2); // L: 510 - if (var4 % var5 < var5 / 2) { // L: 511 - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128); // L: 512 - Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256); // L: 513 - } - - } - } // L: 508 515 - - @ObfuscatedName("au") - @ObfuscatedSignature( - descriptor = "(Lap;IIFI)V", - garbageValue = "66792937" - ) - void method493(AbstractWorldMapIcon var1, int var2, int var3, float var4) { - WorldMapElement var5 = UserComparator10.WorldMapElement_get(var1.getElement()); // L: 518 - this.method494(var5, var2, var3); // L: 519 - this.method580(var1, var5, var2, var3, var4); // L: 520 - } // L: 521 - - @ObfuscatedName("as") - @ObfuscatedSignature( - descriptor = "(Liy;IIB)V", - garbageValue = "0" - ) - void method494(WorldMapElement var1, int var2, int var3) { - SpritePixels var4 = var1.getSpriteBool(false); // L: 524 - if (var4 != null) { // L: 525 - int var5 = this.method497(var4, var1.horizontalAlignment); // L: 526 - int var6 = this.method498(var4, var1.verticalAlignment); // L: 527 - var4.drawTransBgAt(var5 + var2, var3 + var6); // L: 528 - } - - } // L: 530 - - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(Lap;Liy;IIFB)V", - garbageValue = "19" - ) - void method580(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { - WorldMapLabel var6 = var1.getLabel(); // L: 533 - if (var6 != null) { // L: 534 - if (var6.size.method254(var5)) { // L: 537 - Font var7 = (Font)this.fonts.get(var6.size); // L: 540 - var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3251, 0, 1, 0, var7.ascent / 2); // L: 541 - } - } - } // L: 535 538 542 - - @ObfuscatedName("ac") - @ObfuscatedSignature( - descriptor = "(IILjava/util/HashSet;II)V", - garbageValue = "-907563765" - ) - @Export("drawMapLinks") - void drawMapLinks(int var1, int var2, HashSet var3, int var4) { - float var5 = (float)var4 / 64.0F; // L: 545 - Iterator var6 = this.icon0List.iterator(); // L: 546 - - while (var6.hasNext()) { - AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); // L: 547 - if (var7.hasValidElement()) { // L: 549 - int var8 = var7.coord2.x % 64; // L: 550 - int var9 = var7.coord2.y % 64; // L: 551 - var7.screenX = (int)(var5 * (float)var8 + (float)var1); // L: 552 - var7.screenY = (int)(var5 * (float)(63 - var9) + (float)var2); // L: 553 - if (!var3.contains(var7.getElement())) { // L: 554 - this.method493(var7, var7.screenX, var7.screenY, var5); // L: 557 - } - } - } - - } // L: 560 - - @ObfuscatedName("ak") - @ObfuscatedSignature( - descriptor = "(Llm;Ljt;I)I", - garbageValue = "-1268952607" - ) - int method497(SpritePixels var1, HorizontalAlignment var2) { - switch(var2.value) { // L: 563 - case 1: - return -var1.subWidth / 2; // L: 570 - case 2: - return 0; // L: 574 - default: - return -var1.subWidth; // L: 566 - } - } - - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(Llm;Lit;S)I", - garbageValue = "-11626" - ) - int method498(SpritePixels var1, VerticalAlignment var2) { - switch(var2.value) { // L: 580 - case 1: - return 0; // L: 583 - case 2: - return -var1.subHeight / 2; // L: 587 - default: - return -var1.subHeight; // L: 591 - } - } - - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "(II)Lah;", - garbageValue = "-951001387" - ) - WorldMapLabel method474(int var1) { - WorldMapElement var2 = UserComparator10.WorldMapElement_get(var1); // L: 597 - return this.createMapLabel(var2); // L: 598 - } - - @ObfuscatedName("ah") - @ObfuscatedSignature( - descriptor = "(Liy;I)Lah;", - garbageValue = "-1657578860" - ) - @Export("createMapLabel") - WorldMapLabel createMapLabel(WorldMapElement var1) { - if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { // L: 602 - int var3 = var1.textSize; // L: 606 - WorldMapLabelSize[] var4 = new WorldMapLabelSize[]{WorldMapLabelSize.WorldMapLabelSize_medium, WorldMapLabelSize.WorldMapLabelSize_large, WorldMapLabelSize.WorldMapLabelSize_small}; // L: 611 - WorldMapLabelSize[] var5 = var4; // L: 613 - int var6 = 0; - - WorldMapLabelSize var2; - while (true) { - if (var6 >= var5.length) { - var2 = null; // L: 624 - break; - } - - WorldMapLabelSize var7 = var5[var6]; // L: 615 - if (var3 == var7.field133) { // L: 617 - var2 = var7; // L: 618 - break; - } - - ++var6; // L: 614 - } - - if (var2 == null) { // L: 627 - return null; // L: 628 - } else { - Font var14 = (Font)this.fonts.get(var2); // L: 630 - if (var14 == null) { // L: 631 - return null; // L: 632 - } else { - var6 = var14.lineCount(var1.name, 1000000); // L: 634 - String[] var15 = new String[var6]; // L: 635 - var14.breakLines(var1.name, (int[])null, var15); // L: 636 - int var8 = var15.length * var14.ascent / 2; // L: 637 - int var9 = 0; // L: 638 - String[] var10 = var15; // L: 640 - - for (int var11 = 0; var11 < var10.length; ++var11) { // L: 641 - String var12 = var10[var11]; // L: 642 - int var13 = var14.stringWidth(var12); // L: 644 - if (var13 > var9) { // L: 645 - var9 = var13; // L: 646 - } - } - - return new WorldMapLabel(var1.name, var9, var8, var2); // L: 651 - } - } - } else { - return null; // L: 603 - } - } - - @ObfuscatedName("am") - @ObfuscatedSignature( - descriptor = "(IIIIII)Ljava/util/List;", - garbageValue = "-1578345699" - ) - List method501(int var1, int var2, int var3, int var4, int var5) { - LinkedList var6 = new LinkedList(); // L: 655 - if (var4 >= var1 && var5 >= var2) { // L: 656 - if (var4 < var3 + var1 && var5 < var3 + var2) { // L: 657 - Iterator var7 = this.iconMap.values().iterator(); // L: 658 - - AbstractWorldMapIcon var8; - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); // L: 659 - if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { // L: 661 - var6.add(var8); // L: 662 - } - } - - var7 = this.icon0List.iterator(); // L: 666 - - while (var7.hasNext()) { - var8 = (AbstractWorldMapIcon)var7.next(); // L: 667 - if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { // L: 669 - var6.add(var8); // L: 670 - } - } - - return var6; // L: 674 - } else { - return var6; // L: 665 - } - } else { - return var6; - } - } - - @ObfuscatedName("aa") - @ObfuscatedSignature( - descriptor = "(I)Ljava/util/List;", - garbageValue = "1048345279" - ) - @Export("icons") - List icons() { - LinkedList var1 = new LinkedList(); // L: 678 - var1.addAll(this.icon0List); // L: 679 - var1.addAll(this.iconMap.values()); // L: 680 - return var1; // L: 681 - } - - @ObfuscatedName("ao") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-660950240" - ) - void method503(int var1, int var2, int var3, int var4) { - var3 %= 4; // L: 685 - if (var3 == 0) { // L: 686 - Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 1) { // L: 687 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 2) { // L: 688 - Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); - } - - if (var3 == 3) { - Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, this.pixelsPerTile, var4); // L: 689 - } - - } // L: 690 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmy;", - garbageValue = "-1411778137" - ) - @Export("getPreferencesFile") - public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) { - File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat"); // L: 183 - if (var3.exists()) { // L: 184 - try { - AccessFile var10 = new AccessFile(var3, "rw", 10000L); // L: 186 - return var10; // L: 187 - } catch (IOException var9) { // L: 189 - } - } - - String var4 = ""; // L: 191 - if (JagexCache.cacheGamebuild == 33) { // L: 192 - var4 = "_rc"; - } else if (JagexCache.cacheGamebuild == 34) { // L: 193 - var4 = "_wip"; - } - - File var5 = new File(ItemLayer.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat"); // L: 194 - AccessFile var6; - if (!var2 && var5.exists()) { // L: 195 - try { - var6 = new AccessFile(var5, "rw", 10000L); // L: 197 - return var6; // L: 198 - } catch (IOException var8) { // L: 200 - } - } - - try { - var6 = new AccessFile(var3, "rw", 10000L); // L: 203 - return var6; // L: 204 - } catch (IOException var7) { // L: 206 - throw new RuntimeException(); // L: 207 - } - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1183681872" - ) - public static void method588() { - class206.midiPcmStream.clear(); // L: 36 - class206.musicPlayerStatus = 1; // L: 37 - Varps.musicTrackArchive = null; // L: 38 - } // L: 39 - - @ObfuscatedName("ir") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;IIIII)V", - garbageValue = "-1426103660" - ) - @Export("insertMenuItemNoShift") - public static final void insertMenuItemNoShift(String var0, String var1, int var2, int var3, int var4, int var5) { - WorldMapID.insertMenuItem(var0, var1, var2, var3, var4, var5, false); // L: 8506 - } // L: 8507 - - @ObfuscatedName("jg") - @ObfuscatedSignature( - descriptor = "(Lhe;IIB)V", - garbageValue = "54" - ) - @Export("Widget_addToMenu") - static final void Widget_addToMenu(Widget var0, int var1, int var2) { - if (var0.buttonType == 1) { // L: 9709 - insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); // L: 9710 - } - - String var3; - if (var0.buttonType == 2 && !Client.isSpellSelected) { // L: 9713 - var3 = StudioGame.Widget_getSpellActionName(var0); // L: 9714 - if (var3 != null) { // L: 9715 - insertMenuItemNoShift(var3, class23.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); // L: 9716 - } - } - - if (var0.buttonType == 3) { // L: 9720 - insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); // L: 9721 - } - - if (var0.buttonType == 4) { // L: 9724 - insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); // L: 9725 - } - - if (var0.buttonType == 5) { // L: 9728 - insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); // L: 9729 - } - - if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { // L: 9732 - insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); // L: 9733 - } - - int var4; - int var5; - int var6; - int var7; - int var15; - if (var0.type == 2) { // L: 9736 - var15 = 0; // L: 9737 - - for (var4 = 0; var4 < var0.height; ++var4) { // L: 9738 - for (var5 = 0; var5 < var0.width; ++var5) { // L: 9739 - var6 = (var0.paddingX + 32) * var5; // L: 9740 - var7 = (var0.paddingY + 32) * var4; // L: 9741 - if (var15 < 20) { // L: 9742 - var6 += var0.inventoryXOffsets[var15]; // L: 9743 - var7 += var0.inventoryYOffsets[var15]; // L: 9744 - } - - if (var1 >= var6 && var2 >= var7 && var1 < var6 + 32 && var2 < var7 + 32) { // L: 9746 - Client.dragItemSlotDestination = var15; // L: 9747 - Occluder.hoveredItemContainer = var0; // L: 9748 - if (var0.itemIds[var15] > 0) { // L: 9749 - ItemComposition var8 = SecureRandomCallable.ItemDefinition_get(var0.itemIds[var15] - 1); // L: 9750 - if (Client.isItemSelected == 1 && class52.method844(FaceNormal.getWidgetFlags(var0))) { // L: 9751 - if (var0.id != WorldMapLabelSize.selectedItemWidget || var15 != ChatChannel.selectedItemSlot) { // L: 9752 - insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + class23.colorStartTag(16748608) + var8.name, 31, var8.id, var15, var0.id); // L: 9753 - } - } else if (Client.isSpellSelected && class52.method844(FaceNormal.getWidgetFlags(var0))) { // L: 9757 - if ((Player.selectedSpellFlags & 16) == 16) { // L: 9758 - insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + class23.colorStartTag(16748608) + var8.name, 32, var8.id, var15, var0.id); // L: 9759 - } - } else { - String[] var9 = var8.inventoryActions; // L: 9764 - int var10 = -1; // L: 9765 - if (Client.shiftClickDrop && class169.method3529()) { // L: 9766 - var10 = var8.getShiftClickIndex(); // L: 9767 - } - - if (class52.method844(FaceNormal.getWidgetFlags(var0))) { // L: 9769 - for (int var11 = 4; var11 >= 3; --var11) { // L: 9770 - if (var11 != var10) { // L: 9771 - class7.addWidgetItemMenuItem(var0, var8, var15, var11, false); // L: 9772 - } - } - } - - int var12 = FaceNormal.getWidgetFlags(var0); // L: 9776 - boolean var22 = (var12 >> 31 & 1) != 0; // L: 9778 - if (var22) { // L: 9780 - insertMenuItemNoShift("Use", class23.colorStartTag(16748608) + var8.name, 38, var8.id, var15, var0.id); // L: 9781 - } - - Object var10000 = null; // L: 9784 - int var13; - if (class52.method844(FaceNormal.getWidgetFlags(var0))) { - for (var13 = 2; var13 >= 0; --var13) { // L: 9785 - if (var10 != var13) { // L: 9786 - class7.addWidgetItemMenuItem(var0, var8, var15, var13, false); // L: 9787 - } - } - - if (var10 >= 0) { // L: 9789 - class7.addWidgetItemMenuItem(var0, var8, var15, var10, true); // L: 9790 - } - } - - var9 = var0.itemActions; // L: 9793 - if (var9 != null) { // L: 9794 - for (var13 = 4; var13 >= 0; --var13) { // L: 9795 - if (var9[var13] != null) { // L: 9796 - byte var14 = 0; // L: 9797 - if (var13 == 0) { // L: 9798 - var14 = 39; - } - - if (var13 == 1) { // L: 9799 - var14 = 40; - } - - if (var13 == 2) { // L: 9800 - var14 = 41; - } - - if (var13 == 3) { // L: 9801 - var14 = 42; - } - - if (var13 == 4) { // L: 9802 - var14 = 43; - } - - insertMenuItemNoShift(var9[var13], class23.colorStartTag(16748608) + var8.name, var14, var8.id, var15, var0.id); // L: 9803 - } - } - } - - insertMenuItemNoShift("Examine", class23.colorStartTag(16748608) + var8.name, 1005, var8.id, var15, var0.id); // L: 9808 - } - } - } - - ++var15; // L: 9813 - } - } - } - - if (var0.isIf3) { // L: 9817 - if (Client.isSpellSelected) { // L: 9818 - if (Decimator.method2598(FaceNormal.getWidgetFlags(var0)) && (Player.selectedSpellFlags & 32) == 32) { // L: 9819 - insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); // L: 9820 - } - } else { - for (var15 = 9; var15 >= 5; --var15) { // L: 9825 - var6 = FaceNormal.getWidgetFlags(var0); // L: 9829 - boolean var20 = (var6 >> var15 + 1 & 1) != 0; // L: 9831 - String var18; - if (!var20 && var0.onOp == null) { // L: 9833 - var18 = null; // L: 9834 - } else if (var0.actions != null && var0.actions.length > var15 && var0.actions[var15] != null && var0.actions[var15].trim().length() != 0) { // L: 9837 - var18 = var0.actions[var15]; // L: 9841 - } else { - var18 = null; // L: 9838 - } - - if (var18 != null) { // L: 9844 - insertMenuItemNoShift(var18, var0.dataText, 1007, var15 + 1, var0.childIndex, var0.id); // L: 9845 - } - } - - var3 = StudioGame.Widget_getSpellActionName(var0); // L: 9849 - if (var3 != null) { // L: 9850 - insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); // L: 9851 - } - - for (var4 = 4; var4 >= 0; --var4) { // L: 9854 - var7 = FaceNormal.getWidgetFlags(var0); // L: 9858 - boolean var21 = (var7 >> var4 + 1 & 1) != 0; // L: 9860 - String var16; - if (!var21 && var0.onOp == null) { // L: 9862 - var16 = null; // L: 9863 - } else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) { // L: 9866 - var16 = var0.actions[var4]; // L: 9870 - } else { - var16 = null; // L: 9867 - } - - if (var16 != null) { // L: 9873 - WorldMapID.insertMenuItem(var16, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.prioritizeMenuEntry); // L: 9874 - } - } - - var5 = FaceNormal.getWidgetFlags(var0); // L: 9879 - boolean var19 = (var5 & 1) != 0; // L: 9881 - if (var19) { // L: 9883 - insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); // L: 9884 - } - } - } - - } // L: 9889 - - @ObfuscatedName("lf") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1135522977" - ) - static void method589(int var0) { - for (IntegerNode var1 = (IntegerNode)Client.widgetFlags.first(); var1 != null; var1 = (IntegerNode)Client.widgetFlags.next()) { // L: 11045 - if ((var1.key >> 48 & 65535L) == (long)var0) { // L: 11046 - var1.remove(); // L: 11047 - } - } - - } // L: 11050 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lfh;" + ) + @Export("WorldMapRegion_cachedSprites") + static DemotingHashTable WorldMapRegion_cachedSprites = new DemotingHashTable(37748736, 256); + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1299522103 + ) + @Export("regionX") + int regionX; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 861898053 + ) + @Export("regionY") + int regionY; + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lo;" + ) + @Export("worldMapData_0") + WorldMapData_0 worldMapData_0; + @ObfuscatedName("q") + @Export("worldMapData1List") + LinkedList worldMapData1List; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -360836645 + ) + @Export("backgroundColor") + int backgroundColor; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = 1984621095 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("b") + @Export("icon0List") + List icon0List; + @ObfuscatedName("a") + @Export("iconMap") + HashMap iconMap; + @ObfuscatedName("w") + @Export("fonts") + final HashMap fonts; + + WorldMapRegion(int var1, int var2, int var3, HashMap var4) { + this.regionX = var1; + this.regionY = var2; + this.worldMapData1List = new LinkedList(); + this.icon0List = new LinkedList(); + this.iconMap = new HashMap(); + this.backgroundColor = var3 | -16777216; + this.fonts = var4; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IIIB)V", + garbageValue = "46" + ) + void method506(int var1, int var2, int var3) { + SpritePixels var4 = LoginPacket.method3816(this.regionX, this.regionY, this.pixelsPerTile); + if (var4 != null) { + if (var3 == this.pixelsPerTile * 64) { + var4.drawAt(var1, var2); + } else { + var4.drawScaledWorldmap(var1, var2, var3, var3); + } + + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lo;Ljava/util/List;I)V", + garbageValue = "1448874199" + ) + @Export("initWorldMapData0") + void initWorldMapData0(WorldMapData_0 var1, List var2) { + this.iconMap.clear(); + this.worldMapData_0 = var1; + this.addAllToIconList(var2); + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Ljava/util/HashSet;Ljava/util/List;I)V", + garbageValue = "-905581142" + ) + @Export("initWorldMapData1") + void initWorldMapData1(HashSet var1, List var2) { + this.iconMap.clear(); + Iterator var3 = var1.iterator(); + + while(var3.hasNext()) { + WorldMapData_1 var4 = (WorldMapData_1)var3.next(); + if (var4.getRegionX() == this.regionX && var4.getRegionY() == this.regionY) { + this.worldMapData1List.add(var4); + } + } + + this.addAllToIconList(var2); + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(IIIILac;I)V", + garbageValue = "-747714746" + ) + @Export("getIconsForTiles") + void getIconsForTiles(int var1, int var2, int var3, int var4, AbstractWorldMapData var5) { + for(int var6 = var1; var6 < var3 + var1; ++var6) { + label50: + for(int var7 = var2; var7 < var2 + var4; ++var7) { + for(int var8 = 0; var8 < var5.planes; ++var8) { + WorldMapDecoration[] var9 = var5.decorations[var8][var6][var7]; + if (var9 != null && var9.length != 0) { + WorldMapDecoration[] var10 = var9; + + for(int var11 = 0; var11 < var10.length; ++var11) { + WorldMapDecoration var12 = var10[var11]; + ObjectComposition var13 = WorldMapAreaData.getObjectDefinition(var12.objectDefinitionId); + if (MidiPcmStream.method4031(var13)) { + this.getIcon(var13, var8, var6, var7, var5); + continue label50; + } + } + } + } + } + } + + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Ljg;IIILac;S)V", + garbageValue = "-25437" + ) + @Export("getIcon") + void getIcon(ObjectComposition var1, int var2, int var3, int var4, AbstractWorldMapData var5) { + Coord var6 = new Coord(var2, var3 + this.regionX * 64, this.regionY * 64 + var4); + Coord var7 = null; + if (this.worldMapData_0 != null) { + var7 = new Coord(this.worldMapData_0.minPlane + var2, var3 + this.worldMapData_0.regionXLow * 64, var4 + this.worldMapData_0.regionYLow * 64); + } else { + WorldMapData_1 var8 = (WorldMapData_1)var5; + var7 = new Coord(var2 + var8.minPlane, var8.regionXLow * 64 + var3 + var8.getChunkXLow() * 8, var4 + var8.regionYLow * 64 + var8.getChunkYLow() * 8); + } + + WorldMapElement var9; + Object var10; + if (var1.transforms != null) { + var10 = new WorldMapIcon_1(var7, var6, var1.id, this); + } else { + var9 = InvDefinition.WorldMapElement_get(var1.mapIconId); + var10 = new WorldMapIcon_0(var7, var6, var9.objectId, this.createMapLabel(var9)); + } + + var9 = InvDefinition.WorldMapElement_get(((AbstractWorldMapIcon)var10).getElement()); + if (var9.field3250) { + this.iconMap.put(new Coord(0, var3, var4), var10); + } + + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1523999708" + ) + @Export("initWorldMapIcon1s") + void initWorldMapIcon1s() { + Iterator var1 = this.iconMap.values().iterator(); + + while(var1.hasNext()) { + AbstractWorldMapIcon var2 = (AbstractWorldMapIcon)var1.next(); + if (var2 instanceof WorldMapIcon_1) { + ((WorldMapIcon_1)var2).init(); + } + } + + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(Ljava/util/List;I)V", + garbageValue = "614836611" + ) + @Export("addAllToIconList") + void addAllToIconList(List var1) { + Iterator var2 = var1.iterator(); + + while(var2.hasNext()) { + WorldMapIcon_0 var3 = (WorldMapIcon_0)var2.next(); + if (InvDefinition.WorldMapElement_get(var3.element).field3250 && var3.coord2.x >> 6 == this.regionX && var3.coord2.y >> 6 == this.regionY) { + WorldMapIcon_0 var4 = new WorldMapIcon_0(var3.coord2, var3.coord2, var3.element, this.method535(var3.element)); + this.icon0List.add(var4); + } + } + + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1548540670" + ) + void method513() { + if (this.worldMapData_0 != null) { + this.worldMapData_0.reset(); + } else { + Iterator var1 = this.worldMapData1List.iterator(); + + while(var1.hasNext()) { + WorldMapData_1 var2 = (WorldMapData_1)var1.next(); + var2.reset(); + } + } + + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(Lig;I)Z", + garbageValue = "130952485" + ) + @Export("loadGeography") + boolean loadGeography(AbstractArchive var1) { + this.iconMap.clear(); + if (this.worldMapData_0 != null) { + this.worldMapData_0.loadGeography(var1); + if (this.worldMapData_0.isFullyLoaded()) { + this.getIconsForTiles(0, 0, 64, 64, this.worldMapData_0); + return true; + } else { + return false; + } + } else { + boolean var2 = true; + + Iterator var3; + WorldMapData_1 var4; + for(var3 = this.worldMapData1List.iterator(); var3.hasNext(); var2 &= var4.isFullyLoaded()) { + var4 = (WorldMapData_1)var3.next(); + var4.loadGeography(var1); + } + + if (var2) { + var3 = this.worldMapData1List.iterator(); + + while(var3.hasNext()) { + var4 = (WorldMapData_1)var3.next(); + this.getIconsForTiles(var4.getChunkX() * 8, var4.getChunkY() * 8, 8, 8, var4); + } + } + + return var2; + } + } + + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "(ILaf;[Lly;Lig;Lig;I)V", + garbageValue = "-1610882473" + ) + @Export("drawTile") + void drawTile(int var1, WorldMapScaleHandler var2, IndexedSprite[] var3, AbstractArchive var4, AbstractArchive var5) { + this.pixelsPerTile = var1; + if (this.worldMapData_0 != null || !this.worldMapData1List.isEmpty()) { + if (LoginPacket.method3816(this.regionX, this.regionY, var1) == null) { + boolean var6 = true; + var6 &= this.loadGeography(var4); + int var8; + if (this.worldMapData_0 != null) { + var8 = this.worldMapData_0.groupId; + } else { + var8 = ((AbstractWorldMapData)this.worldMapData1List.getFirst()).groupId; + } + + var6 &= var5.tryLoadGroup(var8); + if (var6) { + byte[] var7 = var5.takeFileFlat(var8); + WorldMapSprite var9; + if (var7 == null) { + var9 = new WorldMapSprite(); + } else { + var9 = new WorldMapSprite(WorldMapRectangle.convertJpgToSprite(var7).pixels); + } + + SpritePixels var11 = new SpritePixels(this.pixelsPerTile * 64, this.pixelsPerTile * 64); + var11.setRaster(); + if (this.worldMapData_0 != null) { + this.method617(var2, var3, var9); + } else { + this.method519(var2, var3, var9); + } + + GrandExchangeOfferNameComparator.method211(var11, this.regionX, this.regionY, this.pixelsPerTile); + this.method513(); + } + } + } + } + + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(IIILjava/util/HashSet;B)V", + garbageValue = "-78" + ) + void method516(int var1, int var2, int var3, HashSet var4) { + if (var4 == null) { + var4 = new HashSet(); + } + + this.drawNonLinkMapIcons(var1, var2, var4, var3); + this.drawMapLinks(var1, var2, var4, var3); + } + + @ObfuscatedName("x") + @ObfuscatedSignature( + descriptor = "(Ljava/util/HashSet;IIB)V", + garbageValue = "14" + ) + @Export("flashElements") + void flashElements(HashSet var1, int var2, int var3) { + Iterator var4 = this.iconMap.values().iterator(); + + while(var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + int var6 = var5.getElement(); + if (var1.contains(var6)) { + WorldMapElement var7 = InvDefinition.WorldMapElement_get(var6); + this.drawBackgroundCircle(var7, var5.screenX, var5.screenY, var2, var3); + } + } + } + + this.method527(var1, var2, var3); + } + + @ObfuscatedName("g") + @ObfuscatedSignature( + descriptor = "(Laf;[Lly;Lal;B)V", + garbageValue = "-124" + ) + void method617(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { + int var4; + int var5; + for(var4 = 0; var4 < 64; ++var4) { + for(var5 = 0; var5 < 64; ++var5) { + this.drawTileGround(var4, var5, this.worldMapData_0, var1, var3); + this.method611(var4, var5, this.worldMapData_0, var1); + } + } + + for(var4 = 0; var4 < 64; ++var4) { + for(var5 = 0; var5 < 64; ++var5) { + this.method590(var4, var5, this.worldMapData_0, var1, var2); + } + } + + } + + @ObfuscatedName("u") + @ObfuscatedSignature( + descriptor = "(Laf;[Lly;Lal;I)V", + garbageValue = "-1042910211" + ) + void method519(WorldMapScaleHandler var1, IndexedSprite[] var2, WorldMapSprite var3) { + Iterator var4 = this.worldMapData1List.iterator(); + + WorldMapData_1 var5; + int var6; + int var7; + while(var4.hasNext()) { + var5 = (WorldMapData_1)var4.next(); + + for(var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { + for(var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { + this.drawTileGround(var6, var7, var5, var1, var3); + this.method611(var6, var7, var5, var1); + } + } + } + + var4 = this.worldMapData1List.iterator(); + + while(var4.hasNext()) { + var5 = (WorldMapData_1)var4.next(); + + for(var6 = var5.getChunkX() * 8; var6 < var5.getChunkX() * 8 + 8; ++var6) { + for(var7 = var5.getChunkY() * 8; var7 < var5.getChunkY() * 8 + 8; ++var7) { + this.method590(var6, var7, var5, var1, var2); + } + } + } + + } + + @ObfuscatedName("t") + @ObfuscatedSignature( + descriptor = "(IILac;Laf;[Lly;I)V", + garbageValue = "-1638899903" + ) + void method590(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, IndexedSprite[] var5) { + this.method631(var1, var2, var3); + this.method555(var1, var2, var3, var5); + } + + @ObfuscatedName("p") + @ObfuscatedSignature( + descriptor = "(IILac;Laf;Lal;I)V", + garbageValue = "-2002564713" + ) + @Export("drawTileGround") + void drawTileGround(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4, WorldMapSprite var5) { + int var6 = var3.floorUnderlayIds[0][var1][var2] - 1; + int var7 = var3.floorOverlayIds[0][var1][var2] - 1; + if (var6 == -1 && var7 == -1) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, this.backgroundColor); + } + + int var8 = 16711935; + int var9; + if (var7 != -1) { + int var10 = this.backgroundColor; + FloorOverlayDefinition var11 = WallDecoration.method3449(var7); + if (var11 == null) { + var9 = var10; + } else if (var11.secondaryRgb >= 0) { + var9 = var11.secondaryRgb | -16777216; + } else { + int var13; + int var20; + if (var11.texture >= 0) { + var13 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var11.texture); + byte var14 = 96; + int var12; + if (var13 == -2) { + var12 = 12345678; + } else if (var13 == -1) { + if (var14 < 0) { + var14 = 0; + } else if (var14 > 127) { + var14 = 127; + } + + var20 = 127 - var14; + var12 = var20; + } else { + var20 = var14 * (var13 & 127) / 128; + if (var20 < 2) { + var20 = 2; + } else if (var20 > 126) { + var20 = 126; + } + + var12 = var20 + (var13 & 'タ'); + } + + var9 = Rasterizer3D.Rasterizer3D_colorPalette[var12] | -16777216; + } else if (var11.primaryRgb == 16711935) { + var9 = var10; + } else { + var13 = var11.hue; + var20 = var11.saturation; + int var15 = var11.lightness; + if (var15 > 179) { + var20 /= 2; + } + + if (var15 > 192) { + var20 /= 2; + } + + if (var15 > 217) { + var20 /= 2; + } + + if (var15 > 243) { + var20 /= 2; + } + + int var16 = (var20 / 32 << 7) + var15 / 2 + (var13 / 4 << 10); + byte var18 = 96; + int var17; + if (var16 == -2) { + var17 = 12345678; + } else { + int var21; + if (var16 == -1) { + if (var18 < 0) { + var18 = 0; + } else if (var18 > 127) { + var18 = 127; + } + + var21 = 127 - var18; + var17 = var21; + } else { + var21 = var18 * (var16 & 127) / 128; + if (var21 < 2) { + var21 = 2; + } else if (var21 > 126) { + var21 = 126; + } + + var17 = var21 + (var16 & 'タ'); + } + } + + var9 = Rasterizer3D.Rasterizer3D_colorPalette[var17] | -16777216; + } + } + + var8 = var9; + } + + if (var7 > -1 && var3.field193[0][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var8); + } else { + var9 = this.method525(var1, var2, var3, var5); + if (var7 == -1) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var9); + } else { + var4.method813(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), var9, var8, this.pixelsPerTile, this.pixelsPerTile, var3.field193[0][var1][var2], var3.field204[0][var1][var2]); + } + } + } + + @ObfuscatedName("o") + @ObfuscatedSignature( + descriptor = "(IILac;Laf;I)V", + garbageValue = "-1963666509" + ) + void method611(int var1, int var2, AbstractWorldMapData var3, WorldMapScaleHandler var4) { + for(int var5 = 1; var5 < var3.planes; ++var5) { + int var6 = var3.floorOverlayIds[var5][var1][var2] - 1; + if (var6 > -1) { + int var8 = this.backgroundColor; + FloorOverlayDefinition var9 = WallDecoration.method3449(var6); + int var7; + if (var9 == null) { + var7 = var8; + } else if (var9.secondaryRgb >= 0) { + var7 = var9.secondaryRgb | -16777216; + } else { + int var11; + int var19; + if (var9.texture >= 0) { + var11 = Rasterizer3D.Rasterizer3D_textureLoader.getAverageTextureRGB(var9.texture); + byte var12 = 96; + int var10; + if (var11 == -2) { + var10 = 12345678; + } else if (var11 == -1) { + if (var12 < 0) { + var12 = 0; + } else if (var12 > 127) { + var12 = 127; + } + + var19 = 127 - var12; + var10 = var19; + } else { + var19 = var12 * (var11 & 127) / 128; + if (var19 < 2) { + var19 = 2; + } else if (var19 > 126) { + var19 = 126; + } + + var10 = var19 + (var11 & 'タ'); + } + + var7 = Rasterizer3D.Rasterizer3D_colorPalette[var10] | -16777216; + } else if (var9.primaryRgb == 16711935) { + var7 = var8; + } else { + var11 = var9.hue; + var19 = var9.saturation; + int var13 = var9.lightness; + if (var13 > 179) { + var19 /= 2; + } + + if (var13 > 192) { + var19 /= 2; + } + + if (var13 > 217) { + var19 /= 2; + } + + if (var13 > 243) { + var19 /= 2; + } + + int var14 = (var19 / 32 << 7) + var13 / 2 + (var11 / 4 << 10); + byte var16 = 96; + int var15; + if (var14 == -2) { + var15 = 12345678; + } else { + int var20; + if (var14 == -1) { + if (var16 < 0) { + var16 = 0; + } else if (var16 > 127) { + var16 = 127; + } + + var20 = 127 - var16; + var15 = var20; + } else { + var20 = var16 * (var14 & 127) / 128; + if (var20 < 2) { + var20 = 2; + } else if (var20 > 126) { + var20 = 126; + } + + var15 = var20 + (var14 & 'タ'); + } + } + + var7 = Rasterizer3D.Rasterizer3D_colorPalette[var15] | -16777216; + } + } + + if (var3.field193[var5][var1][var2] == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, this.pixelsPerTile, var7); + } else { + var4.method813(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 0, var7, this.pixelsPerTile, this.pixelsPerTile, var3.field193[var5][var1][var2], var3.field204[var5][var1][var2]); + } + } + } + + } + + @ObfuscatedName("ay") + @ObfuscatedSignature( + descriptor = "(IILac;Lal;I)I", + garbageValue = "-306988149" + ) + int method525(int var1, int var2, AbstractWorldMapData var3, WorldMapSprite var4) { + return var3.floorUnderlayIds[0][var1][var2] == 0 ? this.backgroundColor : var4.getTileColor(var1, var2); + } + + @ObfuscatedName("am") + @ObfuscatedSignature( + descriptor = "(IILac;[Lly;B)V", + garbageValue = "54" + ) + void method555(int var1, int var2, AbstractWorldMapData var3, IndexedSprite[] var4) { + for(int var5 = 0; var5 < var3.planes; ++var5) { + WorldMapDecoration[] var6 = var3.decorations[var5][var1][var2]; + if (var6 != null && var6.length != 0) { + WorldMapDecoration[] var7 = var6; + + for(int var8 = 0; var8 < var7.length; ++var8) { + WorldMapDecoration var9 = var7[var8]; + int var11 = var9.decoration; + boolean var10 = var11 >= WorldMapDecorationType.field2747.id && var11 <= WorldMapDecorationType.field2753.id; + if (!var10) { + int var13 = var9.decoration; + boolean var12 = var13 == WorldMapDecorationType.field2759.id; + if (!var12) { + continue; + } + } + + ObjectComposition var14 = WorldMapAreaData.getObjectDefinition(var9.objectDefinitionId); + if (var14.mapSceneId != -1) { + if (var14.mapSceneId != 46 && var14.mapSceneId != 52) { + var4[var14.mapSceneId].method6302(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2, this.pixelsPerTile * 2); + } else { + var4[var14.mapSceneId].method6302(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile * 2 + 1, this.pixelsPerTile * 2 + 1); + } + } + } + } + } + + } + + @ObfuscatedName("ag") + @ObfuscatedSignature( + descriptor = "(IILac;B)V", + garbageValue = "-12" + ) + void method631(int var1, int var2, AbstractWorldMapData var3) { + for(int var4 = 0; var4 < var3.planes; ++var4) { + WorldMapDecoration[] var5 = var3.decorations[var4][var1][var2]; + if (var5 != null && var5.length != 0) { + WorldMapDecoration[] var6 = var5; + + for(int var7 = 0; var7 < var6.length; ++var7) { + WorldMapDecoration var8 = var6[var7]; + if (GraphicsObject.method2153(var8.decoration)) { + ObjectComposition var9 = WorldMapAreaData.getObjectDefinition(var8.objectDefinitionId); + int var10 = var9.int1 != 0 ? -3407872 : -3355444; + if (var8.decoration == WorldMapDecorationType.field2765.id) { + this.method539(var1, var2, var8.rotation, var10); + } + + if (var8.decoration == WorldMapDecorationType.field2749.id) { + this.method539(var1, var2, var8.rotation, -3355444); + this.method539(var1, var2, var8.rotation + 1, var10); + } + + if (var8.decoration == WorldMapDecorationType.field2750.id) { + if (var8.rotation == 0) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), 1, var10); + } + + if (var8.rotation == 1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1 + this.pixelsPerTile - 1, this.pixelsPerTile * (63 - var2), 1, var10); + } + + if (var8.rotation == 2) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); + } + + if (var8.rotation == 3) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, 1, var10); + } + } + + if (var8.decoration == WorldMapDecorationType.field2760.id) { + int var11 = var8.rotation % 2; + int var12; + if (var11 == 0) { + for(var12 = 0; var12 < this.pixelsPerTile; ++var12) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, (64 - var2) * this.pixelsPerTile - 1 - var12, 1, var10); + } + } else { + for(var12 = 0; var12 < this.pixelsPerTile; ++var12) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(var12 + this.pixelsPerTile * var1, var12 + this.pixelsPerTile * (63 - var2), 1, var10); + } + } + } + } + } + } + } + + } + + @ObfuscatedName("ae") + @ObfuscatedSignature( + descriptor = "(IILjava/util/HashSet;IB)V", + garbageValue = "1" + ) + @Export("drawNonLinkMapIcons") + void drawNonLinkMapIcons(int var1, int var2, HashSet var3, int var4) { + float var5 = (float)var4 / 64.0F; + float var6 = var5 / 2.0F; + Iterator var7 = this.iconMap.entrySet().iterator(); + + while(var7.hasNext()) { + Entry var8 = (Entry)var7.next(); + Coord var9 = (Coord)var8.getKey(); + int var10 = (int)((float)var1 + var5 * (float)var9.x - var6); + int var11 = (int)((float)(var2 + var4) - (float)var9.y * var5 - var6); + AbstractWorldMapIcon var12 = (AbstractWorldMapIcon)var8.getValue(); + if (var12 != null && var12.hasValidElement()) { + var12.screenX = var10; + var12.screenY = var11; + WorldMapElement var13 = InvDefinition.WorldMapElement_get(var12.getElement()); + if (!var3.contains(var13.getObjectId())) { + this.method520(var12, var10, var11, var5); + } + } + } + + } + + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(Ljava/util/HashSet;IIB)V", + garbageValue = "31" + ) + void method527(HashSet var1, int var2, int var3) { + Iterator var4 = this.icon0List.iterator(); + + while(var4.hasNext()) { + AbstractWorldMapIcon var5 = (AbstractWorldMapIcon)var4.next(); + if (var5.hasValidElement()) { + WorldMapElement var6 = InvDefinition.WorldMapElement_get(var5.getElement()); + if (var6 != null && var1.contains(var6.getObjectId())) { + this.drawBackgroundCircle(var6, var5.screenX, var5.screenY, var2, var3); + } + } + } + + } + + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(Lic;IIIII)V", + garbageValue = "-515640206" + ) + @Export("drawBackgroundCircle") + void drawBackgroundCircle(WorldMapElement var1, int var2, int var3, int var4, int var5) { + SpritePixels var6 = var1.getSpriteBool(false); + if (var6 != null) { + var6.drawTransBgAt(var2 - var6.subWidth / 2, var3 - var6.subHeight / 2); + if (var4 % var5 < var5 / 2) { + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 15, 16776960, 128); + Rasterizer2D.Rasterizer2D_drawCircleAlpha(var2, var3, 7, 16777215, 256); + } + + } + } + + @ObfuscatedName("at") + @ObfuscatedSignature( + descriptor = "(Laj;IIFI)V", + garbageValue = "1091480533" + ) + void method520(AbstractWorldMapIcon var1, int var2, int var3, float var4) { + WorldMapElement var5 = InvDefinition.WorldMapElement_get(var1.getElement()); + this.method530(var5, var2, var3); + this.method601(var1, var5, var2, var3, var4); + } + + @ObfuscatedName("ak") + @ObfuscatedSignature( + descriptor = "(Lic;IIS)V", + garbageValue = "-21879" + ) + void method530(WorldMapElement var1, int var2, int var3) { + SpritePixels var4 = var1.getSpriteBool(false); + if (var4 != null) { + int var5 = this.method577(var4, var1.horizontalAlignment); + int var6 = this.method534(var4, var1.verticalAlignment); + var4.drawTransBgAt(var5 + var2, var3 + var6); + } + + } + + @ObfuscatedName("ax") + @ObfuscatedSignature( + descriptor = "(Laj;Lic;IIFI)V", + garbageValue = "-1852361850" + ) + void method601(AbstractWorldMapIcon var1, WorldMapElement var2, int var3, int var4, float var5) { + WorldMapLabel var6 = var1.getLabel(); + if (var6 != null) { + if (var6.size.method255(var5)) { + Font var7 = (Font)this.fonts.get(var6.size); + var7.drawLines(var6.text, var3 - var6.width / 2, var4, var6.width, var6.height, -16777216 | var2.field3245, 0, 1, 0, var7.ascent / 2); + } + } + } + + @ObfuscatedName("ar") + @ObfuscatedSignature( + descriptor = "(IILjava/util/HashSet;II)V", + garbageValue = "281744270" + ) + @Export("drawMapLinks") + void drawMapLinks(int var1, int var2, HashSet var3, int var4) { + float var5 = (float)var4 / 64.0F; + Iterator var6 = this.icon0List.iterator(); + + while(var6.hasNext()) { + AbstractWorldMapIcon var7 = (AbstractWorldMapIcon)var6.next(); + if (var7.hasValidElement()) { + int var8 = var7.coord2.x % 64; + int var9 = var7.coord2.y % 64; + var7.screenX = (int)((float)var1 + (float)var8 * var5); + var7.screenY = (int)(var5 * (float)(63 - var9) + (float)var2); + if (!var3.contains(var7.getElement())) { + this.method520(var7, var7.screenX, var7.screenY, var5); + } + } + } + + } + + @ObfuscatedName("al") + @ObfuscatedSignature( + descriptor = "(Llm;Lje;I)I", + garbageValue = "1212230502" + ) + int method577(SpritePixels var1, HorizontalAlignment var2) { + switch(var2.value) { + case 0: + return 0; + case 2: + return -var1.subWidth / 2; + default: + return -var1.subWidth; + } + } + + @ObfuscatedName("aa") + @ObfuscatedSignature( + descriptor = "(Llm;Lie;I)I", + garbageValue = "1365602769" + ) + int method534(SpritePixels var1, VerticalAlignment var2) { + switch(var2.value) { + case 0: + return 0; + case 2: + return -var1.subHeight / 2; + default: + return -var1.subHeight; + } + } + + @ObfuscatedName("aw") + @ObfuscatedSignature( + descriptor = "(II)Laa;", + garbageValue = "-1773755795" + ) + WorldMapLabel method535(int var1) { + WorldMapElement var2 = InvDefinition.WorldMapElement_get(var1); + return this.createMapLabel(var2); + } + + @ObfuscatedName("az") + @ObfuscatedSignature( + descriptor = "(Lic;B)Laa;", + garbageValue = "-89" + ) + @Export("createMapLabel") + WorldMapLabel createMapLabel(WorldMapElement var1) { + if (var1.name != null && this.fonts != null && this.fonts.get(WorldMapLabelSize.WorldMapLabelSize_small) != null) { + WorldMapLabelSize var2 = WorldMapLabelSize.method266(var1.textSize); + if (var2 == null) { + return null; + } else { + Font var3 = (Font)this.fonts.get(var2); + if (var3 == null) { + return null; + } else { + 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); + } + } + } else { + return null; + } + } + + @ObfuscatedName("ah") + @ObfuscatedSignature( + descriptor = "(IIIIIB)Ljava/util/List;", + garbageValue = "123" + ) + List method537(int var1, int var2, int var3, int var4, int var5) { + LinkedList var6 = new LinkedList(); + if (var4 >= var1 && var5 >= var2) { + if (var4 < var3 + var1 && var5 < var3 + var2) { + Iterator var7 = this.iconMap.values().iterator(); + + AbstractWorldMapIcon var8; + while(var7.hasNext()) { + var8 = (AbstractWorldMapIcon)var7.next(); + if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { + var6.add(var8); + } + } + + var7 = this.icon0List.iterator(); + + while(var7.hasNext()) { + var8 = (AbstractWorldMapIcon)var7.next(); + if (var8.hasValidElement() && var8.fitsScreen(var4, var5)) { + var6.add(var8); + } + } + + return var6; + } else { + return var6; + } + } else { + return var6; + } + } + + @ObfuscatedName("ap") + @ObfuscatedSignature( + descriptor = "(I)Ljava/util/List;", + garbageValue = "-1276264710" + ) + @Export("icons") + List icons() { + LinkedList var1 = new LinkedList(); + var1.addAll(this.icon0List); + var1.addAll(this.iconMap.values()); + return var1; + } + + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "1" + ) + void method539(int var1, int var2, int var3, int var4) { + var3 %= 4; + if (var3 == 0) { + Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 1) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 2) { + Rasterizer2D.Rasterizer2D_drawVerticalLine(this.pixelsPerTile + this.pixelsPerTile * var1 - 1, this.pixelsPerTile * (63 - var2), this.pixelsPerTile, var4); + } + + if (var3 == 3) { + Rasterizer2D.Rasterizer2D_drawHorizontalLine(this.pixelsPerTile * var1, this.pixelsPerTile * (63 - var2) + this.pixelsPerTile - 1, this.pixelsPerTile, var4); + } + + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)[Lgb;", + garbageValue = "16256" + ) + @Export("ServerPacket_values") + public static ServerPacket[] ServerPacket_values() { + return new ServerPacket[]{ServerPacket.field2172, ServerPacket.field2205, ServerPacket.field2143, ServerPacket.field2144, ServerPacket.field2153, ServerPacket.field2146, ServerPacket.field2147, ServerPacket.field2210, ServerPacket.field2149, ServerPacket.field2195, ServerPacket.field2151, ServerPacket.field2141, ServerPacket.field2198, ServerPacket.field2154, ServerPacket.field2155, ServerPacket.field2156, ServerPacket.field2157, ServerPacket.field2158, ServerPacket.field2159, ServerPacket.field2160, ServerPacket.field2161, ServerPacket.field2207, ServerPacket.field2163, ServerPacket.field2152, ServerPacket.field2165, ServerPacket.field2166, ServerPacket.field2145, ServerPacket.field2184, ServerPacket.field2169, ServerPacket.field2170, ServerPacket.field2188, ServerPacket.field2164, ServerPacket.field2173, ServerPacket.field2174, ServerPacket.field2175, ServerPacket.field2176, ServerPacket.field2177, ServerPacket.field2178, ServerPacket.field2168, ServerPacket.field2171, ServerPacket.field2181, ServerPacket.field2182, ServerPacket.field2183, ServerPacket.field2203, ServerPacket.field2185, ServerPacket.field2150, ServerPacket.field2224, ServerPacket.field2221, ServerPacket.field2189, ServerPacket.field2190, ServerPacket.field2216, ServerPacket.field2186, ServerPacket.field2193, ServerPacket.field2194, ServerPacket.field2202, ServerPacket.field2196, ServerPacket.field2197, ServerPacket.field2191, ServerPacket.field2199, ServerPacket.field2200, ServerPacket.field2206, ServerPacket.field2192, ServerPacket.field2220, ServerPacket.field2204, ServerPacket.field2226, ServerPacket.field2167, ServerPacket.field2215, ServerPacket.field2208, ServerPacket.field2209, ServerPacket.field2179, ServerPacket.field2211, ServerPacket.field2212, ServerPacket.field2213, ServerPacket.field2214, ServerPacket.field2142, ServerPacket.field2148, ServerPacket.field2217, ServerPacket.field2218, ServerPacket.field2219, ServerPacket.field2187, ServerPacket.field2201, ServerPacket.field2180, ServerPacket.field2223, ServerPacket.field2162, ServerPacket.field2225, ServerPacket.field2222}; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;II)Ljava/lang/String;", + garbageValue = "216758500" + ) + static String method642(Buffer var0, int var1) { + try { + int var2 = var0.readUShortSmart(); + if (var2 > var1) { + var2 = var1; + } + + byte[] var3 = new byte[var2]; + var0.offset += class219.huffman.decompress(var0.array, var0.offset, var3, 0, var2); + String var4 = VertexNormal.decodeStringCp1252(var3, 0, var2); + return var4; + } catch (Exception var6) { + return "Cabbage"; + } + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(Lhz;IIII)V", + garbageValue = "-1454373131" + ) + @Export("Widget_setKeyRate") + static final void Widget_setKeyRate(Widget var0, int var1, int var2, int var3) { + if (var0.field2686 == null) { + throw new RuntimeException(); + } else { + var0.field2686[var1] = var2; + var0.field2599[var1] = var3; + } + } + + @ObfuscatedName("gy") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "556014304" + ) + @Export("getTileHeight") + static final int getTileHeight(int var0, int var1, int var2) { + int var3 = var0 >> 7; + int var4 = var1 >> 7; + if (var3 >= 0 && var4 >= 0 && var3 <= 103 && var4 <= 103) { + int var5 = var2; + if (var2 < 3 && (Tiles.Tiles_renderFlags[1][var3][var4] & 2) == 2) { + var5 = var2 + 1; + } + + int var6 = var0 & 127; + int var7 = var1 & 127; + int var8 = (128 - var6) * Tiles.Tiles_heights[var5][var3][var4] + Tiles.Tiles_heights[var5][var3 + 1][var4] * var6 >> 7; + int var9 = Tiles.Tiles_heights[var5][var3][var4 + 1] * (128 - var6) + var6 * Tiles.Tiles_heights[var5][var3 + 1][var4 + 1] >> 7; + return var7 * var9 + var8 * (128 - var7) >> 7; + } else { + return 0; + } + } } diff --git a/runescape-client/src/main/java/WorldMapScaleHandler.java b/runescape-client/src/main/java/WorldMapScaleHandler.java index 24481c4e5f..fe2a6c916a 100644 --- a/runescape-client/src/main/java/WorldMapScaleHandler.java +++ b/runescape-client/src/main/java/WorldMapScaleHandler.java @@ -4,643 +4,679 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ar") +@ObfuscatedName("af") @Implements("WorldMapScaleHandler") public class WorldMapScaleHandler { - @ObfuscatedName("p") - public static short[][] field366; - @ObfuscatedName("g") - public static String field365; - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "Lgi;" - ) - @Export("clientLanguage") - static Language clientLanguage; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1069332757 - ) - @Export("pixelsPerTile") - int pixelsPerTile; - @ObfuscatedName("v") - @Export("tileTemplates") - byte[][][] tileTemplates; - - WorldMapScaleHandler(int var1) { - this.pixelsPerTile = var1; // L: 10 - } // L: 11 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIIIIIIIB)V", - garbageValue = "15" - ) - void method780(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { - if (var7 != 0 && this.pixelsPerTile != 0 && this.tileTemplates != null) { // L: 14 - var8 = this.method804(var8, var7); // L: 15 - var7 = this.method770(var7); // L: 16 - Rasterizer2D.Rasterizer2D_drawGradientPixels(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); // L: 17 - } - } // L: 18 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "1815256421" - ) - int method804(int var1, int var2) { - if (var2 == 9) { // L: 21 - var1 = var1 + 1 & 3; - } - - if (var2 == 10) { // L: 22 - var1 = var1 + 3 & 3; - } - - if (var2 == 11) { // L: 23 - var1 = var1 + 3 & 3; - } - - return var1; // L: 24 - } - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(IB)I", - garbageValue = "77" - ) - int method770(int var1) { - if (var1 != 9 && var1 != 10) { // L: 28 - return var1 == 11 ? 8 : var1; // L: 29 - } else { - return 1; // L: 30 - } - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-717419640" - ) - @Export("init") - void init() { - if (this.tileTemplates == null) { // L: 34 - this.tileTemplates = new byte[8][4][]; // L: 37 - this.init0(); // L: 38 - this.init1(); // L: 39 - this.init2(); // L: 40 - this.init3(); // L: 41 - this.init4(); // L: 42 - this.init5(); // L: 43 - this.init6(); // L: 44 - this.init7(); // L: 45 - } - } // L: 35 46 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1025982121" - ) - @Export("init0") - void init0() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 49 - int var2 = 0; // L: 50 - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 51 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 52 - if (var4 <= var3) { // L: 53 - var1[var2] = -1; - } - - ++var2; // L: 54 - } - } - - this.tileTemplates[0][0] = var1; // L: 57 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 58 - var2 = 0; // L: 59 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 60 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 61 - if (var4 <= var3) { - var1[var2] = -1; // L: 62 - } - - ++var2; // L: 63 - } - } - - this.tileTemplates[0][1] = var1; // L: 66 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 67 - var2 = 0; // L: 68 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 69 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 70 - if (var4 >= var3) { // L: 71 - var1[var2] = -1; - } - - ++var2; // L: 72 - } - } - - this.tileTemplates[0][2] = var1; // L: 75 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 76 - var2 = 0; // L: 77 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 78 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 79 - if (var4 >= var3) { // L: 80 - var1[var2] = -1; - } - - ++var2; // L: 81 - } - } - - this.tileTemplates[0][3] = var1; // L: 84 - } // L: 85 - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-259199833" - ) - @Export("init1") - void init1() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 88 - int var2 = 0; // L: 89 - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 90 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 91 - if (var4 <= var3 >> 1) { // L: 92 - var1[var2] = -1; - } - - ++var2; // L: 93 - } - } - - this.tileTemplates[1][0] = var1; // L: 96 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 97 - var2 = 0; // L: 98 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 99 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 100 - if (var2 >= 0 && var2 < var1.length) { // L: 101 - if (var4 >= var3 << 1) { // L: 105 - var1[var2] = -1; - } - - ++var2; // L: 106 - } else { - ++var2; // L: 102 - } - } - } - - this.tileTemplates[1][1] = var1; // L: 109 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 110 - var2 = 0; // L: 111 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 112 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 113 - if (var4 <= var3 >> 1) { // L: 114 - var1[var2] = -1; - } - - ++var2; // L: 115 - } - } - - this.tileTemplates[1][2] = var1; // L: 118 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 119 - var2 = 0; // L: 120 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 121 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 122 - if (var4 >= var3 << 1) { // L: 123 - var1[var2] = -1; - } - - ++var2; // L: 124 - } - } - - this.tileTemplates[1][3] = var1; // L: 127 - } // L: 128 - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1200992206" - ) - @Export("init2") - void init2() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 131 - int var2 = 0; // L: 132 - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 133 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 134 - if (var4 <= var3 >> 1) { // L: 135 - var1[var2] = -1; - } - - ++var2; // L: 136 - } - } - - this.tileTemplates[2][0] = var1; // L: 139 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 140 - var2 = 0; // L: 141 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 142 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 143 - if (var4 >= var3 << 1) { - var1[var2] = -1; // L: 144 - } - - ++var2; // L: 145 - } - } - - this.tileTemplates[2][1] = var1; // L: 148 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 149 - var2 = 0; // L: 150 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 151 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 152 - if (var4 <= var3 >> 1) { // L: 153 - var1[var2] = -1; - } - - ++var2; // L: 154 - } - } - - this.tileTemplates[2][2] = var1; // L: 157 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 158 - var2 = 0; // L: 159 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 160 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 161 - if (var4 >= var3 << 1) { // L: 162 - var1[var2] = -1; - } - - ++var2; // L: 163 - } - } - - this.tileTemplates[2][3] = var1; // L: 166 - } // L: 167 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-482599020" - ) - @Export("init3") - void init3() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 170 - int var2 = 0; // L: 171 - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 172 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 173 - if (var4 >= var3 >> 1) { // L: 174 - var1[var2] = -1; - } - - ++var2; // L: 175 - } - } - - this.tileTemplates[3][0] = var1; // L: 178 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 179 - var2 = 0; // L: 180 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 181 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 182 - if (var4 <= var3 << 1) { // L: 183 - var1[var2] = -1; - } - - ++var2; // L: 184 - } - } - - this.tileTemplates[3][1] = var1; // L: 187 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 188 - var2 = 0; // L: 189 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 190 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 191 - if (var4 >= var3 >> 1) { // L: 192 - var1[var2] = -1; - } - - ++var2; // L: 193 - } - } - - this.tileTemplates[3][2] = var1; // L: 196 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 197 - var2 = 0; // L: 198 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 199 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 200 - if (var4 <= var3 << 1) { // L: 201 - var1[var2] = -1; - } - - ++var2; // L: 202 - } - } - - this.tileTemplates[3][3] = var1; // L: 205 - } // L: 206 - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1069813935" - ) - @Export("init4") - void init4() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 209 - int var2 = 0; // L: 210 - - int var3; - int var4; - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 211 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 212 - if (var4 >= var3 >> 1) { // L: 213 - var1[var2] = -1; - } - - ++var2; // L: 214 - } - } - - this.tileTemplates[4][0] = var1; // L: 217 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 218 - var2 = 0; // L: 219 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 220 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 221 - if (var4 <= var3 << 1) { - var1[var2] = -1; // L: 222 - } - - ++var2; // L: 223 - } - } - - this.tileTemplates[4][1] = var1; // L: 226 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 227 - var2 = 0; // L: 228 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 229 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 230 - if (var4 >= var3 >> 1) { // L: 231 - var1[var2] = -1; - } - - ++var2; // L: 232 - } - } - - this.tileTemplates[4][2] = var1; // L: 235 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 236 - var2 = 0; // L: 237 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 238 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 239 - if (var4 <= var3 << 1) { // L: 240 - var1[var2] = -1; - } - - ++var2; // L: 241 - } - } - - this.tileTemplates[4][3] = var1; // L: 244 - } // L: 245 - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "2128445044" - ) - @Export("init5") - void init5() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 248 - boolean var2 = false; // L: 249 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 250 - int var5 = 0; // L: 251 - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 252 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 253 - if (var4 <= this.pixelsPerTile / 2) { // L: 254 - var1[var5] = -1; - } - - ++var5; // L: 255 - } - } - - this.tileTemplates[5][0] = var1; // L: 258 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 259 - var5 = 0; // L: 260 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 261 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 262 - if (var3 <= this.pixelsPerTile / 2) { // L: 263 - var1[var5] = -1; - } - - ++var5; // L: 264 - } - } - - this.tileTemplates[5][1] = var1; // L: 267 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 268 - var5 = 0; // L: 269 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 270 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 271 - if (var4 >= this.pixelsPerTile / 2) { // L: 272 - var1[var5] = -1; - } - - ++var5; // L: 273 - } - } - - this.tileTemplates[5][2] = var1; // L: 276 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 277 - var5 = 0; // L: 278 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 279 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 280 - if (var3 >= this.pixelsPerTile / 2) { // L: 281 - var1[var5] = -1; - } - - ++var5; // L: 282 - } - } - - this.tileTemplates[5][3] = var1; // L: 285 - } // L: 286 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1547237879" - ) - @Export("init6") - void init6() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 289 - boolean var2 = false; // L: 290 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 291 - int var5 = 0; // L: 292 - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 293 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 294 - if (var4 <= var3 - this.pixelsPerTile / 2) { // L: 295 - var1[var5] = -1; - } - - ++var5; // L: 296 - } - } - - this.tileTemplates[6][0] = var1; // L: 299 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 300 - var5 = 0; // L: 301 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 302 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 303 - if (var4 <= var3 - this.pixelsPerTile / 2) { // L: 304 - var1[var5] = -1; - } - - ++var5; // L: 305 - } - } - - this.tileTemplates[6][1] = var1; // L: 308 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 309 - var5 = 0; // L: 310 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 311 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 312 - if (var4 <= var3 - this.pixelsPerTile / 2) { // L: 313 - var1[var5] = -1; - } - - ++var5; // L: 314 - } - } - - this.tileTemplates[6][2] = var1; // L: 317 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 318 - var5 = 0; // L: 319 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 320 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 321 - if (var4 <= var3 - this.pixelsPerTile / 2) { // L: 322 - var1[var5] = -1; - } - - ++var5; // L: 323 - } - } - - this.tileTemplates[6][3] = var1; // L: 326 - } // L: 327 - - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-299127223" - ) - @Export("init7") - void init7() { - byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 330 - boolean var2 = false; // L: 331 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 332 - int var5 = 0; // L: 333 - - int var3; - int var4; - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 334 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 335 - if (var4 >= var3 - this.pixelsPerTile / 2) { // L: 336 - var1[var5] = -1; - } - - ++var5; // L: 337 - } - } - - this.tileTemplates[7][0] = var1; // L: 340 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 341 - var5 = 0; // L: 342 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 343 - for (var4 = 0; var4 < this.pixelsPerTile; ++var4) { // L: 344 - if (var4 >= var3 - this.pixelsPerTile / 2) { // L: 345 - var1[var5] = -1; - } - - ++var5; // L: 346 - } - } - - this.tileTemplates[7][1] = var1; // L: 349 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 350 - var5 = 0; // L: 351 - - for (var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { // L: 352 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 353 - if (var4 >= var3 - this.pixelsPerTile / 2) { // L: 354 - var1[var5] = -1; - } - - ++var5; // L: 355 - } - } - - this.tileTemplates[7][2] = var1; // L: 358 - var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; // L: 359 - var5 = 0; // L: 360 - - for (var3 = 0; var3 < this.pixelsPerTile; ++var3) { // L: 361 - for (var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { // L: 362 - if (var4 >= var3 - this.pixelsPerTile / 2) { // L: 363 - var1[var5] = -1; - } - - ++var5; // L: 364 - } - } - - this.tileTemplates[7][3] = var1; // L: 367 - } // L: 368 + @ObfuscatedName("sf") + @ObfuscatedSignature( + descriptor = "Llu;" + ) + @Export("masterDisk") + static ArchiveDisk masterDisk; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1871677981 + ) + @Export("pixelsPerTile") + int pixelsPerTile; + @ObfuscatedName("v") + @Export("tileTemplates") + byte[][][] tileTemplates; + + WorldMapScaleHandler(int var1) { + this.pixelsPerTile = var1; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIIIIIIII)V", + garbageValue = "-313253056" + ) + void method813(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + if (var7 != 0 && this.pixelsPerTile != 0 && this.tileTemplates != null) { + var8 = this.method826(var8, var7); + var7 = this.method815(var7); + Rasterizer2D.Rasterizer2D_drawGradientPixels(var1, var2, var5, var6, var3, var4, this.tileTemplates[var7 - 1][var8], this.pixelsPerTile); + } + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "655322250" + ) + int method826(int var1, int var2) { + if (var2 == 9) { + var1 = var1 + 1 & 3; + } + + if (var2 == 10) { + var1 = var1 + 3 & 3; + } + + if (var2 == 11) { + var1 = var1 + 3 & 3; + } + + return var1; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "244529953" + ) + int method815(int var1) { + if (var1 != 9 && var1 != 10) { + return var1 == 11 ? 8 : var1; + } else { + return 1; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2066624516" + ) + @Export("init") + void init() { + if (this.tileTemplates == null) { + this.tileTemplates = new byte[8][4][]; + this.init0(); + this.init1(); + this.init2(); + this.init3(); + this.init4(); + this.init5(); + this.init6(); + this.init7(); + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-134858358" + ) + @Export("init0") + void init0() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[0][3] = var1; + } + + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2097945159" + ) + @Export("init1") + void init1() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var2 >= 0 && var2 < var1.length) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } else { + ++var2; + } + } + } + + this.tileTemplates[1][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[1][3] = var1; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "123" + ) + @Export("init2") + void init2() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[2][3] = var1; + } + + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "60" + ) + @Export("init3") + void init3() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[3][3] = var1; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1887345157" + ) + @Export("init4") + void init4() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var2 = 0; + + int var3; + int var4; + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 >> 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var2 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 << 1) { + var1[var2] = -1; + } + + ++var2; + } + } + + this.tileTemplates[4][3] = var1; + } + + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1859326664" + ) + @Export("init5") + void init5() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var3 <= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var3 >= this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[5][3] = var1; + } + + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "99" + ) + @Export("init6") + void init6() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 <= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[6][3] = var1; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1454081837" + ) + @Export("init7") + void init7() { + byte[] var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + boolean var2 = false; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + int var5 = 0; + + int var3; + int var4; + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][0] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = 0; var4 < this.pixelsPerTile; ++var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][1] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = this.pixelsPerTile - 1; var3 >= 0; --var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][2] = var1; + var1 = new byte[this.pixelsPerTile * this.pixelsPerTile]; + var5 = 0; + + for(var3 = 0; var3 < this.pixelsPerTile; ++var3) { + for(var4 = this.pixelsPerTile - 1; var4 >= 0; --var4) { + if (var4 >= var3 - this.pixelsPerTile / 2) { + var1[var5] = -1; + } + + ++var5; + } + } + + this.tileTemplates[7][3] = var1; + } + + @ObfuscatedName("gv") + @ObfuscatedSignature( + descriptor = "(Lbk;ZI)V", + garbageValue = "458493805" + ) + @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.idleSequence == var0.movementSequence) { + var0.isUnanimated = true; + } + + int var2 = var0.x >> 7; + int var3 = var0.y >> 7; + if (var2 >= 0 && var2 < 104 && var3 >= 0 && var3 < 104) { + long var4 = TextureProvider.calculateTag(0, 0, 0, false, var0.index); + if (var0.model0 != null && Client.cycle >= var0.animationCycleStart && Client.cycle < var0.animationCycleEnd) { + var0.isUnanimated = false; + var0.tileHeight = WorldMapRegion.getTileHeight(var0.x, var0.y, class90.Client_plane); + var0.playerCycle = Client.cycle; + MilliClock.scene.addNullableObject(class90.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.field641, var0.field642, var0.field640, var0.field644); + } 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 = WorldMapRegion.getTileHeight(var0.x, var0.y, class90.Client_plane); + var0.playerCycle = Client.cycle; + MilliClock.scene.drawEntity(class90.Client_plane, var0.x, var0.y, var0.tileHeight, 60, var0, var0.rotation, var4, var0.isWalking); + } + } + } + + } } diff --git a/runescape-client/src/main/java/WorldMapSection.java b/runescape-client/src/main/java/WorldMapSection.java index 819e9a68e4..12554f7876 100644 --- a/runescape-client/src/main/java/WorldMapSection.java +++ b/runescape-client/src/main/java/WorldMapSection.java @@ -3,54 +3,54 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("al") +@ObfuscatedName("ab") @Implements("WorldMapSection") public interface WorldMapSection { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lav;S)V", - garbageValue = "19050" - ) - @Export("expandBounds") - void expandBounds(WorldMapArea var1); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lar;B)V", + garbageValue = "112" + ) + @Export("expandBounds") + void expandBounds(WorldMapArea var1); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "241939554" - ) - @Export("containsCoord") - boolean containsCoord(int var1, int var2, int var3); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Z", + garbageValue = "-90" + ) + @Export("containsCoord") + boolean containsCoord(int var1, int var2, int var3); - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "639074408" - ) - @Export("containsPosition") - boolean containsPosition(int var1, int var2); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-5" + ) + @Export("containsPosition") + boolean containsPosition(int var1, int var2); - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "1868308301" - ) - @Export("getBorderTileLengths") - int[] getBorderTileLengths(int var1, int var2, int var3); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIB)[I", + garbageValue = "-76" + ) + @Export("getBorderTileLengths") + int[] getBorderTileLengths(int var1, int var2, int var3); - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "0" - ) - @Export("coord") - Coord coord(int var1, int var2); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "-1841969392" + ) + @Export("coord") + Coord coord(int var1, int var2); - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "125" - ) - @Export("read") - void read(Buffer var1); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-489268143" + ) + @Export("read") + void read(Buffer var1); } diff --git a/runescape-client/src/main/java/WorldMapSection0.java b/runescape-client/src/main/java/WorldMapSection0.java index bef874f33e..90c8a9d3d4 100644 --- a/runescape-client/src/main/java/WorldMapSection0.java +++ b/runescape-client/src/main/java/WorldMapSection0.java @@ -1,355 +1,477 @@ -import java.awt.image.BufferedImage; -import java.awt.image.PixelGrabber; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import javax.imageio.ImageIO; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ax") +@ObfuscatedName("ag") @Implements("WorldMapSection0") public class WorldMapSection0 implements WorldMapSection { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1775426037 - ) - @Export("oldZ") - int oldZ; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 1417422949 - ) - @Export("newZ") - int newZ; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1514356361 - ) - @Export("oldX") - int oldX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 1086537607 - ) - @Export("oldY") - int oldY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -817500625 - ) - @Export("newX") - int newX; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2065957163 - ) - @Export("newY") - int newY; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = 442203897 - ) - @Export("oldChunkXLow") - int oldChunkXLow; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -999047197 - ) - @Export("oldChunkYLow") - int oldChunkYLow; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -755644285 - ) - @Export("oldChunkXHigh") - int oldChunkXHigh; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -692612685 - ) - @Export("oldChunkYHigh") - int oldChunkYHigh; - @ObfuscatedName("u") - @ObfuscatedGetter( - intValue = 992317231 - ) - @Export("newChunkXLow") - int newChunkXLow; - @ObfuscatedName("e") - @ObfuscatedGetter( - intValue = 841901679 - ) - @Export("newChunkYLow") - int newChunkYLow; - @ObfuscatedName("m") - @ObfuscatedGetter( - intValue = -1830115023 - ) - @Export("newChunkXHigh") - int newChunkXHigh; - @ObfuscatedName("c") - @ObfuscatedGetter( - intValue = 600167231 - ) - @Export("newChunkYHigh") - int newChunkYHigh; + @ObfuscatedName("da") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive12") + static Archive archive12; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 132603253 + ) + @Export("oldZ") + int oldZ; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1994150525 + ) + @Export("newZ") + int newZ; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1137484745 + ) + @Export("oldX") + int oldX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 1490566699 + ) + @Export("oldY") + int oldY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 2105987209 + ) + @Export("newX") + int newX; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 999326875 + ) + @Export("newY") + int newY; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 769253589 + ) + @Export("oldChunkXLow") + int oldChunkXLow; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 805585157 + ) + @Export("oldChunkYLow") + int oldChunkYLow; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 180055579 + ) + @Export("oldChunkXHigh") + int oldChunkXHigh; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -106119971 + ) + @Export("oldChunkYHigh") + int oldChunkYHigh; + @ObfuscatedName("s") + @ObfuscatedGetter( + intValue = -1816013269 + ) + @Export("newChunkXLow") + int newChunkXLow; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = -2075610043 + ) + @Export("newChunkYLow") + int newChunkYLow; + @ObfuscatedName("a") + @ObfuscatedGetter( + intValue = 754853053 + ) + @Export("newChunkXHigh") + int newChunkXHigh; + @ObfuscatedName("w") + @ObfuscatedGetter( + intValue = 1118736637 + ) + @Export("newChunkYHigh") + int newChunkYHigh; - WorldMapSection0() { - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lar;B)V", + garbageValue = "112" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.newX) { + var1.regionLowX = this.newX; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lav;S)V", - garbageValue = "19050" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.newX) { - var1.regionLowX = this.newX; - } + if (var1.regionHighX < this.newX) { + var1.regionHighX = this.newX; + } - if (var1.regionHighX < this.newX) { - var1.regionHighX = this.newX; - } + if (var1.regionLowY > this.newY) { + var1.regionLowY = this.newY; + } - if (var1.regionLowY > this.newY) { - var1.regionLowY = this.newY; - } + if (var1.regionHighY < this.newY) { + var1.regionHighY = this.newY; + } - if (var1.regionHighY < this.newY) { - var1.regionHighY = this.newY; - } + } - } // L: 29 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Z", + garbageValue = "-90" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.oldZ && var1 < this.oldZ + this.newZ) { + return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7; + } else { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "241939554" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.oldZ && var1 < this.newZ + this.oldZ) { - return var2 >= (this.oldX << 6) + (this.oldChunkXLow << 3) && var2 <= (this.oldX << 6) + (this.oldChunkXHigh << 3) + 7 && var3 >= (this.oldY << 6) + (this.oldChunkYLow << 3) && var3 <= (this.oldY << 6) + (this.oldChunkYHigh << 3) + 7; // L: 35 - } else { - return false; // L: 33 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-5" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "639074408" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >= (this.newX << 6) + (this.newChunkXLow << 3) && var1 <= (this.newX << 6) + (this.newChunkXHigh << 3) + 7 && var2 >= (this.newY << 6) + (this.newChunkYLow << 3) && var2 <= (this.newY << 6) + (this.newChunkYHigh << 3) + 7; // L: 39 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIB)[I", + garbageValue = "-76" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.newX * 64 - this.oldX * 64 + var2 + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)}; + return var4; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "1868308301" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { // L: 43 - return null; // L: 44 - } else { - int[] var4 = new int[]{var2 + (this.newX * 64 - this.oldX * 64) + (this.newChunkXLow * 8 - this.oldChunkXLow * 8), var3 + (this.newY * 64 - this.oldY * 64) + (this.newChunkYLow * 8 - this.oldChunkYLow * 8)}; // L: 46 47 48 - return var4; // L: 49 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "-1841969392" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1; + int var4 = this.oldY * 64 - this.newY * 64 + var2 + (this.oldChunkYLow * 8 - this.newChunkYLow * 8); + return new Coord(this.oldZ, var3, var4); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { // L: 53 - return null; // L: 54 - } else { - int var3 = this.oldX * 64 - this.newX * 64 + (this.oldChunkXLow * 8 - this.newChunkXLow * 8) + var1; // L: 56 - int var4 = var2 + (this.oldY * 64 - this.newY * 64) + (this.oldChunkYLow * 8 - this.newChunkYLow * 8); // L: 57 - return new Coord(this.oldZ, var3, var4); // L: 58 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-489268143" + ) + @Export("read") + public void read(Buffer var1) { + this.oldZ = var1.readUnsignedByte(); + this.newZ = var1.readUnsignedByte(); + this.oldX = var1.readUnsignedShort(); + this.oldChunkXLow = var1.readUnsignedByte(); + this.oldChunkXHigh = var1.readUnsignedByte(); + this.oldY = var1.readUnsignedShort(); + this.oldChunkYLow = var1.readUnsignedByte(); + this.oldChunkYHigh = var1.readUnsignedByte(); + this.newX = var1.readUnsignedShort(); + this.newChunkXLow = var1.readUnsignedByte(); + this.newChunkXHigh = var1.readUnsignedByte(); + this.newY = var1.readUnsignedShort(); + this.newChunkYLow = var1.readUnsignedByte(); + this.newChunkYHigh = var1.readUnsignedByte(); + this.postRead(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "125" - ) - @Export("read") - public void read(Buffer var1) { - this.oldZ = var1.readUnsignedByte(); // L: 62 - this.newZ = var1.readUnsignedByte(); // L: 63 - this.oldX = var1.readUnsignedShort(); // L: 64 - this.oldChunkXLow = var1.readUnsignedByte(); // L: 65 - this.oldChunkXHigh = var1.readUnsignedByte(); // L: 66 - this.oldY = var1.readUnsignedShort(); // L: 67 - this.oldChunkYLow = var1.readUnsignedByte(); // L: 68 - this.oldChunkYHigh = var1.readUnsignedByte(); // L: 69 - this.newX = var1.readUnsignedShort(); // L: 70 - this.newChunkXLow = var1.readUnsignedByte(); // L: 71 - this.newChunkXHigh = var1.readUnsignedByte(); // L: 72 - this.newY = var1.readUnsignedShort(); // L: 73 - this.newChunkYLow = var1.readUnsignedByte(); // L: 74 - this.newChunkYHigh = var1.readUnsignedByte(); // L: 75 - this.postRead(); // L: 76 - } // L: 77 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1652627756" + ) + @Export("postRead") + void postRead() { + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2143649574" - ) - @Export("postRead") - void postRead() { - } // L: 79 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", + garbageValue = "705199058" + ) + public static String method311(CharSequence[] var0, int var1, int var2) { + if (var2 == 0) { + return ""; + } else if (var2 == 1) { + CharSequence var10 = var0[var1]; + return var10 == null ? "null" : var10.toString(); + } else { + int var3 = var2 + var1; + int var4 = 0; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([BI)Llm;", - garbageValue = "1856556337" - ) - @Export("convertJpgToSprite") - public static final SpritePixels convertJpgToSprite(byte[] var0) { - BufferedImage var1 = null; // L: 20 + for(int var5 = var1; var5 < var3; ++var5) { + CharSequence var9 = var0[var5]; + if (var9 == null) { + var4 += 4; + } else { + var4 += var9.length(); + } + } - try { - var1 = ImageIO.read(new ByteArrayInputStream(var0)); // L: 22 - int var2 = var1.getWidth(); // L: 23 - int var3 = var1.getHeight(); // L: 24 - int[] var4 = new int[var2 * var3]; // L: 25 - PixelGrabber var5 = new PixelGrabber(var1, 0, 0, var2, var3, var4, 0, var2); // L: 26 - var5.grabPixels(); // L: 27 - return new SpritePixels(var4, var2, var3); // L: 28 - } catch (IOException var7) { // L: 30 - } catch (InterruptedException var8) { // L: 31 - } + StringBuilder var8 = new StringBuilder(var4); - return new SpritePixels(0, 0); // L: 32 - } + for(int var6 = var1; var6 < var3; ++var6) { + CharSequence var7 = var0[var6]; + if (var7 == null) { + var8.append("null"); + } else { + var8.append(var7); + } + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lky;II)Z", - garbageValue = "92498700" - ) - @Export("updateExternalPlayer") - static boolean updateExternalPlayer(PacketBuffer var0, int var1) { - int var2 = var0.readBits(2); // L: 378 - int var3; - int var4; - int var7; - int var8; - int var9; - int var10; - if (var2 == 0) { // L: 379 - if (var0.readBits(1) != 0) { // L: 380 - updateExternalPlayer(var0, var1); - } + return var8.toString(); + } + } - var3 = var0.readBits(13); // L: 381 - var4 = var0.readBits(13); // L: 382 - boolean var12 = var0.readBits(1) == 1; // L: 383 - if (var12) { // L: 384 - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIIS)V", + garbageValue = "16686" + ) + static void method308(int var0, int var1, int var2, int var3) { + for(ObjectSound var4 = (ObjectSound)ObjectSound.objectSounds.last(); var4 != null; var4 = (ObjectSound)ObjectSound.objectSounds.previous()) { + if (var4.soundEffectId != -1 || var4.soundEffectIds != null) { + int var5 = 0; + if (var1 > var4.field1090 * 16384) { + var5 += var1 - var4.field1090 * 16384; + } else if (var1 < var4.x * 16384) { + var5 += var4.x * 16384 - var1; + } - if (Client.players[var1] != null) { // L: 385 - throw new RuntimeException(); // L: 386 - } else { - Player var11 = Client.players[var1] = new Player(); // L: 388 - var11.index = var1; // L: 389 - if (Players.field1254[var1] != null) { // L: 390 - var11.read(Players.field1254[var1]); - } + if (var2 > var4.field1094 * 16384) { + var5 += var2 - var4.field1094 * 16384; + } else if (var2 < var4.y * 16384) { + var5 += var4.y * 16384 - var2; + } - var11.orientation = Players.Players_orientations[var1]; // L: 391 - var11.targetIndex = Players.Players_targetIndices[var1]; // L: 392 - var7 = Players.Players_regions[var1]; // L: 393 - var8 = var7 >> 28; // L: 394 - var9 = var7 >> 14 & 255; // L: 395 - var10 = var7 & 255; // L: 396 - var11.pathTraversed[0] = Players.field1253[var1]; // L: 397 - var11.plane = (byte)var8; // L: 398 - var11.resetPath((var9 << 13) + var3 - NetFileRequest.baseX, (var10 << 13) + var4 - class41.baseY); // L: 399 - var11.field631 = false; // L: 400 - return true; // L: 401 - } - } else if (var2 == 1) { // L: 403 - var3 = var0.readBits(2); // L: 404 - var4 = Players.Players_regions[var1]; // L: 405 - Players.Players_regions[var1] = (var4 & 268435455) + (((var4 >> 28) + var3 & 3) << 28); // L: 406 - return false; // L: 407 - } else { - int var5; - int var6; - if (var2 == 2) { // L: 409 - var3 = var0.readBits(5); // L: 410 - var4 = var3 >> 3; // L: 411 - var5 = var3 & 7; // L: 412 - var6 = Players.Players_regions[var1]; // L: 413 - var7 = (var6 >> 28) + var4 & 3; // L: 414 - var8 = var6 >> 14 & 255; // L: 415 - var9 = var6 & 255; // L: 416 - if (var5 == 0) { // L: 417 - --var8; // L: 418 - --var9; // L: 419 - } + if (var5 - 64 <= var4.field1092 && WorldMapSectionType.clientPreferences.areaSoundEffectsVolume != 0 && var0 == var4.plane) { + var5 -= 64; + if (var5 < 0) { + var5 = 0; + } - if (var5 == 1) { // L: 421 - --var9; - } + int var6 = (var4.field1092 - var5) * WorldMapSectionType.clientPreferences.areaSoundEffectsVolume / var4.field1092; + if (var4.stream1 == null) { + if (var4.soundEffectId >= 0) { + SoundEffect var7 = SoundEffect.readSoundEffect(WorldMapCacheName.archive4, var4.soundEffectId, 0); + if (var7 != null) { + RawSound var8 = var7.toRawSound().resample(World.decimator); + RawPcmStream var9 = RawPcmStream.createRawPcmStream(var8, 100, var6); + var9.setNumLoops(-1); + VarbitComposition.pcmStreamMixer.addSubStream(var9); + var4.stream1 = var9; + } + } + } else { + var4.stream1.method2796(var6); + } - if (var5 == 2) { // L: 422 - ++var8; // L: 423 - --var9; // L: 424 - } + if (var4.stream2 == null) { + if (var4.soundEffectIds != null && (var4.field1097 -= var3) <= 0) { + int var11 = (int)(Math.random() * (double)var4.soundEffectIds.length); + SoundEffect var12 = SoundEffect.readSoundEffect(WorldMapCacheName.archive4, var4.soundEffectIds[var11], 0); + if (var12 != null) { + RawSound var13 = var12.toRawSound().resample(World.decimator); + RawPcmStream var10 = RawPcmStream.createRawPcmStream(var13, 100, var6); + var10.setNumLoops(0); + VarbitComposition.pcmStreamMixer.addSubStream(var10); + var4.stream2 = var10; + var4.field1097 = var4.field1095 + (int)(Math.random() * (double)(var4.field1096 - var4.field1095)); + } + } + } else { + var4.stream2.method2796(var6); + if (!var4.stream2.hasNext()) { + var4.stream2 = null; + } + } + } else { + if (var4.stream1 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var4.stream1); + var4.stream1 = null; + } - if (var5 == 3) { // L: 426 - --var8; - } + if (var4.stream2 != null) { + VarbitComposition.pcmStreamMixer.removeSubStream(var4.stream2); + var4.stream2 = null; + } + } + } + } - if (var5 == 4) { // L: 427 - ++var8; - } + } - if (var5 == 5) { // L: 428 - --var8; // L: 429 - ++var9; // L: 430 - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "([BIIIIIIILeq;[Lfe;I)V", + garbageValue = "2043009976" + ) + static final void method310(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, Scene var8, CollisionMap[] var9) { + Buffer var10 = new Buffer(var0); + int var11 = -1; - if (var5 == 6) { // L: 432 - ++var9; - } + while(true) { + int var12 = var10.method5704(); + if (var12 == 0) { + return; + } - if (var5 == 7) { // L: 433 - ++var8; // L: 434 - ++var9; // L: 435 - } + var11 += var12; + int var13 = 0; - Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); // L: 437 - return false; // L: 438 - } else { - var3 = var0.readBits(18); // L: 440 - var4 = var3 >> 16; // L: 441 - var5 = var3 >> 8 & 255; // L: 442 - var6 = var3 & 255; // L: 443 - var7 = Players.Players_regions[var1]; // L: 444 - var8 = (var7 >> 28) + var4 & 3; // L: 445 - var9 = var5 + (var7 >> 14) & 255; // L: 446 - var10 = var7 + var6 & 255; // L: 447 - Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); // L: 448 - return false; // L: 449 - } - } - } + while(true) { + int var14 = var10.readUShortSmart(); + if (var14 == 0) { + break; + } + + var13 += var14 - 1; + int var15 = var13 & 63; + int var16 = var13 >> 6 & 63; + int var17 = var13 >> 12; + int var18 = var10.readUnsignedByte(); + int var19 = var18 >> 2; + int var20 = var18 & 3; + if (var17 == var4 && var16 >= var5 && var16 < var5 + 8 && var15 >= var6 && var15 < var6 + 8) { + ObjectComposition var21 = WorldMapAreaData.getObjectDefinition(var11); + int var24 = var16 & 7; + int var25 = var15 & 7; + int var27 = var21.sizeX; + int var28 = var21.sizeY; + int var29; + if ((var20 & 1) == 1) { + var29 = var27; + var27 = var28; + var28 = var29; + } + + int var26 = var7 & 3; + int var23; + if (var26 == 0) { + var23 = var24; + } else if (var26 == 1) { + var23 = var25; + } else if (var26 == 2) { + var23 = 7 - var24 - (var27 - 1); + } else { + var23 = 7 - var25 - (var28 - 1); + } + + var29 = var2 + var23; + int var30 = var3 + DevicePcmPlayerProvider.method921(var16 & 7, var15 & 7, var7, var21.sizeX, var21.sizeY, var20); + if (var29 > 0 && var30 > 0 && var29 < 103 && var30 < 103) { + int var31 = var1; + if ((Tiles.Tiles_renderFlags[1][var29][var30] & 2) == 2) { + var31 = var1 - 1; + } + + CollisionMap var32 = null; + if (var31 >= 0) { + var32 = var9[var31]; + } + + GameEngine.method1134(var1, var29, var30, var11, var20 + var7 & 3, var19, var8, var32); + } + } + } + } + } + + @ObfuscatedName("ew") + @ObfuscatedSignature( + descriptor = "(I)Lmf;", + garbageValue = "355278253" + ) + @Export("getWorldMap") + static WorldMap getWorldMap() { + return SoundSystem.worldMap; + } + + @ObfuscatedName("fp") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "-116" + ) + @Export("doCheat") + static final void doCheat(String var0) { + if (var0.equalsIgnoreCase("toggleroof")) { + WorldMapSectionType.clientPreferences.roofsHidden = !WorldMapSectionType.clientPreferences.roofsHidden; + class23.savePreferences(); + if (WorldMapSectionType.clientPreferences.roofsHidden) { + AbstractWorldMapData.addGameMessage(99, "", "Roofs are now all hidden"); + } else { + AbstractWorldMapData.addGameMessage(99, "", "Roofs will only be removed selectively"); + } + } + + if (var0.equalsIgnoreCase("displayfps")) { + Client.displayFps = !Client.displayFps; + } + + if (var0.equalsIgnoreCase("renderself")) { + Client.renderSelf = !Client.renderSelf; + } + + if (var0.equalsIgnoreCase("mouseovertext")) { + Client.showMouseOverText = !Client.showMouseOverText; + } + + if (Client.staffModLevel >= 2) { + if (var0.equalsIgnoreCase("errortest")) { + throw new RuntimeException(); + } + + if (var0.equalsIgnoreCase("showcoord")) { + SoundSystem.worldMap.showCoord = !SoundSystem.worldMap.showCoord; + } + + if (var0.equalsIgnoreCase("fpson")) { + Client.displayFps = true; + } + + if (var0.equalsIgnoreCase("fpsoff")) { + Client.displayFps = false; + } + + if (var0.equalsIgnoreCase("gc")) { + System.gc(); + } + + if (var0.equalsIgnoreCase("clientdrop")) { + class8.method90(); + } + } + + PacketBufferNode var1 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2261, Client.packetWriter.isaacCipher); + var1.packetBuffer.writeByte(var0.length() + 1); + var1.packetBuffer.writeStringCp1252NullTerminated(var0); + Client.packetWriter.addNode(var1); + } } diff --git a/runescape-client/src/main/java/WorldMapSection1.java b/runescape-client/src/main/java/WorldMapSection1.java index 0b7208b2f0..52234bd614 100644 --- a/runescape-client/src/main/java/WorldMapSection1.java +++ b/runescape-client/src/main/java/WorldMapSection1.java @@ -3,255 +3,292 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("aw") +@ObfuscatedName("ap") @Implements("WorldMapSection1") public class WorldMapSection1 implements WorldMapSection { - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -2133335865 - ) - @Export("pcmSampleLength") - static int pcmSampleLength; - @ObfuscatedName("at") - @ObfuscatedGetter( - intValue = 2029810381 - ) - static int field313; - @ObfuscatedName("bd") - static String field317; - @ObfuscatedName("lm") - @ObfuscatedSignature( - descriptor = "Lcq;" - ) - @Export("tempMenuAction") - static MenuAction tempMenuAction; - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 1765160595 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 526004841 - ) - @Export("planes") - int planes; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1672936937 - ) - @Export("regionStartX") - int regionStartX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -73066687 - ) - @Export("regionStartY") - int regionStartY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1072528651 - ) - @Export("regionEndX") - int regionEndX; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 1416924829 - ) - @Export("regionEndY") - int regionEndY; + @ObfuscatedName("ge") + @ObfuscatedSignature( + descriptor = "[Lly;" + ) + @Export("mapSceneSprites") + static IndexedSprite[] mapSceneSprites; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -1101754891 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 112760039 + ) + @Export("planes") + int planes; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1255981351 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 282137725 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -2048603637 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -2025477005 + ) + @Export("regionEndY") + int regionEndY; - WorldMapSection1() { - } // L: 14 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lar;B)V", + garbageValue = "112" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.regionEndX) { + var1.regionLowX = this.regionEndX; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lav;S)V", - garbageValue = "19050" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.regionEndX) { // L: 17 - var1.regionLowX = this.regionEndX; - } + if (var1.regionHighX < this.regionEndX) { + var1.regionHighX = this.regionEndX; + } - if (var1.regionHighX < this.regionEndX) { - var1.regionHighX = this.regionEndX; // L: 18 - } + if (var1.regionLowY > this.regionEndY) { + var1.regionLowY = this.regionEndY; + } - if (var1.regionLowY > this.regionEndY) { // L: 19 - var1.regionLowY = this.regionEndY; - } + if (var1.regionHighY < this.regionEndY) { + var1.regionHighY = this.regionEndY; + } - if (var1.regionHighY < this.regionEndY) { // L: 20 - var1.regionHighY = this.regionEndY; - } + } - } // L: 21 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Z", + garbageValue = "-90" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { + return var2 >> 6 == this.regionStartX && var3 >> 6 == this.regionStartY; + } else { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "241939554" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { // L: 24 - return var2 >> 6 == this.regionStartX && var3 >> 6 == this.regionStartY; // L: 27 - } else { - return false; // L: 25 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-5" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "639074408" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >> 6 == this.regionEndX && var2 >> 6 == this.regionEndY; // L: 31 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIB)[I", + garbageValue = "-76" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.regionEndX * 64 - this.regionStartX * 64 + var2, var3 + (this.regionEndY * 64 - this.regionStartY * 64)}; + return var4; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "1868308301" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { // L: 35 - return null; // L: 36 - } else { - int[] var4 = new int[]{var2 + (this.regionEndX * 64 - this.regionStartX * 64), var3 + (this.regionEndY * 64 - this.regionStartY * 64)}; // L: 38 39 40 - return var4; // L: 41 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "-1841969392" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.regionStartX * 64 - this.regionEndX * 64 + var1; + int var4 = this.regionStartY * 64 - this.regionEndY * 64 + var2; + return new Coord(this.minPlane, var3, var4); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { // L: 45 - return null; // L: 46 - } else { - int var3 = this.regionStartX * 64 - this.regionEndX * 64 + var1; // L: 48 - int var4 = var2 + (this.regionStartY * 64 - this.regionEndY * 64); // L: 49 - return new Coord(this.minPlane, var3, var4); // L: 50 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-489268143" + ) + @Export("read") + public void read(Buffer var1) { + this.minPlane = var1.readUnsignedByte(); + this.planes = var1.readUnsignedByte(); + this.regionStartX = var1.readUnsignedShort(); + this.regionStartY = var1.readUnsignedShort(); + this.regionEndX = var1.readUnsignedShort(); + this.regionEndY = var1.readUnsignedShort(); + this.postRead(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "125" - ) - @Export("read") - public void read(Buffer var1) { - this.minPlane = var1.readUnsignedByte(); // L: 54 - this.planes = var1.readUnsignedByte(); // L: 55 - this.regionStartX = var1.readUnsignedShort(); // L: 56 - this.regionStartY = var1.readUnsignedShort(); // L: 57 - this.regionEndX = var1.readUnsignedShort(); // L: 58 - this.regionEndY = var1.readUnsignedShort(); // L: 59 - this.postRead(); // L: 60 - } // L: 61 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "12" + ) + @Export("postRead") + void postRead() { + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-154945566" - ) - @Export("postRead") - void postRead() { - } // L: 63 + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "103" + ) + public static void method671() { + WorldMapRegion.WorldMapRegion_cachedSprites.demote(5); + } - @ObfuscatedName("fi") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1319638735" - ) - @Export("forceDisconnect") - static final void forceDisconnect(int var0) { - WorldMapRectangle.logOut(); // L: 2940 - switch(var0) { // L: 2941 - case 1: - Login.loginIndex = 24; // L: 2950 - GameEngine.setLoginResponseString("", "You were disconnected from the server.", ""); // L: 2951 - break; - case 2: - Messages.method2285(); // L: 2944 - } + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(CB)Z", + garbageValue = "4" + ) + static boolean method657(char var0) { + for(int var1 = 0; var1 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var1) { + if (var0 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var1)) { + return true; + } + } - } // L: 2956 + return false; + } - @ObfuscatedName("ie") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-546925347" - ) - static boolean method624(int var0) { - return var0 == 57 || var0 == 58 || var0 == 1007 || var0 == 25 || var0 == 30; // L: 8551 - } + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-1029416071" + ) + static int method679(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } - @ObfuscatedName("kp") - static final void method626(double var0) { - Rasterizer3D.Rasterizer3D_setBrightness(var0); // L: 10642 - ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).setBrightness(var0); // L: 10643 - ItemComposition.ItemDefinition_cachedSprites.clear(); // L: 10645 - Timer.clientPreferences.field1057 = var0; // L: 10647 - GrandExchangeOffer.savePreferences(); // L: 10648 - } // L: 10649 + String var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + int[] var5 = null; + if (var4.length() > 0 && var4.charAt(var4.length() - 1) == 'Y') { + int var6 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var6 > 0) { + for(var5 = new int[var6]; var6-- > 0; var5[var6] = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]) { + ; + } + } - @ObfuscatedName("lz") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ZB)V", - garbageValue = "71" - ) - @Export("findItemDefinitions") - static void findItemDefinitions(String var0, boolean var1) { - var0 = var0.toLowerCase(); // L: 11102 - short[] var2 = new short[16]; // L: 11103 - int var3 = 0; // L: 11104 + var4 = var4.substring(0, var4.length() - 1); + } - for (int var4 = 0; var4 < Varcs.ItemDefinition_fileCount; ++var4) { // L: 11105 - ItemComposition var9 = SecureRandomCallable.ItemDefinition_get(var4); // L: 11106 - if ((!var1 || var9.isTradable) && var9.noteTemplate == -1 && var9.name.toLowerCase().indexOf(var0) != -1) { // L: 11107 11108 11109 - if (var3 >= 250) { // L: 11110 - PacketBufferNode.foundItemIdCount = -1; // L: 11111 - UrlRequest.foundItemIds = null; // L: 11112 - return; // L: 11113 - } + Object[] var8 = new Object[var4.length() + 1]; - if (var3 >= var2.length) { // L: 11115 - short[] var6 = new short[var2.length * 2]; // L: 11116 + int var7; + for(var7 = var8.length - 1; var7 >= 1; --var7) { + if (var4.charAt(var7 - 1) == 's') { + var8[var7] = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + } else { + var8[var7] = new Integer(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } + } - for (int var7 = 0; var7 < var3; ++var7) { // L: 11117 - var6[var7] = var2[var7]; - } + var7 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var7 != -1) { + var8[0] = new Integer(var7); + } else { + var8 = null; + } - var2 = var6; // L: 11118 - } + if (var0 == ScriptOpcodes.CC_SETONCLICK) { + var3.onClick = var8; + } else if (var0 == ScriptOpcodes.CC_SETONHOLD) { + var3.onHold = var8; + } else if (var0 == ScriptOpcodes.CC_SETONRELEASE) { + var3.onRelease = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEOVER) { + var3.onMouseOver = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSELEAVE) { + var3.onMouseLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAG) { + var3.onDrag = var8; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETLEAVE) { + var3.onTargetLeave = var8; + } else if (var0 == ScriptOpcodes.CC_SETONVARTRANSMIT) { + var3.onVarTransmit = var8; + var3.varTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTIMER) { + var3.onTimer = var8; + } else if (var0 == ScriptOpcodes.CC_SETONOP) { + var3.onOp = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDRAGCOMPLETE) { + var3.onDragComplete = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLICKREPEAT) { + var3.onClickRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMOUSEREPEAT) { + var3.onMouseRepeat = var8; + } else if (var0 == ScriptOpcodes.CC_SETONINVTRANSMIT) { + var3.onInvTransmit = var8; + var3.invTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONSTATTRANSMIT) { + var3.onStatTransmit = var8; + var3.statTransmitTriggers = var5; + } else if (var0 == ScriptOpcodes.CC_SETONTARGETENTER) { + var3.onTargetEnter = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) { + var3.onScroll = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) { + var3.onChatTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONKEY) { + var3.onKey = var8; + } else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) { + var3.onFriendTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) { + var3.onClanTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) { + var3.onMiscTransmit = var8; + } else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) { + var3.onDialogAbort = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) { + var3.onSubChange = var8; + } else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) { + var3.onStockTransmit = var8; + } else if (var0 == 1426) { + var3.field2678 = var8; + } else { + if (var0 != ScriptOpcodes.CC_SETONRESIZE) { + return 2; + } - var2[var3++] = (short)var4; // L: 11120 - } - } + var3.onResize = var8; + } - UrlRequest.foundItemIds = var2; // L: 11122 - NetCache.foundItemIndex = 0; // L: 11123 - PacketBufferNode.foundItemIdCount = var3; // L: 11124 - String[] var8 = new String[PacketBufferNode.foundItemIdCount]; // L: 11125 - - for (int var5 = 0; var5 < PacketBufferNode.foundItemIdCount; ++var5) { // L: 11126 - var8[var5] = SecureRandomCallable.ItemDefinition_get(var2[var5]).name; - } - - short[] var10 = UrlRequest.foundItemIds; // L: 11127 - class89.sortItemsByName(var8, var10, 0, var8.length - 1); // L: 11129 - } // L: 11131 + var3.hasListener = true; + return 1; + } } diff --git a/runescape-client/src/main/java/WorldMapSection2.java b/runescape-client/src/main/java/WorldMapSection2.java index 80faf37d86..84114623b7 100644 --- a/runescape-client/src/main/java/WorldMapSection2.java +++ b/runescape-client/src/main/java/WorldMapSection2.java @@ -1,212 +1,281 @@ -import java.io.IOException; import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ac") +@ObfuscatedName("ak") @Implements("WorldMapSection2") public class WorldMapSection2 implements WorldMapSection { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1820791637 - ) - @Export("minPlane") - int minPlane; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -565326093 - ) - @Export("planes") - int planes; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 2013680833 - ) - @Export("regionStartX") - int regionStartX; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -1086976489 - ) - @Export("regionStartY") - int regionStartY; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -793324497 - ) - @Export("regionEndX") - int regionEndX; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = 948306725 - ) - @Export("regionEndY") - int regionEndY; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -903229511 - ) - int field209; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 92163463 - ) - int field213; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1623221685 - ) - int field216; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = 2079890503 - ) - int field218; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1261462593 + ) + @Export("minPlane") + int minPlane; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 673564695 + ) + @Export("planes") + int planes; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1568075511 + ) + @Export("regionStartX") + int regionStartX; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1256357453 + ) + @Export("regionStartY") + int regionStartY; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1568273265 + ) + @Export("regionEndX") + int regionEndX; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = -1493611659 + ) + @Export("regionEndY") + int regionEndY; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1992152745 + ) + int field227; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 360944973 + ) + int field228; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1394856673 + ) + int field222; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = -1765677155 + ) + int field230; - WorldMapSection2() { - } // L: 18 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lar;B)V", + garbageValue = "112" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.field227) { + var1.regionLowX = this.field227; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lav;S)V", - garbageValue = "19050" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field209) { - var1.regionLowX = this.field209; - } + if (var1.regionHighX < this.field222) { + var1.regionHighX = this.field222; + } - if (var1.regionHighX < this.field216) { - var1.regionHighX = this.field216; // L: 22 - } + if (var1.regionLowY > this.field228) { + var1.regionLowY = this.field228; + } - if (var1.regionLowY > this.field213) { // L: 23 - var1.regionLowY = this.field213; - } + if (var1.regionHighY < this.field230) { + var1.regionHighY = this.field230; + } - if (var1.regionHighY < this.field218) { // L: 24 - var1.regionHighY = this.field218; - } + } - } // L: 25 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Z", + garbageValue = "-90" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { + return var2 >> 6 >= this.regionStartX && var2 >> 6 <= this.regionEndX && var3 >> 6 >= this.regionStartY && var3 >> 6 <= this.regionEndY; + } else { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "241939554" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.minPlane && var1 < this.planes + this.minPlane) { // L: 28 - return var2 >> 6 >= this.regionStartX && var2 >> 6 <= this.regionEndX && var3 >> 6 >= this.regionStartY && var3 >> 6 <= this.regionEndY; // L: 31 - } else { - return false; // L: 29 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-5" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >> 6 >= this.field227 && var1 >> 6 <= this.field222 && var2 >> 6 >= this.field228 && var2 >> 6 <= this.field230; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "639074408" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >> 6 >= this.field209 && var1 >> 6 <= this.field216 && var2 >> 6 >= this.field213 && var2 >> 6 <= this.field218; // L: 35 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIB)[I", + garbageValue = "-76" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.field227 * 64 - this.regionStartX * 64 + var2, var3 + (this.field228 * 64 - this.regionStartY * 64)}; + return var4; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "1868308301" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { // L: 39 - return null; // L: 40 - } else { - int[] var4 = new int[]{var2 + (this.field209 * 64 - this.regionStartX * 64), var3 + (this.field213 * 64 - this.regionStartY * 64)}; // L: 42 43 44 - return var4; // L: 45 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "-1841969392" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.regionStartX * 64 - this.field227 * 64 + var1; + int var4 = this.regionStartY * 64 - this.field228 * 64 + var2; + return new Coord(this.minPlane, var3, var4); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { // L: 49 - return null; // L: 50 - } else { - int var3 = this.regionStartX * 64 - this.field209 * 64 + var1; // L: 52 - int var4 = var2 + (this.regionStartY * 64 - this.field213 * 64); // L: 53 - return new Coord(this.minPlane, var3, var4); // L: 54 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-489268143" + ) + @Export("read") + public void read(Buffer var1) { + this.minPlane = var1.readUnsignedByte(); + this.planes = var1.readUnsignedByte(); + this.regionStartX = var1.readUnsignedShort(); + this.regionStartY = var1.readUnsignedShort(); + this.regionEndX = var1.readUnsignedShort(); + this.regionEndY = var1.readUnsignedShort(); + this.field227 = var1.readUnsignedShort(); + this.field228 = var1.readUnsignedShort(); + this.field222 = var1.readUnsignedShort(); + this.field230 = var1.readUnsignedShort(); + this.postRead(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "125" - ) - @Export("read") - public void read(Buffer var1) { - this.minPlane = var1.readUnsignedByte(); // L: 58 - this.planes = var1.readUnsignedByte(); // L: 59 - this.regionStartX = var1.readUnsignedShort(); // L: 60 - this.regionStartY = var1.readUnsignedShort(); // L: 61 - this.regionEndX = var1.readUnsignedShort(); // L: 62 - this.regionEndY = var1.readUnsignedShort(); // L: 63 - this.field209 = var1.readUnsignedShort(); // L: 64 - this.field213 = var1.readUnsignedShort(); // L: 65 - this.field216 = var1.readUnsignedShort(); // L: 66 - this.field218 = var1.readUnsignedShort(); // L: 67 - this.postRead(); // L: 68 - } // L: 69 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(S)V", + garbageValue = "16256" + ) + @Export("postRead") + void postRead() { + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-44" - ) - @Export("postRead") - void postRead() { - } // L: 71 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1722479891" + ) + public static void method387() { + try { + JagexCache.JagexCache_dat2File.close(); - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-695771514" - ) - public static boolean method378(int var0) { - return (var0 >> 28 & 1) != 0; // L: 21 - } + for(int var0 = 0; var0 < JagexCache.idxCount; ++var0) { + WorldMapEvent.JagexCache_idxFiles[var0].close(); + } - @ObfuscatedName("hf") - @ObfuscatedSignature( - descriptor = "(ZI)V", - garbageValue = "240691072" - ) - static final void method377(boolean var0) { - FontName.playPcmPlayers(); // L: 5471 - ++Client.packetWriter.pendingWrites; // L: 5472 - if (Client.packetWriter.pendingWrites >= 50 || var0) { // L: 5473 - Client.packetWriter.pendingWrites = 0; // L: 5474 - if (!Client.field696 && Client.packetWriter.getSocket() != null) { // L: 5475 - PacketBufferNode var1 = ItemContainer.getPacketBufferNode(ClientPacket.field2322, Client.packetWriter.isaacCipher); // L: 5477 - Client.packetWriter.addNode(var1); // L: 5478 + JagexCache.JagexCache_idx255File.close(); + JagexCache.JagexCache_randomDat.close(); + } catch (Exception var2) { + ; + } - try { - Client.packetWriter.flush(); // L: 5480 - } catch (IOException var3) { // L: 5482 - Client.field696 = true; // L: 5483 - } - } + } - } - } // L: 5486 + @ObfuscatedName("fn") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "815934971" + ) + @Export("forceDisconnect") + static final void forceDisconnect(int var0) { + SecureRandomCallable.logOut(); + switch(var0) { + case 1: + Login.loginIndex = 24; + InvDefinition.setLoginResponseString("", "You were disconnected from the server.", ""); + break; + case 2: + Login.loginIndex = 24; + InvDefinition.setLoginResponseString("The game servers are currently being updated.", "Please wait a few minutes and try again.", ""); + } + + } + + @ObfuscatedName("ir") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "8447233" + ) + @Export("Widget_runOnTargetLeave") + static void Widget_runOnTargetLeave() { + if (Client.isSpellSelected) { + Widget var0 = ArchiveLoader.getWidgetChild(MidiPcmStream.selectedSpellWidget, Client.selectedSpellChildIndex); + if (var0 != null && var0.onTargetLeave != null) { + ScriptEvent var1 = new ScriptEvent(); + var1.widget = var0; + var1.args = var0.onTargetLeave; + PacketWriter.runScriptEvent(var1); + } + + Client.isSpellSelected = false; + IsaacCipher.invalidateWidget(var0); + } + } + + @ObfuscatedName("jn") + @ObfuscatedSignature( + descriptor = "(Lhz;B)V", + garbageValue = "59" + ) + static final void method401(Widget var0) { + int var1 = var0.contentType; + if (var1 == 324) { + if (Client.field850 == -1) { + Client.field850 = var0.spriteId2; + Client.field927 = var0.spriteId; + } + + if (Client.playerComposition.isFemale) { + var0.spriteId2 = Client.field850; + } else { + var0.spriteId2 = Client.field927; + } + + } else if (var1 == 325) { + if (Client.field850 == -1) { + Client.field850 = var0.spriteId2; + Client.field927 = var0.spriteId; + } + + if (Client.playerComposition.isFemale) { + var0.spriteId2 = Client.field927; + } else { + var0.spriteId2 = Client.field850; + } + + } else if (var1 == 327) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 0; + } else if (var1 == 328) { + var0.modelAngleX = 150; + var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; + var0.modelType = 5; + var0.modelId = 1; + } + } } diff --git a/runescape-client/src/main/java/WorldMapSectionType.java b/runescape-client/src/main/java/WorldMapSectionType.java index 7f186e442e..1f1507fab9 100644 --- a/runescape-client/src/main/java/WorldMapSectionType.java +++ b/runescape-client/src/main/java/WorldMapSectionType.java @@ -4,82 +4,185 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ag") +@ObfuscatedName("ae") @Implements("WorldMapSectionType") public enum WorldMapSectionType implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lag;" - ) - @Export("WORLDMAPSECTIONTYPE0") - WORLDMAPSECTIONTYPE0(1, (byte)0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lag;" - ) - @Export("WORLDMAPSECTIONTYPE1") - WORLDMAPSECTIONTYPE1(0, (byte)1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lag;" - ) - @Export("WORLDMAPSECTIONTYPE2") - WORLDMAPSECTIONTYPE2(3, (byte)2), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lag;" - ) - @Export("WORLDMAPSECTIONTYPE3") - WORLDMAPSECTIONTYPE3(2, (byte)3); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lae;" + ) + @Export("WORLDMAPSECTIONTYPE0") + WORLDMAPSECTIONTYPE0(3, (byte)0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lae;" + ) + @Export("WORLDMAPSECTIONTYPE1") + WORLDMAPSECTIONTYPE1(0, (byte)1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lae;" + ) + @Export("WORLDMAPSECTIONTYPE2") + WORLDMAPSECTIONTYPE2(2, (byte)2), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lae;" + ) + @Export("WORLDMAPSECTIONTYPE3") + WORLDMAPSECTIONTYPE3(1, (byte)3); - @ObfuscatedName("bn") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("worldSelectArrows") - static IndexedSprite[] worldSelectArrows; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -297259605 - ) - @Export("type") - final int type; - @ObfuscatedName("j") - @Export("id") - final byte id; + @ObfuscatedName("sm") + @ObfuscatedSignature( + descriptor = "Lcf;" + ) + @Export("clientPreferences") + static ClientPreferences clientPreferences; + @ObfuscatedName("sv") + @ObfuscatedSignature( + descriptor = "Li;" + ) + @Export("grandExchangeEvents") + static GrandExchangeEvents grandExchangeEvents; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -695780183 + ) + @Export("type") + final int type; + @ObfuscatedName("h") + @Export("id") + final byte id; - WorldMapSectionType(int var3, byte var4) { - this.type = var3; // L: 21 - this.id = var4; // L: 22 - } // L: 23 + WorldMapSectionType(int var3, byte var4) { + this.type = var3; + this.id = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 26 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lag;", - garbageValue = "116" - ) - static WorldMapSectionType[] method295() { - return new WorldMapSectionType[]{WORLDMAPSECTIONTYPE3, WORLDMAPSECTIONTYPE1, WORLDMAPSECTIONTYPE0, WORLDMAPSECTIONTYPE2}; // L: 17 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Liy;IIIBZI)V", + garbageValue = "-1369121256" + ) + @Export("requestNetFile") + 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) { + if (var5) { + var8.removeDual(); + NetCache.NetCache_pendingPriorityWrites.put(var8, var6); + --NetCache.NetCache_pendingWritesCount; + ++NetCache.NetCache_pendingPriorityWritesCount; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(ILib;Ljava/lang/String;Ljava/lang/String;IZI)V", - garbageValue = "-519940907" - ) - public static void method300(int var0, AbstractArchive var1, String var2, String var3, int var4, boolean var5) { - int var6 = var1.getGroupId(var2); // L: 42 - int var7 = var1.getFileId(var6, var3); // L: 43 - SecureRandomCallable.method1221(var0, var1, var6, var7, var4, var5); // L: 44 - } // L: 45 + } 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; + } + + } + } + } + } + + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-103793569" + ) + static final int method320(int var0, int var1) { + int var2 = var1 * 57 + var0; + var2 ^= var2 << 13; + int var3 = var2 * (var2 * var2 * 15731 + 789221) + 1376312589 & Integer.MAX_VALUE; + return var3 >> 19 & 255; + } + + @ObfuscatedName("go") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "-177467978" + ) + static final void method318(int var0, int var1, int var2, int var3) { + Client.field778 = 0; + int var4 = GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7); + int var5 = NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7); + if (var4 >= 3053 && var4 <= 3156 && var5 >= 3056 && var5 <= 3136) { + Client.field778 = 1; + } + + if (var4 >= 3072 && var4 <= 3118 && var5 >= 9492 && var5 <= 9535) { + Client.field778 = 1; + } + + if (Client.field778 == 1 && var4 >= 3139 && var4 <= 3199 && var5 >= 3008 && var5 <= 3062) { + Client.field778 = 0; + } + + } + + @ObfuscatedName("hp") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "417722917" + ) + static final void method319() { + for(PendingSpawn var0 = (PendingSpawn)Client.pendingSpawns.last(); var0 != null; var0 = (PendingSpawn)Client.pendingSpawns.previous()) { + if (var0.hitpoints > 0) { + --var0.hitpoints; + } + + if (var0.hitpoints == 0) { + if (var0.objectId < 0 || TaskHandler.method3673(var0.objectId, var0.field945)) { + SpriteMask.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.objectId, var0.field944, var0.field945); + var0.remove(); + } + } else { + if (var0.delay > 0) { + --var0.delay; + } + + if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102 && (var0.id < 0 || TaskHandler.method3673(var0.id, var0.field948))) { + SpriteMask.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field948); + var0.delay = -1; + if (var0.objectId == var0.id && var0.objectId == -1) { + var0.remove(); + } else if (var0.id == var0.objectId && var0.field944 == var0.orientation && var0.field948 == var0.field945) { + var0.remove(); + } + } + } + } + + } } diff --git a/runescape-client/src/main/java/WorldMapSprite.java b/runescape-client/src/main/java/WorldMapSprite.java index dd2f1f424c..e9eab89435 100644 --- a/runescape-client/src/main/java/WorldMapSprite.java +++ b/runescape-client/src/main/java/WorldMapSprite.java @@ -3,81 +3,163 @@ import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("aq") +@ObfuscatedName("al") @Implements("WorldMapSprite") public final class WorldMapSprite { - @ObfuscatedName("ds") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive1") - static Archive archive1; - @ObfuscatedName("et") - @Export("worldHost") - static String worldHost; - @ObfuscatedName("v") - @Export("tileColors") - final int[] tileColors; + @ObfuscatedName("q") + static int[][] field257; + @ObfuscatedName("l") + public static short[][] field259; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lfm;" + ) + @Export("clock") + protected static Clock clock; + @ObfuscatedName("ji") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + static Widget field260; + @ObfuscatedName("v") + @Export("tileColors") + final int[] tileColors; - WorldMapSprite() { - this.tileColors = new int[4096]; // L: 11 - } // L: 12 + WorldMapSprite() { + this.tileColors = new int[4096]; + } - WorldMapSprite(int[] var1) { - this.tileColors = var1; // L: 15 - } // L: 16 + WorldMapSprite(int[] var1) { + this.tileColors = var1; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-323058581" - ) - @Export("getTileColor") - final int getTileColor(int var1, int var2) { - return this.tileColors[var1 + var2 * 64]; // L: 24 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "-36950090" + ) + @Export("getTileColor") + final int getTileColor(int var1, int var2) { + return this.tileColors[var2 * 64 + var1]; + } - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-327345288" - ) - static final int method468(int var0, int var1) { - int var2 = GrandExchangeOffer.method190(var0 - 1, var1 - 1) + GrandExchangeOffer.method190(var0 + 1, var1 - 1) + GrandExchangeOffer.method190(var0 - 1, 1 + var1) + GrandExchangeOffer.method190(1 + var0, 1 + var1); // L: 848 - int var3 = GrandExchangeOffer.method190(var0 - 1, var1) + GrandExchangeOffer.method190(1 + var0, var1) + GrandExchangeOffer.method190(var0, var1 - 1) + GrandExchangeOffer.method190(var0, 1 + var1); // L: 849 - int var4 = GrandExchangeOffer.method190(var0, var1); // L: 850 - return var2 / 16 + var3 / 8 + var4 / 4; // L: 851 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lgd;Lmw;S)Lgk;", + garbageValue = "22306" + ) + @Export("getPacketBufferNode") + public static PacketBufferNode getPacketBufferNode(ClientPacket var0, IsaacCipher var1) { + PacketBufferNode var2; + if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { + var2 = new PacketBufferNode(); + } else { + var2 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; + } - @ObfuscatedName("hi") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1287826553" - ) - static final void method467() { - for (GraphicsObject var0 = (GraphicsObject)Client.graphicsObjects.last(); var0 != null; var0 = (GraphicsObject)Client.graphicsObjects.previous()) { // L: 4771 4772 4779 - if (var0.plane == GameObject.Client_plane && !var0.isFinished) { // L: 4773 - if (Client.cycle >= var0.cycleStart) { // L: 4774 - var0.advance(Client.field850); // L: 4775 - if (var0.isFinished) { - var0.remove(); // L: 4776 - } else { - ArchiveLoader.scene.drawEntity(var0.plane, var0.x, var0.y, var0.height, 60, var0, 0, -1L, false); // L: 4777 - } - } - } else { - var0.remove(); - } - } + var2.clientPacket = var0; + var2.clientPacketLength = var0.length; + if (var2.clientPacketLength == -1) { + var2.packetBuffer = new PacketBuffer(260); + } else if (var2.clientPacketLength == -2) { + var2.packetBuffer = new PacketBuffer(10000); + } else if (var2.clientPacketLength <= 18) { + var2.packetBuffer = new PacketBuffer(20); + } else if (var2.clientPacketLength <= 98) { + var2.packetBuffer = new PacketBuffer(100); + } else { + var2.packetBuffer = new PacketBuffer(260); + } - } // L: 4781 + var2.packetBuffer.setIsaacCipher(var1); + var2.packetBuffer.writeByteIsaac(var2.clientPacket.id); + var2.index = 0; + return var2; + } - @ObfuscatedName("iw") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "646610765" - ) - static final int method463() { - return Client.menuOptionsCount - 1; // L: 8524 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "(Lef;IIII)Z", + garbageValue = "1577408669" + ) + static final boolean method498(Model var0, int var1, int var2, int var3) { + boolean var4 = ViewportMouse.ViewportMouse_isInViewport; + if (!var4) { + return false; + } else { + int var5; + int var6; + int var7; + int var8; + int var11; + int var12; + int var13; + int var16; + int var17; + if (!ViewportMouse.ViewportMouse_false0) { + var5 = Scene.Scene_cameraPitchSine; + var6 = Scene.Scene_cameraPitchCosine; + var7 = Scene.Scene_cameraYawSine; + var8 = Scene.Scene_cameraYawCosine; + byte var9 = 50; + short var10 = 3500; + var11 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var9 / Rasterizer3D.Rasterizer3D_zoom; + var12 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var9 / Rasterizer3D.Rasterizer3D_zoom; + var13 = (ViewportMouse.ViewportMouse_x - Rasterizer3D.Rasterizer3D_clipMidX) * var10 / Rasterizer3D.Rasterizer3D_zoom; + int var14 = (ViewportMouse.ViewportMouse_y - Rasterizer3D.Rasterizer3D_clipMidY) * var10 / Rasterizer3D.Rasterizer3D_zoom; + int var15 = Rasterizer3D.method3188(var12, var9, var6, var5); + var16 = Rasterizer3D.method3189(var12, var9, var6, var5); + var12 = var15; + var15 = Rasterizer3D.method3188(var14, var10, var6, var5); + var17 = Rasterizer3D.method3189(var14, var10, var6, var5); + var14 = var15; + var15 = Rasterizer3D.method3186(var11, var16, var8, var7); + var16 = Rasterizer3D.method3187(var11, var16, var8, var7); + var11 = var15; + var15 = Rasterizer3D.method3186(var13, var17, var8, var7); + var17 = Rasterizer3D.method3187(var13, var17, var8, var7); + ViewportMouse.field1757 = (var15 + var11) / 2; + class8.field45 = (var14 + var12) / 2; + class39.field288 = (var16 + var17) / 2; + ViewportMouse.field1758 = (var15 - var11) / 2; + ViewportMouse.field1759 = (var14 - var12) / 2; + class25.field146 = (var17 - var16) / 2; + MusicPatchPcmStream.field2516 = Math.abs(ViewportMouse.field1758); + class7.field35 = Math.abs(ViewportMouse.field1759); + DynamicObject.field1311 = Math.abs(class25.field146); + } + + var5 = var0.xMid + var1; + var6 = var2 + var0.yMid; + var7 = var3 + var0.zMid; + var8 = var0.xMidOffset; + var16 = var0.yMidOffset; + var17 = var0.zMidOffset; + var11 = ViewportMouse.field1757 - var5; + var12 = class8.field45 - var6; + var13 = class39.field288 - var7; + if (Math.abs(var11) > var8 + MusicPatchPcmStream.field2516) { + return false; + } else if (Math.abs(var12) > var16 + class7.field35) { + return false; + } else if (Math.abs(var13) > var17 + DynamicObject.field1311) { + return false; + } else if (Math.abs(var13 * ViewportMouse.field1759 - var12 * class25.field146) > var16 * DynamicObject.field1311 + var17 * class7.field35) { + return false; + } else if (Math.abs(var11 * class25.field146 - var13 * ViewportMouse.field1758) > var8 * DynamicObject.field1311 + var17 * MusicPatchPcmStream.field2516) { + return false; + } else { + return Math.abs(var12 * ViewportMouse.field1758 - var11 * ViewportMouse.field1759) <= var8 * class7.field35 + var16 * MusicPatchPcmStream.field2516; + } + } + } + + @ObfuscatedName("kv") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "1984621095" + ) + static void method496(int var0) { + Client.oculusOrbState = var0; + } } diff --git a/runescape-client/src/main/java/Wrapper.java b/runescape-client/src/main/java/Wrapper.java index d01cc7ff97..da918eb763 100644 --- a/runescape-client/src/main/java/Wrapper.java +++ b/runescape-client/src/main/java/Wrapper.java @@ -2,22 +2,22 @@ import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("ft") +@ObfuscatedName("fa") @Implements("Wrapper") public abstract class Wrapper extends DualNode { - @ObfuscatedName("v") - @Export("size") - final int size; + @ObfuscatedName("v") + @Export("size") + final int size; - Wrapper(int var1) { - this.size = var1; // L: 9 - } // L: 10 + Wrapper(int var1) { + this.size = var1; + } - @ObfuscatedName("h") - @Export("get") - abstract Object get(); + @ObfuscatedName("n") + @Export("get") + abstract Object get(); - @ObfuscatedName("v") - @Export("isSoft") - abstract boolean isSoft(); + @ObfuscatedName("v") + @Export("isSoft") + abstract boolean isSoft(); } diff --git a/runescape-client/src/main/java/class0.java b/runescape-client/src/main/java/class0.java index 2b83a91f04..dcdf24b8a1 100644 --- a/runescape-client/src/main/java/class0.java +++ b/runescape-client/src/main/java/class0.java @@ -1,19 +1,19 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("h") +@ObfuscatedName("n") public interface class0 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lkj;I)V", - garbageValue = "781194334" - ) - void vmethod49(Object var1, Buffer var2); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lkx;B)V", + garbageValue = "-41" + ) + void vmethod48(Object var1, Buffer var2); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;B)Ljava/lang/Object;", - garbageValue = "12" - ) - Object vmethod48(Buffer var1); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Ljava/lang/Object;", + garbageValue = "1678106953" + ) + Object vmethod45(Buffer var1); } diff --git a/runescape-client/src/main/java/class1.java b/runescape-client/src/main/java/class1.java index 5a735674a1..3b8b2e91db 100644 --- a/runescape-client/src/main/java/class1.java +++ b/runescape-client/src/main/java/class1.java @@ -4,208 +4,82 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("v") final class class1 implements class0 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("VarpDefinition_archive") - public static AbstractArchive VarpDefinition_archive; - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("Widget_spritesArchive") - public static AbstractArchive Widget_spritesArchive; - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "Lca;" - ) - @Export("loginScreenRunesAnimation") - static LoginScreenAnimation loginScreenRunesAnimation; + @ObfuscatedName("v") + @Export("localPlayerName") + public static String localPlayerName; + @ObfuscatedName("z") + static byte[][][] field1; + @ObfuscatedName("av") + @Export("client") + @ObfuscatedSignature( + descriptor = "Lclient;" + ) + static Client client; + @ObfuscatedName("bj") + @Export("otp") + static String otp; + @ObfuscatedName("ex") + static int[] field5; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lkj;I)V", - garbageValue = "781194334" - ) - public void vmethod49(Object var1, Buffer var2) { - this.method6((Integer)var1, var2); // L: 20 - } // L: 21 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lkx;B)V", + garbageValue = "-41" + ) + public void vmethod48(Object var1, Buffer var2) { + this.method6((Integer)var1, var2); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;B)Ljava/lang/Object;", - garbageValue = "12" - ) - public Object vmethod48(Buffer var1) { - return var1.readInt(); // L: 16 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Ljava/lang/Object;", + garbageValue = "1678106953" + ) + public Object vmethod45(Buffer var1) { + return var1.readInt(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Integer;Lkj;I)V", - garbageValue = "-1179776664" - ) - void method6(Integer var1, Buffer var2) { - var2.writeInt(var1); // L: 12 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Integer;Lkx;B)V", + garbageValue = "127" + ) + void method6(Integer var1, Buffer var2) { + var2.writeInt(var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lio;", - garbageValue = "0" - ) - static GameBuild[] method11() { - return new GameBuild[]{GameBuild.BUILDLIVE, GameBuild.LIVE, GameBuild.WIP, GameBuild.RC}; // L: 13 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Liu;", + garbageValue = "1202436859" + ) + public static GameBuild[] method16() { + return new GameBuild[]{GameBuild.BUILDLIVE, GameBuild.LIVE, GameBuild.RC, GameBuild.WIP}; + } - @ObfuscatedName("hl") - @ObfuscatedSignature( - descriptor = "(IIIIIB)V", - garbageValue = "3" - ) - @Export("drawObject") - static final void drawObject(int var0, int var1, int var2, int var3, int var4) { - long var5 = ArchiveLoader.scene.getBoundaryObjectTag(var0, var1, var2); // L: 5489 - int var7; - int var8; - int var9; - int var10; - int var12; - int var13; - if (0L != var5) { // L: 5490 - var7 = ArchiveLoader.scene.getObjectFlags(var0, var1, var2, var5); // L: 5491 - var8 = var7 >> 6 & 3; // L: 5492 - var9 = var7 & 31; // L: 5493 - var10 = var3; // L: 5494 - if (FriendSystem.method1943(var5)) { // L: 5495 - var10 = var4; - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-116" + ) + @Export("changeWorldSelectSorting") + static void changeWorldSelectSorting(int var0, int var1) { + int[] var2 = new int[4]; + int[] var3 = new int[4]; + var2[0] = var0; + var3[0] = var1; + int var4 = 1; - int[] var11 = class25.sceneMinimapSprite.pixels; // L: 5496 - var12 = var1 * 4 + (103 - var2) * 2048 + 24624; // L: 5497 - var13 = Occluder.Entity_unpackID(var5); // L: 5498 - ObjectComposition var14 = WorldMapDecoration.getObjectDefinition(var13); // L: 5499 - if (var14.mapSceneId != -1) { // L: 5500 - IndexedSprite var15 = WorldMapRegion.mapSceneSprites[var14.mapSceneId]; // L: 5501 - if (var15 != null) { // L: 5502 - int var16 = (var14.sizeX * 4 - var15.subWidth) / 2; // L: 5503 - int var17 = (var14.sizeY * 4 - var15.subHeight) / 2; // L: 5504 - var15.drawAt(var1 * 4 + var16 + 48, (104 - var2 - var14.sizeY) * 4 + var17 + 48); // L: 5505 - } - } else { - if (var9 == 0 || var9 == 2) { // L: 5509 - if (var8 == 0) { // L: 5510 - var11[var12] = var10; // L: 5511 - var11[var12 + 512] = var10; // L: 5512 - var11[var12 + 1024] = var10; // L: 5513 - var11[var12 + 1536] = var10; // L: 5514 - } else if (var8 == 1) { // L: 5516 - var11[var12] = var10; // L: 5517 - var11[var12 + 1] = var10; // L: 5518 - var11[var12 + 2] = var10; // L: 5519 - var11[var12 + 3] = var10; // L: 5520 - } else if (var8 == 2) { // L: 5522 - var11[var12 + 3] = var10; // L: 5523 - var11[var12 + 512 + 3] = var10; // L: 5524 - var11[var12 + 1024 + 3] = var10; // L: 5525 - var11[var12 + 1536 + 3] = var10; // L: 5526 - } else if (var8 == 3) { // L: 5528 - var11[var12 + 1536] = var10; // L: 5529 - var11[var12 + 1536 + 1] = var10; // L: 5530 - var11[var12 + 1536 + 2] = var10; // L: 5531 - var11[var12 + 1536 + 3] = var10; // L: 5532 - } - } + for(int var5 = 0; var5 < 4; ++var5) { + if (World.World_sortOption1[var5] != var0) { + var2[var4] = World.World_sortOption1[var5]; + var3[var4] = World.World_sortOption2[var5]; + ++var4; + } + } - if (var9 == 3) { // L: 5535 - if (var8 == 0) { // L: 5536 - var11[var12] = var10; - } else if (var8 == 1) { // L: 5537 - var11[var12 + 3] = var10; - } else if (var8 == 2) { // L: 5538 - var11[var12 + 1536 + 3] = var10; - } else if (var8 == 3) { // L: 5539 - var11[var12 + 1536] = var10; - } - } - - if (var9 == 2) { // L: 5541 - if (var8 == 3) { // L: 5542 - var11[var12] = var10; // L: 5543 - var11[var12 + 512] = var10; // L: 5544 - var11[var12 + 1024] = var10; // L: 5545 - var11[var12 + 1536] = var10; // L: 5546 - } else if (var8 == 0) { // L: 5548 - var11[var12] = var10; // L: 5549 - var11[var12 + 1] = var10; // L: 5550 - var11[var12 + 2] = var10; // L: 5551 - var11[var12 + 3] = var10; // L: 5552 - } else if (var8 == 1) { // L: 5554 - var11[var12 + 3] = var10; // L: 5555 - var11[var12 + 512 + 3] = var10; // L: 5556 - var11[var12 + 1024 + 3] = var10; // L: 5557 - var11[var12 + 1536 + 3] = var10; // L: 5558 - } else if (var8 == 2) { // L: 5560 - var11[var12 + 1536] = var10; // L: 5561 - var11[var12 + 1536 + 1] = var10; // L: 5562 - var11[var12 + 1536 + 2] = var10; // L: 5563 - var11[var12 + 1536 + 3] = var10; // L: 5564 - } - } - } - } - - var5 = ArchiveLoader.scene.getGameObjectTag(var0, var1, var2); // L: 5569 - if (0L != var5) { // L: 5570 - var7 = ArchiveLoader.scene.getObjectFlags(var0, var1, var2, var5); // L: 5571 - var8 = var7 >> 6 & 3; // L: 5572 - var9 = var7 & 31; // L: 5573 - var10 = Occluder.Entity_unpackID(var5); // L: 5574 - ObjectComposition var24 = WorldMapDecoration.getObjectDefinition(var10); // L: 5575 - int var19; - if (var24.mapSceneId != -1) { // L: 5576 - IndexedSprite var20 = WorldMapRegion.mapSceneSprites[var24.mapSceneId]; // L: 5577 - if (var20 != null) { // L: 5578 - var13 = (var24.sizeX * 4 - var20.subWidth) / 2; // L: 5579 - var19 = (var24.sizeY * 4 - var20.subHeight) / 2; // L: 5580 - var20.drawAt(var1 * 4 + var13 + 48, (104 - var2 - var24.sizeY) * 4 + var19 + 48); // L: 5581 - } - } else if (var9 == 9) { // L: 5584 - var12 = 15658734; // L: 5585 - if (FriendSystem.method1943(var5)) { // L: 5586 - var12 = 15597568; - } - - int[] var18 = class25.sceneMinimapSprite.pixels; // L: 5587 - var19 = var1 * 4 + (103 - var2) * 2048 + 24624; // L: 5588 - if (var8 != 0 && var8 != 2) { // L: 5589 - var18[var19] = var12; // L: 5596 - var18[var19 + 1 + 512] = var12; // L: 5597 - var18[var19 + 1024 + 2] = var12; // L: 5598 - var18[var19 + 1536 + 3] = var12; // L: 5599 - } else { - var18[var19 + 1536] = var12; // L: 5590 - var18[var19 + 1 + 1024] = var12; // L: 5591 - var18[var19 + 512 + 2] = var12; // L: 5592 - var18[var19 + 3] = var12; // L: 5593 - } - } - } - - var5 = ArchiveLoader.scene.getFloorDecorationTag(var0, var1, var2); // L: 5603 - if (0L != var5) { // L: 5604 - var7 = Occluder.Entity_unpackID(var5); // L: 5605 - ObjectComposition var21 = WorldMapDecoration.getObjectDefinition(var7); // L: 5606 - if (var21.mapSceneId != -1) { // L: 5607 - IndexedSprite var22 = WorldMapRegion.mapSceneSprites[var21.mapSceneId]; // L: 5608 - if (var22 != null) { // L: 5609 - var10 = (var21.sizeX * 4 - var22.subWidth) / 2; // L: 5610 - int var23 = (var21.sizeY * 4 - var22.subHeight) / 2; // L: 5611 - var22.drawAt(var1 * 4 + var10 + 48, var23 + (104 - var2 - var21.sizeY) * 4 + 48); // L: 5612 - } - } - } - - } // L: 5616 + World.World_sortOption1 = var2; + World.World_sortOption2 = var3; + class206.sortWorlds(World.World_worlds, 0, World.World_worlds.length - 1, World.World_sortOption1, World.World_sortOption2); + } } diff --git a/runescape-client/src/main/java/class10.java b/runescape-client/src/main/java/class10.java index 03948e3757..8c955877f8 100644 --- a/runescape-client/src/main/java/class10.java +++ b/runescape-client/src/main/java/class10.java @@ -1,35 +1,35 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("u") +@ObfuscatedName("s") public class class10 { - @ObfuscatedName("h") - final int field47; - @ObfuscatedName("v") - final int field48; - @ObfuscatedName("x") - final String field49; + @ObfuscatedName("n") + final int field60; + @ObfuscatedName("v") + final int field61; + @ObfuscatedName("d") + final String field62; - @ObfuscatedSignature( - descriptor = "(Lkj;)V" - ) - class10(Buffer var1) { - this(var1.readUnsignedByte(), var1.readUnsignedByte(), var1.readStringCp1252NullTerminated()); // L: 19 - } // L: 20 + @ObfuscatedSignature( + descriptor = "(Lkx;)V" + ) + class10(Buffer var1) { + this(var1.readUnsignedByte(), var1.readUnsignedByte(), var1.readStringCp1252NullTerminated()); + } - class10(int var1, int var2, String var3) { - this.field47 = var1; // L: 13 - this.field48 = var2; // L: 14 - this.field49 = var3; // L: 15 - } // L: 16 + class10(int var1, int var2, String var3) { + this.field60 = var1; + this.field61 = var2; + this.field62 = var3; + } - @ObfuscatedName("h") - String method121() { - return Integer.toHexString(this.field47) + Integer.toHexString(this.field48) + this.field49; // L: 23 - } + @ObfuscatedName("n") + String method115() { + return Integer.toHexString(this.field60) + Integer.toHexString(this.field61) + this.field62; + } - @ObfuscatedName("v") - int method114() { - return this.field48; // L: 27 - } + @ObfuscatedName("v") + int method111() { + return this.field61; + } } diff --git a/runescape-client/src/main/java/class105.java b/runescape-client/src/main/java/class105.java index be419ca0c2..f7bf0d62cd 100644 --- a/runescape-client/src/main/java/class105.java +++ b/runescape-client/src/main/java/class105.java @@ -2,16 +2,162 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("dl") +@ObfuscatedName("do") public class class105 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Ljn;" - ) - @Export("reflectionChecks") - public static IterableNodeDeque reflectionChecks; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Ljv;" + ) + @Export("reflectionChecks") + static IterableNodeDeque reflectionChecks = new IterableNodeDeque(); + @ObfuscatedName("c") + @Export("SpriteBuffer_xOffsets") + public static int[] SpriteBuffer_xOffsets; + @ObfuscatedName("e") + public static short[][] field1339; - static { - reflectionChecks = new IterableNodeDeque(); // L: 17 - } + @ObfuscatedName("hq") + @ObfuscatedSignature( + descriptor = "(ZLkd;I)V", + garbageValue = "1935543269" + ) + @Export("loadRegions") + static final void loadRegions(boolean var0, PacketBuffer var1) { + Client.isInInstance = var0; + int var2; + int var4; + int var5; + int var6; + int var7; + int var8; + if (!Client.isInInstance) { + var2 = var1.method5728(); + int var3 = var1.method5727(); + var4 = var1.readUnsignedShort(); + Bounds.xteaKeys = new int[var4][4]; + + for(var5 = 0; var5 < var4; ++var5) { + for(var6 = 0; var6 < 4; ++var6) { + Bounds.xteaKeys[var5][var6] = var1.readInt(); + } + } + + class238.regions = new int[var4]; + class92.regionMapArchiveIds = new int[var4]; + MusicPatchNode2.regionLandArchiveIds = new int[var4]; + class2.regionLandArchives = new byte[var4][]; + Interpreter.regionMapArchives = new byte[var4][]; + boolean var16 = false; + if ((var3 / 8 == 48 || var3 / 8 == 49) && var2 / 8 == 48) { + var16 = true; + } + + if (var3 / 8 == 48 && var2 / 8 == 148) { + var16 = true; + } + + var4 = 0; + + for(var6 = (var3 - 6) / 8; var6 <= (var3 + 6) / 8; ++var6) { + for(var7 = (var2 - 6) / 8; var7 <= (var2 + 6) / 8; ++var7) { + var8 = var7 + (var6 << 8); + if (!var16 || var7 != 49 && var7 != 149 && var7 != 147 && var6 != 50 && (var6 != 49 || var7 != 47)) { + class238.regions[var4] = var8; + class92.regionMapArchiveIds[var4] = class8.archive5.getGroupId("m" + var6 + "_" + var7); + MusicPatchNode2.regionLandArchiveIds[var4] = class8.archive5.getGroupId("l" + var6 + "_" + var7); + ++var4; + } + } + } + + PcmPlayer.method2661(var3, var2, true); + } else { + var2 = var1.method5729(); + boolean var15 = var1.method5776() == 1; + var4 = var1.method5727(); + var5 = var1.readUnsignedShort(); + var1.importIndex(); + + int var9; + for(var6 = 0; var6 < 4; ++var6) { + for(var7 = 0; var7 < 13; ++var7) { + for(var8 = 0; var8 < 13; ++var8) { + var9 = var1.readBits(1); + if (var9 == 1) { + Client.instanceChunkTemplates[var6][var7][var8] = var1.readBits(26); + } else { + Client.instanceChunkTemplates[var6][var7][var8] = -1; + } + } + } + } + + var1.exportIndex(); + Bounds.xteaKeys = new int[var5][4]; + + for(var6 = 0; var6 < var5; ++var6) { + for(var7 = 0; var7 < 4; ++var7) { + Bounds.xteaKeys[var6][var7] = var1.readInt(); + } + } + + class238.regions = new int[var5]; + class92.regionMapArchiveIds = new int[var5]; + MusicPatchNode2.regionLandArchiveIds = new int[var5]; + class2.regionLandArchives = new byte[var5][]; + Interpreter.regionMapArchives = new byte[var5][]; + var5 = 0; + + for(var6 = 0; var6 < 4; ++var6) { + for(var7 = 0; var7 < 13; ++var7) { + for(var8 = 0; var8 < 13; ++var8) { + var9 = Client.instanceChunkTemplates[var6][var7][var8]; + if (var9 != -1) { + int var10 = var9 >> 14 & 1023; + int var11 = var9 >> 3 & 2047; + int var12 = (var10 / 8 << 8) + var11 / 8; + + int var13; + for(var13 = 0; var13 < var5; ++var13) { + if (class238.regions[var13] == var12) { + var12 = -1; + break; + } + } + + if (var12 != -1) { + class238.regions[var5] = var12; + var13 = var12 >> 8 & 255; + int var14 = var12 & 255; + class92.regionMapArchiveIds[var5] = class8.archive5.getGroupId("m" + var13 + "_" + var14); + MusicPatchNode2.regionLandArchiveIds[var5] = class8.archive5.getGroupId("l" + var13 + "_" + var14); + ++var5; + } + } + } + } + } + + PcmPlayer.method2661(var4, var2, !var15); + } + + } + + @ObfuscatedName("kk") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1205267134" + ) + static final void method2448() { + for(int var0 = 0; var0 < Players.Players_count; ++var0) { + Player var1 = Client.players[Players.Players_indices[var0]]; + var1.clearIsFriend(); + } + + RouteStrategy.method3795(); + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.clearFriends(); + } + + } } diff --git a/runescape-client/src/main/java/class108.java b/runescape-client/src/main/java/class108.java new file mode 100644 index 0000000000..ba6de65000 --- /dev/null +++ b/runescape-client/src/main/java/class108.java @@ -0,0 +1,14 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("dk") +public interface class108 { + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(S)Ldh;", + garbageValue = "-25384" + ) + @Export("player") + PcmPlayer player(); +} diff --git a/runescape-client/src/main/java/class11.java b/runescape-client/src/main/java/class11.java index 65abac5534..b7fb5aeef7 100644 --- a/runescape-client/src/main/java/class11.java +++ b/runescape-client/src/main/java/class11.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("e") +@ObfuscatedName("b") public interface class11 { } diff --git a/runescape-client/src/main/java/class12.java b/runescape-client/src/main/java/class12.java index eb90b3b9ef..60c2dca78c 100644 --- a/runescape-client/src/main/java/class12.java +++ b/runescape-client/src/main/java/class12.java @@ -1,11 +1,11 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("m") +@ObfuscatedName("a") public interface class12 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;)Lkj;" - ) - Buffer vmethod123(Buffer var1); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;)Lkx;" + ) + Buffer vmethod120(Buffer var1); } diff --git a/runescape-client/src/main/java/class13.java b/runescape-client/src/main/java/class13.java index e9b1d55d42..19914299f7 100644 --- a/runescape-client/src/main/java/class13.java +++ b/runescape-client/src/main/java/class13.java @@ -1,152 +1,343 @@ -import java.applet.Applet; -import java.net.URL; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import netscape.javascript.JSObject; -@ObfuscatedName("c") +@ObfuscatedName("w") public final class class13 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;B)V", - garbageValue = "2" - ) - public static void method129(AbstractArchive var0) { - ParamComposition.ParamDefinition_archive = var0; // L: 21 - } // L: 22 + @ObfuscatedName("ho") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("headIconHintSprites") + static SpritePixels[] headIconHintSprites; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;ILjava/lang/String;B)Z", - garbageValue = "-107" - ) - static boolean method131(String var0, int var1, String var2) { - if (var1 == 0) { // L: 54 - try { - if (!class60.field439.startsWith("win")) { // L: 56 - throw new Exception(); - } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { // L: 57 - throw new Exception(); - } else { - String var13 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; // L: 58 + @ObfuscatedName("ga") + @ObfuscatedSignature( + descriptor = "(IIIII)V", + garbageValue = "1434868681" + ) + @Export("drawEntities") + static final void drawEntities(int var0, int var1, int var2, int var3) { + ++Client.viewportDrawCount; + World.method1925(); + if (Client.renderSelf) { + WorldMapScaleHandler.addPlayerToScene(UserComparator9.localPlayer, false); + } - for (int var4 = 0; var4 < var0.length(); ++var4) { // L: 59 - if (var13.indexOf(var0.charAt(var4)) == -1) { // L: 60 - throw new Exception(); - } - } + RouteStrategy.method3794(); + GameEngine.addNpcsToScene(true); + int var4 = Players.Players_count; + int[] var5 = Players.Players_indices; - Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); // L: 62 - return true; // L: 63 - } - } catch (Throwable var8) { // L: 65 - return false; // L: 66 - } - } else if (var1 == 1) { // L: 69 - try { - Applet var7 = class60.applet; // L: 72 - Object[] var5 = new Object[]{(new URL(class60.applet.getCodeBase(), var0)).toString()}; // L: 73 - Object var3 = JSObject.getWindow(var7).call(var2, var5); // L: 76 - return var3 != null; // L: 79 - } catch (Throwable var9) { // L: 81 - return false; // L: 82 - } - } else if (var1 == 2) { // L: 85 - try { - class60.applet.getAppletContext().showDocument(new URL(class60.applet.getCodeBase(), var0), "_blank"); // L: 87 - return true; // L: 88 - } catch (Exception var10) { // L: 90 - return false; // L: 91 - } - } else if (var1 == 3) { // L: 94 - try { - class56.method901(class60.applet, "loggedout"); // L: 96 - } catch (Throwable var12) { // L: 98 - } + int var6; + for(var6 = 0; var6 < var4; ++var6) { + if (var5[var6] != Client.combatTargetPlayerIndex && var5[var6] != Client.localPlayerIndex) { + WorldMapScaleHandler.addPlayerToScene(Client.players[var5[var6]], true); + } + } - try { - class60.applet.getAppletContext().showDocument(new URL(class60.applet.getCodeBase(), var0), "_top"); // L: 100 - return true; // L: 101 - } catch (Exception var11) { // L: 103 - return false; // L: 104 - } - } else { - throw new IllegalArgumentException(); // L: 107 - } - } + GameEngine.addNpcsToScene(false); + Decimator.method2708(); + DevicePcmPlayerProvider.method920(); + MenuAction.setViewportShape(var0, var1, var2, var3, true); + var0 = Client.viewportOffsetX; + var1 = Client.viewportOffsetY; + var2 = Client.viewportWidth; + var3 = Client.viewportHeight; + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + int var7; + int var8; + int var11; + int var28; + if (!Client.isCameraLocked) { + var4 = Client.camAngleX; + if (Client.field880 / 256 > var4) { + var4 = Client.field880 / 256; + } - @ObfuscatedName("fm") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "2039505638" - ) - static int method132() { - if (Client.archiveLoaders != null && Client.archiveLoadersDone < Client.archiveLoaders.size()) { // L: 1701 - int var0 = 0; // L: 1702 + if (Client.field907[4] && Client.field909[4] + 128 > var4) { + var4 = Client.field909[4] + 128; + } - for (int var1 = 0; var1 <= Client.archiveLoadersDone; ++var1) { // L: 1703 - var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).loadedCount; // L: 1704 - } + var28 = Client.camAngleY & 2047; + var6 = HealthBarUpdate.oculusOrbFocalPointX; + var7 = ModelData0.field1882; + var8 = ApproximateRouteStrategy.oculusOrbFocalPointY; + var11 = var4 * 3 + 600; + class258.method4685(var6, var7, var8, var4, var28, var11, var3); + } - return var0 * 10000 / Client.field666; // L: 1706 - } else { - return 10000; - } - } + if (!Client.isCameraLocked) { + var4 = AbstractWorldMapIcon.method712(); + } else { + var4 = class171.method3639(); + } - @ObfuscatedName("gi") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "37077922" - ) - @Export("setWindowedMode") - static void setWindowedMode(int var0) { - Client.field861 = 0L; // L: 4178 - if (var0 >= 2) { // L: 4179 - Client.isResizable = true; - } else { - Client.isResizable = false; // L: 4180 - } + var28 = SecureRandomFuture.cameraX; + var6 = ArchiveLoader.cameraY; + var7 = ObjectSound.cameraZ; + var8 = KeyHandler.cameraPitch; + int var9 = class39.cameraYaw; - if (SoundSystem.getWindowedMode() == 1) { // L: 4181 - WorldMapIcon_0.client.setMaxCanvasSize(765, 503); // L: 4182 - } else { - WorldMapIcon_0.client.setMaxCanvasSize(7680, 2160); // L: 4185 - } + int var10; + for(var10 = 0; var10 < 5; ++var10) { + if (Client.field907[var10]) { + var11 = (int)(Math.random() * (double)(Client.field908[var10] * 2 + 1) - (double)Client.field908[var10] + Math.sin((double)Client.field799[var10] / 100.0D * (double)Client.field911[var10]) * (double)Client.field909[var10]); + if (var10 == 0) { + SecureRandomFuture.cameraX += var11; + } - if (Client.gameState >= 25) { // L: 4187 - MouseRecorder.method1264(); - } + if (var10 == 1) { + ArchiveLoader.cameraY += var11; + } - } // L: 4188 + if (var10 == 2) { + ObjectSound.cameraZ += var11; + } - @ObfuscatedName("kz") - @ObfuscatedSignature( - descriptor = "(Lhe;III)V", - garbageValue = "912859307" - ) - @Export("clickWidget") - static final void clickWidget(Widget var0, int var1, int var2) { - if (Client.clickedWidget == null && !Client.isMenuOpen) { // L: 10406 - if (var0 != null && Player.method1351(var0) != null) { // L: 10407 - Client.clickedWidget = var0; // L: 10408 - Client.clickedWidgetParent = Player.method1351(var0); // L: 10409 - Client.widgetClickX = var1; // L: 10410 - Client.widgetClickY = var2; // L: 10411 - ScriptFrame.widgetDragDuration = 0; // L: 10412 - Client.isDraggingWidget = false; // L: 10413 - int var3 = WorldMapSprite.method463(); // L: 10414 - if (var3 != -1) { // L: 10415 - WorldMapSection1.tempMenuAction = new MenuAction(); // L: 10416 - WorldMapSection1.tempMenuAction.param0 = Client.menuArguments1[var3]; // L: 10417 - WorldMapSection1.tempMenuAction.param1 = Client.menuArguments2[var3]; // L: 10418 - WorldMapSection1.tempMenuAction.opcode = Client.menuOpcodes[var3]; // L: 10419 - WorldMapSection1.tempMenuAction.identifier = Client.menuIdentifiers[var3]; // L: 10420 - WorldMapSection1.tempMenuAction.action = Client.menuActions[var3]; // L: 10421 - } + if (var10 == 3) { + class39.cameraYaw = var11 + class39.cameraYaw & 2047; + } - } - } - } // L: 10423 + if (var10 == 4) { + KeyHandler.cameraPitch += var11; + if (KeyHandler.cameraPitch < 128) { + KeyHandler.cameraPitch = 128; + } + + if (KeyHandler.cameraPitch > 383) { + KeyHandler.cameraPitch = 383; + } + } + } + } + + var10 = MouseHandler.MouseHandler_x; + var11 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var10 = MouseHandler.MouseHandler_lastPressedX; + var11 = MouseHandler.MouseHandler_lastPressedY; + } + + if (var10 >= var0 && var10 < var0 + var2 && var11 >= var1 && var11 < var3 + var1) { + GrandExchangeOfferWorldComparator.method137(var10 - var0, var11 - var1); + } else { + ViewportMouse.ViewportMouse_isInViewport = false; + ViewportMouse.ViewportMouse_entityCount = 0; + } + + UserComparator5.playPcmPlayers(); + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + UserComparator5.playPcmPlayers(); + int var12 = Rasterizer3D.Rasterizer3D_zoom; + Rasterizer3D.Rasterizer3D_zoom = Client.viewportZoom; + MilliClock.scene.draw(SecureRandomFuture.cameraX, ArchiveLoader.cameraY, ObjectSound.cameraZ, KeyHandler.cameraPitch, class39.cameraYaw, var4); + Rasterizer3D.Rasterizer3D_zoom = var12; + UserComparator5.playPcmPlayers(); + MilliClock.scene.clearTempGameObjects(); + Client.overheadTextCount = 0; + boolean var13 = false; + int var14 = -1; + int var15 = -1; + int var16 = Players.Players_count; + int[] var17 = Players.Players_indices; + + int var18; + for(var18 = 0; var18 < var16 + Client.npcCount; ++var18) { + Object var30; + if (var18 < var16) { + var30 = Client.players[var17[var18]]; + if (var17[var18] == Client.combatTargetPlayerIndex) { + var13 = true; + var14 = var18; + continue; + } + + if (var30 == UserComparator9.localPlayer) { + var15 = var18; + continue; + } + } else { + var30 = Client.npcs[Client.npcIndices[var18 - var16]]; + } + + UserComparator5.drawActor2d((Actor)var30, var18, var0, var1, var2, var3); + } + + if (Client.renderSelf && var15 != -1) { + UserComparator5.drawActor2d(UserComparator9.localPlayer, var15, var0, var1, var2, var3); + } + + if (var13) { + UserComparator5.drawActor2d(Client.players[Client.combatTargetPlayerIndex], var14, var0, var1, var2, var3); + } + + for(var18 = 0; var18 < Client.overheadTextCount; ++var18) { + int var19 = Client.overheadTextXs[var18]; + int var20 = Client.overheadTextYs[var18]; + int var21 = Client.overheadTextXOffsets[var18]; + int var22 = Client.overheadTextAscents[var18]; + boolean var23 = true; + + while(var23) { + var23 = false; + + for(int var29 = 0; var29 < var18; ++var29) { + if (var20 + 2 > Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] && var20 - var22 < Client.overheadTextYs[var29] + 2 && var19 - var21 < Client.overheadTextXs[var29] + Client.overheadTextXOffsets[var29] && var21 + var19 > Client.overheadTextXs[var29] - Client.overheadTextXOffsets[var29] && Client.overheadTextYs[var29] - Client.overheadTextAscents[var29] < var20) { + var20 = Client.overheadTextYs[var29] - Client.overheadTextAscents[var29]; + var23 = true; + } + } + } + + Client.viewportTempX = Client.overheadTextXs[var18]; + Client.viewportTempY = Client.overheadTextYs[var18] = var20; + String var24 = Client.overheadText[var18]; + if (Client.chatEffects == 0) { + int var25 = 16776960; + if (Client.overheadTextColors[var18] < 6) { + var25 = Client.field879[Client.overheadTextColors[var18]]; + } + + if (Client.overheadTextColors[var18] == 6) { + var25 = Client.viewportDrawCount % 20 < 10 ? 16711680 : 16776960; + } + + 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 + 16711680; + } else if (var26 < 100) { + var25 = 16776960 - (var26 - 50) * 327680; + } else if (var26 < 150) { + var25 = (var26 - 100) * 5 + '\uff00'; + } + } + + if (Client.overheadTextColors[var18] == 10) { + var26 = 150 - Client.overheadTextCyclesRemaining[var18]; + if (var26 < 50) { + var25 = var26 * 5 + 16711680; + } else if (var26 < 100) { + var25 = 16711935 - (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 = 16777215 - var26 * 327685; + } else if (var26 < 100) { + var25 = (var26 - 50) * 327685 + '\uff00'; + } else if (var26 < 150) { + var25 = 16777215 - (var26 - 100) * 327680; + } + } + + if (Client.overheadTextEffects[var18] == 0) { + ScriptEvent.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0); + } + + if (Client.overheadTextEffects[var18] == 1) { + ScriptEvent.fontBold12.drawCenteredWave(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 2) { + ScriptEvent.fontBold12.drawCenteredWave2(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount); + } + + if (Client.overheadTextEffects[var18] == 3) { + ScriptEvent.fontBold12.drawCenteredShake(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, var25, 0, Client.viewportDrawCount, 150 - Client.overheadTextCyclesRemaining[var18]); + } + + if (Client.overheadTextEffects[var18] == 4) { + var26 = (150 - Client.overheadTextCyclesRemaining[var18]) * (ScriptEvent.fontBold12.stringWidth(var24) + 100) / 150; + Rasterizer2D.Rasterizer2D_expandClip(var0 + Client.viewportTempX - 50, var1, var0 + Client.viewportTempX + 50, var3 + var1); + ScriptEvent.fontBold12.draw(var24, 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 - ScriptEvent.fontBold12.ascent - 1, var0 + var2, Client.viewportTempY + var1 + 5); + ScriptEvent.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, var27 + Client.viewportTempY + var1, var25, 0); + Rasterizer2D.Rasterizer2D_setClip(var0, var1, var0 + var2, var3 + var1); + } + } else { + ScriptEvent.fontBold12.drawCentered(var24, var0 + Client.viewportTempX, Client.viewportTempY + var1, 16776960, 0); + } + } + + if (Client.hintArrowType == 2) { + ParamComposition.worldToScreen((Client.hintArrowX - GrandExchangeOfferNameComparator.baseX * 64 << 7) + Client.hintArrowSubX * 4096, Client.hintArrowSubY * 64 + (Client.hintArrowY - NetCache.baseY * 64 << 7), Client.hintArrowHeight * 4); + if (Client.viewportTempX > -1 && Client.cycle % 20 < 10) { + headIconHintSprites[0].drawTransBgAt(var0 + Client.viewportTempX - 12, Client.viewportTempY + var1 - 28); + } + } + + ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).animate(Client.field808); + WorldMapSectionType.method318(var0, var1, var2, var3); + SecureRandomFuture.cameraX = var28; + ArchiveLoader.cameraY = var6; + ObjectSound.cameraZ = var7; + KeyHandler.cameraPitch = var8; + class39.cameraYaw = var9; + if (Client.isLoading) { + byte var31 = 0; + var14 = var31 + NetCache.NetCache_pendingPriorityWritesCount + NetCache.NetCache_pendingPriorityResponsesCount; + if (var14 == 0) { + Client.isLoading = false; + } + } + + if (Client.isLoading) { + Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var3, 0); + WorldMapIcon_1.drawLoadingMessage("Loading - please wait.", false); + } + + } + + @ObfuscatedName("lx") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1775407691" + ) + static void method122() { + if (Client.field747 && UserComparator9.localPlayer != null) { + int var0 = UserComparator9.localPlayer.pathX[0]; + int var1 = UserComparator9.localPlayer.pathY[0]; + if (var0 < 0 || var1 < 0 || var0 >= 104 || var1 >= 104) { + return; + } + + HealthBarUpdate.oculusOrbFocalPointX = UserComparator9.localPlayer.x; + int var2 = WorldMapRegion.getTileHeight(UserComparator9.localPlayer.x, UserComparator9.localPlayer.y, class90.Client_plane) - Client.camFollowHeight; + if (var2 < ModelData0.field1882) { + ModelData0.field1882 = var2; + } + + ApproximateRouteStrategy.oculusOrbFocalPointY = UserComparator9.localPlayer.y; + Client.field747 = false; + } + + } } diff --git a/runescape-client/src/main/java/class155.java b/runescape-client/src/main/java/class155.java index a4da1cdce8..254d5e7ba9 100644 --- a/runescape-client/src/main/java/class155.java +++ b/runescape-client/src/main/java/class155.java @@ -1,7 +1,7 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("en") +@ObfuscatedName("ez") public interface class155 { - @ObfuscatedName("h") - void method3411(Object var1); + @ObfuscatedName("n") + void method3493(Object var1); } diff --git a/runescape-client/src/main/java/class169.java b/runescape-client/src/main/java/class169.java index 18da98f8d7..b00566371f 100644 --- a/runescape-client/src/main/java/class169.java +++ b/runescape-client/src/main/java/class169.java @@ -3,129 +3,645 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fq") +@ObfuscatedName("fw") public enum class169 implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lfq;" - ) - field2025(0, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lfq;" - ) - field2019(3, 1), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lfq;" - ) - field2021(1, 2), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lfq;" - ) - field2020(2, 3); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lfw;" + ) + field2013(3, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lfw;" + ) + field2011(2, 1), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lfw;" + ) + field2012(1, 2), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lfw;" + ) + field2018(0, 3); - @ObfuscatedName("ec") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive17") - static Archive archive17; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -53306941 - ) - public final int field2022; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -2018130907 - ) - @Export("id") - final int id; + @ObfuscatedName("hq") + @ObfuscatedSignature( + descriptor = "[Llm;" + ) + @Export("headIconPrayerSprites") + static SpritePixels[] headIconPrayerSprites; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -786899821 + ) + public final int field2014; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 1802409949 + ) + @Export("id") + final int id; - class169(int var3, int var4) { - this.field2022 = var3; // L: 16 - this.id = var4; // L: 17 - } // L: 18 + class169(int var3, int var4) { + this.field2014 = var3; + this.id = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.id; // L: 21 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.id; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;Ljava/lang/String;Ljava/lang/String;B)Lku;", - garbageValue = "35" - ) - public static Font method3534(AbstractArchive var0, AbstractArchive var1, String var2, String var3) { - int var4 = var0.getGroupId(var2); // L: 145 - int var5 = var0.getFileId(var4, var3); // L: 146 - return PrivateChatMode.method5934(var0, var1, var4, var5); // L: 147 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lie;", + garbageValue = "-825659067" + ) + static VerticalAlignment[] method3631() { + return new VerticalAlignment[]{VerticalAlignment.field3236, VerticalAlignment.field3234, VerticalAlignment.VerticalAlignment_centered}; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "([BIILeo;[Lfo;I)V", - garbageValue = "-1437204785" - ) - static final void method3533(byte[] var0, int var1, int var2, Scene var3, CollisionMap[] var4) { - Buffer var5 = new Buffer(var0); // L: 197 - int var6 = -1; // L: 198 + @ObfuscatedName("fw") + @ObfuscatedSignature( + descriptor = "(Ljs;IIII)V", + garbageValue = "1515768650" + ) + static void method3637(SequenceDefinition var0, int var1, int var2, int var3) { + if (Client.soundEffectCount < 50 && WorldMapSectionType.clientPreferences.areaSoundEffectsVolume != 0) { + if (var0.soundEffects != null && var1 < var0.soundEffects.length) { + int var4 = var0.soundEffects[var1]; + if (var4 != 0) { + int var5 = var4 >> 8; + int var6 = var4 >> 4 & 7; + int var7 = var4 & 15; + Client.soundEffectIds[Client.soundEffectCount] = var5; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; + Client.soundEffects[Client.soundEffectCount] = null; + int var8 = (var2 - 64) / 128; + int var9 = (var3 - 64) / 128; + Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); + ++Client.soundEffectCount; + } + } + } + } - while (true) { - int var7 = var5.method5557(); // L: 200 - if (var7 == 0) { // L: 201 - return; // L: 225 - } + @ObfuscatedName("jo") + @ObfuscatedSignature( + descriptor = "([Lhz;IIIIIIII)V", + garbageValue = "-1265489045" + ) + @Export("updateInterface") + static final void updateInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) { + for(int var8 = 0; var8 < var0.length; ++var8) { + Widget var9 = var0[var8]; + if (var9 != null && var9.parentId == var1 && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class60.getWidgetFlags(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { + if (var9.isIf3) { + if (DevicePcmPlayerProvider.isComponentHidden(var9)) { + continue; + } + } else if (var9.type == 0 && var9 != Canvas.mousedOverWidgetIf1 && DevicePcmPlayerProvider.isComponentHidden(var9)) { + continue; + } - var6 += var7; // L: 202 - int var8 = 0; // L: 203 + int var10 = var9.x + var6; + int var11 = var7 + var9.y; + int var12; + 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; + } - while (true) { - int var9 = var5.readUShortSmart(); // L: 205 - if (var9 == 0) { // L: 206 - break; - } + if (var19 < var11) { + var17 = var19; + var19 = var11; + } - var8 += var9 - 1; // L: 207 - int var10 = var8 & 63; // L: 208 - int var11 = var8 >> 6 & 63; // L: 209 - int var12 = var8 >> 12; // L: 210 - int var13 = var5.readUnsignedByte(); // L: 211 - int var14 = var13 >> 2; // L: 212 - int var15 = var13 & 3; // L: 213 - int var16 = var11 + var1; // L: 214 - int var17 = var10 + var2; // L: 215 - if (var16 > 0 && var17 > 0 && var16 < 103 && var17 < 103) { // L: 216 - int var18 = var12; // L: 217 - if ((Tiles.Tiles_renderFlags[1][var16][var17] & 2) == 2) { // L: 218 - var18 = var12 - 1; - } + ++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; + } + } - CollisionMap var19 = null; // L: 219 - if (var18 >= 0) { // L: 220 - var19 = var4[var18]; - } + if (var9 == Client.clickedWidget) { + Client.field754 = true; + Client.field784 = var10; + Client.field847 = var11; + } - class7.method90(var12, var16, var17, var6, var15, var14, var3, var19); // L: 221 - } - } - } - } + boolean var32 = false; + if (var9.field2667) { + switch(Client.field705) { + case 0: + var32 = true; + case 1: + default: + break; + case 2: + if (Client.field699 == var9.id >>> 16) { + var32 = true; + } + break; + case 3: + if (var9.id == Client.field699) { + var32 = true; + } + } + } - @ObfuscatedName("jz") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "725246299" - ) - static boolean method3529() { - return Client.tapToDrop || KeyHandler.KeyHandler_pressedKeys[81]; // L: 9900 - } + if (var32 || !var9.isIf3 || var12 < var14 && var13 < var15) { + 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()) { + if (var26.isMouseInputEvent) { + var26.remove(); + var26.widget.containsMouse = false; + } + } + + if (PlayerComposition.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + Player.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()) { + if (var26.isMouseInputEvent && var26.widget.onScroll == var26.args) { + var26.remove(); + } + } + } + } + + var17 = MouseHandler.MouseHandler_x; + var18 = MouseHandler.MouseHandler_y; + if (MouseHandler.MouseHandler_lastButton != 0) { + var17 = MouseHandler.MouseHandler_lastPressedX; + var18 = MouseHandler.MouseHandler_lastPressedY; + } + + boolean var33 = var17 >= var12 && var18 >= var13 && var17 < var14 && var18 < var15; + if (var9.contentType == 1337) { + if (!Client.isLoading && !Client.isMenuOpen && var33) { + Projectile.addSceneMenuOptions(var17, var18, var12, var13); + } + } else if (var9.contentType == 1338) { + SecureRandomCallable.checkIfMinimapClicked(var9, var10, var11); + } else { + if (var9.contentType == 1400) { + SoundSystem.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var33, var10, var11, var9.width, var9.height); + } + + if (!Client.isMenuOpen && var33) { + if (var9.contentType == 1400) { + SoundSystem.worldMap.addElementMenuOptions(var10, var11, var9.width, var9.height, var17, var18); + } else { + class58.Widget_addToMenu(var9, var17 - var10, var18 - var11); + } + } + + boolean var21; + int var23; + if (var32) { + for(int var20 = 0; var20 < var9.field2668.length; ++var20) { + var21 = false; + boolean var27 = false; + if (!var21 && var9.field2668[var20] != null) { + for(var23 = 0; var23 < var9.field2668[var20].length; ++var23) { + boolean var24 = false; + if (var9.field2660 != null) { + var24 = KeyHandler.KeyHandler_pressedKeys[var9.field2668[var20][var23]]; + } + + if (WorldMapLabel.method503(var9.field2668[var20][var23]) || var24) { + var21 = true; + if (var9.field2660 != null && var9.field2660[var20] > Client.cycle) { + break; + } + + byte var31 = var9.field2669[var20][var23]; + if (var31 == 0 || ((var31 & 8) == 0 || !KeyHandler.KeyHandler_pressedKeys[86] && !KeyHandler.KeyHandler_pressedKeys[82] && !KeyHandler.KeyHandler_pressedKeys[81]) && ((var31 & 2) == 0 || KeyHandler.KeyHandler_pressedKeys[86]) && ((var31 & 1) == 0 || KeyHandler.KeyHandler_pressedKeys[82]) && ((var31 & 4) == 0 || KeyHandler.KeyHandler_pressedKeys[81])) { + var27 = true; + break; + } + } + } + } + + if (var27) { + if (var20 < 10) { + ApproximateRouteStrategy.widgetDefaultMenuAction(var20 + 1, var9.id, var9.childIndex, var9.itemId, ""); + } else if (var20 == 10) { + WorldMapSection2.Widget_runOnTargetLeave(); + ArchiveDisk.selectSpell(var9.id, var9.childIndex, MusicPatch.Widget_unpackTargetMask(class60.getWidgetFlags(var9)), var9.itemId); + Client.selectedSpellActionName = Player.Widget_getSpellActionName(var9); + if (Client.selectedSpellActionName == null) { + Client.selectedSpellActionName = "null"; + } + + Client.selectedSpellName = var9.dataText + FileSystem.colorStartTag(16777215); + } + + var23 = var9.field2686[var20]; + if (var9.field2660 == null) { + var9.field2660 = new int[var9.field2668.length]; + } + + if (var9.field2599 == null) { + var9.field2599 = new int[var9.field2668.length]; + } + + if (var23 != 0) { + if (var9.field2660[var20] == 0) { + var9.field2660[var20] = var23 + Client.cycle + var9.field2599[var20]; + } else { + var9.field2660[var20] = var23 + Client.cycle; + } + } else { + var9.field2660[var20] = Integer.MAX_VALUE; + } + } + + if (!var21 && var9.field2660 != null) { + var9.field2660[var20] = 0; + } + } + } + + if (var9.isIf3) { + if (MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + var33 = true; + } else { + var33 = false; + } + + boolean var34 = false; + if ((MouseHandler.MouseHandler_currentButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_currentButton == 4) && var33) { + var34 = true; + } + + var21 = false; + if ((MouseHandler.MouseHandler_lastButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= var12 && MouseHandler.MouseHandler_lastPressedY >= var13 && MouseHandler.MouseHandler_lastPressedX < var14 && MouseHandler.MouseHandler_lastPressedY < var15) { + var21 = true; + } + + if (var21) { + FriendSystem.clickWidget(var9, MouseHandler.MouseHandler_lastPressedX - var10, MouseHandler.MouseHandler_lastPressedY - var11); + } + + if (var9.contentType == 1400) { + SoundSystem.worldMap.method6525(var17, var18, var33 & var34, var33 & var21); + } + + if (Client.clickedWidget != null && var9 != Client.clickedWidget && var33 && CollisionMap.method3781(class60.getWidgetFlags(var9))) { + Client.draggedOnWidget = var9; + } + + if (var9 == Client.clickedWidgetParent) { + Client.field912 = true; + Client.field714 = var10; + Client.field844 = var11; + } + + if (var9.hasListener) { + ScriptEvent var22; + if (var33 && Client.mouseWheelRotation != 0 && var9.onScroll != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseY = Client.mouseWheelRotation; + var22.args = var9.onScroll; + Client.scriptEvents.addFirst(var22); + } + + if (Client.clickedWidget != null || JagexCache.dragInventoryWidget != null || Client.isMenuOpen) { + var21 = false; + var34 = false; + var33 = false; + } + + if (!var9.isClicked && var21) { + var9.isClicked = true; + if (var9.onClick != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_lastPressedX - var10; + var22.mouseY = MouseHandler.MouseHandler_lastPressedY - var11; + var22.args = var9.onClick; + Client.scriptEvents.addFirst(var22); + } + } + + if (var9.isClicked && var34 && var9.onClickRepeat != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onClickRepeat; + Client.scriptEvents.addFirst(var22); + } + + if (var9.isClicked && !var34) { + var9.isClicked = false; + if (var9.onRelease != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onRelease; + Client.field865.addFirst(var22); + } + } + + if (var34 && var9.onHold != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onHold; + Client.scriptEvents.addFirst(var22); + } + + if (!var9.containsMouse && var33) { + var9.containsMouse = true; + if (var9.onMouseOver != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseOver; + Client.scriptEvents.addFirst(var22); + } + } + + if (var9.containsMouse && var33 && var9.onMouseRepeat != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseRepeat; + Client.scriptEvents.addFirst(var22); + } + + if (var9.containsMouse && !var33) { + var9.containsMouse = false; + if (var9.onMouseLeave != null) { + var22 = new ScriptEvent(); + var22.isMouseInputEvent = true; + var22.widget = var9; + var22.mouseX = MouseHandler.MouseHandler_x - var10; + var22.mouseY = MouseHandler.MouseHandler_y - var11; + var22.args = var9.onMouseLeave; + Client.field865.addFirst(var22); + } + } + + if (var9.onTimer != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onTimer; + Client.field660.addFirst(var22); + } + + ScriptEvent var25; + int var35; + int var36; + if (var9.onVarTransmit != null && Client.changedVarpCount > var9.field2727) { + if (var9.varTransmitTriggers != null && Client.changedVarpCount - var9.field2727 <= 32) { + label763: + for(var36 = var9.field2727; var36 < Client.changedVarpCount; ++var36) { + var23 = Client.changedVarps[var36 & 31]; + + for(var35 = 0; var35 < var9.varTransmitTriggers.length; ++var35) { + if (var23 == var9.varTransmitTriggers[var35]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var25); + break label763; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onVarTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field2727 = Client.changedVarpCount; + } + + if (var9.onInvTransmit != null && Client.field870 > var9.field2728) { + if (var9.invTransmitTriggers != null && Client.field870 - var9.field2728 <= 32) { + label739: + for(var36 = var9.field2728; var36 < Client.field870; ++var36) { + var23 = Client.changedItemContainers[var36 & 31]; + + for(var35 = 0; var35 < var9.invTransmitTriggers.length; ++var35) { + if (var23 == var9.invTransmitTriggers[var35]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var25); + break label739; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onInvTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field2728 = Client.field870; + } + + if (var9.onStatTransmit != null && Client.changedSkillsCount > var9.field2729) { + if (var9.statTransmitTriggers != null && Client.changedSkillsCount - var9.field2729 <= 32) { + label715: + for(var36 = var9.field2729; var36 < Client.changedSkillsCount; ++var36) { + var23 = Client.changedSkills[var36 & 31]; + + for(var35 = 0; var35 < var9.statTransmitTriggers.length; ++var35) { + if (var23 == var9.statTransmitTriggers[var35]) { + var25 = new ScriptEvent(); + var25.widget = var9; + var25.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var25); + break label715; + } + } + } + } else { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onStatTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field2729 = Client.changedSkillsCount; + } + + if (Client.chatCycle > var9.field2719 && var9.onChatTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onChatTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field857 > var9.field2719 && var9.onFriendTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onFriendTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field858 > var9.field2719 && var9.onClanTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onClanTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field710 > var9.field2719 && var9.onStockTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onStockTransmit; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field860 > var9.field2719 && var9.field2678 != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.field2678; + Client.scriptEvents.addFirst(var22); + } + + if (Client.field861 > var9.field2719 && var9.onMiscTransmit != null) { + var22 = new ScriptEvent(); + var22.widget = var9; + var22.args = var9.onMiscTransmit; + Client.scriptEvents.addFirst(var22); + } + + var9.field2719 = Client.cycleCntr; + if (var9.onKey != null) { + for(var36 = 0; var36 < Client.field885; ++var36) { + ScriptEvent var30 = new ScriptEvent(); + var30.widget = var9; + var30.keyTyped = Client.field738[var36]; + var30.keyPressed = Client.field886[var36]; + var30.args = var9.onKey; + Client.scriptEvents.addFirst(var30); + } + } + } + } + + if (!var9.isIf3) { + if (Client.clickedWidget != null || JagexCache.dragInventoryWidget != null || Client.isMenuOpen) { + continue; + } + + if ((var9.mouseOverRedirect >= 0 || var9.mouseOverColor != 0) && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + if (var9.mouseOverRedirect >= 0) { + Canvas.mousedOverWidgetIf1 = var0[var9.mouseOverRedirect]; + } else { + Canvas.mousedOverWidgetIf1 = var9; + } + } + + if (var9.type == 8 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15) { + GrandExchangeOffer.field100 = var9; + } + + if (var9.scrollHeight > var9.height) { + PrivateChatMode.method6107(var9, var10 + var9.width, var11, var9.height, var9.scrollHeight, MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y); + } + } + + if (var9.type == 0) { + updateInterface(var0, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + if (var9.children != null) { + updateInterface(var9.children, var9.id, var12, var13, var14, var15, var10 - var9.scrollX, var11 - var9.scrollY); + } + + InterfaceParent var28 = (InterfaceParent)Client.interfaceParents.get((long)var9.id); + if (var28 != null) { + if (var28.type == 0 && MouseHandler.MouseHandler_x >= var12 && MouseHandler.MouseHandler_y >= var13 && MouseHandler.MouseHandler_x < var14 && MouseHandler.MouseHandler_y < var15 && !Client.isMenuOpen) { + for(ScriptEvent var29 = (ScriptEvent)Client.scriptEvents.last(); var29 != null; var29 = (ScriptEvent)Client.scriptEvents.previous()) { + if (var29.isMouseInputEvent) { + var29.remove(); + var29.widget.containsMouse = false; + } + } + + if (PlayerComposition.widgetDragDuration == 0) { + Client.clickedWidget = null; + Client.clickedWidgetParent = null; + } + + if (!Client.isMenuOpen) { + Player.addCancelMenuEntry(); + } + } + + class22.updateRootInterface(var28.group, var12, var13, var14, var15, var10, var11); + } + } + } + } + } + } + + } } diff --git a/runescape-client/src/main/java/class170.java b/runescape-client/src/main/java/class170.java index 22ae698ed4..6e6d5d5e8a 100644 --- a/runescape-client/src/main/java/class170.java +++ b/runescape-client/src/main/java/class170.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("fh") +@ObfuscatedName("ff") public interface class170 { } diff --git a/runescape-client/src/main/java/class171.java b/runescape-client/src/main/java/class171.java index 1108824e61..59526be341 100644 --- a/runescape-client/src/main/java/class171.java +++ b/runescape-client/src/main/java/class171.java @@ -1,22 +1,289 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("fy") +@ObfuscatedName("fd") public class class171 implements class170 { - @ObfuscatedName("js") - @ObfuscatedSignature( - descriptor = "Lhe;" - ) - @Export("dragInventoryWidget") - static Widget dragInventoryWidget; + @ObfuscatedName("ee") + @ObfuscatedGetter( + intValue = -853566565 + ) + @Export("port2") + static int port2; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "-1627436603" - ) - static boolean method3535(int var0, int var1) { - return var0 != 4 || var1 < 8; // L: 26 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;IZI)Lel;", + garbageValue = "-2064266261" + ) + public static Frames method3642(AbstractArchive var0, AbstractArchive var1, int var2, boolean var3) { + boolean var4 = true; + int[] var5 = var0.getGroupFileIds(var2); + + for(int var6 = 0; var6 < var5.length; ++var6) { + byte[] var7 = var0.getFile(var2, var5[var6]); + if (var7 == null) { + var4 = false; + } else { + int var8 = (var7[0] & 255) << 8 | var7[1] & 255; + byte[] var9; + if (var3) { + var9 = var1.getFile(0, var8); + } else { + var9 = var1.getFile(var8, 0); + } + + if (var9 == null) { + var4 = false; + } + } + } + + if (!var4) { + return null; + } else { + try { + return new Frames(var0, var1, var2, var3); + } catch (Exception var11) { + return null; + } + } + } + + @ObfuscatedName("fj") + @ObfuscatedSignature( + descriptor = "(Lcv;II)V", + garbageValue = "478475301" + ) + @Export("updateActorSequence") + static final void updateActorSequence(Actor var0, int var1) { + if (var0.field999 >= Client.cycle) { + GrandExchangeEvent.method147(var0); + } else { + int var3; + int var4; + int var5; + int var7; + int var11; + if (var0.field1000 >= Client.cycle) { + if (var0.field1000 == Client.cycle || var0.sequence == -1 || var0.sequenceDelay != 0 || var0.sequenceFrameCycle + 1 > InterfaceParent.SequenceDefinition_get(var0.sequence).frameLengths[var0.sequenceFrame]) { + var11 = var0.field1000 - var0.field999; + var3 = Client.cycle - var0.field999; + var4 = var0.field992 * 128 + var0.field1007 * 64; + var5 = var0.field952 * 128 + var0.field1007 * 64; + int var6 = var0.field996 * 128 + var0.field1007 * 64; + var7 = var0.field998 * 128 + var0.field1007 * 64; + var0.x = (var3 * var6 + var4 * (var11 - var3)) / var11; + var0.y = (var3 * var7 + var5 * (var11 - var3)) / var11; + } + + var0.field989 = 0; + var0.orientation = var0.field1001; + var0.rotation = var0.orientation; + } else { + var0.movementSequence = var0.idleSequence; + if (var0.pathLength == 0) { + var0.field989 = 0; + } else { + label280: { + if (var0.sequence != -1 && var0.sequenceDelay == 0) { + SequenceDefinition var2 = InterfaceParent.SequenceDefinition_get(var0.sequence); + if (var0.field1012 > 0 && var2.field3564 == 0) { + ++var0.field989; + break label280; + } + + if (var0.field1012 <= 0 && var2.field3565 == 0) { + ++var0.field989; + break label280; + } + } + + var11 = var0.x; + var3 = var0.y; + var4 = var0.pathX[var0.pathLength - 1] * 128 + var0.field1007 * 64; + var5 = var0.pathY[var0.pathLength - 1] * 128 + var0.field1007 * 64; + if (var11 < var4) { + if (var3 < var5) { + var0.orientation = 1280; + } else if (var3 > var5) { + var0.orientation = 1792; + } else { + var0.orientation = 1536; + } + } else if (var11 > 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; + } + + byte var12 = var0.pathTraversed[var0.pathLength - 1]; + if (var4 - var11 <= 256 && var4 - var11 >= -256 && var5 - var3 <= 256 && var5 - var3 >= -256) { + 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.rotation != var0.orientation && var0.targetIndex == -1 && var0.field1006 != 0) { + var9 = 2; + } + + if (var0.pathLength > 2) { + var9 = 6; + } + + if (var0.pathLength > 3) { + var9 = 8; + } + + if (var0.field989 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field989; + } + } else { + if (var0.pathLength > 1) { + var9 = 6; + } + + if (var0.pathLength > 2) { + var9 = 8; + } + + if (var0.field989 > 0 && var0.pathLength > 1) { + var9 = 8; + --var0.field989; + } + } + + if (var12 == 2) { + var9 <<= 1; + } + + if (var9 >= 8 && var0.movementSequence == var0.walkSequence && var0.runSequence != -1) { + var0.movementSequence = var0.runSequence; + } + + if (var4 != var11 || var5 != var3) { + if (var11 < var4) { + var0.x += var9; + if (var0.x > var4) { + var0.x = var4; + } + } else if (var11 > 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.field1012 > 0) { + --var0.field1012; + } + } + } else { + var0.x = var4; + var0.y = var5; + --var0.pathLength; + if (var0.field1012 > 0) { + --var0.field1012; + } + } + } + } + } + } + + if (var0.x < 128 || var0.y < 128 || var0.x >= 13184 || var0.y >= 13184) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field999 = 0; + var0.field1000 = 0; + var0.x = var0.pathX[0] * 128 + var0.field1007 * 64; + var0.y = var0.pathY[0] * 128 + var0.field1007 * 64; + var0.method1848(); + } + + if (UserComparator9.localPlayer == var0 && (var0.x < 1536 || var0.y < 1536 || var0.x >= 11776 || var0.y >= 11776)) { + var0.sequence = -1; + var0.spotAnimation = -1; + var0.field999 = 0; + var0.field1000 = 0; + var0.x = var0.pathX[0] * 128 + var0.field1007 * 64; + var0.y = var0.pathY[0] * 128 + var0.field1007 * 64; + var0.method1848(); + } + + GameObject.method3453(var0); + Players.method2286(var0); + } + + @ObfuscatedName("gi") + @ObfuscatedSignature( + descriptor = "(I)I", + garbageValue = "-654550315" + ) + static final int method3639() { + if (WorldMapSectionType.clientPreferences.roofsHidden) { + return class90.Client_plane; + } else { + int var0 = WorldMapRegion.getTileHeight(SecureRandomFuture.cameraX, ObjectSound.cameraZ, class90.Client_plane); + return var0 - ArchiveLoader.cameraY < 800 && (Tiles.Tiles_renderFlags[class90.Client_plane][SecureRandomFuture.cameraX >> 7][ObjectSound.cameraZ >> 7] & 4) != 0 ? class90.Client_plane : 3; + } + } + + @ObfuscatedName("jq") + @ObfuscatedSignature( + descriptor = "(IB)V", + garbageValue = "0" + ) + static final void method3641(int var0) { + var0 = Math.min(Math.max(var0, 0), 127); + WorldMapSectionType.clientPreferences.soundEffectsVolume = var0; + class23.savePreferences(); + } } diff --git a/runescape-client/src/main/java/class182.java b/runescape-client/src/main/java/class182.java index 7bc2a20d28..c96dcc984b 100644 --- a/runescape-client/src/main/java/class182.java +++ b/runescape-client/src/main/java/class182.java @@ -1,47 +1,301 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gc") +@ObfuscatedName("gl") public class class182 { - @ObfuscatedName("x") - @Export("directions") - public static int[][] directions; - @ObfuscatedName("w") - @Export("distances") - public static int[][] distances; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -611809779 - ) - public static int field2115; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -405492077 - ) - public static int field2121; - @ObfuscatedName("p") - @Export("bufferX") - public static int[] bufferX; - @ObfuscatedName("l") - @Export("bufferY") - public static int[] bufferY; - @ObfuscatedName("gj") - @ObfuscatedGetter( - intValue = -1967646503 - ) - static int field2112; - @ObfuscatedName("lx") - @ObfuscatedGetter( - intValue = -652373903 - ) - @Export("menuHeight") - static int menuHeight; + @ObfuscatedName("d") + @Export("directions") + public static int[][] directions = new int[128][128]; + @ObfuscatedName("c") + @Export("distances") + public static int[][] distances = new int[128][128]; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 1969487819 + ) + public static int field2118; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 512804251 + ) + public static int field2124; + @ObfuscatedName("e") + @Export("bufferX") + public static int[] bufferX = new int[4096]; + @ObfuscatedName("q") + @Export("bufferY") + public static int[] bufferY = new int[4096]; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Ldy;" + ) + @Export("soundCache") + public static SoundCache soundCache; - static { - directions = new int[128][128]; // L: 6 - distances = new int[128][128]; // L: 7 - bufferX = new int[4096]; // L: 11 - bufferY = new int[4096]; // L: 12 - } + @ObfuscatedName("hj") + @ObfuscatedSignature( + descriptor = "(ZLkd;B)V", + garbageValue = "-1" + ) + @Export("updateNpcs") + static final void updateNpcs(boolean var0, PacketBuffer var1) { + Client.field851 = 0; + Client.field725 = 0; + PacketBuffer var2 = Client.packetWriter.packetBuffer; + var2.importIndex(); + int var3 = var2.readBits(8); + int var4; + if (var3 < Client.npcCount) { + for(var4 = var3; var4 < Client.npcCount; ++var4) { + Client.field845[++Client.field851 - 1] = Client.npcIndices[var4]; + } + } + + if (var3 > Client.npcCount) { + throw new RuntimeException(""); + } else { + Client.npcCount = 0; + + int var5; + int var7; + int var8; + int var9; + int var10; + int var11; + for(var4 = 0; var4 < var3; ++var4) { + var5 = Client.npcIndices[var4]; + NPC var16 = Client.npcs[var5]; + var7 = var2.readBits(1); + if (var7 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var16.npcCycle = Client.cycle; + } else { + var8 = var2.readBits(2); + if (var8 == 0) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var16.npcCycle = Client.cycle; + Client.field697[++Client.field725 - 1] = var5; + } else if (var8 == 1) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var16.npcCycle = Client.cycle; + var9 = var2.readBits(3); + var16.method2178(var9, (byte)1); + var10 = var2.readBits(1); + if (var10 == 1) { + Client.field697[++Client.field725 - 1] = var5; + } + } else if (var8 == 2) { + Client.npcIndices[++Client.npcCount - 1] = var5; + var16.npcCycle = Client.cycle; + var9 = var2.readBits(3); + var16.method2178(var9, (byte)2); + var10 = var2.readBits(3); + var16.method2178(var10, (byte)2); + var11 = var2.readBits(1); + if (var11 == 1) { + Client.field697[++Client.field725 - 1] = var5; + } + } else if (var8 == 3) { + Client.field845[++Client.field851 - 1] = var5; + } + } + } + + SpriteMask.method4174(var0, var1); + + int var14; + for(var14 = 0; var14 < Client.field725; ++var14) { + var3 = Client.field697[var14]; + NPC var15 = Client.npcs[var3]; + var5 = var1.readUnsignedByte(); + if ((var5 & 16) != 0) { + var15.field992 = var1.method5721(); + var15.field952 = var1.method5721(); + var15.field996 = var1.method5747(); + var15.field998 = var1.readByte(); + var15.field999 = var1.readUnsignedShort() + Client.cycle; + var15.field1000 = var1.method5729() + Client.cycle; + var15.field1001 = var1.method5729(); + var15.pathLength = 1; + var15.field1012 = 0; + var15.field992 += var15.pathX[0]; + var15.field952 += var15.pathY[0]; + var15.field996 += var15.pathX[0]; + var15.field998 += var15.pathY[0]; + } + + int var6; + if ((var5 & 1) != 0) { + var15.spotAnimation = var1.method5727(); + var6 = var1.readInt(); + var15.field994 = var6 >> 16; + var15.field993 = (var6 & '\uffff') + Client.cycle; + var15.spotAnimationFrame = 0; + var15.spotAnimationFrameCycle = 0; + if (var15.field993 > Client.cycle) { + var15.spotAnimationFrame = -1; + } + + if (var15.spotAnimation == 65535) { + var15.spotAnimation = -1; + } + } + + if ((var5 & 2) != 0) { + var15.definition = class90.getNpcDefinition(var1.method5728()); + var15.field1007 = var15.definition.size; + var15.field1006 = var15.definition.rotation; + var15.walkSequence = var15.definition.walkSequence; + var15.walkBackSequence = var15.definition.walkBackSequence; + var15.walkLeftSequence = var15.definition.walkLeftSequence; + var15.walkRightSequence = var15.definition.walkRightSequence; + var15.idleSequence = var15.definition.idleSequence; + var15.turnLeftSequence = var15.definition.turnLeftSequence; + var15.turnRightSequence = var15.definition.turnRightSequence; + } + + if ((var5 & 4) != 0) { + var6 = var1.method5727(); + if (var6 == 65535) { + var6 = -1; + } + + var7 = var1.method5717(); + if (var6 == var15.sequence && var6 != -1) { + var8 = InterfaceParent.SequenceDefinition_get(var6).field3548; + if (var8 == 1) { + var15.sequenceFrame = 0; + var15.sequenceFrameCycle = 0; + var15.sequenceDelay = var7; + var15.field973 = 0; + } + + if (var8 == 2) { + var15.field973 = 0; + } + } else if (var6 == -1 || var15.sequence == -1 || InterfaceParent.SequenceDefinition_get(var6).field3560 >= InterfaceParent.SequenceDefinition_get(var15.sequence).field3560) { + var15.sequence = var6; + var15.sequenceFrame = 0; + var15.sequenceFrameCycle = 0; + var15.sequenceDelay = var7; + var15.field973 = 0; + var15.field1012 = var15.pathLength; + } + } + + if ((var5 & 128) != 0) { + var6 = var1.readUnsignedByte(); + int var12; + if (var6 > 0) { + for(var7 = 0; var7 < var6; ++var7) { + var9 = -1; + var10 = -1; + var11 = -1; + var8 = var1.readUShortSmart(); + if (var8 == 32767) { + var8 = var1.readUShortSmart(); + var10 = var1.readUShortSmart(); + var9 = var1.readUShortSmart(); + var11 = var1.readUShortSmart(); + } else if (var8 != 32766) { + var10 = var1.readUShortSmart(); + } else { + var8 = -1; + } + + var12 = var1.readUShortSmart(); + var15.addHitSplat(var8, var10, var9, var11, Client.cycle, var12); + } + } + + var7 = var1.method5717(); + if (var7 > 0) { + for(var8 = 0; var8 < var7; ++var8) { + var9 = var1.readUShortSmart(); + var10 = var1.readUShortSmart(); + if (var10 != 32767) { + var11 = var1.readUShortSmart(); + var12 = var1.method5776(); + int var13 = var10 > 0 ? var1.method5717() : var12; + var15.addHealthBar(var9, Client.cycle, var10, var11, var12, var13); + } else { + var15.removeHealthBar(var9); + } + } + } + } + + if ((var5 & 32) != 0) { + var6 = var1.method5727(); + var7 = var1.readUnsignedShort(); + var8 = var15.x - (var6 - GrandExchangeOfferNameComparator.baseX * 64 - GrandExchangeOfferNameComparator.baseX * 64) * 64; + var9 = var15.y - (var7 - NetCache.baseY * 64 - NetCache.baseY * 64) * 64; + if (var8 != 0 || var9 != 0) { + var15.field981 = (int)(Math.atan2((double)var8, (double)var9) * 325.949D) & 2047; + } + } + + if ((var5 & 64) != 0) { + var15.targetIndex = var1.method5727(); + if (var15.targetIndex == 65535) { + var15.targetIndex = -1; + } + } + + if ((var5 & 8) != 0) { + var15.overheadText = var1.readStringCp1252NullTerminated(); + var15.overheadTextCyclesRemaining = 100; + } + } + + for(var14 = 0; var14 < Client.field851; ++var14) { + var3 = Client.field845[var14]; + if (Client.npcs[var3].npcCycle != Client.cycle) { + Client.npcs[var3].definition = null; + Client.npcs[var3] = null; + } + } + + if (var1.offset != Client.packetWriter.serverPacketLength) { + throw new RuntimeException(var1.offset + "," + Client.packetWriter.serverPacketLength); + } else { + for(var14 = 0; var14 < Client.npcCount; ++var14) { + if (Client.npcs[Client.npcIndices[var14]] == null) { + throw new RuntimeException(var14 + "," + Client.npcCount); + } + } + + } + } + } + + @ObfuscatedName("ia") + @ObfuscatedSignature( + descriptor = "([Lhz;Lhz;ZI)V", + garbageValue = "-379515741" + ) + @Export("revalidateWidgetScroll") + static void revalidateWidgetScroll(Widget[] var0, Widget var1, boolean var2) { + int var3 = var1.scrollWidth != 0 ? var1.scrollWidth : var1.width; + int var4 = var1.scrollHeight != 0 ? var1.scrollHeight : var1.height; + ObjectSound.resizeInterface(var0, var1.id, var3, var4, var2); + if (var1.children != null) { + ObjectSound.resizeInterface(var1.children, var1.id, var3, var4, var2); + } + + InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var1.id); + if (var5 != null) { + int var6 = var5.group; + if (WorldMapCacheName.loadInterface(var6)) { + ObjectSound.resizeInterface(DefaultsGroup.Widget_interfaceComponents[var6], -1, var3, var4, var2); + } + } + + if (var1.contentType == 1337) { + ; + } + + } } diff --git a/runescape-client/src/main/java/class190.java b/runescape-client/src/main/java/class190.java index e3f3d73633..01e0954276 100644 --- a/runescape-client/src/main/java/class190.java +++ b/runescape-client/src/main/java/class190.java @@ -1,5 +1,5 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("go") +@ObfuscatedName("gu") public interface class190 { } diff --git a/runescape-client/src/main/java/class194.java b/runescape-client/src/main/java/class194.java index 6736be1497..4fec96167e 100644 --- a/runescape-client/src/main/java/class194.java +++ b/runescape-client/src/main/java/class194.java @@ -1,111 +1,89 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("gs") public class class194 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2348; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2342; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2344; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2350; - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2346; - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2345; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2343; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2349; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2347; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "Lgs;" - ) - public static final class194 field2351; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2348 = new class194(3); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2354 = new class194(4); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2347 = new class194(6); + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2356 = new class194(5); + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2350 = new class194(14); + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2351 = new class194(7); + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2352 = new class194(15); + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2353 = new class194(4); + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2346 = new class194(5); + @ObfuscatedName("l") + @ObfuscatedSignature( + descriptor = "Lgs;" + ) + public static final class194 field2355 = new class194(2); - static { - field2348 = new class194(3); // L: 5 - field2342 = new class194(5); // L: 6 - field2344 = new class194(14); // L: 7 - field2350 = new class194(7); // L: 8 - field2346 = new class194(15); // L: 9 - field2345 = new class194(5); // L: 10 - field2343 = new class194(4); // L: 11 - field2349 = new class194(6); // L: 12 - field2347 = new class194(2); // L: 13 - field2351 = new class194(4); // L: 14 - } + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "3" + ) + class194(int var1) { + } - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "3" - ) - class194(int var1) { - } // L: 20 + @ObfuscatedName("jc") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-921891961" + ) + static final void method3820(int var0) { + var0 = Math.min(Math.max(var0, 0), 255); + if (var0 != WorldMapSectionType.clientPreferences.musicVolume) { + if (WorldMapSectionType.clientPreferences.musicVolume == 0 && Client.currentTrackGroupId != -1) { + ReflectionCheck.method2450(UrlRequester.archive6, Client.currentTrackGroupId, 0, var0, false); + Client.field899 = false; + } else if (var0 == 0) { + ScriptEvent.method1272(); + Client.field899 = false; + } else if (class206.musicPlayerStatus != 0) { + DevicePcmPlayerProvider.musicTrackVolume = var0; + } else { + VertexNormal.midiPcmStream.setPcmStreamVolume(var0); + } - @ObfuscatedName("iz") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "1797863012" - ) - @Export("selectSpell") - static void selectSpell(int var0, int var1, int var2, int var3) { - Widget var4 = class92.getWidgetChild(var0, var1); // L: 8331 - if (var4 != null && var4.onTargetEnter != null) { // L: 8332 - ScriptEvent var5 = new ScriptEvent(); // L: 8333 - var5.widget = var4; // L: 8334 - var5.args = var4.onTargetEnter; // L: 8335 - class22.runScriptEvent(var5); // L: 8336 - } + WorldMapSectionType.clientPreferences.musicVolume = var0; + class23.savePreferences(); + } - Client.field836 = var3; // L: 8338 - Client.isSpellSelected = true; // L: 8339 - MouseHandler.selectedSpellWidget = var0; // L: 8340 - Client.selectedSpellChildIndex = var1; // L: 8341 - Player.selectedSpellFlags = var2; // L: 8342 - CollisionMap.invalidateWidget(var4); // L: 8343 - } // L: 8344 - - @ObfuscatedName("kg") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-1005104193" - ) - static final void method3676(int var0) { - var0 = Math.min(Math.max(var0, 0), 127); // L: 10678 - Timer.clientPreferences.areaSoundEffectsVolume = var0; // L: 10679 - GrandExchangeOffer.savePreferences(); // L: 10680 - } // L: 10681 + } } diff --git a/runescape-client/src/main/java/class195.java b/runescape-client/src/main/java/class195.java index e0e391cec9..147aa2b06d 100644 --- a/runescape-client/src/main/java/class195.java +++ b/runescape-client/src/main/java/class195.java @@ -1,101 +1,378 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gk") +@ObfuscatedName("gn") public class class195 { - @ObfuscatedName("p") - @Export("Widget_loadedInterfaces") - public static boolean[] Widget_loadedInterfaces; - @ObfuscatedName("em") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive19") - static Archive archive19; + @ObfuscatedName("lm") + @ObfuscatedSignature( + descriptor = "Lce;" + ) + @Export("tempMenuAction") + static MenuAction tempMenuAction; + @ObfuscatedName("mn") + @ObfuscatedGetter( + intValue = -1672788449 + ) + @Export("selectedItemSlot") + static int selectedItemSlot; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1214913884" - ) - static void method3680() { - class248.field3219 = new int[2000]; // L: 25 - int var0 = 0; // L: 26 - int var1 = 240; // L: 27 + @ObfuscatedName("aj") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1282000590" + ) + static int method3821(int var0, Script var1, boolean var2) { + int var3; + if (var0 == 6600) { + var3 = class90.Client_plane; + int var15 = GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7); + int var8 = NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7); + WorldMapSection0.getWorldMap().method6530(var3, var15, var8, true); + return 1; + } else { + WorldMapArea var9; + if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + String var16 = ""; + var9 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var9 != null) { + var16 = var9.getExternalName(); + } - int var3; - for (byte var2 = 12; var0 < 16; var1 -= var2) { // L: 28 - var3 = class2.method23((double)((float)var1 / 360.0F), 0.9998999834060669D, (double)(0.425F * (float)var0 / 16.0F + 0.075F)); // L: 30 - class248.field3219[var0] = var3; // L: 31 - ++var0; // L: 29 - } + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSection0.getWorldMap().setCurrentMapAreaId(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getZoomLevel(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSection0.getWorldMap().setZoomPercentage(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().isCacheLoaded() ? 1 : 0; + return 1; + } else { + Coord var14; + if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + WorldMapSection0.getWorldMap().setWorldMapPositionTarget(var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + WorldMapSection0.getWorldMap().setWorldMapPositionTargetInstant(var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + WorldMapSection0.getWorldMap().jumpToSourceCoord(var14.plane, var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + WorldMapSection0.getWorldMap().jumpToSourceCoordInstant(var14.plane, var14.x, var14.y); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getDisplayX(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getDisplayY(); + return 1; + } else { + WorldMapArea var11; + if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getOrigin().packed(); + } - var1 = 48; // L: 33 + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var11.getRegionHighX() - var11.getRegionLowX() + 1) * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = (var11.getRegionHighY() - var11.getRegionLowY() + 1) * 64; + } - for (int var5 = var1 / 6; var0 < class248.field3219.length; var1 -= var5) { // L: 34 35 41 - var3 = var0 * 2; // L: 36 + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getRegionLowX() * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getRegionLowY() * 64; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getRegionHighX() * 64 + 64 - 1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getRegionHighY() * 64 + 64 - 1; + } - for (int var4 = class2.method23((double)((float)var1 / 360.0F), 0.9998999834060669D, 0.5D); var0 < var3 && var0 < class248.field3219.length; ++var0) { // L: 37 38 - class248.field3219[var0] = var4; // L: 39 - } - } + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var11 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getZoom(); + } - } // L: 43 + return 1; + } else if (var0 == 6615) { + var14 = WorldMapSection0.getWorldMap().getDisplayCoord(); + if (var14 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.x; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var14.y; + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(II)Lbg;", - garbageValue = "36521879" - ) - @Export("Messages_getMessage") - static Message Messages_getMessage(int var0) { - return (Message)Messages.Messages_hashTable.get((long)var0); // L: 44 - } + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().currentMapAreaId(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var11 = WorldMapSection0.getWorldMap().getCurrentMapArea(); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + int[] var12 = var11.position(var14.plane, var14.x, var14.y); + if (var12 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12[0]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var12[1]; + } - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "(IB)Ljava/lang/String;", - garbageValue = "1" - ) - @Export("inventoryQuantityFormat") - static final String inventoryQuantityFormat(int var0) { - if (var0 < 100000) { // L: 421 - return "" + var0 + ""; - } else { - return var0 < 10000000 ? "" + var0 / 1000 + "K" + "" : "" + var0 / 1000000 + "M" + ""; // L: 422 423 - } - } + return 1; + } + } else { + Coord var5; + if (var0 == 6618) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var11 = WorldMapSection0.getWorldMap().getCurrentMapArea(); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + return 1; + } else { + var5 = var11.coord(var14.x, var14.y); + if (var5 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var5.packed(); + } - @ObfuscatedName("ko") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-4544721" - ) - static void method3681() { - for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { // L: 10531 - int var1 = var0.group; // L: 10532 - if (class41.loadInterface(var1)) { // L: 10533 - boolean var2 = true; // L: 10534 - Widget[] var3 = class9.Widget_interfaceComponents[var1]; // L: 10535 + return 1; + } + } else { + Coord var10; + if (var0 == 6619) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + GraphicsObject.method2154(var3, var10, false); + return 1; + } else if (var0 == 6620) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + GraphicsObject.method2154(var3, var10, true); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + var9 = WorldMapSection0.getWorldMap().getMapArea(var3); + if (var9 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + return 1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var9.containsCoord(var10.plane, var10.x, var10.y) ? 1 : 0; + return 1; + } + } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getDisplayWith(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getDisplayHeight(); + return 1; + } else if (var0 == 6623) { + var14 = new Coord(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var11 = WorldMapSection0.getWorldMap().mapAreaAtCoord(var14.plane, var14.x, var14.y); + if (var11 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var11.getId(); + } - int var4; - for (var4 = 0; var4 < var3.length; ++var4) { // L: 10536 - if (var3[var4] != null) { // L: 10537 - var2 = var3[var4].isIf3; // L: 10538 - break; - } - } + return 1; + } else if (var0 == 6624) { + WorldMapSection0.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6625) { + WorldMapSection0.getWorldMap().resetMaxFlashCount(); + return 1; + } else if (var0 == 6626) { + WorldMapSection0.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + return 1; + } else if (var0 == 6627) { + WorldMapSection0.getWorldMap().resetCyclesPerFlash(); + return 1; + } else { + boolean var13; + if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSection0.getWorldMap().setPerpetualFlash(var13); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSection0.getWorldMap().flashElement(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WorldMapSection0.getWorldMap().flashCategory(var3); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { + WorldMapSection0.getWorldMap().stopCurrentFlashes(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { + var13 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + WorldMapSection0.getWorldMap().setElementsDisabled(var13); + return 1; + } else { + boolean var7; + if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + WorldMapSection0.getWorldMap().disableElement(var3, var7); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var7 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + WorldMapSection0.getWorldMap().setCategoryDisabled(var3, var7); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().getElementsDisabled() ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().isElementDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSection0.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; + return 1; + } else if (var0 == 6638) { + Interpreter.Interpreter_intStackSize -= 2; + var3 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var10 = new Coord(Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]); + var5 = WorldMapSection0.getWorldMap().method6643(var3, var10); + if (var5 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var5.packed(); + } - if (!var2) { // L: 10542 - var4 = (int)var0.key; // L: 10543 - Widget var5 = CollisionMap.getWidget(var4); // L: 10544 - if (var5 != null) { // L: 10545 - CollisionMap.invalidateWidget(var5); - } - } - } - } + return 1; + } else { + AbstractWorldMapIcon var6; + if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { + var6 = WorldMapSection0.getWorldMap().iconStart(); + if (var6 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.getElement(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.coord2.packed(); + } - } // L: 10549 + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { + var6 = WorldMapSection0.getWorldMap().iconNext(); + if (var6 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.getElement(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var6.coord2.packed(); + } + + return 1; + } else { + WorldMapElement var4; + if (var0 == ScriptOpcodes.MEC_TEXT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = InvDefinition.WorldMapElement_get(var3); + if (var4.name == null) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; + } else { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.name; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = InvDefinition.WorldMapElement_get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.textSize; + return 1; + } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = InvDefinition.WorldMapElement_get(var3); + if (var4 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.category; + } + + return 1; + } else if (var0 == ScriptOpcodes.MEC_SPRITE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = InvDefinition.WorldMapElement_get(var3); + if (var4 == null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = -1; + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.sprite1; + } + + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.worldMapEvent.mapElement; + return 1; + } else if (var0 == 6698) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.worldMapEvent.coord1.packed(); + return 1; + } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Interpreter.worldMapEvent.coord2.packed(); + return 1; + } else { + return 2; + } + } + } + } + } + } + } + } + } + } + } } diff --git a/runescape-client/src/main/java/class197.java b/runescape-client/src/main/java/class197.java index 0b4d078ae0..4b7de82bca 100644 --- a/runescape-client/src/main/java/class197.java +++ b/runescape-client/src/main/java/class197.java @@ -1,20 +1,96 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gx") +@ObfuscatedName("gr") public class class197 { - @ObfuscatedName("h") - static int[] field2369; + @ObfuscatedName("qv") + @ObfuscatedSignature( + descriptor = "Ldh;" + ) + @Export("pcmPlayer0") + static PcmPlayer pcmPlayer0; + @ObfuscatedName("n") + static int[] field2375; - static { - new Object(); - field2369 = new int[33]; // L: 8 - field2369[0] = 0; // L: 11 - int var0 = 2; // L: 12 + static { + new Object(); + field2375 = new int[33]; + field2375[0] = 0; + int var0 = 2; - for (int var1 = 1; var1 < 33; ++var1) { // L: 13 - field2369[var1] = var0 - 1; // L: 14 - var0 += var0; // L: 15 - } + for(int var1 = 1; var1 < 33; ++var1) { + field2375[var1] = var0 - 1; + var0 += var0; + } - } // L: 17 + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;B)V", + garbageValue = "52" + ) + public static void method3828(AbstractArchive var0) { + ParamComposition.ParamDefinition_archive = var0; + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "1647502" + ) + static int method3844(int var0, Script var1, boolean var2) { + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + } else { + var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } + + IsaacCipher.invalidateWidget(var3); + if (var0 != ScriptOpcodes.CC_SETOBJECT && var0 != ScriptOpcodes.CC_SETOBJECT_NONUM && var0 != ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM) { + if (var0 == ScriptOpcodes.CC_SETNPCHEAD) { + var3.modelType = 2; + var3.modelId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETPLAYERHEAD_SELF) { + var3.modelType = 3; + var3.modelId = UserComparator9.localPlayer.appearance.getChatHeadId(); + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + int var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + int var5 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.itemId = var4; + var3.itemQuantity = var5; + ItemComposition var6 = class281.ItemDefinition_get(var4); + var3.modelAngleX = var6.xan2d; + var3.modelAngleY = var6.yan2d; + var3.modelAngleZ = var6.zan2d; + var3.modelOffsetX = var6.offsetX2d; + var3.modelOffsetY = var6.offsetY2d; + var3.modelZoom = var6.zoom2d; + if (var0 == ScriptOpcodes.CC_SETOBJECT_NONUM) { + var3.itemQuantityMode = 0; + } else if (var0 == ScriptOpcodes.CC_SETOBJECT_ALWAYS_NUM | 1 == var6.isStackable) { + var3.itemQuantityMode = 1; + } else { + var3.itemQuantityMode = 2; + } + + if (var3.field2648 > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.field2648; + } else if (var3.rawWidth > 0) { + var3.modelZoom = var3.modelZoom * 32 / var3.rawWidth; + } + + return 1; + } + } } diff --git a/runescape-client/src/main/java/class198.java b/runescape-client/src/main/java/class198.java index 55eb09af2d..f4f60fe068 100644 --- a/runescape-client/src/main/java/class198.java +++ b/runescape-client/src/main/java/class198.java @@ -1,26 +1,26 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ga") +@ObfuscatedName("gi") public class class198 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)Lje;", - garbageValue = "1390109728" - ) - public static HitSplatDefinition method3697(int var0) { - HitSplatDefinition var1 = (HitSplatDefinition)HitSplatDefinition.HitSplatDefinition_cached.get((long)var0); // L: 52 - if (var1 != null) { // L: 53 - return var1; - } else { - byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0); // L: 54 - var1 = new HitSplatDefinition(); // L: 55 - if (var2 != null) { // L: 56 - var1.decode(new Buffer(var2)); - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkd;I)I", + garbageValue = "832734688" + ) + static int method3851(PacketBuffer var0) { + int var1 = var0.readBits(2); + int var2; + if (var1 == 0) { + var2 = 0; + } else if (var1 == 1) { + var2 = var0.readBits(5); + } else if (var1 == 2) { + var2 = var0.readBits(8); + } else { + var2 = var0.readBits(11); + } - HitSplatDefinition.HitSplatDefinition_cached.put(var1, (long)var0); // L: 57 - return var1; // L: 58 - } - } + return var2; + } } diff --git a/runescape-client/src/main/java/class2.java b/runescape-client/src/main/java/class2.java index 425ce2c1e2..a5769981dc 100644 --- a/runescape-client/src/main/java/class2.java +++ b/runescape-client/src/main/java/class2.java @@ -1,94 +1,87 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("x") +@ObfuscatedName("d") final class class2 implements class0 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lkj;I)V", - garbageValue = "781194334" - ) - public void vmethod49(Object var1, Buffer var2) { - this.method21((Long)var1, var2); - } // L: 34 + @ObfuscatedName("q") + @Export("SpriteBuffer_pixels") + public static byte[][] SpriteBuffer_pixels; + @ObfuscatedName("a") + @ObfuscatedSignature( + descriptor = "Ldk;" + ) + @Export("pcmPlayerProvider") + public static class108 pcmPlayerProvider; + @ObfuscatedName("k") + static int[][][] field12; + @ObfuscatedName("bz") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("worldSelectRightSprite") + static IndexedSprite worldSelectRightSprite; + @ObfuscatedName("gn") + @Export("regionLandArchives") + static byte[][] regionLandArchives; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;B)Ljava/lang/Object;", - garbageValue = "12" - ) - public Object vmethod48(Buffer var1) { - return var1.readLong(); - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lkx;B)V", + garbageValue = "-41" + ) + public void vmethod48(Object var1, Buffer var2) { + this.method20((Long)var1, var2); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Long;Lkj;I)V", - garbageValue = "-110177189" - ) - void method21(Long var1, Buffer var2) { - var2.writeLong(var1); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Ljava/lang/Object;", + garbageValue = "1678106953" + ) + public Object vmethod45(Buffer var1) { + return var1.readLong(); + } - @ObfuscatedName("h") - public static final int method23(double var0, double var2, double var4) { - double var6 = var4; // L: 9 - double var8 = var4; // L: 10 - double var10 = var4; // L: 11 - if (0.0D != var2) { // L: 12 - double var12; - if (var4 < 0.5D) { // L: 14 - var12 = var4 * (1.0D + var2); - } else { - var12 = var4 + var2 - var2 * var4; // L: 15 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Long;Lkx;I)V", + garbageValue = "444192974" + ) + void method20(Long var1, Buffer var2) { + var2.writeLong(var1); + } - double var14 = var4 * 2.0D - var12; // L: 16 - double var16 = 0.3333333333333333D + var0; // L: 17 - if (var16 > 1.0D) { // L: 18 - --var16; - } + @ObfuscatedName("ac") + @ObfuscatedSignature( + descriptor = "(ILcl;ZS)I", + garbageValue = "-27165" + ) + static int method25(int var0, Script var1, boolean var2) { + if (var0 != 3700 && var0 != 3701) { + if (var0 == 3702) { + ++Interpreter.Interpreter_intStackSize; + return 1; + } else { + return 2; + } + } else { + --Interpreter.Interpreter_intStackSize; + --Interpreter.Interpreter_stringStackSize; + return 1; + } + } - double var20 = var0 - 0.3333333333333333D; // L: 20 - if (var20 < 0.0D) { // L: 21 - ++var20; - } + @ObfuscatedName("gl") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1857096968" + ) + static void method27() { + if (SoundSystem.worldMap != null) { + SoundSystem.worldMap.method6530(class90.Client_plane, GrandExchangeOfferNameComparator.baseX * 64 + (UserComparator9.localPlayer.x >> 7), NetCache.baseY * 64 + (UserComparator9.localPlayer.y >> 7), false); + SoundSystem.worldMap.loadCache(); + } - if (var16 * 6.0D < 1.0D) { // L: 22 - var6 = (var12 - var14) * 6.0D * var16 + var14; - } else if (2.0D * var16 < 1.0D) { // L: 23 - var6 = var12; - } else if (var16 * 3.0D < 2.0D) { // L: 24 - var6 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var16); - } else { - var6 = var14; // L: 25 - } - - if (6.0D * var0 < 1.0D) { // L: 26 - var8 = 6.0D * (var12 - var14) * var0 + var14; - } else if (var0 * 2.0D < 1.0D) { // L: 27 - var8 = var12; - } else if (var0 * 3.0D < 2.0D) { - var8 = (var12 - var14) * (0.6666666666666666D - var0) * 6.0D + var14; // L: 28 - } else { - var8 = var14; // L: 29 - } - - if (6.0D * var20 < 1.0D) { // L: 30 - var10 = var20 * (var12 - var14) * 6.0D + var14; - } else if (2.0D * var20 < 1.0D) { // L: 31 - var10 = var12; - } else if (3.0D * var20 < 2.0D) { // L: 32 - var10 = 6.0D * (0.6666666666666666D - var20) * (var12 - var14) + var14; - } else { - var10 = var14; // L: 33 - } - } - - int var22 = (int)(256.0D * var6); // L: 35 - int var13 = (int)(256.0D * var8); // L: 36 - int var23 = (int)(var10 * 256.0D); // L: 37 - int var15 = var23 + (var13 << 8) + (var22 << 16); // L: 38 - return var15; // L: 39 - } + } } diff --git a/runescape-client/src/main/java/class200.java b/runescape-client/src/main/java/class200.java index 1fd2e14d6b..b2e941dc04 100644 --- a/runescape-client/src/main/java/class200.java +++ b/runescape-client/src/main/java/class200.java @@ -1,106 +1,32 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("gp") +@ObfuscatedName("gx") public class class200 { - @ObfuscatedName("nz") - @ObfuscatedSignature( - descriptor = "[Lhe;" - ) - static Widget[] field2390; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lgp;" - ) - static final class200 field2387; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lgp;" - ) - static final class200 field2388; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lgp;" - ) - static final class200 field2389; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lgx;" + ) + static final class200 field2401 = new class200(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lgx;" + ) + static final class200 field2398 = new class200(); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lgx;" + ) + static final class200 field2397 = new class200(); + @ObfuscatedName("y") + static byte[][][] field2399; - static { - field2387 = new class200(); // L: 4 - field2388 = new class200(); // L: 5 - field2389 = new class200(); // L: 6 - } - - class200() { - } // L: 8 - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;B)V", - garbageValue = "101" - ) - public static void method3712(AbstractArchive var0) { - VarbitComposition.VarbitDefinition_archive = var0; // L: 17 - } // L: 18 - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(ILcs;ZS)I", - garbageValue = "768" - ) - static int method3711(int var0, Script var1, boolean var2) { - int var3 = -1; // L: 499 - Widget var4; - if (var0 >= 2000) { // L: 501 - var0 -= 1000; // L: 502 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 503 - var4 = CollisionMap.getWidget(var3); // L: 504 - } else { - var4 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 506 - } - - if (var0 == ScriptOpcodes.CC_SETPOSITION) { // L: 507 - VarcInt.Interpreter_intStackSize -= 4; // L: 508 - var4.rawX = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 509 - var4.rawY = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 510 - var4.xAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 511 - var4.yAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 512 - CollisionMap.invalidateWidget(var4); // L: 513 - WorldMapIcon_0.client.alignWidget(var4); // L: 514 - if (var3 != -1 && var4.type == 0) { // L: 515 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; // L: 516 - } else if (var0 == ScriptOpcodes.CC_SETSIZE) { // L: 518 - VarcInt.Interpreter_intStackSize -= 4; // L: 519 - var4.rawWidth = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 520 - var4.rawHeight = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 521 - var4.widthAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 522 - var4.heightAlignment = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 523 - CollisionMap.invalidateWidget(var4); // L: 524 - WorldMapIcon_0.client.alignWidget(var4); // L: 525 - if (var3 != -1 && var4.type == 0) { // L: 526 - PendingSpawn.revalidateWidgetScroll(class9.Widget_interfaceComponents[var3 >> 16], var4, false); - } - - return 1; // L: 527 - } else if (var0 == ScriptOpcodes.CC_SETHIDE) { // L: 529 - boolean var5 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 530 - if (var5 != var4.isHidden) { // L: 531 - var4.isHidden = var5; // L: 532 - CollisionMap.invalidateWidget(var4); // L: 533 - } - - return 1; // L: 535 - } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { // L: 537 - var4.noClickThrough = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 538 - return 1; // L: 539 - } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { // L: 541 - var4.noScrollThrough = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 542 - return 1; // L: 543 - } else { - return 2; // L: 545 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(II)I", + garbageValue = "1474141491" + ) + public static int method3865(int var0) { + return ReflectionCheck.method2451(ViewportMouse.ViewportMouse_entityTags[var0]); + } } diff --git a/runescape-client/src/main/java/class204.java b/runescape-client/src/main/java/class204.java index 3a332f4506..474088e04c 100644 --- a/runescape-client/src/main/java/class204.java +++ b/runescape-client/src/main/java/class204.java @@ -1,30 +1,261 @@ +import java.applet.Applet; +import java.net.URL; import java.util.HashMap; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import netscape.javascript.JSObject; -@ObfuscatedName("gl") +@ObfuscatedName("gc") public class class204 { - @ObfuscatedName("c") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - static IndexedSprite field2408; + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "Lhr;" + ) + @Export("musicTrack") + public static MusicTrack musicTrack; - static { - new HashMap(); - } // L: 9 + static { + new HashMap(); + } - @ObfuscatedName("ai") - @ObfuscatedSignature( - descriptor = "(ILhs;ZB)V", - garbageValue = "78" - ) - static void method3721(int var0, Coord var1, boolean var2) { - WorldMapArea var3 = Actor.getWorldMap().getMapArea(var0); // L: 3917 - int var4 = PlayerComposition.localPlayer.plane; // L: 3918 - int var5 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; // L: 3919 - int var6 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; // L: 3920 - Coord var7 = new Coord(var4, var5, var6); // L: 3921 - Actor.getWorldMap().method6485(var3, var7, var1, var2); // L: 3922 - } // L: 3923 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Lil;", + garbageValue = "236947839" + ) + @Export("VarpDefinition_get") + public static VarpDefinition VarpDefinition_get(int var0) { + VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = VarpDefinition.VarpDefinition_archive.takeFile(16, var0); + var1 = new VarpDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;ILjava/lang/String;B)Z", + garbageValue = "10" + ) + static boolean method3888(String var0, int var1, String var2) { + if (var1 == 0) { + try { + if (!class60.field454.startsWith("win")) { + throw new Exception(); + } else if (!var0.startsWith("http://") && !var0.startsWith("https://")) { + throw new Exception(); + } else { + String var11 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789?&=,.%+-_#:/*"; + + for(int var4 = 0; var4 < var0.length(); ++var4) { + if (var11.indexOf(var0.charAt(var4)) == -1) { + throw new Exception(); + } + } + + Runtime.getRuntime().exec("cmd /c start \"j\" \"" + var0 + "\""); + return true; + } + } catch (Throwable var5) { + return false; + } + } else if (var1 == 1) { + try { + Object var10 = class56.method923(class60.applet, var2, new Object[]{(new URL(class60.applet.getCodeBase(), var0)).toString()}); + return var10 != null; + } catch (Throwable var6) { + return false; + } + } else if (var1 == 2) { + try { + class60.applet.getAppletContext().showDocument(new URL(class60.applet.getCodeBase(), var0), "_blank"); + return true; + } catch (Exception var7) { + return false; + } + } else if (var1 == 3) { + try { + Applet var3 = class60.applet; + JSObject.getWindow(var3).call("loggedout", (Object[])null); + } catch (Throwable var9) { + ; + } + + try { + class60.applet.getAppletContext().showDocument(new URL(class60.applet.getCodeBase(), var0), "_top"); + return true; + } catch (Exception var8) { + return false; + } + } else { + throw new IllegalArgumentException(); + } + } + + @ObfuscatedName("jx") + @ObfuscatedSignature( + descriptor = "(Lhz;Ljj;IIZI)V", + garbageValue = "-151071260" + ) + @Export("addWidgetItemMenuItem") + static final void addWidgetItemMenuItem(Widget var0, ItemComposition var1, int var2, int var3, boolean var4) { + String[] var5 = var1.inventoryActions; + byte var6 = -1; + String var7 = null; + if (var5 != null && var5[var3] != null) { + if (var3 == 0) { + var6 = 33; + } else if (var3 == 1) { + var6 = 34; + } else if (var3 == 2) { + var6 = 35; + } else if (var3 == 3) { + var6 = 36; + } else { + var6 = 37; + } + + var7 = var5[var3]; + } else if (var3 == 4) { + var6 = 37; + var7 = "Drop"; + } + + if (var6 != -1 && var7 != null) { + WorldMapEvent.insertMenuItem(var7, FileSystem.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); + } + + } + + @ObfuscatedName("ky") + @ObfuscatedSignature( + descriptor = "(Lhz;IIII)V", + garbageValue = "-1768391401" + ) + @Export("drawMinimap") + static final void drawMinimap(Widget var0, int var1, int var2, int var3) { + UserComparator5.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 = UserComparator9.localPlayer.x / 32 + 48; + int var7 = 464 - UserComparator9.localPlayer.y / 32; + GrandExchangeOfferAgeComparator.sceneMinimapSprite.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); + + int var8; + int var10; + int var17; + for(var8 = 0; var8 < Client.mapIconCount; ++var8) { + var17 = Client.mapIconXs[var8] * 4 + 2 - UserComparator9.localPlayer.x / 32; + var10 = Client.mapIconYs[var8] * 4 + 2 - UserComparator9.localPlayer.y / 32; + AbstractArchive.drawSpriteOnMinimap(var1, var2, var17, var10, Client.mapIcons[var8], var4); + } + + int var11; + int var12; + for(var8 = 0; var8 < 104; ++var8) { + for(var17 = 0; var17 < 104; ++var17) { + NodeDeque var15 = Client.groundItems[class90.Client_plane][var8][var17]; + if (var15 != null) { + var11 = var8 * 4 + 2 - UserComparator9.localPlayer.x / 32; + var12 = var17 * 4 + 2 - UserComparator9.localPlayer.y / 32; + AbstractArchive.drawSpriteOnMinimap(var1, var2, var11, var12, ChatChannel.mapDotSprites[0], var4); + } + } + } + + for(var8 = 0; var8 < Client.npcCount; ++var8) { + NPC var9 = Client.npcs[Client.npcIndices[var8]]; + if (var9 != null && var9.isVisible()) { + NPCComposition var19 = var9.definition; + if (var19 != null && var19.transforms != null) { + var19 = var19.transform(); + } + + if (var19 != null && var19.drawMapDot && var19.isInteractable) { + var11 = var9.x / 32 - UserComparator9.localPlayer.x / 32; + var12 = var9.y / 32 - UserComparator9.localPlayer.y / 32; + AbstractArchive.drawSpriteOnMinimap(var1, var2, var11, var12, ChatChannel.mapDotSprites[1], var4); + } + } + } + + var8 = Players.Players_count; + int[] var18 = Players.Players_indices; + + for(var10 = 0; var10 < var8; ++var10) { + Player var16 = Client.players[var18[var10]]; + if (var16 != null && var16.isVisible() && !var16.isHidden && var16 != UserComparator9.localPlayer) { + var12 = var16.x / 32 - UserComparator9.localPlayer.x / 32; + int var13 = var16.y / 32 - UserComparator9.localPlayer.y / 32; + boolean var14 = false; + if (UserComparator9.localPlayer.team != 0 && var16.team != 0 && var16.team == UserComparator9.localPlayer.team) { + var14 = true; + } + + if (var16.isFriend()) { + AbstractArchive.drawSpriteOnMinimap(var1, var2, var12, var13, ChatChannel.mapDotSprites[3], var4); + } else if (var14) { + AbstractArchive.drawSpriteOnMinimap(var1, var2, var12, var13, ChatChannel.mapDotSprites[4], var4); + } else if (var16.isClanMember()) { + AbstractArchive.drawSpriteOnMinimap(var1, var2, var12, var13, ChatChannel.mapDotSprites[5], var4); + } else { + AbstractArchive.drawSpriteOnMinimap(var1, var2, var12, var13, ChatChannel.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 - UserComparator9.localPlayer.x / 32; + var12 = var20.y / 32 - UserComparator9.localPlayer.y / 32; + WorldMapDecoration.worldToMinimap(var1, var2, var11, var12, GrandExchangeOfferWorldComparator.mapMarkerSprites[1], var4); + } + } + + if (Client.hintArrowType == 2) { + var10 = Client.hintArrowX * 4 - GrandExchangeOfferNameComparator.baseX * 256 + 2 - UserComparator9.localPlayer.x / 32; + var11 = Client.hintArrowY * 4 - NetCache.baseY * 256 + 2 - UserComparator9.localPlayer.y / 32; + WorldMapDecoration.worldToMinimap(var1, var2, var10, var11, GrandExchangeOfferWorldComparator.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 - UserComparator9.localPlayer.x / 32; + var12 = var21.y / 32 - UserComparator9.localPlayer.y / 32; + WorldMapDecoration.worldToMinimap(var1, var2, var11, var12, GrandExchangeOfferWorldComparator.mapMarkerSprites[1], var4); + } + } + } + + if (Client.destinationX != 0) { + var10 = Client.destinationX * 4 + 2 - UserComparator9.localPlayer.x / 32; + var11 = Client.destinationY * 4 + 2 - UserComparator9.localPlayer.y / 32; + AbstractArchive.drawSpriteOnMinimap(var1, var2, var10, var11, GrandExchangeOfferWorldComparator.mapMarkerSprites[0], var4); + } + + if (!UserComparator9.localPlayer.isHidden) { + Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); + } + } else { + Rasterizer2D.Rasterizer2D_fillMaskedRectangle(var1, var2, 0, var4.xStarts, var4.xWidths); + } + + Client.field827[var3] = true; + } + } } diff --git a/runescape-client/src/main/java/class206.java b/runescape-client/src/main/java/class206.java index 8190ea5761..56bd370721 100644 --- a/runescape-client/src/main/java/class206.java +++ b/runescape-client/src/main/java/class206.java @@ -3,58 +3,157 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("gq") +@ObfuscatedName("ge") public class class206 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("musicPatchesArchive") - public static AbstractArchive musicPatchesArchive; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("musicSamplesArchive") - public static AbstractArchive musicSamplesArchive; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("soundEffectsArchive") - public static AbstractArchive soundEffectsArchive; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lgf;" - ) - @Export("midiPcmStream") - public static MidiPcmStream midiPcmStream; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1386216651 - ) - @Export("musicPlayerStatus") - public static int musicPlayerStatus; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -1877060861 - ) - @Export("musicTrackFileId") - static int musicTrackFileId; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lds;" - ) - @Export("soundCache") - static SoundCache soundCache; - @ObfuscatedName("f") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - @Export("NetCache_responseArchiveBuffer") - public static Buffer NetCache_responseArchiveBuffer; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("musicPatchesArchive") + public static AbstractArchive musicPatchesArchive; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("musicSamplesArchive") + public static AbstractArchive musicSamplesArchive; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("soundEffectsArchive") + public static AbstractArchive soundEffectsArchive; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 194923833 + ) + @Export("musicPlayerStatus") + public static int musicPlayerStatus = 0; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("musicTrackArchive") + public static AbstractArchive musicTrackArchive; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1305337215 + ) + @Export("musicTrackGroupId") + public static int musicTrackGroupId; + @ObfuscatedName("s") + @Export("musicTrackBoolean") + public static boolean musicTrackBoolean; - static { - musicPlayerStatus = 0; // L: 11 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "([Lcq;II[I[IB)V", + garbageValue = "-51" + ) + @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 (var11 != var12) { + 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); + } + + } } diff --git a/runescape-client/src/main/java/class217.java b/runescape-client/src/main/java/class217.java index 684af224f0..a1368b96a2 100644 --- a/runescape-client/src/main/java/class217.java +++ b/runescape-client/src/main/java/class217.java @@ -1,13 +1,44 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hm") +@ObfuscatedName("hg") public class class217 { - @ObfuscatedName("dj") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive6") - static Archive archive6; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 338729147 + ) + @Export("clientType") + public static int clientType; + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;B)V", + garbageValue = "0" + ) + public static void method4154(AbstractArchive var0) { + InvDefinition.InvDefinition_archive = var0; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;I)I", + garbageValue = "-2092030193" + ) + @Export("parseInt") + public static int parseInt(CharSequence var0) { + return LoginScreenAnimation.parseIntCustomRadix(var0, 10, true); + } + + @ObfuscatedName("ex") + @ObfuscatedSignature( + descriptor = "(Liy;Ljava/lang/String;I)V", + garbageValue = "2062536839" + ) + static void method4155(Archive var0, String var1) { + ArchiveLoader var2 = new ArchiveLoader(var0, var1); + Client.archiveLoaders.add(var2); + Client.field934 += var2.groupCount; + } } diff --git a/runescape-client/src/main/java/class219.java b/runescape-client/src/main/java/class219.java index 89e7aa1af6..dbde6f8932 100644 --- a/runescape-client/src/main/java/class219.java +++ b/runescape-client/src/main/java/class219.java @@ -1,101 +1,220 @@ -import java.io.IOException; -import java.net.Socket; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("hx") +@ObfuscatedName("hh") public class class219 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lhu;" - ) - @Export("huffman") - static Huffman huffman; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lhp;" + ) + @Export("huffman") + public static Huffman huffman; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Lis;", - garbageValue = "1786599747" - ) - @Export("VarpDefinition_get") - public static VarpDefinition VarpDefinition_get(int var0) { - VarpDefinition var1 = (VarpDefinition)VarpDefinition.VarpDefinition_cached.get((long)var0); // L: 18 - if (var1 != null) { // L: 19 - return var1; - } else { - byte[] var2 = class1.VarpDefinition_archive.takeFile(16, var0); // L: 20 - var1 = new VarpDefinition(); // L: 21 - if (var2 != null) { // L: 22 - var1.decode(new Buffer(var2)); - } + @ObfuscatedName("aq") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-1015901506" + ) + static int method4173(int var0, Script var1, boolean var2) { + int var3; + if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERTYPE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].type(); + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].id; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentQuantity; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_GETOFFERCOMPLETEDGOLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = Client.grandExchangeOffers[var3].currentPrice; + return 1; + } else { + int var13; + if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFEREMPTY) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13 == 0 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERSTABLE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13 == 2 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERFINISHED) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13 == 5 ? 1 : 0; + return 1; + } else if (var0 == ScriptOpcodes.STOCKMARKET_ISOFFERADDING) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var13 = Client.grandExchangeOffers[var3].status(); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var13 == 1 ? 1 : 0; + return 1; + } else { + boolean var12; + if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_NAME) { + var12 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapSectionType.grandExchangeEvents != null) { + WorldMapSectionType.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_nameComparator, var12); + } - VarpDefinition.VarpDefinition_cached.put(var1, (long)var0); // L: 23 - return var1; // L: 24 - } - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_PRICE) { + var12 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapSectionType.grandExchangeEvents != null) { + WorldMapSectionType.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_priceComparator, var12); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lib;Lib;I)Z", - garbageValue = "1703173158" - ) - public static boolean method4010(AbstractArchive var0, AbstractArchive var1) { - WorldMapElement.WorldMapElement_archive = var1; // L: 44 - if (!var0.isFullyLoaded()) { // L: 45 - return false; // L: 46 - } else { - WorldMapElement.WorldMapElement_count = var0.getGroupFileCount(35); // L: 48 - WorldMapElement.WorldMapElement_cached = new WorldMapElement[WorldMapElement.WorldMapElement_count]; // L: 49 + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTFILTERBY_WORLD) { + Interpreter.Interpreter_intStackSize -= 2; + var12 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize] == 1; + boolean var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1] == 1; + if (WorldMapSectionType.grandExchangeEvents != null) { + Client.GrandExchangeEvents_worldComparator.filterWorlds = var11; + WorldMapSectionType.grandExchangeEvents.sort(Client.GrandExchangeEvents_worldComparator, var12); + } - for (int var2 = 0; var2 < WorldMapElement.WorldMapElement_count; ++var2) { // L: 50 - byte[] var3 = var0.takeFile(35, var2); // L: 51 - WorldMapElement.WorldMapElement_cached[var2] = new WorldMapElement(var2); // L: 52 - if (var3 != null) { // L: 53 - WorldMapElement.WorldMapElement_cached[var2].decode(new Buffer(var3)); // L: 54 - WorldMapElement.WorldMapElement_cached[var2].method4391(); // L: 55 - } - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_AGE) { + var12 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapSectionType.grandExchangeEvents != null) { + WorldMapSectionType.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_ageComparator, var12); + } - return true; // L: 58 - } - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_SORTBY_COUNT) { + var12 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (WorldMapSectionType.grandExchangeEvents != null) { + WorldMapSectionType.grandExchangeEvents.sort(GrandExchangeEvents.GrandExchangeEvents_quantityComparator, var12); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-2069010716" - ) - static void method4009() { - if (Login.Login_username == null || Login.Login_username.length() <= 0) { // L: 208 - if (Timer.clientPreferences.rememberedUsername != null) { // L: 209 - Login.Login_username = Timer.clientPreferences.rememberedUsername; // L: 210 - Client.Login_isUsernameRemembered = true; // L: 211 - } else { - Client.Login_isUsernameRemembered = false; // L: 213 - } + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETTOTALOFFERS) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = WorldMapSectionType.grandExchangeEvents == null ? 0 : WorldMapSectionType.grandExchangeEvents.events.size(); + return 1; + } else { + GrandExchangeEvent var4; + if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERWORLD) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.world; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPREVIOUSNAME) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.getPreviousOfferName(); + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERAGE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + long var5 = Tiles.currentTimeMillis() - class9.field57 - var4.age; + int var7 = (int)(var5 / 3600000L); + int var8 = (int)((var5 - (long)(var7 * 3600000)) / 60000L); + int var9 = (int)((var5 - (long)(var7 * 3600000) - (long)(var8 * '\uea60')) / 1000L); + String var10 = var7 + ":" + var8 / 10 + var8 % 10 + ":" + var9 / 10 + var9 % 10; + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var10; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERCOUNT) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.totalQuantity; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERPRICE) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.unitPrice; + return 1; + } else if (var0 == ScriptOpcodes.TRADINGPOST_GETOFFERITEM) { + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = (GrandExchangeEvent)WorldMapSectionType.grandExchangeEvents.events.get(var3); + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var4.grandExchangeOffer.id; + return 1; + } else { + return 2; + } + } + } + } + } - } - } // L: 214 + @ObfuscatedName("jf") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "74818443" + ) + static void method4171() { + for(InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) { + int var1 = var0.group; + if (WorldMapCacheName.loadInterface(var1)) { + boolean var2 = true; + Widget[] var3 = DefaultsGroup.Widget_interfaceComponents[var1]; - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)V", - garbageValue = "-317727770" - ) - static final void method4003(String var0) { - StringBuilder var10000 = (new StringBuilder()).append(var0); - Object var10001 = null; - String var1 = var10000.append(" is already on your friend list").toString(); // L: 119 - class234.addGameMessage(30, "", var1); // L: 121 - } // L: 123 + int var4; + for(var4 = 0; var4 < var3.length; ++var4) { + if (var3[var4] != null) { + var2 = var3[var4].isIf3; + break; + } + } - @ObfuscatedName("an") - @ObfuscatedSignature( - descriptor = "(Ljava/net/Socket;IIB)Llr;", - garbageValue = "1" - ) - public static AbstractSocket method4011(Socket var0, int var1, int var2) throws IOException { - return new BufferedNetSocket(var0, var1, var2); // L: 10 - } + if (!var2) { + var4 = (int)var0.key; + Widget var5 = class237.getWidget(var4); + if (var5 != null) { + IsaacCipher.invalidateWidget(var5); + } + } + } + } + + } + + @ObfuscatedName("kp") + @ObfuscatedSignature( + descriptor = "(IIII)Lbs;", + garbageValue = "-1314120201" + ) + static final InterfaceParent method4172(int var0, int var1, int var2) { + InterfaceParent var3 = new InterfaceParent(); + var3.group = var1; + var3.type = var2; + Client.interfaceParents.put(var3, (long)var0); + GrandExchangeEvent.Widget_resetModelFrames(var1); + Widget var4 = class237.getWidget(var0); + IsaacCipher.invalidateWidget(var4); + if (Client.meslayerContinueWidget != null) { + IsaacCipher.invalidateWidget(Client.meslayerContinueWidget); + Client.meslayerContinueWidget = null; + } + + AbstractWorldMapData.method352(); + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var0 >> 16], var4, false); + SoundSystem.runWidgetOnLoadListener(var1); + if (Client.rootInterface != -1) { + class228.runIntfCloseListeners(Client.rootInterface, 1); + } + + return var3; + } } diff --git a/runescape-client/src/main/java/class22.java b/runescape-client/src/main/java/class22.java index 227910b407..616321bba9 100644 --- a/runescape-client/src/main/java/class22.java +++ b/runescape-client/src/main/java/class22.java @@ -1,69 +1,44 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("s") +@ObfuscatedName("m") public class class22 { - @ObfuscatedName("ac") - static String field107; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;I)V", + garbageValue = "-782235051" + ) + public static void method227(AbstractArchive var0) { + VarcInt.VarcInt_archive = var0; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lbb;I)V", - garbageValue = "-1301160950" - ) - @Export("runScriptEvent") - public static void runScriptEvent(ScriptEvent var0) { - AttackOption.runScript(var0, 500000); // L: 99 - } // L: 100 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lcq;Lcq;IZIZI)I", + garbageValue = "-385760353" + ) + static int method226(World var0, World var1, int var2, boolean var3, int var4, boolean var5) { + int var6 = class41.compareWorlds(var0, var1, var2, var3); + if (var6 != 0) { + return var3 ? -var6 : var6; + } else if (var4 == -1) { + return 0; + } else { + int var7 = class41.compareWorlds(var0, var1, var4, var5); + return var5 ? -var7 : var7; + } + } - @ObfuscatedName("r") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1990395743" - ) - static int method221(int var0, Script var1, boolean var2) { - Widget var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 1186 - if (var0 == ScriptOpcodes.IF_GETX) { // L: 1187 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.x; // L: 1188 - return 1; // L: 1189 - } else if (var0 == ScriptOpcodes.IF_GETY) { // L: 1191 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.y; // L: 1192 - return 1; // L: 1193 - } else if (var0 == ScriptOpcodes.IF_GETWIDTH) { // L: 1195 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.width; // L: 1196 - return 1; // L: 1197 - } else if (var0 == ScriptOpcodes.IF_GETHEIGHT) { // L: 1199 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.height; // L: 1200 - return 1; // L: 1201 - } else if (var0 == ScriptOpcodes.IF_GETHIDE) { // L: 1203 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.isHidden ? 1 : 0; // L: 1204 - return 1; // L: 1205 - } else if (var0 == ScriptOpcodes.IF_GETLAYER) { // L: 1207 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.parentId; // L: 1208 - return 1; // L: 1209 - } else { - return 2; // L: 1211 - } - } - - @ObfuscatedName("ly") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;I)Ljava/lang/String;", - garbageValue = "-1865855416" - ) - static String method220(String var0) { - PlayerType[] var1 = class234.PlayerType_values(); // L: 11193 - - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 11194 - PlayerType var3 = var1[var2]; // L: 11195 - if (var3.modIcon != -1 && var0.startsWith(class25.method248(var3.modIcon))) { // L: 11197 11198 - var0 = var0.substring(6 + Integer.toString(var3.modIcon).length()); // L: 11199 - break; - } - } - - return var0; // L: 11206 - } + @ObfuscatedName("jy") + @ObfuscatedSignature( + descriptor = "(IIIIIIII)V", + garbageValue = "-500865093" + ) + @Export("updateRootInterface") + static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + if (WorldMapCacheName.loadInterface(var0)) { + class169.updateInterface(DefaultsGroup.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); + } + } } diff --git a/runescape-client/src/main/java/class224.java b/runescape-client/src/main/java/class224.java index cee734e455..cedf5c1adb 100644 --- a/runescape-client/src/main/java/class224.java +++ b/runescape-client/src/main/java/class224.java @@ -1,34 +1,86 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hf") +@ObfuscatedName("hn") public class class224 { - @ObfuscatedName("h") - public static final short[] field2569; - @ObfuscatedName("v") - public static final short[][] field2565; - @ObfuscatedName("x") - public static final short[] field2566; - @ObfuscatedName("w") - public static final short[][] field2567; - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("rightTitleSprite") - static SpritePixels rightTitleSprite; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("logoSprite") - static IndexedSprite logoSprite; + @ObfuscatedName("n") + public static final short[] field2577 = new short[]{6798, 8741, 25238, 4626, 4550}; + @ObfuscatedName("v") + public static final short[][] field2573 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; + @ObfuscatedName("d") + public static final short[] field2575 = new short[]{-10304, 9104, -1, -1, -1}; + @ObfuscatedName("c") + public static final short[][] field2574 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; + @ObfuscatedName("x") + static String[] field2576; - static { - field2569 = new short[]{6798, 8741, 25238, 4626, 4550}; // L: 4 - field2565 = new short[][]{{6798, 107, 10283, 16, 4797, 7744, 5799, 4634, -31839, 22433, 2983, -11343, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {8741, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 25239, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {25238, 8742, 12, -1506, -22374, 7735, 8404, 1701, -27106, 24094, 10153, -8915, 4783, 1341, 16578, -30533, 8, 5281, 10438, 3650, -27322, -21845, 200, 571, 908, 21830, 28946, -15701, -14010}, {4626, 11146, 6439, 12, 4758, 10270}, {4550, 4537, 5681, 5673, 5790, 6806, 8076, 4574, 17050, 0, 127, -31821, -17991}}; // L: 5 - field2566 = new short[]{-10304, 9104, -1, -1, -1}; // L: 12 - field2567 = new short[][]{{6554, 115, 10304, 28, 5702, 7756, 5681, 4510, -31835, 22437, 2859, -11339, 16, 5157, 10446, 3658, -27314, -21965, 472, 580, 784, 21966, 28950, -15697, -14002}, {9104, 10275, 7595, 3610, 7975, 8526, 918, -26734, 24466, 10145, -6882, 5027, 1457, 16565, -30545, 25486, 24, 5392, 10429, 3673, -27335, -21957, 192, 687, 412, 21821, 28835, -15460, -14019}, new short[0], new short[0], new short[0]}; // L: 13 - } + @ObfuscatedName("hr") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "2091444199" + ) + static final void method4232(int var0) { + int[] var1 = GrandExchangeOfferAgeComparator.sceneMinimapSprite.pixels; + int var2 = var1.length; + + int var3; + for(var3 = 0; var3 < var2; ++var3) { + var1[var3] = 0; + } + + int var4; + int var5; + for(var3 = 1; var3 < 103; ++var3) { + var4 = (103 - var3) * 2048 + 24628; + + for(var5 = 1; var5 < 103; ++var5) { + if ((Tiles.Tiles_renderFlags[var0][var5][var3] & 24) == 0) { + MilliClock.scene.drawTileMinimap(var1, var4, 512, var0, var5, var3); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var5][var3] & 8) != 0) { + MilliClock.scene.drawTileMinimap(var1, var4, 512, var0 + 1, var5, var3); + } + + var4 += 4; + } + } + + var3 = (238 + (int)(Math.random() * 20.0D) - 10 << 16) + (238 + (int)(Math.random() * 20.0D) - 10 << 8) + (238 + (int)(Math.random() * 20.0D) - 10); + var4 = 238 + (int)(Math.random() * 20.0D) - 10 << 16; + GrandExchangeOfferAgeComparator.sceneMinimapSprite.setRaster(); + + int var6; + for(var5 = 1; var5 < 103; ++var5) { + for(var6 = 1; var6 < 103; ++var6) { + if ((Tiles.Tiles_renderFlags[var0][var6][var5] & 24) == 0) { + Username.drawObject(var0, var6, var5, var3, var4); + } + + if (var0 < 3 && (Tiles.Tiles_renderFlags[var0 + 1][var6][var5] & 8) != 0) { + Username.drawObject(var0 + 1, var6, var5, var3, var4); + } + } + } + + Client.mapIconCount = 0; + + for(var5 = 0; var5 < 104; ++var5) { + for(var6 = 0; var6 < 104; ++var6) { + long var7 = MilliClock.scene.getFloorDecorationTag(class90.Client_plane, var5, var6); + if (var7 != 0L) { + int var9 = class25.Entity_unpackID(var7); + int var10 = WorldMapAreaData.getObjectDefinition(var9).mapIconId; + if (var10 >= 0 && InvDefinition.WorldMapElement_get(var10).field3255) { + Client.mapIcons[Client.mapIconCount] = InvDefinition.WorldMapElement_get(var10).getSpriteBool(false); + Client.mapIconXs[Client.mapIconCount] = var5; + Client.mapIconYs[Client.mapIconCount] = var6; + ++Client.mapIconCount; + } + } + } + } + + FileSystem.rasterProvider.apply(); + } } diff --git a/runescape-client/src/main/java/class225.java b/runescape-client/src/main/java/class225.java index 6c86485dd5..82e768587e 100644 --- a/runescape-client/src/main/java/class225.java +++ b/runescape-client/src/main/java/class225.java @@ -2,44 +2,44 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hl") +@ObfuscatedName("hv") public class class225 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("HealthBarDefinition_archive") - static AbstractArchive HealthBarDefinition_archive; - @ObfuscatedName("m") - @ObfuscatedSignature( - descriptor = "Lfl;" - ) - @Export("clock") - protected static Clock clock; + @ObfuscatedName("z") + @Export("SpriteBuffer_spriteHeights") + public static int[] SpriteBuffer_spriteHeights; + @ObfuscatedName("e") + @Export("ByteArrayPool_altSizeArrayCounts") + static int[] ByteArrayPool_altSizeArrayCounts; - @ObfuscatedName("gz") - @ObfuscatedSignature( - descriptor = "(Ljy;IIIB)V", - garbageValue = "26" - ) - static void method4075(SequenceDefinition var0, int var1, int var2, int var3) { - if (Client.soundEffectCount < 50 && Timer.clientPreferences.areaSoundEffectsVolume != 0) { // L: 3679 - if (var0.soundEffects != null && var1 < var0.soundEffects.length) { // L: 3680 - int var4 = var0.soundEffects[var1]; // L: 3681 - if (var4 != 0) { // L: 3682 - int var5 = var4 >> 8; // L: 3683 - int var6 = var4 >> 4 & 7; // L: 3684 - int var7 = var4 & 15; // L: 3685 - Client.soundEffectIds[Client.soundEffectCount] = var5; // L: 3686 - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var6; // L: 3687 - Client.queuedSoundEffectDelays[Client.soundEffectCount] = 0; // L: 3688 - Client.soundEffects[Client.soundEffectCount] = null; // L: 3689 - int var8 = (var2 - 64) / 128; // L: 3690 - int var9 = (var3 - 64) / 128; // L: 3691 - Client.soundLocations[Client.soundEffectCount] = var7 + (var9 << 8) + (var8 << 16); // L: 3692 - ++Client.soundEffectCount; // L: 3693 - } - } - } - } // L: 3694 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)I", + garbageValue = "-47" + ) + @Export("hashString") + public static int hashString(CharSequence var0) { + int var1 = var0.length(); + int var2 = 0; + + for(int var3 = 0; var3 < var1; ++var3) { + var2 = (var2 << 5) - var2 + LoginPacket.charToByteCp1252(var0.charAt(var3)); + } + + return var2; + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(CB)Z", + garbageValue = "16" + ) + @Export("isAlphaNumeric") + public static boolean isAlphaNumeric(char var0) { + return var0 >= '0' && var0 <= '9' || var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; + } + + @ObfuscatedName("q") + static boolean method4239(long var0) { + return (int)(var0 >>> 16 & 1L) == 1; + } } diff --git a/runescape-client/src/main/java/class227.java b/runescape-client/src/main/java/class227.java deleted file mode 100644 index a6bb4d4bc9..0000000000 --- a/runescape-client/src/main/java/class227.java +++ /dev/null @@ -1,22 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("hz") -public class class227 { - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("KitDefinition_modelsArchive") - public static AbstractArchive KitDefinition_modelsArchive; - @ObfuscatedName("dy") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive4") - static Archive archive4; - @ObfuscatedName("gs") - @Export("xteaKeys") - static int[][] xteaKeys; -} diff --git a/runescape-client/src/main/java/class228.java b/runescape-client/src/main/java/class228.java new file mode 100644 index 0000000000..e0007af753 --- /dev/null +++ b/runescape-client/src/main/java/class228.java @@ -0,0 +1,146 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; + +@ObfuscatedName("hx") +public class class228 { + @ObfuscatedName("ri") + @ObfuscatedGetter( + intValue = 335336935 + ) + static int field2740; + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;B)V", + garbageValue = "-43" + ) + public static void method4310(AbstractArchive var0) { + FloorOverlayDefinition.FloorOverlayDefinition_archive = var0; + } + + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-1439463638" + ) + static int method4309(int var0, Script var1, boolean var2) { + int var4; + int var9; + if (var0 == ScriptOpcodes.CC_CREATE) { + Interpreter.Interpreter_intStackSize -= 3; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + int var11 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + if (var4 == 0) { + throw new RuntimeException(); + } else { + Widget var6 = class237.getWidget(var9); + if (var6.children == null) { + var6.children = new Widget[var11 + 1]; + } + + if (var6.children.length <= var11) { + Widget[] var7 = new Widget[var11 + 1]; + + for(int var8 = 0; var8 < var6.children.length; ++var8) { + var7[var8] = var6.children[var8]; + } + + var6.children = var7; + } + + if (var11 > 0 && var6.children[var11 - 1] == null) { + throw new RuntimeException("" + (var11 - 1)); + } else { + Widget var12 = new Widget(); + var12.type = var4; + var12.parentId = var12.id = var6.id; + var12.childIndex = var11; + var12.isIf3 = true; + var6.children[var11] = var12; + if (var2) { + class277.scriptDotWidget = var12; + } else { + Interpreter.scriptActiveWidget = var12; + } + + IsaacCipher.invalidateWidget(var6); + return 1; + } + } + } else { + Widget var3; + if (var0 == ScriptOpcodes.CC_DELETE) { + var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + Widget var10 = class237.getWidget(var3.id); + var10.children[var3.childIndex] = null; + IsaacCipher.invalidateWidget(var10); + return 1; + } else if (var0 == ScriptOpcodes.CC_DELETEALL) { + var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + var3.children = null; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 != ScriptOpcodes.CC_FIND) { + if (var0 == ScriptOpcodes.IF_FIND) { + var3 = class237.getWidget(Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]); + if (var3 != null) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + if (var2) { + class277.scriptDotWidget = var3; + } else { + Interpreter.scriptActiveWidget = var3; + } + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } else { + return 2; + } + } else { + Interpreter.Interpreter_intStackSize -= 2; + var9 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4 = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + Widget var5 = ArchiveLoader.getWidgetChild(var9, var4); + if (var5 != null && var4 != -1) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 1; + if (var2) { + class277.scriptDotWidget = var5; + } else { + Interpreter.scriptActiveWidget = var5; + } + } else { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = 0; + } + + return 1; + } + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2112037440" + ) + public static void method4311() { + FloorOverlayDefinition.FloorOverlayDefinition_cached.clear(); + } + + @ObfuscatedName("jd") + @ObfuscatedSignature( + descriptor = "(IIS)V", + garbageValue = "585" + ) + @Export("runIntfCloseListeners") + static final void runIntfCloseListeners(int var0, int var1) { + if (WorldMapCacheName.loadInterface(var0)) { + WorldMapData_1.runComponentCloseListeners(DefaultsGroup.Widget_interfaceComponents[var0], var1); + } + } +} diff --git a/runescape-client/src/main/java/class23.java b/runescape-client/src/main/java/class23.java index 18f1a974ce..f0251f947d 100644 --- a/runescape-client/src/main/java/class23.java +++ b/runescape-client/src/main/java/class23.java @@ -1,30 +1,141 @@ +import java.io.File; +import java.io.RandomAccessFile; +import java.util.LinkedHashMap; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("o") +@ObfuscatedName("r") public class class23 { - @ObfuscatedName("l") - @Export("ByteArrayPool_arrays") - public static byte[][][] ByteArrayPool_arrays; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/io/File;ZI)Z", + garbageValue = "-1646838359" + ) + static boolean method235(File var0, boolean var1) { + try { + RandomAccessFile var2 = new RandomAccessFile(var0, "rw"); + int var3 = var2.read(); + var2.seek(0L); + var2.write(var3); + var2.seek(0L); + var2.close(); + if (var1) { + var0.delete(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1191377295" - ) - public static boolean method225() { - ReflectionCheck var0 = (ReflectionCheck)class105.reflectionChecks.last(); // L: 24 - return var0 != null; // L: 25 - } + return true; + } catch (Exception var4) { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IB)Ljava/lang/String;", - garbageValue = "8" - ) - @Export("colorStartTag") - static String colorStartTag(int var0) { - return ""; // L: 22 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-981908924" + ) + static void method232() { + Tiles.field517 = null; + class200.field2399 = null; + Tiles.field530 = null; + class1.field1 = null; + class2.field12 = null; + TaskHandler.field2045 = null; + WorldMapSprite.field257 = null; + GrandExchangeOfferAgeComparator.Tiles_hue = null; + Tiles.Tiles_saturation = null; + WorldMapLabel.Tiles_lightness = null; + TaskHandler.Tiles_hueMultiplier = null; + WorldMapID.field292 = null; + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)[B", + garbageValue = "-1513413924" + ) + @Export("ByteArrayPool_getArray") + public static synchronized byte[] ByteArrayPool_getArray(int var0) { + return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1738423224" + ) + @Export("savePreferences") + static void savePreferences() { + AccessFile var0 = null; + + try { + var0 = WorldMapRectangle.getPreferencesFile("", FontName.field3699.name, true); + Buffer var1 = WorldMapSectionType.clientPreferences.toBuffer(); + var0.write(var1.array, 0, var1.offset); + } catch (Exception var3) { + ; + } + + try { + if (var0 != null) { + var0.closeSync(true); + } + } catch (Exception var2) { + ; + } + + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;I)Ljava/lang/Class;", + garbageValue = "1098573147" + ) + @Export("loadClassFromDescriptor") + static Class loadClassFromDescriptor(String var0) throws ClassNotFoundException { + if (var0.equals("B")) { + return Byte.TYPE; + } else if (var0.equals("I")) { + return Integer.TYPE; + } else if (var0.equals("S")) { + return Short.TYPE; + } else if (var0.equals("J")) { + return Long.TYPE; + } else if (var0.equals("Z")) { + return Boolean.TYPE; + } else if (var0.equals("F")) { + return Float.TYPE; + } else if (var0.equals("D")) { + return Double.TYPE; + } else if (var0.equals("C")) { + return Character.TYPE; + } else { + return var0.equals("void") ? Void.TYPE : Reflection.findClass(var0); + } + } + + @ObfuscatedName("fg") + @ObfuscatedSignature( + descriptor = "(ZI)V", + garbageValue = "-354639322" + ) + static final void method234(boolean var0) { + if (var0) { + Client.field661 = Login.field1217 ? class169.field2011 : class169.field2018; + } else { + LinkedHashMap var1 = WorldMapSectionType.clientPreferences.parameters; + String var3 = Login.Login_username; + int var4 = var3.length(); + int var5 = 0; + + for(int var6 = 0; var6 < var4; ++var6) { + var5 = (var5 << 5) - var5 + var3.charAt(var6); + } + + Client.field661 = var1.containsKey(var5) ? class169.field2013 : class169.field2012; + } + + } } diff --git a/runescape-client/src/main/java/class231.java b/runescape-client/src/main/java/class231.java index 09d2134947..0d72022aea 100644 --- a/runescape-client/src/main/java/class231.java +++ b/runescape-client/src/main/java/class231.java @@ -1,243 +1,66 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("hb") +@ObfuscatedName("hy") public class class231 { - @ObfuscatedName("u") - @Export("musicTrackBoolean") - static boolean musicTrackBoolean; + @ObfuscatedName("n") + public static final int method4321(double var0, double var2, double var4) { + double var6 = var4; + double var8 = var4; + double var10 = var4; + if (var2 != 0.0D) { + double var12; + if (var4 < 0.5D) { + var12 = (var2 + 1.0D) * var4; + } else { + var12 = var4 + var2 - var2 * var4; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IILgz;Lfo;S)Z", - garbageValue = "-4762" - ) - public static final boolean method4152(int var0, int var1, RouteStrategy var2, CollisionMap var3) { - int var4 = var0; // L: 19 - int var5 = var1; // L: 20 - byte var6 = 64; // L: 21 - byte var7 = 64; // L: 22 - int var8 = var0 - var6; // L: 23 - int var9 = var1 - var7; // L: 24 - class182.directions[var6][var7] = 99; // L: 25 - class182.distances[var6][var7] = 0; // L: 26 - byte var10 = 0; // L: 27 - int var11 = 0; // L: 28 - class182.bufferX[var10] = var0; // L: 29 - byte var10001 = var10; - int var18 = var10 + 1; - class182.bufferY[var10001] = var1; // L: 30 - int[][] var12 = var3.flags; // L: 31 + double var14 = 2.0D * var4 - var12; + double var16 = 0.3333333333333333D + var0; + if (var16 > 1.0D) { + --var16; + } - while (var11 != var18) { // L: 32 - var4 = class182.bufferX[var11]; // L: 33 - var5 = class182.bufferY[var11]; // L: 34 - var11 = var11 + 1 & 4095; // L: 35 - int var16 = var4 - var8; // L: 36 - int var17 = var5 - var9; // L: 37 - int var13 = var4 - var3.xInset; // L: 38 - int var14 = var5 - var3.yInset; // L: 39 - if (var2.hasArrived(2, var4, var5, var3)) { // L: 40 - class182.field2115 = var4; // L: 41 - class182.field2121 = var5; // L: 42 - return true; // L: 43 - } + double var20 = var0 - 0.3333333333333333D; + if (var20 < 0.0D) { + ++var20; + } - int var15 = class182.distances[var16][var17] + 1; // L: 45 - if (var16 > 0 && class182.directions[var16 - 1][var17] == 0 && (var12[var13 - 1][var14] & 19136782) == 0 && (var12[var13 - 1][var14 + 1] & 19136824) == 0) { // L: 46 47 48 49 - class182.bufferX[var18] = var4 - 1; // L: 50 - class182.bufferY[var18] = var5; // L: 51 - var18 = var18 + 1 & 4095; // L: 52 - class182.directions[var16 - 1][var17] = 2; // L: 53 - class182.distances[var16 - 1][var17] = var15; // L: 54 - } + if (var16 * 6.0D < 1.0D) { + var6 = var16 * 6.0D * (var12 - var14) + var14; + } else if (var16 * 2.0D < 1.0D) { + var6 = var12; + } else if (3.0D * var16 < 2.0D) { + var6 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var16); + } else { + var6 = var14; + } - if (var16 < 126 && class182.directions[var16 + 1][var17] == 0 && (var12[var13 + 2][var14] & 19136899) == 0 && (var12[var13 + 2][var14 + 1] & 19136992) == 0) { // L: 56 57 58 59 - class182.bufferX[var18] = var4 + 1; // L: 60 - class182.bufferY[var18] = var5; // L: 61 - var18 = var18 + 1 & 4095; // L: 62 - class182.directions[var16 + 1][var17] = 8; // L: 63 - class182.distances[var16 + 1][var17] = var15; // L: 64 - } + if (6.0D * var0 < 1.0D) { + var8 = 6.0D * (var12 - var14) * var0 + var14; + } else if (var0 * 2.0D < 1.0D) { + var8 = var12; + } else if (var0 * 3.0D < 2.0D) { + var8 = var14 + 6.0D * (var12 - var14) * (0.6666666666666666D - var0); + } else { + var8 = var14; + } - if (var17 > 0 && class182.directions[var16][var17 - 1] == 0 && (var12[var13][var14 - 1] & 19136782) == 0 && (var12[var13 + 1][var14 - 1] & 19136899) == 0) { // L: 66 67 68 69 - class182.bufferX[var18] = var4; // L: 70 - class182.bufferY[var18] = var5 - 1; // L: 71 - var18 = var18 + 1 & 4095; // L: 72 - class182.directions[var16][var17 - 1] = 1; // L: 73 - class182.distances[var16][var17 - 1] = var15; // L: 74 - } + if (6.0D * var20 < 1.0D) { + var10 = var14 + var20 * 6.0D * (var12 - var14); + } else if (2.0D * var20 < 1.0D) { + var10 = var12; + } else if (var20 * 3.0D < 2.0D) { + var10 = var14 + (0.6666666666666666D - var20) * (var12 - var14) * 6.0D; + } else { + var10 = var14; + } + } - if (var17 < 126 && class182.directions[var16][var17 + 1] == 0 && (var12[var13][var14 + 2] & 19136824) == 0 && (var12[var13 + 1][var14 + 2] & 19136992) == 0) { // L: 76 77 78 79 - class182.bufferX[var18] = var4; // L: 80 - class182.bufferY[var18] = var5 + 1; // L: 81 - var18 = var18 + 1 & 4095; // L: 82 - class182.directions[var16][var17 + 1] = 4; // L: 83 - class182.distances[var16][var17 + 1] = var15; // L: 84 - } - - if (var16 > 0 && var17 > 0 && class182.directions[var16 - 1][var17 - 1] == 0 && (var12[var13 - 1][var14] & 19136830) == 0 && (var12[var13 - 1][var14 - 1] & 19136782) == 0 && (var12[var13][var14 - 1] & 19136911) == 0) { // L: 86 87 88 89 90 - class182.bufferX[var18] = var4 - 1; // L: 91 - class182.bufferY[var18] = var5 - 1; // L: 92 - var18 = var18 + 1 & 4095; // L: 93 - class182.directions[var16 - 1][var17 - 1] = 3; // L: 94 - class182.distances[var16 - 1][var17 - 1] = var15; // L: 95 - } - - if (var16 < 126 && var17 > 0 && class182.directions[var16 + 1][var17 - 1] == 0 && (var12[var13 + 1][var14 - 1] & 19136911) == 0 && (var12[var13 + 2][var14 - 1] & 19136899) == 0 && (var12[var13 + 2][var14] & 19136995) == 0) { // L: 97 98 99 100 101 - class182.bufferX[var18] = var4 + 1; // L: 102 - class182.bufferY[var18] = var5 - 1; // L: 103 - var18 = var18 + 1 & 4095; // L: 104 - class182.directions[var16 + 1][var17 - 1] = 9; // L: 105 - class182.distances[var16 + 1][var17 - 1] = var15; // L: 106 - } - - if (var16 > 0 && var17 < 126 && class182.directions[var16 - 1][var17 + 1] == 0 && (var12[var13 - 1][var14 + 1] & 19136830) == 0 && (var12[var13 - 1][var14 + 2] & 19136824) == 0 && (var12[var13][var14 + 2] & 19137016) == 0) { // L: 108 109 110 111 112 - class182.bufferX[var18] = var4 - 1; // L: 113 - class182.bufferY[var18] = var5 + 1; // L: 114 - var18 = var18 + 1 & 4095; // L: 115 - class182.directions[var16 - 1][var17 + 1] = 6; // L: 116 - class182.distances[var16 - 1][var17 + 1] = var15; // L: 117 - } - - if (var16 < 126 && var17 < 126 && class182.directions[var16 + 1][var17 + 1] == 0 && (var12[var13 + 1][var14 + 2] & 19137016) == 0 && (var12[var13 + 2][var14 + 2] & 19136992) == 0 && (var12[var13 + 2][var14 + 1] & 19136995) == 0) { // L: 119 120 121 122 123 - class182.bufferX[var18] = var4 + 1; // L: 124 - class182.bufferY[var18] = var5 + 1; // L: 125 - var18 = var18 + 1 & 4095; // L: 126 - class182.directions[var16 + 1][var17 + 1] = 12; // L: 127 - class182.distances[var16 + 1][var17 + 1] = var15; // L: 128 - } - } - - class182.field2115 = var4; // L: 131 - class182.field2121 = var5; // L: 132 - return false; // L: 133 - } - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1687618726" - ) - static int method4154(int var0, Script var1, boolean var2) { - int var4; - int var9; - if (var0 == ScriptOpcodes.CC_CREATE) { // L: 432 - VarcInt.Interpreter_intStackSize -= 3; // L: 433 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 434 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 435 - int var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 436 - if (var4 == 0) { // L: 437 - throw new RuntimeException(); // L: 438 - } else { - Widget var6 = CollisionMap.getWidget(var9); // L: 440 - if (var6.children == null) { // L: 441 - var6.children = new Widget[var11 + 1]; - } - - if (var6.children.length <= var11) { // L: 442 - Widget[] var7 = new Widget[var11 + 1]; // L: 443 - - for (int var8 = 0; var8 < var6.children.length; ++var8) { // L: 444 - var7[var8] = var6.children[var8]; - } - - var6.children = var7; // L: 445 - } - - if (var11 > 0 && var6.children[var11 - 1] == null) { - throw new RuntimeException("" + (var11 - 1)); // L: 447 - } else { - Widget var12 = new Widget(); // L: 448 - var12.type = var4; // L: 449 - var12.parentId = var12.id = var6.id; // L: 450 - var12.childIndex = var11; // L: 451 - var12.isIf3 = true; // L: 452 - var6.children[var11] = var12; // L: 453 - if (var2) { // L: 454 - PlayerComposition.scriptDotWidget = var12; - } else { - VarcInt.scriptActiveWidget = var12; // L: 455 - } - - CollisionMap.invalidateWidget(var6); // L: 456 - return 1; // L: 457 - } - } - } else { - Widget var3; - if (var0 == ScriptOpcodes.CC_DELETE) { // L: 459 - var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 460 - Widget var10 = CollisionMap.getWidget(var3.id); // L: 461 - var10.children[var3.childIndex] = null; // L: 462 - CollisionMap.invalidateWidget(var10); // L: 463 - return 1; // L: 464 - } else if (var0 == ScriptOpcodes.CC_DELETEALL) { // L: 466 - var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 467 - var3.children = null; // L: 468 - CollisionMap.invalidateWidget(var3); // L: 469 - return 1; // L: 470 - } else if (var0 != ScriptOpcodes.CC_FIND) { // L: 472 - if (var0 == ScriptOpcodes.IF_FIND) { // L: 485 - var3 = CollisionMap.getWidget(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 486 - if (var3 != null) { // L: 487 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 488 - if (var2) { // L: 489 - PlayerComposition.scriptDotWidget = var3; - } else { - VarcInt.scriptActiveWidget = var3; // L: 490 - } - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 492 - } - - return 1; // L: 493 - } else { - return 2; // L: 495 - } - } else { - VarcInt.Interpreter_intStackSize -= 2; // L: 473 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 474 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 475 - Widget var5 = class92.getWidgetChild(var9, var4); // L: 476 - if (var5 != null && var4 != -1) { // L: 477 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 1; // L: 478 - if (var2) { // L: 479 - PlayerComposition.scriptDotWidget = var5; - } else { - VarcInt.scriptActiveWidget = var5; // L: 480 - } - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 482 - } - - return 1; // L: 483 - } - } - } - - @ObfuscatedName("hm") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1604724512" - ) - static final void method4153() { - Client.field762 = 0; // L: 5231 - int var0 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; // L: 5232 - int var1 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; // L: 5233 - if (var0 >= 3053 && var0 <= 3156 && var1 >= 3056 && var1 <= 3136) { // L: 5234 - Client.field762 = 1; - } - - if (var0 >= 3072 && var0 <= 3118 && var1 >= 9492 && var1 <= 9535) { // L: 5235 - Client.field762 = 1; - } - - if (Client.field762 == 1 && var0 >= 3139 && var0 <= 3199 && var1 >= 3008 && var1 <= 3062) { // L: 5236 - Client.field762 = 0; - } - - } // L: 5237 + int var22 = (int)(256.0D * var6); + int var13 = (int)(256.0D * var8); + int var23 = (int)(256.0D * var10); + int var15 = var23 + (var13 << 8) + (var22 << 16); + return var15; + } } diff --git a/runescape-client/src/main/java/class232.java b/runescape-client/src/main/java/class232.java index 335e8377b8..93bbbb2f6d 100644 --- a/runescape-client/src/main/java/class232.java +++ b/runescape-client/src/main/java/class232.java @@ -1,121 +1,96 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("hd") +@ObfuscatedName("hk") public class class232 { - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -769848499 - ) - static int field2778; + static { + int var0 = 0; + int var1 = 0; + class238[] var2 = class51.method872(); - static { - int var0 = 0; // L: 9 - int var1 = 0; // L: 10 - class238[] var2 = Occluder.method3377(); // L: 12 + for(int var3 = 0; var3 < var2.length; ++var3) { + class238 var4 = var2[var3]; + if (var4.field3124 > var0) { + var0 = var4.field3124; + } - for (int var3 = 0; var3 < var2.length; ++var3) { // L: 13 - class238 var4 = var2[var3]; // L: 14 - if (var4.field3113 > var0) { - var0 = var4.field3113; // L: 16 - } + if (var4.field3122 > var1) { + var1 = var4.field3122; + } + } - if (var4.field3117 > var1) { // L: 17 - var1 = var4.field3117; - } - } + } - } // L: 21 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1954194850" + ) + static int method4322(int var0, int var1) { + ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); + if (var2 == null) { + return 0; + } else if (var1 == -1) { + return 0; + } else { + int var3 = 0; - @ObfuscatedName("e") - @ObfuscatedSignature( - descriptor = "([BI)V", - garbageValue = "359325372" - ) - @Export("SpriteBuffer_decode") - static void SpriteBuffer_decode(byte[] var0) { - Buffer var1 = new Buffer(var0); // L: 208 - var1.offset = var0.length - 2; // L: 209 - class336.SpriteBuffer_spriteCount = var1.readUnsignedShort(); // L: 210 - class336.SpriteBuffer_xOffsets = new int[class336.SpriteBuffer_spriteCount]; // L: 211 - class336.SpriteBuffer_yOffsets = new int[class336.SpriteBuffer_spriteCount]; // L: 212 - class336.SpriteBuffer_spriteWidths = new int[class336.SpriteBuffer_spriteCount]; // L: 213 - class336.SpriteBuffer_spriteHeights = new int[class336.SpriteBuffer_spriteCount]; // L: 214 - GrandExchangeEvents.SpriteBuffer_pixels = new byte[class336.SpriteBuffer_spriteCount][]; // L: 215 - var1.offset = var0.length - 7 - class336.SpriteBuffer_spriteCount * 8; // L: 216 - DirectByteArrayCopier.SpriteBuffer_spriteWidth = var1.readUnsignedShort(); // L: 217 - class336.SpriteBuffer_spriteHeight = var1.readUnsignedShort(); // L: 218 - int var2 = (var1.readUnsignedByte() & 255) + 1; // L: 219 + for(int var4 = 0; var4 < var2.quantities.length; ++var4) { + if (var2.ids[var4] == var1) { + var3 += var2.quantities[var4]; + } + } - int var3; - for (var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { // L: 220 - class336.SpriteBuffer_xOffsets[var3] = var1.readUnsignedShort(); - } + return var3; + } + } - for (var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { // L: 221 - class336.SpriteBuffer_yOffsets[var3] = var1.readUnsignedShort(); - } + @ObfuscatedName("fb") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "2044662786" + ) + static void method4323() { + Client.packetWriter.clearBuffer(); + Client.packetWriter.packetBuffer.offset = 0; + Client.packetWriter.serverPacket = null; + Client.packetWriter.field1331 = null; + Client.packetWriter.field1333 = null; + Client.packetWriter.field1334 = null; + Client.packetWriter.serverPacketLength = 0; + Client.packetWriter.field1330 = 0; + Client.rebootTimer = 0; + Client.menuOptionsCount = 0; + Client.isMenuOpen = false; + Client.minimapState = 0; + Client.destinationX = 0; - for (var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { // L: 222 - class336.SpriteBuffer_spriteWidths[var3] = var1.readUnsignedShort(); - } + int var0; + for(var0 = 0; var0 < 2048; ++var0) { + Client.players[var0] = null; + } - for (var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { // L: 223 - class336.SpriteBuffer_spriteHeights[var3] = var1.readUnsignedShort(); - } + UserComparator9.localPlayer = null; - var1.offset = var0.length - 7 - class336.SpriteBuffer_spriteCount * 8 - (var2 - 1) * 3; // L: 224 - class336.SpriteBuffer_spritePalette = new int[var2]; // L: 225 + for(var0 = 0; var0 < Client.npcs.length; ++var0) { + NPC var1 = Client.npcs[var0]; + if (var1 != null) { + var1.targetIndex = -1; + var1.false0 = false; + } + } - for (var3 = 1; var3 < var2; ++var3) { // L: 226 - class336.SpriteBuffer_spritePalette[var3] = var1.readMedium(); // L: 227 - if (class336.SpriteBuffer_spritePalette[var3] == 0) { // L: 228 - class336.SpriteBuffer_spritePalette[var3] = 1; - } - } + ItemContainer.itemContainers = new NodeHashTable(32); + ItemContainer.updateGameState(30); - var1.offset = 0; // L: 230 + for(var0 = 0; var0 < 100; ++var0) { + Client.field816[var0] = true; + } - for (var3 = 0; var3 < class336.SpriteBuffer_spriteCount; ++var3) { // L: 231 - int var4 = class336.SpriteBuffer_spriteWidths[var3]; // L: 232 - int var5 = class336.SpriteBuffer_spriteHeights[var3]; // L: 233 - int var6 = var5 * var4; // L: 234 - byte[] var7 = new byte[var6]; // L: 235 - GrandExchangeEvents.SpriteBuffer_pixels[var3] = var7; // L: 236 - int var8 = var1.readUnsignedByte(); // L: 237 - int var9; - if (var8 == 0) { // L: 238 - for (var9 = 0; var9 < var6; ++var9) { // L: 239 - var7[var9] = var1.readByte(); - } - } else if (var8 == 1) { // L: 241 - for (var9 = 0; var9 < var4; ++var9) { // L: 242 - for (int var10 = 0; var10 < var5; ++var10) { // L: 243 - var7[var9 + var10 * var4] = var1.readByte(); // L: 244 - } - } - } - } - - } // L: 249 - - @ObfuscatedName("gj") - @ObfuscatedSignature( - descriptor = "(IIII)V", - garbageValue = "269523083" - ) - @Export("queueSoundEffect") - static void queueSoundEffect(int var0, int var1, int var2) { - if (Timer.clientPreferences.soundEffectsVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { // L: 3697 - Client.soundEffectIds[Client.soundEffectCount] = var0; // L: 3698 - Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; // L: 3699 - Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; // L: 3700 - Client.soundEffects[Client.soundEffectCount] = null; // L: 3701 - Client.soundLocations[Client.soundEffectCount] = 0; // L: 3702 - ++Client.soundEffectCount; // L: 3703 - } - - } // L: 3705 + PacketBufferNode var2 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2290, Client.packetWriter.isaacCipher); + var2.packetBuffer.writeByte(BoundaryObject.getWindowedMode()); + var2.packetBuffer.writeShort(GrandExchangeOfferTotalQuantityComparator.canvasWidth); + var2.packetBuffer.writeShort(class25.canvasHeight); + Client.packetWriter.addNode(var2); + } } diff --git a/runescape-client/src/main/java/class234.java b/runescape-client/src/main/java/class234.java index cc7aba3aad..7d3952e12b 100644 --- a/runescape-client/src/main/java/class234.java +++ b/runescape-client/src/main/java/class234.java @@ -4,63 +4,49 @@ import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("iq") public class class234 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(B)[Lin;", - garbageValue = "34" - ) - @Export("PlayerType_values") - public static PlayerType[] PlayerType_values() { - return new PlayerType[]{PlayerType.field3124, PlayerType.PlayerType_ultimateIronman, PlayerType.PlayerType_ironman, PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_hardcoreIronman, PlayerType.PlayerType_normal}; // L: 20 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkd;I)V", + garbageValue = "-756253803" + ) + @Export("updatePlayer") + static final void updatePlayer(PacketBuffer var0) { + var0.importIndex(); + int var1 = Client.localPlayerIndex; + Player var2 = UserComparator9.localPlayer = Client.players[var1] = new Player(); + var2.index = var1; + int var3 = var0.readBits(30); + byte var4 = (byte)(var3 >> 28); + int var5 = var3 >> 14 & 16383; + int var6 = var3 & 16383; + var2.pathX[0] = var5 - GrandExchangeOfferNameComparator.baseX * 64; + var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); + var2.pathY[0] = var6 - NetCache.baseY * 64; + var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); + class90.Client_plane = var2.plane = var4; + if (Players.field1269[var1] != null) { + var2.read(Players.field1269[var1]); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(ILjava/lang/String;Ljava/lang/String;B)V", - garbageValue = "-30" - ) - @Export("addGameMessage") - static void addGameMessage(int var0, String var1, String var2) { - UserComparator10.addChatMessage(var0, var1, var2, (String)null); // L: 23 - } // L: 24 + Players.Players_count = 0; + Players.Players_indices[++Players.Players_count - 1] = var1; + Players.field1275[var1] = 0; + Players.Players_emptyIdxCount = 0; - @ObfuscatedName("y") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "1847408099" - ) - static final boolean method4159(int var0, int var1) { - ObjectComposition var2 = WorldMapDecoration.getObjectDefinition(var0); // L: 892 - if (var1 == 11) { // L: 893 - var1 = 10; - } + for(int var7 = 1; var7 < 2048; ++var7) { + if (var1 != var7) { + int var8 = var0.readBits(18); + int var9 = var8 >> 16; + int var10 = var8 >> 8 & 597; + int var11 = var8 & 597; + Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); + Players.Players_orientations[var7] = 0; + Players.Players_targetIndices[var7] = -1; + Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; + Players.field1275[var7] = 0; + } + } - if (var1 >= 5 && var1 <= 8) { - var1 = 4; // L: 894 - } - - return var2.method4614(var1); // L: 895 - } - - @ObfuscatedName("jq") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lhe;I)Ljava/lang/String;", - garbageValue = "-1574592106" - ) - static String method4160(String var0, Widget var1) { - if (var0.indexOf("%") != -1) { // L: 9424 - for (int var2 = 1; var2 <= 5; ++var2) { // L: 9425 - while (true) { - int var3 = var0.indexOf("%" + var2); // L: 9427 - if (var3 == -1) { // L: 9428 - break; - } - - var0 = var0.substring(0, var3) + ModelData0.method3329(HealthBarDefinition.method4512(var1, var2 - 1)) + var0.substring(var3 + 2); // L: 9429 - } - } - } - - return var0; // L: 9433 - } + var0.exportIndex(); + } } diff --git a/runescape-client/src/main/java/class235.java b/runescape-client/src/main/java/class235.java new file mode 100644 index 0000000000..91145d0fe9 --- /dev/null +++ b/runescape-client/src/main/java/class235.java @@ -0,0 +1,16 @@ +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("ir") +public class class235 { + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;I)V", + garbageValue = "-1015609755" + ) + public static void method4331(AbstractArchive var0, AbstractArchive var1) { + KitDefinition.KitDefinition_archive = var0; + KitDefinition.KitDefinition_modelsArchive = var1; + KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); + } +} diff --git a/runescape-client/src/main/java/class236.java b/runescape-client/src/main/java/class236.java index 08864f668c..424ec8ed97 100644 --- a/runescape-client/src/main/java/class236.java +++ b/runescape-client/src/main/java/class236.java @@ -1,62 +1,35 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ii") +@ObfuscatedName("id") public final class class236 { - @ObfuscatedName("h") - @Export("sleepExact") - public static final void sleepExact(long var0) { - if (var0 > 0L) { // L: 9 - if (0L == var0 % 10L) { // L: 10 - long var2 = var0 - 1L; // L: 11 + @ObfuscatedName("fv") + @ObfuscatedGetter( + longValue = -1285822729066684367L + ) + static long field3108; + @ObfuscatedName("gy") + @ObfuscatedSignature( + descriptor = "Llm;" + ) + @Export("redHintArrowSprite") + static SpritePixels redHintArrowSprite; - try { - Thread.sleep(var2); // L: 14 - } catch (InterruptedException var8) { // L: 16 - } - - try { - Thread.sleep(1L); // L: 20 - } catch (InterruptedException var7) { // L: 22 - } - } else { - try { - Thread.sleep(var0); // L: 27 - } catch (InterruptedException var6) { // L: 29 - } - } - - } - } // L: 31 - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)Lgv;", - garbageValue = "1686839438" - ) - public static PacketBufferNode method4163() { - PacketBufferNode var0; - if (PacketBufferNode.PacketBufferNode_packetBufferNodeCount == 0) { // L: 47 - var0 = new PacketBufferNode(); // L: 48 - } else { - var0 = PacketBufferNode.PacketBufferNode_packetBufferNodes[--PacketBufferNode.PacketBufferNode_packetBufferNodeCount]; // L: 51 - } - - var0.clientPacket = null; // L: 54 - var0.clientPacketLength = 0; // L: 55 - var0.packetBuffer = new PacketBuffer(5000); // L: 56 - return var0; // L: 57 - } - - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(I)Lcj;", - garbageValue = "-2109446409" - ) - @Export("worldListStart") - static World worldListStart() { - World.World_listCount = 0; // L: 247 - return GrandExchangeEvents.getNextWorldListWorld(); // L: 248 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "1107662204" + ) + public static int method4332(int var0, int var1, int var2) { + var2 &= 3; + if (var2 == 0) { + return var0; + } else if (var2 == 1) { + return var1; + } else { + return var2 == 2 ? 7 - var0 : 7 - var1; + } + } } diff --git a/runescape-client/src/main/java/class237.java b/runescape-client/src/main/java/class237.java index aa272e756e..6dd8c9542c 100644 --- a/runescape-client/src/main/java/class237.java +++ b/runescape-client/src/main/java/class237.java @@ -1,8 +1,29 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("id") +@ObfuscatedName("iz") public class class237 { - static { - Math.sqrt(8192.0D); // L: 9 - } // L: 10 + static { + Math.sqrt(8192.0D); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)Lhz;", + garbageValue = "361522526" + ) + @Export("getWidget") + public static Widget getWidget(int var0) { + int var1 = var0 >> 16; + int var2 = var0 & '\uffff'; + if (DefaultsGroup.Widget_interfaceComponents[var1] == null || DefaultsGroup.Widget_interfaceComponents[var1][var2] == null) { + boolean var3 = WorldMapCacheName.loadInterface(var1); + if (!var3) { + return null; + } + } + + return DefaultsGroup.Widget_interfaceComponents[var1][var2]; + } } diff --git a/runescape-client/src/main/java/class238.java b/runescape-client/src/main/java/class238.java index f3ad65c1a4..a07c0fb14c 100644 --- a/runescape-client/src/main/java/class238.java +++ b/runescape-client/src/main/java/class238.java @@ -1,51 +1,94 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.StringReader; +import java.io.StringWriter; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("ig") +@ObfuscatedName("ib") public class class238 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lig;" - ) - static final class238 field3111; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lig;" - ) - static final class238 field3114; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -455059837 - ) - final int field3113; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -423561667 - ) - final int field3117; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lib;" + ) + static final class238 field3123 = new class238(51, 27, 800, 0, 16, 16); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lib;" + ) + static final class238 field3121 = new class238(25, 28, 800, 656, 40, 40); + @ObfuscatedName("gb") + @Export("regions") + static int[] regions; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1356540615 + ) + final int field3124; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = 787238397 + ) + final int field3122; - static { - field3111 = new class238(51, 27, 800, 0, 16, 16); // L: 29 - field3114 = new class238(25, 28, 800, 656, 40, 40); // L: 30 - } + class238(int var1, int var2, int var3, int var4, int var5, int var6) { + this.field3124 = var5; + this.field3122 = var6; + } - class238(int var1, int var2, int var3, int var4, int var5, int var6) { - this.field3113 = var5; // L: 39 - this.field3117 = var6; // L: 40 - } // L: 41 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Throwable;I)Ljava/lang/String;", + garbageValue = "-1656057287" + ) + static String method4334(Throwable var0) throws IOException { + String var1; + if (var0 instanceof RunException) { + RunException var2 = (RunException)var0; + var1 = var2.message + " | "; + var0 = var2.throwable; + } else { + var1 = ""; + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;I)Ljava/lang/String;", - garbageValue = "1585982662" - ) - public static String method4166(CharSequence var0) { - String var1 = ParamComposition.base37DecodeLong(Renderable.method3340(var0)); // L: 75 - if (var1 == null) { // L: 76 - var1 = ""; - } + StringWriter var12 = new StringWriter(); + PrintWriter var3 = new PrintWriter(var12); + var0.printStackTrace(var3); + var3.close(); + String var4 = var12.toString(); + BufferedReader var5 = new BufferedReader(new StringReader(var4)); + String var6 = var5.readLine(); - return var1; // L: 77 - } + 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 + ' '; + } + } + } } diff --git a/runescape-client/src/main/java/class248.java b/runescape-client/src/main/java/class248.java index 84fa9303b7..c3f68fc0a5 100644 --- a/runescape-client/src/main/java/class248.java +++ b/runescape-client/src/main/java/class248.java @@ -4,185 +4,199 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("iz") +@ObfuscatedName("io") public class class248 { - @ObfuscatedName("l") - static int[] field3219; - @ObfuscatedName("gn") - @ObfuscatedGetter( - intValue = -259199833 - ) - static int field3222; - @ObfuscatedName("h") - @Export("spriteMap") - final HashMap spriteMap; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llc;" - ) - @Export("bounds") - Bounds bounds; - @ObfuscatedName("x") - int[] field3218; - @ObfuscatedName("w") - int[] field3216; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1743285891 - ) - int field3220; + @ObfuscatedName("n") + @Export("spriteMap") + final HashMap spriteMap = new HashMap(); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lli;" + ) + @Export("bounds") + Bounds bounds = new Bounds(0, 0); + @ObfuscatedName("d") + int[] field3224 = new int[2048]; + @ObfuscatedName("c") + int[] field3228 = new int[2048]; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1846736513 + ) + int field3226 = 0; - public class248() { - this.spriteMap = new HashMap(); // L: 10 - this.bounds = new Bounds(0, 0); // L: 11 - this.field3218 = new int[2048]; // L: 12 - this.field3216 = new int[2048]; // L: 13 - this.field3220 = 0; // L: 14 - class195.method3680(); // L: 21 - } // L: 22 + public class248() { + Strings.method4324(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "105508707" - ) - void method4342(int var1) { - int var2 = var1 * 2 + 1; // L: 46 - double[] var3 = ArchiveDiskActionHandler.method4294(0.0D, (double)((float)var1 / 3.0F), var1); // L: 47 - double var4 = var3[var1] * var3[var1]; // L: 48 - int[] var6 = new int[var2 * var2]; // L: 49 - boolean var7 = false; // L: 50 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-381922948" + ) + void method4507(int var1) { + int var2 = var1 * 2 + 1; + double var4 = (double)((float)var1 / 3.0F); + int var6 = var1 * 2 + 1; + double[] var7 = new double[var6]; + int var8 = -var1; - for (int var8 = 0; var8 < var2; ++var8) { // L: 51 - for (int var9 = 0; var9 < var2; ++var9) { // L: 52 - int var10 = var6[var9 + var2 * var8] = (int)(256.0D * (var3[var9] * var3[var8] / var4)); // L: 53 - if (!var7 && var10 > 0) { // L: 54 - var7 = true; // L: 55 - } - } - } + for(int var9 = 0; var8 <= var1; ++var9) { + var7[var9] = HealthBarDefinition.method4658((double)var8, 0.0D, var4); + ++var8; + } - SpritePixels var11 = new SpritePixels(var6, var2, var2); // L: 59 - this.spriteMap.put(var1, var11); // L: 60 - } // L: 61 + double[] var14 = var7; + double var15 = var7[var1] * var7[var1]; + int[] var17 = new int[var2 * var2]; + boolean var10 = false; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)Llm;", - garbageValue = "-2015707218" - ) - SpritePixels method4343(int var1) { - if (!this.spriteMap.containsKey(var1)) { // L: 64 - this.method4342(var1); // L: 65 - } + for(int var11 = 0; var11 < var2; ++var11) { + for(int var12 = 0; var12 < var2; ++var12) { + int var13 = var17[var12 + var2 * var11] = (int)(var14[var11] * var14[var12] / var15 * 256.0D); + if (!var10 && var13 > 0) { + var10 = true; + } + } + } - return (SpritePixels)this.spriteMap.get(var1); // L: 67 - } + SpritePixels var18 = new SpritePixels(var17, var2, var2); + this.spriteMap.put(var1, var18); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "2038204538" - ) - public final void method4344(int var1, int var2) { - if (this.field3220 < this.field3218.length) { // L: 71 - this.field3218[this.field3220] = var1; // L: 72 - this.field3216[this.field3220] = var2; // L: 73 - ++this.field3220; // L: 74 - } - } // L: 75 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(II)Llm;", + garbageValue = "1559199090" + ) + SpritePixels method4527(int var1) { + if (!this.spriteMap.containsKey(var1)) { + this.method4507(var1); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "542816734" - ) - public final void method4345() { - this.field3220 = 0; // L: 78 - } // L: 79 + return (SpritePixels)this.spriteMap.get(var1); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(IILlm;FB)V", - garbageValue = "-62" - ) - public final void method4346(int var1, int var2, SpritePixels var3, float var4) { - int var5 = (int)(var4 * 18.0F); // L: 82 - SpritePixels var6 = this.method4343(var5); // L: 83 - int var7 = var5 * 2 + 1; // L: 84 - Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); // L: 85 - Bounds var9 = new Bounds(0, 0); // L: 86 - this.bounds.setHigh(var7, var7); // L: 87 - System.nanoTime(); // L: 88 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(III)V", + garbageValue = "-1110209387" + ) + public final void method4509(int var1, int var2) { + if (this.field3226 < this.field3224.length) { + this.field3224[this.field3226] = var1; + this.field3228[this.field3226] = var2; + ++this.field3226; + } + } - int var10; - int var11; - int var12; - for (var10 = 0; var10 < this.field3220; ++var10) { // L: 89 - var11 = this.field3218[var10]; // L: 90 - var12 = this.field3216[var10]; // L: 91 - int var13 = (int)((float)(var11 - var1) * var4) - var5; // L: 92 - int var14 = (int)((float)var3.subHeight - (float)(var12 - var2) * var4) - var5; // L: 93 - this.bounds.setLow(var13, var14); // L: 94 - this.bounds.method6014(var8, var9); // L: 95 - this.method4347(var6, var3, var9); // L: 96 - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1700428858" + ) + public final void method4510() { + this.field3226 = 0; + } - System.nanoTime(); // L: 98 - System.nanoTime(); // L: 99 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(IILlm;FI)V", + garbageValue = "2039360324" + ) + public final void method4511(int var1, int var2, SpritePixels var3, float var4) { + int var5 = (int)(18.0F * var4); + SpritePixels var6 = this.method4527(var5); + int var7 = var5 * 2 + 1; + Bounds var8 = new Bounds(0, 0, var3.subWidth, var3.subHeight); + Bounds var9 = new Bounds(0, 0); + this.bounds.setHigh(var7, var7); + System.nanoTime(); - for (var10 = 0; var10 < var3.pixels.length; ++var10) { // L: 100 - if (var3.pixels[var10] == 0) { // L: 101 - var3.pixels[var10] = -16777216; // L: 102 - } else { - var11 = (var3.pixels[var10] + 64 - 1) / 256; // L: 105 - if (var11 <= 0) { // L: 106 - var3.pixels[var10] = -16777216; // L: 107 - } else { - if (var11 > field3219.length) { // L: 110 - var11 = field3219.length; - } + int var10; + int var11; + int var12; + for(var10 = 0; var10 < this.field3226; ++var10) { + var11 = this.field3224[var10]; + var12 = this.field3228[var10]; + int var13 = (int)(var4 * (float)(var11 - var1)) - var5; + int var14 = (int)((float)var3.subHeight - var4 * (float)(var12 - var2)) - var5; + this.bounds.setLow(var13, var14); + this.bounds.method6182(var8, var9); + this.method4506(var6, var3, var9); + } - var12 = field3219[var11 - 1]; // L: 111 - var3.pixels[var10] = -16777216 | var12; // L: 112 - } - } - } + System.nanoTime(); + System.nanoTime(); - System.nanoTime(); // L: 114 - } // L: 115 + for(var10 = 0; var10 < var3.pixels.length; ++var10) { + if (var3.pixels[var10] == 0) { + var3.pixels[var10] = -16777216; + } else { + var11 = (var3.pixels[var10] + 64 - 1) / 256; + if (var11 <= 0) { + var3.pixels[var10] = -16777216; + } else { + if (var11 > Coord.field2560.length) { + var11 = Coord.field2560.length; + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(Llm;Llm;Llc;B)V", - garbageValue = "36" - ) - void method4347(SpritePixels var1, SpritePixels var2, Bounds var3) { - if (var3.highX != 0 && var3.highY != 0) { // L: 118 - int var4 = 0; // L: 119 - int var5 = 0; // L: 120 - if (var3.lowX == 0) { // L: 121 - var4 = var1.subWidth - var3.highX; - } + var12 = Coord.field2560[var11 - 1]; + var3.pixels[var10] = -16777216 | var12; + } + } + } - if (var3.lowY == 0) { // L: 122 - var5 = var1.subHeight - var3.highY; - } + System.nanoTime(); + } - int var6 = var4 + var5 * var1.subWidth; // L: 123 - int var7 = var2.subWidth * var3.lowY + var3.lowX; // L: 124 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Llm;Llm;Lli;I)V", + garbageValue = "-524888104" + ) + void method4506(SpritePixels var1, SpritePixels var2, Bounds var3) { + if (var3.highX != 0 && var3.highY != 0) { + int var4 = 0; + int var5 = 0; + if (var3.lowX == 0) { + var4 = var1.subWidth - var3.highX; + } - for (int var8 = 0; var8 < var3.highY; ++var8) { // L: 125 - for (int var9 = 0; var9 < var3.highX; ++var9) { // L: 126 - int[] var10000 = var2.pixels; // L: 127 - int var10001 = var7++; - var10000[var10001] += var1.pixels[var6++]; - } + if (var3.lowY == 0) { + var5 = var1.subHeight - var3.highY; + } - var6 += var1.subWidth - var3.highX; // L: 129 - var7 += var2.subWidth - var3.highX; // L: 130 - } + int var6 = var4 + var5 * var1.subWidth; + int var7 = var3.lowX + var2.subWidth * var3.lowY; - } - } // L: 132 + for(int var8 = 0; var8 < var3.highY; ++var8) { + for(int var9 = 0; var9 < var3.highX; ++var9) { + int var10001 = var7++; + var2.pixels[var10001] += var1.pixels[var6++]; + } + + var6 += var1.subWidth - var3.highX; + var7 += var2.subWidth - var3.highX; + } + + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "15" + ) + static void method4514() { + if (Login.Login_username == null || Login.Login_username.length() <= 0) { + if (WorldMapSectionType.clientPreferences.rememberedUsername != null) { + Login.Login_username = WorldMapSectionType.clientPreferences.rememberedUsername; + Client.Login_isUsernameRemembered = true; + } else { + Client.Login_isUsernameRemembered = false; + } + + } + } } diff --git a/runescape-client/src/main/java/class25.java b/runescape-client/src/main/java/class25.java index 16a30f82e4..6607d48455 100644 --- a/runescape-client/src/main/java/class25.java +++ b/runescape-client/src/main/java/class25.java @@ -1,212 +1,49 @@ -import java.lang.management.GarbageCollectorMXBean; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("d") +@ObfuscatedName("j") public class class25 { - @ObfuscatedName("qw") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("sceneMinimapSprite") - static SpritePixels sceneMinimapSprite; - @ObfuscatedName("rf") - @ObfuscatedGetter( - intValue = 487407289 - ) - static int field128; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Llm;" - ) - @Export("leftTitleSprite") - static SpritePixels leftTitleSprite; - @ObfuscatedName("al") - @Export("garbageCollector") - static GarbageCollectorMXBean garbageCollector; - @ObfuscatedName("bs") - @ObfuscatedSignature( - descriptor = "Lio;" - ) - static GameBuild field125; + @ObfuscatedName("rh") + @ObfuscatedGetter( + intValue = 1113392768 + ) + static int field138; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1122358131 + ) + static int field146; + @ObfuscatedName("o") + @ObfuscatedGetter( + intValue = 1646525393 + ) + @Export("canvasHeight") + public static int canvasHeight; + @ObfuscatedName("ep") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive18") + static Archive archive18; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Ljava/lang/String;", - garbageValue = "-842045049" - ) - static String method248(int var0) { - return ""; // L: 18 - } + @ObfuscatedName("s") + @Export("Entity_unpackID") + public static int Entity_unpackID(long var0) { + return (int)(var0 >>> 17 & 4294967295L); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(II)[B", - garbageValue = "123621684" - ) - @Export("ByteArrayPool_getArray") - public static synchronized byte[] ByteArrayPool_getArray(int var0) { - return ByteArrayPool.ByteArrayPool_getArrayBool(var0, false); // L: 57 - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIIZIZI)V", - garbageValue = "-1262042728" - ) - @Export("doWorldSorting") - static void doWorldSorting(int var0, int var1, int var2, boolean var3, int var4, boolean var5) { - if (var0 < var1) { // L: 177 - int var6 = (var0 + var1) / 2; // L: 178 - int var7 = var0; // L: 179 - World var8 = World.World_worlds[var6]; // L: 180 - World.World_worlds[var6] = World.World_worlds[var1]; // L: 181 - World.World_worlds[var1] = var8; // L: 182 - - for (int var9 = var0; var9 < var1; ++var9) { // L: 183 - World var11 = World.World_worlds[var9]; // L: 185 - int var12 = MouseRecorder.compareWorlds(var11, var8, var2, var3); // L: 187 - int var10; - if (var12 != 0) { // L: 188 - if (var3) { // L: 189 - var10 = -var12; // L: 190 - } else { - var10 = var12; // L: 194 - } - } else if (var4 == -1) { // L: 198 - var10 = 0; // L: 199 - } else { - int var13 = MouseRecorder.compareWorlds(var11, var8, var4, var5); // L: 202 - if (var5) { // L: 203 - var10 = -var13; - } else { - var10 = var13; // L: 204 - } - } - - if (var10 <= 0) { // L: 206 - World var14 = World.World_worlds[var9]; // L: 207 - World.World_worlds[var9] = World.World_worlds[var7]; // L: 208 - World.World_worlds[var7++] = var14; // L: 209 - } - } - - World.World_worlds[var1] = World.World_worlds[var7]; // L: 213 - World.World_worlds[var7] = var8; // L: 214 - doWorldSorting(var0, var7 - 1, var2, var3, var4, var5); // L: 215 - doWorldSorting(var7 + 1, var1, var2, var3, var4, var5); // L: 216 - } - - } // L: 218 - - @ObfuscatedName("gy") - @ObfuscatedSignature( - descriptor = "(IIIIZI)V", - garbageValue = "473576557" - ) - @Export("setViewportShape") - static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) { - if (var2 < 1) { // L: 4651 - var2 = 1; - } - - if (var3 < 1) { // L: 4652 - var3 = 1; - } - - int var5 = var3 - 334; // L: 4653 - int var6; - if (var5 < 0) { // L: 4655 - var6 = Client.field896; - } else if (var5 >= 100) { // L: 4656 - var6 = Client.field897; - } else { - var6 = (Client.field897 - Client.field896) * var5 / 100 + Client.field896; // L: 4657 - } - - int var7 = var3 * var6 * 512 / (var2 * 334); // L: 4658 - int var8; - int var9; - short var10; - if (var7 < Client.field828) { // L: 4659 - var10 = Client.field828; // L: 4660 - var6 = var10 * var2 * 334 / (var3 * 512); // L: 4661 - if (var6 > Client.field731) { // L: 4662 - var6 = Client.field731; // L: 4663 - var8 = var3 * var6 * 512 / (var10 * 334); // L: 4664 - var9 = (var2 - var8) / 2; // L: 4665 - if (var4) { // L: 4666 - Rasterizer2D.Rasterizer2D_resetClip(); // L: 4667 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216); // L: 4668 - Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216); // L: 4669 - } - - var0 += var9; // L: 4671 - var2 -= var9 * 2; // L: 4672 - } - } else if (var7 > Client.field903) { // L: 4675 - var10 = Client.field903; // L: 4676 - var6 = var10 * var2 * 334 / (var3 * 512); // L: 4677 - if (var6 < Client.field900) { // L: 4678 - var6 = Client.field900; // L: 4679 - var8 = var10 * var2 * 334 / (var6 * 512); // L: 4680 - var9 = (var3 - var8) / 2; // L: 4681 - if (var4) { // L: 4682 - Rasterizer2D.Rasterizer2D_resetClip(); // L: 4683 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216); // L: 4684 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216); // L: 4685 - } - - var1 += var9; // L: 4687 - var3 -= var9 * 2; // L: 4688 - } - } - - Client.viewportZoom = var3 * var6 / 334; // L: 4691 - if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) { // L: 4692 - class39.method593(var2, var3); // L: 4693 - } - - Client.viewportOffsetX = var0; // L: 4695 - Client.viewportOffsetY = var1; // L: 4696 - Client.viewportWidth = var2; // L: 4697 - Client.viewportHeight = var3; // L: 4698 - } // L: 4699 - - @ObfuscatedName("jk") - @ObfuscatedSignature( - descriptor = "(ZB)V", - garbageValue = "-67" - ) - @Export("setTapToDrop") - static void setTapToDrop(boolean var0) { - Client.tapToDrop = var0; // L: 9892 - } // L: 9893 - - @ObfuscatedName("kj") - @ObfuscatedSignature( - descriptor = "(IIIILlm;Lho;I)V", - garbageValue = "-1541467427" - ) - @Export("drawSpriteOnMinimap") - static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, SpritePixels var4, SpriteMask var5) { - if (var4 != null) { // L: 10982 - int var6 = Client.camAngleY & 2047; // L: 10983 - int var7 = var3 * var3 + var2 * var2; // L: 10984 - if (var7 <= 6400) { // L: 10985 - int var8 = Rasterizer3D.Rasterizer3D_sine[var6]; // L: 10986 - int var9 = Rasterizer3D.Rasterizer3D_cosine[var6]; // L: 10987 - int var10 = var3 * var8 + var9 * var2 >> 16; // L: 10988 - int var11 = var3 * var9 - var8 * var2 >> 16; // L: 10989 - if (var7 > 2500) { - var4.method6236(var10 + var5.width / 2 - var4.width / 2, var5.height / 2 - var11 - var4.height / 2, var0, var1, var5.width, var5.height, var5.xStarts, var5.xWidths); // L: 10990 - } else { - var4.drawTransBgAt(var0 + var10 + var5.width / 2 - var4.width / 2, var5.height / 2 + var1 - var11 - var4.height / 2); // L: 10991 - } - - } - } - } // L: 10992 + @ObfuscatedName("id") + @ObfuscatedSignature( + descriptor = "(IIB)V", + garbageValue = "-52" + ) + @Export("resumePauseWidget") + static void resumePauseWidget(int var0, int var1) { + PacketBufferNode var2 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2257, Client.packetWriter.isaacCipher); + var2.packetBuffer.method5781(var0); + var2.packetBuffer.writeIntME(var1); + Client.packetWriter.addNode(var2); + } } diff --git a/runescape-client/src/main/java/class258.java b/runescape-client/src/main/java/class258.java index baa2bbc68c..f93653bcf2 100644 --- a/runescape-client/src/main/java/class258.java +++ b/runescape-client/src/main/java/class258.java @@ -1,283 +1,55 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("iu") +@ObfuscatedName("in") public class class258 { - @ObfuscatedName("av") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-756933524" - ) - static int method4516(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.CHAT_GETFILTER_PUBLIC) { // L: 2880 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.publicChatMode; // L: 2881 - return 1; // L: 2882 - } else if (var0 == ScriptOpcodes.CHAT_SETFILTER) { // L: 2884 - VarcInt.Interpreter_intStackSize -= 3; // L: 2885 - Client.publicChatMode = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2886 - Client.privateChatMode = class52.method840(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 2887 - if (Client.privateChatMode == null) { // L: 2888 - Client.privateChatMode = PrivateChatMode.field3832; - } + @ObfuscatedName("gg") + @ObfuscatedSignature( + descriptor = "(IIIIIIII)V", + garbageValue = "1214767068" + ) + static final void method4685(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { + var5 = SecureRandomCallable.method1233(var5, var6); + int var7 = 2048 - var3 & 2047; + int var8 = 2048 - var4 & 2047; + int var9 = 0; + int var10 = 0; + int var11 = var5; + int var12; + int var13; + int var14; + if (var7 != 0) { + var12 = Rasterizer3D.Rasterizer3D_sine[var7]; + var13 = Rasterizer3D.Rasterizer3D_cosine[var7]; + var14 = var13 * var10 - var5 * var12 >> 16; + var11 = var13 * var5 + var12 * var10 >> 16; + var10 = var14; + } - Client.tradeChatMode = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 2889 - PacketBufferNode var18 = ItemContainer.getPacketBufferNode(ClientPacket.field2308, Client.packetWriter.isaacCipher); // L: 2891 - var18.packetBuffer.writeByte(Client.publicChatMode); // L: 2892 - var18.packetBuffer.writeByte(Client.privateChatMode.field3835); // L: 2893 - var18.packetBuffer.writeByte(Client.tradeChatMode); // L: 2894 - Client.packetWriter.addNode(var18); // L: 2895 - return 1; // L: 2896 - } else { - String var3; - int var11; - if (var0 == ScriptOpcodes.CHAT_SENDABUSEREPORT) { // L: 2898 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2899 - VarcInt.Interpreter_intStackSize -= 2; // L: 2900 - var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2901 - int var12 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2902 - PacketBufferNode var13 = ItemContainer.getPacketBufferNode(ClientPacket.field2301, Client.packetWriter.isaacCipher); // L: 2904 - var13.packetBuffer.writeByte(FloorDecoration.stringCp1252NullTerminatedByteSize(var3) + 2); // L: 2905 - var13.packetBuffer.writeStringCp1252NullTerminated(var3); // L: 2906 - var13.packetBuffer.writeByte(var11 - 1); // L: 2907 - var13.packetBuffer.writeByte(var12); // L: 2908 - Client.packetWriter.addNode(var13); // L: 2909 - return 1; // L: 2910 - } else { - int var10; - if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) { // L: 2912 - VarcInt.Interpreter_intStackSize -= 2; // L: 2913 - var10 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2914 - var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2915 - Message var16 = WallDecoration.Messages_getByChannelAndID(var10, var11); // L: 2916 - if (var16 != null) { // L: 2917 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var16.count; // L: 2918 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var16.cycle; // L: 2919 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.sender != null ? var16.sender : ""; // L: 2920 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.prefix != null ? var16.prefix : ""; // L: 2921 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16.text != null ? var16.text : ""; // L: 2922 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var16.isFromFriend() ? 1 : (var16.isFromIgnored() ? 2 : 0); // L: 2923 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 2926 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2927 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2928 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2929 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2930 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2931 - } + if (var8 != 0) { + var12 = Rasterizer3D.Rasterizer3D_sine[var8]; + var13 = Rasterizer3D.Rasterizer3D_cosine[var8]; + var14 = var13 * var9 + var11 * var12 >> 16; + var11 = var13 * var11 - var12 * var9 >> 16; + var9 = var14; + } - return 1; // L: 2933 - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) { // L: 2935 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2936 - Message var14 = class195.Messages_getMessage(var10); // L: 2937 - if (var14 != null) { // L: 2938 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var14.type; // L: 2939 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var14.cycle; // L: 2940 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.sender != null ? var14.sender : ""; // L: 2941 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.prefix != null ? var14.prefix : ""; // L: 2942 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var14.text != null ? var14.text : ""; // L: 2943 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var14.isFromFriend() ? 1 : (var14.isFromIgnored() ? 2 : 0); // L: 2944 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 2947 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2948 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2949 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2950 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 2951 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2952 - } + SecureRandomFuture.cameraX = var0 - var9; + ArchiveLoader.cameraY = var1 - var10; + ObjectSound.cameraZ = var2 - var11; + KeyHandler.cameraPitch = var3; + class39.cameraYaw = var4; + if (Client.oculusOrbState == 1 && Client.staffModLevel >= 2 && Client.cycle % 50 == 0 && (HealthBarUpdate.oculusOrbFocalPointX >> 7 != UserComparator9.localPlayer.x >> 7 || ApproximateRouteStrategy.oculusOrbFocalPointY >> 7 != UserComparator9.localPlayer.y >> 7)) { + var12 = UserComparator9.localPlayer.plane; + var13 = GrandExchangeOfferNameComparator.baseX * 64 + (HealthBarUpdate.oculusOrbFocalPointX >> 7); + var14 = NetCache.baseY * 64 + (ApproximateRouteStrategy.oculusOrbFocalPointY >> 7); + PacketBufferNode var15 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); + var15.packetBuffer.writeShortLE(var14); + var15.packetBuffer.method5883(var12); + var15.packetBuffer.method5736(Client.field746); + var15.packetBuffer.writeIntME(var13); + Client.packetWriter.addNode(var15); + } - return 1; // L: 2954 - } else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) { // L: 2956 - if (Client.privateChatMode == null) { // L: 2957 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.privateChatMode.field3835; // L: 2958 - } - - return 1; // L: 2959 - } else if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) { // L: 2961 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 2962 - var11 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2963 - String var15 = var3.toLowerCase(); // L: 2964 - byte var17 = 0; // L: 2965 - if (var15.startsWith("yellow:")) { // L: 2966 - var17 = 0; // L: 2967 - var3 = var3.substring("yellow:".length()); // L: 2968 - } else if (var15.startsWith("red:")) { // L: 2970 - var17 = 1; // L: 2971 - var3 = var3.substring("red:".length()); // L: 2972 - } else if (var15.startsWith("green:")) { // L: 2974 - var17 = 2; // L: 2975 - var3 = var3.substring("green:".length()); // L: 2976 - } else if (var15.startsWith("cyan:")) { // L: 2978 - var17 = 3; // L: 2979 - var3 = var3.substring("cyan:".length()); // L: 2980 - } else if (var15.startsWith("purple:")) { // L: 2982 - var17 = 4; // L: 2983 - var3 = var3.substring("purple:".length()); // L: 2984 - } else if (var15.startsWith("white:")) { // L: 2986 - var17 = 5; // L: 2987 - var3 = var3.substring("white:".length()); // L: 2988 - } else if (var15.startsWith("flash1:")) { // L: 2990 - var17 = 6; // L: 2991 - var3 = var3.substring("flash1:".length()); // L: 2992 - } else if (var15.startsWith("flash2:")) { // L: 2994 - var17 = 7; // L: 2995 - var3 = var3.substring("flash2:".length()); // L: 2996 - } else if (var15.startsWith("flash3:")) { // L: 2998 - var17 = 8; // L: 2999 - var3 = var3.substring("flash3:".length()); // L: 3000 - } else if (var15.startsWith("glow1:")) { // L: 3002 - var17 = 9; // L: 3003 - var3 = var3.substring("glow1:".length()); // L: 3004 - } else if (var15.startsWith("glow2:")) { // L: 3006 - var17 = 10; // L: 3007 - var3 = var3.substring("glow2:".length()); // L: 3008 - } else if (var15.startsWith("glow3:")) { // L: 3010 - var17 = 11; // L: 3011 - var3 = var3.substring("glow3:".length()); // L: 3012 - } else if (WorldMapScaleHandler.clientLanguage != Language.Language_EN) { // L: 3014 - if (var15.startsWith("yellow:")) { // L: 3015 - var17 = 0; // L: 3016 - var3 = var3.substring("yellow:".length()); // L: 3017 - } else if (var15.startsWith("red:")) { // L: 3019 - var17 = 1; // L: 3020 - var3 = var3.substring("red:".length()); // L: 3021 - } else if (var15.startsWith("green:")) { // L: 3023 - var17 = 2; // L: 3024 - var3 = var3.substring("green:".length()); // L: 3025 - } else if (var15.startsWith("cyan:")) { // L: 3027 - var17 = 3; // L: 3028 - var3 = var3.substring("cyan:".length()); // L: 3029 - } else if (var15.startsWith("purple:")) { // L: 3031 - var17 = 4; // L: 3032 - var3 = var3.substring("purple:".length()); // L: 3033 - } else if (var15.startsWith("white:")) { // L: 3035 - var17 = 5; // L: 3036 - var3 = var3.substring("white:".length()); // L: 3037 - } else if (var15.startsWith("flash1:")) { // L: 3039 - var17 = 6; // L: 3040 - var3 = var3.substring("flash1:".length()); // L: 3041 - } else if (var15.startsWith("flash2:")) { // L: 3043 - var17 = 7; // L: 3044 - var3 = var3.substring("flash2:".length()); // L: 3045 - } else if (var15.startsWith("flash3:")) { // L: 3047 - var17 = 8; // L: 3048 - var3 = var3.substring("flash3:".length()); // L: 3049 - } else if (var15.startsWith("glow1:")) { // L: 3051 - var17 = 9; // L: 3052 - var3 = var3.substring("glow1:".length()); // L: 3053 - } else if (var15.startsWith("glow2:")) { // L: 3055 - var17 = 10; // L: 3056 - var3 = var3.substring("glow2:".length()); // L: 3057 - } else if (var15.startsWith("glow3:")) { // L: 3059 - var17 = 11; // L: 3060 - var3 = var3.substring("glow3:".length()); // L: 3061 - } - } - - var15 = var3.toLowerCase(); // L: 3064 - byte var7 = 0; // L: 3065 - if (var15.startsWith("wave:")) { // L: 3066 - var7 = 1; // L: 3067 - var3 = var3.substring("wave:".length()); // L: 3068 - } else if (var15.startsWith("wave2:")) { // L: 3070 - var7 = 2; // L: 3071 - var3 = var3.substring("wave2:".length()); // L: 3072 - } else if (var15.startsWith("shake:")) { // L: 3074 - var7 = 3; // L: 3075 - var3 = var3.substring("shake:".length()); // L: 3076 - } else if (var15.startsWith("scroll:")) { // L: 3078 - var7 = 4; // L: 3079 - var3 = var3.substring("scroll:".length()); // L: 3080 - } else if (var15.startsWith("slide:")) { // L: 3082 - var7 = 5; // L: 3083 - var3 = var3.substring("slide:".length()); // L: 3084 - } else if (Language.Language_EN != WorldMapScaleHandler.clientLanguage) { // L: 3086 - if (var15.startsWith("wave:")) { // L: 3087 - var7 = 1; // L: 3088 - var3 = var3.substring("wave:".length()); // L: 3089 - } else if (var15.startsWith("wave2:")) { // L: 3091 - var7 = 2; // L: 3092 - var3 = var3.substring("wave2:".length()); // L: 3093 - } else if (var15.startsWith("shake:")) { // L: 3095 - var7 = 3; // L: 3096 - var3 = var3.substring("shake:".length()); // L: 3097 - } else if (var15.startsWith("scroll:")) { // L: 3099 - var7 = 4; // L: 3100 - var3 = var3.substring("scroll:".length()); // L: 3101 - } else if (var15.startsWith("slide:")) { // L: 3103 - var7 = 5; // L: 3104 - var3 = var3.substring("slide:".length()); // L: 3105 - } - } - - PacketBufferNode var8 = ItemContainer.getPacketBufferNode(ClientPacket.field2304, Client.packetWriter.isaacCipher); // L: 3109 - var8.packetBuffer.writeByte(0); // L: 3110 - int var9 = var8.packetBuffer.offset; // L: 3111 - var8.packetBuffer.writeByte(var11); // L: 3112 - var8.packetBuffer.writeByte(var17); // L: 3113 - var8.packetBuffer.writeByte(var7); // L: 3114 - UrlRequester.method3383(var8.packetBuffer, var3); // L: 3115 - var8.packetBuffer.writeLengthByte(var8.packetBuffer.offset - var9); // L: 3116 - Client.packetWriter.addNode(var8); // L: 3117 - return 1; // L: 3118 - } else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) { // L: 3120 - Interpreter.Interpreter_stringStackSize -= 2; // L: 3121 - var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize]; // L: 3122 - String var4 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1]; // L: 3123 - PacketBufferNode var5 = ItemContainer.getPacketBufferNode(ClientPacket.field2230, Client.packetWriter.isaacCipher); // L: 3125 - var5.packetBuffer.writeShort(0); // L: 3126 - int var6 = var5.packetBuffer.offset; // L: 3127 - var5.packetBuffer.writeStringCp1252NullTerminated(var3); // L: 3128 - UrlRequester.method3383(var5.packetBuffer, var4); // L: 3129 - var5.packetBuffer.writeLengthShort(var5.packetBuffer.offset - var6); // L: 3130 - Client.packetWriter.addNode(var5); // L: 3131 - return 1; // L: 3132 - } else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) { // L: 3134 - if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) { // L: 3141 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Client.tradeChatMode; // L: 3142 - return 1; // L: 3143 - } else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) { // L: 3145 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3146 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Canvas.Messages_getHistorySize(var10); // L: 3147 - return 1; // L: 3148 - } else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) { // L: 3150 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3151 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Calendar.Messages_getNextChatID(var10); // L: 3152 - return 1; // L: 3153 - } else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) { // L: 3155 - var10 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3156 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = class39.Messages_getLastChatID(var10); // L: 3157 - return 1; // L: 3158 - } else if (var0 == ScriptOpcodes.DOCHEAT) { // L: 3160 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 3161 - SecureRandomCallable.doCheat(var3); // L: 3162 - return 1; // L: 3163 - } else if (var0 == ScriptOpcodes.CHAT_SETMESSAGEFILTER) { // L: 3165 - Client.field871 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize].toLowerCase().trim(); // L: 3166 - return 1; // L: 3167 - } else if (var0 == ScriptOpcodes.CHAT_GETMESSAGEFILTER) { // L: 3169 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = Client.field871; // L: 3170 - return 1; // L: 3171 - } else if (var0 == ScriptOpcodes.DEBUGMES) { // L: 3173 - var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; // L: 3174 - System.out.println(var3); // L: 3175 - return 1; // L: 3176 - } else { - return 2; // L: 3178 - } - } else { - if (PlayerComposition.localPlayer != null && PlayerComposition.localPlayer.username != null) { // L: 3136 - var3 = PlayerComposition.localPlayer.username.getName(); - } else { - var3 = ""; // L: 3137 - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3; // L: 3138 - return 1; // L: 3139 - } - } - } - } + } } diff --git a/runescape-client/src/main/java/class277.java b/runescape-client/src/main/java/class277.java index 358fba78e8..8cf796820a 100644 --- a/runescape-client/src/main/java/class277.java +++ b/runescape-client/src/main/java/class277.java @@ -1,32 +1,39 @@ +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("jh") +@ObfuscatedName("jm") public class class277 { - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-1829984749" - ) - static int method5005(int var0, Script var1, boolean var2) { - Widget var3 = var2 ? PlayerComposition.scriptDotWidget : VarcInt.scriptActiveWidget; // L: 1106 - if (var0 == ScriptOpcodes.CC_GETINVOBJECT) { // L: 1107 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.itemId; // L: 1108 - return 1; // L: 1109 - } else if (var0 == ScriptOpcodes.CC_GETINVCOUNT) { // L: 1111 - if (var3.itemId != -1) { // L: 1112 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.itemQuantity; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 1113 - } + @ObfuscatedName("i") + @ObfuscatedSignature( + descriptor = "Lhz;" + ) + @Export("scriptDotWidget") + static Widget scriptDotWidget; - return 1; // L: 1114 - } else if (var0 == ScriptOpcodes.CC_GETID) { // L: 1116 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var3.childIndex; // L: 1117 - return 1; // L: 1118 - } else { - return 2; // L: 1120 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BILjava/lang/CharSequence;I)I", + garbageValue = "1470841417" + ) + public static int method5192(byte[] var0, int var1, CharSequence var2) { + int var3 = var2.length(); + int var4 = var1; + + for(int var5 = 0; var5 < var3; ++var5) { + char var6 = var2.charAt(var5); + if (var6 <= 127) { + var0[var4++] = (byte)var6; + } else if (var6 <= 2047) { + var0[var4++] = (byte)(192 | var6 >> 6); + var0[var4++] = (byte)(128 | var6 & 63); + } else { + var0[var4++] = (byte)(224 | var6 >> 12); + var0[var4++] = (byte)(128 | var6 >> 6 & 63); + var0[var4++] = (byte)(128 | var6 & 63); + } + } + + return var4 - var1; + } } diff --git a/runescape-client/src/main/java/class278.java b/runescape-client/src/main/java/class278.java deleted file mode 100644 index babd1df9eb..0000000000 --- a/runescape-client/src/main/java/class278.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; -import net.runelite.mapping.ObfuscatedName; - -@ObfuscatedName("jo") -public class class278 { - @ObfuscatedName("er") - @ObfuscatedGetter( - intValue = 1418794593 - ) - @Export("port1") - static int port1; -} diff --git a/runescape-client/src/main/java/class279.java b/runescape-client/src/main/java/class279.java deleted file mode 100644 index 19c746ab4d..0000000000 --- a/runescape-client/src/main/java/class279.java +++ /dev/null @@ -1,60 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ja") -public class class279 { - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/CharSequence;B)I", - garbageValue = "7" - ) - @Export("parseInt") - public static int parseInt(CharSequence var0) { - return World.parseIntCustomRadix(var0, 10, true); // L: 76 - } - - @ObfuscatedName("kr") - @ObfuscatedSignature( - descriptor = "(Lhe;I)V", - garbageValue = "-625858082" - ) - static final void method5006(Widget var0) { - int var1 = var0.contentType; // L: 10749 - if (var1 == 324) { // L: 10750 - if (Client.field813 == -1) { // L: 10751 - Client.field813 = var0.spriteId2; // L: 10752 - Client.field911 = var0.spriteId; // L: 10753 - } - - if (Client.playerComposition.isFemale) { // L: 10755 - var0.spriteId2 = Client.field813; - } else { - var0.spriteId2 = Client.field911; // L: 10756 - } - - } else if (var1 == 325) { // L: 10759 - if (Client.field813 == -1) { // L: 10760 - Client.field813 = var0.spriteId2; // L: 10761 - Client.field911 = var0.spriteId; // L: 10762 - } - - if (Client.playerComposition.isFemale) { // L: 10764 - var0.spriteId2 = Client.field911; - } else { - var0.spriteId2 = Client.field813; // L: 10765 - } - - } else if (var1 == 327) { // L: 10768 - var0.modelAngleX = 150; // L: 10769 - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; // L: 10770 - var0.modelType = 5; // L: 10771 - var0.modelId = 0; // L: 10772 - } else if (var1 == 328) { // L: 10775 - var0.modelAngleX = 150; // L: 10776 - var0.modelAngleY = (int)(Math.sin((double)Client.cycle / 40.0D) * 256.0D) & 2047; // L: 10777 - var0.modelType = 5; // L: 10778 - var0.modelId = 1; // L: 10779 - } - } // L: 10757 10766 10773 10780 10782 -} diff --git a/runescape-client/src/main/java/class280.java b/runescape-client/src/main/java/class280.java deleted file mode 100644 index 5d7649b69b..0000000000 --- a/runescape-client/src/main/java/class280.java +++ /dev/null @@ -1,16 +0,0 @@ -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("jg") -public class class280 { - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lib;Ljava/lang/String;Ljava/lang/String;B)[Llm;", - garbageValue = "0" - ) - public static SpritePixels[] method5008(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); // L: 139 - int var4 = var0.getFileId(var3, var2); // L: 140 - return ClientPreferences.method1918(var0, var3, var4); // L: 141 - } -} diff --git a/runescape-client/src/main/java/class281.java b/runescape-client/src/main/java/class281.java new file mode 100644 index 0000000000..85f5a99a80 --- /dev/null +++ b/runescape-client/src/main/java/class281.java @@ -0,0 +1,76 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("jq") +public class class281 { + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Ljj;", + garbageValue = "-723955175" + ) + @Export("ItemDefinition_get") + public static ItemComposition ItemDefinition_get(int var0) { + ItemComposition var1 = (ItemComposition)ItemComposition.ItemDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = class299.ItemDefinition_archive.takeFile(10, var0); + var1 = new ItemComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } + + var1.post(); + if (var1.noteTemplate != -1) { + var1.genCert(ItemDefinition_get(var1.noteTemplate), ItemDefinition_get(var1.note)); + } + + if (var1.notedId != -1) { + var1.genBought(ItemDefinition_get(var1.notedId), ItemDefinition_get(var1.unnotedId)); + } + + if (var1.placeholderTemplate != -1) { + var1.genPlaceholder(ItemDefinition_get(var1.placeholderTemplate), ItemDefinition_get(var1.placeholder)); + } + + if (!Bounds.ItemDefinition_inMembersWorld && var1.isMembersOnly) { + var1.name = "Members object"; + var1.isTradable = false; + var1.groundActions = null; + var1.inventoryActions = null; + var1.shiftClickIndex = -1; + var1.team = 0; + if (var1.params != null) { + boolean var3 = false; + + for(Node var4 = var1.params.first(); var4 != null; var4 = var1.params.next()) { + ParamComposition var5 = AbstractArchive.getParamDefinition((int)var4.key); + if (var5.autoDisable) { + var4.remove(); + } else { + var3 = true; + } + } + + if (!var3) { + var1.params = null; + } + } + } + + ItemComposition.ItemDefinition_cached.put(var1, (long)var0); + return var1; + } + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(CI)Z", + garbageValue = "-610394630" + ) + public static final boolean method5194(char var0) { + return var0 == 160 || var0 == ' ' || var0 == '_' || var0 == '-'; + } +} diff --git a/runescape-client/src/main/java/class297.java b/runescape-client/src/main/java/class297.java index 164fc0212a..cfb17dc62d 100644 --- a/runescape-client/src/main/java/class297.java +++ b/runescape-client/src/main/java/class297.java @@ -2,12 +2,12 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kp") +@ObfuscatedName("kw") public class class297 { - @ObfuscatedName("fu") - @ObfuscatedSignature( - descriptor = "Lku;" - ) - @Export("fontPlain11") - static Font fontPlain11; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lls;" + ) + @Export("NetCache_socket") + public static AbstractSocket NetCache_socket; } diff --git a/runescape-client/src/main/java/class298.java b/runescape-client/src/main/java/class298.java index e2a6541a1f..a35e42665d 100644 --- a/runescape-client/src/main/java/class298.java +++ b/runescape-client/src/main/java/class298.java @@ -2,29 +2,26 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kq") +@ObfuscatedName("kb") public class class298 { - @ObfuscatedName("h") - @Export("cp1252AsciiExtension") - public static final char[] cp1252AsciiExtension; + @ObfuscatedName("n") + @Export("cp1252AsciiExtension") + public static final char[] cp1252AsciiExtension = new char[]{'€', '\u0000', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '\u0000', 'Ž', '\u0000', '\u0000', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '\u0000', 'ž', 'Ÿ'}; - static { - cp1252AsciiExtension = new char[]{'€', '\u0000', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰', 'Š', '‹', 'Œ', '\u0000', 'Ž', '\u0000', '\u0000', '‘', '’', '“', '”', '•', '–', '—', '˜', '™', 'š', '›', 'œ', '\u0000', 'ž', 'Ÿ'}; // L: 4 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Throwable;Ljava/lang/String;)Lmr;" + ) + @Export("newRunException") + public static RunException newRunException(Throwable var0, String var1) { + RunException var2; + if (var0 instanceof RunException) { + var2 = (RunException)var0; + var2.message = var2.message + ' ' + var1; + } else { + var2 = new RunException(var0, var1); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)J", - garbageValue = "255749540" - ) - @Export("currentTimeMillis") - public static final synchronized long currentTimeMillis() { - long var0 = System.currentTimeMillis(); // L: 14 - if (var0 < class307.field3744) { // L: 15 - class307.field3743 += class307.field3744 - var0; // L: 16 - } - - class307.field3744 = var0; // L: 18 - return var0 + class307.field3743; // L: 19 - } + return var2; + } } diff --git a/runescape-client/src/main/java/class299.java b/runescape-client/src/main/java/class299.java index fdbeb0e0a8..6b2613e41e 100644 --- a/runescape-client/src/main/java/class299.java +++ b/runescape-client/src/main/java/class299.java @@ -1,21 +1,25 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kk") +@ObfuscatedName("kf") public final class class299 { - @ObfuscatedName("h") - @Export("base37Table") - static final char[] base37Table; - @ObfuscatedName("v") - static long[] field3690; + @ObfuscatedName("n") + @Export("base37Table") + public static final char[] base37Table = new char[]{'_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; + @ObfuscatedName("v") + static long[] field3683 = new long[12]; + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("ItemDefinition_archive") + public static AbstractArchive ItemDefinition_archive; - static { - base37Table = new char[]{'_', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; // L: 4 - field3690 = new long[12]; // L: 5 + static { + for(int var0 = 0; var0 < field3683.length; ++var0) { + field3683[var0] = (long)Math.pow(37.0D, (double)var0); + } - for (int var0 = 0; var0 < field3690.length; ++var0) { // L: 8 - field3690[var0] = (long)Math.pow(37.0D, (double)var0); - } - - } // L: 9 + } } diff --git a/runescape-client/src/main/java/class3.java b/runescape-client/src/main/java/class3.java index 3a2ab41ce7..a8a1a08c21 100644 --- a/runescape-client/src/main/java/class3.java +++ b/runescape-client/src/main/java/class3.java @@ -1,305 +1,209 @@ -import java.util.Date; +import java.io.File; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("w") +@ObfuscatedName("c") public class class3 implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lw;" - ) - public static final class3 field12; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lw;" - ) - public static final class3 field13; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lw;" - ) - public static final class3 field8; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -393546789 - ) - final int field9; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = 1940834259 - ) - public final int field10; - @ObfuscatedName("j") - public final Class field6; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "Lh;" - ) - final class0 field14; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lc;" + ) + public static final class3 field26 = new class3(1, 0, Integer.class, new class1()); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lc;" + ) + public static final class3 field17 = new class3(0, 1, Long.class, new class2()); + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lc;" + ) + public static final class3 field18 = new class3(2, 2, String.class, new class4()); + @ObfuscatedName("gj") + @ObfuscatedGetter( + intValue = 585723225 + ) + static int field24; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -313002573 + ) + final int field19; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = 252641843 + ) + public final int field22; + @ObfuscatedName("h") + public final Class field21; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Ln;" + ) + final class0 field20; - static { - field12 = new class3(0, 0, Integer.class, new class1()); // L: 10 - field13 = new class3(1, 1, Long.class, new class2()); // L: 23 - field8 = new class3(2, 2, String.class, new class4()); - } + @ObfuscatedSignature( + descriptor = "(IILjava/lang/Class;Ln;)V" + ) + class3(int var1, int var2, Class var3, class0 var4) { + this.field19 = var1; + this.field22 = var2; + this.field21 = var3; + this.field20 = var4; + } - @ObfuscatedSignature( - descriptor = "(IILjava/lang/Class;Lh;)V" - ) - class3(int var1, int var2, Class var3, class0 var4) { - this.field9 = var1; // L: 55 - this.field10 = var2; // L: 56 - this.field6 = var3; // L: 57 - this.field14 = var4; // L: 58 - } // L: 59 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field22; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field10; // L: 93 - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(Lkx;S)Ljava/lang/Object;", + garbageValue = "8209" + ) + public Object method32(Buffer var1) { + return this.field20.vmethod45(var1); + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lkj;I)Ljava/lang/Object;", - garbageValue = "1456492535" - ) - public Object method28(Buffer var1) { - return this.field14.vmethod48(var1); // L: 97 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lkx;I)V", + garbageValue = "1884916613" + ) + public static void method30(Object var0, Buffer var1) { + Class var3 = var0.getClass(); + class3[] var5 = new class3[]{field18, field26, field17}; + class3[] var6 = var5; + int var7 = 0; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "72391209" - ) - public static void method43() { - if (MouseHandler.MouseHandler_instance != null) { - synchronized(MouseHandler.MouseHandler_instance) { - MouseHandler.MouseHandler_instance = null; // L: 39 - } // L: 40 - } + class3 var4; + while(true) { + if (var7 >= var6.length) { + var4 = null; + break; + } - } // L: 42 + class3 var8 = var6[var7]; + if (var3 == var8.field21) { + var4 = var8; + break; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lkj;I)V", - garbageValue = "-1494098506" - ) - public static void method25(Object var0, Buffer var1) { - class0 var2 = method37(var0.getClass()); // L: 62 - var2.vmethod49(var0, var1); // L: 63 - } // L: 64 + ++var7; + } - @ObfuscatedName("h") - public static String method40(long var0) { - Calendar.Calendar_calendar.setTime(new Date(var0)); // L: 30 - int var2 = Calendar.Calendar_calendar.get(7); // L: 31 - int var3 = Calendar.Calendar_calendar.get(5); // L: 32 - int var4 = Calendar.Calendar_calendar.get(2); // L: 33 - int var5 = Calendar.Calendar_calendar.get(1); // L: 34 - int var6 = Calendar.Calendar_calendar.get(11); // L: 35 - int var7 = Calendar.Calendar_calendar.get(12); // L: 36 - int var8 = Calendar.Calendar_calendar.get(13); // L: 37 - return Calendar.DAYS_OF_THE_WEEK[var2 - 1] + ", " + var3 / 10 + var3 % 10 + "-" + Calendar.MONTH_NAMES_ENGLISH_GERMAN[0][var4] + "-" + var5 + " " + var6 / 10 + var6 % 10 + ":" + var7 / 10 + var7 % 10 + ":" + var8 / 10 + var8 % 10 + " GMT"; // L: 38 - } + if (var4 == null) { + throw new IllegalArgumentException(); + } else { + class0 var2 = var4.field20; + var2.vmethod48(var0, var1); + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Class;I)Lh;", - garbageValue = "1667520167" - ) - static class0 method37(Class var0) { - class3[] var2 = new class3[]{field13, field12, field8}; // L: 72 - class3[] var3 = var2; // L: 74 - int var4 = 0; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/io/File;B)V", + garbageValue = "1" + ) + static void method36(File var0) { + FileSystem.FileSystem_cacheDir = var0; + if (!FileSystem.FileSystem_cacheDir.exists()) { + throw new RuntimeException(""); + } else { + FileSystem.FileSystem_hasPermissions = true; + } + } - class3 var1; - while (true) { - if (var4 >= var3.length) { - var1 = null; // L: 85 - break; - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;I)V", + garbageValue = "614126080" + ) + public static void method41(AbstractArchive var0, AbstractArchive var1) { + NPCComposition.NpcDefinition_archive = var0; + NPCComposition.NpcDefinition_modelArchive = var1; + } - class3 var5 = var3[var4]; // L: 76 - if (var5.field6 == var0) { // L: 78 - var1 = var5; // L: 79 - break; - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/CharSequence;B)[B", + garbageValue = "-110" + ) + public static byte[] method40(CharSequence var0) { + int var1 = var0.length(); + byte[] var2 = new byte[var1]; - ++var4; // L: 75 - } + for(int var3 = 0; var3 < var1; ++var3) { + char var4 = var0.charAt(var3); + if (var4 > 0 && var4 < 128 || var4 >= 160 && var4 <= 255) { + var2[var3] = (byte)var4; + } else if (var4 == 8364) { + var2[var3] = -128; + } else if (var4 == 8218) { + var2[var3] = -126; + } else if (var4 == 402) { + var2[var3] = -125; + } else if (var4 == 8222) { + var2[var3] = -124; + } else if (var4 == 8230) { + var2[var3] = -123; + } else if (var4 == 8224) { + var2[var3] = -122; + } else if (var4 == 8225) { + var2[var3] = -121; + } else if (var4 == 710) { + var2[var3] = -120; + } else if (var4 == 8240) { + var2[var3] = -119; + } else if (var4 == 352) { + var2[var3] = -118; + } else if (var4 == 8249) { + var2[var3] = -117; + } else if (var4 == 338) { + var2[var3] = -116; + } else if (var4 == 381) { + var2[var3] = -114; + } else if (var4 == 8216) { + var2[var3] = -111; + } else if (var4 == 8217) { + var2[var3] = -110; + } else if (var4 == 8220) { + var2[var3] = -109; + } else if (var4 == 8221) { + var2[var3] = -108; + } else if (var4 == 8226) { + var2[var3] = -107; + } else if (var4 == 8211) { + var2[var3] = -106; + } else if (var4 == 8212) { + var2[var3] = -105; + } else if (var4 == 732) { + var2[var3] = -104; + } else if (var4 == 8482) { + var2[var3] = -103; + } else if (var4 == 353) { + var2[var3] = -102; + } else if (var4 == 8250) { + var2[var3] = -101; + } else if (var4 == 339) { + var2[var3] = -100; + } else if (var4 == 382) { + var2[var3] = -98; + } else if (var4 == 376) { + var2[var3] = -97; + } else { + var2[var3] = 63; + } + } - if (var1 == null) { - throw new IllegalArgumentException(); - } else { - return var1.field14; - } - } - - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1239840122" - ) - public static final void method41(int var0, int var1) { - ViewportMouse.ViewportMouse_x = var0; // L: 87 - ViewportMouse.ViewportMouse_y = var1; // L: 88 - ViewportMouse.ViewportMouse_isInViewport = true; // L: 89 - ViewportMouse.ViewportMouse_entityCount = 0; // L: 90 - ViewportMouse.ViewportMouse_false0 = false; // L: 91 - } // L: 92 - - @ObfuscatedName("hv") - @ObfuscatedSignature( - descriptor = "(Lbq;B)Z", - garbageValue = "0" - ) - static boolean method42(Player var0) { - if (Client.drawPlayerNames == 0) { // L: 4799 - return false; - } else if (PlayerComposition.localPlayer != var0) { // L: 4800 - boolean var1 = (Client.drawPlayerNames & 4) != 0; // L: 4803 - boolean var2 = var1; // L: 4805 - if (!var1) { // L: 4806 - boolean var3 = (Client.drawPlayerNames & 1) != 0; // L: 4809 - var2 = var3 && var0.isFriend(); // L: 4811 - } - - return var2 || RouteStrategy.method3649() && var0.isClanMember(); // L: 4813 - } else { - return MouseHandler.method1150(); // L: 4815 - } - } - - @ObfuscatedName("is") - @ObfuscatedSignature( - descriptor = "(IIIILjava/lang/String;I)V", - garbageValue = "2076133641" - ) - @Export("widgetDefaultMenuAction") - static void widgetDefaultMenuAction(int var0, int var1, int var2, int var3, String var4) { - Widget var5 = class92.getWidgetChild(var1, var2); // L: 8368 - if (var5 != null) { // L: 8369 - if (var5.onOp != null) { // L: 8370 - ScriptEvent var6 = new ScriptEvent(); // L: 8371 - var6.widget = var5; // L: 8372 - var6.opIndex = var0; // L: 8373 - var6.targetName = var4; // L: 8374 - var6.args = var5.onOp; // L: 8375 - class22.runScriptEvent(var6); // L: 8376 - } - - boolean var11 = true; // L: 8378 - if (var5.contentType > 0) { // L: 8379 - var11 = HealthBarUpdate.method1825(var5); - } - - if (var11) { // L: 8380 - int var8 = FaceNormal.getWidgetFlags(var5); // L: 8382 - int var9 = var0 - 1; // L: 8383 - boolean var7 = (var8 >> var9 + 1 & 1) != 0; // L: 8385 - if (var7) { // L: 8387 - PacketBufferNode var10; - if (var0 == 1) { // L: 8390 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2240, Client.packetWriter.isaacCipher); // L: 8392 - var10.packetBuffer.writeInt(var1); // L: 8393 - var10.packetBuffer.writeShort(var2); // L: 8394 - var10.packetBuffer.writeShort(var3); // L: 8395 - Client.packetWriter.addNode(var10); // L: 8396 - } - - if (var0 == 2) { // L: 8398 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2286, Client.packetWriter.isaacCipher); // L: 8400 - var10.packetBuffer.writeInt(var1); // L: 8401 - var10.packetBuffer.writeShort(var2); // L: 8402 - var10.packetBuffer.writeShort(var3); // L: 8403 - Client.packetWriter.addNode(var10); // L: 8404 - } - - if (var0 == 3) { // L: 8406 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2249, Client.packetWriter.isaacCipher); // L: 8408 - var10.packetBuffer.writeInt(var1); // L: 8409 - var10.packetBuffer.writeShort(var2); // L: 8410 - var10.packetBuffer.writeShort(var3); // L: 8411 - Client.packetWriter.addNode(var10); // L: 8412 - } - - if (var0 == 4) { // L: 8414 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2320, Client.packetWriter.isaacCipher); // L: 8416 - var10.packetBuffer.writeInt(var1); // L: 8417 - var10.packetBuffer.writeShort(var2); // L: 8418 - var10.packetBuffer.writeShort(var3); // L: 8419 - Client.packetWriter.addNode(var10); // L: 8420 - } - - if (var0 == 5) { // L: 8422 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2247, Client.packetWriter.isaacCipher); // L: 8424 - var10.packetBuffer.writeInt(var1); // L: 8425 - var10.packetBuffer.writeShort(var2); // L: 8426 - var10.packetBuffer.writeShort(var3); // L: 8427 - Client.packetWriter.addNode(var10); // L: 8428 - } - - if (var0 == 6) { // L: 8430 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2289, Client.packetWriter.isaacCipher); // L: 8432 - var10.packetBuffer.writeInt(var1); // L: 8433 - var10.packetBuffer.writeShort(var2); // L: 8434 - var10.packetBuffer.writeShort(var3); // L: 8435 - Client.packetWriter.addNode(var10); // L: 8436 - } - - if (var0 == 7) { // L: 8438 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2316, Client.packetWriter.isaacCipher); // L: 8440 - var10.packetBuffer.writeInt(var1); // L: 8441 - var10.packetBuffer.writeShort(var2); // L: 8442 - var10.packetBuffer.writeShort(var3); // L: 8443 - Client.packetWriter.addNode(var10); // L: 8444 - } - - if (var0 == 8) { // L: 8446 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2252, Client.packetWriter.isaacCipher); // L: 8448 - var10.packetBuffer.writeInt(var1); // L: 8449 - var10.packetBuffer.writeShort(var2); // L: 8450 - var10.packetBuffer.writeShort(var3); // L: 8451 - Client.packetWriter.addNode(var10); // L: 8452 - } - - if (var0 == 9) { // L: 8454 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2307, Client.packetWriter.isaacCipher); // L: 8456 - var10.packetBuffer.writeInt(var1); // L: 8457 - var10.packetBuffer.writeShort(var2); // L: 8458 - var10.packetBuffer.writeShort(var3); // L: 8459 - Client.packetWriter.addNode(var10); // L: 8460 - } - - if (var0 == 10) { // L: 8462 - var10 = ItemContainer.getPacketBufferNode(ClientPacket.field2231, Client.packetWriter.isaacCipher); // L: 8464 - var10.packetBuffer.writeInt(var1); // L: 8465 - var10.packetBuffer.writeShort(var2); // L: 8466 - var10.packetBuffer.writeShort(var3); // L: 8467 - Client.packetWriter.addNode(var10); // L: 8468 - } - - } - } - } - } // L: 8388 8470 - - @ObfuscatedName("jc") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "-1332893941" - ) - @Export("getTapToDrop") - static boolean getTapToDrop() { - return Client.tapToDrop; // L: 9896 - } + return var2; + } } diff --git a/runescape-client/src/main/java/class300.java b/runescape-client/src/main/java/class300.java index 8c65672303..8b65306503 100644 --- a/runescape-client/src/main/java/class300.java +++ b/runescape-client/src/main/java/class300.java @@ -1,89 +1,97 @@ import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kg") +@ObfuscatedName("kr") public class class300 { - @ObfuscatedName("h") - static char[] field3695; - @ObfuscatedName("v") - static char[] field3693; - @ObfuscatedName("x") - static char[] field3694; - @ObfuscatedName("w") - static int[] field3692; + @ObfuscatedName("n") + static char[] field3688 = new char[64]; + @ObfuscatedName("v") + static char[] field3685; + @ObfuscatedName("d") + static char[] field3686; + @ObfuscatedName("c") + static int[] field3687; - static { - field3695 = new char[64]; // L: 7 + static { + int var0; + for(var0 = 0; var0 < 26; ++var0) { + field3688[var0] = (char)(var0 + 65); + } - int var0; - for (var0 = 0; var0 < 26; ++var0) { // L: 8 - field3695[var0] = (char)(var0 + 65); - } + for(var0 = 26; var0 < 52; ++var0) { + field3688[var0] = (char)(var0 + 97 - 26); + } - for (var0 = 26; var0 < 52; ++var0) { // L: 9 - field3695[var0] = (char)(var0 + 97 - 26); - } + for(var0 = 52; var0 < 62; ++var0) { + field3688[var0] = (char)(var0 + 48 - 52); + } - for (var0 = 52; var0 < 62; ++var0) { // L: 10 - field3695[var0] = (char)(var0 + 48 - 52); - } + field3688[62] = '+'; + field3688[63] = '/'; + field3685 = new char[64]; - field3695[62] = '+'; // L: 11 - field3695[63] = '/'; // L: 12 - field3693 = new char[64]; // L: 18 + for(var0 = 0; var0 < 26; ++var0) { + field3685[var0] = (char)(var0 + 65); + } - for (var0 = 0; var0 < 26; ++var0) { // L: 19 - field3693[var0] = (char)(var0 + 65); - } + for(var0 = 26; var0 < 52; ++var0) { + field3685[var0] = (char)(var0 + 97 - 26); + } - for (var0 = 26; var0 < 52; ++var0) { // L: 20 - field3693[var0] = (char)(var0 + 97 - 26); - } + for(var0 = 52; var0 < 62; ++var0) { + field3685[var0] = (char)(var0 + 48 - 52); + } - for (var0 = 52; var0 < 62; ++var0) { // L: 21 - field3693[var0] = (char)(var0 + 48 - 52); - } + field3685[62] = '*'; + field3685[63] = '-'; + field3686 = new char[64]; - field3693[62] = '*'; // L: 22 - field3693[63] = '-'; // L: 23 - field3694 = new char[64]; // L: 29 + for(var0 = 0; var0 < 26; ++var0) { + field3686[var0] = (char)(var0 + 65); + } - for (var0 = 0; var0 < 26; ++var0) { // L: 30 - field3694[var0] = (char)(var0 + 65); - } + for(var0 = 26; var0 < 52; ++var0) { + field3686[var0] = (char)(var0 + 97 - 26); + } - for (var0 = 26; var0 < 52; ++var0) { // L: 31 - field3694[var0] = (char)(var0 + 97 - 26); - } + for(var0 = 52; var0 < 62; ++var0) { + field3686[var0] = (char)(var0 + 48 - 52); + } - for (var0 = 52; var0 < 62; ++var0) { // L: 32 - field3694[var0] = (char)(var0 + 48 - 52); - } + field3686[62] = '-'; + field3686[63] = '_'; + field3687 = new int[128]; - field3694[62] = '-'; // L: 33 - field3694[63] = '_'; // L: 34 - field3692 = new int[128]; // L: 40 + for(var0 = 0; var0 < field3687.length; ++var0) { + field3687[var0] = -1; + } - for (var0 = 0; var0 < field3692.length; ++var0) { // L: 41 - field3692[var0] = -1; - } + for(var0 = 65; var0 <= 90; ++var0) { + field3687[var0] = var0 - 65; + } - for (var0 = 65; var0 <= 90; ++var0) { // L: 42 - field3692[var0] = var0 - 65; - } + for(var0 = 97; var0 <= 122; ++var0) { + field3687[var0] = var0 - 97 + 26; + } - for (var0 = 97; var0 <= 122; ++var0) { // L: 43 - field3692[var0] = var0 - 97 + 26; - } + for(var0 = 48; var0 <= 57; ++var0) { + field3687[var0] = var0 - 48 + 52; + } - for (var0 = 48; var0 <= 57; ++var0) { // L: 44 - field3692[var0] = var0 - 48 + 52; - } + int[] var2 = field3687; + field3687[43] = 62; + var2[42] = 62; + int[] var1 = field3687; + field3687[47] = 63; + var1[45] = 63; + } - int[] var2 = field3692; // L: 45 - field3692[43] = 62; // L: 46 - var2[42] = 62; // L: 47 - int[] var1 = field3692; // L: 48 - field3692[47] = 63; // L: 49 - var1[45] = 63; // L: 50 - } // L: 51 + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;B)V", + garbageValue = "-43" + ) + static final void method5473(String var0) { + AbstractWorldMapData.addGameMessage(30, "", var0); + } } diff --git a/runescape-client/src/main/java/class301.java b/runescape-client/src/main/java/class301.java deleted file mode 100644 index 8005cc950f..0000000000 --- a/runescape-client/src/main/java/class301.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("kl") -public final class class301 { - @ObfuscatedName("bz") - @ObfuscatedSignature( - descriptor = "[Llm;" - ) - @Export("worldSelectBackSprites") - static SpritePixels[] worldSelectBackSpritePixels; -} diff --git a/runescape-client/src/main/java/class304.java b/runescape-client/src/main/java/class304.java index 74a540042a..cf8728e3fb 100644 --- a/runescape-client/src/main/java/class304.java +++ b/runescape-client/src/main/java/class304.java @@ -1,42 +1,90 @@ -import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kw") +@ObfuscatedName("kn") public class class304 { - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(Lib;III)Z", - garbageValue = "975575420" - ) - public static boolean method5363(AbstractArchive var0, int var1, int var2) { - byte[] var3 = var0.takeFile(var1, var2); // L: 201 - if (var3 == null) { - return false; // L: 202 - } else { - class232.SpriteBuffer_decode(var3); // L: 203 - return true; // L: 204 - } - } - - @ObfuscatedName("kx") - @ObfuscatedSignature( - descriptor = "(II)V", - garbageValue = "-969839782" - ) - @Export("Widget_resetModelFrames") - static final void Widget_resetModelFrames(int var0) { - if (class41.loadInterface(var0)) { // L: 10580 - Widget[] var1 = class9.Widget_interfaceComponents[var0]; // L: 10581 - - for (int var2 = 0; var2 < var1.length; ++var2) { // L: 10582 - Widget var3 = var1[var2]; // L: 10583 - if (var3 != null) { // L: 10584 - var3.modelFrame = 0; // L: 10585 - var3.modelFrameCycle = 0; // L: 10586 - } - } - - } - } // L: 10588 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-1784292523" + ) + static int method5507(int var0, Script var1, boolean var2) { + if (var0 < 1000) { + return class228.method4309(var0, var1, var2); + } else if (var0 < 1100) { + return class4.method53(var0, var1, var2); + } else if (var0 < 1200) { + return class90.method2193(var0, var1, var2); + } else if (var0 < 1300) { + return class197.method3844(var0, var1, var2); + } else if (var0 < 1400) { + return AbstractWorldMapData.method350(var0, var1, var2); + } else if (var0 < 1500) { + return WorldMapSection1.method679(var0, var1, var2); + } else if (var0 < 1600) { + return AbstractWorldMapIcon.method713(var0, var1, var2); + } else if (var0 < 1700) { + return class9.method98(var0, var1, var2); + } else if (var0 < 1800) { + return PendingSpawn.method1845(var0, var1, var2); + } else if (var0 < 1900) { + return Huffman.method4157(var0, var1, var2); + } else if (var0 < 2000) { + return BuddyRankComparator.method3622(var0, var1, var2); + } else if (var0 < 2100) { + return class4.method53(var0, var1, var2); + } else if (var0 < 2200) { + return class90.method2193(var0, var1, var2); + } else if (var0 < 2300) { + return class197.method3844(var0, var1, var2); + } else if (var0 < 2400) { + return AbstractWorldMapData.method350(var0, var1, var2); + } else if (var0 < 2500) { + return WorldMapSection1.method679(var0, var1, var2); + } else if (var0 < 2600) { + return BuddyRankComparator.method3621(var0, var1, var2); + } else if (var0 < 2700) { + return PlayerType.method4346(var0, var1, var2); + } else if (var0 < 2800) { + return MouseHandler.method1174(var0, var1, var2); + } else if (var0 < 2900) { + return Login.method2223(var0, var1, var2); + } else if (var0 < 3000) { + return BuddyRankComparator.method3622(var0, var1, var2); + } else if (var0 < 3200) { + return MusicPatchPcmStream.method4118(var0, var1, var2); + } else if (var0 < 3300) { + return ApproximateRouteStrategy.method1313(var0, var1, var2); + } else if (var0 < 3400) { + return Strings.method4326(var0, var1, var2); + } else if (var0 < 3500) { + return WorldMapManager.method746(var0, var1, var2); + } else if (var0 < 3700) { + return Occluder.method3447(var0, var1, var2); + } else if (var0 < 3800) { + return class2.method25(var0, var1, var2); + } else if (var0 < 4000) { + return class219.method4173(var0, var1, var2); + } else if (var0 < 4100) { + return JagexCache.method3686(var0, var1, var2); + } else if (var0 < 4200) { + return HorizontalAlignment.method4924(var0, var1, var2); + } else if (var0 < 4300) { + return Tiles.method1215(var0, var1, var2); + } else if (var0 < 5100) { + return PendingSpawn.method1846(var0, var1, var2); + } else if (var0 < 5400) { + return ScriptFrame.method1221(var0, var1, var2); + } else if (var0 < 5600) { + return WorldMapIcon_0.method285(var0, var1, var2); + } else if (var0 < 5700) { + return Widget.method4292(var0, var1, var2); + } else if (var0 < 6300) { + return ApproximateRouteStrategy.method1315(var0, var1, var2); + } else if (var0 < 6600) { + return Client.method1839(var0, var1, var2); + } else { + return var0 < 6700 ? class195.method3821(var0, var1, var2) : 2; + } + } } diff --git a/runescape-client/src/main/java/class307.java b/runescape-client/src/main/java/class307.java index 3a60d2af2f..ffb64e20a0 100644 --- a/runescape-client/src/main/java/class307.java +++ b/runescape-client/src/main/java/class307.java @@ -3,68 +3,26 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("kh") +@ObfuscatedName("kc") public final class class307 { - @ObfuscatedName("h") - @ObfuscatedGetter( - longValue = 121846517821844607L - ) - static long field3744; - @ObfuscatedName("v") - @ObfuscatedGetter( - longValue = -4671105179371596943L - ) - static long field3743; - @ObfuscatedName("ju") - @ObfuscatedSignature( - descriptor = "Ldk;" - ) - @Export("textureProvider") - static TextureProvider textureProvider; + @ObfuscatedName("n") + @ObfuscatedGetter( + longValue = -5661179998477145969L + ) + static long field3734; + @ObfuscatedName("v") + @ObfuscatedGetter( + longValue = -6375840099148594553L + ) + static long field3735; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lky;I)V", - garbageValue = "-206079776" - ) - @Export("updatePlayer") - static final void updatePlayer(PacketBuffer var0) { - var0.importIndex(); // L: 37 - int var1 = Client.localPlayerIndex; // L: 38 - Player var2 = PlayerComposition.localPlayer = Client.players[var1] = new Player(); // L: 39 - var2.index = var1; // L: 40 - int var3 = var0.readBits(30); // L: 41 - byte var4 = (byte)(var3 >> 28); // L: 42 - int var5 = var3 >> 14 & 16383; // L: 43 - int var6 = var3 & 16383; // L: 44 - var2.pathX[0] = var5 - NetFileRequest.baseX; // L: 45 - var2.x = (var2.pathX[0] << 7) + (var2.transformedSize() << 6); // L: 46 - var2.pathY[0] = var6 - class41.baseY; // L: 47 - var2.y = (var2.pathY[0] << 7) + (var2.transformedSize() << 6); // L: 48 - GameObject.Client_plane = var2.plane = var4; // L: 49 - if (Players.field1254[var1] != null) { // L: 50 - var2.read(Players.field1254[var1]); - } - - Players.Players_count = 0; // L: 51 - Players.Players_indices[++Players.Players_count - 1] = var1; // L: 52 - Players.field1252[var1] = 0; // L: 53 - Players.Players_emptyIdxCount = 0; // L: 54 - - for (int var7 = 1; var7 < 2048; ++var7) { // L: 55 - if (var1 != var7) { // L: 56 - int var8 = var0.readBits(18); // L: 57 - int var9 = var8 >> 16; // L: 58 - int var10 = var8 >> 8 & 597; // L: 59 - int var11 = var8 & 597; // L: 60 - Players.Players_regions[var7] = (var10 << 14) + var11 + (var9 << 28); // L: 61 - Players.Players_orientations[var7] = 0; // L: 62 - Players.Players_targetIndices[var7] = -1; // L: 63 - Players.Players_emptyIndices[++Players.Players_emptyIdxCount - 1] = var7; // L: 64 - Players.field1252[var7] = 0; // L: 65 - } - } - - var0.exportIndex(); // L: 67 - } // L: 68 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Llp;", + garbageValue = "1168600989" + ) + @Export("FillMode_values") + public static WidgetFillMode[] FillMode_values() { + return new WidgetFillMode[]{WidgetFillMode.field3897, WidgetFillMode.SOLID, WidgetFillMode.field3896}; + } } diff --git a/runescape-client/src/main/java/class308.java b/runescape-client/src/main/java/class308.java index 164355452d..6b1baa7c47 100644 --- a/runescape-client/src/main/java/class308.java +++ b/runescape-client/src/main/java/class308.java @@ -1,25 +1,124 @@ +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.Reflection; -@ObfuscatedName("km") +@ObfuscatedName("kh") public class class308 { - @ObfuscatedName("z") - @ObfuscatedSignature( - descriptor = "([BI)Lku;", - garbageValue = "-1217906561" - ) - static Font method5482(byte[] var0) { - if (var0 == null) { // L: 187 - return null; - } else { - Font var1 = new Font(var0, class336.SpriteBuffer_xOffsets, class336.SpriteBuffer_yOffsets, class336.SpriteBuffer_spriteWidths, class336.SpriteBuffer_spriteHeights, class336.SpriteBuffer_spritePalette, GrandExchangeEvents.SpriteBuffer_pixels); // L: 188 - class336.SpriteBuffer_xOffsets = null; // L: 190 - class336.SpriteBuffer_yOffsets = null; // L: 191 - class336.SpriteBuffer_spriteWidths = null; // L: 192 - class336.SpriteBuffer_spriteHeights = null; // L: 193 - class336.SpriteBuffer_spritePalette = null; // L: 194 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 195 - return var1; // L: 197 - } - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(Lkx;II)V", + garbageValue = "-1051867244" + ) + @Export("readReflectionCheck") + public static void readReflectionCheck(Buffer var0, int var1) { + ReflectionCheck var2 = new ReflectionCheck(); + var2.size = var0.readUnsignedByte(); + var2.id = var0.readInt(); + var2.operations = new int[var2.size]; + var2.creationErrors = new int[var2.size]; + var2.fields = new Field[var2.size]; + var2.intReplaceValues = new int[var2.size]; + var2.methods = new Method[var2.size]; + var2.arguments = new byte[var2.size][][]; + + for(int var3 = 0; var3 < var2.size; ++var3) { + try { + int var4 = var0.readUnsignedByte(); + 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] = class23.loadClassFromDescriptor(var8[var12]); + } + + Class var22 = class23.loadClassFromDescriptor(var20); + if (class23.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + Method[] var13 = class23.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 (var21[var19] != var17[var19]) { + var18 = false; + break; + } + } + + if (var18 && var22 == var16.getReturnType()) { + var2.methods[var3] = var16; + } + } + } + } + + var2.arguments[var3] = var10; + } + } else { + var5 = var0.readStringCp1252NullTerminated(); + var6 = var0.readStringCp1252NullTerminated(); + var7 = 0; + if (var4 == 1) { + var7 = var0.readInt(); + } + + var2.operations[var3] = var4; + var2.intReplaceValues[var3] = var7; + if (class23.loadClassFromDescriptor(var5).getClassLoader() == null) { + throw new SecurityException(); + } + + var2.fields[var3] = Reflection.findField(class23.loadClassFromDescriptor(var5), var6); + } + } catch (ClassNotFoundException var24) { + var2.creationErrors[var3] = -1; + } catch (SecurityException var25) { + var2.creationErrors[var3] = -2; + } catch (NullPointerException var26) { + var2.creationErrors[var3] = -3; + } catch (Exception var27) { + var2.creationErrors[var3] = -4; + } catch (Throwable var28) { + var2.creationErrors[var3] = -5; + } + } + + class105.reflectionChecks.addFirst(var2); + } } diff --git a/runescape-client/src/main/java/class311.java b/runescape-client/src/main/java/class311.java index 885b99d18d..3ddf17d3e0 100644 --- a/runescape-client/src/main/java/class311.java +++ b/runescape-client/src/main/java/class311.java @@ -1,71 +1,74 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("kd") +@ObfuscatedName("kv") public class class311 { - @ObfuscatedName("h") - @Export("writeRandomDat") - public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { - if (var2 == var0) { // L: 12 - if (var3 == var1) { // L: 13 - return; - } + @ObfuscatedName("n") + @Export("writeRandomDat") + public static void writeRandomDat(byte[] var0, int var1, byte[] var2, int var3, int var4) { + if (var2 == var0) { + if (var3 == var1) { + return; + } - if (var3 > var1 && var3 < var4 + var1) { // L: 14 - --var4; // L: 15 - var1 += var4; // L: 16 - var3 += var4; // L: 17 - var4 = var1 - var4; // L: 18 + if (var3 > var1 && var3 < var4 + var1) { + --var4; + var1 += var4; + var3 += var4; + var4 = var1 - var4; - for (var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { // L: 19 20 28 - var2[var3--] = var0[var1--]; // L: 21 - var2[var3--] = var0[var1--]; // L: 22 - var2[var3--] = var0[var1--]; // L: 23 - var2[var3--] = var0[var1--]; // L: 24 - var2[var3--] = var0[var1--]; // L: 25 - var2[var3--] = var0[var1--]; // L: 26 - var2[var3--] = var0[var1--]; // L: 27 - } + for(var4 += 7; var1 >= var4; var2[var3--] = var0[var1--]) { + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + var2[var3--] = var0[var1--]; + } - for (var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { // L: 30 31 - } + for(var4 -= 7; var1 >= var4; var2[var3--] = var0[var1--]) { + ; + } - return; // L: 32 - } - } + return; + } + } - var4 += var1; // L: 35 + var4 += var1; - for (var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { // L: 36 37 45 - var2[var3++] = var0[var1++]; // L: 38 - var2[var3++] = var0[var1++]; // L: 39 - var2[var3++] = var0[var1++]; // L: 40 - var2[var3++] = var0[var1++]; // L: 41 - var2[var3++] = var0[var1++]; // L: 42 - var2[var3++] = var0[var1++]; // L: 43 - var2[var3++] = var0[var1++]; // L: 44 - } + for(var4 -= 7; var1 < var4; var2[var3++] = var0[var1++]) { + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + var2[var3++] = var0[var1++]; + } - for (var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { // L: 47 48 - } + for(var4 += 7; var1 < var4; var2[var3++] = var0[var1++]) { + ; + } - } // L: 49 + } - @ObfuscatedName("z") - @Export("clearIntArray") - public static void clearIntArray(int[] var0, int var1, int var2) { - for (var2 = var2 + var1 - 7; var1 < var2; var0[var1++] = 0) { // L: 364 365 373 - var0[var1++] = 0; // L: 366 - var0[var1++] = 0; // L: 367 - var0[var1++] = 0; // L: 368 - var0[var1++] = 0; // L: 369 - var0[var1++] = 0; // L: 370 - var0[var1++] = 0; // L: 371 - var0[var1++] = 0; // L: 372 - } + @ObfuscatedName("l") + @Export("clearIntArray") + public static void clearIntArray(int[] var0, int var1, int var2) { + for(var2 = var2 + var1 - 7; var1 < var2; var0[var1++] = 0) { + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + var0[var1++] = 0; + } - for (var2 += 7; var1 < var2; var0[var1++] = 0) { // L: 375 376 - } + for(var2 += 7; var1 < var2; var0[var1++] = 0) { + ; + } - } // L: 377 + } } diff --git a/runescape-client/src/main/java/class323.java b/runescape-client/src/main/java/class323.java index 72366f549d..9974f9a01b 100644 --- a/runescape-client/src/main/java/class323.java +++ b/runescape-client/src/main/java/class323.java @@ -3,62 +3,62 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("lz") +@ObfuscatedName("ln") public enum class323 implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3857(2, 0), - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3853(0, 2), - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3856(4, 5), - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3854(1, 6), - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3855(3, 7), - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "Llz;" - ) - field3852(5, 8); + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3852(1, 0), + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3851(0, 2), + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3849(2, 5), + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3856(3, 6), + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3853(4, 7), + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "Lln;" + ) + field3854(5, 8); - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -1735491841 - ) - final int field3851; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = -966711557 - ) - final int field3858; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 397636239 + ) + final int field3855; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 961427767 + ) + final int field3850; - class323(int var3, int var4) { - this.field3851 = var3; // L: 18 - this.field3858 = var4; // L: 19 - } // L: 20 + class323(int var3, int var4) { + this.field3855 = var3; + this.field3850 = var4; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field3858; // L: 23 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field3850; + } } diff --git a/runescape-client/src/main/java/class330.java b/runescape-client/src/main/java/class330.java deleted file mode 100644 index 3aa05b4afb..0000000000 --- a/runescape-client/src/main/java/class330.java +++ /dev/null @@ -1,13 +0,0 @@ -import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; - -@ObfuscatedName("ly") -public class class330 { - @ObfuscatedName("dd") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive3") - static Archive archive3; -} diff --git a/runescape-client/src/main/java/class336.java b/runescape-client/src/main/java/class336.java index be13949cbd..e2caa6d9e9 100644 --- a/runescape-client/src/main/java/class336.java +++ b/runescape-client/src/main/java/class336.java @@ -2,33 +2,30 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("lh") +@ObfuscatedName("lz") public class class336 { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = -1169451727 - ) - @Export("SpriteBuffer_spriteCount") - public static int SpriteBuffer_spriteCount; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -335686915 - ) - @Export("SpriteBuffer_spriteHeight") - public static int SpriteBuffer_spriteHeight; - @ObfuscatedName("w") - @Export("SpriteBuffer_xOffsets") - public static int[] SpriteBuffer_xOffsets; - @ObfuscatedName("t") - @Export("SpriteBuffer_yOffsets") - public static int[] SpriteBuffer_yOffsets; - @ObfuscatedName("j") - @Export("SpriteBuffer_spriteWidths") - public static int[] SpriteBuffer_spriteWidths; - @ObfuscatedName("n") - @Export("SpriteBuffer_spriteHeights") - public static int[] SpriteBuffer_spriteHeights; - @ObfuscatedName("p") - @Export("SpriteBuffer_spritePalette") - public static int[] SpriteBuffer_spritePalette; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = 1826963065 + ) + @Export("SpriteBuffer_spriteCount") + static int SpriteBuffer_spriteCount; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 341867827 + ) + @Export("SpriteBuffer_spriteWidth") + static int SpriteBuffer_spriteWidth; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1978795799 + ) + @Export("SpriteBuffer_spriteHeight") + static int SpriteBuffer_spriteHeight; + @ObfuscatedName("y") + @Export("SpriteBuffer_yOffsets") + public static int[] SpriteBuffer_yOffsets; + @ObfuscatedName("h") + @Export("SpriteBuffer_spriteWidths") + public static int[] SpriteBuffer_spriteWidths; } diff --git a/runescape-client/src/main/java/class347.java b/runescape-client/src/main/java/class347.java index 08b86dfc4f..e8d3a90724 100644 --- a/runescape-client/src/main/java/class347.java +++ b/runescape-client/src/main/java/class347.java @@ -1,21 +1,19 @@ import net.runelite.mapping.ObfuscatedName; -@ObfuscatedName("mj") +@ObfuscatedName("mk") public class class347 { - @ObfuscatedName("z") - static final int[] field4060; - @ObfuscatedName("u") - static final int[] field4062; + @ObfuscatedName("l") + static final int[] field4062 = new int[2048]; + @ObfuscatedName("s") + static final int[] field4063 = new int[2048]; - static { - field4060 = new int[2048]; // L: 13 - field4062 = new int[2048]; // L: 14 - double var0 = 0.0030679615757712823D; // L: 17 + static { + double var0 = 0.0030679615757712823D; - for (int var2 = 0; var2 < 2048; ++var2) { // L: 18 - field4060[var2] = (int)(65536.0D * Math.sin((double)var2 * var0)); // L: 19 - field4062[var2] = (int)(65536.0D * Math.cos((double)var2 * var0)); // L: 20 - } + for(int var2 = 0; var2 < 2048; ++var2) { + field4062[var2] = (int)(65536.0D * Math.sin((double)var2 * var0)); + field4063[var2] = (int)(65536.0D * Math.cos((double)var2 * var0)); + } - } // L: 22 + } } diff --git a/runescape-client/src/main/java/class349.java b/runescape-client/src/main/java/class349.java index 0e11d4321c..6f6ae46ad1 100644 --- a/runescape-client/src/main/java/class349.java +++ b/runescape-client/src/main/java/class349.java @@ -1,231 +1,13 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; -import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("mw") +@ObfuscatedName("mp") public class class349 { - @ObfuscatedName("x") - static final char[] field4077; - @ObfuscatedName("w") - static final char[] field4079; - @ObfuscatedName("bd") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("worldSelectStars") - static IndexedSprite[] worldSelectStars; - - static { - field4077 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; // L: 8 - field4079 = new char[]{'[', ']', '#'}; // L: 9 - } - - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lky;II)V", - garbageValue = "2034684239" - ) - @Export("readPlayerUpdate") - static void readPlayerUpdate(PacketBuffer var0, int var1) { - boolean var2 = var0.readBits(1) == 1; // L: 199 - if (var2) { // L: 200 - Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; - } - - int var3 = var0.readBits(2); // L: 201 - Player var4 = Client.players[var1]; // L: 202 - if (var3 == 0) { // L: 203 - if (var2) { // L: 204 - var4.field631 = false; // L: 205 - } else if (Client.localPlayerIndex == var1) { // L: 208 - throw new RuntimeException(); - } else { - Players.Players_regions[var1] = (var4.plane << 28) + (NetFileRequest.baseX + var4.pathX[0] >> 13 << 14) + (class41.baseY + var4.pathY[0] >> 13); // L: 209 - if (var4.field959 != -1) { // L: 210 - Players.Players_orientations[var1] = var4.field959; - } else { - Players.Players_orientations[var1] = var4.orientation; // L: 211 - } - - Players.Players_targetIndices[var1] = var4.targetIndex; // L: 212 - Client.players[var1] = null; // L: 213 - if (var0.readBits(1) != 0) { // L: 214 - WorldMapSection0.updateExternalPlayer(var0, var1); - } - - } - } else { - int var5; - int var6; - int var7; - if (var3 == 1) { // L: 217 - var5 = var0.readBits(3); // L: 218 - var6 = var4.pathX[0]; // L: 219 - var7 = var4.pathY[0]; // L: 220 - if (var5 == 0) { // L: 221 - --var6; // L: 222 - --var7; // L: 223 - } else if (var5 == 1) { // L: 225 - --var7; - } else if (var5 == 2) { // L: 226 - ++var6; // L: 227 - --var7; // L: 228 - } else if (var5 == 3) { // L: 230 - --var6; - } else if (var5 == 4) { // L: 231 - ++var6; - } else if (var5 == 5) { // L: 232 - --var6; // L: 233 - ++var7; // L: 234 - } else if (var5 == 6) { // L: 236 - ++var7; - } else if (var5 == 7) { // L: 237 - ++var6; // L: 238 - ++var7; // L: 239 - } - - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { // L: 241 - var4.resetPath(var6, var7); // L: 242 - var4.field631 = false; // L: 243 - } else if (var2) { // L: 245 - var4.field631 = true; // L: 246 - var4.tileX = var6; // L: 247 - var4.tileY = var7; // L: 248 - } else { - var4.field631 = false; // L: 251 - var4.method1313(var6, var7, Players.field1253[var1]); // L: 252 - } - - } else if (var3 == 2) { // L: 256 - var5 = var0.readBits(4); // L: 257 - var6 = var4.pathX[0]; // L: 258 - var7 = var4.pathY[0]; // L: 259 - if (var5 == 0) { // L: 260 - var6 -= 2; // L: 261 - var7 -= 2; // L: 262 - } else if (var5 == 1) { // L: 264 - --var6; // L: 265 - var7 -= 2; // L: 266 - } else if (var5 == 2) { // L: 268 - var7 -= 2; - } else if (var5 == 3) { // L: 269 - ++var6; // L: 270 - var7 -= 2; // L: 271 - } else if (var5 == 4) { // L: 273 - var6 += 2; // L: 274 - var7 -= 2; // L: 275 - } else if (var5 == 5) { // L: 277 - var6 -= 2; // L: 278 - --var7; // L: 279 - } else if (var5 == 6) { // L: 281 - var6 += 2; // L: 282 - --var7; // L: 283 - } else if (var5 == 7) { // L: 285 - var6 -= 2; - } else if (var5 == 8) { // L: 286 - var6 += 2; - } else if (var5 == 9) { // L: 287 - var6 -= 2; // L: 288 - ++var7; // L: 289 - } else if (var5 == 10) { // L: 291 - var6 += 2; // L: 292 - ++var7; // L: 293 - } else if (var5 == 11) { // L: 295 - var6 -= 2; // L: 296 - var7 += 2; // L: 297 - } else if (var5 == 12) { // L: 299 - --var6; // L: 300 - var7 += 2; // L: 301 - } else if (var5 == 13) { // L: 303 - var7 += 2; - } else if (var5 == 14) { // L: 304 - ++var6; // L: 305 - var7 += 2; // L: 306 - } else if (var5 == 15) { // L: 308 - var6 += 2; // L: 309 - var7 += 2; // L: 310 - } - - if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { // L: 312 - if (var2) { // L: 316 - var4.field631 = true; // L: 317 - var4.tileX = var6; // L: 318 - var4.tileY = var7; // L: 319 - } else { - var4.field631 = false; // L: 322 - var4.method1313(var6, var7, Players.field1253[var1]); // L: 323 - } - } else { - var4.resetPath(var6, var7); // L: 313 - var4.field631 = false; // L: 314 - } - - } else { - var5 = var0.readBits(1); // L: 327 - int var8; - int var9; - int var10; - int var11; - if (var5 == 0) { // L: 328 - var6 = var0.readBits(12); // L: 329 - var7 = var6 >> 10; // L: 330 - var8 = var6 >> 5 & 31; // L: 331 - if (var8 > 15) { // L: 332 - var8 -= 32; - } - - var9 = var6 & 31; // L: 333 - if (var9 > 15) { // L: 334 - var9 -= 32; - } - - var10 = var8 + var4.pathX[0]; // L: 335 - var11 = var9 + var4.pathY[0]; // L: 336 - if (Client.localPlayerIndex != var1 || var4.x >= 1536 && var4.y >= 1536 && var4.x < 11776 && var4.y < 11776) { // L: 337 - if (var2) { // L: 341 - var4.field631 = true; // L: 342 - var4.tileX = var10; // L: 343 - var4.tileY = var11; // L: 344 - } else { - var4.field631 = false; // L: 347 - var4.method1313(var10, var11, Players.field1253[var1]); // L: 348 - } - } else { - var4.resetPath(var10, var11); // L: 338 - var4.field631 = false; // L: 339 - } - - var4.plane = (byte)(var7 + var4.plane & 3); // L: 350 - if (Client.localPlayerIndex == var1) { // L: 351 - GameObject.Client_plane = var4.plane; - } - - } else { - var6 = var0.readBits(30); // L: 354 - var7 = var6 >> 28; // L: 355 - var8 = var6 >> 14 & 16383; // L: 356 - var9 = var6 & 16383; // L: 357 - var10 = (var8 + NetFileRequest.baseX + var4.pathX[0] & 16383) - NetFileRequest.baseX; // L: 358 - var11 = (var9 + class41.baseY + var4.pathY[0] & 16383) - class41.baseY; // L: 359 - if (Client.localPlayerIndex == var1 && (var4.x < 1536 || var4.y < 1536 || var4.x >= 11776 || var4.y >= 11776)) { // L: 360 - var4.resetPath(var10, var11); // L: 361 - var4.field631 = false; // L: 362 - } else if (var2) { // L: 364 - var4.field631 = true; // L: 365 - var4.tileX = var10; // L: 366 - var4.tileY = var11; // L: 367 - } else { - var4.field631 = false; // L: 370 - var4.method1313(var10, var11, Players.field1253[var1]); // L: 371 - } - - var4.plane = (byte)(var7 + var4.plane & 3); // L: 373 - if (Client.localPlayerIndex == var1) { // L: 374 - GameObject.Client_plane = var4.plane; - } - - } - } - } - } // L: 206 215 254 325 352 375 + @ObfuscatedName("d") + public static final char[] field4080 = new char[]{' ', ' ', '_', '-', 'à', 'á', 'â', 'ä', 'ã', 'À', 'Á', 'Â', 'Ä', 'Ã', 'è', 'é', 'ê', 'ë', 'È', 'É', 'Ê', 'Ë', 'í', 'î', 'ï', 'Í', 'Î', 'Ï', 'ò', 'ó', 'ô', 'ö', 'õ', 'Ò', 'Ó', 'Ô', 'Ö', 'Õ', 'ù', 'ú', 'û', 'ü', 'Ù', 'Ú', 'Û', 'Ü', 'ç', 'Ç', 'ÿ', 'Ÿ', 'ñ', 'Ñ', 'ß'}; + @ObfuscatedName("c") + public static final char[] field4078 = new char[]{'[', ']', '#'}; + @ObfuscatedName("h") + @Export("Interpreter_stringLocals") + static String[] Interpreter_stringLocals; } diff --git a/runescape-client/src/main/java/class350.java b/runescape-client/src/main/java/class350.java new file mode 100644 index 0000000000..46a487af3c --- /dev/null +++ b/runescape-client/src/main/java/class350.java @@ -0,0 +1,13 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedName; +import net.runelite.mapping.ObfuscatedSignature; + +@ObfuscatedName("mu") +public class class350 { + @ObfuscatedName("fu") + @ObfuscatedSignature( + descriptor = "Lki;" + ) + @Export("WorldMapElement_fonts") + static Fonts WorldMapElement_fonts; +} diff --git a/runescape-client/src/main/java/class39.java b/runescape-client/src/main/java/class39.java index 5eae958dc6..f0e7de9087 100644 --- a/runescape-client/src/main/java/class39.java +++ b/runescape-client/src/main/java/class39.java @@ -1,188 +1,78 @@ +import java.security.SecureRandom; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("aa") +@ObfuscatedName("aw") public class class39 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Laa;" - ) - static final class39 field278; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Laa;" - ) - static final class39 field277; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = 980177793 - ) - @Export("clientType") - public static int clientType; - @ObfuscatedName("hk") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("modIconSprites") - static IndexedSprite[] modIconSprites; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 1993101161 - ) - @Export("value") - final int value; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Law;" + ) + static final class39 field285 = new class39(0); + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "Law;" + ) + static final class39 field283 = new class39(1); + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = 1455031991 + ) + static int field288; + @ObfuscatedName("gf") + @ObfuscatedGetter( + intValue = 1613594049 + ) + static int field284; + @ObfuscatedName("hm") + @ObfuscatedGetter( + intValue = 1560346671 + ) + @Export("cameraYaw") + static int cameraYaw; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 1348128359 + ) + @Export("value") + final int value; - static { - field278 = new class39(0); // L: 4 - field277 = new class39(1); // L: 5 - } + class39(int var1) { + this.value = var1; + } - class39(int var1) { - this.value = var1; // L: 9 - } // L: 10 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(III)I", + garbageValue = "1057060168" + ) + public static int method644(int var0, int var1) { + int var2; + for(var2 = 1; var1 > 1; var1 >>= 1) { + if ((var1 & 1) != 0) { + var2 = var0 * var2; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "([BIII)Ljava/lang/String;", - garbageValue = "2030729234" - ) - public static String method591(byte[] var0, int var1, int var2) { - char[] var3 = new char[var2]; // L: 21 - int var4 = 0; // L: 22 - int var5 = var1; // L: 23 + var0 *= var0; + } - int var8; - for (int var6 = var2 + var1; var5 < var6; var3[var4++] = (char)var8) { // L: 24 25 56 - int var7 = var0[var5++] & 255; // L: 26 - if (var7 < 128) { // L: 28 - if (var7 == 0) { // L: 29 - var8 = 65533; - } else { - var8 = var7; // L: 30 - } - } else if (var7 < 192) { // L: 32 - var8 = 65533; - } else if (var7 < 224) { // L: 33 - if (var5 < var6 && (var0[var5] & 192) == 128) { // L: 34 - var8 = (var7 & 31) << 6 | var0[var5++] & 63; // L: 35 - if (var8 < 128) { // L: 36 - var8 = 65533; - } - } else { - var8 = 65533; // L: 38 - } - } else if (var7 < 240) { // L: 40 - if (var5 + 1 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128) { // L: 41 - var8 = (var7 & 15) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; // L: 42 - if (var8 < 2048) { // L: 43 - var8 = 65533; - } - } else { - var8 = 65533; // L: 45 - } - } else if (var7 < 248) { // L: 47 - if (var5 + 2 < var6 && (var0[var5] & 192) == 128 && (var0[var5 + 1] & 192) == 128 && (var0[var5 + 2] & 192) == 128) { // L: 48 - var8 = (var7 & 7) << 18 | (var0[var5++] & 63) << 12 | (var0[var5++] & 63) << 6 | var0[var5++] & 63; // L: 49 - if (var8 >= 65536 && var8 <= 1114111) { // L: 50 - var8 = 65533; // L: 51 - } else { - var8 = 65533; - } - } else { - var8 = 65533; // L: 53 - } - } else { - var8 = 65533; // L: 55 - } - } + if (var1 == 1) { + return var0 * var2; + } else { + return var2; + } + } - return new String(var3, 0, var4); // L: 58 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIIII)V", - garbageValue = "-257596336" - ) - static final void method594(int var0, int var1, int var2, int var3) { - for (int var4 = var1; var4 <= var3 + var1; ++var4) { // L: 64 - for (int var5 = var0; var5 <= var0 + var2; ++var5) { // L: 65 - if (var5 >= 0 && var5 < 104 && var4 >= 0 && var4 < 104) { // L: 66 - Tiles.field511[0][var5][var4] = 127; // L: 67 - if (var0 == var5 && var5 > 0) { // L: 68 - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; - } - - if (var5 == var0 + var2 && var5 < 103) { // L: 69 - 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 (var3 + var1 == var4 && var4 < 103) { - Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5][var4 + 1]; - } - } - } - } - - } // L: 75 - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(CI)Z", - garbageValue = "-1443206500" - ) - @Export("isDigit") - public static boolean isDigit(char var0) { - return var0 >= '0' && var0 <= '9'; // L: 151 - } - - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "(II)I", - garbageValue = "-1859709852" - ) - @Export("Messages_getLastChatID") - static int Messages_getLastChatID(int var0) { - Message var1 = (Message)Messages.Messages_hashTable.get((long)var0); // L: 70 - if (var1 == null) { // L: 71 - return -1; - } else { - return var1.nextDual == Messages.Messages_queue.sentinel ? -1 : ((Message)var1.nextDual).count; // L: 72 73 - } - } - - @ObfuscatedName("fj") - @ObfuscatedSignature( - descriptor = "(S)V", - garbageValue = "20631" - ) - static final void method596() { - Scene.Scene_isLowDetail = false; // L: 849 - Client.isLowDetail = false; // L: 850 - } // L: 851 - - @ObfuscatedName("fq") - @ObfuscatedSignature( - descriptor = "(III)V", - garbageValue = "-1974117172" - ) - static void method593(int var0, int var1) { - int[] var2 = new int[9]; // L: 1714 - - for (int var3 = 0; var3 < var2.length; ++var3) { // L: 1715 - int var4 = var3 * 32 + 15 + 128; // L: 1716 - int var5 = WorldMapManager.method704(var4); // L: 1717 - int var6 = Rasterizer3D.Rasterizer3D_sine[var4]; // L: 1718 - var5 = NetSocket.method3587(var5, var1); // L: 1719 - var2[var3] = var6 * var5 >> 16; // L: 1720 - } - - Scene.Scene_buildVisiblityMap(var2, 500, 800, var0 * 334 / var1, 334); // L: 1722 - } // L: 1723 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(B)Ljava/security/SecureRandom;", + garbageValue = "12" + ) + static SecureRandom method643() { + SecureRandom var0 = new SecureRandom(); + var0.nextInt(); + return var0; + } } diff --git a/runescape-client/src/main/java/class4.java b/runescape-client/src/main/java/class4.java index 4839ed9eec..411ca75844 100644 --- a/runescape-client/src/main/java/class4.java +++ b/runescape-client/src/main/java/class4.java @@ -1,81 +1,167 @@ -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("t") +@ObfuscatedName("y") final class class4 implements class0 { - @ObfuscatedName("sc") - @ObfuscatedGetter( - longValue = 4748047598054050873L - ) - static long field17; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/Object;Lkx;B)V", + garbageValue = "-41" + ) + public void vmethod48(Object var1, Buffer var2) { + this.method54((String)var1, var2); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/Object;Lkj;I)V", - garbageValue = "781194334" - ) - public void vmethod49(Object var1, Buffer var2) { - this.method47((String)var1, var2); - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;I)Ljava/lang/Object;", + garbageValue = "1678106953" + ) + public Object vmethod45(Buffer var1) { + return var1.readStringCp1252NullTerminated(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;B)Ljava/lang/Object;", - garbageValue = "12" - ) - public Object vmethod48(Buffer var1) { - return var1.readStringCp1252NullTerminated(); // L: 42 - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Lkx;I)V", + garbageValue = "-768475899" + ) + void method54(String var1, Buffer var2) { + var2.writeStringCp1252NullTerminated(var1); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Lkj;B)V", - garbageValue = "7" - ) - void method47(String var1, Buffer var2) { - var2.writeStringCp1252NullTerminated(var1); // L: 38 - } // L: 39 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIIIB)V", + garbageValue = "-21" + ) + static final void method55(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) { + TaskHandler.field2045[0][var5][var4] = 127; + if (var0 == var5 && var5 > 0) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 - 1][var4]; + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-78527761" - ) - public static void method53() { - synchronized(MouseHandler.MouseHandler_instance) { // L: 45 - MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; // L: 46 - MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; // L: 47 - MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; // L: 48 - MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; // L: 49 - MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; // L: 50 - MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; // L: 51 - MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; // L: 52 - MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; // L: 53 - MouseHandler.MouseHandler_lastButtonVolatile = 0; // L: 54 - } - } // L: 56 + if (var0 + var2 == var5 && var5 < 103) { + Tiles.Tiles_heights[0][var5][var4] = Tiles.Tiles_heights[0][var5 + 1][var4]; + } - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(IIIB)I", - garbageValue = "-36" - ) - static final int method56(int var0, int var1, int var2) { - int var3 = var0 / var2; // L: 819 - int var4 = var0 & var2 - 1; // L: 820 - int var5 = var1 / var2; // L: 821 - int var6 = var1 & var2 - 1; // L: 822 - int var7 = WorldMapSprite.method468(var3, var5); // L: 823 - int var8 = WorldMapSprite.method468(var3 + 1, var5); // L: 824 - int var9 = WorldMapSprite.method468(var3, var5 + 1); // L: 825 - int var10 = WorldMapSprite.method468(var3 + 1, var5 + 1); // L: 826 - int var12 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; // L: 829 - int var11 = ((65536 - var12) * var7 >> 16) + (var12 * var8 >> 16); // L: 830 - int var14 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; // L: 835 - int var13 = ((65536 - var14) * var9 >> 16) + (var14 * var10 >> 16); // L: 836 - int var16 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var6 * 1024 / var2] >> 1; // L: 841 - int var15 = ((65536 - var16) * var11 >> 16) + (var16 * var13 >> 16); // L: 842 - return var15; // L: 844 - } + 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]; + } + } + } + } + + } + + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(III)Lcl;", + garbageValue = "836178308" + ) + static Script method46(int var0, int var1) { + Script var2 = (Script)Script.Script_cached.get((long)(var0 << 16)); + if (var2 != null) { + return var2; + } else { + String var3 = String.valueOf(var0); + int var4 = WorldMapSection0.archive12.getGroupId(var3); + if (var4 == -1) { + return null; + } else { + byte[] var5 = WorldMapSection0.archive12.takeFileFlat(var4); + if (var5 != null) { + if (var5.length <= 1) { + return null; + } + + var2 = GameObject.newScript(var5); + if (var2 != null) { + Script.Script_cached.put(var2, (long)(var0 << 16)); + return var2; + } + } + + return null; + } + } + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-989634997" + ) + public static boolean method56() { + return class206.musicPlayerStatus != 0 ? true : VertexNormal.midiPcmStream.isReady(); + } + + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "856520106" + ) + static int method53(int var0, Script var1, boolean var2) { + int var3 = -1; + Widget var4; + if (var0 >= 2000) { + var0 -= 1000; + var3 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var4 = class237.getWidget(var3); + } else { + var4 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } + + if (var0 == ScriptOpcodes.CC_SETPOSITION) { + Interpreter.Interpreter_intStackSize -= 4; + var4.rawX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4.rawY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.xAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var4.yAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + IsaacCipher.invalidateWidget(var4); + class1.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSIZE) { + Interpreter.Interpreter_intStackSize -= 4; + var4.rawWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var4.rawHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var4.widthAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var4.heightAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + IsaacCipher.invalidateWidget(var4); + class1.client.alignWidget(var4); + if (var3 != -1 && var4.type == 0) { + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var3 >> 16], var4, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHIDE) { + boolean var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + if (var5 != var4.isHidden) { + var4.isHidden = var5; + IsaacCipher.invalidateWidget(var4); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOCLICKTHROUGH) { + var4.noClickThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETNOSCROLLTHROUGH) { + var4.noScrollThrough = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + return 1; + } else { + return 2; + } + } } diff --git a/runescape-client/src/main/java/class41.java b/runescape-client/src/main/java/class41.java index 5ba3a7a7a1..80627a07ac 100644 --- a/runescape-client/src/main/java/class41.java +++ b/runescape-client/src/main/java/class41.java @@ -1,215 +1,694 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ab") +@ObfuscatedName("ah") public class class41 { - @ObfuscatedName("rv") - @ObfuscatedGetter( - intValue = 641219975 - ) - static int field302; - @ObfuscatedName("eg") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive18") - static Archive archive18; - @ObfuscatedName("gz") - @ObfuscatedGetter( - intValue = 725701035 - ) - @Export("baseY") - static int baseY; - @ObfuscatedName("gb") - @Export("regionMapArchiveIds") - static int[] regionMapArchiveIds; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(Lcq;Lcq;IZI)I", + garbageValue = "-1892807226" + ) + @Export("compareWorlds") + static int compareWorlds(World var0, World var1, int var2, boolean var3) { + if (var2 == 1) { + int var4 = var0.population; + int var5 = var1.population; + if (!var3) { + if (var4 == -1) { + var4 = 2001; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-335068840" - ) - @Export("loadInterface") - public static boolean loadInterface(int var0) { - if (class195.Widget_loadedInterfaces[var0]) { // L: 203 - return true; - } else if (!class58.Widget_archive.tryLoadGroup(var0)) { // L: 204 - return false; - } else { - int var1 = class58.Widget_archive.getGroupFileCount(var0); // L: 205 - if (var1 == 0) { // L: 206 - class195.Widget_loadedInterfaces[var0] = true; // L: 207 - return true; // L: 208 - } else { - if (class9.Widget_interfaceComponents[var0] == null) { // L: 210 - class9.Widget_interfaceComponents[var0] = new Widget[var1]; - } + if (var5 == -1) { + var5 = 2001; + } + } - for (int var2 = 0; var2 < var1; ++var2) { // L: 211 - if (class9.Widget_interfaceComponents[var0][var2] == null) { // L: 212 - byte[] var3 = class58.Widget_archive.takeFile(var0, var2); // L: 213 - if (var3 != null) { // L: 214 - class9.Widget_interfaceComponents[var0][var2] = new Widget(); // L: 215 - class9.Widget_interfaceComponents[var0][var2].id = var2 + (var0 << 16); // L: 216 - if (var3[0] == -1) { // L: 217 - class9.Widget_interfaceComponents[var0][var2].decode(new Buffer(var3)); - } else { - class9.Widget_interfaceComponents[var0][var2].decodeLegacy(new Buffer(var3)); // L: 218 - } - } - } - } + return var4 - var5; + } else if (var2 == 2) { + return var0.location - var1.location; + } else if (var2 == 3) { + if (var0.activity.equals("-")) { + if (var1.activity.equals("-")) { + return 0; + } else { + return var3 ? -1 : 1; + } + } else if (var1.activity.equals("-")) { + return var3 ? 1 : -1; + } else { + return var0.activity.compareTo(var1.activity); + } + } else if (var2 == 4) { + return var0.method1880() ? (var1.method1880() ? 0 : 1) : (var1.method1880() ? -1 : 0); + } else if (var2 == 5) { + return var0.method1878() ? (var1.method1878() ? 0 : 1) : (var1.method1878() ? -1 : 0); + } else if (var2 == 6) { + return var0.isPvp() ? (var1.isPvp() ? 0 : 1) : (var1.isPvp() ? -1 : 0); + } else if (var2 == 7) { + return var0.isMembersOnly() ? (var1.isMembersOnly() ? 0 : 1) : (var1.isMembersOnly() ? -1 : 0); + } else { + return var0.id - var1.id; + } + } - class195.Widget_loadedInterfaces[var0] = true; // L: 222 - return true; // L: 223 - } - } - } + @ObfuscatedName("hw") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-20058245" + ) + static void method650() { + GrandExchangeOfferTotalQuantityComparator.method162(CollisionMap.menuWidth / 2 + ApproximateRouteStrategy.menuX, AbstractUserComparator.menuY); + } - @ObfuscatedName("ae") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "1680484143" - ) - static int method602(int var0, Script var1, boolean var2) { - int var4; - int var9; - if (var0 == ScriptOpcodes.ADD) { // L: 2474 - VarcInt.Interpreter_intStackSize -= 2; // L: 2475 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2476 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2477 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4 + var9; // L: 2478 - return 1; // L: 2479 - } else if (var0 == ScriptOpcodes.SUB) { // L: 2481 - VarcInt.Interpreter_intStackSize -= 2; // L: 2482 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2483 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2484 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 - var4; // L: 2485 - return 1; // L: 2486 - } else if (var0 == ScriptOpcodes.MULTIPLY) { // L: 2488 - VarcInt.Interpreter_intStackSize -= 2; // L: 2489 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2490 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2491 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4 * var9; // L: 2492 - return 1; // L: 2493 - } else if (var0 == ScriptOpcodes.DIV) { // L: 2495 - VarcInt.Interpreter_intStackSize -= 2; // L: 2496 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2497 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2498 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 / var4; // L: 2499 - return 1; // L: 2500 - } else if (var0 == ScriptOpcodes.RANDOM) { // L: 2502 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2503 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)var9); // L: 2504 - return 1; // L: 2505 - } else if (var0 == ScriptOpcodes.RANDOMINC) { // L: 2507 - var9 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 2508 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)(Math.random() * (double)(var9 + 1)); // L: 2509 - return 1; // L: 2510 - } else if (var0 == ScriptOpcodes.INTERPOLATE) { // L: 2512 - VarcInt.Interpreter_intStackSize -= 5; // L: 2513 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2514 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2515 - int var10 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 2516 - int var6 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 3]; // L: 2517 - int var11 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 4]; // L: 2518 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 + (var4 - var9) * (var11 - var10) / (var6 - var10); // L: 2519 - return 1; // L: 2520 - } else if (var0 == ScriptOpcodes.ADDPERCENT) { // L: 2522 - VarcInt.Interpreter_intStackSize -= 2; // L: 2523 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2524 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2525 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 + var9 * var4 / 100; // L: 2526 - return 1; // L: 2527 - } else if (var0 == ScriptOpcodes.SETBIT) { // L: 2529 - VarcInt.Interpreter_intStackSize -= 2; // L: 2530 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2531 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2532 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 | 1 << var4; // L: 2533 - return 1; // L: 2534 - } else if (var0 == ScriptOpcodes.CLEARBIT) { // L: 2536 - VarcInt.Interpreter_intStackSize -= 2; // L: 2537 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2538 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2539 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 & -1 - (1 << var4); // L: 2540 - return 1; // L: 2541 - } else if (var0 == ScriptOpcodes.TESTBIT) { // L: 2543 - VarcInt.Interpreter_intStackSize -= 2; // L: 2544 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2545 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2546 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (var9 & 1 << var4) != 0 ? 1 : 0; // L: 2547 - return 1; // L: 2548 - } else if (var0 == ScriptOpcodes.MOD) { // L: 2550 - VarcInt.Interpreter_intStackSize -= 2; // L: 2551 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2552 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2553 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 % var4; // L: 2554 - return 1; // L: 2555 - } else if (var0 == ScriptOpcodes.POW) { // L: 2557 - VarcInt.Interpreter_intStackSize -= 2; // L: 2558 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2559 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2560 - if (var9 == 0) { // L: 2561 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)Math.pow((double)var9, (double)var4); // L: 2562 - } + @ObfuscatedName("ii") + @ObfuscatedSignature( + descriptor = "([Lhz;IIIIIIIII)V", + garbageValue = "-1513061199" + ) + @Export("drawInterface") + static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) { + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); - return 1; // L: 2563 - } else if (var0 == ScriptOpcodes.INVPOW) { // L: 2565 - VarcInt.Interpreter_intStackSize -= 2; // L: 2566 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2567 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2568 - if (var9 == 0) { // L: 2569 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 2570 - return 1; // L: 2571 - } else { - switch(var4) { // L: 2573 - case 0: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Integer.MAX_VALUE; // L: 2581 - break; // L: 2582 - case 1: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9; // L: 2601 - break; - case 2: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)Math.sqrt((double)var9); // L: 2591 - break; // L: 2592 - case 3: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)Math.cbrt((double)var9); // L: 2576 - break; - case 4: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)Math.sqrt(Math.sqrt((double)var9)); // L: 2596 - break; // L: 2597 - default: - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)Math.pow((double)var9, 1.0D / (double)var4); // L: 2586 - } + for(int var9 = 0; var9 < var0.length; ++var9) { + Widget var10 = var0[var9]; + if (var10 != null && (var10.parentId == var1 || var1 == -1412584499 && var10 == Client.clickedWidget)) { + int var11; + if (var8 == -1) { + Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; + Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; + Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; + Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; + var11 = ++Client.rootWidgetCount - 1; + } else { + var11 = var8; + } - return 1; // L: 2605 - } - } else if (var0 == ScriptOpcodes.AND) { // L: 2607 - VarcInt.Interpreter_intStackSize -= 2; // L: 2608 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2609 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2610 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 & var4; // L: 2611 - return 1; // L: 2612 - } else if (var0 == ScriptOpcodes.OR) { // L: 2614 - VarcInt.Interpreter_intStackSize -= 2; // L: 2615 - var9 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2616 - var4 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2617 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9 | var4; // L: 2618 - return 1; // L: 2619 - } else if (var0 == ScriptOpcodes.SCALE) { // L: 2621 - VarcInt.Interpreter_intStackSize -= 3; // L: 2622 - long var3 = (long)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 2623 - long var5 = (long)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]; // L: 2624 - long var7 = (long)Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 2]; // L: 2625 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (int)(var3 * var7 / var5); // L: 2626 - return 1; // L: 2627 - } else { - return 2; // L: 2629 - } - } + var10.rootIndex = var11; + var10.cycle = Client.cycle; + if (!var10.isIf3 || !DevicePcmPlayerProvider.isComponentHidden(var10)) { + if (var10.contentType > 0) { + WorldMapSection2.method401(var10); + } + + int var12 = var10.x + var6; + int var13 = var7 + var10.y; + int var14 = var10.transparencyTop; + int var15; + int var16; + if (var10 == Client.clickedWidget) { + if (var1 != -1412584499 && !var10.isScrollBar) { + WorldMapAreaData.field362 = var0; + WorldMapIcon_1.field218 = var6; + GrandExchangeOfferOwnWorldComparator.field656 = var7; + continue; + } + + if (Client.isDraggingWidget && Client.field912) { + var15 = MouseHandler.MouseHandler_x; + var16 = MouseHandler.MouseHandler_y; + var15 -= Client.widgetClickX; + var16 -= Client.widgetClickY; + if (var15 < Client.field714) { + var15 = Client.field714; + } + + if (var15 + var10.width > Client.field714 + Client.clickedWidgetParent.width) { + var15 = Client.field714 + Client.clickedWidgetParent.width - var10.width; + } + + if (var16 < Client.field844) { + var16 = Client.field844; + } + + if (var16 + var10.height > Client.field844 + Client.clickedWidgetParent.height) { + var16 = Client.field844 + Client.clickedWidgetParent.height - var10.height; + } + + var12 = var15; + var13 = var16; + } + + if (!var10.isScrollBar) { + var14 = 128; + } + } + + int var17; + int var18; + int var19; + int var20; + int var21; + int var22; + if (var10.type == 2) { + var15 = var2; + var16 = var3; + var17 = var4; + var18 = var5; + } else if (var10.type == 9) { + var19 = var12; + var20 = var13; + var21 = var12 + var10.width; + var22 = var13 + var10.height; + if (var21 < var12) { + var19 = var21; + var21 = var12; + } + + if (var22 < var13) { + var20 = var22; + var22 = var13; + } + + ++var21; + ++var22; + var15 = var19 > var2 ? var19 : var2; + var16 = var20 > var3 ? var20 : var3; + var17 = var21 < var4 ? var21 : var4; + var18 = var22 < var5 ? var22 : var5; + } else { + var19 = var12 + var10.width; + var20 = var13 + var10.height; + var15 = var12 > var2 ? var12 : var2; + var16 = var13 > var3 ? var13 : var3; + var17 = var19 < var4 ? var19 : var4; + var18 = var20 < var5 ? var20 : var5; + } + + if (!var10.isIf3 || var15 < var17 && var16 < var18) { + if (var10.contentType != 0) { + if (var10.contentType == 1336) { + if (Client.displayFps) { + var13 += 15; + Login.fontPlain12.drawRightAligned("Fps:" + GameEngine.fps, var12 + var10.width, var13, 16776960, -1); + var13 += 15; + Runtime var42 = Runtime.getRuntime(); + var20 = (int)((var42.totalMemory() - var42.freeMemory()) / 1024L); + var21 = 16776960; + if (var20 > 327680 && !Client.isLowDetail) { + var21 = 16711680; + } + + Login.fontPlain12.drawRightAligned("Mem:" + var20 + "k", var12 + var10.width, var13, var21, -1); + var13 += 15; + } + continue; + } + + if (var10.contentType == 1337) { + Client.viewportX = var12; + Client.viewportY = var13; + class13.drawEntities(var12, var13, var10.width, var10.height); + Client.field816[var10.rootIndex] = true; + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1338) { + class204.drawMinimap(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1339) { + Message.drawCompass(var10, var12, var13, var11); + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + continue; + } + + if (var10.contentType == 1400) { + SoundSystem.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle); + } + + if (var10.contentType == 1401) { + SoundSystem.worldMap.drawOverview(var12, var13, var10.width, var10.height); + } + + if (var10.contentType == 1402) { + class9.loginScreenRunesAnimation.draw(var12, Client.cycle); + } + } + + if (var10.type == 0) { + if (!var10.isIf3 && DevicePcmPlayerProvider.isComponentHidden(var10) && var10 != Canvas.mousedOverWidgetIf1) { + continue; + } + + if (!var10.isIf3) { + if (var10.scrollY > var10.scrollHeight - var10.height) { + var10.scrollY = var10.scrollHeight - var10.height; + } + + if (var10.scrollY < 0) { + var10.scrollY = 0; + } + } + + drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + if (var10.children != null) { + drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11); + } + + InterfaceParent var30 = (InterfaceParent)Client.interfaceParents.get((long)var10.id); + if (var30 != null) { + ViewportMouse.drawWidgets(var30.group, var15, var16, var17, var18, var12, var13, var11); + } + + Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5); + Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); + } + + if (Client.isResizable || Client.field871[var11] || Client.gameDrawingMode > 1) { + if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) { + WorldMapLabelSize.drawScrollBar(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight); + } + + if (var10.type != 1) { + int var23; + int var24; + int var25; + int var26; + if (var10.type == 2) { + var19 = 0; + + for(var20 = 0; var20 < var10.rawHeight; ++var20) { + for(var21 = 0; var21 < var10.rawWidth; ++var21) { + var22 = var21 * (var10.paddingX + 32) + var12; + var23 = var20 * (var10.paddingY + 32) + var13; + if (var19 < 20) { + var22 += var10.inventoryXOffsets[var19]; + var23 += var10.inventoryYOffsets[var19]; + } + + if (var10.itemIds[var19] <= 0) { + if (var10.inventorySprites != null && var19 < 20) { + SpritePixels var46 = var10.getInventorySprite(var19); + if (var46 != null) { + var46.drawTransBgAt(var22, var23); + } else if (Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } + } else { + boolean var37 = false; + boolean var38 = false; + var26 = var10.itemIds[var19] - 1; + if (var22 + 32 > var2 && var22 < var4 && var23 + 32 > var3 && var23 < var5 || var10 == JagexCache.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + SpritePixels var35; + if (Client.isItemSelected == 1 && var19 == class195.selectedItemSlot && var10.id == ClientPacket.selectedItemWidget) { + var35 = TaskHandler.getItemSprite(var26, var10.itemQuantities[var19], 2, 0, 2, false); + } else { + var35 = TaskHandler.getItemSprite(var26, var10.itemQuantities[var19], 1, 3153952, 2, false); + } + + if (var35 != null) { + if (var10 == JagexCache.dragInventoryWidget && var19 == Client.dragItemSlotSource) { + var24 = MouseHandler.MouseHandler_x - Client.draggedWidgetX; + var25 = MouseHandler.MouseHandler_y - Client.draggedWidgetY; + if (var24 < 5 && var24 > -5) { + var24 = 0; + } + + if (var25 < 5 && var25 > -5) { + var25 = 0; + } + + if (Client.itemDragDuration < 5) { + var24 = 0; + var25 = 0; + } + + var35.drawTransAt(var22 + var24, var23 + var25, 128); + if (var1 != -1) { + Widget var28 = var0[var1 & '\uffff']; + int var29; + if (var23 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var28.scrollY > 0) { + var29 = (Rasterizer2D.Rasterizer2D_yClipStart - var23 - var25) * Client.field808 / 3; + if (var29 > Client.field808 * 10) { + var29 = Client.field808 * 10; + } + + if (var29 > var28.scrollY) { + var29 = var28.scrollY; + } + + var28.scrollY -= var29; + Client.draggedWidgetY += var29; + IsaacCipher.invalidateWidget(var28); + } + + if (var25 + var23 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var28.scrollY < var28.scrollHeight - var28.height) { + var29 = (var25 + var23 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field808 / 3; + if (var29 > Client.field808 * 10) { + var29 = Client.field808 * 10; + } + + if (var29 > var28.scrollHeight - var28.height - var28.scrollY) { + var29 = var28.scrollHeight - var28.height - var28.scrollY; + } + + var28.scrollY += var29; + Client.draggedWidgetY -= var29; + IsaacCipher.invalidateWidget(var28); + } + } + } else if (var10 == WorldMapSprite.field260 && var19 == Client.field931) { + var35.drawTransAt(var22, var23, 128); + } else { + var35.drawTransBgAt(var22, var23); + } + } else { + IsaacCipher.invalidateWidget(var10); + } + } + } + + ++var19; + } + } + } else if (var10.type == 3) { + if (GrandExchangeOfferWorldComparator.runCs1(var10)) { + var19 = var10.color2; + if (var10 == Canvas.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var19 = var10.mouseOverColor2; + } + } else { + var19 = var10.color; + if (var10 == Canvas.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var19 = var10.mouseOverColor; + } + } + + if (var10.fill) { + switch(var10.fillMode.field3898) { + case 1: + Rasterizer2D.Rasterizer2D_fillRectangleGradient(var12, var13, var10.width, var10.height, var10.color, var10.color2); + break; + case 2: + Rasterizer2D.Rasterizer2D_fillRectangleGradientAlpha(var12, var13, var10.width, var10.height, var10.color, var10.color2, 255 - (var10.transparencyTop & 255), 255 - (var10.transparencyBot & 255)); + break; + default: + if (var14 == 0) { + Rasterizer2D.Rasterizer2D_fillRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_fillRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } + } else if (var14 == 0) { + Rasterizer2D.Rasterizer2D_drawRectangle(var12, var13, var10.width, var10.height, var19); + } else { + Rasterizer2D.Rasterizer2D_drawRectangleAlpha(var12, var13, var10.width, var10.height, var19, 256 - (var14 & 255)); + } + } else { + Font var39; + if (var10.type == 4) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } else { + String var44 = var10.text; + if (GrandExchangeOfferWorldComparator.runCs1(var10)) { + var20 = var10.color2; + if (var10 == Canvas.mousedOverWidgetIf1 && var10.mouseOverColor2 != 0) { + var20 = var10.mouseOverColor2; + } + + if (var10.text2.length() > 0) { + var44 = var10.text2; + } + } else { + var20 = var10.color; + if (var10 == Canvas.mousedOverWidgetIf1 && var10.mouseOverColor != 0) { + var20 = var10.mouseOverColor; + } + } + + if (var10.isIf3 && var10.itemId != -1) { + ItemComposition var45 = class281.ItemDefinition_get(var10.itemId); + var44 = var45.name; + if (var44 == null) { + var44 = "null"; + } + + if ((var45.isStackable == 1 || var10.itemQuantity != 1) && var10.itemQuantity != -1) { + var44 = FileSystem.colorStartTag(16748608) + var44 + "" + " " + 'x' + WorldMapRectangle.formatItemStacks(var10.itemQuantity); + } + } + + if (var10 == Client.meslayerContinueWidget) { + var44 = "Please wait..."; + var20 = var10.color; + } + + if (!var10.isIf3) { + var44 = class9.method95(var44, var10); + } + + var39.drawLines(var44, var12, var13, var10.width, var10.height, var20, var10.textShadowed ? 0 : -1, var10.textXAlignment, var10.textYAlignment, var10.textLineHeight); + } + } else if (var10.type == 5) { + SpritePixels var40; + if (!var10.isIf3) { + var40 = var10.getSprite(GrandExchangeOfferWorldComparator.runCs1(var10)); + if (var40 != null) { + var40.drawTransBgAt(var12, var13); + } else if (Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } else { + if (var10.itemId != -1) { + var40 = TaskHandler.getItemSprite(var10.itemId, var10.itemQuantity, var10.outline, var10.spriteShadow, var10.itemQuantityMode, false); + } else { + var40 = var10.getSprite(false); + } + + if (var40 == null) { + if (Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } else { + var20 = var40.width; + var21 = var40.height; + if (!var10.spriteTiling) { + var22 = var10.width * 4096 / var20; + if (var10.spriteAngle != 0) { + var40.method6425(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.method6425(var20 / 2 + var12 + var20 * var24, 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); + } + } + } + } else { + ItemComposition var33; + if (var10.type == 6) { + boolean var36 = GrandExchangeOfferWorldComparator.runCs1(var10); + if (var36) { + var20 = var10.sequenceId2; + } else { + var20 = var10.sequenceId; + } + + Model var41 = null; + var22 = 0; + if (var10.itemId != -1) { + var33 = class281.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 { + IsaacCipher.invalidateWidget(var10); + } + } + } else if (var10.modelType == 5) { + if (var10.modelId == 0) { + var41 = Client.playerComposition.getModel((SequenceDefinition)null, -1, (SequenceDefinition)null, -1); + } else { + var41 = UserComparator9.localPlayer.getModel(); + } + } else if (var20 == -1) { + var41 = var10.getModel((SequenceDefinition)null, -1, var36, UserComparator9.localPlayer.appearance); + if (var41 == null && Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } else { + SequenceDefinition var47 = InterfaceParent.SequenceDefinition_get(var20); + var41 = var10.getModel(var47, var10.modelFrame, var36, UserComparator9.localPlayer.appearance); + if (var41 == null && Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + } + + Rasterizer3D.method3169(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.method3106(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var23, var24); + } else { + var41.calculateBoundsCylinder(); + if (var10.modelOrthog) { + var41.method3053(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom); + } else { + var41.method3106(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var23 + var22 + var10.modelOffsetY, var24 + var10.modelOffsetY); + } + } + } + + Rasterizer3D.Rasterizer3D_method3(); + } else { + if (var10.type == 7) { + var39 = var10.getFont(); + if (var39 == null) { + if (Widget.field2591) { + IsaacCipher.invalidateWidget(var10); + } + continue; + } + + var20 = 0; + + for(var21 = 0; var21 < var10.rawHeight; ++var21) { + for(var22 = 0; var22 < var10.rawWidth; ++var22) { + if (var10.itemIds[var20] > 0) { + var33 = class281.ItemDefinition_get(var10.itemIds[var20] - 1); + String var34; + if (var33.isStackable != 1 && var10.itemQuantities[var20] == 1) { + var34 = FileSystem.colorStartTag(16748608) + var33.name + ""; + } else { + var34 = FileSystem.colorStartTag(16748608) + var33.name + "" + " " + 'x' + WorldMapRectangle.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); + } + } + + ++var20; + } + } + } + + if (var10.type == 8 && var10 == GrandExchangeOffer.field100 && Client.field815 == Client.field925) { + var19 = 0; + var20 = 0; + Font var31 = Login.fontPlain12; + String var32 = var10.text; + + String var43; + for(var32 = class9.method95(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 = class9.method95(var32, var10); var32.length() > 0; var26 = var26 + var31.ascent + 1) { + int var27 = var32.indexOf("
"); + if (var27 != -1) { + var43 = var32.substring(0, var27); + var32 = var32.substring(var27 + 4); + } else { + var43 = var32; + var32 = ""; + } + + var31.draw(var43, var24 + 3, var26, 0, -1); + } + } + + if (var10.type == 9) { + if (var10.field2627) { + 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 { + GrandExchangeOfferNameComparator.method199(var19, var20, var21, var22, var10.color, var10.lineWid); + } + } + } + } + } + } + } + } + } + } + } + + } } diff --git a/runescape-client/src/main/java/class5.java b/runescape-client/src/main/java/class5.java index 435ee9820d..5ac7f85e46 100644 --- a/runescape-client/src/main/java/class5.java +++ b/runescape-client/src/main/java/class5.java @@ -1,33 +1,31 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("j") +@ObfuscatedName("h") public class class5 implements class12 { - class5() { - } // L: 8 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lkx;)Lkx;" + ) + public Buffer vmethod120(Buffer var1) { + Buffer var2 = new Buffer(100); + this.method63(var1, var2); + return var2; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lkj;)Lkj;" - ) - public Buffer vmethod123(Buffer var1) { - Buffer var2 = new Buffer(100); // L: 11 - this.method61(var1, var2); // L: 12 - return var2; // L: 13 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lkx;Lkx;)V" + ) + void method63(Buffer var1, Buffer var2) { + class10 var3 = new class10(var1); + class6 var4 = new class6(var3); - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(Lkj;Lkj;)V" - ) - void method61(Buffer var1, Buffer var2) { - class10 var3 = new class10(var1); // L: 17 - class6 var4 = new class6(var3); // L: 18 + long var5; + for(var5 = 0L; !var4.method64(var3.method111(), var3.method115(), var5); ++var5) { + ; + } - long var5; - for (var5 = 0L; !var4.method64(var3.method114(), var3.method121(), var5); ++var5) { // L: 19 20 21 - } - - var2.writeLong(var5); // L: 23 - } // L: 24 + var2.writeLong(var5); + } } diff --git a/runescape-client/src/main/java/class51.java b/runescape-client/src/main/java/class51.java index 2be0dd5edb..c60d906ad0 100644 --- a/runescape-client/src/main/java/class51.java +++ b/runescape-client/src/main/java/class51.java @@ -3,434 +3,209 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("at") +@ObfuscatedName("ao") public class class51 implements WorldMapSection { - @ObfuscatedName("h") - @ObfuscatedGetter( - intValue = 386223373 - ) - int field391; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = 2109143743 - ) - int field383; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = -1355419329 - ) - int field384; - @ObfuscatedName("w") - @ObfuscatedGetter( - intValue = -76124047 - ) - int field385; - @ObfuscatedName("t") - @ObfuscatedGetter( - intValue = -1532618423 - ) - int field392; - @ObfuscatedName("j") - @ObfuscatedGetter( - intValue = -1466028357 - ) - int field387; - @ObfuscatedName("n") - @ObfuscatedGetter( - intValue = -249737173 - ) - int field388; - @ObfuscatedName("p") - @ObfuscatedGetter( - intValue = 1727232939 - ) - int field389; - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = -196617295 - ) - int field390; - @ObfuscatedName("z") - @ObfuscatedGetter( - intValue = -1159678885 - ) - int field393; + @ObfuscatedName("n") + @ObfuscatedGetter( + intValue = -154485521 + ) + int field393; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = 1795008419 + ) + int field386; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = 318861515 + ) + int field387; + @ObfuscatedName("c") + @ObfuscatedGetter( + intValue = -1934336547 + ) + int field388; + @ObfuscatedName("y") + @ObfuscatedGetter( + intValue = -1607101939 + ) + int field394; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 69269291 + ) + int field389; + @ObfuscatedName("z") + @ObfuscatedGetter( + intValue = -2008160761 + ) + int field391; + @ObfuscatedName("e") + @ObfuscatedGetter( + intValue = 294183149 + ) + int field392; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = 1713050183 + ) + int field385; + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 1407382949 + ) + int field390; - class51() { - } // L: 18 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lar;B)V", + garbageValue = "112" + ) + @Export("expandBounds") + public void expandBounds(WorldMapArea var1) { + if (var1.regionLowX > this.field394) { + var1.regionLowX = this.field394; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Lav;S)V", - garbageValue = "19050" - ) - @Export("expandBounds") - public void expandBounds(WorldMapArea var1) { - if (var1.regionLowX > this.field392) { // L: 21 - var1.regionLowX = this.field392; - } + if (var1.regionHighX < this.field394) { + var1.regionHighX = this.field394; + } - if (var1.regionHighX < this.field392) { - var1.regionHighX = this.field392; // L: 22 - } + if (var1.regionLowY > this.field389) { + var1.regionLowY = this.field389; + } - if (var1.regionLowY > this.field387) { // L: 23 - var1.regionLowY = this.field387; - } + if (var1.regionHighY < this.field389) { + var1.regionHighY = this.field389; + } - if (var1.regionHighY < this.field387) { // L: 24 - var1.regionHighY = this.field387; - } + } - } // L: 25 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IIIB)Z", + garbageValue = "-90" + ) + @Export("containsCoord") + public boolean containsCoord(int var1, int var2, int var3) { + if (var1 >= this.field393 && var1 < this.field386 + this.field393) { + return var2 >= (this.field387 << 6) + (this.field391 << 3) && var2 <= (this.field387 << 6) + (this.field391 << 3) + 7 && var3 >= (this.field388 << 6) + (this.field392 << 3) && var3 <= (this.field388 << 6) + (this.field392 << 3) + 7; + } else { + return false; + } + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(IIII)Z", - garbageValue = "241939554" - ) - @Export("containsCoord") - public boolean containsCoord(int var1, int var2, int var3) { - if (var1 >= this.field391 && var1 < this.field391 + this.field383) { // L: 28 - return var2 >= (this.field384 << 6) + (this.field388 << 3) && var2 <= (this.field384 << 6) + (this.field388 << 3) + 7 && var3 >= (this.field385 << 6) + (this.field389 << 3) && var3 <= (this.field385 << 6) + (this.field389 << 3) + 7; // L: 31 - } else { - return false; // L: 29 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(IIB)Z", + garbageValue = "-5" + ) + @Export("containsPosition") + public boolean containsPosition(int var1, int var2) { + return var1 >= (this.field394 << 6) + (this.field385 << 3) && var1 <= (this.field394 << 6) + (this.field385 << 3) + 7 && var2 >= (this.field389 << 6) + (this.field390 << 3) && var2 <= (this.field389 << 6) + (this.field390 << 3) + 7; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(III)Z", - garbageValue = "639074408" - ) - @Export("containsPosition") - public boolean containsPosition(int var1, int var2) { - return var1 >= (this.field392 << 6) + (this.field390 << 3) && var1 <= (this.field392 << 6) + (this.field390 << 3) + 7 && var2 >= (this.field387 << 6) + (this.field393 << 3) && var2 <= (this.field387 << 6) + (this.field393 << 3) + 7; // L: 35 - } + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(IIIB)[I", + garbageValue = "-76" + ) + @Export("getBorderTileLengths") + public int[] getBorderTileLengths(int var1, int var2, int var3) { + if (!this.containsCoord(var1, var2, var3)) { + return null; + } else { + int[] var4 = new int[]{this.field394 * 64 - this.field387 * 64 + var2 + (this.field385 * 8 - this.field391 * 8), var3 + (this.field389 * 64 - this.field388 * 64) + (this.field390 * 8 - this.field392 * 8)}; + return var4; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(IIII)[I", - garbageValue = "1868308301" - ) - @Export("getBorderTileLengths") - public int[] getBorderTileLengths(int var1, int var2, int var3) { - if (!this.containsCoord(var1, var2, var3)) { // L: 39 - return null; // L: 40 - } else { - int[] var4 = new int[]{var2 + (this.field392 * 64 - this.field384 * 64) + (this.field390 * 8 - this.field388 * 8), var3 + (this.field387 * 64 - this.field385 * 64) + (this.field393 * 8 - this.field389 * 8)}; // L: 42 43 44 - return var4; // L: 45 - } - } + @ObfuscatedName("y") + @ObfuscatedSignature( + descriptor = "(III)Lhd;", + garbageValue = "-1841969392" + ) + @Export("coord") + public Coord coord(int var1, int var2) { + if (!this.containsPosition(var1, var2)) { + return null; + } else { + int var3 = this.field387 * 64 - this.field394 * 64 + (this.field391 * 8 - this.field385 * 8) + var1; + int var4 = this.field388 * 64 - this.field389 * 64 + var2 + (this.field392 * 8 - this.field390 * 8); + return new Coord(this.field393, var3, var4); + } + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(IIB)Lhs;", - garbageValue = "0" - ) - @Export("coord") - public Coord coord(int var1, int var2) { - if (!this.containsPosition(var1, var2)) { // L: 49 - return null; // L: 50 - } else { - int var3 = this.field384 * 64 - this.field392 * 64 + (this.field388 * 8 - this.field390 * 8) + var1; // L: 52 - int var4 = var2 + (this.field385 * 64 - this.field387 * 64) + (this.field389 * 8 - this.field393 * 8); // L: 53 - return new Coord(this.field391, var3, var4); // L: 54 - } - } + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(Lkx;I)V", + garbageValue = "-489268143" + ) + @Export("read") + public void read(Buffer var1) { + this.field393 = var1.readUnsignedByte(); + this.field386 = var1.readUnsignedByte(); + this.field387 = var1.readUnsignedShort(); + this.field391 = var1.readUnsignedByte(); + this.field388 = var1.readUnsignedShort(); + this.field392 = var1.readUnsignedByte(); + this.field394 = var1.readUnsignedShort(); + this.field385 = var1.readUnsignedByte(); + this.field389 = var1.readUnsignedShort(); + this.field390 = var1.readUnsignedByte(); + this.method858(); + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(Lkj;B)V", - garbageValue = "125" - ) - @Export("read") - public void read(Buffer var1) { - this.field391 = var1.readUnsignedByte(); // L: 58 - this.field383 = var1.readUnsignedByte(); // L: 59 - this.field384 = var1.readUnsignedShort(); // L: 60 - this.field388 = var1.readUnsignedByte(); // L: 61 - this.field385 = var1.readUnsignedShort(); // L: 62 - this.field389 = var1.readUnsignedByte(); // L: 63 - this.field392 = var1.readUnsignedShort(); // L: 64 - this.field390 = var1.readUnsignedByte(); // L: 65 - this.field387 = var1.readUnsignedShort(); // L: 66 - this.field393 = var1.readUnsignedByte(); // L: 67 - this.method817(); // L: 68 - } // L: 69 + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-1" + ) + void method858() { + } - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-70" - ) - void method817() { - } // L: 71 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lib;", + garbageValue = "410836037" + ) + static class238[] method872() { + return new class238[]{class238.field3123, class238.field3121}; + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIII)I", - garbageValue = "73723896" - ) - public static int method815(int var0, int var1, int var2) { - var2 &= 3; // L: 9 - if (var2 == 0) { // L: 10 - return var0; - } else if (var2 == 1) { // L: 11 - return var1; - } else { - return var2 == 2 ? 7 - var0 : 7 - var1; // L: 12 13 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(II)Liw;", + garbageValue = "196588481" + ) + public static FloorUnderlayDefinition method876(int var0) { + FloorUnderlayDefinition var1 = (FloorUnderlayDefinition)FloorUnderlayDefinition.FloorUnderlayDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = FloorUnderlayDefinition.FloorUnderlayDefinition_archive.takeFile(1, var0); + var1 = new FloorUnderlayDefinition(); + if (var2 != null) { + var1.decode(new Buffer(var2), var0); + } - @ObfuscatedName("t") - @ObfuscatedSignature( - descriptor = "(Lib;Ljava/lang/String;Ljava/lang/String;I)Llo;", - garbageValue = "-973430603" - ) - @Export("SpriteBuffer_getIndexedSpriteByName") - public static IndexedSprite SpriteBuffer_getIndexedSpriteByName(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); // L: 125 - int var4 = var0.getFileId(var3, var2); // L: 126 - IndexedSprite var5; - if (!class304.method5363(var0, var3, var4)) { // L: 129 - var5 = null; // L: 130 - } else { - var5 = PrivateChatMode.method5937(); // L: 133 - } + var1.postDecode(); + FloorUnderlayDefinition.FloorUnderlayDefinition_cached.put(var1, (long)var0); + return var1; + } + } - return var5; // L: 135 - } + @ObfuscatedName("ko") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "1" + ) + @Export("FriendSystem_invalidateIgnoreds") + static final void FriendSystem_invalidateIgnoreds() { + World.method1923(); + if (WorldMapID.clanChat != null) { + WorldMapID.clanChat.invalidateIgnoreds(); + } - @ObfuscatedName("gk") - @ObfuscatedSignature( - descriptor = "(Lcx;I)V", - garbageValue = "1281357003" - ) - static final void method831(Actor var0) { - var0.movementSequence = var0.idleSequence; // L: 3985 - if (var0.pathLength == 0) { // L: 3986 - var0.field963 = 0; // L: 3987 - } else { - if (var0.sequence != -1 && var0.sequenceDelay == 0) { // L: 3990 - SequenceDefinition var1 = ParamComposition.SequenceDefinition_get(var0.sequence); // L: 3991 - if (var0.field996 > 0 && var1.field3560 == 0) { // L: 3992 - ++var0.field963; // L: 3993 - return; // L: 3994 - } - - if (var0.field996 <= 0 && var1.field3555 == 0) { // L: 3996 - ++var0.field963; // L: 3997 - return; // L: 3998 - } - } - - int var10 = var0.x; // L: 4001 - int var2 = var0.y; // L: 4002 - int var3 = var0.field941 * 64 + var0.pathX[var0.pathLength - 1] * 128; // L: 4003 - int var4 = var0.field941 * 64 + var0.pathY[var0.pathLength - 1] * 128; // L: 4004 - if (var10 < var3) { // L: 4005 - if (var2 < var4) { // L: 4006 - var0.orientation = 1280; - } else if (var2 > var4) { // L: 4007 - var0.orientation = 1792; - } else { - var0.orientation = 1536; // L: 4008 - } - } else if (var10 > var3) { // L: 4010 - if (var2 < var4) { // L: 4011 - var0.orientation = 768; - } else if (var2 > var4) { // L: 4012 - var0.orientation = 256; - } else { - var0.orientation = 512; // L: 4013 - } - } else if (var2 < var4) { // L: 4015 - var0.orientation = 1024; - } else if (var2 > var4) { // L: 4016 - var0.orientation = 0; - } - - byte var5 = var0.pathTraversed[var0.pathLength - 1]; // L: 4017 - if (var3 - var10 <= 256 && var3 - var10 >= -256 && var4 - var2 <= 256 && var4 - var2 >= -256) { // L: 4018 - int var6 = var0.orientation - var0.rotation & 2047; // L: 4025 - if (var6 > 1024) { // L: 4026 - var6 -= 2048; - } - - int var7 = var0.walkBackSequence; // L: 4027 - if (var6 >= -256 && var6 <= 256) { // L: 4028 - var7 = var0.walkSequence; - } else if (var6 >= 256 && var6 < 768) { // L: 4029 - var7 = var0.walkRightSequence; - } else if (var6 >= -768 && var6 <= -256) { // L: 4030 - var7 = var0.walkLeftSequence; - } - - if (var7 == -1) { // L: 4031 - var7 = var0.walkSequence; - } - - var0.movementSequence = var7; // L: 4032 - int var8 = 4; // L: 4033 - boolean var9 = true; // L: 4034 - if (var0 instanceof NPC) { // L: 4035 - var9 = ((NPC)var0).definition.isClickable; - } - - if (var9) { // L: 4036 - if (var0.orientation != var0.rotation && var0.targetIndex == -1 && var0.field940 != 0) { // L: 4037 - var8 = 2; - } - - if (var0.pathLength > 2) { // L: 4038 - var8 = 6; - } - - if (var0.pathLength > 3) { // L: 4039 - var8 = 8; - } - - if (var0.field963 > 0 && var0.pathLength > 1) { // L: 4040 - var8 = 8; // L: 4041 - --var0.field963; // L: 4042 - } - } else { - if (var0.pathLength > 1) { // L: 4046 - var8 = 6; - } - - if (var0.pathLength > 2) { // L: 4047 - var8 = 8; - } - - if (var0.field963 > 0 && var0.pathLength > 1) { // L: 4048 - var8 = 8; // L: 4049 - --var0.field963; // L: 4050 - } - } - - if (var5 == 2) { // L: 4053 - var8 <<= 1; - } - - if (var8 >= 8 && var0.walkSequence == var0.movementSequence && var0.runSequence != -1) { // L: 4054 - var0.movementSequence = var0.runSequence; - } - - if (var10 != var3 || var4 != var2) { // L: 4055 - if (var10 < var3) { // L: 4056 - var0.x += var8; // L: 4057 - if (var0.x > var3) { // L: 4058 - var0.x = var3; - } - } else if (var10 > var3) { // L: 4060 - var0.x -= var8; // L: 4061 - if (var0.x < var3) { // L: 4062 - var0.x = var3; - } - } - - if (var2 < var4) { // L: 4064 - var0.y += var8; // L: 4065 - if (var0.y > var4) { // L: 4066 - var0.y = var4; - } - } else if (var2 > var4) { // L: 4068 - var0.y -= var8; // L: 4069 - if (var0.y < var4) { // L: 4070 - var0.y = var4; - } - } - } - - if (var3 == var0.x && var4 == var0.y) { // L: 4073 - --var0.pathLength; // L: 4074 - if (var0.field996 > 0) { // L: 4075 - --var0.field996; - } - } - - } else { - var0.x = var3; // L: 4019 - var0.y = var4; // L: 4020 - --var0.pathLength; // L: 4021 - if (var0.field996 > 0) { - --var0.field996; // L: 4022 - } - - } - } - } // L: 3988 4023 4077 - - @ObfuscatedName("gf") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "1731859133" - ) - static void method832() { - if (Client.renderSelf) { // L: 4708 - ClientPreferences.addPlayerToScene(PlayerComposition.localPlayer, false); // L: 4709 - } - - } // L: 4711 - - @ObfuscatedName("ju") - @ObfuscatedSignature( - descriptor = "(IIIIIIIB)V", - garbageValue = "1" - ) - @Export("updateRootInterface") - static final void updateRootInterface(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { - if (class41.loadInterface(var0)) { // L: 9904 - Players.updateInterface(class9.Widget_interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); // L: 9905 - } - } // L: 9906 - - @ObfuscatedName("ks") - @ObfuscatedSignature( - descriptor = "([Lhe;II)V", - garbageValue = "1271776997" - ) - @Export("runComponentCloseListeners") - static final void runComponentCloseListeners(Widget[] var0, int var1) { - for (int var2 = 0; var2 < var0.length; ++var2) { // L: 10376 - Widget var3 = var0[var2]; // L: 10377 - if (var3 != null) { // L: 10378 - if (var3.type == 0) { // L: 10379 - if (var3.children != null) { // L: 10380 - runComponentCloseListeners(var3.children, var1); - } - - InterfaceParent var4 = (InterfaceParent)Client.interfaceParents.get((long)var3.id); // L: 10381 - if (var4 != null) { // L: 10382 - WorldMapRectangle.runIntfCloseListeners(var4.group, var1); - } - } - - ScriptEvent var5; - if (var1 == 0 && var3.onDialogAbort != null) { // L: 10384 - var5 = new ScriptEvent(); // L: 10385 - var5.widget = var3; // L: 10386 - var5.args = var3.onDialogAbort; // L: 10387 - class22.runScriptEvent(var5); // L: 10388 - } - - if (var1 == 1 && var3.onSubChange != null) { // L: 10390 - if (var3.childIndex >= 0) { // L: 10391 - Widget var6 = CollisionMap.getWidget(var3.id); // L: 10392 - if (var6 == null || var6.children == null || var3.childIndex >= var6.children.length || var3 != var6.children[var3.childIndex]) { // L: 10393 - continue; - } - } - - var5 = new ScriptEvent(); // L: 10397 - var5.widget = var3; // L: 10398 - var5.args = var3.onSubChange; // L: 10399 - class22.runScriptEvent(var5); // L: 10400 - } - } - } - - } // L: 10403 + } } diff --git a/runescape-client/src/main/java/class52.java b/runescape-client/src/main/java/class52.java index d347f8fa05..96e722f216 100644 --- a/runescape-client/src/main/java/class52.java +++ b/runescape-client/src/main/java/class52.java @@ -1,391 +1,119 @@ +import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bh") +@ObfuscatedName("bj") public final class class52 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(II)Llw;", - garbageValue = "1066778190" - ) - public static PrivateChatMode method840(int var0) { - PrivateChatMode[] var1 = new PrivateChatMode[]{PrivateChatMode.field3834, PrivateChatMode.field3833, PrivateChatMode.field3832}; // L: 18 - PrivateChatMode[] var2 = var1; // L: 20 + @ObfuscatedName("su") + @Export("foundItemIds") + static short[] foundItemIds; + @ObfuscatedName("q") + @ObfuscatedGetter( + intValue = -1687421711 + ) + @Export("ItemDefinition_fileCount") + public static int ItemDefinition_fileCount; + @ObfuscatedName("dp") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive0") + static Archive archive0; - for (int var3 = 0; var3 < var2.length; ++var3) { // L: 21 - PrivateChatMode var4 = var2[var3]; // L: 22 - if (var0 == var4.field3835) { // L: 24 - return var4; - } - } + @ObfuscatedName("fs") + @ObfuscatedSignature( + descriptor = "(II)V", + garbageValue = "-1618970834" + ) + @Export("getLoginError") + static void getLoginError(int var0) { + if (var0 == -3) { + InvDefinition.setLoginResponseString("Connection timed out.", "Please try using a different world.", ""); + } else if (var0 == -2) { + InvDefinition.setLoginResponseString("Error connecting to server.", "Please try using a different world.", ""); + } else if (var0 == -1) { + InvDefinition.setLoginResponseString("No response from server.", "Please try using a different world.", ""); + } else if (var0 == 3) { + Login.loginIndex = 3; + Login.field1207 = 1; + } else if (var0 == 4) { + WorldMapDecoration.method406(0); + } else if (var0 == 5) { + Login.field1207 = 2; + InvDefinition.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); + } else if (var0 != 68 && (Client.onMobile || var0 != 6)) { + if (var0 == 7) { + InvDefinition.setLoginResponseString("This world is full.", "Please use a different world.", ""); + } else if (var0 == 8) { + InvDefinition.setLoginResponseString("Unable to connect.", "Login server offline.", ""); + } else if (var0 == 9) { + InvDefinition.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", ""); + } else if (var0 == 10) { + InvDefinition.setLoginResponseString("Unable to connect.", "Bad session id.", ""); + } else if (var0 == 11) { + InvDefinition.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); + } else if (var0 == 12) { + InvDefinition.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); + } else if (var0 == 13) { + InvDefinition.setLoginResponseString("Could not complete login.", "Please try using a different world.", ""); + } else if (var0 == 14) { + InvDefinition.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 16) { + InvDefinition.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", ""); + } else if (var0 == 17) { + InvDefinition.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", ""); + } else if (var0 == 18) { + WorldMapDecoration.method406(1); + } else if (var0 == 19) { + InvDefinition.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); + } else if (var0 == 20) { + InvDefinition.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", ""); + } else if (var0 == 22) { + InvDefinition.setLoginResponseString("Malformed login packet.", "Please try again.", ""); + } else if (var0 == 23) { + InvDefinition.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", ""); + } else if (var0 == 24) { + InvDefinition.setLoginResponseString("Error loading your profile.", "Please contact customer support.", ""); + } else if (var0 == 25) { + InvDefinition.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", ""); + } else if (var0 == 26) { + InvDefinition.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", ""); + } else if (var0 == 27) { + InvDefinition.setLoginResponseString("", "Service unavailable.", ""); + } else if (var0 == 31) { + InvDefinition.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game."); + } else if (var0 == 32) { + InvDefinition.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system."); + } else if (var0 == 37) { + InvDefinition.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); + } else if (var0 == 38) { + InvDefinition.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) { + InvDefinition.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", ""); + ItemContainer.updateGameState(11); + return; + } - return null; // L: 28 - } + if (var0 == 57) { + InvDefinition.setLoginResponseString("The code you entered was incorrect.", "Please try again.", ""); + ItemContainer.updateGameState(11); + return; + } - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(II)Z", - garbageValue = "-677680032" - ) - public static boolean method844(int var0) { - return (var0 >> 30 & 1) != 0; // L: 29 - } + if (var0 == 61) { + Login.loginIndex = 7; + } else { + InvDefinition.setLoginResponseString("Unexpected server response", "Please try using a different world.", ""); + } + } + } else { + InvDefinition.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", ""); + } - @ObfuscatedName("ap") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "2036711787" - ) - static int method845(int var0, Script var1, boolean var2) { - int var3; - if (var0 == 6600) { // L: 3536 - var3 = GameObject.Client_plane; // L: 3537 - int var15 = (PlayerComposition.localPlayer.x >> 7) + NetFileRequest.baseX; // L: 3538 - int var8 = (PlayerComposition.localPlayer.y >> 7) + class41.baseY; // L: 3539 - Actor.getWorldMap().method6370(var3, var15, var8, true); // L: 3540 - return 1; // L: 3541 - } else { - WorldMapArea var9; - if (var0 == ScriptOpcodes.WORLDMAP_GETMAPNAME) { // L: 3543 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3544 - String var16 = ""; // L: 3545 - var9 = Actor.getWorldMap().getMapArea(var3); // L: 3546 - if (var9 != null) { // L: 3547 - var16 = var9.getExternalName(); // L: 3548 - } - - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var16; // L: 3550 - return 1; // L: 3551 - } else if (var0 == ScriptOpcodes.WORLDMAP_SETMAP) { // L: 3553 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3554 - Actor.getWorldMap().setCurrentMapAreaId(var3); // L: 3555 - return 1; // L: 3556 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETZOOM) { // L: 3558 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getZoomLevel(); // L: 3559 - return 1; // L: 3560 - } else if (var0 == ScriptOpcodes.WORLDMAP_SETZOOM) { // L: 3562 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3563 - Actor.getWorldMap().setZoomPercentage(var3); // L: 3564 - return 1; // L: 3565 - } else if (var0 == ScriptOpcodes.WORLDMAP_ISLOADED) { // L: 3567 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().isCacheLoaded() ? 1 : 0; // L: 3568 - return 1; // L: 3569 - } else { - Coord var14; - if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD) { // L: 3571 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3572 - Actor.getWorldMap().setWorldMapPositionTarget(var14.x, var14.y); // L: 3573 - return 1; // L: 3574 - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTODISPLAYCOORD_INSTANT) { // L: 3576 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3577 - Actor.getWorldMap().setWorldMapPositionTargetInstant(var14.x, var14.y); // L: 3578 - return 1; // L: 3579 - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD) { // L: 3581 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3582 - Actor.getWorldMap().jumpToSourceCoord(var14.plane, var14.x, var14.y); // L: 3583 - return 1; // L: 3584 - } else if (var0 == ScriptOpcodes.WORLDMAP_JUMPTOSOURCECOORD_INSTANT) { // L: 3586 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3587 - Actor.getWorldMap().jumpToSourceCoordInstant(var14.plane, var14.x, var14.y); // L: 3588 - return 1; // L: 3589 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYPOSITION) { // L: 3591 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getDisplayX(); // L: 3592 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getDisplayY(); // L: 3593 - return 1; // L: 3594 - } else { - WorldMapArea var11; - if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGORIGIN) { // L: 3596 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3597 - var11 = Actor.getWorldMap().getMapArea(var3); // L: 3598 - if (var11 == null) { // L: 3599 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3600 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getOrigin().packed(); // L: 3603 - } - - return 1; // L: 3605 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGSIZE) { // L: 3607 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3608 - var11 = Actor.getWorldMap().getMapArea(var3); // L: 3609 - if (var11 == null) { // L: 3610 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3611 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3612 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (var11.getRegionHighX() - var11.getRegionLowX() + 1) * 64; // L: 3615 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = (var11.getRegionHighY() - var11.getRegionLowY() + 1) * 64; // L: 3616 - } - - return 1; // L: 3618 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGBOUNDS) { // L: 3620 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3621 - var11 = Actor.getWorldMap().getMapArea(var3); // L: 3622 - if (var11 == null) { // L: 3623 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3624 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3625 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3626 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3627 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getRegionLowX() * 64; // L: 3630 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getRegionLowY() * 64; // L: 3631 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getRegionHighX() * 64 + 64 - 1; // L: 3632 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getRegionHighY() * 64 + 64 - 1; // L: 3633 - } - - return 1; // L: 3635 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCONFIGZOOM) { // L: 3637 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3638 - var11 = Actor.getWorldMap().getMapArea(var3); // L: 3639 - if (var11 == null) { // L: 3640 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3641 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getZoom(); // L: 3644 - } - - return 1; // L: 3646 - } else if (var0 == 6615) { // L: 3648 - var14 = Actor.getWorldMap().getDisplayCoord(); // L: 3649 - if (var14 == null) { // L: 3650 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3651 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3652 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var14.x; // L: 3655 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var14.y; // L: 3656 - } - - return 1; // L: 3658 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETCURRENTMAP) { // L: 3660 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().currentMapAreaId(); // L: 3661 - return 1; // L: 3662 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISPLAYCOORD) { // L: 3664 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3665 - var11 = Actor.getWorldMap().getCurrentMapArea(); // L: 3666 - if (var11 == null) { // L: 3667 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3668 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3669 - return 1; // L: 3670 - } else { - int[] var12 = var11.position(var14.plane, var14.x, var14.y); // L: 3672 - if (var12 == null) { // L: 3673 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3674 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3675 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var12[0]; // L: 3678 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var12[1]; // L: 3679 - } - - return 1; // L: 3681 - } - } else { - Coord var5; - if (var0 == 6618) { // L: 3683 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3684 - var11 = Actor.getWorldMap().getCurrentMapArea(); // L: 3685 - if (var11 == null) { // L: 3686 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3687 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3688 - return 1; // L: 3689 - } else { - var5 = var11.coord(var14.x, var14.y); // L: 3691 - if (var5 == null) { // L: 3692 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3693 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var5.packed(); // L: 3696 - } - - return 1; // L: 3698 - } - } else { - Coord var10; - if (var0 == 6619) { // L: 3700 - VarcInt.Interpreter_intStackSize -= 2; // L: 3701 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3702 - var10 = new Coord(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 3703 - class204.method3721(var3, var10, false); // L: 3704 - return 1; // L: 3705 - } else if (var0 == 6620) { // L: 3707 - VarcInt.Interpreter_intStackSize -= 2; // L: 3708 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3709 - var10 = new Coord(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 3710 - class204.method3721(var3, var10, true); // L: 3711 - return 1; // L: 3712 - } else if (var0 == ScriptOpcodes.WORLDMAP_COORDINMAP) { // L: 3714 - VarcInt.Interpreter_intStackSize -= 2; // L: 3715 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3716 - var10 = new Coord(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 3717 - var9 = Actor.getWorldMap().getMapArea(var3); // L: 3718 - if (var9 == null) { // L: 3719 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = 0; // L: 3720 - return 1; // L: 3721 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var9.containsCoord(var10.plane, var10.x, var10.y) ? 1 : 0; // L: 3723 - return 1; // L: 3724 - } - } else if (var0 == ScriptOpcodes.WORLDMAP_GETSIZE) { // L: 3726 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getDisplayWith(); // L: 3727 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getDisplayHeight(); // L: 3728 - return 1; // L: 3729 - } else if (var0 == 6623) { // L: 3731 - var14 = new Coord(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3732 - var11 = Actor.getWorldMap().mapAreaAtCoord(var14.plane, var14.x, var14.y); // L: 3733 - if (var11 == null) { // L: 3734 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3735 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var11.getId(); // L: 3738 - } - - return 1; // L: 3740 - } else if (var0 == 6624) { // L: 3742 - Actor.getWorldMap().setMaxFlashCount(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3743 - return 1; // L: 3744 - } else if (var0 == 6625) { // L: 3746 - Actor.getWorldMap().resetMaxFlashCount(); // L: 3747 - return 1; // L: 3748 - } else if (var0 == 6626) { // L: 3750 - Actor.getWorldMap().setCyclesPerFlash(Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]); // L: 3751 - return 1; // L: 3752 - } else if (var0 == 6627) { // L: 3754 - Actor.getWorldMap().resetCyclesPerFlash(); // L: 3755 - return 1; // L: 3756 - } else { - boolean var13; - if (var0 == ScriptOpcodes.WORLDMAP_PERPETUALFLASH) { // L: 3758 - var13 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 3759 - Actor.getWorldMap().setPerpetualFlash(var13); // L: 3760 - return 1; // L: 3761 - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENT) { // L: 3763 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3764 - Actor.getWorldMap().flashElement(var3); // L: 3765 - return 1; // L: 3766 - } else if (var0 == ScriptOpcodes.WORLDMAP_FLASHELEMENTCATEGORY) { // L: 3768 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3769 - Actor.getWorldMap().flashCategory(var3); // L: 3770 - return 1; // L: 3771 - } else if (var0 == ScriptOpcodes.WORLDMAP_STOPCURRENTFLASHES) { // L: 3773 - Actor.getWorldMap().stopCurrentFlashes(); // L: 3774 - return 1; // L: 3775 - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTS) { // L: 3777 - var13 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize] == 1; // L: 3778 - Actor.getWorldMap().setElementsDisabled(var13); // L: 3779 - return 1; // L: 3780 - } else { - boolean var7; - if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENT) { // L: 3782 - VarcInt.Interpreter_intStackSize -= 2; // L: 3783 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3784 - var7 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1] == 1; // L: 3785 - Actor.getWorldMap().disableElement(var3, var7); // L: 3786 - return 1; // L: 3787 - } else if (var0 == ScriptOpcodes.WORLDMAP_DISABLEELEMENTCATEGORY) { // L: 3789 - VarcInt.Interpreter_intStackSize -= 2; // L: 3790 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3791 - var7 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1] == 1; // L: 3792 - Actor.getWorldMap().setCategoryDisabled(var3, var7); // L: 3793 - return 1; // L: 3794 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTS) { // L: 3796 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().getElementsDisabled() ? 1 : 0; // L: 3797 - return 1; // L: 3798 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENT) { // L: 3800 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3801 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().isElementDisabled(var3) ? 1 : 0; // L: 3802 - return 1; // L: 3803 - } else if (var0 == ScriptOpcodes.WORLDMAP_GETDISABLEELEMENTCATEGORY) { // L: 3805 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3806 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Actor.getWorldMap().isCategoryDisabled(var3) ? 1 : 0; // L: 3807 - return 1; // L: 3808 - } else if (var0 == 6638) { // L: 3810 - VarcInt.Interpreter_intStackSize -= 2; // L: 3811 - var3 = Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize]; // L: 3812 - var10 = new Coord(Interpreter.Interpreter_intStack[VarcInt.Interpreter_intStackSize + 1]); // L: 3813 - var5 = Actor.getWorldMap().method6414(var3, var10); // L: 3814 - if (var5 == null) { // L: 3815 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3816 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var5.packed(); // L: 3819 - } - - return 1; // L: 3821 - } else { - AbstractWorldMapIcon var6; - if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_START) { // L: 3823 - var6 = Actor.getWorldMap().iconStart(); // L: 3824 - if (var6 == null) { // L: 3825 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3826 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3827 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6.getElement(); // L: 3830 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6.coord2.packed(); // L: 3831 - } - - return 1; // L: 3833 - } else if (var0 == ScriptOpcodes.WORLDMAP_LISTELEMENT_NEXT) { // L: 3835 - var6 = Actor.getWorldMap().iconNext(); // L: 3836 - if (var6 == null) { // L: 3837 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3838 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3839 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6.getElement(); // L: 3842 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var6.coord2.packed(); // L: 3843 - } - - return 1; // L: 3845 - } else { - WorldMapElement var4; - if (var0 == ScriptOpcodes.MEC_TEXT) { // L: 3847 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3848 - var4 = UserComparator10.WorldMapElement_get(var3); // L: 3849 - if (var4.name == null) { // L: 3850 - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = ""; // L: 3851 - } else { - Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var4.name; // L: 3854 - } - - return 1; // L: 3856 - } else if (var0 == ScriptOpcodes.MEC_TEXTSIZE) { // L: 3858 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3859 - var4 = UserComparator10.WorldMapElement_get(var3); // L: 3860 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.textSize; // L: 3861 - return 1; // L: 3862 - } else if (var0 == ScriptOpcodes.MEC_CATEGORY) { // L: 3864 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3865 - var4 = UserComparator10.WorldMapElement_get(var3); // L: 3866 - if (var4 == null) { // L: 3867 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3868 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.category; // L: 3871 - } - - return 1; // L: 3873 - } else if (var0 == ScriptOpcodes.MEC_SPRITE) { // L: 3875 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3876 - var4 = UserComparator10.WorldMapElement_get(var3); // L: 3877 - if (var4 == null) { // L: 3878 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = -1; // L: 3879 - } else { - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = var4.sprite1; // L: 3882 - } - - return 1; // L: 3884 - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENT) { // L: 3886 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Script.worldMapEvent.mapElement; // L: 3887 - return 1; // L: 3888 - } else if (var0 == 6698) { // L: 3890 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Script.worldMapEvent.coord1.packed(); // L: 3891 - return 1; // L: 3892 - } else if (var0 == ScriptOpcodes.WORLDMAP_ELEMENTCOORD) { // L: 3894 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Script.worldMapEvent.coord2.packed(); // L: 3895 - return 1; // L: 3896 - } else { - return 2; // L: 3898 - } - } - } - } - } - } - } - } - } - } - } + ItemContainer.updateGameState(10); + } } diff --git a/runescape-client/src/main/java/class56.java b/runescape-client/src/main/java/class56.java index 40c23184ad..66994cb6bd 100644 --- a/runescape-client/src/main/java/class56.java +++ b/runescape-client/src/main/java/class56.java @@ -3,14 +3,23 @@ import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; import netscape.javascript.JSObject; -@ObfuscatedName("bl") +@ObfuscatedName("br") public class class56 { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/applet/Applet;Ljava/lang/String;B)Ljava/lang/Object;", - garbageValue = "16" - ) - public static Object method901(Applet var0, String var1) throws Throwable { - return JSObject.getWindow(var0).call(var1, (Object[])null); // L: 13 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;B)V", + garbageValue = "1" + ) + public static void method928(Applet var0, String var1) throws Throwable { + JSObject.getWindow(var0).eval(var1); + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Ljava/applet/Applet;Ljava/lang/String;[Ljava/lang/Object;I)Ljava/lang/Object;", + garbageValue = "1531534394" + ) + public static Object method923(Applet var0, String var1, Object[] var2) throws Throwable { + return JSObject.getWindow(var0).call(var1, var2); + } } diff --git a/runescape-client/src/main/java/class58.java b/runescape-client/src/main/java/class58.java index 30b7e3c5e2..12a7ad1a94 100644 --- a/runescape-client/src/main/java/class58.java +++ b/runescape-client/src/main/java/class58.java @@ -1,243 +1,249 @@ -import java.io.File; -import java.io.IOException; -import java.io.RandomAccessFile; import javax.imageio.ImageIO; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("bf") +@ObfuscatedName("bx") public class class58 { - @ObfuscatedName("sx") - @ObfuscatedSignature( - descriptor = "Lmf;" - ) - @Export("platformInfo") - static PlatformInfo platformInfo; - @ObfuscatedName("l") - @ObfuscatedSignature( - descriptor = "Lib;" - ) - @Export("Widget_archive") - public static AbstractArchive Widget_archive; - @ObfuscatedName("ex") - @ObfuscatedGetter( - intValue = 1420275067 - ) - static int field433; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -1266469825 + ) + @Export("VarpDefinition_fileCount") + public static int VarpDefinition_fileCount; - static { - ImageIO.setUseCache(false); // L: 12 - } // L: 13 + static { + ImageIO.setUseCache(false); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(Ljava/lang/String;Ljava/lang/String;II)Ljava/io/File;", - garbageValue = "-276534150" - ) - public static File method917(String var0, String var1, int var2) { - String var3 = var2 == 0 ? "" : "" + var2; // L: 40 - JagexCache.JagexCache_locationFile = new File(ItemLayer.userHomeDirectory, "jagex_cl_" + var0 + "_" + var1 + var3 + ".dat"); // L: 41 - String var4 = null; // L: 42 - String var5 = null; // L: 43 - boolean var6 = false; // L: 44 - Buffer var8; - int var11; - File var27; - if (JagexCache.JagexCache_locationFile.exists()) { // L: 45 - try { - AccessFile var7 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); // L: 48 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1558646174" + ) + static void method939() { + Tiles.Tiles_minPlane = 99; + Tiles.field517 = new byte[4][104][104]; + class200.field2399 = new byte[4][104][104]; + Tiles.field530 = new byte[4][104][104]; + class1.field1 = new byte[4][104][104]; + class2.field12 = new int[4][105][105]; + TaskHandler.field2045 = new byte[4][105][105]; + WorldMapSprite.field257 = new int[105][105]; + GrandExchangeOfferAgeComparator.Tiles_hue = new int[104]; + Tiles.Tiles_saturation = new int[104]; + WorldMapLabel.Tiles_lightness = new int[104]; + TaskHandler.Tiles_hueMultiplier = new int[104]; + WorldMapID.field292 = new int[104]; + } - int var9; - for (var8 = new Buffer((int)var7.length()); var8.offset < var8.array.length; var8.offset += var9) { // L: 49 50 53 - var9 = var7.read(var8.array, var8.offset, var8.array.length - var8.offset); // L: 51 - if (var9 == -1) { // L: 52 - throw new IOException(); - } - } + @ObfuscatedName("ff") + @ObfuscatedSignature( + descriptor = "(IIII)V", + garbageValue = "-1370072473" + ) + @Export("queueSoundEffect") + static void queueSoundEffect(int var0, int var1, int var2) { + if (WorldMapSectionType.clientPreferences.soundEffectsVolume != 0 && var1 != 0 && Client.soundEffectCount < 50) { + Client.soundEffectIds[Client.soundEffectCount] = var0; + Client.queuedSoundEffectLoops[Client.soundEffectCount] = var1; + Client.queuedSoundEffectDelays[Client.soundEffectCount] = var2; + Client.soundEffects[Client.soundEffectCount] = null; + Client.soundLocations[Client.soundEffectCount] = 0; + ++Client.soundEffectCount; + } - var8.offset = 0; // L: 55 - var9 = var8.readUnsignedByte(); // L: 56 - if (var9 < 1 || var9 > 3) { // L: 57 - throw new IOException("" + var9); - } + } - int var10 = 0; // L: 58 - if (var9 > 1) { // L: 59 - var10 = var8.readUnsignedByte(); - } + @ObfuscatedName("jz") + @ObfuscatedSignature( + descriptor = "(Lhz;III)V", + garbageValue = "797800521" + ) + @Export("Widget_addToMenu") + static final void Widget_addToMenu(Widget var0, int var1, int var2) { + if (var0.buttonType == 1) { + WorldMapManager.insertMenuItemNoShift(var0.buttonText, "", 24, 0, 0, var0.id); + } - if (var9 <= 2) { // L: 60 - var4 = var8.readStringCp1252NullCircumfixed(); // L: 61 - if (var10 == 1) { // L: 62 - var5 = var8.readStringCp1252NullCircumfixed(); - } - } else { - var4 = var8.readCESU8(); // L: 65 - if (var10 == 1) { // L: 66 - var5 = var8.readCESU8(); - } - } + String var3; + if (var0.buttonType == 2 && !Client.isSpellSelected) { + var3 = Player.Widget_getSpellActionName(var0); + if (var3 != null) { + WorldMapManager.insertMenuItemNoShift(var3, FileSystem.colorStartTag(65280) + var0.spellName, 25, 0, -1, var0.id); + } + } - var7.close(); // L: 68 - } catch (IOException var25) { // L: 70 - var25.printStackTrace(); // L: 71 - } + if (var0.buttonType == 3) { + WorldMapManager.insertMenuItemNoShift("Close", "", 26, 0, 0, var0.id); + } - if (var4 != null) { // L: 73 - var27 = new File(var4); // L: 74 - if (!var27.exists()) { // L: 75 - var4 = null; // L: 76 - } - } + if (var0.buttonType == 4) { + WorldMapManager.insertMenuItemNoShift(var0.buttonText, "", 28, 0, 0, var0.id); + } - if (var4 != null) { // L: 79 - var27 = new File(var4, "test.dat"); // L: 80 + if (var0.buttonType == 5) { + WorldMapManager.insertMenuItemNoShift(var0.buttonText, "", 29, 0, 0, var0.id); + } - boolean var28; - try { - RandomAccessFile var15 = new RandomAccessFile(var27, "rw"); // L: 84 - var11 = var15.read(); // L: 85 - var15.seek(0L); // L: 86 - var15.write(var11); // L: 87 - var15.seek(0L); // L: 88 - var15.close(); // L: 89 - var27.delete(); // L: 90 - var28 = true; // L: 91 - } catch (Exception var23) { // L: 93 - var28 = false; // L: 94 - } + if (var0.buttonType == 6 && Client.meslayerContinueWidget == null) { + WorldMapManager.insertMenuItemNoShift(var0.buttonText, "", 30, 0, -1, var0.id); + } - if (!var28) { // L: 97 - var4 = null; // L: 98 - } - } - } + int var4; + int var5; + int var15; + if (var0.type == 2) { + var15 = 0; - if (var4 == null && var2 == 0) { // L: 102 - label159: - for (int var16 = 0; var16 < DynamicObject.field1318.length; ++var16) { // L: 103 - for (int var17 = 0; var17 < GraphicsObject.field1117.length; ++var17) { // L: 104 - File var18 = new File(GraphicsObject.field1117[var17] + DynamicObject.field1318[var16] + File.separatorChar + var0 + File.separatorChar); // L: 105 - if (var18.exists()) { // L: 106 - File var19 = new File(var18, "test.dat"); // L: 108 + for(var4 = 0; var4 < var0.height; ++var4) { + for(var5 = 0; var5 < var0.width; ++var5) { + int var18 = (var0.paddingX + 32) * var5; + int var7 = (var0.paddingY + 32) * var4; + if (var15 < 20) { + var18 += var0.inventoryXOffsets[var15]; + var7 += var0.inventoryYOffsets[var15]; + } - boolean var29; - try { - RandomAccessFile var12 = new RandomAccessFile(var19, "rw"); // L: 111 - int var13 = var12.read(); // L: 112 - var12.seek(0L); // L: 113 - var12.write(var13); // L: 114 - var12.seek(0L); // L: 115 - var12.close(); // L: 116 - var19.delete(); // L: 117 - var29 = true; // L: 118 - } catch (Exception var22) { // L: 120 - var29 = false; // L: 121 - } + if (var1 >= var18 && var2 >= var7 && var1 < var18 + 32 && var2 < var7 + 32) { + Client.dragItemSlotDestination = var15; + HorizontalAlignment.hoveredItemContainer = var0; + if (var0.itemIds[var15] > 0) { + ItemComposition var8 = class281.ItemDefinition_get(var0.itemIds[var15] - 1); + if (Client.isItemSelected == 1 && Login.method2244(class60.getWidgetFlags(var0))) { + if (var0.id != ClientPacket.selectedItemWidget || var15 != class195.selectedItemSlot) { + WorldMapManager.insertMenuItemNoShift("Use", Client.selectedItemName + " " + "->" + " " + FileSystem.colorStartTag(16748608) + var8.name, 31, var8.id, var15, var0.id); + } + } else if (Client.isSpellSelected && Login.method2244(class60.getWidgetFlags(var0))) { + if ((GrandExchangeOfferNameComparator.selectedSpellFlags & 16) == 16) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + FileSystem.colorStartTag(16748608) + var8.name, 32, var8.id, var15, var0.id); + } + } else { + String[] var9 = var8.inventoryActions; + int var10 = -1; + if (Client.shiftClickDrop && ModeWhere.method3875()) { + var10 = var8.getShiftClickIndex(); + } - if (var29) { // L: 124 - var4 = var18.toString(); // L: 125 - var6 = true; // L: 126 - break label159; // L: 127 - } - } - } - } - } + if (Login.method2244(class60.getWidgetFlags(var0))) { + for(int var11 = 4; var11 >= 3; --var11) { + if (var10 != var11) { + class204.addWidgetItemMenuItem(var0, var8, var15, var11, false); + } + } + } - if (var4 == null) { // L: 133 - var4 = ItemLayer.userHomeDirectory + File.separatorChar + "jagexcache" + var3 + File.separatorChar + var0 + File.separatorChar + var1 + File.separatorChar; // L: 134 - var6 = true; // L: 135 - } + int var12 = class60.getWidgetFlags(var0); + boolean var20 = (var12 >> 31 & 1) != 0; + if (var20) { + WorldMapManager.insertMenuItemNoShift("Use", FileSystem.colorStartTag(16748608) + var8.name, 38, var8.id, var15, var0.id); + } - File var26; - if (var5 != null) { // L: 137 - var26 = new File(var5); // L: 138 - var27 = new File(var4); // L: 139 + Object var10000 = null; + int var13; + if (Login.method2244(class60.getWidgetFlags(var0))) { + for(var13 = 2; var13 >= 0; --var13) { + if (var10 != var13) { + class204.addWidgetItemMenuItem(var0, var8, var15, var13, false); + } + } - try { - File[] var33 = var26.listFiles(); // L: 141 - File[] var31 = var33; // L: 143 + if (var10 >= 0) { + class204.addWidgetItemMenuItem(var0, var8, var15, var10, true); + } + } - for (var11 = 0; var11 < var31.length; ++var11) { // L: 144 - File var30 = var31[var11]; // L: 145 - File var20 = new File(var27, var30.getName()); // L: 147 - boolean var14 = var30.renameTo(var20); // L: 148 - if (!var14) { // L: 149 - throw new IOException(); - } - } - } catch (Exception var24) { // L: 154 - var24.printStackTrace(); // L: 155 - } + var9 = var0.itemActions; + if (var9 != null) { + for(var13 = 4; var13 >= 0; --var13) { + if (var9[var13] != null) { + byte var14 = 0; + if (var13 == 0) { + var14 = 39; + } - var6 = true; // L: 157 - } + if (var13 == 1) { + var14 = 40; + } - if (var6) { // L: 159 - var26 = new File(var4); // L: 160 - var8 = null; // L: 161 + if (var13 == 2) { + var14 = 41; + } - try { - AccessFile var34 = new AccessFile(JagexCache.JagexCache_locationFile, "rw", 10000L); // L: 165 - Buffer var32 = new Buffer(500); // L: 166 - var32.writeByte(3); // L: 167 - var32.writeByte(var8 != null ? 1 : 0); // L: 168 - var32.writeCESU8(var26.getPath()); // L: 169 - if (var8 != null) { // L: 170 - var32.writeCESU8(""); - } + if (var13 == 3) { + var14 = 42; + } - var34.write(var32.array, 0, var32.offset); // L: 171 - var34.close(); // L: 172 - } catch (IOException var21) { // L: 174 - var21.printStackTrace(); // L: 175 - } - } + if (var13 == 4) { + var14 = 43; + } - return new File(var4); // L: 179 - } + WorldMapManager.insertMenuItemNoShift(var9[var13], FileSystem.colorStartTag(16748608) + var8.name, var14, var8.id, var15, var0.id); + } + } + } - @ObfuscatedName("aq") - @ObfuscatedSignature( - descriptor = "(ILcs;ZI)I", - garbageValue = "-591482656" - ) - static int method916(int var0, Script var1, boolean var2) { - if (var0 == ScriptOpcodes.GETWINDOWMODE) { // L: 3182 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = SoundSystem.getWindowedMode(); // L: 3183 - return 1; // L: 3184 - } else { - int var3; - if (var0 == ScriptOpcodes.SETWINDOWMODE) { // L: 3186 - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3187 - if (var3 == 1 || var3 == 2) { // L: 3188 - class13.setWindowedMode(var3); - } + WorldMapManager.insertMenuItemNoShift("Examine", FileSystem.colorStartTag(16748608) + var8.name, 1005, var8.id, var15, var0.id); + } + } + } - return 1; // L: 3189 - } else if (var0 == ScriptOpcodes.GETDEFAULTWINDOWMODE) { // L: 3191 - Interpreter.Interpreter_intStack[++VarcInt.Interpreter_intStackSize - 1] = Timer.clientPreferences.windowMode; // L: 3192 - return 1; // L: 3193 - } else if (var0 != ScriptOpcodes.SETDEFAULTWINDOWMODE) { // L: 3195 - if (var0 == 5310) { // L: 3203 - --VarcInt.Interpreter_intStackSize; // L: 3204 - return 1; // L: 3205 - } else { - return 2; // L: 3207 - } - } else { - var3 = Interpreter.Interpreter_intStack[--VarcInt.Interpreter_intStackSize]; // L: 3196 - if (var3 == 1 || var3 == 2) { // L: 3197 - Timer.clientPreferences.windowMode = var3; // L: 3198 - GrandExchangeOffer.savePreferences(); // L: 3199 - } + ++var15; + } + } + } - return 1; // L: 3201 - } - } - } + if (var0.isIf3) { + if (Client.isSpellSelected) { + var4 = class60.getWidgetFlags(var0); + boolean var21 = (var4 >> 21 & 1) != 0; + if (var21 && (GrandExchangeOfferNameComparator.selectedSpellFlags & 32) == 32) { + WorldMapManager.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " " + "->" + " " + var0.dataText, 58, 0, var0.childIndex, var0.id); + } + } else { + for(var15 = 9; var15 >= 5; --var15) { + String var17; + if (!MidiPcmStream.method3972(class60.getWidgetFlags(var0), var15) && var0.onOp == null) { + var17 = null; + } else if (var0.actions != null && var0.actions.length > var15 && var0.actions[var15] != null && var0.actions[var15].trim().length() != 0) { + var17 = var0.actions[var15]; + } else { + var17 = null; + } + + if (var17 != null) { + WorldMapManager.insertMenuItemNoShift(var17, var0.dataText, 1007, var15 + 1, var0.childIndex, var0.id); + } + } + + var3 = Player.Widget_getSpellActionName(var0); + if (var3 != null) { + WorldMapManager.insertMenuItemNoShift(var3, var0.dataText, 25, 0, var0.childIndex, var0.id); + } + + for(var4 = 4; var4 >= 0; --var4) { + String var16; + if (!MidiPcmStream.method3972(class60.getWidgetFlags(var0), var4) && var0.onOp == null) { + var16 = null; + } else if (var0.actions != null && var0.actions.length > var4 && var0.actions[var4] != null && var0.actions[var4].trim().length() != 0) { + var16 = var0.actions[var4]; + } else { + var16 = null; + } + + if (var16 != null) { + WorldMapEvent.insertMenuItem(var16, var0.dataText, 57, var4 + 1, var0.childIndex, var0.id, var0.prioritizeMenuEntry); + } + } + + var5 = class60.getWidgetFlags(var0); + boolean var19 = (var5 & 1) != 0; + if (var19) { + WorldMapManager.insertMenuItemNoShift("Continue", "", 30, 0, var0.childIndex, var0.id); + } + } + } + + } } diff --git a/runescape-client/src/main/java/class6.java b/runescape-client/src/main/java/class6.java index b4ef164a64..01b2c3467f 100644 --- a/runescape-client/src/main/java/class6.java +++ b/runescape-client/src/main/java/class6.java @@ -4,77 +4,76 @@ import java.security.NoSuchAlgorithmException; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("n") +@ObfuscatedName("z") public class class6 implements class11 { - @ObfuscatedName("h") - final MessageDigest field20; + @ObfuscatedName("n") + final MessageDigest field34 = this.method70(); - @ObfuscatedSignature( - descriptor = "(Lu;)V" - ) - class6(class10 var1) { - this.field20 = this.method68(); // L: 14 - } // L: 15 + @ObfuscatedSignature( + descriptor = "(Ls;)V" + ) + class6(class10 var1) { + } - @ObfuscatedName("h") - boolean method64(int var1, String var2, long var3) { - byte[] var5 = this.method67(var2, var3); // L: 18 - return method65(var5) >= var1; // L: 19 - } + @ObfuscatedName("n") + boolean method64(int var1, String var2, long var3) { + byte[] var5 = this.method68(var2, var3); + return method65(var5) >= var1; + } - @ObfuscatedName("w") - byte[] method67(String var1, long var2) { - StringBuilder var4 = new StringBuilder(); // L: 56 - var4.append(var1).append(Long.toHexString(var2)); // L: 57 - this.field20.reset(); // L: 58 + @ObfuscatedName("c") + byte[] method68(String var1, long var2) { + StringBuilder var4 = new StringBuilder(); + var4.append(var1).append(Long.toHexString(var2)); + this.field34.reset(); - try { - this.field20.update(var4.toString().getBytes("UTF-8")); // L: 60 - } catch (UnsupportedEncodingException var6) { // L: 62 - var6.printStackTrace(); // L: 63 - } + try { + this.field34.update(var4.toString().getBytes("UTF-8")); + } catch (UnsupportedEncodingException var6) { + var6.printStackTrace(); + } - return this.field20.digest(); // L: 65 - } + return this.field34.digest(); + } - @ObfuscatedName("t") - MessageDigest method68() { - try { - return MessageDigest.getInstance("SHA-256"); // L: 70 - } catch (NoSuchAlgorithmException var2) { // L: 72 - var2.printStackTrace(); // L: 73 - return null; // L: 74 - } - } + @ObfuscatedName("y") + MessageDigest method70() { + try { + return MessageDigest.getInstance("SHA-256"); + } catch (NoSuchAlgorithmException var2) { + var2.printStackTrace(); + return null; + } + } - @ObfuscatedName("v") - static int method65(byte[] var0) { - int var1 = 0; // L: 23 - byte[] var2 = var0; // L: 25 + @ObfuscatedName("v") + static int method65(byte[] var0) { + int var1 = 0; + byte[] var2 = var0; - for (int var3 = 0; var3 < var2.length; ++var3) { // L: 26 - byte var4 = var2[var3]; // L: 27 - int var5 = method74(var4); // L: 29 - var1 += var5; // L: 30 - if (var5 != 8) { // L: 31 - break; - } - } + for(int var3 = 0; var3 < var2.length; ++var3) { + byte var4 = var2[var3]; + int var5 = method66(var4); + var1 += var5; + if (var5 != 8) { + break; + } + } - return var1; // L: 37 - } + return var1; + } - @ObfuscatedName("x") - static int method74(byte var0) { - int var1 = 0; // L: 41 - if (var0 == 0) { // L: 42 - var1 = 8; // L: 43 - } else { - for (int var2 = var0 & 255; (var2 & 128) == 0; var2 <<= 1) { // L: 46 47 49 - ++var1; // L: 48 - } - } + @ObfuscatedName("d") + static int method66(byte var0) { + int var1 = 0; + if (var0 == 0) { + var1 = 8; + } else { + for(int var2 = var0 & 255; (var2 & 128) == 0; var2 <<= 1) { + ++var1; + } + } - return var1; // L: 52 - } + return var1; + } } diff --git a/runescape-client/src/main/java/class60.java b/runescape-client/src/main/java/class60.java index 6e93b59ea5..4640588d3a 100644 --- a/runescape-client/src/main/java/class60.java +++ b/runescape-client/src/main/java/class60.java @@ -1,32 +1,80 @@ import java.applet.Applet; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bm") +@ObfuscatedName("bw") public class class60 { - @ObfuscatedName("h") - @Export("applet") - public static Applet applet; - @ObfuscatedName("v") - public static String field439; + @ObfuscatedName("n") + @Export("applet") + static Applet applet = null; + @ObfuscatedName("v") + static String field454 = ""; + @ObfuscatedName("i") + @ObfuscatedGetter( + intValue = 1207214855 + ) + @Export("graphicsTickTimeIdx") + static int graphicsTickTimeIdx; + @ObfuscatedName("eb") + @ObfuscatedSignature( + descriptor = "Llv;" + ) + @Export("spriteIds") + static GraphicsDefaults spriteIds; - static { - applet = null; // L: 10 - field439 = ""; // L: 11 - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)V", + garbageValue = "-125" + ) + public static void method967() { + MouseHandler var0 = MouseHandler.MouseHandler_instance; + synchronized(MouseHandler.MouseHandler_instance) { + MouseHandler.MouseHandler_currentButton = MouseHandler.MouseHandler_currentButtonVolatile; + MouseHandler.MouseHandler_x = MouseHandler.MouseHandler_xVolatile; + MouseHandler.MouseHandler_y = MouseHandler.MouseHandler_yVolatile; + MouseHandler.MouseHandler_millis = MouseHandler.MouseHandler_lastMovedVolatile; + MouseHandler.MouseHandler_lastButton = MouseHandler.MouseHandler_lastButtonVolatile; + MouseHandler.MouseHandler_lastPressedX = MouseHandler.MouseHandler_lastPressedXVolatile; + MouseHandler.MouseHandler_lastPressedY = MouseHandler.MouseHandler_lastPressedYVolatile; + MouseHandler.MouseHandler_lastPressedTimeMillis = MouseHandler.MouseHandler_lastPressedTimeMillisVolatile; + MouseHandler.MouseHandler_lastButtonVolatile = 0; + } + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "24" - ) - static int method942(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 14 - if (var2 == null) { // L: 15 - return -1; - } else { - return var1 >= 0 && var1 < var2.ids.length ? var2.ids[var1] : -1; // L: 16 17 - } - } + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "(IIII)I", + garbageValue = "-291804616" + ) + static final int method972(int var0, int var1, int var2) { + int var3 = var0 / var2; + int var4 = var0 & var2 - 1; + int var5 = var1 / var2; + int var6 = var1 & var2 - 1; + int var7 = class69.method1259(var3, var5); + int var8 = class69.method1259(var3 + 1, var5); + int var9 = class69.method1259(var3, var5 + 1); + int var10 = class69.method1259(var3 + 1, var5 + 1); + int var12 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; + int var11 = ((65536 - var12) * var7 >> 16) + (var12 * var8 >> 16); + int var14 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var4 * 1024 / var2] >> 1; + int var13 = ((65536 - var14) * var9 >> 16) + (var14 * var10 >> 16); + int var16 = 65536 - Rasterizer3D.Rasterizer3D_cosine[var6 * 1024 / var2] >> 1; + int var15 = ((65536 - var16) * var11 >> 16) + (var13 * var16 >> 16); + return var15; + } + + @ObfuscatedName("kr") + @ObfuscatedSignature( + descriptor = "(Lhz;B)I", + garbageValue = "81" + ) + @Export("getWidgetFlags") + static int getWidgetFlags(Widget var0) { + IntegerNode var1 = (IntegerNode)Client.widgetFlags.get((long)var0.childIndex + ((long)var0.id << 32)); + return var1 != null ? var1.integer : var0.flags; + } } diff --git a/runescape-client/src/main/java/class69.java b/runescape-client/src/main/java/class69.java index 29b4ad3cc1..67b8db0ba8 100644 --- a/runescape-client/src/main/java/class69.java +++ b/runescape-client/src/main/java/class69.java @@ -1,50 +1,144 @@ import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("bu") +@ObfuscatedName("be") public class class69 { - @ObfuscatedName("fv") - @ObfuscatedGetter( - longValue = 2632665440634654357L - ) - static long field557; - @ObfuscatedName("hl") - @ObfuscatedGetter( - intValue = 814144915 - ) - @Export("cameraZ") - static int cameraZ; + @ObfuscatedName("s") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("options_buttons_0Sprite") + static IndexedSprite options_buttons_0Sprite; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "([BIIII[Lfo;B)V", - garbageValue = "115" - ) - static final void method1252(byte[] var0, int var1, int var2, int var3, int var4, CollisionMap[] var5) { - int var7; - int var8; - for (int var6 = 0; var6 < 4; ++var6) { // L: 78 - for (var7 = 0; var7 < 64; ++var7) { // L: 79 - for (var8 = 0; var8 < 64; ++var8) { // L: 80 - if (var7 + var1 > 0 && var7 + var1 < 103 && var8 + var2 > 0 && var8 + var2 < 103) { // L: 81 - int[] var10000 = var5[var6].flags[var7 + var1]; - var10000[var2 + var8] &= -16777217; - } - } - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(B)[Liv;", + garbageValue = "-52" + ) + @Export("PlayerType_values") + public static PlayerType[] PlayerType_values() { + return new PlayerType[]{PlayerType.PlayerType_playerModerator, PlayerType.PlayerType_jagexModerator, PlayerType.PlayerType_hardcoreIronman, PlayerType.field3132, PlayerType.PlayerType_ultimateIronman, PlayerType.PlayerType_normal, PlayerType.PlayerType_ironman}; + } - Buffer var10 = new Buffer(var0); // L: 85 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;Lig;Lgg;I)Z", + garbageValue = "1829730902" + ) + public static boolean method1256(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) { + class206.musicPatchesArchive = var0; + class206.musicSamplesArchive = var1; + class206.soundEffectsArchive = var2; + VertexNormal.midiPcmStream = var3; + return true; + } - for (var7 = 0; var7 < 4; ++var7) { // L: 86 - for (var8 = 0; var8 < 64; ++var8) { // L: 87 - for (int var9 = 0; var9 < 64; ++var9) { // L: 88 - Huffman.loadTerrain(var10, var7, var8 + var1, var9 + var2, var3, var4, 0); // L: 89 - } - } - } + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Llg;ILjava/lang/String;I)Ljava/lang/String;", + garbageValue = "1852545433" + ) + static String method1258(IterableNodeHashTable var0, int var1, String var2) { + if (var0 == null) { + return var2; + } else { + ObjectNode var3 = (ObjectNode)var0.get((long)var1); + return var3 == null ? var2 : (String)var3.obj; + } + } - } // L: 93 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(Lig;Lig;ZII)V", + garbageValue = "463524240" + ) + static void method1255(AbstractArchive var0, AbstractArchive var1, boolean var2, int var3) { + if (Login.clearLoginScreen) { + if (var3 == 4) { + Login.loginIndex = 4; + } + + } else { + Login.loginIndex = var3; + Rasterizer2D.Rasterizer2D_clear(); + byte[] var4 = var0.takeFileByNames("title.jpg", ""); + Login.leftTitleSprite = WorldMapRectangle.convertJpgToSprite(var4); + Login.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally(); + int var5 = Client.worldProperties; + if ((var5 & 536870912) != 0) { + Login.logoSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "logo_deadman_mode", ""); + } else if ((var5 & 1073741824) != 0) { + Login.logoSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "logo_seasonal_mode", ""); + } else { + Login.logoSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "logo", ""); + } + + GrandExchangeOfferNameComparator.titleboxSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "titlebox", ""); + InterfaceParent.titlebuttonSprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "titlebutton", ""); + Login.runesSprite = MilliClock.method3664(var1, "runes", ""); + Login.title_muteSprite = MilliClock.method3664(var1, "title_mute", ""); + options_buttons_0Sprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,0", ""); + UrlRequester.field1956 = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,4", ""); + Login.options_buttons_2Sprite = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,2", ""); + WorldMapDecoration.field237 = ChatChannel.SpriteBuffer_getIndexedSpriteByName(var1, "options_radio_buttons,6", ""); + WorldMapDecoration.field235 = options_buttons_0Sprite.subWidth; + MouseHandler.field512 = options_buttons_0Sprite.subHeight; + class9.loginScreenRunesAnimation = new LoginScreenAnimation(Login.runesSprite); + if (var2) { + Login.Login_username = ""; + Login.Login_password = ""; + } + + Canvas.field439 = 0; + class1.otp = ""; + Login.field1217 = true; + Login.worldSelectOpen = false; + if (!WorldMapSectionType.clientPreferences.titleMusicDisabled) { + Archive var6 = UrlRequester.archive6; + int var7 = var6.getGroupId("scape main"); + int var8 = var6.getFileId(var7, ""); + GrandExchangeOfferOwnWorldComparator.method1376(2, var6, var7, var8, 255, false); + } else { + class206.musicPlayerStatus = 1; + class206.musicTrackArchive = null; + class206.musicTrackGroupId = -1; + SoundSystem.musicTrackFileId = -1; + DevicePcmPlayerProvider.musicTrackVolume = 0; + class206.musicTrackBoolean = false; + class7.pcmSampleLength = 2; + } + + Actor.method1867(false); + Login.clearLoginScreen = true; + Login.xPadding = (GrandExchangeOfferTotalQuantityComparator.canvasWidth - 765) / 2; + Login.loginBoxX = Login.xPadding + 202; + GraphicsObject.loginBoxCenter = Login.loginBoxX + 180; + Login.leftTitleSprite.drawAt(Login.xPadding, 0); + Login.rightTitleSprite.drawAt(Login.xPadding + 382, 0); + Login.logoSprite.drawAt(Login.xPadding + 382 - Login.logoSprite.subWidth / 2, 18); + } + } + + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(CI)Z", + garbageValue = "-912600065" + ) + @Export("isCharAlphabetic") + public static boolean isCharAlphabetic(char var0) { + return var0 >= 'A' && var0 <= 'Z' || var0 >= 'a' && var0 <= 'z'; + } + + @ObfuscatedName("b") + @ObfuscatedSignature( + descriptor = "(IIB)I", + garbageValue = "57" + ) + static final int method1259(int var0, int var1) { + int var2 = WorldMapSectionType.method320(var0 - 1, var1 - 1) + WorldMapSectionType.method320(var0 + 1, var1 - 1) + WorldMapSectionType.method320(var0 - 1, 1 + var1) + WorldMapSectionType.method320(var0 + 1, 1 + var1); + int var3 = WorldMapSectionType.method320(var0 - 1, var1) + WorldMapSectionType.method320(1 + var0, var1) + WorldMapSectionType.method320(var0, var1 - 1) + WorldMapSectionType.method320(var0, var1 + 1); + int var4 = WorldMapSectionType.method320(var0, var1); + return var2 / 16 + var3 / 8 + var4 / 4; + } } diff --git a/runescape-client/src/main/java/class7.java b/runescape-client/src/main/java/class7.java index 187c84a75f..0da5399436 100644 --- a/runescape-client/src/main/java/class7.java +++ b/runescape-client/src/main/java/class7.java @@ -1,667 +1,113 @@ -import java.io.InputStream; -import java.io.OutputStreamWriter; -import java.net.URL; -import java.net.URLConnection; import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("p") +@ObfuscatedName("e") public enum class7 implements Enumerated { - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lp;" - ) - field25(0, 0); - - @ObfuscatedName("sb") - @ObfuscatedSignature( - descriptor = "Llx;" - ) - @Export("masterDisk") - static ArchiveDisk masterDisk; - @ObfuscatedName("v") - @ObfuscatedGetter( - intValue = -1415154919 - ) - final int field26; - @ObfuscatedName("x") - @ObfuscatedGetter( - intValue = 403603803 - ) - final int field24; - - class7(int var3, int var4) { - this.field26 = var3; // L: 16 - this.field24 = var4; // L: 17 - } // L: 18 - - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(I)I", - garbageValue = "-275768542" - ) - @Export("rsOrdinal") - public int rsOrdinal() { - return this.field24; // L: 21 - } - - @ObfuscatedName("p") - @ObfuscatedSignature( - descriptor = "(IIIIIILeo;Lfo;B)V", - garbageValue = "14" - ) - static final void method90(int var0, int var1, int var2, int var3, int var4, int var5, Scene var6, CollisionMap var7) { - if (!Client.isLowDetail || (Tiles.Tiles_renderFlags[0][var1][var2] & 2) != 0 || (Tiles.Tiles_renderFlags[var0][var1][var2] & 16) == 0) { // L: 228 229 230 - if (var0 < Tiles.Tiles_minPlane) { // L: 233 - Tiles.Tiles_minPlane = var0; - } - - ObjectComposition var8 = WorldMapDecoration.getObjectDefinition(var3); // L: 234 - int var9; - int var10; - if (var4 != 1 && var4 != 3) { // L: 237 - var9 = var8.sizeX; // L: 242 - var10 = var8.sizeY; // L: 243 - } else { - var9 = var8.sizeY; // L: 238 - var10 = var8.sizeX; // L: 239 - } - - int var11; - int var12; - if (var9 + var1 <= 104) { // L: 249 - var11 = (var9 >> 1) + var1; // L: 250 - var12 = (var9 + 1 >> 1) + var1; // L: 251 - } else { - var11 = var1; // L: 254 - var12 = var1 + 1; // L: 255 - } - - int var13; - int var14; - if (var10 + var2 <= 104) { // L: 257 - var13 = (var10 >> 1) + var2; // L: 258 - var14 = var2 + (var10 + 1 >> 1); // L: 259 - } else { - var13 = var2; // L: 262 - var14 = var2 + 1; // L: 263 - } - - int[][] var15 = Tiles.Tiles_heights[var0]; // L: 265 - int var16 = var15[var12][var14] + var15[var12][var13] + var15[var11][var13] + var15[var11][var14] >> 2; // L: 266 - int var17 = (var1 << 7) + (var9 << 6); // L: 267 - int var18 = (var2 << 7) + (var10 << 6); // L: 268 - long var19 = NPC.calculateTag(var1, var2, 2, var8.int1 == 0, var3); // L: 269 - int var21 = var5 + (var4 << 6); // L: 270 - if (var8.int3 == 1) { // L: 271 - var21 += 256; - } - - int var23; - int var24; - if (var8.hasSound()) { // L: 272 - ObjectSound var22 = new ObjectSound(); // L: 273 - var22.plane = var0; // L: 274 - var22.x = var1 * 128; // L: 275 - var22.y = var2 * 128; // L: 276 - var23 = var8.sizeX; // L: 277 - var24 = var8.sizeY; // L: 278 - if (var4 == 1 || var4 == 3) { // L: 279 - var23 = var8.sizeY; // L: 280 - var24 = var8.sizeX; // L: 281 - } - - var22.field1073 = (var23 + var1) * 128; // L: 283 - var22.field1078 = (var24 + var2) * 128; // L: 284 - var22.soundEffectId = var8.ambientSoundId; // L: 285 - var22.field1086 = var8.int4 * 128; // L: 286 - var22.field1085 = var8.int5; // L: 287 - var22.field1083 = var8.int6; // L: 288 - var22.soundEffectIds = var8.soundEffectIds; // L: 289 - if (var8.transforms != null) { // L: 290 - var22.obj = var8; // L: 291 - var22.set(); // L: 292 - } - - ObjectSound.objectSounds.addFirst(var22); // L: 294 - if (var22.soundEffectIds != null) { // L: 295 - var22.field1081 = var22.field1085 + (int)(Math.random() * (double)(var22.field1083 - var22.field1085)); - } - } - - Object var34; - if (var5 == 22) { // L: 297 - if (!Client.isLowDetail || var8.int1 != 0 || var8.interactType == 1 || var8.boolean2) { // L: 298 - if (var8.animationId == -1 && var8.transforms == null) { // L: 300 - var34 = var8.getEntity(22, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 301 - } - - var6.newFloorDecoration(var0, var1, var2, var16, (Renderable)var34, var19, var21); // L: 302 - if (var8.interactType == 1 && var7 != null) { // L: 303 - var7.setBlockedByFloorDec(var1, var2); - } - - } - } else if (var5 != 10 && var5 != 11) { // L: 306 - int[] var10000; - if (var5 >= 12) { // L: 327 - if (var8.animationId == -1 && var8.transforms == null) { // L: 329 - var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 330 - } - - var6.method3160(var0, var1, var2, var16, 1, 1, (Renderable)var34, 0, var19, var21); // L: 331 - if (var5 >= 12 && var5 <= 17 && var5 != 13 && var0 > 0) { // L: 332 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; - var10000[var2] |= 2340; - } - - if (var8.interactType != 0 && var7 != null) { // L: 333 - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } else if (var5 == 0) { // L: 336 - if (var8.animationId == -1 && var8.transforms == null) { // L: 338 - var34 = var8.getEntity(0, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 339 - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field512[var4], 0, var19, var21); // L: 340 - if (var4 == 0) { // L: 341 - if (var8.clipped) { // L: 342 - Tiles.field511[var0][var1][var2] = 50; // L: 343 - Tiles.field511[var0][var1][var2 + 1] = 50; // L: 344 - } - - if (var8.modelClipped) { // L: 346 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; - var10000[var2] |= 585; - } - } else if (var4 == 1) { // L: 348 - if (var8.clipped) { // L: 349 - Tiles.field511[var0][var1][var2 + 1] = 50; // L: 350 - Tiles.field511[var0][var1 + 1][var2 + 1] = 50; // L: 351 - } - - if (var8.modelClipped) { // L: 353 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; - var10000[1 + var2] |= 1170; - } - } else if (var4 == 2) { // L: 355 - if (var8.clipped) { // L: 356 - Tiles.field511[var0][var1 + 1][var2] = 50; // L: 357 - Tiles.field511[var0][var1 + 1][var2 + 1] = 50; // L: 358 - } - - if (var8.modelClipped) { // L: 360 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1 + 1]; - var10000[var2] |= 585; - } - } else if (var4 == 3) { // L: 362 - if (var8.clipped) { // L: 363 - Tiles.field511[var0][var1][var2] = 50; // L: 364 - Tiles.field511[var0][var1 + 1][var2] = 50; // L: 365 - } - - if (var8.modelClipped) { // L: 367 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; - var10000[var2] |= 1170; - } - } - - if (var8.interactType != 0 && var7 != null) { // L: 369 - var7.method3611(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { // L: 370 - var6.method3175(var0, var1, var2, var8.int2); - } - - } else if (var5 == 1) { // L: 373 - if (var8.animationId == -1 && var8.transforms == null) { // L: 375 - var34 = var8.getEntity(1, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 376 - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field513[var4], 0, var19, var21); // L: 377 - if (var8.clipped) { // L: 378 - if (var4 == 0) { // L: 379 - Tiles.field511[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { // L: 380 - Tiles.field511[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { // L: 381 - Tiles.field511[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { // L: 382 - Tiles.field511[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { // L: 384 - var7.method3611(var1, var2, var5, var4, var8.boolean1); - } - - } else { - int var28; - if (var5 == 2) { // L: 387 - var28 = var4 + 1 & 3; // L: 388 - Object var31; - Object var32; - if (var8.animationId == -1 && var8.transforms == null) { // L: 391 - var31 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18); // L: 392 - var32 = var8.getEntity(2, var28, var15, var17, var16, var18); // L: 393 - } else { - var31 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 396 - var32 = new DynamicObject(var3, 2, var28, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 397 - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var31, (Renderable)var32, Tiles.field512[var4], Tiles.field512[var28], var19, var21); // L: 399 - if (var8.modelClipped) { // L: 400 - if (var4 == 0) { // L: 401 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 402 - var10000[var2] |= 585; - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 403 - var10000[1 + var2] |= 1170; - } else if (var4 == 1) { // L: 405 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 406 - var10000[var2 + 1] |= 1170; - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1 + 1]; // L: 407 - var10000[var2] |= 585; - } else if (var4 == 2) { // L: 409 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1 + 1]; // L: 410 - var10000[var2] |= 585; - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 411 - var10000[var2] |= 1170; - } else if (var4 == 3) { // L: 413 - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 414 - var10000[var2] |= 1170; - var10000 = GrandExchangeOfferWorldComparator.field52[var0][var1]; // L: 415 - var10000[var2] |= 585; - } - } - - if (var8.interactType != 0 && var7 != null) { // L: 418 - var7.method3611(var1, var2, var5, var4, var8.boolean1); - } - - if (var8.int2 != 16) { // L: 419 - var6.method3175(var0, var1, var2, var8.int2); - } - - } else if (var5 == 3) { // L: 422 - if (var8.animationId == -1 && var8.transforms == null) { // L: 424 - var34 = var8.getEntity(3, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 425 - } - - var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field513[var4], 0, var19, var21); // L: 426 - if (var8.clipped) { // L: 427 - if (var4 == 0) { // L: 428 - Tiles.field511[var0][var1][var2 + 1] = 50; - } else if (var4 == 1) { // L: 429 - Tiles.field511[var0][var1 + 1][var2 + 1] = 50; - } else if (var4 == 2) { // L: 430 - Tiles.field511[var0][var1 + 1][var2] = 50; - } else if (var4 == 3) { // L: 431 - Tiles.field511[var0][var1][var2] = 50; - } - } - - if (var8.interactType != 0 && var7 != null) { // L: 433 - var7.method3611(var1, var2, var5, var4, var8.boolean1); - } - - } else if (var5 == 9) { // L: 436 - if (var8.animationId == -1 && var8.transforms == null) { // L: 438 - var34 = var8.getEntity(var5, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 439 - } - - var6.method3160(var0, var1, var2, var16, 1, 1, (Renderable)var34, 0, var19, var21); // L: 440 - if (var8.interactType != 0 && var7 != null) { // L: 441 - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - if (var8.int2 != 16) { // L: 442 - var6.method3175(var0, var1, var2, var8.int2); - } - - } else if (var5 == 4) { // L: 445 - if (var8.animationId == -1 && var8.transforms == null) { // L: 447 - var34 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 448 - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, Tiles.field512[var4], 0, 0, 0, var19, var21); // L: 449 - } else { - Object var25; - long var29; - if (var5 == 5) { // L: 452 - var28 = 16; // L: 453 - var29 = var6.getBoundaryObjectTag(var0, var1, var2); // L: 454 - if (var29 != 0L) { // L: 455 - var28 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var29)).int2; - } - - if (var8.animationId == -1 && var8.transforms == null) { // L: 457 - var25 = var8.getEntity(4, var4, var15, var17, var16, var18); - } else { - var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 458 - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, Tiles.field512[var4], 0, var28 * Tiles.field518[var4], var28 * Tiles.field515[var4], var19, var21); // L: 459 - } else if (var5 == 6) { // L: 462 - var28 = 8; // L: 463 - var29 = var6.getBoundaryObjectTag(var0, var1, var2); // L: 464 - if (var29 != 0L) { // L: 465 - var28 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var29)).int2 / 2; - } - - if (var8.animationId == -1 && var8.transforms == null) { // L: 467 - var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); - } else { - var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 468 - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, 256, var4, var28 * Tiles.field509[var4], var28 * Tiles.field517[var4], var19, var21); // L: 469 - } else if (var5 == 7) { // L: 472 - var23 = var4 + 2 & 3; // L: 474 - if (var8.animationId == -1 && var8.transforms == null) { // L: 475 - var34 = var8.getEntity(4, var23 + 4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 4, var23 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 476 - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var34, (Renderable)null, 256, var23, 0, 0, var19, var21); // L: 477 - } else if (var5 == 8) { // L: 480 - var28 = 8; // L: 481 - var29 = var6.getBoundaryObjectTag(var0, var1, var2); // L: 482 - if (var29 != 0L) { // L: 483 - var28 = WorldMapDecoration.getObjectDefinition(Occluder.Entity_unpackID(var29)).int2 / 2; - } - - int var27 = var4 + 2 & 3; // L: 486 - Object var26; - if (var8.animationId == -1 && var8.transforms == null) { // L: 487 - var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18); // L: 488 - var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18); // L: 489 - } else { - var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 492 - var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 493 - } - - var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)var26, 256, var4, var28 * Tiles.field509[var4], var28 * Tiles.field517[var4], var19, var21); // L: 495 - } - } - } - } else { - if (var8.animationId == -1 && var8.transforms == null) { // L: 308 - var34 = var8.getEntity(10, var4, var15, var17, var16, var18); - } else { - var34 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.field3429, (Renderable)null); // L: 309 - } - - if (var34 != null && var6.method3160(var0, var1, var2, var16, var9, var10, (Renderable)var34, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) { // L: 310 311 - var23 = 15; // L: 312 - if (var34 instanceof Model) { // L: 313 - var23 = ((Model)var34).method2991() / 4; // L: 314 - if (var23 > 30) { // L: 315 - var23 = 30; - } - } - - for (var24 = 0; var24 <= var9; ++var24) { // L: 317 - for (int var33 = 0; var33 <= var10; ++var33) { // L: 318 - if (var23 > Tiles.field511[var0][var24 + var1][var33 + var2]) { // L: 319 - Tiles.field511[var0][var24 + var1][var33 + var2] = (byte)var23; - } - } - } - } - - if (var8.interactType != 0 && var7 != null) { // L: 324 - var7.addGameObject(var1, var2, var9, var10, var8.boolean1); - } - - } - } - } // L: 304 325 334 371 385 420 434 443 450 460 470 478 496 498 - - @ObfuscatedName("u") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-249600986" - ) - static void method83() { - Login.Login_username = Login.Login_username.trim(); // L: 896 - if (Login.Login_username.length() == 0) { // L: 897 - GameEngine.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); // L: 898 - } else { - long var1; - try { - URL var3 = new URL(AbstractWorldMapIcon.method632("services", false) + "m=accountappeal/login.ws"); // L: 905 - URLConnection var4 = var3.openConnection(); // L: 906 - var4.setRequestProperty("connection", "close"); // L: 907 - var4.setDoInput(true); // L: 908 - var4.setDoOutput(true); // L: 909 - var4.setConnectTimeout(5000); // L: 910 - OutputStreamWriter var5 = new OutputStreamWriter(var4.getOutputStream()); // L: 911 - var5.write("data1=req"); // L: 912 - var5.flush(); // L: 913 - InputStream var6 = var4.getInputStream(); // L: 914 - Buffer var7 = new Buffer(new byte[1000]); // L: 915 - - while (true) { - int var8 = var6.read(var7.array, var7.offset, 1000 - var7.offset); // L: 917 - if (var8 == -1) { // L: 918 - var7.offset = 0; // L: 925 - long var10 = var7.readLong(); // L: 926 - var1 = var10; // L: 927 - break; - } - - var7.offset += var8; // L: 919 - if (var7.offset >= 1000) { // L: 920 - var1 = 0L; // L: 921 - break; - } - } - } catch (Exception var14) { // L: 929 - var1 = 0L; // L: 930 - } - - int var0; - if (0L == var1) { // L: 934 - var0 = 5; - } else { - var0 = MusicPatchNode2.method3724(var1, Login.Login_username); // L: 935 - } - - switch(var0) { // L: 936 - case 2: - GameEngine.setLoginResponseString(Strings.field3053, Strings.field3054, Strings.field3055); // L: 941 - Login.loginIndex = 6; // L: 942 - break; // L: 943 - case 3: - GameEngine.setLoginResponseString("", "Error connecting to server.", ""); // L: 954 - break; - case 4: - GameEngine.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); // L: 951 - break; // L: 952 - case 5: - GameEngine.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); // L: 938 - break; // L: 939 - case 6: - GameEngine.setLoginResponseString("", "Error connecting to server.", ""); // L: 948 - break; // L: 949 - case 7: - GameEngine.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."); // L: 945 - } - - } - } // L: 899 957 - - @ObfuscatedName("ht") - @ObfuscatedSignature( - descriptor = "(Lbp;I)V", - garbageValue = "-1524924441" - ) - static final void method86(PendingSpawn var0) { - long var1 = 0L; // L: 6942 - int var3 = -1; // L: 6943 - int var4 = 0; // L: 6944 - int var5 = 0; // L: 6945 - if (var0.type == 0) { // L: 6946 - var1 = ArchiveLoader.scene.getBoundaryObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 1) { // L: 6947 - var1 = ArchiveLoader.scene.getWallDecorationTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 2) { // L: 6948 - var1 = ArchiveLoader.scene.getGameObjectTag(var0.plane, var0.x, var0.y); - } - - if (var0.type == 3) { - var1 = ArchiveLoader.scene.getFloorDecorationTag(var0.plane, var0.x, var0.y); // L: 6949 - } - - if (var1 != 0L) { // L: 6950 - int var6 = ArchiveLoader.scene.getObjectFlags(var0.plane, var0.x, var0.y, var1); // L: 6951 - var3 = Occluder.Entity_unpackID(var1); // L: 6952 - var4 = var6 & 31; // L: 6953 - var5 = var6 >> 6 & 3; // L: 6954 - } - - var0.objectId = var3; // L: 6956 - var0.field935 = var4; // L: 6957 - var0.field929 = var5; // L: 6958 - } // L: 6959 - - @ObfuscatedName("jm") - @ObfuscatedSignature( - descriptor = "(IIIIIII)V", - garbageValue = "175619167" - ) - static final void method87(int var0, int var1, int var2, int var3, int var4, int var5) { - int var6 = var2 - var0; // L: 9392 - int var7 = var3 - var1; // L: 9393 - int var8 = var6 >= 0 ? var6 : -var6; // L: 9394 - int var9 = var7 >= 0 ? var7 : -var7; // L: 9395 - int var10 = var8; // L: 9396 - if (var8 < var9) { // L: 9397 - var10 = var9; - } - - if (var10 != 0) { // L: 9398 - int var11 = (var6 << 16) / var10; // L: 9399 - int var12 = (var7 << 16) / var10; // L: 9400 - if (var12 <= var11) { // L: 9401 - var11 = -var11; - } else { - var12 = -var12; // L: 9402 - } - - int var13 = var5 * var12 >> 17; // L: 9403 - int var14 = var5 * var12 + 1 >> 17; // L: 9404 - int var15 = var5 * var11 >> 17; // L: 9405 - int var16 = var5 * var11 + 1 >> 17; // L: 9406 - var0 -= Rasterizer2D.Rasterizer2D_xClipStart; // L: 9407 - var1 -= Rasterizer2D.Rasterizer2D_yClipStart; // L: 9408 - int var17 = var0 + var13; // L: 9409 - int var18 = var0 - var14; // L: 9410 - int var19 = var0 + var6 - var14; // L: 9411 - int var20 = var0 + var13 + var6; // L: 9412 - int var21 = var15 + var1; // L: 9413 - int var22 = var1 - var16; // L: 9414 - int var23 = var7 + var1 - var16; // L: 9415 - int var24 = var15 + var7 + var1; // L: 9416 - Rasterizer3D.method3078(var17, var18, var19); // L: 9417 - Rasterizer3D.method3081(var21, var22, var23, var17, var18, var19, var4); // L: 9418 - Rasterizer3D.method3078(var17, var19, var20); // L: 9419 - Rasterizer3D.method3081(var21, var23, var24, var17, var19, var20, var4); // L: 9420 - } - } // L: 9421 - - @ObfuscatedName("jj") - @ObfuscatedSignature( - descriptor = "(Lhe;III)V", - garbageValue = "-1067771846" - ) - @Export("alignWidgetPosition") - static void alignWidgetPosition(Widget var0, int var1, int var2) { - if (var0.xAlignment == 0) { // L: 9517 - var0.x = var0.rawX; - } else if (var0.xAlignment == 1) { // L: 9518 - var0.x = var0.rawX + (var1 - var0.width) / 2; - } else if (var0.xAlignment == 2) { // L: 9519 - var0.x = var1 - var0.width - var0.rawX; - } else if (var0.xAlignment == 3) { // L: 9520 - var0.x = var0.rawX * var1 >> 14; - } else if (var0.xAlignment == 4) { // L: 9521 - var0.x = (var0.rawX * var1 >> 14) + (var1 - var0.width) / 2; - } else { - var0.x = var1 - var0.width - (var0.rawX * var1 >> 14); // L: 9522 - } - - if (var0.yAlignment == 0) { // L: 9523 - var0.y = var0.rawY; - } else if (var0.yAlignment == 1) { // L: 9524 - var0.y = (var2 - var0.height) / 2 + var0.rawY; - } else if (var0.yAlignment == 2) { // L: 9525 - var0.y = var2 - var0.height - var0.rawY; - } else if (var0.yAlignment == 3) { - var0.y = var2 * var0.rawY >> 14; // L: 9526 - } else if (var0.yAlignment == 4) { // L: 9527 - var0.y = (var2 * var0.rawY >> 14) + (var2 - var0.height) / 2; - } else { - var0.y = var2 - var0.height - (var2 * var0.rawY >> 14); // L: 9528 - } - - } // L: 9529 - - @ObfuscatedName("ja") - @ObfuscatedSignature( - descriptor = "(Lhe;Ljq;IIZI)V", - garbageValue = "1516995220" - ) - @Export("addWidgetItemMenuItem") - static final void addWidgetItemMenuItem(Widget var0, ItemComposition var1, int var2, int var3, boolean var4) { - String[] var5 = var1.inventoryActions; // L: 9686 - byte var6 = -1; // L: 9687 - String var7 = null; // L: 9688 - if (var5 != null && var5[var3] != null) { // L: 9689 - if (var3 == 0) { // L: 9690 - var6 = 33; - } else if (var3 == 1) { // L: 9691 - var6 = 34; - } else if (var3 == 2) { - var6 = 35; // L: 9692 - } else if (var3 == 3) { // L: 9693 - var6 = 36; - } else { - var6 = 37; // L: 9694 - } - - var7 = var5[var3]; // L: 9695 - } else if (var3 == 4) { // L: 9698 - var6 = 37; // L: 9699 - var7 = "Drop"; // L: 9700 - } - - if (var6 != -1 && var7 != null) { // L: 9703 - WorldMapID.insertMenuItem(var7, class23.colorStartTag(16748608) + var1.name, var6, var1.id, var2, var0.id, var4); // L: 9704 - } - - } // L: 9706 + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Le;" + ) + field41(0, 0); + + @ObfuscatedName("l") + @ObfuscatedGetter( + intValue = 324550527 + ) + @Export("pcmSampleLength") + public static int pcmSampleLength; + @ObfuscatedName("b") + @ObfuscatedGetter( + intValue = 501713391 + ) + static int field35; + @ObfuscatedName("bh") + @ObfuscatedSignature( + descriptor = "Lly;" + ) + @Export("worldSelectLeftSprite") + static IndexedSprite worldSelectLeftSprite; + @ObfuscatedName("v") + @ObfuscatedGetter( + intValue = -997715077 + ) + public final int field36; + @ObfuscatedName("d") + @ObfuscatedGetter( + intValue = -1130896925 + ) + final int field37; + + class7(int var3, int var4) { + this.field36 = var3; + this.field37 = var4; + } + + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(B)I", + garbageValue = "63" + ) + @Export("rsOrdinal") + public int rsOrdinal() { + return this.field37; + } + + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)[Lgs;", + garbageValue = "2004297055" + ) + public static class194[] method85() { + return new class194[]{class194.field2348, class194.field2354, class194.field2347, class194.field2356, class194.field2350, class194.field2351, class194.field2352, class194.field2353, class194.field2346, class194.field2355}; + } + + @ObfuscatedName("hi") + @ObfuscatedSignature( + descriptor = "(ILjava/lang/String;B)V", + garbageValue = "-63" + ) + static void method83(int var0, String var1) { + int var2 = Players.Players_count; + int[] var3 = Players.Players_indices; + boolean var4 = false; + Username var5 = new Username(var1, Message.loginType); + + for(int var6 = 0; var6 < var2; ++var6) { + Player var7 = Client.players[var3[var6]]; + if (var7 != null && var7 != UserComparator9.localPlayer && var7.username != null && var7.username.equals(var5)) { + PacketBufferNode var8; + if (var0 == 1) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2313, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3[var6]); + var8.packetBuffer.method5931(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 4) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2275, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShortLE(var3[var6]); + var8.packetBuffer.method5931(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 6) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2239, Client.packetWriter.isaacCipher); + var8.packetBuffer.writeShort(var3[var6]); + var8.packetBuffer.writeByte(0); + Client.packetWriter.addNode(var8); + } else if (var0 == 7) { + var8 = WorldMapSprite.getPacketBufferNode(ClientPacket.field2308, Client.packetWriter.isaacCipher); + var8.packetBuffer.method5883(0); + var8.packetBuffer.writeIntME(var3[var6]); + Client.packetWriter.addNode(var8); + } + + var4 = true; + break; + } + } + + if (!var4) { + AbstractWorldMapData.addGameMessage(4, "", "Unable to find " + var1); + } + + } } diff --git a/runescape-client/src/main/java/class8.java b/runescape-client/src/main/java/class8.java index 45fe89d6c1..d130fe3475 100644 --- a/runescape-client/src/main/java/class8.java +++ b/runescape-client/src/main/java/class8.java @@ -4,95 +4,84 @@ import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("l") +@ObfuscatedName("q") public class class8 implements Callable { - @ObfuscatedName("l") - @ObfuscatedGetter( - intValue = 1988326555 - ) - @Export("gameCyclesToDo") - protected static int gameCyclesToDo; - @ObfuscatedName("bk") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - @Export("worldSelectRightSprite") - static IndexedSprite worldSelectRightSprite; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - final Buffer field35; - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "Lm;" - ) - final class12 field32; - // $FF: synthetic field - @ObfuscatedSignature( - descriptor = "Lz;" - ) - final class9 this$0; + @ObfuscatedName("h") + @ObfuscatedGetter( + intValue = 880738975 + ) + static int field45; + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "Lig;" + ) + @Export("ItemDefinition_modelArchive") + public static AbstractArchive ItemDefinition_modelArchive; + @ObfuscatedName("du") + @Export("mouseCam") + static boolean mouseCam; + @ObfuscatedName("dq") + @ObfuscatedSignature( + descriptor = "Liy;" + ) + @Export("archive5") + static Archive archive5; + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + final Buffer field48; + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "La;" + ) + final class12 field44; + // $FF: synthetic field + @ObfuscatedSignature( + descriptor = "Ll;" + ) + final class9 this$0; - @ObfuscatedSignature( - descriptor = "(Lz;Lkj;Lm;)V" - ) - class8(class9 var1, Buffer var2, class12 var3) { - this.this$0 = var1; // L: 47 - this.field35 = var2; // L: 48 - this.field32 = var3; // L: 49 - } // L: 50 + @ObfuscatedSignature( + descriptor = "(Ll;Lkx;La;)V" + ) + class8(class9 var1, Buffer var2, class12 var3) { + this.this$0 = var1; + this.field48 = var2; + this.field44 = var3; + } - public Object call() { - return this.field32.vmethod123(this.field35); // L: 53 - } + public Object call() { + return this.field44.vmethod120(this.field48); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)I", - garbageValue = "-497960753" - ) - @Export("ItemContainer_getCount") - static int ItemContainer_getCount(int var0, int var1) { - ItemContainer var2 = (ItemContainer)ItemContainer.itemContainers.get((long)var0); // L: 21 - if (var2 == null) { // L: 22 - return 0; - } else { - return var1 >= 0 && var1 < var2.quantities.length ? var2.quantities[var1] : 0; // L: 23 24 - } - } + @ObfuscatedName("z") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1606674389" + ) + static void method88() { + if (Client.Login_isUsernameRemembered && Login.Login_username != null && Login.Login_username.length() > 0) { + Login.currentLoginField = 1; + } else { + Login.currentLoginField = 0; + } - @ObfuscatedName("jh") - @ObfuscatedSignature( - descriptor = "(Lhe;I)Z", - garbageValue = "-2010469963" - ) - @Export("runCs1") - static final boolean runCs1(Widget var0) { - if (var0.cs1Comparisons == null) { // L: 9587 - return false; - } else { - for (int var1 = 0; var1 < var0.cs1Comparisons.length; ++var1) { // L: 9588 - int var2 = HealthBarDefinition.method4512(var0, var1); // L: 9589 - int var3 = var0.cs1ComparisonValues[var1]; // L: 9590 - if (var0.cs1Comparisons[var1] == 2) { // L: 9591 - if (var2 >= var3) { // L: 9592 - return false; - } - } else if (var0.cs1Comparisons[var1] == 3) { // L: 9594 - if (var2 <= var3) { // L: 9595 - return false; - } - } else if (var0.cs1Comparisons[var1] == 4) { // L: 9597 - if (var2 == var3) { // L: 9598 - return false; - } - } else if (var3 != var2) { // L: 9600 - return false; - } - } + } - return true; // L: 9602 - } - } + @ObfuscatedName("fc") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "1683075564" + ) + static final void method90() { + if (Client.logoutTimer > 0) { + SecureRandomCallable.logOut(); + } else { + Client.timer.method5206(); + ItemContainer.updateGameState(40); + UserComparator6.field2008 = Client.packetWriter.getSocket(); + Client.packetWriter.removeSocket(); + } + } } diff --git a/runescape-client/src/main/java/class89.java b/runescape-client/src/main/java/class89.java index aa16239f6b..c3fe4a1fc4 100644 --- a/runescape-client/src/main/java/class89.java +++ b/runescape-client/src/main/java/class89.java @@ -1,154 +1,23 @@ import java.math.BigInteger; import net.runelite.mapping.Export; -import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cr") +@ObfuscatedName("cz") public class class89 { - @ObfuscatedName("rz") - @ObfuscatedGetter( - intValue = 392946669 - ) - static int field1140; - @ObfuscatedName("t") - static final BigInteger field1147; - @ObfuscatedName("j") - static final BigInteger field1142; + @ObfuscatedName("y") + static final BigInteger field1155 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); + @ObfuscatedName("h") + static final BigInteger field1154 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); - static { - field1147 = new BigInteger("80782894952180643741752986186714059433953886149239752893425047584684715842049"); - field1142 = new BigInteger("7237300117305667488707183861728052766358166655052137727439795191253340127955075499635575104901523446809299097934591732635674173519120047404024393881551683"); - } - - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([Ljava/lang/String;[SIII)V", - garbageValue = "-483488480" - ) - @Export("sortItemsByName") - public static void sortItemsByName(String[] var0, short[] var1, int var2, int var3) { - if (var2 < var3) { // L: 9 - int var4 = (var3 + var2) / 2; // L: 10 - int var5 = var2; // L: 11 - String var6 = var0[var4]; // L: 12 - var0[var4] = var0[var3]; // L: 13 - var0[var3] = var6; // L: 14 - short var7 = var1[var4]; // L: 15 - var1[var4] = var1[var3]; // L: 16 - var1[var3] = var7; // L: 17 - - for (int var8 = var2; var8 < var3; ++var8) { // L: 18 - if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { // L: 19 - String var9 = var0[var8]; // L: 20 - var0[var8] = var0[var5]; // L: 21 - var0[var5] = var9; // L: 22 - short var10 = var1[var8]; // L: 23 - var1[var8] = var1[var5]; // L: 24 - var1[var5++] = var10; // L: 25 - } - } - - var0[var3] = var0[var5]; // L: 29 - var0[var5] = var6; // L: 30 - var1[var3] = var1[var5]; // L: 31 - var1[var5] = var7; // L: 32 - sortItemsByName(var0, var1, var2, var5 - 1); // L: 33 - sortItemsByName(var0, var1, var5 + 1, var3); // L: 34 - } - - } // L: 36 - - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(Lib;Ljava/lang/String;Ljava/lang/String;I)[Llo;", - garbageValue = "-1519109689" - ) - public static IndexedSprite[] method2123(AbstractArchive var0, String var1, String var2) { - int var3 = var0.getGroupId(var1); // L: 87 - int var4 = var0.getFileId(var3, var2); // L: 88 - IndexedSprite[] var5; - if (!class304.method5363(var0, var3, var4)) { // L: 91 - var5 = null; // L: 92 - } else { - IndexedSprite[] var7 = new IndexedSprite[class336.SpriteBuffer_spriteCount]; // L: 97 - - for (int var8 = 0; var8 < class336.SpriteBuffer_spriteCount; ++var8) { // L: 98 - IndexedSprite var9 = var7[var8] = new IndexedSprite(); // L: 99 - var9.width = DirectByteArrayCopier.SpriteBuffer_spriteWidth; // L: 100 - var9.height = class336.SpriteBuffer_spriteHeight; // L: 101 - var9.xOffset = class336.SpriteBuffer_xOffsets[var8]; // L: 102 - var9.yOffset = class336.SpriteBuffer_yOffsets[var8]; // L: 103 - var9.subWidth = class336.SpriteBuffer_spriteWidths[var8]; // L: 104 - var9.subHeight = class336.SpriteBuffer_spriteHeights[var8]; // L: 105 - var9.palette = class336.SpriteBuffer_spritePalette; // L: 106 - var9.pixels = GrandExchangeEvents.SpriteBuffer_pixels[var8]; // L: 107 - } - - class336.SpriteBuffer_xOffsets = null; // L: 110 - class336.SpriteBuffer_yOffsets = null; // L: 111 - class336.SpriteBuffer_spriteWidths = null; // L: 112 - class336.SpriteBuffer_spriteHeights = null; // L: 113 - class336.SpriteBuffer_spritePalette = null; // L: 114 - GrandExchangeEvents.SpriteBuffer_pixels = null; // L: 115 - var5 = var7; // L: 119 - } - - return var5; // L: 121 - } - - @ObfuscatedName("j") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1990775275" - ) - static void method2122() { - if (Login.clearLoginScreen) { // L: 217 - WorldMapEvent.titleboxSprite = null; // L: 218 - Login.titlebuttonSprite = null; // L: 219 - GZipDecompressor.runesSprite = null; // L: 220 - class25.leftTitleSprite = null; // L: 221 - class224.rightTitleSprite = null; // L: 222 - class224.logoSprite = null; // L: 223 - Login.title_muteSprite = null; // L: 224 - DirectByteArrayCopier.options_buttons_0Sprite = null; // L: 225 - ItemContainer.options_buttons_2Sprite = null; // L: 226 - class301.worldSelectBackSpritePixels = null; // L: 227 - class90.worldSelectFlagSprites = null; // L: 228 - WorldMapSectionType.worldSelectArrows = null; // L: 229 - class349.worldSelectStars = null; // L: 230 - class9.field42 = null; // L: 231 - class1.loginScreenRunesAnimation.method1877(); // L: 232 - SecureRandomCallable.method1220(2); // L: 233 - SoundSystem.method2564(true); // L: 234 - Login.clearLoginScreen = false; // L: 235 - } - } // L: 236 - - @ObfuscatedName("js") - @ObfuscatedSignature( - descriptor = "(IIIIII)V", - garbageValue = "-373616735" - ) - @Export("drawScrollBar") - static final void drawScrollBar(int var0, int var1, int var2, int var3, int var4) { - InterfaceParent.scrollBarSprites[0].drawAt(var0, var1); // L: 9564 - InterfaceParent.scrollBarSprites[1].drawAt(var0, var3 + var1 - 16); // L: 9565 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1 + 16, 16, var3 - 32, Client.field711); // L: 9566 - int var5 = var3 * (var3 - 32) / var4; // L: 9567 - if (var5 < 8) { // L: 9568 - var5 = 8; - } - - int var6 = (var3 - 32 - var5) * var2 / (var4 - var3); // L: 9569 - Rasterizer2D.Rasterizer2D_fillRectangle(var0, var6 + var1 + 16, 16, var5, Client.field712); // L: 9570 - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0, var6 + var1 + 16, var5, Client.field714); // L: 9571 - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 1, var6 + var1 + 16, var5, Client.field714); // L: 9572 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 16, 16, Client.field714); // L: 9573 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var6 + var1 + 17, 16, Client.field714); // L: 9574 - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 15, var6 + var1 + 16, var5, Client.field713); // L: 9575 - Rasterizer2D.Rasterizer2D_drawVerticalLine(var0 + 14, var6 + var1 + 17, var5 - 1, Client.field713); // L: 9576 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0, var5 + var6 + var1 + 15, 16, Client.field713); // L: 9577 - Rasterizer2D.Rasterizer2D_drawHorizontalLine(var0 + 1, var6 + var5 + var1 + 14, 15, Client.field713); // L: 9578 - } // L: 9579 + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(III)Lbd;", + garbageValue = "-1373661566" + ) + @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/class9.java b/runescape-client/src/main/java/class9.java index b2ca7bd94b..bba4d158d6 100644 --- a/runescape-client/src/main/java/class9.java +++ b/runescape-client/src/main/java/class9.java @@ -1,137 +1,788 @@ -import java.util.Iterator; +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("z") +@ObfuscatedName("l") public class class9 { - @ObfuscatedName("j") - static byte[][][] field40; - @ObfuscatedName("n") - @ObfuscatedSignature( - descriptor = "[[Lhe;" - ) - @Export("Widget_interfaceComponents") - public static Widget[][] Widget_interfaceComponents; - @ObfuscatedName("bc") - @ObfuscatedSignature( - descriptor = "Llo;" - ) - static IndexedSprite field42; - @ObfuscatedName("h") - ExecutorService field39; - @ObfuscatedName("v") - Future field43; - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "Lkj;" - ) - final Buffer field41; - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "Lm;" - ) - final class12 field38; + @ObfuscatedName("sc") + @ObfuscatedGetter( + longValue = 3250818225276468935L + ) + static long field57; + @ObfuscatedName("k") + @ObfuscatedSignature( + descriptor = "Lcb;" + ) + @Export("loginScreenRunesAnimation") + static LoginScreenAnimation loginScreenRunesAnimation; + @ObfuscatedName("n") + ExecutorService field56 = Executors.newSingleThreadExecutor(); + @ObfuscatedName("v") + Future field53; + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "Lkx;" + ) + final Buffer field58; + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "La;" + ) + final class12 field55; - @ObfuscatedSignature( - descriptor = "(Lkj;Lm;)V" - ) - public class9(Buffer var1, class12 var2) { - this.field39 = Executors.newSingleThreadExecutor(); // L: 10 - this.field41 = var1; // L: 16 - this.field38 = var2; // L: 17 - this.method96(); // L: 18 - } // L: 19 + @ObfuscatedSignature( + descriptor = "(Lkx;La;)V" + ) + public class9(Buffer var1, class12 var2) { + this.field58 = var1; + this.field55 = var2; + this.method92(); + } - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "(I)Z", - garbageValue = "139189298" - ) - public boolean method112() { - return this.field43.isDone(); // L: 22 - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "(I)Z", + garbageValue = "-807097054" + ) + public boolean method108() { + return this.field53.isDone(); + } - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-1420165485" - ) - public void method97() { - this.field39.shutdown(); // L: 26 - this.field39 = null; // L: 27 - } // L: 28 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-1213783874" + ) + public void method93() { + this.field56.shutdown(); + this.field56 = null; + } - @ObfuscatedName("x") - @ObfuscatedSignature( - descriptor = "(B)Lkj;", - garbageValue = "60" - ) - public Buffer method98() { - try { - return (Buffer)this.field43.get(); // L: 32 - } catch (Exception var2) { // L: 34 - return null; // L: 35 - } - } + @ObfuscatedName("d") + @ObfuscatedSignature( + descriptor = "(I)Lkx;", + garbageValue = "808914251" + ) + public Buffer method94() { + try { + return (Buffer)this.field53.get(); + } catch (Exception var2) { + return null; + } + } - @ObfuscatedName("w") - @ObfuscatedSignature( - descriptor = "(I)V", - garbageValue = "-787508892" - ) - void method96() { - this.field43 = this.field39.submit(new class8(this, this.field41, this.field38)); // L: 40 - } // L: 41 + @ObfuscatedName("c") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "2058592191" + ) + void method92() { + this.field53 = this.field56.submit(new class8(this, this.field58, this.field55)); + } - @ObfuscatedName("i") - @ObfuscatedSignature( - descriptor = "(IIB)I", - garbageValue = "20" - ) - static final int method101(int var0, int var1) { - if (var0 == -2) { // L: 870 - return 12345678; - } else if (var0 == -1) { // L: 871 - if (var1 < 2) { - var1 = 2; // L: 872 - } else if (var1 > 126) { // L: 873 - var1 = 126; - } + @ObfuscatedName("e") + @ObfuscatedSignature( + descriptor = "(Lbt;I)V", + garbageValue = "-1405869501" + ) + @Export("doCycleTitle") + static void doCycleTitle(GameEngine var0) { + if (Login.worldSelectOpen) { + WorldMapID.method646(var0); + } else { + int var3; + if ((MouseHandler.MouseHandler_lastButton == 1 || !class8.mouseCam && MouseHandler.MouseHandler_lastButton == 4) && MouseHandler.MouseHandler_lastPressedX >= Login.xPadding + 765 - 50 && MouseHandler.MouseHandler_lastPressedY >= 453) { + WorldMapSectionType.clientPreferences.titleMusicDisabled = !WorldMapSectionType.clientPreferences.titleMusicDisabled; + class23.savePreferences(); + if (!WorldMapSectionType.clientPreferences.titleMusicDisabled) { + Archive var1 = UrlRequester.archive6; + int var2 = var1.getGroupId("scape main"); + var3 = var1.getFileId(var2, ""); + ReflectionCheck.method2450(var1, var2, var3, 255, false); + } else { + ScriptEvent.method1272(); + } + } - return var1; // L: 874 - } else { - var1 = (var0 & 127) * var1 / 128; // L: 876 - if (var1 < 2) { // L: 877 - var1 = 2; - } else if (var1 > 126) { // L: 878 - var1 = 126; - } + if (Client.gameState != 5) { + if (-1L == Login.field1213) { + Login.field1213 = Tiles.currentTimeMillis() + 1000L; + } - return (var0 & 65408) + var1; // L: 879 - } - } + long var20 = Tiles.currentTimeMillis(); + if (VarpDefinition.method4552() && -1L == Login.field1226) { + Login.field1226 = var20; + if (Login.field1226 > Login.field1213) { + Login.field1213 = Login.field1226; + } + } - @ObfuscatedName("kd") - @ObfuscatedSignature( - descriptor = "(B)V", - garbageValue = "-24" - ) - @Export("FriendSystem_invalidateIgnoreds") - static final void FriendSystem_invalidateIgnoreds() { - Iterator var0 = Messages.Messages_hashTable.iterator(); // L: 10996 + if (Client.gameState == 10 || Client.gameState == 11) { + if (Language.Language_EN == NPCComposition.clientLanguage) { + if (MouseHandler.MouseHandler_lastButton == 1 || !class8.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) { + Decimator.method2704(); + return; + } + } - while (var0.hasNext()) { - Message var1 = (Message)var0.next(); // L: 10997 - var1.clearIsFromIgnored(); // L: 10999 - } + if (UserComparator9.World_request != null) { + Decimator.method2704(); + } + } - if (WorldMapArea.clanChat != null) { // L: 11003 - WorldMapArea.clanChat.invalidateIgnoreds(); // L: 11004 - } + var3 = MouseHandler.MouseHandler_lastButton; + int var30 = MouseHandler.MouseHandler_lastPressedX; + int var31 = MouseHandler.MouseHandler_lastPressedY; + if (var3 == 0) { + var30 = MouseHandler.MouseHandler_x; + var31 = MouseHandler.MouseHandler_y; + } - } // L: 11006 + if (!class8.mouseCam && var3 == 4) { + var3 = 1; + } + + short var34; + int var35; + if (Login.loginIndex == 0) { + boolean var39 = false; + + while(Varcs.isKeyDown()) { + if (ModeWhere.field2417 == 84) { + var39 = true; + } + } + + var35 = GraphicsObject.loginBoxCenter - 80; + var34 = 291; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20) { + WorldMapRectangle.openURL(GrandExchangeOfferNameComparator.method209("secure", true) + "m=account-creation/g=oldscape/create_account_funnel.ws", true, false); + } + + var35 = GraphicsObject.loginBoxCenter + 80; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20 || var39) { + 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; + class8.method88(); + } 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; + class8.method88(); + } 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; + class8.method88(); + } else { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + } + } else { + short var7; + int var32; + if (Login.loginIndex == 1) { + while(true) { + if (!Varcs.isKeyDown()) { + var32 = GraphicsObject.loginBoxCenter - 80; + var7 = 321; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + + var32 = GraphicsObject.loginBoxCenter + 80; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + Login.loginIndex = 0; + } + break; + } + + if (ModeWhere.field2417 == 84) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } else if (ModeWhere.field2417 == 13) { + Login.loginIndex = 0; + } + } + } else { + short var33; + boolean var36; + if (Login.loginIndex == 2) { + var33 = 201; + var32 = var33 + 52; + if (var3 == 1 && var31 >= var32 - 12 && var31 < var32 + 2) { + Login.currentLoginField = 0; + } + + var32 += 15; + if (var3 == 1 && var31 >= var32 - 12 && var31 < var32 + 2) { + Login.currentLoginField = 1; + } + + var32 += 15; + var33 = 361; + if (AttackOption.field1190 != null) { + var35 = AttackOption.field1190.highX / 2; + if (var3 == 1 && var30 >= AttackOption.field1190.lowX - var35 && var30 <= var35 + AttackOption.field1190.lowX && var31 >= var33 - 15 && var31 < var33) { + switch(Login.field1207) { + case 1: + InvDefinition.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: + WorldMapRectangle.openURL("https://support.runescape.com/hc/en-gb", true, false); + } + } + } + + var35 = GraphicsObject.loginBoxCenter - 80; + var34 = 321; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + InvDefinition.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + InvDefinition.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + InvDefinition.setLoginResponseString("", "Connecting to server...", ""); + class23.method234(false); + ItemContainer.updateGameState(20); + return; + } + + var35 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + Canvas.field439 = 0; + class1.otp = ""; + Login.field1217 = true; + } + + var35 = GraphicsObject.loginBoxCenter + -117; + var34 = 277; + Login.field1222 = var30 >= var35 && var30 < var35 + WorldMapDecoration.field235 && var31 >= var34 && var31 < var34 + MouseHandler.field512; + if (var3 == 1 && Login.field1222) { + Client.Login_isUsernameRemembered = !Client.Login_isUsernameRemembered; + if (!Client.Login_isUsernameRemembered && WorldMapSectionType.clientPreferences.rememberedUsername != null) { + WorldMapSectionType.clientPreferences.rememberedUsername = null; + class23.savePreferences(); + } + } + + var35 = GraphicsObject.loginBoxCenter + 24; + var34 = 277; + Login.field1216 = var30 >= var35 && var30 < var35 + WorldMapDecoration.field235 && var31 >= var34 && var31 < var34 + MouseHandler.field512; + if (var3 == 1 && Login.field1216) { + WorldMapSectionType.clientPreferences.hideUsername = !WorldMapSectionType.clientPreferences.hideUsername; + if (!WorldMapSectionType.clientPreferences.hideUsername) { + Login.Login_username = ""; + WorldMapSectionType.clientPreferences.rememberedUsername = null; + class8.method88(); + } + + class23.savePreferences(); + } + + label1002: + while(true) { + Transferable var23; + int var38; + do { + while(true) { + char var37; + label918: + do { + while(true) { + while(Varcs.isKeyDown()) { + if (ModeWhere.field2417 != 13) { + if (Login.currentLoginField != 0) { + continue label918; + } + + WorldMapSection1.method657(WorldMapID.field299); + if (ModeWhere.field2417 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ModeWhere.field2417 == 84 || ModeWhere.field2417 == 80) { + Login.currentLoginField = 1; + } + + var37 = WorldMapID.field299; + var36 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var37) != -1; + if (var36 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + WorldMapID.field299; + } + } else { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + Canvas.field439 = 0; + class1.otp = ""; + Login.field1217 = true; + } + } + + return; + } + } while(Login.currentLoginField != 1); + + if (ModeWhere.field2417 == 85 && Login.Login_password.length() > 0) { + Login.Login_password = Login.Login_password.substring(0, Login.Login_password.length() - 1); + } else if (ModeWhere.field2417 == 84 || ModeWhere.field2417 == 80) { + Login.currentLoginField = 0; + if (ModeWhere.field2417 == 84) { + Login.Login_username = Login.Login_username.trim(); + if (Login.Login_username.length() == 0) { + InvDefinition.setLoginResponseString("", "Please enter your username/email address.", ""); + return; + } + + if (Login.Login_password.length() == 0) { + InvDefinition.setLoginResponseString("", "Please enter your password.", ""); + return; + } + + InvDefinition.setLoginResponseString("", "Connecting to server...", ""); + class23.method234(false); + ItemContainer.updateGameState(20); + return; + } + } + + if ((KeyHandler.KeyHandler_pressedKeys[82] || KeyHandler.KeyHandler_pressedKeys[87]) && ModeWhere.field2417 == 67) { + Clipboard var22 = Toolkit.getDefaultToolkit().getSystemClipboard(); + var23 = var22.getContents(class1.client); + var38 = 20 - Login.Login_password.length(); + break; + } + + var37 = WorldMapID.field299; + if ((var37 < ' ' || var37 >= 127) && (var37 <= 127 || var37 >= 160) && (var37 <= 160 || var37 > 255)) { + label1113: { + if (var37 != 0) { + char[] var25 = class298.cp1252AsciiExtension; + + for(int var26 = 0; var26 < var25.length; ++var26) { + char var13 = var25[var26]; + if (var37 == var13) { + var36 = true; + break label1113; + } + } + } + + var36 = false; + } + } else { + var36 = true; + } + + if (var36) { + char var42 = WorldMapID.field299; + boolean var11 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var42) != -1; + if (var11 && Login.Login_password.length() < 20) { + Login.Login_password = Login.Login_password + WorldMapID.field299; + } + } + } + } while(var38 <= 0); + + try { + String var12 = (String)var23.getTransferData(DataFlavor.stringFlavor); + int var40 = Math.min(var38, var12.length()); + int var14 = 0; + + while(true) { + if (var14 >= var40) { + Login.Login_password = Login.Login_password + var12.substring(0, var40); + continue label1002; + } + + char var16 = var12.charAt(var14); + boolean var15; + if (var16 >= ' ' && var16 < 127 || var16 > 127 && var16 < 160 || var16 > 160 && var16 <= 255) { + var15 = true; + } else { + label1126: { + if (var16 != 0) { + char[] var17 = class298.cp1252AsciiExtension; + + for(int var18 = 0; var18 < var17.length; ++var18) { + char var19 = var17[var18]; + if (var19 == var16) { + var15 = true; + break label1126; + } + } + } + + var15 = false; + } + } + + if (!var15) { + break; + } + + char var41 = var12.charAt(var14); + boolean var24 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".indexOf(var41) != -1; + if (!var24) { + break; + } + + ++var14; + } + + Login.loginIndex = 3; + return; + } catch (UnsupportedFlavorException var28) { + ; + } catch (IOException var29) { + ; + } + } + } else if (Login.loginIndex == 3) { + var32 = Login.loginBoxX + 180; + var7 = 276; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + + var32 = Login.loginBoxX + 180; + var7 = 326; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + InvDefinition.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 var9; + if (Login.loginIndex == 4) { + var32 = Login.loginBoxX + 180 - 80; + var7 = 321; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + class1.otp.trim(); + if (class1.otp.length() != 6) { + InvDefinition.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + Canvas.field439 = Integer.parseInt(class1.otp); + class1.otp = ""; + class23.method234(true); + InvDefinition.setLoginResponseString("", "Connecting to server...", ""); + ItemContainer.updateGameState(20); + return; + } + + if (var3 == 1 && var30 >= Login.loginBoxX + 180 - 9 && var30 <= Login.loginBoxX + 180 + 130 && var31 >= 263 && var31 <= 296) { + Login.field1217 = !Login.field1217; + } + + if (var3 == 1 && var30 >= Login.loginBoxX + 180 - 34 && var30 <= Login.loginBoxX + 34 + 180 && var31 >= 351 && var31 <= 363) { + WorldMapRectangle.openURL(GrandExchangeOfferNameComparator.method209("secure", true) + "m=totp-authenticator/disableTOTPRequest", true, false); + } + + var32 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + Canvas.field439 = 0; + class1.otp = ""; + } + + while(Varcs.isKeyDown()) { + boolean var8 = false; + + for(var9 = 0; var9 < "1234567890".length(); ++var9) { + if (WorldMapID.field299 == "1234567890".charAt(var9)) { + var8 = true; + break; + } + } + + if (ModeWhere.field2417 == 13) { + Login.loginIndex = 0; + Login.Login_username = ""; + Login.Login_password = ""; + Canvas.field439 = 0; + class1.otp = ""; + } else { + if (ModeWhere.field2417 == 85 && class1.otp.length() > 0) { + class1.otp = class1.otp.substring(0, class1.otp.length() - 1); + } + + if (ModeWhere.field2417 == 84) { + class1.otp.trim(); + if (class1.otp.length() != 6) { + InvDefinition.setLoginResponseString("", "Please enter a 6-digit PIN.", ""); + return; + } + + Canvas.field439 = Integer.parseInt(class1.otp); + class1.otp = ""; + class23.method234(true); + InvDefinition.setLoginResponseString("", "Connecting to server...", ""); + ItemContainer.updateGameState(20); + return; + } + + if (var8 && class1.otp.length() < 6) { + class1.otp = class1.otp + WorldMapID.field299; + } + } + } + } else if (Login.loginIndex == 5) { + var32 = Login.loginBoxX + 180 - 80; + var7 = 321; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + WorldMapManager.method738(); + return; + } + + var32 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } + + var34 = 361; + if (KeyHandler.field409 != null) { + var9 = KeyHandler.field409.highX / 2; + if (var3 == 1 && var30 >= KeyHandler.field409.lowX - var9 && var30 <= var9 + KeyHandler.field409.lowX && var31 >= var34 - 15 && var31 < var34) { + WorldMapRectangle.openURL(GrandExchangeOfferNameComparator.method209("secure", true) + "m=weblogin/g=oldscape/cant_log_in", true, false); + } + } + + while(Varcs.isKeyDown()) { + var36 = false; + + for(int var10 = 0; var10 < "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".length(); ++var10) { + if (WorldMapID.field299 == "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"£$%^&*()-_=+[{]};:'@#~,<.>/?\\| ".charAt(var10)) { + var36 = true; + break; + } + } + + if (ModeWhere.field2417 == 13) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } else { + if (ModeWhere.field2417 == 85 && Login.Login_username.length() > 0) { + Login.Login_username = Login.Login_username.substring(0, Login.Login_username.length() - 1); + } + + if (ModeWhere.field2417 == 84) { + WorldMapManager.method738(); + return; + } + + if (var36 && Login.Login_username.length() < 320) { + Login.Login_username = Login.Login_username + WorldMapID.field299; + } + } + } + } else if (Login.loginIndex != 6) { + if (Login.loginIndex == 7) { + var32 = Login.loginBoxX + 180 - 80; + var7 = 321; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + WorldMapRectangle.openURL(GrandExchangeOfferNameComparator.method209("secure", true) + "m=dob/set_dob.ws", true, false); + InvDefinition.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var32 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } + } else if (Login.loginIndex == 8) { + var32 = Login.loginBoxX + 180 - 80; + var7 = 321; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + WorldMapRectangle.openURL("https://www.jagex.com/terms/privacy", true, false); + InvDefinition.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var32 = Login.loginBoxX + 180 + 80; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } + } else if (Login.loginIndex == 12) { + String var27 = ""; + switch(Login.field1206) { + case 0: + var27 = "https://support.runescape.com/hc/en-gb/articles/115002238729-Account-Bans"; + break; + case 1: + var27 = "https://support.runescape.com/hc/en-gb/articles/206103939-My-account-is-locked"; + break; + default: + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + + var35 = Login.loginBoxX + 180; + var34 = 276; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20) { + WorldMapRectangle.openURL(var27, true, false); + InvDefinition.setLoginResponseString("", "Page has opened in a new window.", "(Please check your popup blocker.)"); + Login.loginIndex = 6; + return; + } + + var35 = Login.loginBoxX + 180; + var34 = 326; + if (var3 == 1 && var30 >= var35 - 75 && var30 <= var35 + 75 && var31 >= var34 - 20 && var31 <= var34 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + } else if (Login.loginIndex == 24) { + var32 = Login.loginBoxX + 180; + var7 = 301; + if (var3 == 1 && var30 >= var32 - 75 && var30 <= var32 + 75 && var31 >= var7 - 20 && var31 <= var7 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(false); + } + } + } else { + while(true) { + do { + if (!Varcs.isKeyDown()) { + var33 = 321; + if (var3 == 1 && var31 >= var33 - 20 && var31 <= var33 + 20) { + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } + + return; + } + } while(ModeWhere.field2417 != 84 && ModeWhere.field2417 != 13); + + GrandExchangeOfferOwnWorldComparator.Login_promptCredentials(true); + } + } + } + } + } + + } + } + } + } + + @ObfuscatedName("w") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "-1465568490" + ) + static int method98(int var0, Script var1, boolean var2) { + Widget var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + if (var0 == ScriptOpcodes.CC_GETSCROLLX) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLY) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTEXT) { + Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.text; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLWIDTH) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollWidth; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETSCROLLHEIGHT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.scrollHeight; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELZOOM) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelZoom; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_X) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleX; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Z) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleZ; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELANGLE_Y) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelAngleY; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSTOP) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyTop; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETTRANSBOT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.transparencyBot; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLCOLOUR) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.color2; + return 1; + } else if (var0 == ScriptOpcodes.CC_GETFILLMODE) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.fillMode.rsOrdinal(); + return 1; + } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) { + Interpreter.Interpreter_intStack[++Interpreter.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; + return 1; + } else { + return 2; + } + } + + @ObfuscatedName("ie") + @ObfuscatedSignature( + descriptor = "(Ljava/lang/String;Lhz;I)Ljava/lang/String;", + garbageValue = "16711935" + ) + static String method95(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; + } + + var0 = var0.substring(0, var3) + GrandExchangeOffer.method187(HealthBar.method2168(var1, var2 - 1)) + var0.substring(var3 + 2); + } + } + } + + return var0; + } } diff --git a/runescape-client/src/main/java/class90.java b/runescape-client/src/main/java/class90.java index 234111d7d3..5a957f18e9 100644 --- a/runescape-client/src/main/java/class90.java +++ b/runescape-client/src/main/java/class90.java @@ -1,52 +1,243 @@ import net.runelite.mapping.Export; +import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; +import net.runelite.rs.ScriptOpcodes; -@ObfuscatedName("ch") +@ObfuscatedName("cs") public class class90 { - @ObfuscatedName("bm") - @ObfuscatedSignature( - descriptor = "[Llo;" - ) - @Export("worldSelectFlagSprites") - static IndexedSprite[] worldSelectFlagSprites; + @ObfuscatedName("ke") + @ObfuscatedGetter( + intValue = -944892435 + ) + @Export("Client_plane") + static int Client_plane; - @ObfuscatedName("h") - @ObfuscatedSignature( - descriptor = "([Ljava/lang/CharSequence;III)Ljava/lang/String;", - garbageValue = "-540842250" - ) - public static String method2125(CharSequence[] var0, int var1, int var2) { - if (var2 == 0) { // L: 11 - return ""; - } else if (var2 == 1) { // L: 12 - CharSequence var10 = var0[var1]; // L: 13 - return var10 == null ? "null" : var10.toString(); // L: 14 15 - } else { - int var3 = var2 + var1; // L: 17 - int var4 = 0; // L: 18 + @ObfuscatedName("v") + @ObfuscatedSignature( + descriptor = "(IB)Ljy;", + garbageValue = "52" + ) + @Export("getNpcDefinition") + public static NPCComposition getNpcDefinition(int var0) { + NPCComposition var1 = (NPCComposition)NPCComposition.NpcDefinition_cached.get((long)var0); + if (var1 != null) { + return var1; + } else { + byte[] var2 = NPCComposition.NpcDefinition_archive.takeFile(9, var0); + var1 = new NPCComposition(); + var1.id = var0; + if (var2 != null) { + var1.decode(new Buffer(var2)); + } - for (int var5 = var1; var5 < var3; ++var5) { // L: 19 - CharSequence var9 = var0[var5]; // L: 20 - if (var9 == null) { // L: 21 - var4 += 4; - } else { - var4 += var9.length(); // L: 22 - } - } + var1.postDecode(); + NPCComposition.NpcDefinition_cached.put(var1, (long)var0); + return var1; + } + } - StringBuilder var8 = new StringBuilder(var4); // L: 24 + @ObfuscatedName("h") + @ObfuscatedSignature( + descriptor = "(ILcl;ZI)I", + garbageValue = "630017" + ) + static int method2193(int var0, Script var1, boolean var2) { + int var4 = -1; + Widget var3; + if (var0 >= 2000) { + var0 -= 1000; + var4 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + var3 = class237.getWidget(var4); + } else { + var3 = var2 ? class277.scriptDotWidget : Interpreter.scriptActiveWidget; + } - for (int var6 = var1; var6 < var3; ++var6) { // L: 25 - CharSequence var7 = var0[var6]; // L: 26 - if (var7 == null) { // L: 27 - var8.append("null"); - } else { - var8.append(var7); // L: 28 - } - } + if (var0 == ScriptOpcodes.CC_SETSCROLLPOS) { + Interpreter.Interpreter_intStackSize -= 2; + var3.scrollX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + if (var3.scrollX > var3.scrollWidth - var3.width) { + var3.scrollX = var3.scrollWidth - var3.width; + } - return var8.toString(); // L: 30 - } - } + if (var3.scrollX < 0) { + var3.scrollX = 0; + } + + var3.scrollY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + if (var3.scrollY > var3.scrollHeight - var3.height) { + var3.scrollY = var3.scrollHeight - var3.height; + } + + if (var3.scrollY < 0) { + var3.scrollY = 0; + } + + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETCOLOUR) { + var3.color = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILL) { + var3.fill = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTRANS) { + var3.transparencyTop = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETLINEWID) { + var3.lineWid = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHIC) { + var3.spriteId2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SET2DANGLE) { + var3.spriteAngle = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTILING) { + var3.spriteTiling = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODEL) { + var3.modelType = 1; + var3.modelId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELANGLE) { + Interpreter.Interpreter_intStackSize -= 6; + var3.modelOffsetX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.modelOffsetY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.modelAngleX = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + var3.modelAngleY = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 3]; + var3.modelAngleZ = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 4]; + var3.modelZoom = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 5]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else { + int var8; + if (var0 == ScriptOpcodes.CC_SETMODELANIM) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + if (var8 != var3.sequenceId) { + var3.sequenceId = var8; + var3.modelFrame = 0; + var3.modelFrameCycle = 0; + IsaacCipher.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELORTHOG) { + var3.modelOrthog = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXT) { + String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; + if (!var7.equals(var3.text)) { + var3.text = var7; + IsaacCipher.invalidateWidget(var3); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTFONT) { + var3.fontId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTALIGN) { + Interpreter.Interpreter_intStackSize -= 3; + var3.textXAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.textYAlignment = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + var3.textLineHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 2]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETTEXTSHADOW) { + var3.textShadowed = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETOUTLINE) { + var3.outline = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETGRAPHICSHADOW) { + var3.spriteShadow = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETVFLIP) { + var3.spriteFlipV = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETHFLIP) { + var3.spriteFlipH = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETSCROLLSIZE) { + Interpreter.Interpreter_intStackSize -= 2; + var3.scrollWidth = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize]; + var3.scrollHeight = Interpreter.Interpreter_intStack[Interpreter.Interpreter_intStackSize + 1]; + IsaacCipher.invalidateWidget(var3); + if (var4 != -1 && var3.type == 0) { + class182.revalidateWidgetScroll(DefaultsGroup.Widget_interfaceComponents[var4 >> 16], var3, false); + } + + return 1; + } else if (var0 == ScriptOpcodes.CC_RESUME_PAUSEBUTTON) { + class25.resumePauseWidget(var3.id, var3.childIndex); + Client.meslayerContinueWidget = var3; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == 1122) { + var3.spriteId = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLCOLOUR) { + var3.color2 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == 1124) { + var3.transparencyBot = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + IsaacCipher.invalidateWidget(var3); + return 1; + } else if (var0 == ScriptOpcodes.CC_SETFILLMODE) { + var8 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize]; + WidgetFillMode var6 = (WidgetFillMode)InterfaceParent.findEnumerated(class307.FillMode_values(), var8); + if (var6 != null) { + var3.fillMode = var6; + IsaacCipher.invalidateWidget(var3); + } + + return 1; + } else { + boolean var5; + if (var0 == ScriptOpcodes.CC_SETLINEDIRECTION) { + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + var3.field2627 = var5; + return 1; + } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) { + var5 = Interpreter.Interpreter_intStack[--Interpreter.Interpreter_intStackSize] == 1; + var3.modelTransparency = var5; + return 1; + } else { + return 2; + } + } + } + } + + @ObfuscatedName("q") + @ObfuscatedSignature( + descriptor = "(I)V", + garbageValue = "-2128979355" + ) + static void method2191() { + Players.Players_count = 0; + + for(int var0 = 0; var0 < 2048; ++var0) { + Players.field1269[var0] = null; + Players.field1274[var0] = 1; + } + + } } diff --git a/runescape-client/src/main/java/class92.java b/runescape-client/src/main/java/class92.java index 2e65675fad..b9bb8d05d9 100644 --- a/runescape-client/src/main/java/class92.java +++ b/runescape-client/src/main/java/class92.java @@ -3,41 +3,30 @@ import net.runelite.mapping.Export; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; -@ObfuscatedName("cl") +@ObfuscatedName("cu") public class class92 { - @ObfuscatedName("h") - static final BigInteger field1170; - @ObfuscatedName("v") - static final BigInteger field1168; - @ObfuscatedName("l") - static int[][] field1173; - @ObfuscatedName("e") - @Export("Tiles_lightness") - static int[] Tiles_lightness; - @ObfuscatedName("dc") - @ObfuscatedSignature( - descriptor = "Lil;" - ) - @Export("archive10") - static Archive archive10; + @ObfuscatedName("n") + static final BigInteger field1184 = new BigInteger("10001", 16); + @ObfuscatedName("v") + static final BigInteger field1177 = new BigInteger("b86386fafabb20bd78c0e5781c43f01792afb1811072a0927a86b2c060909e11def31c8145178d8e18079e9b7200a42bc81f0acd93da0c99c2d892add24ced64d66d75b89088142c4a1045f82b3c9f445bb54cddeb2b6b3771a9cb2d247a69dbd6facc6be331020f34dffd4b3417a5eefc9526e1db8ac97eabddbc50b48a760f", 16); + @ObfuscatedName("gd") + @Export("regionMapArchiveIds") + static int[] regionMapArchiveIds; - static { - field1170 = new BigInteger("10001", 16); // L: 6 - field1168 = new BigInteger("a79020d1617f0ba919c482c16d3ca354b6f489c1fc0f8b7ae13f0b045d400a01909941833566aa78af9725aa374a64c5cab6a9b920c6d77d02e38c969a27c969e05a0b90b46b8bf8d6497f1f5128a7d2007dacc592ac40a393cffb7ed0283be246faabbb3d7b98bc6663678643cd33410b37d2dae42239bf606084415ee4fc97", 16); // L: 7 - } - - @ObfuscatedName("v") - @ObfuscatedSignature( - descriptor = "(III)Lhe;", - garbageValue = "-100010964" - ) - @Export("getWidgetChild") - public static Widget getWidgetChild(int var0, int var1) { - Widget var2 = CollisionMap.getWidget(var0); // L: 196 - if (var1 == -1) { // L: 197 - return var2; - } else { - return var2 != null && var2.children != null && var1 < var2.children.length ? var2.children[var1] : null; // L: 198 199 - } - } + @ObfuscatedName("n") + @ObfuscatedSignature( + descriptor = "([BZB)Ljava/lang/Object;", + garbageValue = "8" + ) + public static Object method2195(byte[] var0, boolean var1) { + if (var0 == null) { + return null; + } else if (var0.length > 136) { + DirectByteArrayCopier var2 = new DirectByteArrayCopier(); + var2.set(var0); + return var2; + } else { + return var0; + } + } }