Rework s3p_to_2dx, add args for IIDX 31 to ep_bm2dxnix (now named bm2dnix), update readme
This commit is contained in:
39
s3p_to_2dx
39
s3p_to_2dx
@@ -5,7 +5,8 @@
|
||||
SOUND_DIR="please-set-this"
|
||||
|
||||
# Extract .ifs file and descend into its directory
|
||||
extract_ifs() {
|
||||
# Sound data doesn't need to be repacked into .ifs - easier for the sake of managing future updates
|
||||
extract_cleanup_ifs() {
|
||||
local ifs_file="$1"
|
||||
echo "Extracting $ifs_file..."
|
||||
ifstools "$ifs_file" || { echo "Failed to extract $ifs_file"; return 1; }
|
||||
@@ -13,20 +14,6 @@ extract_ifs() {
|
||||
[ -d "$extracted_dir" ] && cd "$extracted_dir" || { echo "Directory $extracted_dir not found"; return 1; }
|
||||
}
|
||||
|
||||
# Repack .ifs file and move it output to parent directory
|
||||
repack_to_ifs() {
|
||||
local ifs_dir=
|
||||
echo "Repacking $ifs_dir to $output_name..."
|
||||
|
||||
# Get the current working directory name
|
||||
dir_name=$(basename "$OLDPWD")
|
||||
|
||||
# Remove the "_ifs" suffix from the directory name if it exists
|
||||
output_name="${dir_name%_ifs}"
|
||||
|
||||
ifstools "$output_name" || { echo "Failed to repack $dir_name"; return 1; }
|
||||
mv "$output_name".ifs ..
|
||||
}
|
||||
|
||||
# Extract and convert .s3p files
|
||||
extract_convert_s3p() {
|
||||
@@ -38,14 +25,14 @@ extract_convert_s3p() {
|
||||
|
||||
for wma_file in *.wma; do
|
||||
[ -e "$wma_file" ] || continue
|
||||
echo "Converting $wma_file..."
|
||||
ffmpeg -loglevel error -i "$wma_file" -acodec adpcm_ms -b:a 256k "${wma_file%.*}.wav" && rm -f "$wma_file" # Write to /dev/null instead maybe? ffmpeg is loud asf
|
||||
echo -ne "Converting $wma_file..."\\r
|
||||
ffmpeg -loglevel error -i "$wma_file" -acodec adpcm_ms -b:a 256k "${wma_file%.*}.wav" && rm -f "$wma_file" # Writes to log instead
|
||||
done
|
||||
}
|
||||
|
||||
# Repack .wav files into .2dx
|
||||
repack_to_2dx() {
|
||||
echo "Repacking files to .2dx format..."
|
||||
echo "Repacking files to .2dx..."
|
||||
|
||||
# Get the current working directory name
|
||||
dir_name=$(basename "$OLDPWD")
|
||||
@@ -56,7 +43,7 @@ repack_to_2dx() {
|
||||
2dxBuild "$output_name".2dx || { echo "Failed to repack files"; return 1; }
|
||||
mv "$output_name".2dx ..
|
||||
cd ..
|
||||
rm -rf *s3p* # This is kinda risky but whatever lol
|
||||
rm -rf *s3p*
|
||||
}
|
||||
|
||||
# Iterate through directories and .ifs in $SOUND_DIR
|
||||
@@ -66,17 +53,17 @@ process_sound_files() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Process directories for songs not contained in .ifs
|
||||
# Unpack.ifs files into directories
|
||||
for ifs_file in "$SOUND_DIR"/*.ifs; do
|
||||
echo "Processing IFS file: $ifs_file"
|
||||
(cd "$SOUND_DIR" && extract_cleanup_ifs "$ifs_file")
|
||||
done
|
||||
|
||||
# Convert all directories
|
||||
for dir in "$SOUND_DIR"/*/; do
|
||||
echo "Processing directory: $dir"
|
||||
(cd "$dir" && extract_convert_s3p *.s3p && repack_to_2dx)
|
||||
done
|
||||
|
||||
# Process .ifs files for songs contained in .ifs
|
||||
for ifs_file in "$SOUND_DIR"/*.ifs; do
|
||||
echo "Processing IFS file: $ifs_file"
|
||||
(cd "$SOUND_DIR" && extract_ifs "$ifs_file" && extract_convert_s3p *.s3p && repack_to_2dx && repack_to_ifs)
|
||||
done
|
||||
}
|
||||
|
||||
# Execute the main function
|
||||
|
||||
Reference in New Issue
Block a user