From 09d2b056f1218ee82cebbe8f64c4f0e5bd80c086 Mon Sep 17 00:00:00 2001 From: Giovanni Ruddy Gazivoda Date: Thu, 18 Apr 2019 22:59:00 -0400 Subject: [PATCH] Transform objects now use an interface --- .../rs/bytecode/transformers/ActorTransform.java | 14 +++++--------- .../rs/bytecode/transformers/PlayerTransform.java | 6 +++++- .../bytecode/transformers/ProjectileTransform.java | 10 ++++++---- .../client/rs/bytecode/transformers/Transform.java | 8 ++++++++ 4 files changed, 24 insertions(+), 14 deletions(-) create mode 100644 runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java index 37b4777c56..73dc2a6930 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ActorTransform.java @@ -1,22 +1,15 @@ package net.runelite.client.rs.bytecode.transformers; -import javassist.CannotCompileException; import javassist.CtClass; import javassist.CtMethod; import javassist.CtNewMethod; import javassist.NotFoundException; import net.runelite.client.rs.bytecode.ByteCodePatcher; -import net.runelite.client.rs.bytecode.ByteCodeUtils; -import java.io.File; -import java.io.IOException; -import java.net.URL; -import java.net.URLClassLoader; - -public class ActorTransform { +public class ActorTransform implements Transform { public CtClass ct = null; - + @Override public void modify(Class actor) { try { ct = ByteCodePatcher.classPool.get(actor.getName()); @@ -28,6 +21,9 @@ public class ActorTransform { } } + @Override + public void transform() { } + public void transformGetAnimation() { try { CtMethod protectedAnimation = ct.getDeclaredMethod("1protect$getRsAnimation"); diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java index 1fbec240c6..7e02ca1e74 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/PlayerTransform.java @@ -5,9 +5,10 @@ import javassist.CtMethod; import javassist.CtNewMethod; import net.runelite.client.rs.bytecode.ByteCodePatcher; -public class PlayerTransform { +public class PlayerTransform implements Transform { public CtClass ct = null; + @Override public void modify(Class player) { try { ct = ByteCodePatcher.classPool.get(player.getName()); @@ -19,6 +20,9 @@ public class PlayerTransform { } } + @Override + public void transform(){} + public void transformProtectedGetSkullIcon() { CtMethod protectedGetSkullIcon; try { diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java index 9cdae79a77..e9af2b826b 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/ProjectileTransform.java @@ -4,22 +4,23 @@ import javassist.CtClass; import javassist.CtMethod; import javassist.CtNewMethod; import net.runelite.client.rs.bytecode.ByteCodePatcher; -import net.runelite.client.rs.bytecode.ByteCodeUtils; -public class ProjectileTransform { +public class ProjectileTransform implements Transform { public CtClass ct = null; + @Override public void modify(Class projectile) { try { ct = ByteCodePatcher.classPool.get(projectile.getName()); - transformProjectileMoved(); + transform(); ByteCodePatcher.modifiedClasses.add(ct); } catch (Exception e) { e.printStackTrace(); } } - public void transformProjectileMoved() { + @Override + public void transform() { CtMethod getAnimation; try { getAnimation = ct.getDeclaredMethod("projectileMoved", new CtClass[]{CtClass.intType, CtClass.intType, CtClass.intType, CtClass.intType}); @@ -37,4 +38,5 @@ public class ProjectileTransform { e.printStackTrace(); } } + } diff --git a/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java new file mode 100644 index 0000000000..e7b8210b22 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/rs/bytecode/transformers/Transform.java @@ -0,0 +1,8 @@ +package net.runelite.client.rs.bytecode.transformers; + +public interface Transform { + + void modify(Class clazz); + void transform(); + +}