From 488c11abfa72cb4cb9ff193fc0e8483d7ba2ec78 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 20 Mar 2016 17:30:59 -0400 Subject: [PATCH] Use internal classnames when injecting interfaces --- src/main/java/net/runelite/deob/injection/Inject.java | 7 +++---- src/test/java/net/runelite/deob/injection/InjectTest.java | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/runelite/deob/injection/Inject.java b/src/main/java/net/runelite/deob/injection/Inject.java index 2eaaf1490e..0a5a1f34e7 100644 --- a/src/main/java/net/runelite/deob/injection/Inject.java +++ b/src/main/java/net/runelite/deob/injection/Inject.java @@ -1,10 +1,7 @@ package net.runelite.deob.injection; import java.io.IOException; -import java.util.ArrayList; import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; import net.runelite.deob.ClassFile; import net.runelite.deob.ClassGroup; import net.runelite.deob.Field; @@ -221,7 +218,9 @@ public class Inject return null; String ifaceName = API_PACKAGE_BASE + a.getElement().getString(); - Class clazz = new Class(ifaceName); + String ifaceNameInternal = ifaceName.replace('.', '/'); // to internal name + + Class clazz = new Class(ifaceNameInternal); Interfaces interfaces = other.getInterfaces(); interfaces.addInterface(clazz); diff --git a/src/test/java/net/runelite/deob/injection/InjectTest.java b/src/test/java/net/runelite/deob/injection/InjectTest.java index 3b00e6d271..ba8cb578dc 100644 --- a/src/test/java/net/runelite/deob/injection/InjectTest.java +++ b/src/test/java/net/runelite/deob/injection/InjectTest.java @@ -10,8 +10,8 @@ import org.junit.Test; public class InjectTest { - private static final File DEOBFUSCATED = new File("C:\\Users\\Adam\\.m2\\repository\\net\\runelite\\rs\\rs-client\\1.0-SNAPSHOT\\rs-client-1.0-SNAPSHOT.jar"); - private static final File VANILLA = new File(InjectTest.class.getResource("/gamepack_v16.jar").getFile()); + private static final File DEOBFUSCATED = new File("d:/rs/07/gamepack_v18_with_annotations.jar"); + private static final File VANILLA = new File(InjectTest.class.getResource("/gamepack_v18.jar").getFile()); private static final File OUT = new File("d:/rs/07/adamout.jar"); private ClassGroup deob, vanilla;