Adds deobfuscator Adds injected-client Adds injector-plugin Adds runescape-client Replaces RL's apis Small bug with sprites atm, will be resolved soon. tired af. Builds, probably
276 lines
7.7 KiB
Java
276 lines
7.7 KiB
Java
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
|
|
@ObfuscatedName("lq")
|
|
@Implements("IndexedSprite")
|
|
public final class IndexedSprite extends Rasterizer2D {
|
|
@ObfuscatedName("m")
|
|
@Export("pixels")
|
|
public byte[] pixels;
|
|
@ObfuscatedName("f")
|
|
@Export("palette")
|
|
public int[] palette;
|
|
@ObfuscatedName("q")
|
|
@Export("subWidth")
|
|
public int subWidth;
|
|
@ObfuscatedName("w")
|
|
@Export("subHeight")
|
|
public int subHeight;
|
|
@ObfuscatedName("o")
|
|
@Export("xOffset")
|
|
public int xOffset;
|
|
@ObfuscatedName("u")
|
|
@Export("yOffset")
|
|
public int yOffset;
|
|
@ObfuscatedName("g")
|
|
@Export("width")
|
|
public int width;
|
|
@ObfuscatedName("l")
|
|
@Export("height")
|
|
public int height;
|
|
|
|
@ObfuscatedName("m")
|
|
@Export("normalize")
|
|
public void normalize() {
|
|
if(this.subWidth != this.width || this.subHeight != this.height) {
|
|
byte[] var1 = new byte[this.width * this.height];
|
|
int var2 = 0;
|
|
|
|
for(int var3 = 0; var3 < this.subHeight; ++var3) {
|
|
for(int var4 = 0; var4 < this.subWidth; ++var4) {
|
|
var1[var4 + (var3 + this.yOffset) * this.width + this.xOffset] = this.pixels[var2++];
|
|
}
|
|
}
|
|
|
|
this.pixels = var1;
|
|
this.subWidth = this.width;
|
|
this.subHeight = this.height;
|
|
this.xOffset = 0;
|
|
this.yOffset = 0;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("f")
|
|
@Export("shiftColors")
|
|
public void shiftColors(int var1, int var2, int var3) {
|
|
for(int var4 = 0; var4 < this.palette.length; ++var4) {
|
|
int var5 = this.palette[var4] >> 16 & 255;
|
|
var5 += var1;
|
|
if(var5 < 0) {
|
|
var5 = 0;
|
|
} else if(var5 > 255) {
|
|
var5 = 255;
|
|
}
|
|
|
|
int var6 = this.palette[var4] >> 8 & 255;
|
|
var6 += var2;
|
|
if(var6 < 0) {
|
|
var6 = 0;
|
|
} else if(var6 > 255) {
|
|
var6 = 255;
|
|
}
|
|
|
|
int var7 = this.palette[var4] & 255;
|
|
var7 += var3;
|
|
if(var7 < 0) {
|
|
var7 = 0;
|
|
} else if(var7 > 255) {
|
|
var7 = 255;
|
|
}
|
|
|
|
this.palette[var4] = var7 + (var6 << 8) + (var5 << 16);
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("q")
|
|
@Export("__q_496")
|
|
public void __q_496(int var1, int var2) {
|
|
var1 += this.xOffset;
|
|
var2 += this.yOffset;
|
|
int var3 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
|
int var4 = 0;
|
|
int var5 = this.subHeight;
|
|
int var6 = this.subWidth;
|
|
int var7 = Rasterizer2D.Rasterizer2D_width - var6;
|
|
int var8 = 0;
|
|
int var9;
|
|
if(var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
|
|
var9 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
|
|
var5 -= var9;
|
|
var2 = Rasterizer2D.Rasterizer2D_yClipStart;
|
|
var4 += var9 * var6;
|
|
var3 += var9 * Rasterizer2D.Rasterizer2D_width;
|
|
}
|
|
|
|
if(var5 + var2 > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
|
var5 -= var5 + var2 - Rasterizer2D.Rasterizer2D_yClipEnd;
|
|
}
|
|
|
|
if(var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
|
|
var9 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
|
|
var6 -= var9;
|
|
var1 = Rasterizer2D.Rasterizer2D_xClipStart;
|
|
var4 += var9;
|
|
var3 += var9;
|
|
var8 += var9;
|
|
var7 += var9;
|
|
}
|
|
|
|
if(var6 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
|
var9 = var6 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
|
|
var6 -= var9;
|
|
var8 += var9;
|
|
var7 += var9;
|
|
}
|
|
|
|
if(var6 > 0 && var5 > 0) {
|
|
IndexedSprite_two(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var4, var3, var6, var5, var7, var8);
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("o")
|
|
@Export("__o_497")
|
|
public void __o_497(int var1, int var2, int var3, int var4) {
|
|
int var5 = this.subWidth;
|
|
int var6 = this.subHeight;
|
|
int var7 = 0;
|
|
int var8 = 0;
|
|
int var9 = this.width;
|
|
int var10 = this.height;
|
|
int var11 = (var9 << 16) / var3;
|
|
int var12 = (var10 << 16) / var4;
|
|
int var13;
|
|
if(this.xOffset > 0) {
|
|
var13 = (var11 + (this.xOffset << 16) - 1) / var11;
|
|
var1 += var13;
|
|
var7 += var13 * var11 - (this.xOffset << 16);
|
|
}
|
|
|
|
if(this.yOffset > 0) {
|
|
var13 = (var12 + (this.yOffset << 16) - 1) / var12;
|
|
var2 += var13;
|
|
var8 += var13 * var12 - (this.yOffset << 16);
|
|
}
|
|
|
|
if(var5 < var9) {
|
|
var3 = (var11 + ((var5 << 16) - var7) - 1) / var11;
|
|
}
|
|
|
|
if(var6 < var10) {
|
|
var4 = (var12 + ((var6 << 16) - var8) - 1) / var12;
|
|
}
|
|
|
|
var13 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
|
int var14 = Rasterizer2D.Rasterizer2D_width - var3;
|
|
if(var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
|
var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
|
|
}
|
|
|
|
int var15;
|
|
if(var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
|
|
var15 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
|
|
var4 -= var15;
|
|
var13 += var15 * Rasterizer2D.Rasterizer2D_width;
|
|
var8 += var12 * var15;
|
|
}
|
|
|
|
if(var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
|
var15 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
|
|
var3 -= var15;
|
|
var14 += var15;
|
|
}
|
|
|
|
if(var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
|
|
var15 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
|
|
var3 -= var15;
|
|
var13 += var15;
|
|
var7 += var11 * var15;
|
|
var14 += var15;
|
|
}
|
|
|
|
IndexedSprite_something(Rasterizer2D.Rasterizer2D_pixels, this.pixels, this.palette, var7, var8, var13, var14, var3, var4, var11, var12, var5);
|
|
}
|
|
|
|
@ObfuscatedName("w")
|
|
@Export("IndexedSprite_two")
|
|
static void IndexedSprite_two(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8) {
|
|
int var9 = -(var5 >> 2);
|
|
var5 = -(var5 & 3);
|
|
|
|
for(int var10 = -var6; var10 < 0; ++var10) {
|
|
int var11;
|
|
byte var12;
|
|
for(var11 = var9; var11 < 0; ++var11) {
|
|
var12 = var1[var3++];
|
|
if(var12 != 0) {
|
|
var0[var4++] = var2[var12 & 255];
|
|
} else {
|
|
++var4;
|
|
}
|
|
|
|
var12 = var1[var3++];
|
|
if(var12 != 0) {
|
|
var0[var4++] = var2[var12 & 255];
|
|
} else {
|
|
++var4;
|
|
}
|
|
|
|
var12 = var1[var3++];
|
|
if(var12 != 0) {
|
|
var0[var4++] = var2[var12 & 255];
|
|
} else {
|
|
++var4;
|
|
}
|
|
|
|
var12 = var1[var3++];
|
|
if(var12 != 0) {
|
|
var0[var4++] = var2[var12 & 255];
|
|
} else {
|
|
++var4;
|
|
}
|
|
}
|
|
|
|
for(var11 = var5; var11 < 0; ++var11) {
|
|
var12 = var1[var3++];
|
|
if(var12 != 0) {
|
|
var0[var4++] = var2[var12 & 255];
|
|
} else {
|
|
++var4;
|
|
}
|
|
}
|
|
|
|
var4 += var7;
|
|
var3 += var8;
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("u")
|
|
@Export("IndexedSprite_something")
|
|
static void IndexedSprite_something(int[] var0, byte[] var1, int[] var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10, int var11) {
|
|
int var12 = var3;
|
|
|
|
for(int var13 = -var8; var13 < 0; ++var13) {
|
|
int var14 = var11 * (var4 >> 16);
|
|
|
|
for(int var15 = -var7; var15 < 0; ++var15) {
|
|
byte var16 = var1[(var3 >> 16) + var14];
|
|
if(var16 != 0) {
|
|
var0[var5++] = var2[var16 & 255];
|
|
} else {
|
|
++var5;
|
|
}
|
|
|
|
var3 += var9;
|
|
}
|
|
|
|
var4 += var10;
|
|
var3 = var12;
|
|
var5 += var6;
|
|
}
|
|
|
|
}
|
|
}
|