add config files
[iso2ps2.git] / iso2ps2
diff --git a/iso2ps2 b/iso2ps2
index 68ab00c30877f9e3c4c2700847e15143c8440f5f..e7a76998290f6d06a45975a89f033565a2b426ca 100755 (executable)
--- a/iso2ps2
+++ b/iso2ps2
@@ -11,11 +11,11 @@ CONFIGS=$PWD/CONFIGS
 KLICENSE="e4e54fd67c16c316f47829a30484d843"
 PS2CLASSIC=$PWD/ps2classic/ps2classic
 PSNPACKAGE=$PWD/psn_package_npdrm/psn_package_npdrm
-# FAT SLIM SUPER ULTRA
-MODEL="ULTRA"
+# HAN HEN
+MODEL="HEN"
 
 # formating functions
-function title () { echo -e "\033[0;1m$*\033[0;0m"; }
+function title () { echo -e "\033[0;1m=== $* ===\033[0;0m"; }
 function pass () { echo -e "\033[1;32m$*\033[0;0m"; }
 function warn () { echo -e "\033[1;33m$*\033[0;0m"; }
 function fail () { echo -e "\033[1;31m$*\033[0;0m"; exit 1; }
@@ -28,6 +28,8 @@ id=0
 
 # init
 file="$1"
+[ -f "$file" ] || fail "can't find file"
+[ "$(file $file | grep UDF)" ] || fail "file is not an UDF iso"
 
 # get serial
 serial=$(isoinfo -f -i "$file" | \
@@ -54,8 +56,8 @@ function getname () {
 }
 
 # get game title
-[ -f PS2-GAMEID-TITLE-MASTER.csv ] || wget https://raw.githubusercontent.com/VTSTech/PS2-OPL-CFG/master/test/PS2-GAMEID-TITLE-MASTER.csv
-title=$(awk -F\; '"'$serial'" == $1 {print $2}' PS2-GAMEID-TITLE-MASTER.csv)
+[ -f "$CACHE/PS2-GAMEID-TITLE-MASTER.csv" ] || ( cd "$CACHE"; wget https://raw.githubusercontent.com/VTSTech/PS2-OPL-CFG/master/test/PS2-GAMEID-TITLE-MASTER.csv )
+title=$(awk -F\; '"'$serial'" == $1 {print $2}' "$CACHE/PS2-GAMEID-TITLE-MASTER.csv")
 [ "$title" ] || title=$(basename "$file" | sed 's/ *(.*//')
 
 # create CID
@@ -74,7 +76,7 @@ echo "CID: $cid"
 # install skeleton
 title "install skeleton"
 mkdir $serial
-tar -C $serial -xzf skeleton.tgz
+tar -C $serial -xzf $PWD/skeleton.tgz
 [ -d "$CACHE" ] || mkdir "$CACHE"
 
 # images:
@@ -139,17 +141,23 @@ echo "00000000  $KLICENSE" | xxd -r - $serial/ps2.key
 
 # find config file
 title "find config file"
-confname=$(echo $serial.CONFIG | sed 's/-/_/;s/_\(...\)/_\1./')
-case "$MODEL" in
-  FAT)
-      config=$(cd $CONFIGS; find GX -name $confname | head -1)
-      ;;
-  SLIM|SUPER|ULTRA)
-      config=$(cd $CONFIGS; find CUSTOM SOFT NET -name $confname | head -1)
-      ;;
-esac
-[ -f "CONFIGS/$config" ] || fail "can't find config"
-cp $CONFIGS/$config $serial/$confname
+if [ ! -f "$CACHE/$serial.CONFIG" ]; then
+    confname=$(echo $serial | sed 's/-/_/;s/_\(...\)/_\1./')
+    case "$MODEL" in
+    HAN)
+        confname=$confname.CONFIG
+        config=$(cd $CONFIGS; find NET GX SOFTCUSTOM -name $confname | head -1)
+        ;;
+    HEN)
+        confname=$confname.ENC
+        config=$(cd $CONFIGS; find ENC -name $confname | head -1)
+        ;;
+    esac
+    if [ "$config" ]; then
+        cp $CONFIGS/$config "$CACHE/$serial.CONFIG"
+    fi
+fi
+[ -f "$CACHE/$serial.CONFIG" ] && cp "$CACHE/$serial.CONFIG" $serial/USRDIR/CONFIG || warn "can't find config"
 
 # create package config
 title "create package config"
@@ -163,17 +171,20 @@ EOF
 
 # prepare iso
 title "prepare iso"
-$PS2CLASSIC prepare "$file"
+$PS2CLASSIC prepare "$file" || fail "can't prepare iso"
 
 # convert iso
 title "convert iso"
-$PS2CLASSIC e cex $serial/ps2.key "$file" $serial/USRDIR/ISO.BIN.ENC ISO.BIN.ENC $cid
+$PS2CLASSIC e cex $serial/ps2.key "$file" $serial/USRDIR/ISO.BIN.ENC ISO.BIN.ENC $cid || fail "can't convert iso"
 
 # create package
 title "create package"
-( cd $serial; $PSNPACKAGE package.conf . )
-mv $serial/$cid.pkg .
+$PSNPACKAGE $serial || fail "can't create package"
+
+# create rap file
+title "create rap file"
+cp $PWD/iso2ps2.rap $cid.rap
 
 # cleaning
-#title "cleaning"
-#rm -rf $serial
+title "cleaning"
+rm -rf $serial