project: Injector and mixins

This commit is contained in:
Owain van Brakel
2021-12-15 05:39:57 +01:00
parent 62a5942180
commit 6b133497df
30 changed files with 530 additions and 168 deletions

View File

@@ -200,13 +200,17 @@ public class Model extends Renderable {
@Export("zMidOffset")
int zMidOffset;
@ObfuscatedName("bo")
public byte field2494;
@Export("overrideHue")
public byte overrideHue;
@ObfuscatedName("bf")
public byte field2495;
@Export("overrideSaturation")
public byte overrideSaturation;
@ObfuscatedName("be")
public byte field2479;
@Export("overrideLuminance")
public byte overrideLuminance;
@ObfuscatedName("ce")
public byte field2474;
@Export("overrideAmount")
public byte overrideAmount;
static {
Model_sharedSequenceModel = new Model();
@@ -574,7 +578,7 @@ public class Model extends Renderable {
var2.field2449 = this.field2449;
var2.isSingleTile = this.isSingleTile;
var2.resetBounds();
var2.field2474 = 0;
var2.overrideAmount = 0;
return var2;
}
@@ -1569,10 +1573,10 @@ public class Model extends Renderable {
}
} else if (this.faceColors3[var1] == -1) {
Rasterizer3D.method3856(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], Model_colorPalette[this.faceColors1[var1]]);
} else if (this.field2474 > 0) {
var5 = this.method4216(this.faceColors1[var1], this.field2494, this.field2495, this.field2479, this.field2474);
var6 = this.method4216(this.faceColors2[var1], this.field2494, this.field2495, this.field2479, this.field2474);
var7 = this.method4216(this.faceColors3[var1], this.field2494, this.field2495, this.field2479, this.field2474);
} else if (this.overrideAmount > 0) {
var5 = this.method4216(this.faceColors1[var1], this.overrideHue, this.overrideSaturation, this.overrideLuminance, this.overrideAmount);
var6 = this.method4216(this.faceColors2[var1], this.overrideHue, this.overrideSaturation, this.overrideLuminance, this.overrideAmount);
var7 = this.method4216(this.faceColors3[var1], this.overrideHue, this.overrideSaturation, this.overrideLuminance, this.overrideAmount);
Rasterizer3D.method3854(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], var5, var6, var7);
} else {
Rasterizer3D.method3854(modelViewportYs[var2], modelViewportYs[var3], modelViewportYs[var4], modelViewportXs[var2], modelViewportXs[var3], modelViewportXs[var4], this.faceColors1[var1], this.faceColors2[var1], this.faceColors3[var1]);

View File

@@ -129,12 +129,12 @@ public final class NPC extends Actor {
}
if (super.field1146 != 0 && Client.cycle >= super.field1141 && Client.cycle < super.field1140) {
var3.field2494 = super.field1143;
var3.field2495 = super.field1144;
var3.field2479 = super.field1095;
var3.field2474 = super.field1146;
var3.overrideHue = super.field1143;
var3.overrideSaturation = super.field1144;
var3.overrideLuminance = super.field1095;
var3.overrideAmount = super.field1146;
} else {
var3.field2474 = 0;
var3.overrideAmount = 0;
}
return var3;

View File

@@ -381,12 +381,12 @@ public final class Player extends Actor {
var3.isSingleTile = true;
if (super.field1146 != 0 && Client.cycle >= super.field1141 && Client.cycle < super.field1140) {
var3.field2494 = super.field1143;
var3.field2495 = super.field1144;
var3.field2479 = super.field1095;
var3.field2474 = super.field1146;
var3.overrideHue = super.field1143;
var3.overrideSaturation = super.field1144;
var3.overrideLuminance = super.field1095;
var3.overrideAmount = super.field1146;
} else {
var3.field2474 = 0;
var3.overrideAmount = 0;
}
return var3;

View File

@@ -0,0 +1,49 @@
import java.util.Iterator;
import java.util.NoSuchElementException;
public class RuneLiteIterableLinkDeque implements Iterator<Link>
{
public final LinkDeque linkDeque;
public Link link;
public RuneLiteIterableLinkDeque(LinkDeque linkDeque)
{
this.linkDeque = linkDeque;
this.link = this.linkDeque.sentinel.previous;
}
@Override
public boolean hasNext()
{
return this.link != this.linkDeque.sentinel;
}
@Override
public Link next()
{
if (this.link == this.linkDeque.sentinel)
{
throw new NoSuchElementException();
}
else
{
Link friendLoginUpdate = this.link;
this.link = this.link.previous;
return friendLoginUpdate;
}
}
public void remove()
{
Link link = this.link.next;
if (link == this.linkDeque.sentinel)
{
throw new IllegalStateException();
}
else
{
link.remove();
}
}
}

View File

@@ -0,0 +1,49 @@
import java.util.Iterator;
import java.util.NoSuchElementException;
public class RuneLiteIterableNodeDeque implements Iterator
{
public final NodeDeque nodeDeque;
public Node node;
public RuneLiteIterableNodeDeque(NodeDeque nodeDeque)
{
this.nodeDeque = nodeDeque;
this.node = this.nodeDeque.sentinel.previous;
}
@Override
public boolean hasNext()
{
return this.node != this.nodeDeque.sentinel;
}
@Override
public Node next()
{
if (this.node == this.nodeDeque.sentinel)
{
throw new NoSuchElementException();
}
else
{
Node node = this.node;
this.node = this.node.previous;
return node;
}
}
public void remove()
{
Node node = this.node.next;
if (node == this.nodeDeque.sentinel)
{
throw new IllegalStateException();
}
else
{
node.remove();
}
}
}

View File

@@ -1,13 +1,13 @@
import java.util.Iterator;
import java.util.NoSuchElementException;
public class RuneLiteIterableHashTable implements Iterator
public class RuneLiteIterableNodeHashTable implements Iterator
{
public Node node;
public final NodeHashTable nodeHashTable;
public int it;
public RuneLiteIterableHashTable(NodeHashTable nodeHashTable)
public RuneLiteIterableNodeHashTable(NodeHashTable nodeHashTable)
{
this.nodeHashTable = nodeHashTable;
}