Files
runelite/runescape-client/src/main/java/SecureRandomFuture.java
2020-04-11 13:13:55 +01:00

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