Files
runelite/runescape-client/src/main/java/CollisionMap.java
2021-12-09 15:21:52 +02:00

496 lines
13 KiB
Java

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("gf")
@Implements("CollisionMap")
public class CollisionMap {
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "Lku;"
)
@Export("Widget_archive")
static AbstractArchive Widget_archive;
@ObfuscatedName("au")
@ObfuscatedGetter(
intValue = -468449553
)
@Export("xInset")
public int xInset;
@ObfuscatedName("av")
@ObfuscatedGetter(
intValue = 1145848025
)
@Export("yInset")
public int yInset;
@ObfuscatedName("ap")
@ObfuscatedGetter(
intValue = -19746195
)
@Export("xSize")
int xSize;
@ObfuscatedName("ac")
@ObfuscatedGetter(
intValue = -626517961
)
@Export("ySize")
int ySize;
@ObfuscatedName("aj")
@Export("flags")
public int[][] flags;
public CollisionMap(int var1, int var2) {
this.xInset = 0; // L: 44
this.yInset = 0; // L: 45
this.xSize = var1; // L: 46
this.ySize = var2; // L: 47
this.flags = new int[this.xSize][this.ySize]; // L: 48
this.clear(); // L: 49
} // L: 50
@ObfuscatedName("c")
@ObfuscatedSignature(
descriptor = "(I)V",
garbageValue = "1388482876"
)
@Export("clear")
public void clear() {
for (int var1 = 0; var1 < this.xSize; ++var1) { // L: 53
for (int var2 = 0; var2 < this.ySize; ++var2) { // L: 54
if (var1 != 0 && var2 != 0 && var1 < this.xSize - 5 && var2 < this.ySize - 5) { // L: 55
this.flags[var1][var2] = 16777216; // L: 56
} else {
this.flags[var1][var2] = 16777215;
}
}
}
} // L: 59
@ObfuscatedName("b")
@ObfuscatedSignature(
descriptor = "(IIIIZI)V",
garbageValue = "-785660455"
)
public void method3721(int var1, int var2, int var3, int var4, boolean var5) {
var1 -= this.xInset; // L: 62
var2 -= this.yInset; // L: 63
if (var3 == 0) { // L: 64
if (var4 == 0) { // L: 65
this.setFlag(var1, var2, 128); // L: 66
this.setFlag(var1 - 1, var2, 8); // L: 67
}
if (var4 == 1) { // L: 69
this.setFlag(var1, var2, 2); // L: 70
this.setFlag(var1, var2 + 1, 32); // L: 71
}
if (var4 == 2) { // L: 73
this.setFlag(var1, var2, 8); // L: 74
this.setFlag(var1 + 1, var2, 128); // L: 75
}
if (var4 == 3) { // L: 77
this.setFlag(var1, var2, 32); // L: 78
this.setFlag(var1, var2 - 1, 2); // L: 79
}
}
if (var3 == 1 || var3 == 3) { // L: 82
if (var4 == 0) { // L: 83
this.setFlag(var1, var2, 1); // L: 84
this.setFlag(var1 - 1, var2 + 1, 16); // L: 85
}
if (var4 == 1) { // L: 87
this.setFlag(var1, var2, 4); // L: 88
this.setFlag(var1 + 1, var2 + 1, 64); // L: 89
}
if (var4 == 2) { // L: 91
this.setFlag(var1, var2, 16); // L: 92
this.setFlag(var1 + 1, var2 - 1, 1); // L: 93
}
if (var4 == 3) { // L: 95
this.setFlag(var1, var2, 64); // L: 96
this.setFlag(var1 - 1, var2 - 1, 4); // L: 97
}
}
if (var3 == 2) { // L: 100
if (var4 == 0) { // L: 101
this.setFlag(var1, var2, 130); // L: 102
this.setFlag(var1 - 1, var2, 8); // L: 103
this.setFlag(var1, var2 + 1, 32); // L: 104
}
if (var4 == 1) { // L: 106
this.setFlag(var1, var2, 10); // L: 107
this.setFlag(var1, var2 + 1, 32); // L: 108
this.setFlag(var1 + 1, var2, 128); // L: 109
}
if (var4 == 2) { // L: 111
this.setFlag(var1, var2, 40); // L: 112
this.setFlag(var1 + 1, var2, 128); // L: 113
this.setFlag(var1, var2 - 1, 2); // L: 114
}
if (var4 == 3) { // L: 116
this.setFlag(var1, var2, 160); // L: 117
this.setFlag(var1, var2 - 1, 2); // L: 118
this.setFlag(var1 - 1, var2, 8); // L: 119
}
}
if (var5) { // L: 122
if (var3 == 0) { // L: 123
if (var4 == 0) { // L: 124
this.setFlag(var1, var2, 65536); // L: 125
this.setFlag(var1 - 1, var2, 4096); // L: 126
}
if (var4 == 1) { // L: 128
this.setFlag(var1, var2, 1024); // L: 129
this.setFlag(var1, var2 + 1, 16384); // L: 130
}
if (var4 == 2) { // L: 132
this.setFlag(var1, var2, 4096); // L: 133
this.setFlag(var1 + 1, var2, 65536); // L: 134
}
if (var4 == 3) { // L: 136
this.setFlag(var1, var2, 16384); // L: 137
this.setFlag(var1, var2 - 1, 1024); // L: 138
}
}
if (var3 == 1 || var3 == 3) { // L: 141
if (var4 == 0) { // L: 142
this.setFlag(var1, var2, 512); // L: 143
this.setFlag(var1 - 1, var2 + 1, 8192); // L: 144
}
if (var4 == 1) { // L: 146
this.setFlag(var1, var2, 2048); // L: 147
this.setFlag(var1 + 1, var2 + 1, 32768); // L: 148
}
if (var4 == 2) { // L: 150
this.setFlag(var1, var2, 8192); // L: 151
this.setFlag(var1 + 1, var2 - 1, 512); // L: 152
}
if (var4 == 3) { // L: 154
this.setFlag(var1, var2, 32768); // L: 155
this.setFlag(var1 - 1, var2 - 1, 2048); // L: 156
}
}
if (var3 == 2) { // L: 159
if (var4 == 0) { // L: 160
this.setFlag(var1, var2, 66560); // L: 161
this.setFlag(var1 - 1, var2, 4096); // L: 162
this.setFlag(var1, var2 + 1, 16384); // L: 163
}
if (var4 == 1) { // L: 165
this.setFlag(var1, var2, 5120); // L: 166
this.setFlag(var1, var2 + 1, 16384); // L: 167
this.setFlag(var1 + 1, var2, 65536); // L: 168
}
if (var4 == 2) { // L: 170
this.setFlag(var1, var2, 20480); // L: 171
this.setFlag(var1 + 1, var2, 65536); // L: 172
this.setFlag(var1, var2 - 1, 1024); // L: 173
}
if (var4 == 3) { // L: 175
this.setFlag(var1, var2, 81920); // L: 176
this.setFlag(var1, var2 - 1, 1024); // L: 177
this.setFlag(var1 - 1, var2, 4096); // L: 178
}
}
}
} // L: 182
@ObfuscatedName("p")
@ObfuscatedSignature(
descriptor = "(IIIIZI)V",
garbageValue = "517630840"
)
@Export("addGameObject")
public void addGameObject(int var1, int var2, int var3, int var4, boolean var5) {
int var6 = 256; // L: 185
if (var5) { // L: 186
var6 += 131072;
}
var1 -= this.xInset; // L: 187
var2 -= this.yInset; // L: 188
for (int var7 = var1; var7 < var3 + var1; ++var7) { // L: 189
if (var7 >= 0 && var7 < this.xSize) { // L: 190
for (int var8 = var2; var8 < var2 + var4; ++var8) { // L: 191
if (var8 >= 0 && var8 < this.ySize) { // L: 192
this.setFlag(var7, var8, var6);
}
}
}
}
} // L: 196
@ObfuscatedName("m")
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "729918482"
)
@Export("setBlockedByFloor")
public void setBlockedByFloor(int var1, int var2) {
var1 -= this.xInset; // L: 199
var2 -= this.yInset; // L: 200
int[] var10000 = this.flags[var1]; // L: 201
var10000[var2] |= 2097152;
} // L: 202
@ObfuscatedName("t")
@ObfuscatedSignature(
descriptor = "(IIB)V",
garbageValue = "-66"
)
@Export("setBlockedByFloorDec")
public void setBlockedByFloorDec(int var1, int var2) {
var1 -= this.xInset; // L: 205
var2 -= this.yInset; // L: 206
int[] var10000 = this.flags[var1]; // L: 207
var10000[var2] |= 262144;
} // L: 208
@ObfuscatedName("s")
@ObfuscatedSignature(
descriptor = "(IIII)V",
garbageValue = "-262672320"
)
@Export("setFlag")
void setFlag(int var1, int var2, int var3) {
int[] var10000 = this.flags[var1]; // L: 211
var10000[var2] |= var3;
} // L: 212
@ObfuscatedName("j")
@ObfuscatedSignature(
descriptor = "(IIIIZI)V",
garbageValue = "508874863"
)
public void method3693(int var1, int var2, int var3, int var4, boolean var5) {
var1 -= this.xInset; // L: 215
var2 -= this.yInset; // L: 216
if (var3 == 0) { // L: 217
if (var4 == 0) { // L: 218
this.setFlagOff(var1, var2, 128); // L: 219
this.setFlagOff(var1 - 1, var2, 8); // L: 220
}
if (var4 == 1) { // L: 222
this.setFlagOff(var1, var2, 2); // L: 223
this.setFlagOff(var1, var2 + 1, 32); // L: 224
}
if (var4 == 2) { // L: 226
this.setFlagOff(var1, var2, 8); // L: 227
this.setFlagOff(var1 + 1, var2, 128); // L: 228
}
if (var4 == 3) { // L: 230
this.setFlagOff(var1, var2, 32); // L: 231
this.setFlagOff(var1, var2 - 1, 2); // L: 232
}
}
if (var3 == 1 || var3 == 3) { // L: 235
if (var4 == 0) { // L: 236
this.setFlagOff(var1, var2, 1); // L: 237
this.setFlagOff(var1 - 1, var2 + 1, 16); // L: 238
}
if (var4 == 1) { // L: 240
this.setFlagOff(var1, var2, 4); // L: 241
this.setFlagOff(var1 + 1, var2 + 1, 64); // L: 242
}
if (var4 == 2) { // L: 244
this.setFlagOff(var1, var2, 16); // L: 245
this.setFlagOff(var1 + 1, var2 - 1, 1); // L: 246
}
if (var4 == 3) { // L: 248
this.setFlagOff(var1, var2, 64); // L: 249
this.setFlagOff(var1 - 1, var2 - 1, 4); // L: 250
}
}
if (var3 == 2) { // L: 253
if (var4 == 0) { // L: 254
this.setFlagOff(var1, var2, 130); // L: 255
this.setFlagOff(var1 - 1, var2, 8); // L: 256
this.setFlagOff(var1, var2 + 1, 32); // L: 257
}
if (var4 == 1) { // L: 259
this.setFlagOff(var1, var2, 10); // L: 260
this.setFlagOff(var1, var2 + 1, 32); // L: 261
this.setFlagOff(var1 + 1, var2, 128); // L: 262
}
if (var4 == 2) { // L: 264
this.setFlagOff(var1, var2, 40); // L: 265
this.setFlagOff(var1 + 1, var2, 128); // L: 266
this.setFlagOff(var1, var2 - 1, 2); // L: 267
}
if (var4 == 3) { // L: 269
this.setFlagOff(var1, var2, 160); // L: 270
this.setFlagOff(var1, var2 - 1, 2); // L: 271
this.setFlagOff(var1 - 1, var2, 8); // L: 272
}
}
if (var5) { // L: 275
if (var3 == 0) { // L: 276
if (var4 == 0) { // L: 277
this.setFlagOff(var1, var2, 65536); // L: 278
this.setFlagOff(var1 - 1, var2, 4096); // L: 279
}
if (var4 == 1) { // L: 281
this.setFlagOff(var1, var2, 1024); // L: 282
this.setFlagOff(var1, var2 + 1, 16384); // L: 283
}
if (var4 == 2) { // L: 285
this.setFlagOff(var1, var2, 4096); // L: 286
this.setFlagOff(var1 + 1, var2, 65536); // L: 287
}
if (var4 == 3) { // L: 289
this.setFlagOff(var1, var2, 16384); // L: 290
this.setFlagOff(var1, var2 - 1, 1024); // L: 291
}
}
if (var3 == 1 || var3 == 3) { // L: 294
if (var4 == 0) { // L: 295
this.setFlagOff(var1, var2, 512); // L: 296
this.setFlagOff(var1 - 1, var2 + 1, 8192); // L: 297
}
if (var4 == 1) { // L: 299
this.setFlagOff(var1, var2, 2048); // L: 300
this.setFlagOff(var1 + 1, var2 + 1, 32768); // L: 301
}
if (var4 == 2) { // L: 303
this.setFlagOff(var1, var2, 8192); // L: 304
this.setFlagOff(var1 + 1, var2 - 1, 512); // L: 305
}
if (var4 == 3) { // L: 307
this.setFlagOff(var1, var2, 32768); // L: 308
this.setFlagOff(var1 - 1, var2 - 1, 2048); // L: 309
}
}
if (var3 == 2) { // L: 312
if (var4 == 0) { // L: 313
this.setFlagOff(var1, var2, 66560); // L: 314
this.setFlagOff(var1 - 1, var2, 4096); // L: 315
this.setFlagOff(var1, var2 + 1, 16384); // L: 316
}
if (var4 == 1) { // L: 318
this.setFlagOff(var1, var2, 5120); // L: 319
this.setFlagOff(var1, var2 + 1, 16384); // L: 320
this.setFlagOff(var1 + 1, var2, 65536); // L: 321
}
if (var4 == 2) { // L: 323
this.setFlagOff(var1, var2, 20480); // L: 324
this.setFlagOff(var1 + 1, var2, 65536); // L: 325
this.setFlagOff(var1, var2 - 1, 1024); // L: 326
}
if (var4 == 3) { // L: 328
this.setFlagOff(var1, var2, 81920); // L: 329
this.setFlagOff(var1, var2 - 1, 1024); // L: 330
this.setFlagOff(var1 - 1, var2, 4096); // L: 331
}
}
}
} // L: 335
@ObfuscatedName("w")
@ObfuscatedSignature(
descriptor = "(IIIIIZB)V",
garbageValue = "8"
)
@Export("setFlagOffNonSquare")
public void setFlagOffNonSquare(int var1, int var2, int var3, int var4, int var5, boolean var6) {
int var7 = 256; // L: 338
if (var6) { // L: 339
var7 += 131072;
}
var1 -= this.xInset; // L: 340
var2 -= this.yInset; // L: 341
int var8;
if (var5 == 1 || var5 == 3) { // L: 342
var8 = var3; // L: 343
var3 = var4; // L: 344
var4 = var8; // L: 345
}
for (var8 = var1; var8 < var3 + var1; ++var8) { // L: 347
if (var8 >= 0 && var8 < this.xSize) { // L: 348
for (int var9 = var2; var9 < var2 + var4; ++var9) { // L: 349
if (var9 >= 0 && var9 < this.ySize) {
this.setFlagOff(var8, var9, var7); // L: 350
}
}
}
}
} // L: 354
@ObfuscatedName("n")
@ObfuscatedSignature(
descriptor = "(IIII)V",
garbageValue = "-313256425"
)
@Export("setFlagOff")
void setFlagOff(int var1, int var2, int var3) {
int[] var10000 = this.flags[var1]; // L: 357
var10000[var2] &= ~var3;
} // L: 358
@ObfuscatedName("r")
@ObfuscatedSignature(
descriptor = "(III)V",
garbageValue = "-1207646321"
)
public void method3701(int var1, int var2) {
var1 -= this.xInset; // L: 361
var2 -= this.yInset; // L: 362
int[] var10000 = this.flags[var1]; // L: 363
var10000[var2] &= -262145;
} // L: 364
}