From baddc44c5d48c826d83f45bc0661bfe498bfe604 Mon Sep 17 00:00:00 2001 From: Parnassian Date: Fri, 28 Feb 2014 19:28:40 +0100 Subject: [PATCH] Added dump mode --- parabotv2/src/org/parabot/Landing.java | 3 +++ parabotv2/src/org/parabot/core/Context.java | 6 ++++++ parabotv2/src/org/parabot/core/Core.java | 17 +++++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/parabotv2/src/org/parabot/Landing.java b/parabotv2/src/org/parabot/Landing.java index c291bfc..67d6524 100644 --- a/parabotv2/src/org/parabot/Landing.java +++ b/parabotv2/src/org/parabot/Landing.java @@ -88,6 +88,9 @@ public final class Landing { case "-loadlocal": Core.setLoadLocal(true); break; + case "-dump": + Core.setDump(true); + break; } } diff --git a/parabotv2/src/org/parabot/core/Context.java b/parabotv2/src/org/parabot/core/Context.java index d3cc39f..ab70a2b 100644 --- a/parabotv2/src/org/parabot/core/Context.java +++ b/parabotv2/src/org/parabot/core/Context.java @@ -17,6 +17,7 @@ import org.parabot.environment.servers.ServerProvider; import java.applet.Applet; import java.awt.Dimension; +import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.TimerTask; @@ -157,6 +158,11 @@ public class Context { serverProvider.injectHooks(); Core.verbose("Done."); Core.verbose("Fetching game applet..."); + if(Core.shouldDump()) { + Core.verbose("Dumping injected client..."); + classPath.dump(new File(Directories.getWorkspace(), "dump.jar")); + Core.verbose("Done."); + } gameApplet = serverProvider.fetchApplet(); if (getClient() == null) { setClientInstance(gameApplet); diff --git a/parabotv2/src/org/parabot/core/Core.java b/parabotv2/src/org/parabot/core/Core.java index 5950e11..cd805fb 100644 --- a/parabotv2/src/org/parabot/core/Core.java +++ b/parabotv2/src/org/parabot/core/Core.java @@ -13,6 +13,7 @@ import java.io.IOException; public class Core { private static boolean debug; private static boolean verbose; + private static boolean dump; private static boolean loadLocal; //Loads both local and public scripts/servers /** @@ -39,6 +40,15 @@ public class Core { public static void setDebug(final boolean debug) { Core.debug = debug; } + + /** + * Enables dump mode + * + * @param dump + */ + public static void setDump(final boolean dump) { + Core.dump = dump; + } /** * @return if the client is in debug mode. @@ -53,6 +63,13 @@ public class Core { public static boolean inVerboseMode() { return verbose; } + + /** + * @return if parabot should dump injected jar + */ + public static boolean shouldDump() { + return dump; + } /** * Sets verbose mode