From 146de37d27c648814e98e6ffa31da03233941ecd Mon Sep 17 00:00:00 2001 From: Maschell Date: Wed, 2 Mar 2016 21:00:42 +0100 Subject: [PATCH] Fixed small typo + removed debug prints --- jar/JNUSTool.jar | Bin 77818 -> 78009 bytes src/de/mas/jnustool/FST.java | 10 ++++++++++ src/de/mas/jnustool/NUSTitle.java | 1 - src/de/mas/jnustool/gui/UpdateChooser.java | 2 +- src/de/mas/jnustool/util/Downloader.java | 2 -- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/jar/JNUSTool.jar b/jar/JNUSTool.jar index 501a33d05f2b9ea3cf9ca466f2197407dfcbef8a..caf54dd2e44f912cb44b44eb7acd9ff714765dad 100644 GIT binary patch delta 17328 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 diff --git a/src/de/mas/jnustool/FST.java b/src/de/mas/jnustool/FST.java index 969ae95..ad60e0b 100644 --- a/src/de/mas/jnustool/FST.java +++ b/src/de/mas/jnustool/FST.java @@ -285,6 +285,16 @@ public class FST { } return i; } + + public String notInNUS() { + StringBuilder sb = new StringBuilder(); + for(FEntry f: getFileEntries()){ + if(!f.isDir() && !f.isInNUSTitle()){ + sb.append(f.getFullPath() + " " + String.format("%8.2f MB ", f.getFileLength()/1024.0/1024.0) + "\n"); + } + } + return sb.toString(); + } public Directory getFSTDirectory() { return FSTDirectory; diff --git a/src/de/mas/jnustool/NUSTitle.java b/src/de/mas/jnustool/NUSTitle.java index bedca66..a6feaf2 100644 --- a/src/de/mas/jnustool/NUSTitle.java +++ b/src/de/mas/jnustool/NUSTitle.java @@ -137,7 +137,6 @@ public class NUSTitle { Decryption decryption = new Decryption(ticket.getDecryptedKey(),0); byte[] encryptedFST = null; if(Settings.useCachedFiles){ - Logger.log(getContentPath()); String path = getContentPath() + "/" + String.format("%08x", tmd.contents[0].ID) + ".app"; File f = new File(path); if(f.exists()){ diff --git a/src/de/mas/jnustool/gui/UpdateChooser.java b/src/de/mas/jnustool/gui/UpdateChooser.java index 1b2b3df..b69ed66 100644 --- a/src/de/mas/jnustool/gui/UpdateChooser.java +++ b/src/de/mas/jnustool/gui/UpdateChooser.java @@ -168,7 +168,7 @@ public class UpdateChooser extends JPanel { progressBar.setStringPainted(true); JButton btnDownloadMeta = new JButton("Download META"); - JButton btnDownloadEncrypted = new JButton("Download Enctrypted"); + JButton btnDownloadEncrypted = new JButton("Download Encrypted Files"); JProgressBar progressBar_1 = new JProgressBar(); panel.add(progressBar_1); progressBar_1.setValue(0); diff --git a/src/de/mas/jnustool/util/Downloader.java b/src/de/mas/jnustool/util/Downloader.java index 3819a1b..46df7bf 100644 --- a/src/de/mas/jnustool/util/Downloader.java +++ b/src/de/mas/jnustool/util/Downloader.java @@ -79,7 +79,6 @@ public class Downloader { String version_suf = ""; if(version > 0) version_suf = "." + version; String URL = URL_BASE + "/" + String.format("%016X", titleID) + "/tmd" + version_suf; - System.out.println(URL); downloadFile(URL, "title.tmd",path,null); } @@ -130,7 +129,6 @@ public class Downloader { String version_suf = ""; if(version > 0) version_suf = "." + version; String URL = URL_BASE + "/" + String.format("%016X", titleID) + "/tmd" +version_suf; - System.out.println(URL); return downloadFileToByteArray(URL); } private byte[] downloadFileToByteArray(String fileURL) throws IOException {