218 lines
5.3 KiB
Java
218 lines
5.3 KiB
Java
import java.security.SecureRandom;
|
|
import java.util.concurrent.ExecutorService;
|
|
import java.util.concurrent.Executors;
|
|
import java.util.concurrent.Future;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("ca")
|
|
@Implements("SecureRandomFuture")
|
|
public class SecureRandomFuture {
|
|
@ObfuscatedName("ol")
|
|
@ObfuscatedSignature(
|
|
signature = "Lfq;"
|
|
)
|
|
@Export("mouseWheel")
|
|
static MouseWheel mouseWheel;
|
|
@ObfuscatedName("ds")
|
|
@ObfuscatedSignature(
|
|
signature = "Lih;"
|
|
)
|
|
@Export("archive9")
|
|
static Archive archive9;
|
|
@ObfuscatedName("x")
|
|
@Export("executor")
|
|
ExecutorService executor;
|
|
@ObfuscatedName("m")
|
|
@Export("future")
|
|
Future future;
|
|
|
|
SecureRandomFuture() {
|
|
this.executor = Executors.newSingleThreadExecutor();
|
|
this.future = this.executor.submit(new SecureRandomCallable());
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "-128"
|
|
)
|
|
@Export("shutdown")
|
|
void shutdown() {
|
|
this.executor.shutdown();
|
|
this.executor = null;
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)Z",
|
|
garbageValue = "-126"
|
|
)
|
|
@Export("isDone")
|
|
boolean isDone() {
|
|
return this.future.isDone();
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(I)Ljava/security/SecureRandom;",
|
|
garbageValue = "876677352"
|
|
)
|
|
@Export("get")
|
|
SecureRandom get() {
|
|
try {
|
|
return (SecureRandom)this.future.get();
|
|
} catch (Exception var4) {
|
|
SecureRandom var3 = new SecureRandom();
|
|
var3.nextInt();
|
|
return var3;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(III)I",
|
|
garbageValue = "1233974315"
|
|
)
|
|
public static int method2226(int var0, int var1) {
|
|
int var2;
|
|
for (var2 = 1; var1 > 1; var1 >>= 1) {
|
|
if ((var1 & 1) != 0) {
|
|
var2 = var0 * var2;
|
|
}
|
|
|
|
var0 *= var0;
|
|
}
|
|
|
|
if (var1 == 1) {
|
|
return var0 * var2;
|
|
} else {
|
|
return var2;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("s")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIIIIZI)Lla;",
|
|
garbageValue = "-2006803252"
|
|
)
|
|
@Export("getItemSprite")
|
|
public static final Sprite getItemSprite(int var0, int var1, int var2, int var3, int var4, boolean var5) {
|
|
if (var1 == -1) {
|
|
var4 = 0;
|
|
} else if (var4 == 2 && var1 != 1) {
|
|
var4 = 1;
|
|
}
|
|
|
|
long var6 = ((long)var3 << 42) + ((long)var1 << 16) + (long)var0 + ((long)var2 << 38) + ((long)var4 << 40);
|
|
Sprite var8;
|
|
if (!var5) {
|
|
var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6);
|
|
if (var8 != null) {
|
|
return var8;
|
|
}
|
|
}
|
|
|
|
ItemDefinition var9 = AbstractWorldMapData.ItemDefinition_get(var0);
|
|
if (var1 > 1 && var9.countobj != null) {
|
|
int var10 = -1;
|
|
|
|
for (int var11 = 0; var11 < 10; ++var11) {
|
|
if (var1 >= var9.countco[var11] && var9.countco[var11] != 0) {
|
|
var10 = var9.countobj[var11];
|
|
}
|
|
}
|
|
|
|
if (var10 != -1) {
|
|
var9 = AbstractWorldMapData.ItemDefinition_get(var10);
|
|
}
|
|
}
|
|
|
|
Model var19 = var9.getModel(1);
|
|
if (var19 == null) {
|
|
return null;
|
|
} else {
|
|
Sprite var20 = null;
|
|
if (var9.noteTemplate != -1) {
|
|
var20 = getItemSprite(var9.note, 10, 1, 0, 0, true);
|
|
if (var20 == null) {
|
|
return null;
|
|
}
|
|
} else if (var9.notedId != -1) {
|
|
var20 = getItemSprite(var9.unnotedId, var1, var2, var3, 0, false);
|
|
if (var20 == null) {
|
|
return null;
|
|
}
|
|
} else if (var9.placeholderTemplate != -1) {
|
|
var20 = getItemSprite(var9.placeholder, var1, 0, 0, 0, false);
|
|
if (var20 == null) {
|
|
return null;
|
|
}
|
|
}
|
|
|
|
int[] var12 = Rasterizer2D.Rasterizer2D_pixels;
|
|
int var13 = Rasterizer2D.Rasterizer2D_width;
|
|
int var14 = Rasterizer2D.Rasterizer2D_height;
|
|
int[] var15 = new int[4];
|
|
Rasterizer2D.Rasterizer2D_getClipArray(var15);
|
|
var8 = new Sprite(36, 32);
|
|
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
|
|
Rasterizer2D.Rasterizer2D_clear();
|
|
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
|
|
Rasterizer3D.method3099(16, 16);
|
|
Rasterizer3D.field1772 = false;
|
|
if (var9.placeholderTemplate != -1) {
|
|
var20.drawTransBgAt(0, 0);
|
|
}
|
|
|
|
int var16 = var9.zoom2d;
|
|
if (var5) {
|
|
var16 = (int)(1.5D * (double)var16);
|
|
} else if (var2 == 2) {
|
|
var16 = (int)((double)var16 * 1.04D);
|
|
}
|
|
|
|
int var17 = var16 * Rasterizer3D.Rasterizer3D_sine[var9.xan2d] >> 16;
|
|
int var18 = var16 * Rasterizer3D.Rasterizer3D_cosine[var9.xan2d] >> 16;
|
|
var19.calculateBoundsCylinder();
|
|
var19.method2982(0, var9.yan2d, var9.zan2d, var9.xan2d, var9.offsetX2d, var19.height / 2 + var17 + var9.offsetY2d, var18 + var9.offsetY2d);
|
|
if (var9.notedId != -1) {
|
|
var20.drawTransBgAt(0, 0);
|
|
}
|
|
|
|
if (var2 >= 1) {
|
|
var8.outline(1);
|
|
}
|
|
|
|
if (var2 >= 2) {
|
|
var8.outline(16777215);
|
|
}
|
|
|
|
if (var3 != 0) {
|
|
var8.shadow(var3);
|
|
}
|
|
|
|
Rasterizer2D.Rasterizer2D_replace(var8.pixels, 36, 32);
|
|
if (var9.noteTemplate != -1) {
|
|
var20.drawTransBgAt(0, 0);
|
|
}
|
|
|
|
if (var4 == 1 || var4 == 2 && var9.isStackable == 1) {
|
|
WorldMapSection3.ItemDefinition_fontPlain11.draw(GrandExchangeOfferOwnWorldComparator.method1385(var1), 0, 9, 16776960, 1);
|
|
}
|
|
|
|
if (!var5) {
|
|
ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6);
|
|
}
|
|
|
|
Rasterizer2D.Rasterizer2D_replace(var12, var13, var14);
|
|
Rasterizer2D.Rasterizer2D_setClipArray(var15);
|
|
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
|
|
Rasterizer3D.field1772 = true;
|
|
return var8;
|
|
}
|
|
}
|
|
}
|