Collapse @Copy, @Replace mixin methods

This commit is contained in:
Lucwousin
2020-07-19 03:26:05 +02:00
parent fa2944d50a
commit 57b7476299
26 changed files with 134 additions and 269 deletions

View File

@@ -100,10 +100,8 @@ public abstract class EntityHiderMixin implements RSScene
private static boolean hideDeadNPCs; private static boolean hideDeadNPCs;
@Copy("newGameObject") @Copy("newGameObject")
abstract boolean addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13);
@Replace("newGameObject") @Replace("newGameObject")
boolean rl$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13) boolean copy$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSEntity entity, int var10, boolean var11, long var12, int var13)
{ {
final boolean shouldDraw = shouldDraw(entity, false); final boolean shouldDraw = shouldDraw(entity, false);
@@ -119,21 +117,16 @@ public abstract class EntityHiderMixin implements RSScene
} }
return shouldDraw && return shouldDraw &&
addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, entity, var10, var11, var12, var13); copy$addEntityMarker(var1, var2, var3, var4, var5, x, y, var8, entity, var10, var11, var12, var13);
} }
@Copy("drawActor2d") @Copy("drawActor2d")
private static void draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5)
{
throw new RuntimeException();
}
@Replace("drawActor2d") @Replace("drawActor2d")
private static void rl$draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5) private static void copy$draw2DExtras(RSActor actor, int var1, int var2, int var3, int var4, int var5)
{ {
if (shouldDraw(actor, true)) if (shouldDraw(actor, true))
{ {
draw2DExtras(actor, var1, var2, var3, var4, var5); copy$draw2DExtras(actor, var1, var2, var3, var4, var5);
} }
} }

View File

@@ -37,7 +37,7 @@ public abstract class ProcessClientErrorMixin implements RSClient
private static RSClient client; private static RSClient client;
@Replace("RunException_sendStackTrace") @Replace("RunException_sendStackTrace")
static void rl$processClientError(String string, Throwable throwable) static void processClientError(String string, Throwable throwable)
{ {
if (throwable != null) if (throwable != null)
{ {

View File

@@ -33,13 +33,12 @@ public abstract class RSAbstractArchiveMixin implements RSAbstractArchive
return overlayOutdated; return overlayOutdated;
} }
@SuppressWarnings("InfiniteRecursion")
@Copy("takeFile") @Copy("takeFile")
abstract byte[] rs$getConfigData(int archiveId, int fileId);
@Replace("takeFile") @Replace("takeFile")
public byte[] rl$getConfigData(int groupId, int fileId) public byte[] copy$getConfigData(int groupId, int fileId)
{ {
final byte[] rsData = rs$getConfigData(groupId, fileId); final byte[] rsData = copy$getConfigData(groupId, fileId);
final int archiveId = ((RSArchive) this).getIndex(); final int archiveId = ((RSArchive) this).getIndex();
if (!OverlayIndex.hasOverlay(archiveId, groupId)) if (!OverlayIndex.hasOverlay(archiveId, groupId))

View File

@@ -42,16 +42,15 @@ public abstract class RSBufferMixin implements RSBuffer
private static BigInteger modulus; private static BigInteger modulus;
@Copy("encryptRsa") @Copy("encryptRsa")
abstract void rs$encryptRsa(BigInteger var1, BigInteger var2);
@Replace("encryptRsa") @Replace("encryptRsa")
public void rl$encryptRsa(BigInteger exp, BigInteger mod) @SuppressWarnings("InfiniteRecursion")
public void copy$encryptRsa(BigInteger exp, BigInteger mod)
{ {
if (modulus != null) if (modulus != null)
{ {
mod = modulus; mod = modulus;
} }
rs$encryptRsa(exp, mod); copy$encryptRsa(exp, mod);
} }
} }

View File

@@ -957,15 +957,11 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("runWidgetOnLoadListener") @Copy("runWidgetOnLoadListener")
public static void rs$runWidgetOnLoadListener(int groupId)
{
throw new RuntimeException();
}
@Replace("runWidgetOnLoadListener") @Replace("runWidgetOnLoadListener")
public static void rl$runWidgetOnLoadListener(int groupId) @SuppressWarnings("InfiniteRecursion")
public static void copy$runWidgetOnLoadListener(int groupId)
{ {
rs$runWidgetOnLoadListener(groupId); copy$runWidgetOnLoadListener(groupId);
RSWidget[][] widgets = client.getWidgets(); RSWidget[][] widgets = client.getWidgets();
boolean loaded = widgets != null && widgets[groupId] != null; boolean loaded = widgets != null && widgets[groupId] != null;
@@ -1147,19 +1143,14 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("findItemDefinitions") @Copy("findItemDefinitions")
public static void rs$findItemDefinitions(String var0, boolean var1)
{
throw new RuntimeException();
}
@Replace("findItemDefinitions") @Replace("findItemDefinitions")
public static void rl$findItemDefinitions(String var0, boolean var1) public static void copy$findItemDefinitions(String var0, boolean var1)
{ {
GrandExchangeSearched event = new GrandExchangeSearched(); GrandExchangeSearched event = new GrandExchangeSearched();
client.getCallbacks().post(GrandExchangeSearched.class, event); client.getCallbacks().post(GrandExchangeSearched.class, event);
if (!event.isConsumed()) if (!event.isConsumed())
{ {
rs$findItemDefinitions(var0, var1); copy$findItemDefinitions(var0, var1);
} }
} }
@@ -1379,13 +1370,8 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("menuAction") @Copy("menuAction")
static void rs$menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7)
{
throw new RuntimeException();
}
@Replace("menuAction") @Replace("menuAction")
static void rl$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY) static void copy$menuAction(int param0, int param1, int opcode, int id, String option, String target, int canvasX, int canvasY)
{ {
boolean authentic = true; boolean authentic = true;
if (target != null && target.startsWith("!AUTHENTIC")) if (target != null && target.startsWith("!AUTHENTIC"))
@@ -1429,7 +1415,7 @@ public abstract class RSClientMixin implements RSClient
return; return;
} }
rs$menuAction(menuOptionClicked.getParam0(), menuOptionClicked.getParam1(), menuOptionClicked.getOpcode(), copy$menuAction(menuOptionClicked.getParam0(), menuOptionClicked.getParam1(), menuOptionClicked.getOpcode(),
menuOptionClicked.getIdentifier(), menuOptionClicked.getOption(), menuOptionClicked.getTarget(), canvasX, canvasY); menuOptionClicked.getIdentifier(), menuOptionClicked.getOption(), menuOptionClicked.getTarget(), canvasX, canvasY);
} }
@@ -1697,15 +1683,11 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("shouldLeftClickOpenMenu") @Copy("shouldLeftClickOpenMenu")
boolean rs$shouldLeftClickOpenMenu()
{
throw new RuntimeException();
}
@Replace("shouldLeftClickOpenMenu") @Replace("shouldLeftClickOpenMenu")
boolean rl$shouldLeftClickOpenMenu() @SuppressWarnings("InfiniteRecursion")
boolean copy$shouldLeftClickOpenMenu()
{ {
if (rs$shouldLeftClickOpenMenu()) if (copy$shouldLeftClickOpenMenu())
{ {
return true; return true;
} }
@@ -1729,20 +1711,15 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("menu") @Copy("menu")
void rs$menu()
{
throw new RuntimeException();
}
@Replace("menu") @Replace("menu")
void rl$menu() void copy$menu()
{ {
Menu menu = Menu.MENU; Menu menu = Menu.MENU;
menu.reset(); menu.reset();
getCallbacks().post(Menu.class, menu); getCallbacks().post(Menu.class, menu);
if (menu.shouldRun()) if (menu.shouldRun())
{ {
rs$menu(); copy$menu();
} }
} }
@@ -1810,14 +1787,11 @@ public abstract class RSClientMixin implements RSClient
} }
@Copy("forceDisconnect") @Copy("forceDisconnect")
static void rs$forceDisconnect(int reason)
{
}
@Replace("forceDisconnect") @Replace("forceDisconnect")
static void forceDisconnect(int reason) @SuppressWarnings("InfiniteRecursion")
static void copy$forceDisconnect(int reason)
{ {
rs$forceDisconnect(reason); copy$forceDisconnect(reason);
if (hideDisconnect && reason == 1) if (hideDisconnect && reason == 1)
{ {
@@ -1844,15 +1818,11 @@ public abstract class RSClientMixin implements RSClient
@Copy("changeGameOptions") @Copy("changeGameOptions")
public static void rs$changeGameOptions(int var0)
{
throw new RuntimeException();
}
@Replace("changeGameOptions") @Replace("changeGameOptions")
public static void changeGameOptions(int var0) @SuppressWarnings("InfiniteRecursion")
public static void copy$changeGameOptions(int var0)
{ {
rs$changeGameOptions(var0); copy$changeGameOptions(var0);
int type = client.getVarpDefinition(var0).getType(); int type = client.getVarpDefinition(var0).getType();
if (type == 3 || type == 4 || type == 10) if (type == 3 || type == 4 || type == 10)

View File

@@ -46,11 +46,10 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject
@Inject @Inject
public int animationID; public int animationID;
@SuppressWarnings("InfiniteRecursion")
@Copy("getModel") @Copy("getModel")
public abstract RSModel rs$getModel();
@Replace("getModel") @Replace("getModel")
public RSModel rl$getModel() public RSModel copy$getModel()
{ {
try try
{ {
@@ -61,7 +60,7 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject
{ {
setAnimFrame((animFrame ^ Integer.MIN_VALUE) & 0xFFFF); setAnimFrame((animFrame ^ Integer.MIN_VALUE) & 0xFFFF);
} }
return rs$getModel(); return copy$getModel();
} }
finally finally
{ {

View File

@@ -52,12 +52,10 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition
} }
@Copy("getShiftClickIndex") @Copy("getShiftClickIndex")
abstract int rs$getShiftClickActionIndex();
@Replace("getShiftClickIndex") @Replace("getShiftClickIndex")
public int getShiftClickActionIndex() public int copy$getShiftClickActionIndex()
{ {
return shiftClickActionIndex == DEFAULT_CUSTOM_SHIFT_CLICK_INDEX ? rs$getShiftClickActionIndex() : shiftClickActionIndex; return shiftClickActionIndex == DEFAULT_CUSTOM_SHIFT_CLICK_INDEX ? copy$getShiftClickActionIndex() : shiftClickActionIndex;
} }
@Inject @Inject
@@ -77,14 +75,12 @@ public abstract class RSItemDefinitionMixin implements RSItemDefinition
} }
@Copy("getModel") @Copy("getModel")
public abstract RSModel rs$getModel(int quantity);
@Replace("getModel") @Replace("getModel")
public RSModel getModel(int quantity) public RSModel copy$getModel(int quantity)
{ {
if (modelOverride == -1) if (modelOverride == -1)
{ {
return rs$getModel(quantity); return copy$getModel(quantity);
} }
return client.getRSItemDefinition(modelOverride).getModel(quantity); return client.getRSItemDefinition(modelOverride).getModel(quantity);

View File

@@ -18,45 +18,39 @@ public abstract class RSKeyHandlerMixin implements RSKeyHandler
@Shadow("client") @Shadow("client")
private static RSClient client; private static RSClient client;
@Copy("keyPressed")
abstract void rs$keyPressed(KeyEvent keyEvent);
@Copy("keyReleased")
abstract void rs$keyReleased(KeyEvent keyEvent);
@Copy("keyTyped")
abstract void rs$keyTyped(KeyEvent keyEvent);
@Override @Override
@Copy("keyPressed")
@Replace("keyPressed") @Replace("keyPressed")
public final synchronized void keyPressed(KeyEvent keyEvent) public final synchronized void keyPressed(KeyEvent keyEvent)
{ {
client.getCallbacks().keyPressed(keyEvent); client.getCallbacks().keyPressed(keyEvent);
if (!keyEvent.isConsumed()) if (!keyEvent.isConsumed())
{ {
rs$keyPressed(keyEvent); keyPressed(keyEvent);
} }
} }
@Override @Override
@Copy("keyReleased")
@Replace("keyReleased") @Replace("keyReleased")
public final synchronized void keyReleased(KeyEvent keyEvent) public final synchronized void keyReleased(KeyEvent keyEvent)
{ {
client.getCallbacks().keyReleased(keyEvent); client.getCallbacks().keyReleased(keyEvent);
if (!keyEvent.isConsumed()) if (!keyEvent.isConsumed())
{ {
rs$keyReleased(keyEvent); keyReleased(keyEvent);
} }
} }
@Override @Override
@Copy("keyTyped")
@Replace("keyTyped") @Replace("keyTyped")
public final void keyTyped(KeyEvent keyEvent) public final void keyTyped(KeyEvent keyEvent)
{ {
client.getCallbacks().keyTyped(keyEvent); client.getCallbacks().keyTyped(keyEvent);
if (!keyEvent.isConsumed()) if (!keyEvent.isConsumed())
{ {
rs$keyTyped(keyEvent); keyTyped(keyEvent);
} }
} }

View File

@@ -38,17 +38,12 @@ public abstract class RSLoginScreenAnimationMixin implements RSLoginScreenAnimat
private static RSClient client; private static RSClient client;
@Copy("draw") @Copy("draw")
void rs$draw(int var1, int var2)
{
throw new RuntimeException();
}
@Replace("draw") @Replace("draw")
void rl$draw(int var1, int var2) void copy$draw(int var1, int var2)
{ {
if (client.shouldRenderLoginScreenFire()) if (client.shouldRenderLoginScreenFire())
{ {
rs$draw(var1, var2); copy$draw(var1, var2);
} }
} }
} }

View File

@@ -47,14 +47,13 @@ public abstract class RSModelDataMixin implements RSModelData
private float[][] faceTextureVCoordinates; private float[][] faceTextureVCoordinates;
@Copy("toModel") @Copy("toModel")
public abstract Model rs$light(int ambient, int contrast, int var3, int var4, int var5);
@Replace("toModel") @Replace("toModel")
public Model rl$light(int ambient, int contrast, int var3, int var4, int var5) @SuppressWarnings("InfiniteRecursion")
public Model copy$light(int ambient, int contrast, int var3, int var4, int var5)
{ {
client.getLogger().trace("Lighting model {}", this); client.getLogger().trace("Lighting model {}", this);
Model model = rs$light(ambient, contrast, var3, var4, var5); Model model = copy$light(ambient, contrast, var3, var4, var5);
if (model == null) if (model == null)
{ {
return null; return null;

View File

@@ -160,13 +160,12 @@ public abstract class RSModelMixin implements RSModel
} }
@Copy("contourGround") @Copy("contourGround")
public abstract Model rs$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround);
@Replace("contourGround") @Replace("contourGround")
public Model rl$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround) @SuppressWarnings("InfiniteRecursion")
public Model copy$contourGround(int[][] tileHeights, int packedX, int height, int packedY, boolean copy, int contouredGround)
{ {
// With contouredGround >= 0 lighted models are countoured, so we need to copy uvs // With contouredGround >= 0 lighted models are countoured, so we need to copy uvs
Model model = rs$contourGround(tileHeights, packedX, height, packedY, copy, contouredGround); Model model = copy$contourGround(tileHeights, packedX, height, packedY, copy, contouredGround);
if (model != null && model != this) if (model != null && model != this)
{ {
RSModel rsModel = (RSModel) model; RSModel rsModel = (RSModel) model;
@@ -177,15 +176,13 @@ public abstract class RSModelMixin implements RSModel
} }
@Copy("drawFace") @Copy("drawFace")
public abstract void rs$drawFace(int face);
@Replace("drawFace") @Replace("drawFace")
public void rl$drawFace(int face) public void copy$drawFace(int face)
{ {
DrawCallbacks callbacks = client.getDrawCallbacks(); DrawCallbacks callbacks = client.getDrawCallbacks();
if (callbacks == null || !callbacks.drawFace(this, face)) if (callbacks == null || !callbacks.drawFace(this, face))
{ {
rs$drawFace(face); copy$drawFace(face);
} }
} }

View File

@@ -18,28 +18,8 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
@Inject @Inject
private int isInEvent; private int isInEvent;
@Copy("mousePressed")
abstract void rs$mousePressed(MouseEvent mouseEvent);
@Copy("mouseReleased")
abstract void rs$mouseReleased(MouseEvent mouseEvent);
@Copy("mouseClicked")
abstract void rs$mouseClicked(MouseEvent mouseEvent);
@Copy("mouseEntered")
abstract void rs$mouseEntered(MouseEvent mouseEvent);
@Copy("mouseExited")
abstract void rs$mouseExited(MouseEvent mouseEvent);
@Copy("mouseDragged")
abstract void rs$mouseDragged(MouseEvent mouseEvent);
@Copy("mouseMoved")
abstract void rs$mouseMoved(MouseEvent mouseEvent);
@Override @Override
@Copy("mousePressed")
@Replace("mousePressed") @Replace("mousePressed")
public synchronized void mousePressed(MouseEvent mouseEvent) public synchronized void mousePressed(MouseEvent mouseEvent)
{ {
@@ -52,7 +32,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mousePressed(mouseEvent); mousePressed(mouseEvent);
} }
finally finally
{ {
@@ -62,6 +42,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
} }
@Override @Override
@Copy("mouseReleased")
@Replace("mouseReleased") @Replace("mouseReleased")
public synchronized void mouseReleased(MouseEvent mouseEvent) public synchronized void mouseReleased(MouseEvent mouseEvent)
{ {
@@ -74,7 +55,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mouseReleased(mouseEvent); mouseReleased(mouseEvent);
} }
finally finally
{ {
@@ -84,17 +65,19 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
} }
@Override @Override
@Copy("mouseClicked")
@Replace("mouseClicked") @Replace("mouseClicked")
public void mouseClicked(MouseEvent event) public void mouseClicked(MouseEvent event)
{ {
event = client.getCallbacks().mouseClicked(event); event = client.getCallbacks().mouseClicked(event);
if (!event.isConsumed()) if (!event.isConsumed())
{ {
rs$mouseClicked(event); mouseClicked(event);
} }
} }
@Override @Override
@Copy("mouseEntered")
@Replace("mouseEntered") @Replace("mouseEntered")
public synchronized void mouseEntered(MouseEvent mouseEvent) public synchronized void mouseEntered(MouseEvent mouseEvent)
{ {
@@ -107,7 +90,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mouseEntered(mouseEvent); mouseEntered(mouseEvent);
} }
finally finally
{ {
@@ -118,6 +101,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
@Override @Override
@Copy("mouseExited")
@Replace("mouseExited") @Replace("mouseExited")
public synchronized void mouseExited(MouseEvent mouseEvent) public synchronized void mouseExited(MouseEvent mouseEvent)
{ {
@@ -130,7 +114,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mouseExited(mouseEvent); mouseExited(mouseEvent);
} }
finally finally
{ {
@@ -140,6 +124,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
} }
@Override @Override
@Copy("mouseDragged")
@Replace("mouseDragged") @Replace("mouseDragged")
public synchronized void mouseDragged(MouseEvent mouseEvent) public synchronized void mouseDragged(MouseEvent mouseEvent)
{ {
@@ -152,7 +137,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mouseDragged(mouseEvent); mouseDragged(mouseEvent);
} }
finally finally
{ {
@@ -162,6 +147,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
} }
@Override @Override
@Copy("mouseMoved")
@Replace("mouseMoved") @Replace("mouseMoved")
public synchronized void mouseMoved(MouseEvent mouseEvent) public synchronized void mouseMoved(MouseEvent mouseEvent)
{ {
@@ -174,7 +160,7 @@ public abstract class RSMouseHandlerMixin implements RSMouseHandler
isInEvent++; isInEvent++;
try try
{ {
rs$mouseMoved(mouseEvent); mouseMoved(mouseEvent);
} }
finally finally
{ {

View File

@@ -38,17 +38,15 @@ public abstract class RSMouseWheelHandlerMixin implements RSMouseWheelHandler
@Shadow("client") @Shadow("client")
private static RSClient client; private static RSClient client;
@Copy("mouseWheelMoved")
abstract void rs$mouseWheelMoved(MouseWheelEvent event);
@Override @Override
@Copy("mouseWheelMoved")
@Replace("mouseWheelMoved") @Replace("mouseWheelMoved")
public void mouseWheelMoved(MouseWheelEvent event) public void mouseWheelMoved(MouseWheelEvent event)
{ {
event = client.getCallbacks().mouseWheelMoved(event); event = client.getCallbacks().mouseWheelMoved(event);
if (!event.isConsumed()) if (!event.isConsumed())
{ {
rs$mouseWheelMoved(event); mouseWheelMoved(event);
} }
} }
} }

View File

@@ -119,15 +119,14 @@ public abstract class RSNPCMixin implements RSNPC
} }
@Copy("getModel") @Copy("getModel")
public abstract RSModel rs$getModel();
@Replace("getModel") @Replace("getModel")
public RSModel rl$getModel() @SuppressWarnings("InfiniteRecursion")
public RSModel copy$getModel()
{ {
if (!client.isInterpolateNpcAnimations() if (!client.isInterpolateNpcAnimations()
|| getAnimation() == AnimationID.HELLHOUND_DEFENCE) || getAnimation() == AnimationID.HELLHOUND_DEFENCE)
{ {
return rs$getModel(); return copy$getModel();
} }
int actionFrame = getActionFrame(); int actionFrame = getActionFrame();
int poseFrame = getPoseFrame(); int poseFrame = getPoseFrame();
@@ -139,7 +138,7 @@ public abstract class RSNPCMixin implements RSNPC
setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame); setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame);
setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame); setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame);
setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame); setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame);
return rs$getModel(); return copy$getModel();
} }
finally finally
{ {

View File

@@ -245,15 +245,14 @@ public abstract class RSPlayerMixin implements RSPlayer
return model.getConvexHull(getX(), getY(), getOrientation(), tileHeight); return model.getConvexHull(getX(), getY(), getOrientation(), tileHeight);
} }
@SuppressWarnings("InfiniteRecursion")
@Copy("getModel") @Copy("getModel")
public abstract RSModel rs$getModel();
@Replace("getModel") @Replace("getModel")
public RSModel rl$getModel() public RSModel copy$getModel()
{ {
if (!client.isInterpolatePlayerAnimations()) if (!client.isInterpolatePlayerAnimations())
{ {
return rs$getModel(); return copy$getModel();
} }
int actionFrame = getActionFrame(); int actionFrame = getActionFrame();
int poseFrame = getPoseFrame(); int poseFrame = getPoseFrame();
@@ -265,7 +264,7 @@ public abstract class RSPlayerMixin implements RSPlayer
setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame); setActionFrame(Integer.MIN_VALUE | getActionFrameCycle() << 16 | actionFrame);
setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame); setPoseFrame(Integer.MIN_VALUE | getPoseFrameCycle() << 16 | poseFrame);
setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame); setSpotAnimationFrame(Integer.MIN_VALUE | getSpotAnimationFrameCycle() << 16 | spotAnimFrame);
return rs$getModel(); return copy$getModel();
} }
finally finally
{ {
@@ -290,14 +289,13 @@ public abstract class RSPlayerMixin implements RSPlayer
} }
@Copy("read") @Copy("read")
public abstract void rs$read(RSBuffer buffer);
@Replace("read") @Replace("read")
public void rl$read(RSBuffer buffer) @SuppressWarnings("InfiniteRecursion")
public void copy$read(RSBuffer buffer)
{ {
final long appearanceHash = getPlayerAppearance() == null ? 0 : getPlayerAppearance().getHash(); final long appearanceHash = getPlayerAppearance() == null ? 0 : getPlayerAppearance().getHash();
rs$read(buffer); this.copy$read(buffer);
if (getPlayerAppearance().getHash() != appearanceHash) if (getPlayerAppearance().getHash() != appearanceHash)
{ {

View File

@@ -28,13 +28,8 @@ public abstract class RSRasterizer2DMixin implements RSClient
} }
@Copy("Rasterizer2D_fillRectangleGradientAlpha") @Copy("Rasterizer2D_fillRectangleGradientAlpha")
private static void rs$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7)
{
throw new RuntimeException();
}
@Replace("Rasterizer2D_fillRectangleGradientAlpha") @Replace("Rasterizer2D_fillRectangleGradientAlpha")
private static void rl$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7) private static void copy$drawGradientAlpha(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7)
{ {
final int width = client.getGraphicsPixelsWidth(); final int width = client.getGraphicsPixelsWidth();
final int startX = client.getStartX(); final int startX = client.getStartX();
@@ -45,7 +40,7 @@ public abstract class RSRasterizer2DMixin implements RSClient
if (!client.isGpu()) if (!client.isGpu())
{ {
rs$drawGradientAlpha(var0, var1, var2, var3, var4, var5, var6, var7); copy$drawGradientAlpha(var0, var1, var2, var3, var4, var5, var6, var7);
return; return;
} }
@@ -110,13 +105,8 @@ public abstract class RSRasterizer2DMixin implements RSClient
} }
@Copy("Rasterizer2D_drawGradientPixels") @Copy("Rasterizer2D_drawGradientPixels")
public static void rs$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7)
{
throw new RuntimeException();
}
@Replace("Rasterizer2D_drawGradientPixels") @Replace("Rasterizer2D_drawGradientPixels")
public static void rl$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7) public static void copy$raster2d7(int var0, int var1, int var2, int var3, int var4, int var5, byte[] var6, int var7)
{ {
final int width = client.getGraphicsPixelsWidth(); final int width = client.getGraphicsPixelsWidth();
final int height = client.getGraphicsPixelsHeight(); final int height = client.getGraphicsPixelsHeight();
@@ -124,7 +114,7 @@ public abstract class RSRasterizer2DMixin implements RSClient
if (!client.isGpu()) if (!client.isGpu())
{ {
rs$raster2d7(var0, var1, var2, var3, var4, var5, var6, var7); copy$raster2d7(var0, var1, var2, var3, var4, var5, var6, var7);
return; return;
} }

View File

@@ -81,7 +81,7 @@ public abstract class RSSceneMixin implements RSScene
private static int rl$drawDistance; private static int rl$drawDistance;
@Replace("draw") @Replace("draw")
void rl$drawScene(int cameraX, int cameraY, int cameraZ, int cameraPitch, int cameraYaw, int plane) void drawScene(int cameraX, int cameraY, int cameraZ, int cameraPitch, int cameraYaw, int plane)
{ {
final DrawCallbacks drawCallbacks = client.getDrawCallbacks(); final DrawCallbacks drawCallbacks = client.getDrawCallbacks();
if (drawCallbacks != null) if (drawCallbacks != null)
@@ -410,12 +410,11 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("newWallDecoration") @Copy("newWallDecoration")
abstract public void rs$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12);
@Replace("newWallDecoration") @Replace("newWallDecoration")
public void rl$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12) @SuppressWarnings("InfiniteRecursion")
public void copy$addBoundaryDecoration(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, int var9, int var10, long hash, int var12)
{ {
rs$addBoundaryDecoration(plane, x, y, floor, var5, var6, var7, var8, var9, var10, hash, var12); copy$addBoundaryDecoration(plane, x, y, floor, var5, var6, var7, var8, var9, var10, hash, var12);
Tile tile = getTiles()[plane][x][y]; Tile tile = getTiles()[plane][x][y];
if (tile != null) if (tile != null)
{ {
@@ -428,12 +427,11 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("newGroundItemPile") @Copy("newGroundItemPile")
abstract public void rs$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8);
@Replace("newGroundItemPile") @Replace("newGroundItemPile")
public void rl$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8) @SuppressWarnings("InfiniteRecursion")
public void copy$addItemPile(int plane, int x, int y, int hash, Entity var5, long var6, Entity var7, Entity var8)
{ {
rs$addItemPile(plane, x, y, hash, var5, var6, var7, var8); copy$addItemPile(plane, x, y, hash, var5, var6, var7, var8);
Tile tile = getTiles()[plane][x][y]; Tile tile = getTiles()[plane][x][y];
if (tile != null) if (tile != null)
{ {
@@ -446,12 +444,11 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("newFloorDecoration") @Copy("newFloorDecoration")
abstract public void rs$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7);
@Replace("newFloorDecoration") @Replace("newFloorDecoration")
public void rl$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7) @SuppressWarnings("InfiniteRecursion")
public void copy$groundObjectSpawned(int plane, int x, int y, int floor, Entity var5, long hash, int var7)
{ {
rs$groundObjectSpawned(plane, x, y, floor, var5, hash, var7); copy$groundObjectSpawned(plane, x, y, floor, var5, hash, var7);
Tile tile = getTiles()[plane][x][y]; Tile tile = getTiles()[plane][x][y];
if (tile != null) if (tile != null)
{ {
@@ -464,12 +461,11 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("newBoundaryObject") @Copy("newBoundaryObject")
abstract public void rs$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10);
@Replace("newBoundaryObject") @Replace("newBoundaryObject")
public void rl$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10) @SuppressWarnings("InfiniteRecursion")
public void copy$addBoundary(int plane, int x, int y, int floor, Entity var5, Entity var6, int var7, int var8, long hash, int var10)
{ {
rs$addBoundary(plane, x, y, floor, var5, var6, var7, var8, hash, var10); copy$addBoundary(plane, x, y, floor, var5, var6, var7, var8, hash, var10);
Tile tile = getTiles()[plane][x][y]; Tile tile = getTiles()[plane][x][y];
if (tile != null) if (tile != null)
{ {
@@ -482,16 +478,14 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("drawTileUnderlay") @Copy("drawTileUnderlay")
abstract public void rs$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y);
@Replace("drawTileUnderlay") @Replace("drawTileUnderlay")
public void rl$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y) public void copy$drawTileUnderlay(TilePaint tile, int z, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y)
{ {
if (!client.isGpu()) if (!client.isGpu())
{ {
try try
{ {
rs$drawTileUnderlay(tile, z, pitchSin, pitchCos, yawSin, yawCos, x, y); copy$drawTileUnderlay(tile, z, pitchSin, pitchCos, yawSin, yawCos, x, y);
} }
catch (Exception ex) catch (Exception ex)
{ {
@@ -609,14 +603,12 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("drawTileOverlay") @Copy("drawTileOverlay")
abstract public void rs$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y);
@Replace("drawTileOverlay") @Replace("drawTileOverlay")
public void rl$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int tileX, int tileY) public void copy$drawTileOverlay(TileModel tile, int pitchSin, int pitchCos, int yawSin, int yawCos, int tileX, int tileY)
{ {
if (!client.isGpu()) if (!client.isGpu())
{ {
rs$drawTileOverlay(tile, pitchSin, pitchCos, yawSin, yawCos, tileX, tileY); copy$drawTileOverlay(tile, pitchSin, pitchCos, yawSin, yawCos, tileX, tileY);
return; return;
} }
@@ -829,14 +821,12 @@ public abstract class RSSceneMixin implements RSScene
} }
@Copy("drawTileMinimap") @Copy("drawTileMinimap")
abstract void rs$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y);
@Replace("drawTileMinimap") @Replace("drawTileMinimap")
public void rl$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y) public void copy$drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y)
{ {
if (!hdMinimapEnabled) if (!hdMinimapEnabled)
{ {
rs$drawTile(pixels, pixelOffset, width, z, x, y); copy$drawTile(pixels, pixelOffset, width, z, x, y);
return; return;
} }
Tile tile = getTiles()[z][x][y]; Tile tile = getTiles()[z][x][y];

View File

@@ -16,10 +16,9 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition
private static RSClient client; private static RSClient client;
@Copy("applyTransformations") @Copy("applyTransformations")
public abstract RSModel rs$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame);
@Replace("applyTransformations") @Replace("applyTransformations")
public RSModel rl$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame) @SuppressWarnings("InfiniteRecursion")
public RSModel copy$applyTransformations(RSModel model, int actionFrame, RSSequenceDefinition poseSeq, int poseFrame)
{ {
// reset frame ids because we're not interpolating this // reset frame ids because we're not interpolating this
if (actionFrame < 0) if (actionFrame < 0)
@@ -32,19 +31,17 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition
int packed = poseFrame ^ Integer.MIN_VALUE; int packed = poseFrame ^ Integer.MIN_VALUE;
poseFrame = packed & 0xFFFF; poseFrame = packed & 0xFFFF;
} }
return rs$applyTransformations(model, actionFrame, poseSeq, poseFrame); return copy$applyTransformations(model, actionFrame, poseSeq, poseFrame);
} }
@Copy("transformActorModel") @Copy("transformActorModel")
public abstract RSModel rs$transformActorModel(RSModel model, int frameIdx);
@Replace("transformActorModel") @Replace("transformActorModel")
public RSModel rl$transformActorModel(RSModel model, int frame) public RSModel copy$transformActorModel(RSModel model, int frame)
{ {
// check if the frame has not been modified // check if the frame has not been modified
if (frame >= 0) if (frame >= 0)
{ {
return rs$transformActorModel(model, frame); return copy$transformActorModel(model, frame);
} }
// remove flag to check if the frame has been modified // remove flag to check if the frame has been modified
@@ -84,15 +81,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition
} }
@Copy("transformObjectModel") @Copy("transformObjectModel")
public abstract RSModel rs$transformObjectModel(RSModel model, int frame, int rotation);
@Replace("transformObjectModel") @Replace("transformObjectModel")
public RSModel rl$transformObjectModel(RSModel model, int frame, int rotation) public RSModel copy$transformObjectModel(RSModel model, int frame, int rotation)
{ {
// check if the frame has not been modified // check if the frame has not been modified
if (frame >= 0) if (frame >= 0)
{ {
return rs$transformObjectModel(model, frame, rotation); return copy$transformObjectModel(model, frame, rotation);
} }
// remove flag to check if the frame has been modified // remove flag to check if the frame has been modified
@@ -159,15 +154,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition
} }
@Copy("transformSpotAnimationModel") @Copy("transformSpotAnimationModel")
public abstract RSModel rs$transformSpotAnimationModel(RSModel model, int frame);
@Replace("transformSpotAnimationModel") @Replace("transformSpotAnimationModel")
public RSModel rl$transformSpotAnimationModel(RSModel model, int frame) public RSModel copy$transformSpotAnimationModel(RSModel model, int frame)
{ {
// check if the frame has not been modified // check if the frame has not been modified
if (frame >= 0) if (frame >= 0)
{ {
return rs$transformSpotAnimationModel(model, frame); return copy$transformSpotAnimationModel(model, frame);
} }
// remove flag to check if the frame has been modified // remove flag to check if the frame has been modified
@@ -206,15 +199,13 @@ public abstract class RSSequenceDefinitionMixin implements RSSequenceDefinition
} }
@Copy("transformWidgetModel") @Copy("transformWidgetModel")
public abstract RSModel rs$transformWidgetModel(RSModel model, int frame);
@Replace("transformWidgetModel") @Replace("transformWidgetModel")
public RSModel rl$transformWidgetModel(RSModel model, int frame) public RSModel copy$transformWidgetModel(RSModel model, int frame)
{ {
// check if the frame has not been modified // check if the frame has not been modified
if (frame >= 0) if (frame >= 0)
{ {
return rs$transformWidgetModel(model, frame); return copy$transformWidgetModel(model, frame);
} }
// remove flag to check if the frame has been modified // remove flag to check if the frame has been modified

View File

@@ -147,16 +147,13 @@ public abstract class RSSpriteMixin implements RSSprite
} }
@Copy("drawRotatedMaskedCenteredAround") @Copy("drawRotatedMaskedCenteredAround")
abstract void rs$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset,
int rotation, int zoom, int[] xOffsets, int[] yOffsets);
@Replace("drawRotatedMaskedCenteredAround") @Replace("drawRotatedMaskedCenteredAround")
public void rl$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset, int rotation, public void copy$drawAlphaMapped(int x, int y, int width, int height, int xOffset, int yOffset, int rotation,
int zoom, int[] xOffsets, int[] yOffsets) int zoom, int[] xOffsets, int[] yOffsets)
{ {
if (!hdMinimapEnabled) if (!hdMinimapEnabled)
{ {
rs$drawAlphaMapped(x, y, width, height, xOffset, yOffset, rotation, zoom, xOffsets, yOffsets); copy$drawAlphaMapped(x, y, width, height, xOffset, yOffset, rotation, zoom, xOffsets, yOffsets);
return; return;
} }
try try

View File

@@ -45,17 +45,15 @@ public abstract class RSTextureMixin implements RSTexture
private float rl$v; private float rl$v;
@Copy("animate") @Copy("animate")
public abstract void rs$animate(int diff);
@Replace("animate") @Replace("animate")
public void rl$animate(int diff) public void copy$animate(int diff)
{ {
// The client animates textures by cycling the backing pixels of the texture each fram // The client animates textures by cycling the backing pixels of the texture each fram
// based on how long it was since the last tick. On GPU we let the plugin manage this // based on how long it was since the last tick. On GPU we let the plugin manage this
// which will calculate uvs instead. // which will calculate uvs instead.
if (!client.isGpu()) if (!client.isGpu())
{ {
rs$animate(diff); copy$animate(diff);
return; return;
} }
assert client.getDrawCallbacks() != null; assert client.getDrawCallbacks() != null;

View File

@@ -583,16 +583,15 @@ public abstract class RSWidgetMixin implements RSWidget
} }
@Copy("getModel") @Copy("getModel")
public abstract RSModel rs$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition);
@Replace("getModel") @Replace("getModel")
public RSModel rl$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition) @SuppressWarnings("InfiniteRecursion")
public RSModel copy$getModel(RSSequenceDefinition sequence, int frame, boolean alternate, RSPlayerAppearance playerComposition)
{ {
if (frame != -1 && client.isInterpolateWidgetAnimations()) if (frame != -1 && client.isInterpolateWidgetAnimations())
{ {
frame = frame | getModelFrameCycle() << 16 | Integer.MIN_VALUE; frame = frame | getModelFrameCycle() << 16 | Integer.MIN_VALUE;
} }
return rs$getModel(sequence, frame, alternate, playerComposition); return copy$getModel(sequence, frame, alternate, playerComposition);
} }
@Inject @Inject

View File

@@ -138,13 +138,8 @@ public abstract class ScriptVMMixin implements RSClient
} }
@Copy("runScript") @Copy("runScript")
static void rs$runScript(RSScriptEvent event, int maxExecutionTime)
{
throw new RuntimeException();
}
@Replace("runScript") @Replace("runScript")
static void rl$runScript(RSScriptEvent event, int maxExecutionTime) static void copy$runScript(RSScriptEvent event, int maxExecutionTime)
{ {
Object[] arguments = event.getArguments(); Object[] arguments = event.getArguments();
assert arguments != null && arguments.length > 0; assert arguments != null && arguments.length > 0;
@@ -164,7 +159,7 @@ public abstract class ScriptVMMixin implements RSClient
try try
{ {
rootScriptEvent = event; rootScriptEvent = event;
rs$runScript(event, maxExecutionTime); copy$runScript(event, maxExecutionTime);
} }
finally finally
{ {

View File

@@ -57,13 +57,9 @@ public abstract class SoundEffectMixin implements RSClient
private static int lastSoundEffectSourceNPCid; private static int lastSoundEffectSourceNPCid;
@Copy("updateActorSequence") @Copy("updateActorSequence")
public static void rs$updateActorSequence(RSActor actor, int size)
{
throw new RuntimeException();
}
@Replace("updateActorSequence") @Replace("updateActorSequence")
public static void rl$updateActorSequence(RSActor actor, int size) @SuppressWarnings("InfiniteRecursion")
public static void copy$updateActorSequence(RSActor actor, int size)
{ {
if (actor instanceof RSNPC) if (actor instanceof RSNPC)
{ {
@@ -71,7 +67,7 @@ public abstract class SoundEffectMixin implements RSClient
} }
lastSoundEffectSourceActor = actor; lastSoundEffectSourceActor = actor;
rs$updateActorSequence(actor, size); copy$updateActorSequence(actor, size);
lastSoundEffectSourceActor = null; lastSoundEffectSourceActor = null;
} }

View File

@@ -35,13 +35,8 @@ public abstract class SpriteMixin implements RSClient
} }
@Copy("SpriteBuffer_getSprite") @Copy("SpriteBuffer_getSprite")
public static RSSprite rs$loadSprite(RSAbstractArchive var0, int var1, int var2)
{
throw new RuntimeException();
}
@Replace("SpriteBuffer_getSprite") @Replace("SpriteBuffer_getSprite")
public static RSSprite rl$loadSprite(RSAbstractArchive var0, int var1, int var2) public static RSSprite copy$loadSprite(RSAbstractArchive var0, int var1, int var2)
{ {
Sprite sprite = spriteOverrides.get(var1); Sprite sprite = spriteOverrides.get(var1);
@@ -50,6 +45,6 @@ public abstract class SpriteMixin implements RSClient
return (RSSprite) sprite; return (RSSprite) sprite;
} }
return rs$loadSprite(var0, var1, var2); return copy$loadSprite(var0, var1, var2);
} }
} }

View File

@@ -15,10 +15,9 @@ public abstract class StretchedModeMaxSizeMixin implements RSGameShell
private static RSClient client; private static RSClient client;
@Copy("resizeCanvas") @Copy("resizeCanvas")
abstract void rs$resizeCanvas();
@Replace("resizeCanvas") @Replace("resizeCanvas")
public void rl$resizeCanvas() @SuppressWarnings("InfiniteRecursion")
public void copy$resizeCanvas()
{ {
if (client.isStretchedEnabled()) if (client.isStretchedEnabled())
{ {
@@ -33,20 +32,18 @@ public abstract class StretchedModeMaxSizeMixin implements RSGameShell
} }
} }
rs$resizeCanvas(); copy$resizeCanvas();
} }
@Copy("setMaxCanvasSize") @Copy("setMaxCanvasSize")
abstract void rs$setMaxCanvasSize(int width, int height);
@Replace("setMaxCanvasSize") @Replace("setMaxCanvasSize")
public void rl$setMaxCanvasSize(int width, int height) public void copy$setMaxCanvasSize(int width, int height)
{ {
if (client.isStretchedEnabled() && client.isResized()) if (client.isStretchedEnabled() && client.isResized())
{ {
return; return;
} }
rs$setMaxCanvasSize(width, height); copy$setMaxCanvasSize(width, height);
} }
} }

View File

@@ -17,13 +17,8 @@ public abstract class WidgetSpriteMixin implements RSWidget
private static Map<Integer, Sprite> widgetSpriteOverrides; private static Map<Integer, Sprite> widgetSpriteOverrides;
@Copy("getSprite") @Copy("getSprite")
public RSSprite rs$getWidgetSprite(boolean var1)
{
throw new RuntimeException();
}
@Replace("getSprite") @Replace("getSprite")
public RSSprite rl$getWidgetSprite(boolean var1) public RSSprite copy$getWidgetSprite(boolean var1)
{ {
if (getSpriteId() != -1) if (getSpriteId() != -1)
{ {
@@ -35,7 +30,7 @@ public abstract class WidgetSpriteMixin implements RSWidget
} }
} }
return rs$getWidgetSprite(var1); return copy$getWidgetSprite(var1);
} }
@Inject @Inject