More actions
BCSAR View | |
---|---|
General | |
Author | thane98 |
Type | Hack Utilities |
Version | 0.4-alpha |
License | GPL-3.0 |
Last Updated | 2023/01/18 |
Links | |
Download | |
Website | |
Source | |
BCSAR View is a work-in-progress (WIP) application designed for the purpose of editing 3DS Sound Archives (*.bcsar). Currently, the tool enables you to dump and insert new wave sounds, sound sets, and archives, along with sequences, banks, and groups.
Considering that BCSAR View is a work in progress, it is recommended that you exercise caution when making any edits. Prior to attempting to import or insert new sounds, always make a backup of your BCSAR file.
Installation
BCSAR View is designed to be compatible with Java 8. In order to utilize the tool, you will need to have the Java 8 Runtime Environment installed on your system.
Once you have the Java runtime set up, you can easily obtain the BCSAR View JAR file and execute it.
Usage
To begin editing a BCSAR file, you must first run BCSAR View after extracting the 3DS romfs. Once the application is launched, access the main window and select the "Open" button. You can then choose the BCSAR file you wish to modify.
After opening the file, you have the freedom to make any desired changes. When you are satisfied with the modifications, select "Save" to overwrite the original file, or opt to use "Save As" to store the revised file to a new location.
Setup
WAV <-> CWAV Conversion
Although BCSAR View does not come equipped with native support for transforming 3DS wave files (*.cwav) into standard wave formats, it is possible to configure the application to execute WAV to CWAV and CWAV to WAV conversions automatically.
To enable BCSAR View to perform these conversions, you must specify a command for each transformation type. Before setting the command, you will need to install the necessary tools that you wish BCSAR View to use. For instance, Ctrtool is a suitable option for CWAV to WAV conversions, whereas Bannertool supports WAV to CWAV conversions.
Following tool installation, proceed to the preferences window by selecting the "File" menu and clicking on "Preferences" within BCSAR View. You will then need to enter the commands required to carry out the transformations.
BCSAR View expects two variables to be specified in the command: wavPath and cwavPath. To denote these variables in the command, use the dollar sign and braces notation, i.e., ${wavPath}.
For your convenience, sample commands for WAV to CWAV and CWAV to WAV conversions are presented below. If you are using Ctrtool and Bannertool, you can modify the paths in the commands to reflect your installation locations.
CWAV to WAV with Ctrtool: D:\3DSTools\Ctrtool\ctrtool.exe --wav="${wavPath}" "${cwavPath}"
WAV to CWAV with Bannertool: D:\3DSTools\bannertool.exe makecwav -i "${wavPath}" -o "${cwavPath}"
After inputting your preferred conversion commands in the preferences window, select "Confirm" to save them.
Dumping
Dumping Sounds
To dump an internal sound or sequence, navigate to the "Sounds" tab on the main window and locate the desired sound in the table. Keep in mind that external sounds only store metadata in the BCSAR and not their actual data.
Once you have found the sound to dump, right-click on it and select "Dump". Choose "CWAV" or "WAV" depending on the desired format. If you want to dump to WAV, you will need to set up a CWAV to WAV conversion command beforehand. Refer to the setup section for more information.
Dumping All Sounds in a Set
To dump all sounds from a sound set, navigate to the "Sound Sets" tab on the main window and locate the set containing the desired sounds. Make sure that the set has an archive associated with it; otherwise, you cannot dump sounds from it.
Right-click on the set and select "Extract". Choose "To CWAV" or "To WAV" depending on the desired format. If you want to dump to WAV, you will need to set up a CWAV to WAV conversion command beforehand. Refer to the setup section for more information. Finally, choose a destination directory.
Dumping to CWSD, CBNK, CWAR, or CGRP
To dump to one of these formats, select the corresponding tab on the main window ("Sound Sets" for CWSD, "Banks" for CBNK, "Archives" for CWAR, and "Groups" for CGRP). Find the entry to dump in the table and right-click on it. Select "Dump" and choose a destination.
Importing Sounds
Importing Archives, Sound Sets, and External Sounds from Another BCSAR
To import archives, sound sets, and external sounds from another BCSAR, follow these steps:
- Go to the "Edit" menu from the main window and hover over "Import". Select the type of entry you want to import, and an import dialog will appear.
- Click the open button (folder icon) and select the BCSAR file containing the entries you want to import. The list of importable entries will be displayed. Note that BCSAR View cannot import players from one BCSAR to another, so you must select a player from the drop-down menu.
- Select the entries you want to import from the list. You can use CTRL + Click or Shift + Click to select multiple entries.
- Once you have selected the player and entries, the "Import" button will become active. Click it to import the entries.
Note: that for external sounds, only the metadata will be copied during the import process. You still need to locate the sound data in the source ROM and copy it to your modified ROM or patch folder.
Editing Sound Sets
Accessing the Sound Set Editor
To open the Sound Set Editor, first select the "Sound Sets" tab from the main window. Then, locate the sound set you want to modify and right-click on it. From the context menu, choose "Edit Contents" to launch the "Edit Sound Set" window. Here, you can make the desired changes. Once you're finished, click the "Commit" button to save your modifications.
Replacing a Sound
To replace a sound in the sound set, navigate to it in the list within the "Edit Sound Set" window. Click on the "Open" button (which looks like a folder icon) and choose the sound file you want to replace it with. Keep in mind that if you want to replace the sound with a WAV file, you must first specify a WAV to CWAV conversion command in the setup options.
Inserting a New Sound
To add a new sound to the sound set, select a sound from the "Template Sound" drop-down list within the "Edit Sound Set" window. This will be used as a basis for generating a configuration for the new sound. After selecting a template, the "+" button will become available. Click it to add the desired sound files. If you're adding sounds directly from a WAV file, make sure to set up a WAV to CWAV conversion command first, as described in the setup instructions.
Removing a Sound
To delete a sound from the sound set, simply select it from the list within the "Edit Sound Set" window and click the "-" button.
Creation
Creating and Populating a New Archive
To create a new archive and fill it with sounds, follow these steps:
- Create the new archive using the instructions in the "Create an Archive" section.
- Create a new sound set and set its archive to the one you just created, using the "Create a Sound Set" section.
- Add sounds to the new sound set through the "Edit Sound Set" window as explained in the editing sound sets section.
Creating an External Sound
To create an external sound:
- Go to the "Create" menu from the main window and select "External Sound".
- Name the new sound and enter its path relative to the BCSAR in the path field.
- Select a sound player and template sound for the new sound.
- Click "Create" to add the new external sound to the BCSAR.
Creating a Player
To create a player:
- From the main window, go to the "Create" menu and select "Player".
- Name the new player and specify the sound limit, unknown field, and heap size.
- Click the "Create" button to add the new player to the BCSAR.
Creating a Sound Set
To create a sound set:
- From the main window, go to the "Create" menu and select "Sound Set".
- Name the new sound set and select a template set from the dropdown.
- Choose an archive to store the set's sounds in.
- Click the "Create" button to add the new sound set to the BCSAR.
Creating an Archive
To create an archive:
- From the main window, go to the "Create" menu and select "Archive".
- Name the new archive and enter a value for the "Unknown" field.
- Click the "Create" button to add the new archive to the BCSAR.
Building
First, install JDK8. OpenJDK users should also install OpenJFX8.
BCSAR View uses Gradle as its build system. Provided that you have JDK8, JavaFX, and Gradle installed, you can clone this repository and build the project using gradle build. Alternatively, you can use an IDE like IntelliJ.
Changelog
v.0.4-alpha
- Crappy attempt to make this project build for JDK18. The old UI theme isn't working, so for now it's back to the standard JavaFX theme.
- The .zip should not require a specific version of Java to be installed. I suggest trying the jar and using the zip/exe version if that doesn't work.
v.0.3-alpha
- Fixed "cannot bind to null" errors in the sound set editor.
- Better error messages during saving.
v.0.2-alpha
- Fixed issues with insertion causing sequence sounds to break.
- Fixed issues with the sound set editor when using the light theme.
- Added a search field to the import dialogs.
v.0.1
- First Release.