diff --git a/client/src/main/java/rt4/Cheat.java b/client/src/main/java/rt4/Cheat.java index 1c6a2f8..3f98744 100644 --- a/client/src/main/java/rt4/Cheat.java +++ b/client/src/main/java/rt4/Cheat.java @@ -171,7 +171,7 @@ public class Cheat { for (local18 = 0; local18 < 4; local18++) { for (local38 = 1; local38 < 103; local38++) { for (local117 = 1; local117 < 103; local117++) { - PathFinder.collisionMaps[local18].anIntArrayArray30[local38][local117] = 0; + PathFinder.collisionMaps[local18].flags[local38][local117] = 0; } } } diff --git a/client/src/main/java/rt4/ClientProt.java b/client/src/main/java/rt4/ClientProt.java index 3c9ca16..84d24a8 100644 --- a/client/src/main/java/rt4/ClientProt.java +++ b/client/src/main/java/rt4/ClientProt.java @@ -87,8 +87,8 @@ public class ClientProt { local13 = 25; } arg0--; - @Pc(23) int local23 = Static259.anIntArray514[arg0]; - @Pc(27) int local27 = Static84.anIntArray209[arg0]; + @Pc(23) int local23 = PathFinder.queueX[arg0]; + @Pc(27) int local27 = PathFinder.queueZ[arg0]; if (arg1 == 0) { Protocol.outboundBuffer.p1isaac(215); Protocol.outboundBuffer.p1(local13 + local13 + 3); @@ -104,12 +104,12 @@ public class ClientProt { Protocol.outboundBuffer.p1a(Keyboard.pressedKeys[Keyboard.KEY_CTRL] ? 1 : 0); Protocol.outboundBuffer.p2(Static225.originX + local23); Protocol.outboundBuffer.p2add(Static142.originZ + local27); - Static84.anInt2255 = Static84.anIntArray209[0]; - Static115.mapFlagX = Static259.anIntArray514[0]; + Static84.anInt2255 = PathFinder.queueZ[0]; + Static115.mapFlagX = PathFinder.queueX[0]; for (@Pc(126) int local126 = 1; local126 < local13; local126++) { arg0--; - Protocol.outboundBuffer.p1a(Static259.anIntArray514[arg0] - local23); - Protocol.outboundBuffer.p1sub(Static84.anIntArray209[arg0] - local27); + Protocol.outboundBuffer.p1a(PathFinder.queueX[arg0] - local23); + Protocol.outboundBuffer.p1sub(PathFinder.queueZ[arg0] - local27); } } @@ -135,7 +135,7 @@ public class ClientProt { @Pc(28) Player local28 = PlayerList.players[PlayerList.ids[local15]]; if (local28 != null && local28.username != null && local28.username.equalsIgnoreCase(local7)) { local13 = true; - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local28.movementQueueX[0], 1, 0, 2, local28.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local28.movementQueueX[0], 1, 0, 2, local28.movementQueueZ[0], PlayerList.self.movementQueueX[0]); if (arg0 == 1) { Protocol.outboundBuffer.p1isaac(68); Protocol.outboundBuffer.p2leadd(PlayerList.ids[local15]); @@ -177,7 +177,7 @@ public class ClientProt { if (local23 == 31) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.type = 2; Cross.milliseconds = 0; Cross.x = Mouse.clickX; @@ -187,7 +187,7 @@ public class ClientProt { } } if (local23 == 46) { - Static233.method4003(local31, local19, local15); + PathFinder.findPathToLoc(local31, local19, local15); Protocol.outboundBuffer.p1isaac(247); Protocol.outboundBuffer.p2le(Static142.originZ + local19); Protocol.outboundBuffer.p2leadd(local15 + Static225.originX); @@ -209,7 +209,7 @@ public class ClientProt { if (local23 == 19) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.x = Mouse.clickX; Cross.type = 2; Cross.milliseconds = 0; @@ -221,7 +221,7 @@ public class ClientProt { if (local23 == 17) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.x = Mouse.clickX; Cross.milliseconds = 0; Cross.type = 2; @@ -233,7 +233,7 @@ public class ClientProt { if (local23 == 44) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.x = Mouse.clickX; Cross.type = 2; Cross.y = Mouse.clickY; @@ -252,7 +252,7 @@ public class ClientProt { Static250.anInt5444 = local15; } if (local23 == 42) { - Static233.method4003(local31, local19, local15); + PathFinder.findPathToLoc(local31, local19, local15); Protocol.outboundBuffer.p1isaac(254); Protocol.outboundBuffer.p2le(local15 + Static225.originX); Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE); @@ -264,7 +264,7 @@ public class ClientProt { if (local23 == 45) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.x = Mouse.clickX; Cross.type = 2; Cross.milliseconds = 0; @@ -278,11 +278,11 @@ public class ClientProt { @Pc(560) boolean local560; if (local23 == 18) { if (client.game == 1) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } else { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } } Cross.x = Mouse.clickX; @@ -295,7 +295,7 @@ public class ClientProt { Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); } if (local23 == 1001) { - Static233.method4003(local31, local19, local15); + PathFinder.findPathToLoc(local31, local19, local15); Protocol.outboundBuffer.p1isaac(170); Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32)); Protocol.outboundBuffer.p2leadd(local15 + Static225.originX); @@ -328,7 +328,7 @@ public class ClientProt { } else if (local36 == 1) { if (LoginManager.staffModLevel > 0 && Keyboard.pressedKeys[Keyboard.KEY_CTRL] && Keyboard.pressedKeys[Keyboard.KEY_SHIFT]) { Cheat.teleport(Static225.originX + local15, Static142.originZ + local19, Player.level); - } else if (Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, true, 0, local15, 0, 0, 1, local19, PlayerList.self.movementQueueX[0])) { + } else if (PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, true, 0, local15, 0, 0, 1, local19, PlayerList.self.movementQueueX[0])) { Protocol.outboundBuffer.p1(Static1.anInt5); Protocol.outboundBuffer.p1(Static107.anInt2878); Protocol.outboundBuffer.p2((int)Camera.yawTarget); @@ -338,7 +338,7 @@ public class ClientProt { Protocol.outboundBuffer.p1(89); Protocol.outboundBuffer.p2(PlayerList.self.xFine); Protocol.outboundBuffer.p2(PlayerList.self.zFine); - Protocol.outboundBuffer.p1(Static221.anInt4364); + Protocol.outboundBuffer.p1(PathFinder.anInt4364); Protocol.outboundBuffer.p1(63); } } @@ -383,7 +383,7 @@ public class ClientProt { if (local23 == 10) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.type = 2; Cross.y = Mouse.clickY; Cross.x = Mouse.clickX; @@ -398,7 +398,7 @@ public class ClientProt { InterfaceList.redraw(Static39.aClass13_10); } if (local23 == 49) { - Static233.method4003(local31, local19, local15); + PathFinder.findPathToLoc(local31, local19, local15); Protocol.outboundBuffer.p1isaac(84); Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32)); Protocol.outboundBuffer.p2leadd(Static142.originZ + local19); @@ -413,7 +413,7 @@ public class ClientProt { Static257.aClass13_7 = InterfaceList.getComponent(local19); Static250.anInt5444 = local15; } - if (local23 == 14 && Static233.method4003(local31, local19, local15)) { + if (local23 == 14 && PathFinder.findPathToLoc(local31, local19, local15)) { Protocol.outboundBuffer.p1isaac(134); Protocol.outboundBuffer.p2add(Static225.originX + local15); Protocol.outboundBuffer.p2(Static274.anInt4997); @@ -425,7 +425,7 @@ public class ClientProt { if (local23 == 37) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.milliseconds = 0; Cross.type = 2; Cross.y = Mouse.clickY; @@ -448,11 +448,11 @@ public class ClientProt { } if (local23 == 21) { if (client.game == 1) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } else { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } } Cross.type = 2; @@ -467,7 +467,7 @@ public class ClientProt { if (local23 == 4) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.type = 2; Cross.milliseconds = 0; Cross.y = Mouse.clickY; @@ -498,7 +498,7 @@ public class ClientProt { if (local23 == 29) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.y = Mouse.clickY; Cross.milliseconds = 0; Cross.type = 2; @@ -519,7 +519,7 @@ public class ClientProt { if (local23 == 15) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.milliseconds = 0; Cross.type = 2; Cross.x = Mouse.clickX; @@ -532,11 +532,11 @@ public class ClientProt { } if (local23 == 34) { if (client.game == 1) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } else { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } } Cross.x = Mouse.clickX; @@ -560,7 +560,7 @@ public class ClientProt { if (local23 == 2) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.y = Mouse.clickY; Cross.type = 2; Cross.x = Mouse.clickX; @@ -585,7 +585,7 @@ public class ClientProt { if (local23 == 26) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.type = 2; Cross.milliseconds = 0; Cross.y = Mouse.clickY; @@ -608,9 +608,9 @@ public class ClientProt { } } if (local23 == 33) { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } Cross.x = Mouse.clickX; Cross.milliseconds = 0; @@ -658,7 +658,7 @@ public class ClientProt { if (local23 == 1) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.milliseconds = 0; Cross.y = Mouse.clickY; Cross.type = 2; @@ -681,11 +681,11 @@ public class ClientProt { } if (local23 == 24) { if (client.game == 1) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } else { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } } Cross.type = 2; @@ -697,7 +697,7 @@ public class ClientProt { Protocol.outboundBuffer.p2leadd(local36); Protocol.outboundBuffer.p2le(Static142.originZ + local19); } - if (local23 == 38 && Static233.method4003(local31, local19, local15)) { + if (local23 == 38 && PathFinder.findPathToLoc(local31, local19, local15)) { Protocol.outboundBuffer.p1isaac(233); Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); Protocol.outboundBuffer.p2add(Static225.originX + local15); @@ -717,7 +717,7 @@ public class ClientProt { if (local23 == 57) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.type = 2; Cross.y = Mouse.clickY; Cross.x = Mouse.clickX; @@ -741,7 +741,7 @@ public class ClientProt { return; } if (local23 == 50) { - Static233.method4003(local31, local19, local15); + PathFinder.findPathToLoc(local31, local19, local15); Protocol.outboundBuffer.p1isaac(194); Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); Protocol.outboundBuffer.p2le(Static225.originX + local15); @@ -759,7 +759,7 @@ public class ClientProt { if (local23 == 30) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.milliseconds = 0; Cross.x = Mouse.clickX; Cross.y = Mouse.clickY; @@ -778,9 +778,9 @@ public class ClientProt { Static250.anInt5444 = local15; } if (local23 == 39) { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } Cross.y = Mouse.clickY; Cross.x = Mouse.clickX; @@ -815,7 +815,7 @@ public class ClientProt { if (local23 == 6) { local43 = PlayerList.players[local36]; if (local43 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local43.movementQueueX[0], 1, 0, 2, local43.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.y = Mouse.clickY; Cross.milliseconds = 0; Cross.type = 2; @@ -826,11 +826,11 @@ public class ClientProt { } if (local23 == 20) { if (client.game == 1) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } else { - local560 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); + local560 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, false, 0, local15, 0, 0, 2, local19, PlayerList.self.movementQueueX[0]); if (!local560) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local15, 1, 0, 2, local19, PlayerList.self.movementQueueX[0]); } } Cross.y = Mouse.clickY; @@ -845,7 +845,7 @@ public class ClientProt { if (local23 == 16) { local192 = NpcList.npcs[local36]; if (local192 != null) { - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); + PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 1, false, 0, local192.movementQueueX[0], 1, 0, 2, local192.movementQueueZ[0], PlayerList.self.movementQueueX[0]); Cross.x = Mouse.clickX; Cross.milliseconds = 0; Cross.y = Mouse.clickY; diff --git a/client/src/main/java/rt4/CollisionMap.java b/client/src/main/java/rt4/CollisionMap.java index f4b473c..3685a8f 100644 --- a/client/src/main/java/rt4/CollisionMap.java +++ b/client/src/main/java/rt4/CollisionMap.java @@ -21,7 +21,7 @@ public final class CollisionMap { private final int anInt3899; @OriginalMember(owner = "client!mj", name = "m", descriptor = "[[I") - public final int[][] anIntArrayArray30; + public final int[][] flags; @OriginalMember(owner = "client!mj", name = "", descriptor = "(II)V") public CollisionMap(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { @@ -29,7 +29,7 @@ public final class CollisionMap { this.anInt3907 = 0; this.anInt3912 = 0; this.anInt3899 = arg0; - this.anIntArrayArray30 = new int[this.anInt3899][this.anInt3904]; + this.flags = new int[this.anInt3899][this.anInt3904]; this.resetFlags(); } @@ -295,7 +295,7 @@ public final class CollisionMap { } @OriginalMember(owner = "client!mj", name = "a", descriptor = "(IIZIIIII)Z") - public final boolean method3042(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6) { + public final boolean isAtWall(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6) { if (arg5 == 1) { if (arg1 == arg3 && arg2 == arg0) { return true; @@ -313,40 +313,40 @@ public final class CollisionMap { if (local64 == local54 - 1 && local49 == local59) { return true; } - if (local64 == local54 && local59 + 1 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0120) == 0) { + if (local64 == local54 && local59 + 1 == local49 && (this.flags[local64][local49] & 0x12C0120) == 0) { return true; } - if (local54 == local64 && local59 - 1 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0102) == 0) { + if (local54 == local64 && local59 - 1 == local49 && (this.flags[local64][local49] & 0x12C0102) == 0) { return true; } } else if (arg6 == 1) { if (local54 == local64 && local49 == local59 + 1) { return true; } - if (local54 - 1 == local64 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0108) == 0) { + if (local54 - 1 == local64 && local59 == local49 && (this.flags[local64][local49] & 0x12C0108) == 0) { return true; } - if (local64 == local54 + 1 && local49 == local59 && (this.anIntArrayArray30[local64][local49] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local49 == local59 && (this.flags[local64][local49] & 0x12C0180) == 0) { return true; } } else if (arg6 == 2) { if (local54 + 1 == local64 && local49 == local59) { return true; } - if (local54 == local64 && local49 == local59 + 1 && (this.anIntArrayArray30[local64][local49] & 0x12C0120) == 0) { + if (local54 == local64 && local49 == local59 + 1 && (this.flags[local64][local49] & 0x12C0120) == 0) { return true; } - if (local54 == local64 && local59 - 1 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0102) == 0) { + if (local54 == local64 && local59 - 1 == local49 && (this.flags[local64][local49] & 0x12C0102) == 0) { return true; } } else if (arg6 == 3) { if (local64 == local54 && local59 - 1 == local49) { return true; } - if (local54 - 1 == local64 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0108) == 0) { + if (local54 - 1 == local64 && local59 == local49 && (this.flags[local64][local49] & 0x12C0108) == 0) { return true; } - if (local54 + 1 == local64 && local49 == local59 && (this.anIntArrayArray30[local64][local49] & 0x12C0180) == 0) { + if (local54 + 1 == local64 && local49 == local59 && (this.flags[local64][local49] & 0x12C0180) == 0) { return true; } } @@ -359,14 +359,14 @@ public final class CollisionMap { if (local64 == local54 && local49 == local59 + 1) { return true; } - if (local64 == local54 + 1 && local49 == local59 && (this.anIntArrayArray30[local64][local49] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local49 == local59 && (this.flags[local64][local49] & 0x12C0180) == 0) { return true; } - if (local54 == local64 && local49 == local59 - 1 && (this.anIntArrayArray30[local64][local49] & 0x12C0102) == 0) { + if (local54 == local64 && local49 == local59 - 1 && (this.flags[local64][local49] & 0x12C0102) == 0) { return true; } } else if (arg6 == 1) { - if (local64 == local54 - 1 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0108) == 0) { + if (local64 == local54 - 1 && local59 == local49 && (this.flags[local64][local49] & 0x12C0108) == 0) { return true; } if (local54 == local64 && local59 + 1 == local49) { @@ -375,14 +375,14 @@ public final class CollisionMap { if (local64 == local54 + 1 && local59 == local49) { return true; } - if (local54 == local64 && local49 == local59 - 1 && (this.anIntArrayArray30[local64][local49] & 0x12C0102) == 0) { + if (local54 == local64 && local49 == local59 - 1 && (this.flags[local64][local49] & 0x12C0102) == 0) { return true; } } else if (arg6 == 2) { - if (local64 == local54 - 1 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0108) == 0) { + if (local64 == local54 - 1 && local59 == local49 && (this.flags[local64][local49] & 0x12C0108) == 0) { return true; } - if (local54 == local64 && local49 == local59 + 1 && (this.anIntArrayArray30[local64][local49] & 0x12C0120) == 0) { + if (local54 == local64 && local49 == local59 + 1 && (this.flags[local64][local49] & 0x12C0120) == 0) { return true; } if (local54 + 1 == local64 && local59 == local49) { @@ -395,10 +395,10 @@ public final class CollisionMap { if (local64 == local54 - 1 && local59 == local49) { return true; } - if (local64 == local54 && local59 + 1 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0120) == 0) { + if (local64 == local54 && local59 + 1 == local49 && (this.flags[local64][local49] & 0x12C0120) == 0) { return true; } - if (local64 == local54 + 1 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local59 == local49 && (this.flags[local64][local49] & 0x12C0180) == 0) { return true; } if (local64 == local54 && local49 == local59 - 1) { @@ -407,16 +407,16 @@ public final class CollisionMap { } } if (arg4 == 9) { - if (local64 == local54 && local59 + 1 == local49 && (this.anIntArrayArray30[local64][local49] & 0x20) == 0) { + if (local64 == local54 && local59 + 1 == local49 && (this.flags[local64][local49] & 0x20) == 0) { return true; } - if (local64 == local54 && local49 == local59 - 1 && (this.anIntArrayArray30[local64][local49] & 0x2) == 0) { + if (local64 == local54 && local49 == local59 - 1 && (this.flags[local64][local49] & 0x2) == 0) { return true; } - if (local64 == local54 - 1 && local49 == local59 && (this.anIntArrayArray30[local64][local49] & 0x8) == 0) { + if (local64 == local54 - 1 && local49 == local59 && (this.flags[local64][local49] & 0x8) == 0) { return true; } - if (local54 + 1 == local64 && local59 == local49 && (this.anIntArrayArray30[local64][local49] & 0x80) == 0) { + if (local54 + 1 == local64 && local59 == local49 && (this.flags[local64][local49] & 0x80) == 0) { return true; } } @@ -428,40 +428,40 @@ public final class CollisionMap { if (local64 == local54 - arg5 && local49 <= local59 && local59 <= local792) { return true; } - if (local64 <= local54 && local785 >= local54 && local59 + 1 == local49 && (this.anIntArrayArray30[local54][local49] & 0x12C0120) == 0) { + if (local64 <= local54 && local785 >= local54 && local59 + 1 == local49 && (this.flags[local54][local49] & 0x12C0120) == 0) { return true; } - if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49 && (this.anIntArrayArray30[local54][local792] & 0x12C0102) == 0) { + if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49 && (this.flags[local54][local792] & 0x12C0102) == 0) { return true; } } else if (arg6 == 1) { if (local54 >= local64 && local54 <= local785 && local59 + 1 == local49) { return true; } - if (local64 == local54 - arg5 && local49 <= local59 && local792 >= local59 && (this.anIntArrayArray30[local785][local59] & 0x12C0108) == 0) { + if (local64 == local54 - arg5 && local49 <= local59 && local792 >= local59 && (this.flags[local785][local59] & 0x12C0108) == 0) { return true; } - if (local64 == local54 + 1 && local49 <= local59 && local792 >= local59 && (this.anIntArrayArray30[local64][local59] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local49 <= local59 && local792 >= local59 && (this.flags[local64][local59] & 0x12C0180) == 0) { return true; } } else if (arg6 == 2) { if (local54 + 1 == local64 && local49 <= local59 && local59 <= local792) { return true; } - if (local54 >= local64 && local785 >= local54 && local49 == local59 + 1 && (this.anIntArrayArray30[local54][local49] & 0x12C0120) == 0) { + if (local54 >= local64 && local785 >= local54 && local49 == local59 + 1 && (this.flags[local54][local49] & 0x12C0120) == 0) { return true; } - if (local54 >= local64 && local785 >= local54 && local59 - arg5 == local49 && (this.anIntArrayArray30[local54][local792] & 0x12C0102) == 0) { + if (local54 >= local64 && local785 >= local54 && local59 - arg5 == local49 && (this.flags[local54][local792] & 0x12C0102) == 0) { return true; } } else if (arg6 == 3) { if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) { return true; } - if (local64 == local54 - arg5 && local59 >= local49 && local792 >= local59 && (this.anIntArrayArray30[local785][local59] & 0x12C0108) == 0) { + if (local64 == local54 - arg5 && local59 >= local49 && local792 >= local59 && (this.flags[local785][local59] & 0x12C0108) == 0) { return true; } - if (local54 + 1 == local64 && local49 <= local59 && local59 <= local792 && (this.anIntArrayArray30[local64][local59] & 0x12C0180) == 0) { + if (local54 + 1 == local64 && local49 <= local59 && local59 <= local792 && (this.flags[local64][local59] & 0x12C0180) == 0) { return true; } } @@ -474,14 +474,14 @@ public final class CollisionMap { if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) { return true; } - if (local54 + 1 == local64 && local59 >= local49 && local59 <= local792 && (this.anIntArrayArray30[local64][local59] & 0x12C0180) == 0) { + if (local54 + 1 == local64 && local59 >= local49 && local59 <= local792 && (this.flags[local64][local59] & 0x12C0180) == 0) { return true; } - if (local54 >= local64 && local785 >= local54 && local59 - arg5 == local49 && (this.anIntArrayArray30[local54][local792] & 0x12C0102) == 0) { + if (local54 >= local64 && local785 >= local54 && local59 - arg5 == local49 && (this.flags[local54][local792] & 0x12C0102) == 0) { return true; } } else if (arg6 == 1) { - if (local64 == local54 - arg5 && local59 >= local49 && local59 <= local792 && (this.anIntArrayArray30[local785][local59] & 0x12C0108) == 0) { + if (local64 == local54 - arg5 && local59 >= local49 && local59 <= local792 && (this.flags[local785][local59] & 0x12C0108) == 0) { return true; } if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) { @@ -490,14 +490,14 @@ public final class CollisionMap { if (local54 + 1 == local64 && local59 >= local49 && local59 <= local792) { return true; } - if (local54 >= local64 && local54 <= local785 && local49 == local59 - arg5 && (this.anIntArrayArray30[local54][local792] & 0x12C0102) == 0) { + if (local54 >= local64 && local54 <= local785 && local49 == local59 - arg5 && (this.flags[local54][local792] & 0x12C0102) == 0) { return true; } } else if (arg6 == 2) { - if (local54 - arg5 == local64 && local49 <= local59 && local792 >= local59 && (this.anIntArrayArray30[local785][local59] & 0x12C0108) == 0) { + if (local54 - arg5 == local64 && local49 <= local59 && local792 >= local59 && (this.flags[local785][local59] & 0x12C0108) == 0) { return true; } - if (local64 <= local54 && local54 <= local785 && local49 == local59 + 1 && (this.anIntArrayArray30[local54][local49] & 0x12C0120) == 0) { + if (local64 <= local54 && local54 <= local785 && local49 == local59 + 1 && (this.flags[local54][local49] & 0x12C0120) == 0) { return true; } if (local64 == local54 + 1 && local49 <= local59 && local59 <= local792) { @@ -510,10 +510,10 @@ public final class CollisionMap { if (local54 - arg5 == local64 && local59 >= local49 && local59 <= local792) { return true; } - if (local64 <= local54 && local54 <= local785 && local59 + 1 == local49 && (this.anIntArrayArray30[local54][local49] & 0x12C0120) == 0) { + if (local64 <= local54 && local54 <= local785 && local59 + 1 == local49 && (this.flags[local54][local49] & 0x12C0120) == 0) { return true; } - if (local64 == local54 + 1 && local59 >= local49 && local59 <= local792 && (this.anIntArrayArray30[local64][local59] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local59 >= local49 && local59 <= local792 && (this.flags[local64][local59] & 0x12C0180) == 0) { return true; } if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) { @@ -522,16 +522,16 @@ public final class CollisionMap { } } if (arg4 == 9) { - if (local64 <= local54 && local54 <= local785 && local49 == local59 + 1 && (this.anIntArrayArray30[local54][local49] & 0x12C0120) == 0) { + if (local64 <= local54 && local54 <= local785 && local49 == local59 + 1 && (this.flags[local54][local49] & 0x12C0120) == 0) { return true; } - if (local54 >= local64 && local54 <= local785 && local49 == local59 - arg5 && (this.anIntArrayArray30[local54][local792] & 0x12C0102) == 0) { + if (local54 >= local64 && local54 <= local785 && local49 == local59 - arg5 && (this.flags[local54][local792] & 0x12C0102) == 0) { return true; } - if (local54 - arg5 == local64 && local59 >= local49 && local59 <= local792 && (this.anIntArrayArray30[local785][local59] & 0x12C0108) == 0) { + if (local54 - arg5 == local64 && local59 >= local49 && local59 <= local792 && (this.flags[local785][local59] & 0x12C0108) == 0) { return true; } - if (local64 == local54 + 1 && local59 >= local49 && local792 >= local59 && (this.anIntArrayArray30[local64][local59] & 0x12C0180) == 0) { + if (local64 == local54 + 1 && local59 >= local49 && local792 >= local59 && (this.flags[local64][local59] & 0x12C0180) == 0) { return true; } } @@ -560,11 +560,11 @@ public final class CollisionMap { @OriginalMember(owner = "client!mj", name = "a", descriptor = "(IBII)V") private void method3044(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - this.anIntArrayArray30[arg1][arg2] |= arg0; + this.flags[arg1][arg2] |= arg0; } @OriginalMember(owner = "client!mj", name = "a", descriptor = "(IIIIIIII)Z") - public final boolean method3046(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) { + public final boolean isAtWallDecor(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6) { if (arg4 == 1) { if (arg2 == arg6 && arg0 == arg3) { return true; @@ -582,46 +582,46 @@ public final class CollisionMap { arg5 = arg5 + 2 & 0x3; } if (arg5 == 0) { - if (local62 == local72 + 1 && local67 == local77 && (this.anIntArrayArray30[local62][local77] & 0x80) == 0) { + if (local62 == local72 + 1 && local67 == local77 && (this.flags[local62][local77] & 0x80) == 0) { return true; } - if (local72 == local62 && local77 == local67 - 1 && (this.anIntArrayArray30[local62][local77] & 0x2) == 0) { + if (local72 == local62 && local77 == local67 - 1 && (this.flags[local62][local77] & 0x2) == 0) { return true; } } else if (arg5 == 1) { - if (local62 == local72 - 1 && local67 == local77 && (this.anIntArrayArray30[local62][local77] & 0x8) == 0) { + if (local62 == local72 - 1 && local67 == local77 && (this.flags[local62][local77] & 0x8) == 0) { return true; } - if (local72 == local62 && local77 == local67 - 1 && (this.anIntArrayArray30[local62][local77] & 0x2) == 0) { + if (local72 == local62 && local77 == local67 - 1 && (this.flags[local62][local77] & 0x2) == 0) { return true; } } else if (arg5 == 2) { - if (local62 == local72 - 1 && local77 == local67 && (this.anIntArrayArray30[local62][local77] & 0x8) == 0) { + if (local62 == local72 - 1 && local77 == local67 && (this.flags[local62][local77] & 0x8) == 0) { return true; } - if (local72 == local62 && local67 + 1 == local77 && (this.anIntArrayArray30[local62][local77] & 0x20) == 0) { + if (local72 == local62 && local67 + 1 == local77 && (this.flags[local62][local77] & 0x20) == 0) { return true; } } else if (arg5 == 3) { - if (local62 == local72 + 1 && local77 == local67 && (this.anIntArrayArray30[local62][local77] & 0x80) == 0) { + if (local62 == local72 + 1 && local77 == local67 && (this.flags[local62][local77] & 0x80) == 0) { return true; } - if (local72 == local62 && local77 == local67 + 1 && (this.anIntArrayArray30[local62][local77] & 0x20) == 0) { + if (local72 == local62 && local77 == local67 + 1 && (this.flags[local62][local77] & 0x20) == 0) { return true; } } } if (arg1 == 8) { - if (local62 == local72 && local67 + 1 == local77 && (this.anIntArrayArray30[local62][local77] & 0x20) == 0) { + if (local62 == local72 && local67 + 1 == local77 && (this.flags[local62][local77] & 0x20) == 0) { return true; } - if (local62 == local72 && local67 - 1 == local77 && (this.anIntArrayArray30[local62][local77] & 0x2) == 0) { + if (local62 == local72 && local67 - 1 == local77 && (this.flags[local62][local77] & 0x2) == 0) { return true; } - if (local72 - 1 == local62 && local77 == local67 && (this.anIntArrayArray30[local62][local77] & 0x8) == 0) { + if (local72 - 1 == local62 && local77 == local67 && (this.flags[local62][local77] & 0x8) == 0) { return true; } - if (local62 == local72 + 1 && local67 == local77 && (this.anIntArrayArray30[local62][local77] & 0x80) == 0) { + if (local62 == local72 + 1 && local67 == local77 && (this.flags[local62][local77] & 0x80) == 0) { return true; } } @@ -633,46 +633,46 @@ public final class CollisionMap { arg5 = arg5 + 2 & 0x3; } if (arg5 == 0) { - if (local72 + 1 == local62 && local77 <= local67 && local67 <= local420 && (this.anIntArrayArray30[local62][local67] & 0x80) == 0) { + if (local72 + 1 == local62 && local77 <= local67 && local67 <= local420 && (this.flags[local62][local67] & 0x80) == 0) { return true; } - if (local72 >= local62 && local414 >= local72 && local67 - arg4 == local77 && (this.anIntArrayArray30[local72][local420] & 0x2) == 0) { + if (local72 >= local62 && local414 >= local72 && local67 - arg4 == local77 && (this.flags[local72][local420] & 0x2) == 0) { return true; } } else if (arg5 == 1) { - if (local72 - arg4 == local62 && local67 >= local77 && local420 >= local67 && (this.anIntArrayArray30[local414][local67] & 0x8) == 0) { + if (local72 - arg4 == local62 && local67 >= local77 && local420 >= local67 && (this.flags[local414][local67] & 0x8) == 0) { return true; } - if (local72 >= local62 && local414 >= local72 && local67 - arg4 == local77 && (this.anIntArrayArray30[local72][local420] & 0x2) == 0) { + if (local72 >= local62 && local414 >= local72 && local67 - arg4 == local77 && (this.flags[local72][local420] & 0x2) == 0) { return true; } } else if (arg5 == 2) { - if (local62 == local72 - arg4 && local67 >= local77 && local67 <= local420 && (this.anIntArrayArray30[local414][local67] & 0x8) == 0) { + if (local62 == local72 - arg4 && local67 >= local77 && local67 <= local420 && (this.flags[local414][local67] & 0x8) == 0) { return true; } - if (local62 <= local72 && local72 <= local414 && local77 == local67 + 1 && (this.anIntArrayArray30[local72][local77] & 0x20) == 0) { + if (local62 <= local72 && local72 <= local414 && local77 == local67 + 1 && (this.flags[local72][local77] & 0x20) == 0) { return true; } } else if (arg5 == 3) { - if (local72 + 1 == local62 && local77 <= local67 && local67 <= local420 && (this.anIntArrayArray30[local62][local67] & 0x80) == 0) { + if (local72 + 1 == local62 && local77 <= local67 && local67 <= local420 && (this.flags[local62][local67] & 0x80) == 0) { return true; } - if (local72 >= local62 && local72 <= local414 && local77 == local67 + 1 && (this.anIntArrayArray30[local72][local77] & 0x20) == 0) { + if (local72 >= local62 && local72 <= local414 && local77 == local67 + 1 && (this.flags[local72][local77] & 0x20) == 0) { return true; } } } if (arg1 == 8) { - if (local62 <= local72 && local414 >= local72 && local77 == local67 + 1 && (this.anIntArrayArray30[local72][local77] & 0x20) == 0) { + if (local62 <= local72 && local414 >= local72 && local77 == local67 + 1 && (this.flags[local72][local77] & 0x20) == 0) { return true; } - if (local72 >= local62 && local414 >= local72 && local77 == local67 - arg4 && (this.anIntArrayArray30[local72][local420] & 0x2) == 0) { + if (local72 >= local62 && local414 >= local72 && local77 == local67 - arg4 && (this.flags[local72][local420] & 0x2) == 0) { return true; } - if (local62 == local72 - arg4 && local77 <= local67 && local420 >= local67 && (this.anIntArrayArray30[local414][local67] & 0x8) == 0) { + if (local62 == local72 - arg4 && local77 <= local67 && local420 >= local67 && (this.flags[local414][local67] & 0x8) == 0) { return true; } - if (local62 == local72 + 1 && local67 >= local77 && local67 <= local420 && (this.anIntArrayArray30[local62][local67] & 0x80) == 0) { + if (local62 == local72 + 1 && local67 >= local77 && local67 <= local420 && (this.flags[local62][local67] & 0x80) == 0) { return true; } } @@ -693,7 +693,7 @@ public final class CollisionMap { local45 = arg5; local52 = local22 >= local9 ? local9 : local22; while (local52 > local45) { - if ((this.anIntArrayArray30[local45 - this.anInt3912][local13 - this.anInt3907 - 1] & 0x2) == 0) { + if ((this.flags[local45 - this.anInt3912][local13 - this.anInt3907 - 1] & 0x2) == 0) { return true; } local45++; @@ -702,7 +702,7 @@ public final class CollisionMap { local45 = arg5; local52 = local9 > local22 ? local22 : local9; while (local52 > local45) { - if ((this.anIntArrayArray30[local45 - this.anInt3912][arg6 - this.anInt3907] & 0x20) == 0) { + if ((this.flags[local45 - this.anInt3912][arg6 - this.anInt3907] & 0x20) == 0) { return true; } local45++; @@ -711,13 +711,13 @@ public final class CollisionMap { } else if (local9 > arg0 && local9 <= local22) { if (arg1 == local13 && (arg3 & 0x4) == 0) { for (local45 = arg0; local45 < local9; local45++) { - if ((this.anIntArrayArray30[local45 - this.anInt3912][local13 - this.anInt3907 - 1] & 0x2) == 0) { + if ((this.flags[local45 - this.anInt3912][local13 - this.anInt3907 - 1] & 0x2) == 0) { return true; } } } else if (arg6 == local27 && (arg3 & 0x1) == 0) { for (local45 = arg0; local45 < local9; local45++) { - if ((this.anIntArrayArray30[local45 - this.anInt3912][arg6 - this.anInt3907] & 0x20) == 0) { + if ((this.flags[local45 - this.anInt3912][arg6 - this.anInt3907] & 0x20) == 0) { return true; } } @@ -727,7 +727,7 @@ public final class CollisionMap { local45 = arg6; local52 = local27 >= local13 ? local13 : local27; while (local45 < local52) { - if ((this.anIntArrayArray30[local9 - this.anInt3912 - 1][local45 - this.anInt3907] & 0x8) == 0) { + if ((this.flags[local9 - this.anInt3912 - 1][local45 - this.anInt3907] & 0x8) == 0) { return true; } local45++; @@ -736,7 +736,7 @@ public final class CollisionMap { local45 = arg6; local52 = local27 < local13 ? local27 : local13; while (local45 < local52) { - if ((this.anIntArrayArray30[arg5 - this.anInt3912][local45 - this.anInt3907] & 0x80) == 0) { + if ((this.flags[arg5 - this.anInt3912][local45 - this.anInt3907] & 0x80) == 0) { return true; } local45++; @@ -745,13 +745,13 @@ public final class CollisionMap { } else if (arg1 < local13 && local27 >= local13) { if (local9 == arg0 && (arg3 & 0x8) == 0) { for (local45 = arg1; local45 < local13; local45++) { - if ((this.anIntArrayArray30[local9 - this.anInt3912 - 1][local45 - this.anInt3907] & 0x8) == 0) { + if ((this.flags[local9 - this.anInt3912 - 1][local45 - this.anInt3907] & 0x8) == 0) { return true; } } } else if (local22 == arg5 && (arg3 & 0x2) == 0) { for (local45 = arg1; local45 < local13; local45++) { - if ((this.anIntArrayArray30[arg5 - this.anInt3912][local45 - this.anInt3907] & 0x80) == 0) { + if ((this.flags[arg5 - this.anInt3912][local45 - this.anInt3907] & 0x80) == 0) { return true; } } @@ -765,9 +765,9 @@ public final class CollisionMap { for (@Pc(3) int local3 = 0; local3 < this.anInt3899; local3++) { for (@Pc(13) int local13 = 0; local13 < this.anInt3904; local13++) { if (local3 == 0 || local13 == 0 || local3 >= this.anInt3899 - 5 || this.anInt3904 - 5 <= local13) { - this.anIntArrayArray30[local3][local13] = 16777215; + this.flags[local3][local13] = 16777215; } else { - this.anIntArrayArray30[local3][local13] = 16777216; + this.flags[local3][local13] = 16777216; } } } @@ -777,11 +777,11 @@ public final class CollisionMap { public final void addRangeableFlag(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { @Pc(12) int local12 = arg0 - this.anInt3907; @Pc(17) int local17 = arg1 - this.anInt3912; - this.anIntArrayArray30[local17][local12] |= 0x200000; + this.flags[local17][local12] |= 0x200000; } @OriginalMember(owner = "client!mj", name = "a", descriptor = "(ZIIIIIIII)Z") - public final boolean method3052(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { + public final boolean isInsideOrOutsideRect(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7) { if (arg3 > 1) { return this.method3041(arg3, arg4, arg0, arg7, arg1, arg6, arg3, arg2) ? true : this.method3048(arg0, arg6, arg4, arg5, arg7, arg2, arg1, arg3, arg3); } @@ -789,14 +789,14 @@ public final class CollisionMap { @Pc(47) int local47 = arg6 + arg7 - 1; if (arg0 <= arg2 && local41 >= arg2 && arg6 <= arg1 && arg1 <= local47) { return true; - } else if (arg0 - 1 == arg2 && arg1 >= arg6 && arg1 <= local47 && (this.anIntArrayArray30[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x8) == 0 && (arg5 & 0x8) == 0) { + } else if (arg0 - 1 == arg2 && arg1 >= arg6 && arg1 <= local47 && (this.flags[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x8) == 0 && (arg5 & 0x8) == 0) { return true; - } else if (arg2 == local41 + 1 && arg6 <= arg1 && local47 >= arg1 && (this.anIntArrayArray30[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x80) == 0 && (arg5 & 0x2) == 0) { + } else if (arg2 == local41 + 1 && arg6 <= arg1 && local47 >= arg1 && (this.flags[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x80) == 0 && (arg5 & 0x2) == 0) { return true; - } else if (arg1 == arg6 - 1 && arg0 <= arg2 && local41 >= arg2 && (this.anIntArrayArray30[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x2) == 0 && (arg5 & 0x4) == 0) { + } else if (arg1 == arg6 - 1 && arg0 <= arg2 && local41 >= arg2 && (this.flags[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x2) == 0 && (arg5 & 0x4) == 0) { return true; } else { - return arg1 == local47 + 1 && arg2 >= arg0 && local41 >= arg2 && (this.anIntArrayArray30[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x20) == 0 && (arg5 & 0x1) == 0; + return arg1 == local47 + 1 && arg2 >= arg0 && local41 >= arg2 && (this.flags[arg2 - this.anInt3912][arg1 - this.anInt3907] & 0x20) == 0 && (arg5 & 0x1) == 0; } } @@ -804,7 +804,7 @@ public final class CollisionMap { public final void method3053(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { @Pc(4) int local4 = arg1 - this.anInt3912; @Pc(9) int local9 = arg0 - this.anInt3907; - this.anIntArrayArray30[local4][local9] &= 0xFFFBFFFF; + this.flags[local4][local9] &= 0xFFFBFFFF; } @OriginalMember(owner = "client!mj", name = "b", descriptor = "(IIIII)Z") @@ -838,12 +838,12 @@ public final class CollisionMap { local117 = local77 * 65536 / local96; while (local61 != local22) { if (local22 > local61) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0102) != 0) { + if ((this.flags[local66][local61] & 0x12C0102) != 0) { return false; } local61++; } else if (local22 < local61) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0120) != 0) { + if ((this.flags[local66][local61] & 0x12C0120) != 0) { return false; } local61--; @@ -852,12 +852,12 @@ public final class CollisionMap { if (local111 >= 65536) { local111 -= 65536; if (local66 < local33) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0108) != 0) { + if ((this.flags[local66][local61] & 0x12C0108) != 0) { return false; } local66++; } else if (local66 > local33) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0180) != 0) { + if ((this.flags[local66][local61] & 0x12C0180) != 0) { return false; } local66--; @@ -869,12 +869,12 @@ public final class CollisionMap { local111 = 32768; while (local33 != local66) { if (local66 < local33) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0108) != 0) { + if ((this.flags[local66][local61] & 0x12C0108) != 0) { return false; } local66++; } else if (local33 < local66) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0180) != 0) { + if ((this.flags[local66][local61] & 0x12C0180) != 0) { return false; } local66--; @@ -883,12 +883,12 @@ public final class CollisionMap { if (local111 >= 65536) { local111 -= 65536; if (local61 < local22) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0102) != 0) { + if ((this.flags[local66][local61] & 0x12C0102) != 0) { return false; } local61++; } else if (local22 < local61) { - if ((this.anIntArrayArray30[local66][local61] & 0x12C0120) != 0) { + if ((this.flags[local66][local61] & 0x12C0120) != 0) { return false; } local61--; @@ -896,12 +896,12 @@ public final class CollisionMap { } } } - return (this.anIntArrayArray30[local33][local22] & 0x1240100) == 0; + return (this.flags[local33][local22] & 0x1240100) == 0; } @OriginalMember(owner = "client!mj", name = "a", descriptor = "(BIII)V") private void method3055(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - this.anIntArrayArray30[arg1][arg0] &= ~arg2; + this.flags[arg1][arg0] &= ~arg2; } @OriginalMember(owner = "client!mj", name = "a", descriptor = "(IIIZIII)V") @@ -933,6 +933,6 @@ public final class CollisionMap { public final void method3057(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { @Pc(4) int local4 = arg1 - this.anInt3907; @Pc(17) int local17 = arg0 - this.anInt3912; - this.anIntArrayArray30[local17][local4] |= 0x40000; + this.flags[local17][local4] |= 0x40000; } } diff --git a/client/src/main/java/rt4/Component.java b/client/src/main/java/rt4/Component.java index db22aed..6f73a4a 100644 --- a/client/src/main/java/rt4/Component.java +++ b/client/src/main/java/rt4/Component.java @@ -296,8 +296,11 @@ public final class Component { @OriginalMember(owner = "client!be", name = "Hb", descriptor = "Z") public boolean usingScripts = false; + @OriginalMember(owner = "client!di", name = "F", descriptor = "Lclient!bf;") + public static final ServerActiveProperties DEFAULT_SERVER_ACTIVE_PROPERTIES = new ServerActiveProperties(0, -1); + @OriginalMember(owner = "client!be", name = "gc", descriptor = "Lclient!bf;") - public ServerActiveProperties properties = Static45.aClass3_Sub4_2; + public ServerActiveProperties properties = DEFAULT_SERVER_ACTIVE_PROPERTIES; @OriginalMember(owner = "client!be", name = "cc", descriptor = "I") public int anInt492 = 0; diff --git a/client/src/main/java/rt4/MiniMap.java b/client/src/main/java/rt4/MiniMap.java index 38d95ff..ccc994c 100644 --- a/client/src/main/java/rt4/MiniMap.java +++ b/client/src/main/java/rt4/MiniMap.java @@ -134,7 +134,7 @@ public class MiniMap { @Pc(237) int local237 = local76; local194 = local37; if (local187 != 22 && local187 != 29 && local187 != 34 && local187 != 36 && local187 != 46 && local187 != 47 && local187 != 48) { - @Pc(269) int[][] local269 = PathFinder.collisionMaps[Player.level].anIntArrayArray30; + @Pc(269) int[][] local269 = PathFinder.collisionMaps[Player.level].flags; for (@Pc(271) int local271 = 0; local271 < 10; local271++) { @Pc(281) int local281 = (int) (Math.random() * 4.0D); if (local281 == 0 && local194 > 0 && local37 - 3 < local194 && (local269[local194 - 1][local237] & 0x12C0108) == 0) { diff --git a/client/src/main/java/rt4/PathFinder.java b/client/src/main/java/rt4/PathFinder.java index 8a4edd7..8b3575a 100644 --- a/client/src/main/java/rt4/PathFinder.java +++ b/client/src/main/java/rt4/PathFinder.java @@ -1,8 +1,665 @@ package rt4; +import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; +import org.openrs2.deob.annotation.Pc; public class PathFinder { @OriginalMember(owner = "client!li", name = "h", descriptor = "[Lclient!mj;") public static final CollisionMap[] collisionMaps = new CollisionMap[4]; + @OriginalMember(owner = "client!lf", name = "a", descriptor = "[[I") + public static final int[][] parents = new int[104][104]; + @OriginalMember(owner = "client!nd", name = "q", descriptor = "[[I") + public static final int[][] costs = new int[104][104]; + @OriginalMember(owner = "client!vc", name = "eb", descriptor = "[I") + public static final int[] queueX = new int[4096]; + @OriginalMember(owner = "client!gk", name = "c", descriptor = "[I") + public static final int[] queueZ = new int[4096]; + @OriginalMember(owner = "client!s", name = "d", descriptor = "I") + public static int anInt4364 = 0; + + @OriginalMember(owner = "client!hn", name = "a", descriptor = "(IIIZIIIIIIII)Z") + public static boolean findPath(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { + if (PlayerList.self.getSize() == 2) { + return findPath2(arg6, arg7, arg4, arg0, arg9, arg3, arg2, arg1, arg5, arg8, arg10); + } else if (PlayerList.self.getSize() <= 2) { + return findPathN(arg5, arg4, arg10, arg9, arg8, arg2, arg1, arg3, arg7, arg0, arg6); + } else { + return findPath1(arg9, arg6, arg8, arg1, PlayerList.self.getSize(), arg5, arg7, arg4, arg10, arg2, arg3, arg0); + } + } + + @OriginalMember(owner = "client!aa", name = "a", descriptor = "(IIIIIZIIIIII)Z") + public static boolean findPath2(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) boolean arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(11) int arg10) { + @Pc(3) int x; + @Pc(8) int z; + for (x = 0; x < 104; x++) { + for (z = 0; z < 104; z++) { + parents[x][z] = 0; + costs[x][z] = 99999999; + } + } + parents[arg10][arg3] = 99; + costs[arg10][arg3] = 0; + z = arg3; + x = arg10; + @Pc(53) byte local53 = 0; + queueX[0] = arg10; + @Pc(59) boolean local59 = false; + @Pc(61) int local61 = 0; + @Pc(64) int queueWriterIndex = local53 + 1; + queueZ[0] = arg3; + @Pc(71) int[][] flags = collisionMaps[Player.level].flags; + @Pc(193) int cost; + while (local61 != queueWriterIndex) { + x = queueX[local61]; + z = queueZ[local61]; + local61 = local61 + 1 & 0xFFF; + if (arg8 == x && arg4 == z) { + local59 = true; + break; + } + if (arg1 != 0) { + if ((arg1 < 5 || arg1 == 10) && collisionMaps[Player.level].isAtWall(arg4, x, z, arg8, arg1 - 1, 2, arg7)) { + local59 = true; + break; + } + if (arg1 < 10 && collisionMaps[Player.level].isAtWallDecor(arg4, arg1 - 1, arg8, z, 2, arg7, x)) { + local59 = true; + break; + } + } + if (arg0 != 0 && arg6 != 0 && collisionMaps[Player.level].isInsideOrOutsideRect(arg8, z, x, 2, arg0, arg2, arg4, arg6)) { + local59 = true; + break; + } + cost = costs[x][z] + 1; + if (x > 0 && parents[x - 1][z] == 0 && (flags[x - 1][z] & 0x12C010E) == 0 && (flags[x - 1][z + 1] & 0x12C0138) == 0) { + queueX[queueWriterIndex] = x - 1; + queueZ[queueWriterIndex] = z; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + parents[x - 1][z] = 2; + costs[x - 1][z] = cost; + } + if (x < 102 && parents[x + 1][z] == 0 && (flags[x + 2][z] & 0x12C0183) == 0 && (flags[x + 2][z + 1] & 0x12C01E0) == 0) { + queueX[queueWriterIndex] = x + 1; + queueZ[queueWriterIndex] = z; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + parents[x + 1][z] = 8; + costs[x + 1][z] = cost; + } + if (z > 0 && parents[x][z - 1] == 0 && (flags[x][z - 1] & 0x12C010E) == 0 && (flags[x + 1][z - 1] & 0x12C0183) == 0) { + queueX[queueWriterIndex] = x; + queueZ[queueWriterIndex] = z - 1; + parents[x][z - 1] = 1; + costs[x][z - 1] = cost; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + } + if (z < 102 && parents[x][z + 1] == 0 && (flags[x][z + 2] & 0x12C0138) == 0 && (flags[x + 1][z + 2] & 0x12C01E0) == 0) { + queueX[queueWriterIndex] = x; + queueZ[queueWriterIndex] = z + 1; + parents[x][z + 1] = 4; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + costs[x][z + 1] = cost; + } + if (x > 0 && z > 0 && parents[x - 1][z - 1] == 0 && (flags[x - 1][z] & 0x12C0138) == 0 && (flags[x - 1][z - 1] & 0x12C010E) == 0 && (flags[x][z - 1] & 0x12C0183) == 0) { + queueX[queueWriterIndex] = x - 1; + queueZ[queueWriterIndex] = z - 1; + parents[x - 1][z - 1] = 3; + costs[x - 1][z - 1] = cost; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + } + if (x < 102 && z > 0 && parents[x + 1][z - 1] == 0 && (flags[x + 1][z - 1] & 0x12C010E) == 0 && (flags[x + 2][z - 1] & 0x12C0183) == 0 && (flags[x + 2][z] & 0x12C01E0) == 0) { + queueX[queueWriterIndex] = x + 1; + queueZ[queueWriterIndex] = z - 1; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + parents[x + 1][z - 1] = 9; + costs[x + 1][z - 1] = cost; + } + if (x > 0 && z < 102 && parents[x - 1][z + 1] == 0 && (flags[x - 1][z + 1] & 0x12C010E) == 0 && (flags[x - 1][z + 2] & 0x12C0138) == 0 && (flags[x][z + 2] & 0x12C01E0) == 0) { + queueX[queueWriterIndex] = x - 1; + queueZ[queueWriterIndex] = z + 1; + parents[x - 1][z + 1] = 6; + costs[x - 1][z + 1] = cost; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + } + if (x < 102 && z < 102 && parents[x + 1][z + 1] == 0 && (flags[x + 1][z + 2] & 0x12C0138) == 0 && (flags[x + 2][z + 2] & 0x12C01E0) == 0 && (flags[x + 2][z + 1] & 0x12C0183) == 0) { + queueX[queueWriterIndex] = x + 1; + queueZ[queueWriterIndex] = z + 1; + queueWriterIndex = queueWriterIndex + 1 & 0xFFF; + parents[x + 1][z + 1] = 12; + costs[x + 1][z + 1] = cost; + } + } + anInt4364 = 0; + @Pc(921) int local921; + if (!local59) { + if (!arg5) { + return false; + } + cost = 1000; + local921 = 100; + for (@Pc(928) int local928 = arg8 - 10; local928 <= arg8 + 10; local928++) { + for (@Pc(942) int local942 = arg4 - 10; local942 <= arg4 + 10; local942++) { + if (local928 >= 0 && local942 >= 0 && local928 < 104 && local942 < 104 && costs[local928][local942] < 100) { + @Pc(978) int local978 = 0; + @Pc(980) int local980 = 0; + if (local928 < arg8) { + local978 = arg8 - local928; + } else if (local928 > arg0 + arg8 - 1) { + local978 = local928 + 1 - arg0 - arg8; + } + if (arg4 > local942) { + local980 = arg4 - local942; + } else if (local942 > arg4 + arg6 - 1) { + local980 = local942 + 1 - arg4 - arg6; + } + @Pc(1057) int local1057 = local978 * local978 + local980 * local980; + if (local1057 < cost || cost == local1057 && costs[local928][local942] < local921) { + z = local942; + local921 = costs[local928][local942]; + cost = local1057; + x = local928; + } + } + } + } + if (cost == 1000) { + return false; + } + if (arg10 == x && z == arg3) { + return false; + } + anInt4364 = 1; + } + @Pc(1121) byte local1121 = 0; + queueX[0] = x; + local61 = local1121 + 1; + queueZ[0] = z; + cost = local921 = parents[x][z]; + while (arg10 != x || arg3 != z) { + if (local921 != cost) { + queueX[local61] = x; + queueZ[local61++] = z; + local921 = cost; + } + if ((cost & 0x2) != 0) { + x++; + } else if ((cost & 0x8) != 0) { + x--; + } + if ((cost & 0x1) != 0) { + z++; + } else if ((cost & 0x4) != 0) { + z--; + } + cost = parents[x][z]; + } + if (local61 > 0) { + ClientProt.method3502(local61, arg9); + return true; + } else if (arg9 == 1) { + return false; + } else { + return true; + } + } + + @OriginalMember(owner = "client!di", name = "a", descriptor = "(IIIIIIIIZIII)Z") + public static boolean findPathN(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) boolean arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { + @Pc(3) int local3; + @Pc(10) int local10; + for (local3 = 0; local3 < 104; local3++) { + for (local10 = 0; local10 < 104; local10++) { + parents[local3][local10] = 0; + costs[local3][local10] = 99999999; + } + } + local3 = arg2; + parents[arg2][arg9] = 99; + local10 = arg9; + costs[arg2][arg9] = 0; + @Pc(51) byte local51 = 0; + @Pc(53) boolean local53 = false; + @Pc(64) int local64 = 0; + queueX[0] = arg2; + @Pc(71) int local71 = local51 + 1; + queueZ[0] = arg9; + @Pc(78) int[][] local78 = collisionMaps[Player.level].flags; + @Pc(198) int local198; + while (local71 != local64) { + local10 = queueZ[local64]; + local3 = queueX[local64]; + local64 = local64 + 1 & 0xFFF; + if (local3 == arg0 && local10 == arg3) { + local53 = true; + break; + } + if (arg8 != 0) { + if ((arg8 < 5 || arg8 == 10) && collisionMaps[Player.level].isAtWall(arg3, local3, local10, arg0, arg8 - 1, 1, arg6)) { + local53 = true; + break; + } + if (arg8 < 10 && collisionMaps[Player.level].isAtWallDecor(arg3, arg8 - 1, arg0, local10, 1, arg6, local3)) { + local53 = true; + break; + } + } + if (arg10 != 0 && arg5 != 0 && collisionMaps[Player.level].isInsideOrOutsideRect(arg0, local10, local3, 1, arg10, arg1, arg3, arg5)) { + local53 = true; + break; + } + local198 = costs[local3][local10] + 1; + if (local3 > 0 && parents[local3 - 1][local10] == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0) { + queueX[local71] = local3 - 1; + queueZ[local71] = local10; + local71 = local71 + 1 & 0xFFF; + parents[local3 - 1][local10] = 2; + costs[local3 - 1][local10] = local198; + } + if (local3 < 103 && parents[local3 + 1][local10] == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0) { + queueX[local71] = local3 + 1; + queueZ[local71] = local10; + local71 = local71 + 1 & 0xFFF; + parents[local3 + 1][local10] = 8; + costs[local3 + 1][local10] = local198; + } + if (local10 > 0 && parents[local3][local10 - 1] == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { + queueX[local71] = local3; + queueZ[local71] = local10 - 1; + parents[local3][local10 - 1] = 1; + local71 = local71 + 1 & 0xFFF; + costs[local3][local10 - 1] = local198; + } + if (local10 < 103 && parents[local3][local10 + 1] == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { + queueX[local71] = local3; + queueZ[local71] = local10 + 1; + local71 = local71 + 1 & 0xFFF; + parents[local3][local10 + 1] = 4; + costs[local3][local10 + 1] = local198; + } + if (local3 > 0 && local10 > 0 && parents[local3 - 1][local10 - 1] == 0 && (local78[local3 - 1][local10 - 1] & 0x12C010E) == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { + queueX[local71] = local3 - 1; + queueZ[local71] = local10 - 1; + local71 = local71 + 1 & 0xFFF; + parents[local3 - 1][local10 - 1] = 3; + costs[local3 - 1][local10 - 1] = local198; + } + if (local3 < 103 && local10 > 0 && parents[local3 + 1][local10 - 1] == 0 && (local78[local3 + 1][local10 - 1] & 0x12C0183) == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { + queueX[local71] = local3 + 1; + queueZ[local71] = local10 - 1; + local71 = local71 + 1 & 0xFFF; + parents[local3 + 1][local10 - 1] = 9; + costs[local3 + 1][local10 - 1] = local198; + } + if (local3 > 0 && local10 < 103 && parents[local3 - 1][local10 + 1] == 0 && (local78[local3 - 1][local10 + 1] & 0x12C0138) == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { + queueX[local71] = local3 - 1; + queueZ[local71] = local10 + 1; + parents[local3 - 1][local10 + 1] = 6; + local71 = local71 + 1 & 0xFFF; + costs[local3 - 1][local10 + 1] = local198; + } + if (local3 < 103 && local10 < 103 && parents[local3 + 1][local10 + 1] == 0 && (local78[local3 + 1][local10 + 1] & 0x12C01E0) == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { + queueX[local71] = local3 + 1; + queueZ[local71] = local10 + 1; + parents[local3 + 1][local10 + 1] = 12; + local71 = local71 + 1 & 0xFFF; + costs[local3 + 1][local10 + 1] = local198; + } + } + anInt4364 = 0; + @Pc(839) int local839; + if (!local53) { + if (!arg7) { + return false; + } + local198 = 1000; + local839 = 100; + for (@Pc(846) int local846 = arg0 - 10; local846 <= arg0 + 10; local846++) { + for (@Pc(856) int local856 = arg3 - 10; local856 <= arg3 + 10; local856++) { + if (local846 >= 0 && local856 >= 0 && local846 < 104 && local856 < 104 && costs[local846][local856] < 100) { + @Pc(894) int local894 = 0; + if (local856 < arg3) { + local894 = arg3 - local856; + } else if (arg5 + arg3 - 1 < local856) { + local894 = local856 + 1 - arg3 - arg5; + } + @Pc(927) int local927 = 0; + if (local846 < arg0) { + local927 = arg0 - local846; + } else if (local846 > arg10 + arg0 - 1) { + local927 = local846 + 1 - arg10 - arg0; + } + @Pc(968) int local968 = local894 * local894 + local927 * local927; + if (local968 < local198 || local968 == local198 && costs[local846][local856] < local839) { + local10 = local856; + local198 = local968; + local3 = local846; + local839 = costs[local846][local856]; + } + } + } + } + if (local198 == 1000) { + return false; + } + if (arg2 == local3 && local10 == arg9) { + return false; + } + anInt4364 = 1; + } + @Pc(1032) byte local1032 = 0; + queueX[0] = local3; + local64 = local1032 + 1; + queueZ[0] = local10; + local198 = local839 = parents[local3][local10]; + while (arg2 != local3 || local10 != arg9) { + if (local839 != local198) { + local839 = local198; + queueX[local64] = local3; + queueZ[local64++] = local10; + } + if ((local198 & 0x2) != 0) { + local3++; + } else if ((local198 & 0x8) != 0) { + local3--; + } + if ((local198 & 0x1) != 0) { + local10++; + } else if ((local198 & 0x4) != 0) { + local10--; + } + local198 = parents[local3][local10]; + } + if (local64 > 0) { + ClientProt.method3502(local64, arg4); + return true; + } else if (arg4 == 1) { + return false; + } else { + return true; + } + } + + @OriginalMember(owner = "client!hh", name = "a", descriptor = "(IBIIIIIIIIIZI)Z") + public static boolean findPath1(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) boolean arg10, @OriginalArg(12) int arg11) { + @Pc(3) int local3; + @Pc(10) int local10; + for (local3 = 0; local3 < 104; local3++) { + for (local10 = 0; local10 < 104; local10++) { + parents[local3][local10] = 0; + costs[local3][local10] = 99999999; + } + } + local3 = arg8; + local10 = arg11; + parents[arg8][arg11] = 99; + costs[arg8][arg11] = 0; + @Pc(53) byte local53 = 0; + queueX[0] = arg8; + @Pc(65) int local65 = local53 + 1; + queueZ[0] = arg11; + @Pc(69) int local69 = 0; + @Pc(71) boolean local71 = false; + @Pc(76) int[][] local76 = collisionMaps[Player.level].flags; + @Pc(201) int local201; + @Pc(242) int local242; + label397: while (local69 != local65) { + local3 = queueX[local69]; + local10 = queueZ[local69]; + local69 = local69 + 1 & 0xFFF; + if (arg5 == local3 && local10 == arg0) { + local71 = true; + break; + } + if (arg6 != 0) { + if ((arg6 < 5 || arg6 == 10) && collisionMaps[Player.level].isAtWall(arg0, local3, local10, arg5, arg6 - 1, arg4, arg3)) { + local71 = true; + break; + } + if (arg6 < 10 && collisionMaps[Player.level].isAtWallDecor(arg0, arg6 - 1, arg5, local10, arg4, arg3, local3)) { + local71 = true; + break; + } + } + if (arg1 != 0 && arg9 != 0 && collisionMaps[Player.level].isInsideOrOutsideRect(arg5, local10, local3, arg4, arg1, arg7, arg0, arg9)) { + local71 = true; + break; + } + local201 = costs[local3][local10] + 1; + if (local3 > 0 && parents[local3 - 1][local10] == 0 && (local76[local3 - 1][local10] & 0x12C010E) == 0 && (local76[local3 - 1][arg4 + local10 - 1] & 0x12C0138) == 0) { + local242 = 1; + while (true) { + if (arg4 - 1 <= local242) { + queueX[local65] = local3 - 1; + queueZ[local65] = local10; + parents[local3 - 1][local10] = 2; + local65 = local65 + 1 & 0xFFF; + costs[local3 - 1][local10] = local201; + break; + } + if ((local76[local3 - 1][local10 + local242] & 0x12C013E) != 0) { + break; + } + local242++; + } + } + if (local3 < 102 && parents[local3 + 1][local10] == 0 && (local76[local3 + arg4][local10] & 0x12C0183) == 0 && (local76[arg4 + local3][local10 + arg4 - 1] & 0x12C01E0) == 0) { + local242 = 1; + while (true) { + if (local242 >= arg4 - 1) { + queueX[local65] = local3 + 1; + queueZ[local65] = local10; + parents[local3 + 1][local10] = 8; + costs[local3 + 1][local10] = local201; + local65 = local65 + 1 & 0xFFF; + break; + } + if ((local76[arg4 + local3][local10 + local242] & 0x12C01E3) != 0) { + break; + } + local242++; + } + } + if (local10 > 0 && parents[local3][local10 - 1] == 0 && (local76[local3][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3 - 1][local10 - 1] & 0x12C0183) == 0) { + local242 = 1; + while (true) { + if (arg4 - 1 <= local242) { + queueX[local65] = local3; + queueZ[local65] = local10 - 1; + parents[local3][local10 - 1] = 1; + local65 = local65 + 1 & 0xFFF; + costs[local3][local10 - 1] = local201; + break; + } + if ((local76[local3 + local242][local10 - 1] & 0x12C018F) != 0) { + break; + } + local242++; + } + } + if (local10 < 102 && parents[local3][local10 + 1] == 0 && (local76[local3][local10 + arg4] & 0x12C0138) == 0 && (local76[local3 + arg4 - 1][arg4 + local10] & 0x12C01E0) == 0) { + local242 = 1; + while (true) { + if (local242 >= arg4 - 1) { + queueX[local65] = local3; + queueZ[local65] = local10 + 1; + parents[local3][local10 + 1] = 4; + costs[local3][local10 + 1] = local201; + local65 = local65 + 1 & 0xFFF; + break; + } + if ((local76[local3 + local242][arg4 + local10] & 0x12C01F8) != 0) { + break; + } + local242++; + } + } + if (local3 > 0 && local10 > 0 && parents[local3 - 1][local10 - 1] == 0 && (local76[local3 - 1][arg4 + local10 - 1 - 1] & 0x12C0138) == 0 && (local76[local3 - 1][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3 - 1 - 1][local10 - 1] & 0x12C0183) == 0) { + local242 = 1; + while (true) { + if (arg4 - 1 <= local242) { + queueX[local65] = local3 - 1; + queueZ[local65] = local10 - 1; + local65 = local65 + 1 & 0xFFF; + parents[local3 - 1][local10 - 1] = 3; + costs[local3 - 1][local10 - 1] = local201; + break; + } + if ((local76[local3 - 1][local10 + local242 - 1] & 0x12C013E) != 0 || (local76[local242 + local3 - 1][local10 - 1] & 0x12C018F) != 0) { + break; + } + local242++; + } + } + if (local3 < 102 && local10 > 0 && parents[local3 + 1][local10 - 1] == 0 && (local76[local3 + 1][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3][local10 - 1] & 0x12C0183) == 0 && (local76[local3 + arg4][local10 + arg4 - 1 - 1] & 0x12C01E0) == 0) { + local242 = 1; + while (true) { + if (local242 >= arg4 - 1) { + queueX[local65] = local3 + 1; + queueZ[local65] = local10 - 1; + local65 = local65 + 1 & 0xFFF; + parents[local3 + 1][local10 - 1] = 9; + costs[local3 + 1][local10 - 1] = local201; + break; + } + if ((local76[local3 + arg4][local10 + local242 - 1] & 0x12C01E3) != 0 || (local76[local242 + local3 + 1][local10 - 1] & 0x12C018F) != 0) { + break; + } + local242++; + } + } + if (local3 > 0 && local10 < 102 && parents[local3 - 1][local10 + 1] == 0 && (local76[local3 - 1][local10 + 1] & 0x12C010E) == 0 && (local76[local3 - 1][local10 + arg4] & 0x12C0138) == 0 && (local76[local3][local10 + arg4] & 0x12C01E0) == 0) { + local242 = 1; + while (true) { + if (arg4 - 1 <= local242) { + queueX[local65] = local3 - 1; + queueZ[local65] = local10 + 1; + local65 = local65 + 1 & 0xFFF; + parents[local3 - 1][local10 + 1] = 6; + costs[local3 - 1][local10 + 1] = local201; + break; + } + if ((local76[local3 - 1][local10 + local242 + 1] & 0x12C013E) != 0 || (local76[local242 + local3 - 1][arg4 + local10] & 0x12C01F8) != 0) { + break; + } + local242++; + } + } + if (local3 < 102 && local10 < 102 && parents[local3 + 1][local10 + 1] == 0 && (local76[local3 + 1][local10 + arg4] & 0x12C0138) == 0 && (local76[local3 + arg4][local10 + arg4] & 0x12C01E0) == 0 && (local76[arg4 + local3][local10 + 1] & 0x12C0183) == 0) { + for (local242 = 1; local242 < arg4 - 1; local242++) { + if ((local76[local242 + local3 + 1][local10 + arg4] & 0x12C01F8) != 0 || (local76[arg4 + local3][local242 + local10 + 1] & 0x12C01E3) != 0) { + continue label397; + } + } + queueX[local65] = local3 + 1; + queueZ[local65] = local10 + 1; + parents[local3 + 1][local10 + 1] = 12; + costs[local3 + 1][local10 + 1] = local201; + local65 = local65 + 1 & 0xFFF; + } + } + anInt4364 = 0; + if (!local71) { + if (!arg10) { + return false; + } + local201 = 1000; + local242 = 100; + for (@Pc(1247) int local1247 = arg5 - 10; local1247 <= arg5 + 10; local1247++) { + for (@Pc(1257) int local1257 = arg0 - 10; local1257 <= arg0 + 10; local1257++) { + if (local1247 >= 0 && local1257 >= 0 && local1247 < 104 && local1257 < 104 && costs[local1247][local1257] < 100) { + @Pc(1295) int local1295 = 0; + if (arg5 > local1247) { + local1295 = arg5 - local1247; + } else if (arg5 + arg1 - 1 < local1247) { + local1295 = local1247 + 1 - arg1 - arg5; + } + @Pc(1334) int local1334 = 0; + if (local1257 < arg0) { + local1334 = arg0 - local1257; + } else if (arg0 + arg9 - 1 < local1257) { + local1334 = local1257 + 1 - arg0 - arg9; + } + @Pc(1377) int local1377 = local1295 * local1295 + local1334 * local1334; + if (local1377 < local201 || local1377 == local201 && local242 > costs[local1247][local1257]) { + local242 = costs[local1247][local1257]; + local3 = local1247; + local201 = local1377; + local10 = local1257; + } + } + } + } + if (local201 == 1000) { + return false; + } + if (local3 == arg8 && arg11 == local10) { + return false; + } + anInt4364 = 1; + } + @Pc(1438) byte local1438 = 0; + queueX[0] = local3; + local69 = local1438 + 1; + queueZ[0] = local10; + local201 = local242 = parents[local3][local10]; + while (local3 != arg8 || arg11 != local10) { + if (local242 != local201) { + queueX[local69] = local3; + local242 = local201; + queueZ[local69++] = local10; + } + if ((local201 & 0x2) != 0) { + local3++; + } else if ((local201 & 0x8) != 0) { + local3--; + } + if ((local201 & 0x1) != 0) { + local10++; + } else if ((local201 & 0x4) != 0) { + local10--; + } + local201 = parents[local3][local10]; + } + if (local69 > 0) { + ClientProt.method3502(local69, arg2); + return true; + } else if (arg2 == 1) { + return false; + } else { + return true; + } + } + + @OriginalMember(owner = "client!t", name = "a", descriptor = "(BJII)Z") + public static boolean findPathToLoc(@OriginalArg(1) long key, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { + @Pc(12) int shape = (int) key >> 14 & 0x1F; + @Pc(24) int angle = (int) key >> 20 & 0x3; + @Pc(31) int id = (int) (key >>> 32) & Integer.MAX_VALUE; + if (shape == 10 || shape == 11 || shape == 22) { + @Pc(46) LocType local46 = LocTypeList.get(id); + @Pc(62) int local62; + @Pc(59) int local59; + if (angle == 0 || angle == 2) { + local59 = local46.length; + local62 = local46.width; + } else { + local59 = local46.width; + local62 = local46.length; + } + @Pc(73) int local73 = local46.blockedSides; + if (angle != 0) { + local73 = (local73 << angle & 0xF) + (local73 >> 4 - angle); + } + findPath(PlayerList.self.movementQueueZ[0], 0, local59, true, local73, arg2, local62, 0, 2, arg1, PlayerList.self.movementQueueX[0]); + } else { + findPath(PlayerList.self.movementQueueZ[0], angle, 0, true, 0, arg2, 0, shape + 1, 2, arg1, PlayerList.self.movementQueueX[0]); + } + Cross.y = Mouse.clickY; + Cross.milliseconds = 0; + Cross.type = 2; + Cross.x = Mouse.clickX; + return true; + } } diff --git a/client/src/main/java/rt4/Protocol.java b/client/src/main/java/rt4/Protocol.java index 0e0ea1b..8fa2bfb 100644 --- a/client/src/main/java/rt4/Protocol.java +++ b/client/src/main/java/rt4/Protocol.java @@ -2765,7 +2765,7 @@ public class Protocol { } Static187.anInt4422 = 0; } else if (Static56.anInt1742 != -1 && Static125.anInt3096 == 0 && Static187.anInt4422 == 0) { - @Pc(1871) boolean local1871 = Static102.method2075(PlayerList.self.movementQueueZ[0], 0, 0, true, 0, Static56.anInt1742, 0, 0, 0, Static116.anInt2954, PlayerList.self.movementQueueX[0]); + @Pc(1871) boolean local1871 = PathFinder.findPath(PlayerList.self.movementQueueZ[0], 0, 0, true, 0, Static56.anInt1742, 0, 0, 0, Static116.anInt2954, PlayerList.self.movementQueueX[0]); if (local1871) { Cross.y = Mouse.clickY; Cross.milliseconds = 0; diff --git a/client/src/main/java/rt4/Static102.java b/client/src/main/java/rt4/Static102.java index e1144ac..7d8471f 100644 --- a/client/src/main/java/rt4/Static102.java +++ b/client/src/main/java/rt4/Static102.java @@ -1,7 +1,7 @@ package rt4; import java.util.Calendar; -import org.openrs2.deob.annotation.OriginalArg; + import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.Pc; @@ -44,14 +44,4 @@ public final class Static102 { Static20.objectContainerCache = new HashTable(32); } - @OriginalMember(owner = "client!hn", name = "a", descriptor = "(IIIZIIIIIIII)Z") - public static boolean method2075(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3, @OriginalArg(4) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { - if (PlayerList.self.getSize() == 2) { - return Static2.method8(arg6, arg7, arg4, arg0, arg9, arg3, arg2, arg1, arg5, arg8, arg10); - } else if (PlayerList.self.getSize() <= 2) { - return Static45.method1171(arg5, arg4, arg10, arg9, arg8, arg2, arg1, arg3, arg7, arg0, arg6); - } else { - return Static96.method1955(arg9, arg6, arg8, arg1, PlayerList.self.getSize(), arg5, arg7, arg4, arg10, arg2, arg3, arg0); - } - } } diff --git a/client/src/main/java/rt4/Static145.java b/client/src/main/java/rt4/Static145.java index 65edb0f..8a10b99 100644 --- a/client/src/main/java/rt4/Static145.java +++ b/client/src/main/java/rt4/Static145.java @@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc; public final class Static145 { - @OriginalMember(owner = "client!lf", name = "a", descriptor = "[[I") - public static final int[][] anIntArrayArray25 = new int[104][104]; - @OriginalMember(owner = "client!lf", name = "k", descriptor = "I") public static int anInt3502 = -1; diff --git a/client/src/main/java/rt4/Static167.java b/client/src/main/java/rt4/Static167.java index c422ed5..ee813d1 100644 --- a/client/src/main/java/rt4/Static167.java +++ b/client/src/main/java/rt4/Static167.java @@ -15,9 +15,6 @@ public final class Static167 { @OriginalMember(owner = "client!nd", name = "b", descriptor = "Lclient!na;") public static final JagString aClass100_780 = JagString.parse("Clientscript error in: "); - @OriginalMember(owner = "client!nd", name = "q", descriptor = "[[I") - public static final int[][] anIntArrayArray31 = new int[104][104]; - @OriginalMember(owner = "client!nd", name = "x", descriptor = "Lclient!na;") public static final JagString aClass100_783 = JagString.parse(")4p="); diff --git a/client/src/main/java/rt4/Static2.java b/client/src/main/java/rt4/Static2.java index 8bba982..1b89aeb 100644 --- a/client/src/main/java/rt4/Static2.java +++ b/client/src/main/java/rt4/Static2.java @@ -62,183 +62,7 @@ public final class Static2 { } } - @OriginalMember(owner = "client!aa", name = "a", descriptor = "(IIIIIZIIIIII)Z") - public static boolean method8(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) boolean arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) int arg8, @OriginalArg(9) int arg9, @OriginalArg(11) int arg10) { - @Pc(3) int local3; - @Pc(8) int local8; - for (local3 = 0; local3 < 104; local3++) { - for (local8 = 0; local8 < 104; local8++) { - Static145.anIntArrayArray25[local3][local8] = 0; - Static167.anIntArrayArray31[local3][local8] = 99999999; - } - } - Static145.anIntArrayArray25[arg10][arg3] = 99; - Static167.anIntArrayArray31[arg10][arg3] = 0; - local8 = arg3; - local3 = arg10; - @Pc(53) byte local53 = 0; - Static259.anIntArray514[0] = arg10; - @Pc(59) boolean local59 = false; - @Pc(61) int local61 = 0; - @Pc(64) int local64 = local53 + 1; - Static84.anIntArray209[0] = arg3; - @Pc(71) int[][] local71 = PathFinder.collisionMaps[Player.level].anIntArrayArray30; - @Pc(193) int local193; - while (local61 != local64) { - local3 = Static259.anIntArray514[local61]; - local8 = Static84.anIntArray209[local61]; - local61 = local61 + 1 & 0xFFF; - if (arg8 == local3 && arg4 == local8) { - local59 = true; - break; - } - if (arg1 != 0) { - if ((arg1 < 5 || arg1 == 10) && PathFinder.collisionMaps[Player.level].method3042(arg4, local3, local8, arg8, arg1 - 1, 2, arg7)) { - local59 = true; - break; - } - if (arg1 < 10 && PathFinder.collisionMaps[Player.level].method3046(arg4, arg1 - 1, arg8, local8, 2, arg7, local3)) { - local59 = true; - break; - } - } - if (arg0 != 0 && arg6 != 0 && PathFinder.collisionMaps[Player.level].method3052(arg8, local8, local3, 2, arg0, arg2, arg4, arg6)) { - local59 = true; - break; - } - local193 = Static167.anIntArrayArray31[local3][local8] + 1; - if (local3 > 0 && Static145.anIntArrayArray25[local3 - 1][local8] == 0 && (local71[local3 - 1][local8] & 0x12C010E) == 0 && (local71[local3 - 1][local8 + 1] & 0x12C0138) == 0) { - Static259.anIntArray514[local64] = local3 - 1; - Static84.anIntArray209[local64] = local8; - local64 = local64 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 - 1][local8] = 2; - Static167.anIntArrayArray31[local3 - 1][local8] = local193; - } - if (local3 < 102 && Static145.anIntArrayArray25[local3 + 1][local8] == 0 && (local71[local3 + 2][local8] & 0x12C0183) == 0 && (local71[local3 + 2][local8 + 1] & 0x12C01E0) == 0) { - Static259.anIntArray514[local64] = local3 + 1; - Static84.anIntArray209[local64] = local8; - local64 = local64 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local8] = 8; - Static167.anIntArrayArray31[local3 + 1][local8] = local193; - } - if (local8 > 0 && Static145.anIntArrayArray25[local3][local8 - 1] == 0 && (local71[local3][local8 - 1] & 0x12C010E) == 0 && (local71[local3 + 1][local8 - 1] & 0x12C0183) == 0) { - Static259.anIntArray514[local64] = local3; - Static84.anIntArray209[local64] = local8 - 1; - Static145.anIntArrayArray25[local3][local8 - 1] = 1; - Static167.anIntArrayArray31[local3][local8 - 1] = local193; - local64 = local64 + 1 & 0xFFF; - } - if (local8 < 102 && Static145.anIntArrayArray25[local3][local8 + 1] == 0 && (local71[local3][local8 + 2] & 0x12C0138) == 0 && (local71[local3 + 1][local8 + 2] & 0x12C01E0) == 0) { - Static259.anIntArray514[local64] = local3; - Static84.anIntArray209[local64] = local8 + 1; - Static145.anIntArrayArray25[local3][local8 + 1] = 4; - local64 = local64 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3][local8 + 1] = local193; - } - if (local3 > 0 && local8 > 0 && Static145.anIntArrayArray25[local3 - 1][local8 - 1] == 0 && (local71[local3 - 1][local8] & 0x12C0138) == 0 && (local71[local3 - 1][local8 - 1] & 0x12C010E) == 0 && (local71[local3][local8 - 1] & 0x12C0183) == 0) { - Static259.anIntArray514[local64] = local3 - 1; - Static84.anIntArray209[local64] = local8 - 1; - Static145.anIntArrayArray25[local3 - 1][local8 - 1] = 3; - Static167.anIntArrayArray31[local3 - 1][local8 - 1] = local193; - local64 = local64 + 1 & 0xFFF; - } - if (local3 < 102 && local8 > 0 && Static145.anIntArrayArray25[local3 + 1][local8 - 1] == 0 && (local71[local3 + 1][local8 - 1] & 0x12C010E) == 0 && (local71[local3 + 2][local8 - 1] & 0x12C0183) == 0 && (local71[local3 + 2][local8] & 0x12C01E0) == 0) { - Static259.anIntArray514[local64] = local3 + 1; - Static84.anIntArray209[local64] = local8 - 1; - local64 = local64 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local8 - 1] = 9; - Static167.anIntArrayArray31[local3 + 1][local8 - 1] = local193; - } - if (local3 > 0 && local8 < 102 && Static145.anIntArrayArray25[local3 - 1][local8 + 1] == 0 && (local71[local3 - 1][local8 + 1] & 0x12C010E) == 0 && (local71[local3 - 1][local8 + 2] & 0x12C0138) == 0 && (local71[local3][local8 + 2] & 0x12C01E0) == 0) { - Static259.anIntArray514[local64] = local3 - 1; - Static84.anIntArray209[local64] = local8 + 1; - Static145.anIntArrayArray25[local3 - 1][local8 + 1] = 6; - Static167.anIntArrayArray31[local3 - 1][local8 + 1] = local193; - local64 = local64 + 1 & 0xFFF; - } - if (local3 < 102 && local8 < 102 && Static145.anIntArrayArray25[local3 + 1][local8 + 1] == 0 && (local71[local3 + 1][local8 + 2] & 0x12C0138) == 0 && (local71[local3 + 2][local8 + 2] & 0x12C01E0) == 0 && (local71[local3 + 2][local8 + 1] & 0x12C0183) == 0) { - Static259.anIntArray514[local64] = local3 + 1; - Static84.anIntArray209[local64] = local8 + 1; - local64 = local64 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local8 + 1] = 12; - Static167.anIntArrayArray31[local3 + 1][local8 + 1] = local193; - } - } - Static221.anInt4364 = 0; - @Pc(921) int local921; - if (!local59) { - if (!arg5) { - return false; - } - local193 = 1000; - local921 = 100; - for (@Pc(928) int local928 = arg8 - 10; local928 <= arg8 + 10; local928++) { - for (@Pc(942) int local942 = arg4 - 10; local942 <= arg4 + 10; local942++) { - if (local928 >= 0 && local942 >= 0 && local928 < 104 && local942 < 104 && Static167.anIntArrayArray31[local928][local942] < 100) { - @Pc(978) int local978 = 0; - @Pc(980) int local980 = 0; - if (local928 < arg8) { - local978 = arg8 - local928; - } else if (local928 > arg0 + arg8 - 1) { - local978 = local928 + 1 - arg0 - arg8; - } - if (arg4 > local942) { - local980 = arg4 - local942; - } else if (local942 > arg4 + arg6 - 1) { - local980 = local942 + 1 - arg4 - arg6; - } - @Pc(1057) int local1057 = local978 * local978 + local980 * local980; - if (local1057 < local193 || local193 == local1057 && Static167.anIntArrayArray31[local928][local942] < local921) { - local8 = local942; - local921 = Static167.anIntArrayArray31[local928][local942]; - local193 = local1057; - local3 = local928; - } - } - } - } - if (local193 == 1000) { - return false; - } - if (arg10 == local3 && local8 == arg3) { - return false; - } - Static221.anInt4364 = 1; - } - @Pc(1121) byte local1121 = 0; - Static259.anIntArray514[0] = local3; - local61 = local1121 + 1; - Static84.anIntArray209[0] = local8; - local193 = local921 = Static145.anIntArrayArray25[local3][local8]; - while (arg10 != local3 || arg3 != local8) { - if (local921 != local193) { - Static259.anIntArray514[local61] = local3; - Static84.anIntArray209[local61++] = local8; - local921 = local193; - } - if ((local193 & 0x2) != 0) { - local3++; - } else if ((local193 & 0x8) != 0) { - local3--; - } - if ((local193 & 0x1) != 0) { - local8++; - } else if ((local193 & 0x4) != 0) { - local8--; - } - local193 = Static145.anIntArrayArray25[local3][local8]; - } - if (local61 > 0) { - ClientProt.method3502(local61, arg9); - return true; - } else if (arg9 == 1) { - return false; - } else { - return true; - } - } - - @OriginalMember(owner = "client!aa", name = "a", descriptor = "(BLclient!be;)V") + @OriginalMember(owner = "client!aa", name = "a", descriptor = "(BLclient!be;)V") public static void method13(@OriginalArg(1) Component arg0) { @Pc(16) int local16 = arg0.anInt453; if (local16 == 324) { diff --git a/client/src/main/java/rt4/Static221.java b/client/src/main/java/rt4/Static221.java index 949f6d4..a6add5c 100644 --- a/client/src/main/java/rt4/Static221.java +++ b/client/src/main/java/rt4/Static221.java @@ -12,10 +12,7 @@ public final class Static221 { @OriginalMember(owner = "client!s", name = "i", descriptor = "[I") public static int[] anIntArray376; - @OriginalMember(owner = "client!s", name = "d", descriptor = "I") - public static int anInt4364 = 0; - - @OriginalMember(owner = "client!s", name = "b", descriptor = "(III)V") + @OriginalMember(owner = "client!s", name = "b", descriptor = "(III)V") public static void method3392(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) { if (Static250.anInt5434 > 0) { Static267.method4528(Static250.anInt5434); diff --git a/client/src/main/java/rt4/Static233.java b/client/src/main/java/rt4/Static233.java index 01bf243..b0ff8d7 100644 --- a/client/src/main/java/rt4/Static233.java +++ b/client/src/main/java/rt4/Static233.java @@ -82,35 +82,4 @@ public final class Static233 { } } - @OriginalMember(owner = "client!t", name = "a", descriptor = "(BJII)Z") - public static boolean method4003(@OriginalArg(1) long arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { - @Pc(12) int local12 = (int) arg0 >> 14 & 0x1F; - @Pc(24) int local24 = (int) arg0 >> 20 & 0x3; - @Pc(31) int local31 = (int) (arg0 >>> 32) & Integer.MAX_VALUE; - if (local12 == 10 || local12 == 11 || local12 == 22) { - @Pc(46) LocType local46 = LocTypeList.get(local31); - @Pc(62) int local62; - @Pc(59) int local59; - if (local24 == 0 || local24 == 2) { - local59 = local46.length; - local62 = local46.width; - } else { - local59 = local46.width; - local62 = local46.length; - } - @Pc(73) int local73 = local46.blockedSides; - if (local24 != 0) { - local73 = (local73 << local24 & 0xF) + (local73 >> 4 - local24); - } - Static102.method2075(PlayerList.self.movementQueueZ[0], 0, local59, true, local73, arg2, local62, 0, 2, arg1, PlayerList.self.movementQueueX[0]); - } else { - Static102.method2075(PlayerList.self.movementQueueZ[0], local24, 0, true, 0, arg2, 0, local12 + 1, 2, arg1, PlayerList.self.movementQueueX[0]); - } - Cross.y = Mouse.clickY; - Cross.milliseconds = 0; - Cross.type = 2; - Cross.x = Mouse.clickX; - return true; - } - } diff --git a/client/src/main/java/rt4/Static245.java b/client/src/main/java/rt4/Static245.java index 33e19f6..44c1fec 100644 --- a/client/src/main/java/rt4/Static245.java +++ b/client/src/main/java/rt4/Static245.java @@ -25,7 +25,7 @@ public final class Static245 { for (@Pc(10) int local10 = 0; local10 < 8; local10++) { for (local17 = 0; local17 < 8; local17++) { if (arg1 + local10 > 0 && local10 + arg1 < 103 && local17 + arg4 > 0 && arg4 + local17 < 103) { - arg3[arg2].anIntArrayArray30[local10 + arg1][local17 + arg4] &= 0xFEFFFFFF; + arg3[arg2].flags[local10 + arg1][local17 + arg4] &= 0xFEFFFFFF; } } } diff --git a/client/src/main/java/rt4/Static254.java b/client/src/main/java/rt4/Static254.java index 56e781a..d872dee 100644 --- a/client/src/main/java/rt4/Static254.java +++ b/client/src/main/java/rt4/Static254.java @@ -31,16 +31,16 @@ public final class Static254 { } else { @Pc(47) int local47 = 0; @Pc(49) byte local49 = 0; - Static259.anIntArray514[0] = arg1; + PathFinder.queueX[0] = arg1; @Pc(69) int local69 = local49 + 1; - Static84.anIntArray209[0] = arg2; + PathFinder.queueZ[0] = arg2; Static266.aByteArrayArrayArray15[Player.level][arg1][arg2] = local14; while (local47 != local69) { - @Pc(94) int local94 = Static259.anIntArray514[local47] >> 16 & 0xFF; - @Pc(102) int local102 = Static259.anIntArray514[local47] >> 24 & 0xFF; - @Pc(108) int local108 = Static259.anIntArray514[local47] & 0xFFFF; - @Pc(116) int local116 = Static84.anIntArray209[local47] >> 16 & 0xFF; - @Pc(122) int local122 = Static84.anIntArray209[local47] & 0xFFFF; + @Pc(94) int local94 = PathFinder.queueX[local47] >> 16 & 0xFF; + @Pc(102) int local102 = PathFinder.queueX[local47] >> 24 & 0xFF; + @Pc(108) int local108 = PathFinder.queueX[local47] & 0xFFFF; + @Pc(116) int local116 = PathFinder.queueZ[local47] >> 16 & 0xFF; + @Pc(122) int local122 = PathFinder.queueZ[local47] & 0xFFFF; local47 = local47 + 1 & 0xFFF; @Pc(130) boolean local130 = false; @Pc(132) boolean local132 = false; @@ -122,56 +122,56 @@ public final class Static254 { } if (!local130) { if (local108 >= 1 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14) { - Static259.anIntArray514[local69] = local108 - 1 | 0x120000 | 0xD3000000; - Static84.anIntArray209[local69] = local122 | 0x130000; + PathFinder.queueX[local69] = local108 - 1 | 0x120000 | 0xD3000000; + PathFinder.queueZ[local69] = local122 | 0x130000; local69 = local69 + 1 & 0xFFF; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; } local122++; if (local122 < 104) { if (local108 - 1 >= 0 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 - 1][local122 - 1] & 0x4) == 0) { - Static259.anIntArray514[local69] = 0x52000000 | 0x120000 | local108 - 1; - Static84.anIntArray209[local69] = local122 | 0x130000; + PathFinder.queueX[local69] = 0x52000000 | 0x120000 | local108 - 1; + PathFinder.queueZ[local69] = local122 | 0x130000; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; local69 = local69 + 1 & 0xFFF; } if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) { - Static259.anIntArray514[local69] = local108 | 0x13000000 | 0x520000; - Static84.anIntArray209[local69] = local122 | 0x530000; + PathFinder.queueX[local69] = local108 | 0x13000000 | 0x520000; + PathFinder.queueZ[local69] = local122 | 0x530000; local69 = local69 + 1 & 0xFFF; Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; } if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 + 1][local122 - 1] & 0x4) == 0) { - Static259.anIntArray514[local69] = 0x92000000 | 0x520000 | local108 + 1; - Static84.anIntArray209[local69] = local122 | 0x530000; + PathFinder.queueX[local69] = 0x92000000 | 0x520000 | local108 + 1; + PathFinder.queueZ[local69] = local122 | 0x530000; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; local69 = local69 + 1 & 0xFFF; } } local122--; if (local108 + 1 < 104 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122]) { - Static259.anIntArray514[local69] = local108 + 1 | 0x920000 | 0x53000000; - Static84.anIntArray209[local69] = local122 | 0x930000; + PathFinder.queueX[local69] = local108 + 1 | 0x920000 | 0x53000000; + PathFinder.queueZ[local69] = local122 | 0x930000; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; local69 = local69 + 1 & 0xFFF; } local122--; if (local122 >= 0) { if (local108 - 1 >= 0 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 - 1][local122 + 1] & 0x4) == 0) { - Static259.anIntArray514[local69] = local108 - 1 | 0xD20000 | 0x12000000; - Static84.anIntArray209[local69] = local122 | 0xD30000; + PathFinder.queueX[local69] = local108 - 1 | 0xD20000 | 0x12000000; + PathFinder.queueZ[local69] = local122 | 0xD30000; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; local69 = local69 + 1 & 0xFFF; } if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) { - Static259.anIntArray514[local69] = local108 | 0xD20000 | 0x93000000; - Static84.anIntArray209[local69] = local122 | 0xD30000; + PathFinder.queueX[local69] = local108 | 0xD20000 | 0x93000000; + PathFinder.queueZ[local69] = local122 | 0xD30000; local69 = local69 + 1 & 0xFFF; Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; } if (local108 + 1 < 104 && Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] != local14 && (SceneGraph.tileFlags[Player.level][local108][local122] & 0x4) == 0 && (SceneGraph.tileFlags[Player.level][local108 + 1][local122 + 1] & 0x4) == 0) { - Static259.anIntArray514[local69] = local108 + 1 | 0xD2000000 | 0x920000; - Static84.anIntArray209[local69] = local122 | 0x930000; + PathFinder.queueX[local69] = local108 + 1 | 0xD2000000 | 0x920000; + PathFinder.queueZ[local69] = local122 | 0x930000; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; local69 = local69 + 1 & 0xFFF; } diff --git a/client/src/main/java/rt4/Static259.java b/client/src/main/java/rt4/Static259.java index 1e8313a..8c3f6e7 100644 --- a/client/src/main/java/rt4/Static259.java +++ b/client/src/main/java/rt4/Static259.java @@ -7,6 +7,4 @@ public final class Static259 { @OriginalMember(owner = "client!vc", name = "V", descriptor = "[J") public static final long[] aLongArray11 = new long[1000]; - @OriginalMember(owner = "client!vc", name = "eb", descriptor = "[I") - public static final int[] anIntArray514 = new int[4096]; } diff --git a/client/src/main/java/rt4/Static269.java b/client/src/main/java/rt4/Static269.java index f109289..e0256b6 100644 --- a/client/src/main/java/rt4/Static269.java +++ b/client/src/main/java/rt4/Static269.java @@ -18,7 +18,7 @@ public final class Static269 { for (local14 = 0; local14 < 64; local14++) { for (local21 = 0; local21 < 64; local21++) { if (arg4 + local14 > 0 && local14 + arg4 < 103 && arg3 + local21 > 0 && local21 + arg3 < 103) { - arg0[local9].anIntArrayArray30[local14 + arg4][arg3 + local21] &= 0xFEFFFFFF; + arg0[local9].flags[local14 + arg4][arg3 + local21] &= 0xFEFFFFFF; } } } diff --git a/client/src/main/java/rt4/Static45.java b/client/src/main/java/rt4/Static45.java index 0f53b37..dcd7108 100644 --- a/client/src/main/java/rt4/Static45.java +++ b/client/src/main/java/rt4/Static45.java @@ -9,9 +9,6 @@ public final class Static45 { @OriginalMember(owner = "client!di", name = "q", descriptor = "[Lclient!na;") public static final JagString[] aClass100Array53 = new JagString[5]; - @OriginalMember(owner = "client!di", name = "F", descriptor = "Lclient!bf;") - public static final ServerActiveProperties aClass3_Sub4_2 = new ServerActiveProperties(0, -1); - @OriginalMember(owner = "client!di", name = "H", descriptor = "Z") public static boolean aBoolean84 = false; @@ -486,180 +483,4 @@ public final class Static45 { } } - @OriginalMember(owner = "client!di", name = "a", descriptor = "(IIIIIIIIZIII)Z") - public static boolean method1171(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) boolean arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) int arg10) { - @Pc(3) int local3; - @Pc(10) int local10; - for (local3 = 0; local3 < 104; local3++) { - for (local10 = 0; local10 < 104; local10++) { - Static145.anIntArrayArray25[local3][local10] = 0; - Static167.anIntArrayArray31[local3][local10] = 99999999; - } - } - local3 = arg2; - Static145.anIntArrayArray25[arg2][arg9] = 99; - local10 = arg9; - Static167.anIntArrayArray31[arg2][arg9] = 0; - @Pc(51) byte local51 = 0; - @Pc(53) boolean local53 = false; - @Pc(64) int local64 = 0; - Static259.anIntArray514[0] = arg2; - @Pc(71) int local71 = local51 + 1; - Static84.anIntArray209[0] = arg9; - @Pc(78) int[][] local78 = PathFinder.collisionMaps[Player.level].anIntArrayArray30; - @Pc(198) int local198; - while (local71 != local64) { - local10 = Static84.anIntArray209[local64]; - local3 = Static259.anIntArray514[local64]; - local64 = local64 + 1 & 0xFFF; - if (local3 == arg0 && local10 == arg3) { - local53 = true; - break; - } - if (arg8 != 0) { - if ((arg8 < 5 || arg8 == 10) && PathFinder.collisionMaps[Player.level].method3042(arg3, local3, local10, arg0, arg8 - 1, 1, arg6)) { - local53 = true; - break; - } - if (arg8 < 10 && PathFinder.collisionMaps[Player.level].method3046(arg3, arg8 - 1, arg0, local10, 1, arg6, local3)) { - local53 = true; - break; - } - } - if (arg10 != 0 && arg5 != 0 && PathFinder.collisionMaps[Player.level].method3052(arg0, local10, local3, 1, arg10, arg1, arg3, arg5)) { - local53 = true; - break; - } - local198 = Static167.anIntArrayArray31[local3][local10] + 1; - if (local3 > 0 && Static145.anIntArrayArray25[local3 - 1][local10] == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0) { - Static259.anIntArray514[local71] = local3 - 1; - Static84.anIntArray209[local71] = local10; - local71 = local71 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 - 1][local10] = 2; - Static167.anIntArrayArray31[local3 - 1][local10] = local198; - } - if (local3 < 103 && Static145.anIntArrayArray25[local3 + 1][local10] == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0) { - Static259.anIntArray514[local71] = local3 + 1; - Static84.anIntArray209[local71] = local10; - local71 = local71 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local10] = 8; - Static167.anIntArrayArray31[local3 + 1][local10] = local198; - } - if (local10 > 0 && Static145.anIntArrayArray25[local3][local10 - 1] == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { - Static259.anIntArray514[local71] = local3; - Static84.anIntArray209[local71] = local10 - 1; - Static145.anIntArrayArray25[local3][local10 - 1] = 1; - local71 = local71 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3][local10 - 1] = local198; - } - if (local10 < 103 && Static145.anIntArrayArray25[local3][local10 + 1] == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { - Static259.anIntArray514[local71] = local3; - Static84.anIntArray209[local71] = local10 + 1; - local71 = local71 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3][local10 + 1] = 4; - Static167.anIntArrayArray31[local3][local10 + 1] = local198; - } - if (local3 > 0 && local10 > 0 && Static145.anIntArrayArray25[local3 - 1][local10 - 1] == 0 && (local78[local3 - 1][local10 - 1] & 0x12C010E) == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { - Static259.anIntArray514[local71] = local3 - 1; - Static84.anIntArray209[local71] = local10 - 1; - local71 = local71 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 - 1][local10 - 1] = 3; - Static167.anIntArrayArray31[local3 - 1][local10 - 1] = local198; - } - if (local3 < 103 && local10 > 0 && Static145.anIntArrayArray25[local3 + 1][local10 - 1] == 0 && (local78[local3 + 1][local10 - 1] & 0x12C0183) == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0 && (local78[local3][local10 - 1] & 0x12C0102) == 0) { - Static259.anIntArray514[local71] = local3 + 1; - Static84.anIntArray209[local71] = local10 - 1; - local71 = local71 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local10 - 1] = 9; - Static167.anIntArrayArray31[local3 + 1][local10 - 1] = local198; - } - if (local3 > 0 && local10 < 103 && Static145.anIntArrayArray25[local3 - 1][local10 + 1] == 0 && (local78[local3 - 1][local10 + 1] & 0x12C0138) == 0 && (local78[local3 - 1][local10] & 0x12C0108) == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { - Static259.anIntArray514[local71] = local3 - 1; - Static84.anIntArray209[local71] = local10 + 1; - Static145.anIntArrayArray25[local3 - 1][local10 + 1] = 6; - local71 = local71 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3 - 1][local10 + 1] = local198; - } - if (local3 < 103 && local10 < 103 && Static145.anIntArrayArray25[local3 + 1][local10 + 1] == 0 && (local78[local3 + 1][local10 + 1] & 0x12C01E0) == 0 && (local78[local3 + 1][local10] & 0x12C0180) == 0 && (local78[local3][local10 + 1] & 0x12C0120) == 0) { - Static259.anIntArray514[local71] = local3 + 1; - Static84.anIntArray209[local71] = local10 + 1; - Static145.anIntArrayArray25[local3 + 1][local10 + 1] = 12; - local71 = local71 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3 + 1][local10 + 1] = local198; - } - } - Static221.anInt4364 = 0; - @Pc(839) int local839; - if (!local53) { - if (!arg7) { - return false; - } - local198 = 1000; - local839 = 100; - for (@Pc(846) int local846 = arg0 - 10; local846 <= arg0 + 10; local846++) { - for (@Pc(856) int local856 = arg3 - 10; local856 <= arg3 + 10; local856++) { - if (local846 >= 0 && local856 >= 0 && local846 < 104 && local856 < 104 && Static167.anIntArrayArray31[local846][local856] < 100) { - @Pc(894) int local894 = 0; - if (local856 < arg3) { - local894 = arg3 - local856; - } else if (arg5 + arg3 - 1 < local856) { - local894 = local856 + 1 - arg3 - arg5; - } - @Pc(927) int local927 = 0; - if (local846 < arg0) { - local927 = arg0 - local846; - } else if (local846 > arg10 + arg0 - 1) { - local927 = local846 + 1 - arg10 - arg0; - } - @Pc(968) int local968 = local894 * local894 + local927 * local927; - if (local968 < local198 || local968 == local198 && Static167.anIntArrayArray31[local846][local856] < local839) { - local10 = local856; - local198 = local968; - local3 = local846; - local839 = Static167.anIntArrayArray31[local846][local856]; - } - } - } - } - if (local198 == 1000) { - return false; - } - if (arg2 == local3 && local10 == arg9) { - return false; - } - Static221.anInt4364 = 1; - } - @Pc(1032) byte local1032 = 0; - Static259.anIntArray514[0] = local3; - local64 = local1032 + 1; - Static84.anIntArray209[0] = local10; - local198 = local839 = Static145.anIntArrayArray25[local3][local10]; - while (arg2 != local3 || local10 != arg9) { - if (local839 != local198) { - local839 = local198; - Static259.anIntArray514[local64] = local3; - Static84.anIntArray209[local64++] = local10; - } - if ((local198 & 0x2) != 0) { - local3++; - } else if ((local198 & 0x8) != 0) { - local3--; - } - if ((local198 & 0x1) != 0) { - local10++; - } else if ((local198 & 0x4) != 0) { - local10--; - } - local198 = Static145.anIntArrayArray25[local3][local10]; - } - if (local64 > 0) { - ClientProt.method3502(local64, arg4); - return true; - } else if (arg4 == 1) { - return false; - } else { - return true; - } - } - } diff --git a/client/src/main/java/rt4/Static84.java b/client/src/main/java/rt4/Static84.java index b38cb07..fed534b 100644 --- a/client/src/main/java/rt4/Static84.java +++ b/client/src/main/java/rt4/Static84.java @@ -8,9 +8,6 @@ public final class Static84 { @OriginalMember(owner = "client!gk", name = "d", descriptor = "F") public static float aFloat10; - @OriginalMember(owner = "client!gk", name = "c", descriptor = "[I") - public static final int[] anIntArray209 = new int[4096]; - @OriginalMember(owner = "client!gk", name = "g", descriptor = "Z") public static boolean aBoolean127 = false; diff --git a/client/src/main/java/rt4/Static96.java b/client/src/main/java/rt4/Static96.java index 22fa53c..fecac5a 100644 --- a/client/src/main/java/rt4/Static96.java +++ b/client/src/main/java/rt4/Static96.java @@ -2,7 +2,6 @@ package rt4; import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalMember; -import org.openrs2.deob.annotation.Pc; public final class Static96 { @@ -22,254 +21,4 @@ public final class Static96 { } } - @OriginalMember(owner = "client!hh", name = "a", descriptor = "(IBIIIIIIIIIZI)Z") - public static boolean method1955(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6, @OriginalArg(8) int arg7, @OriginalArg(9) int arg8, @OriginalArg(10) int arg9, @OriginalArg(11) boolean arg10, @OriginalArg(12) int arg11) { - @Pc(3) int local3; - @Pc(10) int local10; - for (local3 = 0; local3 < 104; local3++) { - for (local10 = 0; local10 < 104; local10++) { - Static145.anIntArrayArray25[local3][local10] = 0; - Static167.anIntArrayArray31[local3][local10] = 99999999; - } - } - local3 = arg8; - local10 = arg11; - Static145.anIntArrayArray25[arg8][arg11] = 99; - Static167.anIntArrayArray31[arg8][arg11] = 0; - @Pc(53) byte local53 = 0; - Static259.anIntArray514[0] = arg8; - @Pc(65) int local65 = local53 + 1; - Static84.anIntArray209[0] = arg11; - @Pc(69) int local69 = 0; - @Pc(71) boolean local71 = false; - @Pc(76) int[][] local76 = PathFinder.collisionMaps[Player.level].anIntArrayArray30; - @Pc(201) int local201; - @Pc(242) int local242; - label397: while (local69 != local65) { - local3 = Static259.anIntArray514[local69]; - local10 = Static84.anIntArray209[local69]; - local69 = local69 + 1 & 0xFFF; - if (arg5 == local3 && local10 == arg0) { - local71 = true; - break; - } - if (arg6 != 0) { - if ((arg6 < 5 || arg6 == 10) && PathFinder.collisionMaps[Player.level].method3042(arg0, local3, local10, arg5, arg6 - 1, arg4, arg3)) { - local71 = true; - break; - } - if (arg6 < 10 && PathFinder.collisionMaps[Player.level].method3046(arg0, arg6 - 1, arg5, local10, arg4, arg3, local3)) { - local71 = true; - break; - } - } - if (arg1 != 0 && arg9 != 0 && PathFinder.collisionMaps[Player.level].method3052(arg5, local10, local3, arg4, arg1, arg7, arg0, arg9)) { - local71 = true; - break; - } - local201 = Static167.anIntArrayArray31[local3][local10] + 1; - if (local3 > 0 && Static145.anIntArrayArray25[local3 - 1][local10] == 0 && (local76[local3 - 1][local10] & 0x12C010E) == 0 && (local76[local3 - 1][arg4 + local10 - 1] & 0x12C0138) == 0) { - local242 = 1; - while (true) { - if (arg4 - 1 <= local242) { - Static259.anIntArray514[local65] = local3 - 1; - Static84.anIntArray209[local65] = local10; - Static145.anIntArrayArray25[local3 - 1][local10] = 2; - local65 = local65 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3 - 1][local10] = local201; - break; - } - if ((local76[local3 - 1][local10 + local242] & 0x12C013E) != 0) { - break; - } - local242++; - } - } - if (local3 < 102 && Static145.anIntArrayArray25[local3 + 1][local10] == 0 && (local76[local3 + arg4][local10] & 0x12C0183) == 0 && (local76[arg4 + local3][local10 + arg4 - 1] & 0x12C01E0) == 0) { - local242 = 1; - while (true) { - if (local242 >= arg4 - 1) { - Static259.anIntArray514[local65] = local3 + 1; - Static84.anIntArray209[local65] = local10; - Static145.anIntArrayArray25[local3 + 1][local10] = 8; - Static167.anIntArrayArray31[local3 + 1][local10] = local201; - local65 = local65 + 1 & 0xFFF; - break; - } - if ((local76[arg4 + local3][local10 + local242] & 0x12C01E3) != 0) { - break; - } - local242++; - } - } - if (local10 > 0 && Static145.anIntArrayArray25[local3][local10 - 1] == 0 && (local76[local3][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3 - 1][local10 - 1] & 0x12C0183) == 0) { - local242 = 1; - while (true) { - if (arg4 - 1 <= local242) { - Static259.anIntArray514[local65] = local3; - Static84.anIntArray209[local65] = local10 - 1; - Static145.anIntArrayArray25[local3][local10 - 1] = 1; - local65 = local65 + 1 & 0xFFF; - Static167.anIntArrayArray31[local3][local10 - 1] = local201; - break; - } - if ((local76[local3 + local242][local10 - 1] & 0x12C018F) != 0) { - break; - } - local242++; - } - } - if (local10 < 102 && Static145.anIntArrayArray25[local3][local10 + 1] == 0 && (local76[local3][local10 + arg4] & 0x12C0138) == 0 && (local76[local3 + arg4 - 1][arg4 + local10] & 0x12C01E0) == 0) { - local242 = 1; - while (true) { - if (local242 >= arg4 - 1) { - Static259.anIntArray514[local65] = local3; - Static84.anIntArray209[local65] = local10 + 1; - Static145.anIntArrayArray25[local3][local10 + 1] = 4; - Static167.anIntArrayArray31[local3][local10 + 1] = local201; - local65 = local65 + 1 & 0xFFF; - break; - } - if ((local76[local3 + local242][arg4 + local10] & 0x12C01F8) != 0) { - break; - } - local242++; - } - } - if (local3 > 0 && local10 > 0 && Static145.anIntArrayArray25[local3 - 1][local10 - 1] == 0 && (local76[local3 - 1][arg4 + local10 - 1 - 1] & 0x12C0138) == 0 && (local76[local3 - 1][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3 - 1 - 1][local10 - 1] & 0x12C0183) == 0) { - local242 = 1; - while (true) { - if (arg4 - 1 <= local242) { - Static259.anIntArray514[local65] = local3 - 1; - Static84.anIntArray209[local65] = local10 - 1; - local65 = local65 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 - 1][local10 - 1] = 3; - Static167.anIntArrayArray31[local3 - 1][local10 - 1] = local201; - break; - } - if ((local76[local3 - 1][local10 + local242 - 1] & 0x12C013E) != 0 || (local76[local242 + local3 - 1][local10 - 1] & 0x12C018F) != 0) { - break; - } - local242++; - } - } - if (local3 < 102 && local10 > 0 && Static145.anIntArrayArray25[local3 + 1][local10 - 1] == 0 && (local76[local3 + 1][local10 - 1] & 0x12C010E) == 0 && (local76[arg4 + local3][local10 - 1] & 0x12C0183) == 0 && (local76[local3 + arg4][local10 + arg4 - 1 - 1] & 0x12C01E0) == 0) { - local242 = 1; - while (true) { - if (local242 >= arg4 - 1) { - Static259.anIntArray514[local65] = local3 + 1; - Static84.anIntArray209[local65] = local10 - 1; - local65 = local65 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 + 1][local10 - 1] = 9; - Static167.anIntArrayArray31[local3 + 1][local10 - 1] = local201; - break; - } - if ((local76[local3 + arg4][local10 + local242 - 1] & 0x12C01E3) != 0 || (local76[local242 + local3 + 1][local10 - 1] & 0x12C018F) != 0) { - break; - } - local242++; - } - } - if (local3 > 0 && local10 < 102 && Static145.anIntArrayArray25[local3 - 1][local10 + 1] == 0 && (local76[local3 - 1][local10 + 1] & 0x12C010E) == 0 && (local76[local3 - 1][local10 + arg4] & 0x12C0138) == 0 && (local76[local3][local10 + arg4] & 0x12C01E0) == 0) { - local242 = 1; - while (true) { - if (arg4 - 1 <= local242) { - Static259.anIntArray514[local65] = local3 - 1; - Static84.anIntArray209[local65] = local10 + 1; - local65 = local65 + 1 & 0xFFF; - Static145.anIntArrayArray25[local3 - 1][local10 + 1] = 6; - Static167.anIntArrayArray31[local3 - 1][local10 + 1] = local201; - break; - } - if ((local76[local3 - 1][local10 + local242 + 1] & 0x12C013E) != 0 || (local76[local242 + local3 - 1][arg4 + local10] & 0x12C01F8) != 0) { - break; - } - local242++; - } - } - if (local3 < 102 && local10 < 102 && Static145.anIntArrayArray25[local3 + 1][local10 + 1] == 0 && (local76[local3 + 1][local10 + arg4] & 0x12C0138) == 0 && (local76[local3 + arg4][local10 + arg4] & 0x12C01E0) == 0 && (local76[arg4 + local3][local10 + 1] & 0x12C0183) == 0) { - for (local242 = 1; local242 < arg4 - 1; local242++) { - if ((local76[local242 + local3 + 1][local10 + arg4] & 0x12C01F8) != 0 || (local76[arg4 + local3][local242 + local10 + 1] & 0x12C01E3) != 0) { - continue label397; - } - } - Static259.anIntArray514[local65] = local3 + 1; - Static84.anIntArray209[local65] = local10 + 1; - Static145.anIntArrayArray25[local3 + 1][local10 + 1] = 12; - Static167.anIntArrayArray31[local3 + 1][local10 + 1] = local201; - local65 = local65 + 1 & 0xFFF; - } - } - Static221.anInt4364 = 0; - if (!local71) { - if (!arg10) { - return false; - } - local201 = 1000; - local242 = 100; - for (@Pc(1247) int local1247 = arg5 - 10; local1247 <= arg5 + 10; local1247++) { - for (@Pc(1257) int local1257 = arg0 - 10; local1257 <= arg0 + 10; local1257++) { - if (local1247 >= 0 && local1257 >= 0 && local1247 < 104 && local1257 < 104 && Static167.anIntArrayArray31[local1247][local1257] < 100) { - @Pc(1295) int local1295 = 0; - if (arg5 > local1247) { - local1295 = arg5 - local1247; - } else if (arg5 + arg1 - 1 < local1247) { - local1295 = local1247 + 1 - arg1 - arg5; - } - @Pc(1334) int local1334 = 0; - if (local1257 < arg0) { - local1334 = arg0 - local1257; - } else if (arg0 + arg9 - 1 < local1257) { - local1334 = local1257 + 1 - arg0 - arg9; - } - @Pc(1377) int local1377 = local1295 * local1295 + local1334 * local1334; - if (local1377 < local201 || local1377 == local201 && local242 > Static167.anIntArrayArray31[local1247][local1257]) { - local242 = Static167.anIntArrayArray31[local1247][local1257]; - local3 = local1247; - local201 = local1377; - local10 = local1257; - } - } - } - } - if (local201 == 1000) { - return false; - } - if (local3 == arg8 && arg11 == local10) { - return false; - } - Static221.anInt4364 = 1; - } - @Pc(1438) byte local1438 = 0; - Static259.anIntArray514[0] = local3; - local69 = local1438 + 1; - Static84.anIntArray209[0] = local10; - local201 = local242 = Static145.anIntArrayArray25[local3][local10]; - while (local3 != arg8 || arg11 != local10) { - if (local242 != local201) { - Static259.anIntArray514[local69] = local3; - local242 = local201; - Static84.anIntArray209[local69++] = local10; - } - if ((local201 & 0x2) != 0) { - local3++; - } else if ((local201 & 0x8) != 0) { - local3--; - } - if ((local201 & 0x1) != 0) { - local10++; - } else if ((local201 & 0x4) != 0) { - local10--; - } - local201 = Static145.anIntArrayArray25[local3][local10]; - } - if (local69 > 0) { - ClientProt.method3502(local69, arg2); - return true; - } else if (arg2 == 1) { - return false; - } else { - return true; - } - } } diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index 2c782c0..46d20e7 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -989,7 +989,7 @@ public final class client extends GameShell { if (local66.getSize() > 1) { for (@Pc(226) int local226 = local66.movementQueueX[0]; local66.movementQueueX[0] + local66.getSize() > local226; local226++) { for (@Pc(246) int local246 = local66.movementQueueZ[0]; local66.movementQueueZ[0] + local66.getSize() > local246; local246++) { - if ((PathFinder.collisionMaps[Player.level].anIntArrayArray30[local226][local246] & 0x12401FF) != 0) { + if ((PathFinder.collisionMaps[Player.level].flags[local226][local246] & 0x12401FF) != 0) { continue nextNpc; } }