From 6d2d8ad36d6619723fcba7c4dba14f4ef01ead6e Mon Sep 17 00:00:00 2001 From: ipkpjersi Date: Fri, 29 Dec 2023 12:45:24 -0500 Subject: [PATCH] Added subfolders option This allows for much greater flexibility of screenshotting, we can now pass in any number of levels of subfolders for our preferred directory depth for storing images. --- client/src/main/java/plugin/api/API.java | 4 ++-- client/src/main/java/rt4/client.java | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/client/src/main/java/plugin/api/API.java b/client/src/main/java/plugin/api/API.java index 3e34c5f..d84d27e 100644 --- a/client/src/main/java/plugin/api/API.java +++ b/client/src/main/java/plugin/api/API.java @@ -273,10 +273,10 @@ public class API { Cheat.sendCheatPacket(JagString.of(command)); } - public static void Screenshot() { + public static void Screenshot(String... subfolders) { SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy_MM_dd-HH_mm_ss"); String dateTime = dateFormat.format(new Date()); - client.instance.saveScreenshot(PlayerList.self.username.toString() + "_" + dateTime + ".png"); + client.instance.saveScreenshot(PlayerList.self.username.toString() + "_" + dateTime + ".png", subfolders); } public static void PlaySound(int volume, int trackId, int delay) { diff --git a/client/src/main/java/rt4/client.java b/client/src/main/java/rt4/client.java index ff40855..3ce80e8 100644 --- a/client/src/main/java/rt4/client.java +++ b/client/src/main/java/rt4/client.java @@ -491,7 +491,7 @@ public final class client extends GameShell { arg0.pdata(local15, 24); } - public void saveScreenshot(String filename) { + public void saveScreenshot(String filename, String... subfolders) { String homeDirOverride = System.getProperty("clientHomeOverride"); String homeDir = null; String osNameRaw = ""; @@ -525,7 +525,13 @@ public final class client extends GameShell { } catch (Exception ex) { } } - File outputFolder = new File(homeDir + File.separatorChar + "screenshots" + File.separatorChar); + + String subfolderPath = String.join(File.separator, subfolders); + if (!subfolderPath.isEmpty()) { + subfolderPath += File.separator; + } + + File outputFolder = new File(homeDir + File.separatorChar + "screenshots" + File.separatorChar + subfolderPath); if (!outputFolder.exists()){ outputFolder.mkdirs(); }