533 lines
11 KiB
Java
533 lines
11 KiB
Java
import java.io.File;
|
|
import java.io.IOException;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedGetter;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("fm")
|
|
@Implements("CollisionMap")
|
|
public class CollisionMap {
|
|
@ObfuscatedName("av")
|
|
@ObfuscatedGetter(
|
|
intValue = 1716548279
|
|
)
|
|
@Export("xInset")
|
|
int xInset;
|
|
@ObfuscatedName("am")
|
|
@ObfuscatedGetter(
|
|
intValue = 100209491
|
|
)
|
|
@Export("yInset")
|
|
int yInset;
|
|
@ObfuscatedName("ab")
|
|
@ObfuscatedGetter(
|
|
intValue = -1893583227
|
|
)
|
|
@Export("xSize")
|
|
int xSize;
|
|
@ObfuscatedName("ax")
|
|
@ObfuscatedGetter(
|
|
intValue = 430347067
|
|
)
|
|
@Export("ySize")
|
|
int ySize;
|
|
@ObfuscatedName("al")
|
|
@Export("flags")
|
|
public int[][] flags;
|
|
|
|
public CollisionMap(int var1, int var2) {
|
|
this.xInset = 0;
|
|
this.yInset = 0;
|
|
this.xSize = var1;
|
|
this.ySize = var2;
|
|
this.flags = new int[this.xSize][this.ySize];
|
|
this.clear();
|
|
}
|
|
|
|
@ObfuscatedName("a")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)V",
|
|
garbageValue = "-418924176"
|
|
)
|
|
@Export("clear")
|
|
public void clear() {
|
|
for (int var1 = 0; var1 < this.xSize; ++var1) {
|
|
for (int var2 = 0; var2 < this.ySize; ++var2) {
|
|
if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) {
|
|
this.flags[var1][var2] = 16777216;
|
|
} else {
|
|
this.flags[var1][var2] = 16777215;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("t")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIZI)V",
|
|
garbageValue = "-622707761"
|
|
)
|
|
public void method3685(int var1, int var2, int var3, int var4, boolean var5) {
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
if (var3 == 0) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 128);
|
|
this.setFlag(var1 - 1, var2, 8);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 2);
|
|
this.setFlag(var1, var2 + 1, 32);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 8);
|
|
this.setFlag(var1 + 1, var2, 128);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 32);
|
|
this.setFlag(var1, var2 - 1, 2);
|
|
}
|
|
}
|
|
|
|
if (var3 == 1 || var3 == 3) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 1);
|
|
this.setFlag(var1 - 1, var2 + 1, 16);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 4);
|
|
this.setFlag(var1 + 1, var2 + 1, 64);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 16);
|
|
this.setFlag(var1 + 1, var2 - 1, 1);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 64);
|
|
this.setFlag(var1 - 1, var2 - 1, 4);
|
|
}
|
|
}
|
|
|
|
if (var3 == 2) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 130);
|
|
this.setFlag(var1 - 1, var2, 8);
|
|
this.setFlag(var1, var2 + 1, 32);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 10);
|
|
this.setFlag(var1, var2 + 1, 32);
|
|
this.setFlag(var1 + 1, var2, 128);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 40);
|
|
this.setFlag(var1 + 1, var2, 128);
|
|
this.setFlag(var1, var2 - 1, 2);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 160);
|
|
this.setFlag(var1, var2 - 1, 2);
|
|
this.setFlag(var1 - 1, var2, 8);
|
|
}
|
|
}
|
|
|
|
if (var5) {
|
|
if (var3 == 0) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 65536);
|
|
this.setFlag(var1 - 1, var2, 4096);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 1024);
|
|
this.setFlag(var1, var2 + 1, 16384);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 4096);
|
|
this.setFlag(var1 + 1, var2, 65536);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 16384);
|
|
this.setFlag(var1, var2 - 1, 1024);
|
|
}
|
|
}
|
|
|
|
if (var3 == 1 || var3 == 3) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 512);
|
|
this.setFlag(var1 - 1, var2 + 1, 8192);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 2048);
|
|
this.setFlag(var1 + 1, var2 + 1, 32768);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 8192);
|
|
this.setFlag(var1 + 1, var2 - 1, 512);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 32768);
|
|
this.setFlag(var1 - 1, var2 - 1, 2048);
|
|
}
|
|
}
|
|
|
|
if (var3 == 2) {
|
|
if (var4 == 0) {
|
|
this.setFlag(var1, var2, 66560);
|
|
this.setFlag(var1 - 1, var2, 4096);
|
|
this.setFlag(var1, var2 + 1, 16384);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlag(var1, var2, 5120);
|
|
this.setFlag(var1, var2 + 1, 16384);
|
|
this.setFlag(var1 + 1, var2, 65536);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlag(var1, var2, 20480);
|
|
this.setFlag(var1 + 1, var2, 65536);
|
|
this.setFlag(var1, var2 - 1, 1024);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlag(var1, var2, 81920);
|
|
this.setFlag(var1, var2 - 1, 1024);
|
|
this.setFlag(var1 - 1, var2, 4096);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIZS)V",
|
|
garbageValue = "463"
|
|
)
|
|
@Export("addGameObject")
|
|
public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) {
|
|
int var6 = 256;
|
|
if (var5) {
|
|
var6 += 131072;
|
|
}
|
|
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
|
|
for (int var7 = var1; var7 < var3 + var1; ++var7) {
|
|
if (var7 >= 0 && var7 < this.xSize) {
|
|
for (int var8 = var2; var8 < var2 + var4; ++var8) {
|
|
if (var8 >= 0 && var8 < this.ySize) {
|
|
this.setFlag(var7, var8, var6);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)V",
|
|
garbageValue = "-712245850"
|
|
)
|
|
@Export("setBlockedByFloor")
|
|
public void setBlockedByFloor(int var1, int var2) {
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
int[] var10000 = this.flags[var1];
|
|
var10000[var2] |= 2097152;
|
|
}
|
|
|
|
@ObfuscatedName("v")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)V",
|
|
garbageValue = "1787525972"
|
|
)
|
|
@Export("setBlockedByFloorDec")
|
|
public void setBlockedByFloorDec(int var1, int var2) {
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
int[] var10000 = this.flags[var1];
|
|
var10000[var2] |= 262144;
|
|
}
|
|
|
|
@ObfuscatedName("l")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)V",
|
|
garbageValue = "-1353999324"
|
|
)
|
|
@Export("setFlag")
|
|
void setFlag(int var1, int var2, int var3) {
|
|
int[] var10000 = this.flags[var1];
|
|
var10000[var2] |= var3;
|
|
}
|
|
|
|
@ObfuscatedName("c")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIZI)V",
|
|
garbageValue = "343029197"
|
|
)
|
|
public void method3690(int var1, int var2, int var3, int var4, boolean var5) {
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
if (var3 == 0) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 128);
|
|
this.setFlagOff(var1 - 1, var2, 8);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 2);
|
|
this.setFlagOff(var1, var2 + 1, 32);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 8);
|
|
this.setFlagOff(var1 + 1, var2, 128);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 32);
|
|
this.setFlagOff(var1, var2 - 1, 2);
|
|
}
|
|
}
|
|
|
|
if (var3 == 1 || var3 == 3) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 1);
|
|
this.setFlagOff(var1 - 1, var2 + 1, 16);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 4);
|
|
this.setFlagOff(var1 + 1, var2 + 1, 64);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 16);
|
|
this.setFlagOff(var1 + 1, var2 - 1, 1);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 64);
|
|
this.setFlagOff(var1 - 1, var2 - 1, 4);
|
|
}
|
|
}
|
|
|
|
if (var3 == 2) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 130);
|
|
this.setFlagOff(var1 - 1, var2, 8);
|
|
this.setFlagOff(var1, var2 + 1, 32);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 10);
|
|
this.setFlagOff(var1, var2 + 1, 32);
|
|
this.setFlagOff(var1 + 1, var2, 128);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 40);
|
|
this.setFlagOff(var1 + 1, var2, 128);
|
|
this.setFlagOff(var1, var2 - 1, 2);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 160);
|
|
this.setFlagOff(var1, var2 - 1, 2);
|
|
this.setFlagOff(var1 - 1, var2, 8);
|
|
}
|
|
}
|
|
|
|
if (var5) {
|
|
if (var3 == 0) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 65536);
|
|
this.setFlagOff(var1 - 1, var2, 4096);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 1024);
|
|
this.setFlagOff(var1, var2 + 1, 16384);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 4096);
|
|
this.setFlagOff(var1 + 1, var2, 65536);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 16384);
|
|
this.setFlagOff(var1, var2 - 1, 1024);
|
|
}
|
|
}
|
|
|
|
if (var3 == 1 || var3 == 3) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 512);
|
|
this.setFlagOff(var1 - 1, var2 + 1, 8192);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 2048);
|
|
this.setFlagOff(var1 + 1, var2 + 1, 32768);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 8192);
|
|
this.setFlagOff(var1 + 1, var2 - 1, 512);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 32768);
|
|
this.setFlagOff(var1 - 1, var2 - 1, 2048);
|
|
}
|
|
}
|
|
|
|
if (var3 == 2) {
|
|
if (var4 == 0) {
|
|
this.setFlagOff(var1, var2, 66560);
|
|
this.setFlagOff(var1 - 1, var2, 4096);
|
|
this.setFlagOff(var1, var2 + 1, 16384);
|
|
}
|
|
|
|
if (var4 == 1) {
|
|
this.setFlagOff(var1, var2, 5120);
|
|
this.setFlagOff(var1, var2 + 1, 16384);
|
|
this.setFlagOff(var1 + 1, var2, 65536);
|
|
}
|
|
|
|
if (var4 == 2) {
|
|
this.setFlagOff(var1, var2, 20480);
|
|
this.setFlagOff(var1 + 1, var2, 65536);
|
|
this.setFlagOff(var1, var2 - 1, 1024);
|
|
}
|
|
|
|
if (var4 == 3) {
|
|
this.setFlagOff(var1, var2, 81920);
|
|
this.setFlagOff(var1, var2 - 1, 1024);
|
|
this.setFlagOff(var1 - 1, var2, 4096);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIZB)V",
|
|
garbageValue = "16"
|
|
)
|
|
@Export("setFlagOffNonSquare")
|
|
public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) {
|
|
int var7 = 256;
|
|
if (var6) {
|
|
var7 += 131072;
|
|
}
|
|
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
int var8;
|
|
if (var5 == 1 || var5 == 3) {
|
|
var8 = var3;
|
|
var3 = var4;
|
|
var4 = var8;
|
|
}
|
|
|
|
for (var8 = var1; var8 < var3 + var1; ++var8) {
|
|
if (var8 >= 0 && var8 < this.xSize) {
|
|
for (int var9 = var2; var9 < var2 + var4; ++var9) {
|
|
if (var9 >= 0 && var9 < this.ySize) {
|
|
this.setFlagOff(var8, var9, var7);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("i")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIII)V",
|
|
garbageValue = "-840002361"
|
|
)
|
|
@Export("setFlagOff")
|
|
void setFlagOff(int var1, int var2, int var3) {
|
|
int[] var10000 = this.flags[var1];
|
|
var10000[var2] &= ~var3;
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIS)V",
|
|
garbageValue = "-31094"
|
|
)
|
|
public void method3693(int var1, int var2) {
|
|
var1 -= this.xInset;
|
|
var2 -= this.yInset;
|
|
int[] var10000 = this.flags[var1];
|
|
var10000[var2] &= -262145;
|
|
}
|
|
|
|
@ObfuscatedName("n")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmh;",
|
|
garbageValue = "1385178219"
|
|
)
|
|
@Export("getPreferencesFile")
|
|
public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) {
|
|
File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat");
|
|
if (var3.exists()) {
|
|
try {
|
|
AccessFile var10 = new AccessFile(var3, "rw", 10000L);
|
|
return var10;
|
|
} catch (IOException var9) {
|
|
}
|
|
}
|
|
|
|
String var4 = "";
|
|
if (class189.cacheGamebuild == 33) {
|
|
var4 = "_rc";
|
|
} else if (class189.cacheGamebuild == 34) {
|
|
var4 = "_wip";
|
|
}
|
|
|
|
File var5 = new File(class30.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat");
|
|
AccessFile var6;
|
|
if (!var2 && var5.exists()) {
|
|
try {
|
|
var6 = new AccessFile(var5, "rw", 10000L);
|
|
return var6;
|
|
} catch (IOException var8) {
|
|
}
|
|
}
|
|
|
|
try {
|
|
var6 = new AccessFile(var3, "rw", 10000L);
|
|
return var6;
|
|
} catch (IOException var7) {
|
|
throw new RuntimeException();
|
|
}
|
|
}
|
|
}
|