#!/bin/bash #set defaults DOALL="1" BASEROM="baserom.u.z64" clear if [ -z "$2" ]; then if [ -z "$1" ]; then #No Args echo "Processing Everything" elif [ "$1" = "files" ] || [ "$1" = "images" ]; then #Arg1 is "files" or "images" DOALL="0" echo "Processing $1 Only" else #Arg1 is ROM BASEROM=$1 echo "Processing Everything using $BASEROM" fi else BASEROM=$2 if [ "$1" = "files" ] || [ "$1" != "images" ]; then #Arg1 is "files" or "images DOALL="0" echo "Processing $1 Only using $BASEROM" else echo "Processing Everything using $BASEROM" fi fi true="1" DIRs='assets assets/font assets/images assets/images/split assets/music assets/ramrom/e assets/obseg assets/obseg/bg assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop assets/obseg/setup assets/obseg/setup/u assets/obseg/stan assets/obseg/text assets/obseg/text/u' for DIR in $DIRs do # if dir not exist, make if [ ! -d $DIR ]; then mkdir -p $DIR fi done #build/rebuild extractor [ ! -x tools/extractor/extractor ] && make -C tools/extractor if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then echo "Processing Files" if [ -x tools/extractor/extractor ]; then tools/extractor/extractor "$BASEROM" scripts/filelist.u.csv else while IFS=, read -r offset size name compressed extract do if [ "$extract" == "$true" ]; then if [ "$compressed" == "$true" ]; then echo "Extracting compressed $name, $size bytes..." dd bs=1 skip=$offset count=$size if="$BASEROM" of="${name}.temp" status=none GZ=gzip tools/1172inflate.sh "${name}.temp" "${name}" rm "${name}.temp" else echo "Extracting uncompressed $name, $size bytes..." dd bs=1 skip=$offset count=$size if="$BASEROM" of=$name status=none echo "Successfully Extracted $name" fi else echo "skip $name" fi done < scripts/filelist.u.csv fi #filelist.u.csv should follow pattern of: #offset,size,name,compressed,extract #formatting matters, no comments, no extra lines, unix line endings only #and always end with a newline fi if [ "$DOALL" == "1" ] || [ $1 == 'images' ]; then echo "Processing Images" if [ -x tools/extractor/extractor ]; then tools/extractor/extractor "$BASEROM" imagelist.u.csv else while IFS=, read -r offset size name do echo "Extracting $name, $size bytes..." dd bs=1 skip=$offset count=$size if="$BASEROM" of=$name status=none echo "Successfully Extracted $name" done < imagelist.u.csv fi #imageslist.u.csv should follow pattern of: #offset,size,name,compressed,extract #formatting matters, no comments, no extra lines, unix line endings only #and always end with a newline fi mkdir -p ./bin ./scripts/extract_asp_gsp_rsp.sh