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("bj") @Implements("Message") public class Message extends DualNode { @ObfuscatedName("m") @Export("userHomeDirectory") static String userHomeDirectory; @ObfuscatedName("du") @ObfuscatedSignature( signature = "Lio;" ) @Export("archive12") static Archive archive12; @ObfuscatedName("c") @ObfuscatedGetter( intValue = 849621615 ) @Export("count") int count; @ObfuscatedName("x") @ObfuscatedGetter( intValue = 416570399 ) @Export("cycle") int cycle; @ObfuscatedName("t") @ObfuscatedGetter( intValue = -1614999863 ) @Export("type") int type; @ObfuscatedName("g") @Export("sender") String sender; @ObfuscatedName("l") @ObfuscatedSignature( signature = "Ljt;" ) @Export("senderUsername") Username senderUsername; @ObfuscatedName("u") @ObfuscatedSignature( signature = "Ljb;" ) @Export("isFromFriend0") TriBool isFromFriend0; @ObfuscatedName("j") @ObfuscatedSignature( signature = "Ljb;" ) @Export("isFromIgnored0") TriBool isFromIgnored0; @ObfuscatedName("v") @Export("prefix") String prefix; @ObfuscatedName("d") @Export("text") String text; 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("c") @ObfuscatedSignature( signature = "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V", garbageValue = "1266691950" ) @Export("set") void set(int var1, String var2, String var3, String var4) { this.count = WorldMapCacheName.method594(); this.cycle = Client.cycle; this.type = var1; this.sender = var2; this.fillSenderUsername(); this.prefix = var3; this.text = var4; this.clearIsFromFriend(); this.clearIsFromIgnored(); } @ObfuscatedName("x") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-886481837" ) @Export("clearIsFromFriend") void clearIsFromFriend() { this.isFromFriend0 = TriBool.TriBool_unknown; } @ObfuscatedName("t") @ObfuscatedSignature( signature = "(I)Z", garbageValue = "-475593576" ) @Export("isFromFriend") final boolean isFromFriend() { if (this.isFromFriend0 == TriBool.TriBool_unknown) { this.fillIsFromFriend(); } return this.isFromFriend0 == TriBool.TriBool_true; } @ObfuscatedName("g") @ObfuscatedSignature( signature = "(I)V", garbageValue = "-2097510211" ) @Export("fillIsFromFriend") void fillIsFromFriend() { this.isFromFriend0 = class218.friendSystem.friendsList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; } @ObfuscatedName("l") @ObfuscatedSignature( signature = "(B)V", garbageValue = "-116" ) @Export("clearIsFromIgnored") void clearIsFromIgnored() { this.isFromIgnored0 = TriBool.TriBool_unknown; } @ObfuscatedName("u") @ObfuscatedSignature( signature = "(I)Z", garbageValue = "471055582" ) @Export("isFromIgnored") final boolean isFromIgnored() { if (this.isFromIgnored0 == TriBool.TriBool_unknown) { this.fillIsFromIgnored(); } return this.isFromIgnored0 == TriBool.TriBool_true; } @ObfuscatedName("j") @ObfuscatedSignature( signature = "(I)V", garbageValue = "206412484" ) @Export("fillIsFromIgnored") void fillIsFromIgnored() { this.isFromIgnored0 = class218.friendSystem.ignoreList.contains(this.senderUsername) ? TriBool.TriBool_true : TriBool.TriBool_false; } @ObfuscatedName("v") @ObfuscatedSignature( signature = "(I)V", garbageValue = "361058639" ) @Export("fillSenderUsername") final void fillSenderUsername() { if (this.sender != null) { this.senderUsername = new Username(GrandExchangeEvents.method68(this.sender), class4.loginType); } else { this.senderUsername = null; } } @ObfuscatedName("l") @ObfuscatedSignature( signature = "(Lkt;II)Z", garbageValue = "-693352027" ) @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); } var3 = var0.readBits(13); var4 = var0.readBits(13); boolean var12 = var0.readBits(1) == 1; if (var12) { Players.Players_pendingUpdateIndices[++Players.Players_pendingUpdateCount - 1] = var1; } if (Client.players[var1] != null) { throw new RuntimeException(); } else { Player var6 = Client.players[var1] = new Player(); var6.index = var1; if (Players.field1221[var1] != null) { var6.read(Players.field1221[var1]); } var6.orientation = Players.Players_orientations[var1]; var6.targetIndex = Players.Players_targetIndices[var1]; var7 = Players.Players_regions[var1]; var8 = var7 >> 28; var9 = var7 >> 14 & 255; var10 = var7 & 255; var6.pathTraversed[0] = Players.field1220[var1]; var6.plane = (byte)var8; var6.resetPath((var9 << 13) + var3 - class4.baseX * 64, (var10 << 13) + var4 - ScriptEvent.baseY); var6.field607 = false; return true; } } else if (var2 == 1) { var3 = var0.readBits(2); var4 = Players.Players_regions[var1]; Players.Players_regions[var1] = (((var4 >> 28) + var3 & 3) << 28) + (var4 & 268435455); return false; } else { int var5; int var11; if (var2 == 2) { var3 = var0.readBits(5); var4 = var3 >> 3; var5 = var3 & 7; var11 = Players.Players_regions[var1]; var7 = (var11 >> 28) + var4 & 3; var8 = var11 >> 14 & 255; var9 = var11 & 255; if (var5 == 0) { --var8; --var9; } if (var5 == 1) { --var9; } if (var5 == 2) { ++var8; --var9; } if (var5 == 3) { --var8; } if (var5 == 4) { ++var8; } if (var5 == 5) { --var8; ++var9; } if (var5 == 6) { ++var9; } if (var5 == 7) { ++var8; ++var9; } Players.Players_regions[var1] = (var8 << 14) + var9 + (var7 << 28); return false; } else { var3 = var0.readBits(18); var4 = var3 >> 16; var5 = var3 >> 8 & 255; var11 = var3 & 255; var7 = Players.Players_regions[var1]; var8 = (var7 >> 28) + var4 & 3; var9 = var5 + (var7 >> 14) & 255; var10 = var7 + var11 & 255; Players.Players_regions[var1] = (var9 << 14) + var10 + (var8 << 28); return false; } } } @ObfuscatedName("hq") @ObfuscatedSignature( signature = "(IIIIIIII)V", garbageValue = "1478792847" ) @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 != MouseRecorder.plane) { return; } long var7 = 0L; boolean var9 = true; boolean var10 = false; boolean var11 = false; if (var1 == 0) { var7 = WorldMapIcon_1.scene.getBoundaryObjectTag(var0, var2, var3); } if (var1 == 1) { var7 = WorldMapIcon_1.scene.getWallDecorationTag(var0, var2, var3); } if (var1 == 2) { var7 = WorldMapIcon_1.scene.getGameObjectTag(var0, var2, var3); } if (var1 == 3) { var7 = WorldMapIcon_1.scene.getFloorDecorationTag(var0, var2, var3); } int var12; if (0L != var7) { var12 = WorldMapIcon_1.scene.getObjectFlags(var0, var2, var3, var7); int var39 = SecureRandomFuture.Entity_unpackID(var7); int var40 = var12 & 31; int var41 = var12 >> 6 & 3; ObjectDefinition var13; if (var1 == 0) { WorldMapIcon_1.scene.removeBoundaryObject(var0, var2, var3); var13 = WallDecoration.getObjectDefinition(var39); if (var13.interactType != 0) { Client.collisionMaps[var0].method3536(var2, var3, var40, var41, var13.boolean1); } } if (var1 == 1) { WorldMapIcon_1.scene.removeWallDecoration(var0, var2, var3); } if (var1 == 2) { WorldMapIcon_1.scene.removeGameObject(var0, var2, var3); var13 = WallDecoration.getObjectDefinition(var39); 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, var41, var13.boolean1); } } if (var1 == 3) { WorldMapIcon_1.scene.removeFloorDecoration(var0, var2, var3); var13 = WallDecoration.getObjectDefinition(var39); if (var13.interactType == 1) { Client.collisionMaps[var0].method3541(var2, var3); } } } if (var4 >= 0) { var12 = var0; if (var0 < 3 && (Tiles.Tiles_renderFlags[1][var2][var3] & 2) == 2) { var12 = var0 + 1; } Scene var42 = WorldMapIcon_1.scene; CollisionMap var14 = Client.collisionMaps[var0]; ObjectDefinition var15 = WallDecoration.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[var18][var21] + var22[var18][var20] + var22[var19][var20] + var22[var19][var21] >> 2; int var24 = (var2 << 7) + (var16 << 6); int var25 = (var3 << 7) + (var17 << 6); long var26 = WorldMapIcon_1.calculateTag(var2, var3, 2, var15.int1 == 0, var4); int var28 = (var5 << 6) + var6; if (var15.int3 == 1) { var28 += 256; } Object var29; if (var6 == 22) { if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(22, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 22, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newFloorDecoration(var0, var2, var3, var23, (Entity)var29, 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) { var29 = var15.getModel(var6, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.method3051(var0, var2, var3, var23, 1, 1, (Entity)var29, 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) { var29 = var15.getModel(0, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 0, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field480[var5], 0, var26, var28); if (var15.interactType != 0) { var14.method3534(var2, var3, var6, var5, var15.boolean1); } } else if (var6 == 1) { if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(1, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 1, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field481[var5], 0, var26, var28); if (var15.interactType != 0) { var14.method3534(var2, var3, var6, var5, var15.boolean1); } } else { int var35; if (var6 == 2) { var35 = var5 + 1 & 3; Object var30; Object var31; if (var15.animationId == -1 && var15.transforms == null) { var30 = var15.getModel(2, var5 + 4, var22, var24, var23, var25); var31 = var15.getModel(2, var35, var22, var24, var23, var25); } else { var30 = new DynamicObject(var4, 2, var5 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); var31 = new DynamicObject(var4, 2, var35, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var30, (Entity)var31, Tiles.field480[var5], Tiles.field480[var35], var26, var28); if (var15.interactType != 0) { var14.method3534(var2, var3, var6, var5, var15.boolean1); } } else if (var6 == 3) { if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(3, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 3, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newBoundaryObject(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field481[var5], 0, var26, var28); if (var15.interactType != 0) { var14.method3534(var2, var3, var6, var5, var15.boolean1); } } else if (var6 == 9) { if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(var6, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, var6, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.method3051(var0, var2, var3, var23, 1, 1, (Entity)var29, 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) { var29 = var15.getModel(4, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 4, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, Tiles.field480[var5], 0, 0, 0, var26, var28); } else { Object var32; long var36; if (var6 == 5) { var35 = 16; var36 = var42.getBoundaryObjectTag(var0, var2, var3); if (0L != var36) { var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).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, true, (Entity)null); } var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, Tiles.field480[var5], 0, var35 * Tiles.field482[var5], var35 * Tiles.field487[var5], var26, var28); } else if (var6 == 6) { var35 = 8; var36 = var42.getBoundaryObjectTag(var0, var2, var3); if (var36 != 0L) { var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).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, true, (Entity)null); } var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)null, 256, var5, var35 * Tiles.field484[var5], var35 * Tiles.field485[var5], var26, var28); } else if (var6 == 7) { int var38 = var5 + 2 & 3; if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(4, var38 + 4, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 4, var38 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newWallDecoration(var0, var2, var3, var23, (Entity)var29, (Entity)null, 256, var38, 0, 0, var26, var28); } else if (var6 == 8) { var35 = 8; var36 = var42.getBoundaryObjectTag(var0, var2, var3); if (0L != var36) { var35 = WallDecoration.getObjectDefinition(SecureRandomFuture.Entity_unpackID(var36)).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, true, (Entity)null); var33 = new DynamicObject(var4, 4, var34 + 4, var12, var2, var3, var15.animationId, true, (Entity)null); } var42.newWallDecoration(var0, var2, var3, var23, (Entity)var32, (Entity)var33, 256, var5, var35 * Tiles.field484[var5], var35 * Tiles.field485[var5], var26, var28); } } } } else { if (var15.animationId == -1 && var15.transforms == null) { var29 = var15.getModel(10, var5, var22, var24, var23, var25); } else { var29 = new DynamicObject(var4, 10, var5, var12, var2, var3, var15.animationId, true, (Entity)null); } if (var29 != null) { var42.method3051(var0, var2, var3, var23, var16, var17, (Entity)var29, var6 == 11 ? 256 : 0, var26, var28); } if (var15.interactType != 0) { var14.addGameObject(var2, var3, var16, var17, var15.boolean1); } } } } } }