From 318644481a1fb778d048b4d927a91de79fdf86c9 Mon Sep 17 00:00:00 2001 From: Nes370 Date: Mon, 22 Jul 2024 10:18:12 -0700 Subject: [PATCH] Created resources folder --- .classpath | 1 + pack_bgm.csv | 21 ---------- res/pack_bgm.csv | 21 ++++++++++ pack_cheer.csv => res/pack_cheer.csv | 0 pack_dj_menu.csv => res/pack_dj_menu.csv | 0 src/goblincave/gitea/nes/AudioExtractor.java | 40 +++++++------------- 6 files changed, 35 insertions(+), 48 deletions(-) delete mode 100644 pack_bgm.csv create mode 100644 res/pack_bgm.csv rename pack_cheer.csv => res/pack_cheer.csv (100%) rename pack_dj_menu.csv => res/pack_dj_menu.csv (100%) diff --git a/.classpath b/.classpath index 95e5a7c..65b6f8a 100644 --- a/.classpath +++ b/.classpath @@ -1,6 +1,7 @@ + diff --git a/pack_bgm.csv b/pack_bgm.csv deleted file mode 100644 index e5f9a6a..0000000 --- a/pack_bgm.csv +++ /dev/null @@ -1,21 +0,0 @@ -Track Title Artist Album -1 Explorers Hiroshi Okubo Green Album -2 Valley of the Mind SamplingMasters MEGA Green Album -3 Nitro Mantra SamplingMasters AYA Green Album -4 I Want You SamplingMasters AYA Green Album -5 Road Mauler Rio Hamamoto Green Album -6 Floodlight sanodg White Album -7 Drift Psychosis Hiroshi Okubo White Album -8 Sue?o Del Mar Asuka Sakai White Album -9 Trail of Light J99 White Album -10 Ultra Cruise Tetsukazu Nakanishi White Album -11 Highway Fusion SamplingMasters MEGA Black Album -12 Acid Eutron #001 Acid Eutron Black Album -13 Radiance sanodg Black Album -14 Photon Field Koji Nakagawa Black Album -15 Galactic Life "Kohta ""SOLIDSTATE"" Takahashi" Black Album -16 Run PAC-MAN Run! Akitaka Tohyama Black Album -17 -18 -19 -20 diff --git a/res/pack_bgm.csv b/res/pack_bgm.csv new file mode 100644 index 0000000..c74b37a --- /dev/null +++ b/res/pack_bgm.csv @@ -0,0 +1,21 @@ +Track,Title,Artist,Album +1,Explorers,Hiroshi Okubo,Green Album +2,Valley of the Mind,SamplingMasters MEGA,Green Album +3,Nitro Mantra,SamplingMasters AYA,Green Album +4,I Want You,SamplingMasters AYA,Green Album +5,Road Mauler,Rio Hamamoto,Green Album +6,Floodlight,sanodg,White Album +7,Drift Psychosis,Hiroshi Okubo,White Album +8,Sue?o Del Mar,Asuka Sakai,White Album +9,Trail of Light,J99,White Album +10,Ultra Cruise,Tetsukazu Nakanishi,White Album +11,Highway Fusion,SamplingMasters MEGA,Black Album +12,Acid Eutron #001,Acid Eutron,Black Album +13,Radiance,sanodg,Black Album +14,Photon Field,Koji Nakagawa,Black Album +15,Galactic Life,"Kohta ""SOLIDSTATE"" Takahashi",Black Album +16,Run PAC-MAN Run!,Akitaka Tohyama,Black Album +17,,, +18,,, +19,,, +20,,, diff --git a/pack_cheer.csv b/res/pack_cheer.csv similarity index 100% rename from pack_cheer.csv rename to res/pack_cheer.csv diff --git a/pack_dj_menu.csv b/res/pack_dj_menu.csv similarity index 100% rename from pack_dj_menu.csv rename to res/pack_dj_menu.csv diff --git a/src/goblincave/gitea/nes/AudioExtractor.java b/src/goblincave/gitea/nes/AudioExtractor.java index 4d59f11..7f3e3cb 100644 --- a/src/goblincave/gitea/nes/AudioExtractor.java +++ b/src/goblincave/gitea/nes/AudioExtractor.java @@ -98,11 +98,14 @@ public class AudioExtractor { Thread.sleep(500); } else { + // WIDE LOGO System.out.println(Ansi.colorize(logoFormat("Ridge Racer 6"), Attribute.BRIGHT_RED_TEXT())); Thread.sleep(500); + System.out.println(Ansi.colorize(logoFormat("Audio Extractor", true, 8), Attribute.YELLOW_TEXT())); Thread.sleep(500); + } // Print meta info @@ -452,33 +455,16 @@ public class AudioExtractor { } // Determine size of data chunk - if(dataAddress > -1) { - - file.seek(dataAddress + 4); - byte[] buffer = new byte[4]; - file.read(buffer); - - int dataSize = 8 + buffer[3] - + buffer[2] * (int) Math.pow(16, 2) - + buffer[1] * (int) Math.pow(16, 4) - + buffer[0] * (int) Math.pow(16, 6); - - } else throw new IOException("Data chunk not in file."); + int dataSize; + if(dataAddress > -1) + dataSize = readChunkSize(file, dataAddress); + else throw new IOException("Data chunk not in file."); // Determine size of smpl chunk - if(smplAddress > -1) { - - file.seek(smplAddress + 4); - byte[] buffer = new byte[4]; - file.read(buffer); // write size bytes to buffer - - // calculate expected chunk size - int smplSize = 8 + buffer[3] - + buffer[2] * (int) Math.pow(16, 2) - + buffer[1] * (int) Math.pow(16, 4) - + buffer[0] * (int) Math.pow(16, 6); - - } // smpl chunk may not already exist + int smplSize; + if(smplAddress > -1) + smplSize = readChunkSize(file, smplAddress); + // smpl chunk may not already exist // Create new sample chunk // Insert 68-byte sample chunk with loop before data chunk @@ -681,7 +667,7 @@ public class AudioExtractor { private static String retrieveOperation(BufferedReader reader, String input) { String operation = null; - String[] values = {"extract", "package", "patch", "print", "exit"}; + String[] values = {"extract", "pack", "patch", "print", "exit"}; if(input != null) for(int i = 0; i < values.length; i++) @@ -692,7 +678,7 @@ public class AudioExtractor { String prompt = "\n" + Ansi.colorize("Operations", Attribute.BRIGHT_YELLOW_TEXT(), Attribute.BOLD()) + ":\n" + "- " + Ansi.colorize("Extract", Attribute.BRIGHT_RED_TEXT()) + " audio tracks from package\n" - + "- " + Ansi.colorize("Package", Attribute.YELLOW_TEXT()) + " audio tracks into package\n" + + "- " + Ansi.colorize("Pack", Attribute.YELLOW_TEXT()) + " audio tracks into package\n" + "- " + Ansi.colorize("Patch", Attribute.BRIGHT_GREEN_TEXT()) + " audio track to loop indefinitely\n" + "- " + Ansi.colorize("Print", Attribute.BRIGHT_BLUE_TEXT()) + " Ridge Racer 6 style ASCII logo\n" + "- " + Ansi.colorize("Exit", Attribute.BRIGHT_MAGENTA_TEXT()) + " program\n"