Refactored PathFinder class

This commit is contained in:
Pazaz 2022-05-04 00:40:06 -04:00
parent ff0e890dcd
commit 36b0d99c42
21 changed files with 842 additions and 843 deletions

View file

@ -171,7 +171,7 @@ public class Cheat {
for (local18 = 0; local18 < 4; local18++) { for (local18 = 0; local18 < 4; local18++) {
for (local38 = 1; local38 < 103; local38++) { for (local38 = 1; local38 < 103; local38++) {
for (local117 = 1; local117 < 103; local117++) { for (local117 = 1; local117 < 103; local117++) {
PathFinder.collisionMaps[local18].anIntArrayArray30[local38][local117] = 0; PathFinder.collisionMaps[local18].flags[local38][local117] = 0;
} }
} }
} }

View file

@ -87,8 +87,8 @@ public class ClientProt {
local13 = 25; local13 = 25;
} }
arg0--; arg0--;
@Pc(23) int local23 = Static259.anIntArray514[arg0]; @Pc(23) int local23 = PathFinder.queueX[arg0];
@Pc(27) int local27 = Static84.anIntArray209[arg0]; @Pc(27) int local27 = PathFinder.queueZ[arg0];
if (arg1 == 0) { if (arg1 == 0) {
Protocol.outboundBuffer.p1isaac(215); Protocol.outboundBuffer.p1isaac(215);
Protocol.outboundBuffer.p1(local13 + local13 + 3); 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.p1a(Keyboard.pressedKeys[Keyboard.KEY_CTRL] ? 1 : 0);
Protocol.outboundBuffer.p2(Static225.originX + local23); Protocol.outboundBuffer.p2(Static225.originX + local23);
Protocol.outboundBuffer.p2add(Static142.originZ + local27); Protocol.outboundBuffer.p2add(Static142.originZ + local27);
Static84.anInt2255 = Static84.anIntArray209[0]; Static84.anInt2255 = PathFinder.queueZ[0];
Static115.mapFlagX = Static259.anIntArray514[0]; Static115.mapFlagX = PathFinder.queueX[0];
for (@Pc(126) int local126 = 1; local126 < local13; local126++) { for (@Pc(126) int local126 = 1; local126 < local13; local126++) {
arg0--; arg0--;
Protocol.outboundBuffer.p1a(Static259.anIntArray514[arg0] - local23); Protocol.outboundBuffer.p1a(PathFinder.queueX[arg0] - local23);
Protocol.outboundBuffer.p1sub(Static84.anIntArray209[arg0] - local27); Protocol.outboundBuffer.p1sub(PathFinder.queueZ[arg0] - local27);
} }
} }
@ -135,7 +135,7 @@ public class ClientProt {
@Pc(28) Player local28 = PlayerList.players[PlayerList.ids[local15]]; @Pc(28) Player local28 = PlayerList.players[PlayerList.ids[local15]];
if (local28 != null && local28.username != null && local28.username.equalsIgnoreCase(local7)) { if (local28 != null && local28.username != null && local28.username.equalsIgnoreCase(local7)) {
local13 = true; 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) { if (arg0 == 1) {
Protocol.outboundBuffer.p1isaac(68); Protocol.outboundBuffer.p1isaac(68);
Protocol.outboundBuffer.p2leadd(PlayerList.ids[local15]); Protocol.outboundBuffer.p2leadd(PlayerList.ids[local15]);
@ -177,7 +177,7 @@ public class ClientProt {
if (local23 == 31) { if (local23 == 31) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.type = 2;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -187,7 +187,7 @@ public class ClientProt {
} }
} }
if (local23 == 46) { if (local23 == 46) {
Static233.method4003(local31, local19, local15); PathFinder.findPathToLoc(local31, local19, local15);
Protocol.outboundBuffer.p1isaac(247); Protocol.outboundBuffer.p1isaac(247);
Protocol.outboundBuffer.p2le(Static142.originZ + local19); Protocol.outboundBuffer.p2le(Static142.originZ + local19);
Protocol.outboundBuffer.p2leadd(local15 + Static225.originX); Protocol.outboundBuffer.p2leadd(local15 + Static225.originX);
@ -209,7 +209,7 @@ public class ClientProt {
if (local23 == 19) { if (local23 == 19) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.x = Mouse.clickX;
Cross.type = 2; Cross.type = 2;
Cross.milliseconds = 0; Cross.milliseconds = 0;
@ -221,7 +221,7 @@ public class ClientProt {
if (local23 == 17) { if (local23 == 17) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.x = Mouse.clickX;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.type = 2; Cross.type = 2;
@ -233,7 +233,7 @@ public class ClientProt {
if (local23 == 44) { if (local23 == 44) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.x = Mouse.clickX;
Cross.type = 2; Cross.type = 2;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
@ -252,7 +252,7 @@ public class ClientProt {
Static250.anInt5444 = local15; Static250.anInt5444 = local15;
} }
if (local23 == 42) { if (local23 == 42) {
Static233.method4003(local31, local19, local15); PathFinder.findPathToLoc(local31, local19, local15);
Protocol.outboundBuffer.p1isaac(254); Protocol.outboundBuffer.p1isaac(254);
Protocol.outboundBuffer.p2le(local15 + Static225.originX); Protocol.outboundBuffer.p2le(local15 + Static225.originX);
Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE); Protocol.outboundBuffer.p2add((int) (local31 >>> 32) & Integer.MAX_VALUE);
@ -264,7 +264,7 @@ public class ClientProt {
if (local23 == 45) { if (local23 == 45) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.x = Mouse.clickX;
Cross.type = 2; Cross.type = 2;
Cross.milliseconds = 0; Cross.milliseconds = 0;
@ -278,11 +278,11 @@ public class ClientProt {
@Pc(560) boolean local560; @Pc(560) boolean local560;
if (local23 == 18) { if (local23 == 18) {
if (client.game == 1) { 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 { } 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) { 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.x = Mouse.clickX;
@ -295,7 +295,7 @@ public class ClientProt {
Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ);
} }
if (local23 == 1001) { if (local23 == 1001) {
Static233.method4003(local31, local19, local15); PathFinder.findPathToLoc(local31, local19, local15);
Protocol.outboundBuffer.p1isaac(170); Protocol.outboundBuffer.p1isaac(170);
Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32)); Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32));
Protocol.outboundBuffer.p2leadd(local15 + Static225.originX); Protocol.outboundBuffer.p2leadd(local15 + Static225.originX);
@ -328,7 +328,7 @@ public class ClientProt {
} else if (local36 == 1) { } else if (local36 == 1) {
if (LoginManager.staffModLevel > 0 && Keyboard.pressedKeys[Keyboard.KEY_CTRL] && Keyboard.pressedKeys[Keyboard.KEY_SHIFT]) { if (LoginManager.staffModLevel > 0 && Keyboard.pressedKeys[Keyboard.KEY_CTRL] && Keyboard.pressedKeys[Keyboard.KEY_SHIFT]) {
Cheat.teleport(Static225.originX + local15, Static142.originZ + local19, Player.level); 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(Static1.anInt5);
Protocol.outboundBuffer.p1(Static107.anInt2878); Protocol.outboundBuffer.p1(Static107.anInt2878);
Protocol.outboundBuffer.p2((int)Camera.yawTarget); Protocol.outboundBuffer.p2((int)Camera.yawTarget);
@ -338,7 +338,7 @@ public class ClientProt {
Protocol.outboundBuffer.p1(89); Protocol.outboundBuffer.p1(89);
Protocol.outboundBuffer.p2(PlayerList.self.xFine); Protocol.outboundBuffer.p2(PlayerList.self.xFine);
Protocol.outboundBuffer.p2(PlayerList.self.zFine); Protocol.outboundBuffer.p2(PlayerList.self.zFine);
Protocol.outboundBuffer.p1(Static221.anInt4364); Protocol.outboundBuffer.p1(PathFinder.anInt4364);
Protocol.outboundBuffer.p1(63); Protocol.outboundBuffer.p1(63);
} }
} }
@ -383,7 +383,7 @@ public class ClientProt {
if (local23 == 10) { if (local23 == 10) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.type = 2;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -398,7 +398,7 @@ public class ClientProt {
InterfaceList.redraw(Static39.aClass13_10); InterfaceList.redraw(Static39.aClass13_10);
} }
if (local23 == 49) { if (local23 == 49) {
Static233.method4003(local31, local19, local15); PathFinder.findPathToLoc(local31, local19, local15);
Protocol.outboundBuffer.p1isaac(84); Protocol.outboundBuffer.p1isaac(84);
Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32)); Protocol.outboundBuffer.p2leadd(Integer.MAX_VALUE & (int) (local31 >>> 32));
Protocol.outboundBuffer.p2leadd(Static142.originZ + local19); Protocol.outboundBuffer.p2leadd(Static142.originZ + local19);
@ -413,7 +413,7 @@ public class ClientProt {
Static257.aClass13_7 = InterfaceList.getComponent(local19); Static257.aClass13_7 = InterfaceList.getComponent(local19);
Static250.anInt5444 = local15; 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.p1isaac(134);
Protocol.outboundBuffer.p2add(Static225.originX + local15); Protocol.outboundBuffer.p2add(Static225.originX + local15);
Protocol.outboundBuffer.p2(Static274.anInt4997); Protocol.outboundBuffer.p2(Static274.anInt4997);
@ -425,7 +425,7 @@ public class ClientProt {
if (local23 == 37) { if (local23 == 37) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.milliseconds = 0;
Cross.type = 2; Cross.type = 2;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
@ -448,11 +448,11 @@ public class ClientProt {
} }
if (local23 == 21) { if (local23 == 21) {
if (client.game == 1) { 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 { } 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) { 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; Cross.type = 2;
@ -467,7 +467,7 @@ public class ClientProt {
if (local23 == 4) { if (local23 == 4) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.type = 2;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
@ -498,7 +498,7 @@ public class ClientProt {
if (local23 == 29) { if (local23 == 29) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.y = Mouse.clickY;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.type = 2; Cross.type = 2;
@ -519,7 +519,7 @@ public class ClientProt {
if (local23 == 15) { if (local23 == 15) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.milliseconds = 0;
Cross.type = 2; Cross.type = 2;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -532,11 +532,11 @@ public class ClientProt {
} }
if (local23 == 34) { if (local23 == 34) {
if (client.game == 1) { 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 { } 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) { 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.x = Mouse.clickX;
@ -560,7 +560,7 @@ public class ClientProt {
if (local23 == 2) { if (local23 == 2) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.y = Mouse.clickY;
Cross.type = 2; Cross.type = 2;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -585,7 +585,7 @@ public class ClientProt {
if (local23 == 26) { if (local23 == 26) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.type = 2;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
@ -608,9 +608,9 @@ public class ClientProt {
} }
} }
if (local23 == 33) { 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) { 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.x = Mouse.clickX;
Cross.milliseconds = 0; Cross.milliseconds = 0;
@ -658,7 +658,7 @@ public class ClientProt {
if (local23 == 1) { if (local23 == 1) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.milliseconds = 0;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
Cross.type = 2; Cross.type = 2;
@ -681,11 +681,11 @@ public class ClientProt {
} }
if (local23 == 24) { if (local23 == 24) {
if (client.game == 1) { 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 { } 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) { 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; Cross.type = 2;
@ -697,7 +697,7 @@ public class ClientProt {
Protocol.outboundBuffer.p2leadd(local36); Protocol.outboundBuffer.p2leadd(local36);
Protocol.outboundBuffer.p2le(Static142.originZ + local19); 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.p1isaac(233);
Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ);
Protocol.outboundBuffer.p2add(Static225.originX + local15); Protocol.outboundBuffer.p2add(Static225.originX + local15);
@ -717,7 +717,7 @@ public class ClientProt {
if (local23 == 57) { if (local23 == 57) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.type = 2;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -741,7 +741,7 @@ public class ClientProt {
return; return;
} }
if (local23 == 50) { if (local23 == 50) {
Static233.method4003(local31, local19, local15); PathFinder.findPathToLoc(local31, local19, local15);
Protocol.outboundBuffer.p1isaac(194); Protocol.outboundBuffer.p1isaac(194);
Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ); Protocol.outboundBuffer.p2leadd(local19 + Static142.originZ);
Protocol.outboundBuffer.p2le(Static225.originX + local15); Protocol.outboundBuffer.p2le(Static225.originX + local15);
@ -759,7 +759,7 @@ public class ClientProt {
if (local23 == 30) { if (local23 == 30) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.milliseconds = 0;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
@ -778,9 +778,9 @@ public class ClientProt {
Static250.anInt5444 = local15; Static250.anInt5444 = local15;
} }
if (local23 == 39) { 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) { 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.y = Mouse.clickY;
Cross.x = Mouse.clickX; Cross.x = Mouse.clickX;
@ -815,7 +815,7 @@ public class ClientProt {
if (local23 == 6) { if (local23 == 6) {
local43 = PlayerList.players[local36]; local43 = PlayerList.players[local36];
if (local43 != null) { 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.y = Mouse.clickY;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.type = 2; Cross.type = 2;
@ -826,11 +826,11 @@ public class ClientProt {
} }
if (local23 == 20) { if (local23 == 20) {
if (client.game == 1) { 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 { } 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) { 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.y = Mouse.clickY;
@ -845,7 +845,7 @@ public class ClientProt {
if (local23 == 16) { if (local23 == 16) {
local192 = NpcList.npcs[local36]; local192 = NpcList.npcs[local36];
if (local192 != null) { 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.x = Mouse.clickX;
Cross.milliseconds = 0; Cross.milliseconds = 0;
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;

View file

@ -21,7 +21,7 @@ public final class CollisionMap {
private final int anInt3899; private final int anInt3899;
@OriginalMember(owner = "client!mj", name = "m", descriptor = "[[I") @OriginalMember(owner = "client!mj", name = "m", descriptor = "[[I")
public final int[][] anIntArrayArray30; public final int[][] flags;
@OriginalMember(owner = "client!mj", name = "<init>", descriptor = "(II)V") @OriginalMember(owner = "client!mj", name = "<init>", descriptor = "(II)V")
public CollisionMap(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) { public CollisionMap(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
@ -29,7 +29,7 @@ public final class CollisionMap {
this.anInt3907 = 0; this.anInt3907 = 0;
this.anInt3912 = 0; this.anInt3912 = 0;
this.anInt3899 = arg0; this.anInt3899 = arg0;
this.anIntArrayArray30 = new int[this.anInt3899][this.anInt3904]; this.flags = new int[this.anInt3899][this.anInt3904];
this.resetFlags(); this.resetFlags();
} }
@ -295,7 +295,7 @@ public final class CollisionMap {
} }
@OriginalMember(owner = "client!mj", name = "a", descriptor = "(IIZIIIII)Z") @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 (arg5 == 1) {
if (arg1 == arg3 && arg2 == arg0) { if (arg1 == arg3 && arg2 == arg0) {
return true; return true;
@ -313,40 +313,40 @@ public final class CollisionMap {
if (local64 == local54 - 1 && local49 == local59) { if (local64 == local54 - 1 && local49 == local59) {
return true; 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; 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; return true;
} }
} else if (arg6 == 1) { } else if (arg6 == 1) {
if (local54 == local64 && local49 == local59 + 1) { if (local54 == local64 && local49 == local59 + 1) {
return true; 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; 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; return true;
} }
} else if (arg6 == 2) { } else if (arg6 == 2) {
if (local54 + 1 == local64 && local49 == local59) { if (local54 + 1 == local64 && local49 == local59) {
return true; 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; 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; return true;
} }
} else if (arg6 == 3) { } else if (arg6 == 3) {
if (local64 == local54 && local59 - 1 == local49) { if (local64 == local54 && local59 - 1 == local49) {
return true; 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; 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; return true;
} }
} }
@ -359,14 +359,14 @@ public final class CollisionMap {
if (local64 == local54 && local49 == local59 + 1) { if (local64 == local54 && local49 == local59 + 1) {
return true; 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; 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; return true;
} }
} else if (arg6 == 1) { } 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; return true;
} }
if (local54 == local64 && local59 + 1 == local49) { if (local54 == local64 && local59 + 1 == local49) {
@ -375,14 +375,14 @@ public final class CollisionMap {
if (local64 == local54 + 1 && local59 == local49) { if (local64 == local54 + 1 && local59 == local49) {
return true; 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; return true;
} }
} else if (arg6 == 2) { } 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; 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; return true;
} }
if (local54 + 1 == local64 && local59 == local49) { if (local54 + 1 == local64 && local59 == local49) {
@ -395,10 +395,10 @@ public final class CollisionMap {
if (local64 == local54 - 1 && local59 == local49) { if (local64 == local54 - 1 && local59 == local49) {
return true; 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; 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; return true;
} }
if (local64 == local54 && local49 == local59 - 1) { if (local64 == local54 && local49 == local59 - 1) {
@ -407,16 +407,16 @@ public final class CollisionMap {
} }
} }
if (arg4 == 9) { 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; 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; 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; 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; return true;
} }
} }
@ -428,40 +428,40 @@ public final class CollisionMap {
if (local64 == local54 - arg5 && local49 <= local59 && local59 <= local792) { if (local64 == local54 - arg5 && local49 <= local59 && local59 <= local792) {
return true; 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; 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; return true;
} }
} else if (arg6 == 1) { } else if (arg6 == 1) {
if (local54 >= local64 && local54 <= local785 && local59 + 1 == local49) { if (local54 >= local64 && local54 <= local785 && local59 + 1 == local49) {
return true; 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; 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; return true;
} }
} else if (arg6 == 2) { } else if (arg6 == 2) {
if (local54 + 1 == local64 && local49 <= local59 && local59 <= local792) { if (local54 + 1 == local64 && local49 <= local59 && local59 <= local792) {
return true; 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; 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; return true;
} }
} else if (arg6 == 3) { } else if (arg6 == 3) {
if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) { if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) {
return true; 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; 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; return true;
} }
} }
@ -474,14 +474,14 @@ public final class CollisionMap {
if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) { if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) {
return true; 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; 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; return true;
} }
} else if (arg6 == 1) { } 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; return true;
} }
if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) { if (local64 <= local54 && local785 >= local54 && local49 == local59 + 1) {
@ -490,14 +490,14 @@ public final class CollisionMap {
if (local54 + 1 == local64 && local59 >= local49 && local59 <= local792) { if (local54 + 1 == local64 && local59 >= local49 && local59 <= local792) {
return true; 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; return true;
} }
} else if (arg6 == 2) { } 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; 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; return true;
} }
if (local64 == local54 + 1 && local49 <= local59 && local59 <= local792) { if (local64 == local54 + 1 && local49 <= local59 && local59 <= local792) {
@ -510,10 +510,10 @@ public final class CollisionMap {
if (local54 - arg5 == local64 && local59 >= local49 && local59 <= local792) { if (local54 - arg5 == local64 && local59 >= local49 && local59 <= local792) {
return true; 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; 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; return true;
} }
if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) { if (local64 <= local54 && local785 >= local54 && local59 - arg5 == local49) {
@ -522,16 +522,16 @@ public final class CollisionMap {
} }
} }
if (arg4 == 9) { 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; 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; 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; 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; return true;
} }
} }
@ -560,11 +560,11 @@ public final class CollisionMap {
@OriginalMember(owner = "client!mj", name = "a", descriptor = "(IBII)V") @OriginalMember(owner = "client!mj", name = "a", descriptor = "(IBII)V")
private void method3044(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { 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") @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 (arg4 == 1) {
if (arg2 == arg6 && arg0 == arg3) { if (arg2 == arg6 && arg0 == arg3) {
return true; return true;
@ -582,46 +582,46 @@ public final class CollisionMap {
arg5 = arg5 + 2 & 0x3; arg5 = arg5 + 2 & 0x3;
} }
if (arg5 == 0) { 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; 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; return true;
} }
} else if (arg5 == 1) { } 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; 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; return true;
} }
} else if (arg5 == 2) { } 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; 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; return true;
} }
} else if (arg5 == 3) { } 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; 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; return true;
} }
} }
} }
if (arg1 == 8) { 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; 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; 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; 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; return true;
} }
} }
@ -633,46 +633,46 @@ public final class CollisionMap {
arg5 = arg5 + 2 & 0x3; arg5 = arg5 + 2 & 0x3;
} }
if (arg5 == 0) { 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; 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; return true;
} }
} else if (arg5 == 1) { } 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; 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; return true;
} }
} else if (arg5 == 2) { } 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; 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; return true;
} }
} else if (arg5 == 3) { } 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; 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; return true;
} }
} }
} }
if (arg1 == 8) { 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; 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; 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; 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; return true;
} }
} }
@ -693,7 +693,7 @@ public final class CollisionMap {
local45 = arg5; local45 = arg5;
local52 = local22 >= local9 ? local9 : local22; local52 = local22 >= local9 ? local9 : local22;
while (local52 > local45) { 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; return true;
} }
local45++; local45++;
@ -702,7 +702,7 @@ public final class CollisionMap {
local45 = arg5; local45 = arg5;
local52 = local9 > local22 ? local22 : local9; local52 = local9 > local22 ? local22 : local9;
while (local52 > local45) { 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; return true;
} }
local45++; local45++;
@ -711,13 +711,13 @@ public final class CollisionMap {
} else if (local9 > arg0 && local9 <= local22) { } else if (local9 > arg0 && local9 <= local22) {
if (arg1 == local13 && (arg3 & 0x4) == 0) { if (arg1 == local13 && (arg3 & 0x4) == 0) {
for (local45 = arg0; local45 < local9; local45++) { 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; return true;
} }
} }
} else if (arg6 == local27 && (arg3 & 0x1) == 0) { } else if (arg6 == local27 && (arg3 & 0x1) == 0) {
for (local45 = arg0; local45 < local9; local45++) { 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; return true;
} }
} }
@ -727,7 +727,7 @@ public final class CollisionMap {
local45 = arg6; local45 = arg6;
local52 = local27 >= local13 ? local13 : local27; local52 = local27 >= local13 ? local13 : local27;
while (local45 < local52) { 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; return true;
} }
local45++; local45++;
@ -736,7 +736,7 @@ public final class CollisionMap {
local45 = arg6; local45 = arg6;
local52 = local27 < local13 ? local27 : local13; local52 = local27 < local13 ? local27 : local13;
while (local45 < local52) { 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; return true;
} }
local45++; local45++;
@ -745,13 +745,13 @@ public final class CollisionMap {
} else if (arg1 < local13 && local27 >= local13) { } else if (arg1 < local13 && local27 >= local13) {
if (local9 == arg0 && (arg3 & 0x8) == 0) { if (local9 == arg0 && (arg3 & 0x8) == 0) {
for (local45 = arg1; local45 < local13; local45++) { 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; return true;
} }
} }
} else if (local22 == arg5 && (arg3 & 0x2) == 0) { } else if (local22 == arg5 && (arg3 & 0x2) == 0) {
for (local45 = arg1; local45 < local13; local45++) { 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; return true;
} }
} }
@ -765,9 +765,9 @@ public final class CollisionMap {
for (@Pc(3) int local3 = 0; local3 < this.anInt3899; local3++) { for (@Pc(3) int local3 = 0; local3 < this.anInt3899; local3++) {
for (@Pc(13) int local13 = 0; local13 < this.anInt3904; local13++) { for (@Pc(13) int local13 = 0; local13 < this.anInt3904; local13++) {
if (local3 == 0 || local13 == 0 || local3 >= this.anInt3899 - 5 || this.anInt3904 - 5 <= 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 { } 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) { public final void addRangeableFlag(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
@Pc(12) int local12 = arg0 - this.anInt3907; @Pc(12) int local12 = arg0 - this.anInt3907;
@Pc(17) int local17 = arg1 - this.anInt3912; @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") @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) { 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); 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; @Pc(47) int local47 = arg6 + arg7 - 1;
if (arg0 <= arg2 && local41 >= arg2 && arg6 <= arg1 && arg1 <= local47) { if (arg0 <= arg2 && local41 >= arg2 && arg6 <= arg1 && arg1 <= local47) {
return true; 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; 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; 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; return true;
} else { } 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) { public final void method3053(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
@Pc(4) int local4 = arg1 - this.anInt3912; @Pc(4) int local4 = arg1 - this.anInt3912;
@Pc(9) int local9 = arg0 - this.anInt3907; @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") @OriginalMember(owner = "client!mj", name = "b", descriptor = "(IIIII)Z")
@ -838,12 +838,12 @@ public final class CollisionMap {
local117 = local77 * 65536 / local96; local117 = local77 * 65536 / local96;
while (local61 != local22) { while (local61 != local22) {
if (local22 > local61) { if (local22 > local61) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0102) != 0) { if ((this.flags[local66][local61] & 0x12C0102) != 0) {
return false; return false;
} }
local61++; local61++;
} else if (local22 < local61) { } else if (local22 < local61) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0120) != 0) { if ((this.flags[local66][local61] & 0x12C0120) != 0) {
return false; return false;
} }
local61--; local61--;
@ -852,12 +852,12 @@ public final class CollisionMap {
if (local111 >= 65536) { if (local111 >= 65536) {
local111 -= 65536; local111 -= 65536;
if (local66 < local33) { if (local66 < local33) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0108) != 0) { if ((this.flags[local66][local61] & 0x12C0108) != 0) {
return false; return false;
} }
local66++; local66++;
} else if (local66 > local33) { } else if (local66 > local33) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0180) != 0) { if ((this.flags[local66][local61] & 0x12C0180) != 0) {
return false; return false;
} }
local66--; local66--;
@ -869,12 +869,12 @@ public final class CollisionMap {
local111 = 32768; local111 = 32768;
while (local33 != local66) { while (local33 != local66) {
if (local66 < local33) { if (local66 < local33) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0108) != 0) { if ((this.flags[local66][local61] & 0x12C0108) != 0) {
return false; return false;
} }
local66++; local66++;
} else if (local33 < local66) { } else if (local33 < local66) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0180) != 0) { if ((this.flags[local66][local61] & 0x12C0180) != 0) {
return false; return false;
} }
local66--; local66--;
@ -883,12 +883,12 @@ public final class CollisionMap {
if (local111 >= 65536) { if (local111 >= 65536) {
local111 -= 65536; local111 -= 65536;
if (local61 < local22) { if (local61 < local22) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0102) != 0) { if ((this.flags[local66][local61] & 0x12C0102) != 0) {
return false; return false;
} }
local61++; local61++;
} else if (local22 < local61) { } else if (local22 < local61) {
if ((this.anIntArrayArray30[local66][local61] & 0x12C0120) != 0) { if ((this.flags[local66][local61] & 0x12C0120) != 0) {
return false; return false;
} }
local61--; 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") @OriginalMember(owner = "client!mj", name = "a", descriptor = "(BIII)V")
private void method3055(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) { 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") @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) { public final void method3057(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
@Pc(4) int local4 = arg1 - this.anInt3907; @Pc(4) int local4 = arg1 - this.anInt3907;
@Pc(17) int local17 = arg0 - this.anInt3912; @Pc(17) int local17 = arg0 - this.anInt3912;
this.anIntArrayArray30[local17][local4] |= 0x40000; this.flags[local17][local4] |= 0x40000;
} }
} }

View file

@ -296,8 +296,11 @@ public final class Component {
@OriginalMember(owner = "client!be", name = "Hb", descriptor = "Z") @OriginalMember(owner = "client!be", name = "Hb", descriptor = "Z")
public boolean usingScripts = false; 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;") @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") @OriginalMember(owner = "client!be", name = "cc", descriptor = "I")
public int anInt492 = 0; public int anInt492 = 0;

View file

@ -134,7 +134,7 @@ public class MiniMap {
@Pc(237) int local237 = local76; @Pc(237) int local237 = local76;
local194 = local37; local194 = local37;
if (local187 != 22 && local187 != 29 && local187 != 34 && local187 != 36 && local187 != 46 && local187 != 47 && local187 != 48) { 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++) { for (@Pc(271) int local271 = 0; local271 < 10; local271++) {
@Pc(281) int local281 = (int) (Math.random() * 4.0D); @Pc(281) int local281 = (int) (Math.random() * 4.0D);
if (local281 == 0 && local194 > 0 && local37 - 3 < local194 && (local269[local194 - 1][local237] & 0x12C0108) == 0) { if (local281 == 0 && local194 > 0 && local37 - 3 < local194 && (local269[local194 - 1][local237] & 0x12C0108) == 0) {

View file

@ -1,8 +1,665 @@
package rt4; package rt4;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
public class PathFinder { public class PathFinder {
@OriginalMember(owner = "client!li", name = "h", descriptor = "[Lclient!mj;") @OriginalMember(owner = "client!li", name = "h", descriptor = "[Lclient!mj;")
public static final CollisionMap[] collisionMaps = new CollisionMap[4]; 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;
}
} }

View file

@ -2765,7 +2765,7 @@ public class Protocol {
} }
Static187.anInt4422 = 0; Static187.anInt4422 = 0;
} else if (Static56.anInt1742 != -1 && Static125.anInt3096 == 0 && 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) { if (local1871) {
Cross.y = Mouse.clickY; Cross.y = Mouse.clickY;
Cross.milliseconds = 0; Cross.milliseconds = 0;

View file

@ -1,7 +1,7 @@
package rt4; package rt4;
import java.util.Calendar; import java.util.Calendar;
import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc; import org.openrs2.deob.annotation.Pc;
@ -44,14 +44,4 @@ public final class Static102 {
Static20.objectContainerCache = new HashTable(32); 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);
}
}
} }

View file

@ -6,9 +6,6 @@ import org.openrs2.deob.annotation.Pc;
public final class Static145 { 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") @OriginalMember(owner = "client!lf", name = "k", descriptor = "I")
public static int anInt3502 = -1; public static int anInt3502 = -1;

View file

@ -15,9 +15,6 @@ public final class Static167 {
@OriginalMember(owner = "client!nd", name = "b", descriptor = "Lclient!na;") @OriginalMember(owner = "client!nd", name = "b", descriptor = "Lclient!na;")
public static final JagString aClass100_780 = JagString.parse("Clientscript error in: "); 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;") @OriginalMember(owner = "client!nd", name = "x", descriptor = "Lclient!na;")
public static final JagString aClass100_783 = JagString.parse(")4p="); public static final JagString aClass100_783 = JagString.parse(")4p=");

View file

@ -62,182 +62,6 @@ 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) { public static void method13(@OriginalArg(1) Component arg0) {
@Pc(16) int local16 = arg0.anInt453; @Pc(16) int local16 = arg0.anInt453;

View file

@ -12,9 +12,6 @@ public final class Static221 {
@OriginalMember(owner = "client!s", name = "i", descriptor = "[I") @OriginalMember(owner = "client!s", name = "i", descriptor = "[I")
public static int[] anIntArray376; 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) { public static void method3392(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
if (Static250.anInt5434 > 0) { if (Static250.anInt5434 > 0) {

View file

@ -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;
}
} }

View file

@ -25,7 +25,7 @@ public final class Static245 {
for (@Pc(10) int local10 = 0; local10 < 8; local10++) { for (@Pc(10) int local10 = 0; local10 < 8; local10++) {
for (local17 = 0; local17 < 8; local17++) { for (local17 = 0; local17 < 8; local17++) {
if (arg1 + local10 > 0 && local10 + arg1 < 103 && local17 + arg4 > 0 && arg4 + local17 < 103) { 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;
} }
} }
} }

View file

@ -31,16 +31,16 @@ public final class Static254 {
} else { } else {
@Pc(47) int local47 = 0; @Pc(47) int local47 = 0;
@Pc(49) byte local49 = 0; @Pc(49) byte local49 = 0;
Static259.anIntArray514[0] = arg1; PathFinder.queueX[0] = arg1;
@Pc(69) int local69 = local49 + 1; @Pc(69) int local69 = local49 + 1;
Static84.anIntArray209[0] = arg2; PathFinder.queueZ[0] = arg2;
Static266.aByteArrayArrayArray15[Player.level][arg1][arg2] = local14; Static266.aByteArrayArrayArray15[Player.level][arg1][arg2] = local14;
while (local47 != local69) { while (local47 != local69) {
@Pc(94) int local94 = Static259.anIntArray514[local47] >> 16 & 0xFF; @Pc(94) int local94 = PathFinder.queueX[local47] >> 16 & 0xFF;
@Pc(102) int local102 = Static259.anIntArray514[local47] >> 24 & 0xFF; @Pc(102) int local102 = PathFinder.queueX[local47] >> 24 & 0xFF;
@Pc(108) int local108 = Static259.anIntArray514[local47] & 0xFFFF; @Pc(108) int local108 = PathFinder.queueX[local47] & 0xFFFF;
@Pc(116) int local116 = Static84.anIntArray209[local47] >> 16 & 0xFF; @Pc(116) int local116 = PathFinder.queueZ[local47] >> 16 & 0xFF;
@Pc(122) int local122 = Static84.anIntArray209[local47] & 0xFFFF; @Pc(122) int local122 = PathFinder.queueZ[local47] & 0xFFFF;
local47 = local47 + 1 & 0xFFF; local47 = local47 + 1 & 0xFFF;
@Pc(130) boolean local130 = false; @Pc(130) boolean local130 = false;
@Pc(132) boolean local132 = false; @Pc(132) boolean local132 = false;
@ -122,56 +122,56 @@ public final class Static254 {
} }
if (!local130) { if (!local130) {
if (local108 >= 1 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14) { if (local108 >= 1 && Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] != local14) {
Static259.anIntArray514[local69] = local108 - 1 | 0x120000 | 0xD3000000; PathFinder.queueX[local69] = local108 - 1 | 0x120000 | 0xD3000000;
Static84.anIntArray209[local69] = local122 | 0x130000; PathFinder.queueZ[local69] = local122 | 0x130000;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14;
} }
local122++; local122++;
if (local122 < 104) { 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) { 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; PathFinder.queueX[local69] = 0x52000000 | 0x120000 | local108 - 1;
Static84.anIntArray209[local69] = local122 | 0x130000; PathFinder.queueZ[local69] = local122 | 0x130000;
Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
} }
if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) { if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) {
Static259.anIntArray514[local69] = local108 | 0x13000000 | 0x520000; PathFinder.queueX[local69] = local108 | 0x13000000 | 0x520000;
Static84.anIntArray209[local69] = local122 | 0x530000; PathFinder.queueZ[local69] = local122 | 0x530000;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; 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) { 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; PathFinder.queueX[local69] = 0x92000000 | 0x520000 | local108 + 1;
Static84.anIntArray209[local69] = local122 | 0x530000; PathFinder.queueZ[local69] = local122 | 0x530000;
Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
} }
} }
local122--; local122--;
if (local108 + 1 < 104 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122]) { if (local108 + 1 < 104 && local14 != Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122]) {
Static259.anIntArray514[local69] = local108 + 1 | 0x920000 | 0x53000000; PathFinder.queueX[local69] = local108 + 1 | 0x920000 | 0x53000000;
Static84.anIntArray209[local69] = local122 | 0x930000; PathFinder.queueZ[local69] = local122 | 0x930000;
Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
} }
local122--; local122--;
if (local122 >= 0) { 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) { 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; PathFinder.queueX[local69] = local108 - 1 | 0xD20000 | 0x12000000;
Static84.anIntArray209[local69] = local122 | 0xD30000; PathFinder.queueZ[local69] = local122 | 0xD30000;
Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 - 1][local122] = local14;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
} }
if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) { if (local14 != Static266.aByteArrayArrayArray15[Player.level][local108][local122]) {
Static259.anIntArray514[local69] = local108 | 0xD20000 | 0x93000000; PathFinder.queueX[local69] = local108 | 0xD20000 | 0x93000000;
Static84.anIntArray209[local69] = local122 | 0xD30000; PathFinder.queueZ[local69] = local122 | 0xD30000;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
Static266.aByteArrayArrayArray15[Player.level][local108][local122] = local14; 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) { 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; PathFinder.queueX[local69] = local108 + 1 | 0xD2000000 | 0x920000;
Static84.anIntArray209[local69] = local122 | 0x930000; PathFinder.queueZ[local69] = local122 | 0x930000;
Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14; Static266.aByteArrayArrayArray15[Player.level][local108 + 1][local122] = local14;
local69 = local69 + 1 & 0xFFF; local69 = local69 + 1 & 0xFFF;
} }

View file

@ -7,6 +7,4 @@ public final class Static259 {
@OriginalMember(owner = "client!vc", name = "V", descriptor = "[J") @OriginalMember(owner = "client!vc", name = "V", descriptor = "[J")
public static final long[] aLongArray11 = new long[1000]; public static final long[] aLongArray11 = new long[1000];
@OriginalMember(owner = "client!vc", name = "eb", descriptor = "[I")
public static final int[] anIntArray514 = new int[4096];
} }

View file

@ -18,7 +18,7 @@ public final class Static269 {
for (local14 = 0; local14 < 64; local14++) { for (local14 = 0; local14 < 64; local14++) {
for (local21 = 0; local21 < 64; local21++) { for (local21 = 0; local21 < 64; local21++) {
if (arg4 + local14 > 0 && local14 + arg4 < 103 && arg3 + local21 > 0 && local21 + arg3 < 103) { 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;
} }
} }
} }

View file

@ -9,9 +9,6 @@ public final class Static45 {
@OriginalMember(owner = "client!di", name = "q", descriptor = "[Lclient!na;") @OriginalMember(owner = "client!di", name = "q", descriptor = "[Lclient!na;")
public static final JagString[] aClass100Array53 = new JagString[5]; 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") @OriginalMember(owner = "client!di", name = "H", descriptor = "Z")
public static boolean aBoolean84 = false; 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;
}
}
} }

View file

@ -8,9 +8,6 @@ public final class Static84 {
@OriginalMember(owner = "client!gk", name = "d", descriptor = "F") @OriginalMember(owner = "client!gk", name = "d", descriptor = "F")
public static float aFloat10; 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") @OriginalMember(owner = "client!gk", name = "g", descriptor = "Z")
public static boolean aBoolean127 = false; public static boolean aBoolean127 = false;

View file

@ -2,7 +2,6 @@ package rt4;
import org.openrs2.deob.annotation.OriginalArg; import org.openrs2.deob.annotation.OriginalArg;
import org.openrs2.deob.annotation.OriginalMember; import org.openrs2.deob.annotation.OriginalMember;
import org.openrs2.deob.annotation.Pc;
public final class Static96 { 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;
}
}
} }

View file

@ -989,7 +989,7 @@ public final class client extends GameShell {
if (local66.getSize() > 1) { if (local66.getSize() > 1) {
for (@Pc(226) int local226 = local66.movementQueueX[0]; local66.movementQueueX[0] + local66.getSize() > local226; local226++) { 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++) { 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; continue nextNpc;
} }
} }