diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2017-03-05 15:07:35 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2017-03-05 15:07:35 +0300 |
commit | 89090080ab665b3f0ad44b1aa0915f35d2a477c1 (patch) | |
tree | 3dd3fc0149e7d6e83930f93d3d13a4785672a65e /mods/mod_hakchi | |
parent | 2738ab69bc3c873f9aabf3ad0d0543da6dd17f60 (diff) |
madmonkey's hakchi mod update
Diffstat (limited to 'mods/mod_hakchi')
15 files changed, 50 insertions, 35 deletions
diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu index a448234c..b5d76c6a 100644 --- a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu +++ b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu @@ -5,8 +5,8 @@ script_init state_file=$installpath/menu [ -z "$1" ] && exit 1 -prev_code=$(cat "$state_file") -[ "$1" == "$prev_code" ] && exit 0 +[ -f "$state_file" ] && prev_code=$(cat "$state_file") || prev_code=000 +[ "$1" == "$prev_code" ] && exit 1 echo Switching to menu $1 if [ "$1" == "000" ]; then @@ -19,11 +19,14 @@ fi echo $1 > "$state_file" echo New directory: $targetpath -if [ ! -f "$targetpath/title.fnt" ]; then - ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt" -fi -if [ ! -f "$targetpath/copyright.fnt" ]; then - ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt" + +if [ "$1" != "000" ]; then + if [ ! -f "$targetpath/title.fnt" ]; then + ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt" + fi + if [ ! -f "$targetpath/copyright.fnt" ]; then + ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt" + fi fi pkill -KILL clover-mcp @@ -31,4 +34,4 @@ pkill -KILL ReedPlayer-Clover overmount_games -clover-mcp +exec clover-mcp diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit index 8d2bb643..a0452250 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit @@ -53,7 +53,7 @@ script_init(){ } preinit(){ - [ -z "$gamepath" ] && [ -d "/newroot" ] && /bin/busybox --install -s /bin/ && cp -a $rootfs/bin/rsync /bin/ + [ -z "$gamepath" ] && [ -d "/newroot" ] && /bin/busybox --install -s /bin/ && cp -a "$rootfs/bin/rsync" /bin/ source_base source_parts "$preinitpath/p????_*" } diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions index 9085c48d..6ae5fee5 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions @@ -6,7 +6,7 @@ mount_base(){ umount_base(){ sync - umount -r "$mountpoint/var/lib" + umount "$mountpoint/var/lib" umount "$mountpoint/var" } @@ -38,11 +38,13 @@ shutdown(){ sync umount -a -r 2>/dev/null poweroff -f - while :;do :;done + while :;do sleep 1;:;done } early_getty(){ + cd "$modpath/transfer" getty -ni 115200 ttyS0 -l /bin/sh + cd / } copy(){ @@ -71,15 +73,15 @@ mount_bind(){ } overmount(){ - l_boot_stock=n if [ "$#" == "1" ]; then echo overmounting $1 - mount_bind "$rootfs$1" "$mountpoint$1" + mount_bind "$rootfs$1" "$mountpoint$1" && return 0 fi if [ "$#" == "2" ]; then echo overmounting $1 on $2 - mount_bind "$1" "$mountpoint$2" + mount_bind "$rootfs$1" "$mountpoint$2" && return 0 fi + echo overmounting failed } overmount_games(){ @@ -89,8 +91,7 @@ overmount_games(){ echo menu code: $menu_code if [ "$menu_code" != "000" ]; then if [ -d "$rootfs$gamepath/$menu_code" ]; then - overmount "$rootfs$gamepath/$menu_code" "$gamepath" - return $? + overmount "$gamepath/$menu_code" "$gamepath" && return 0 fi fi overmount "$gamepath" diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config index e4faab64..68e938f6 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config @@ -1,6 +1,4 @@ cfg_boot_stock_firmware='n' cfg_boot_stock='n' -cfg_clovercon_option='' cfg_disable_armet='y' cfg_nes_extra_args='--ppu-palette 2' -cfg_savecheck='n' diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit index 5300dc82..6fb17938 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit @@ -1,2 +1,9 @@ -echo loading $modname -local l_boot_stock=y +if [ "$cfg_boot_stock" == "y" ]; then + # load firmware if needed/present + source_parts "$preinitpath/p????_*firmware*" + # stop loading + umount_base 2>/dev/null + return 0 +else + echo loading $modname +fi diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware index f56ae926..43d756fd 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware @@ -1 +1 @@ -[ "cfg_boot_stock_firmware" == "y" ] || load_firmware +[ "$cfg_boot_stock_firmware" == "y" ] || load_firmware diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit deleted file mode 100644 index a65e2231..00000000 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit +++ /dev/null @@ -1,2 +0,0 @@ -# placeholder -# rm -f "$preinitpath/p7070_preinit" diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit index 0e7456f7..7110dfb9 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit @@ -1,6 +1,2 @@ -overmount_base(){ - overmount "/bin" - overmount "/etc" -} - -[ "$cfg_boot_stock" == "y" ] || overmount_base +overmount "/bin" +overmount "/etc" diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games index 6df5a265..d0df2442 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games @@ -1 +1 @@ -[ "$cfg_boot_stock" == "y" ] || overmount_games +overmount_games diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock deleted file mode 100644 index 1159c9b1..00000000 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock +++ /dev/null @@ -1 +0,0 @@ -[ "$l_boot_stock" == "y" ] && umount_base diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config index d1e50f5b..9defb135 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config @@ -1,3 +1,3 @@ -config=p0000_config +local config=p0000_config set | grep -F cfg_ | sort > "$temppath/$config" copy "$temppath/$config" "$preinitpath/$config" diff --git a/mods/mod_hakchi/hakchi/script/base b/mods/mod_hakchi/hakchi/script/base index 034c4f7c..5e439906 100644 --- a/mods/mod_hakchi/hakchi/script/base +++ b/mods/mod_hakchi/hakchi/script/base @@ -5,6 +5,13 @@ mount_base(){ } umount_base(){ + sync umount "$mountpoint/var/lib" umount "$mountpoint/var" } + +remove_old(){ + [ -d "$1" ] || return 1 + local basepath="$1" + source "$modpath/script/removed" +} diff --git a/mods/mod_hakchi/hakchi/script/package b/mods/mod_hakchi/hakchi/script/package index 7dea3bd6..68396efc 100644 --- a/mods/mod_hakchi/hakchi/script/package +++ b/mods/mod_hakchi/hakchi/script/package @@ -47,7 +47,7 @@ pack_install(){ transfer_path "$transferpath" echo creating uninstall for $(basename "$1" .hmod)... echo >> "$transferpath/uninstall" - echo "\# auto-generated" >> "$transferpath/uninstall" + echo "# auto-generated" >> "$transferpath/uninstall" cd "$transferpath" find . -type l -exec echo rm -f \"\$rootfs/{}\" + >> "$transferpath/uninstall" find . -type f -exec echo rm -f \"\$rootfs/{}\" + >> "$transferpath/uninstall" diff --git a/mods/mod_hakchi/hakchi/script/removed b/mods/mod_hakchi/hakchi/script/removed new file mode 100644 index 00000000..32661dec --- /dev/null +++ b/mods/mod_hakchi/hakchi/script/removed @@ -0,0 +1,2 @@ +rm -f "$basepath/etc/preinit.d/p7070_preinit" +rm -f "$basepath/etc/preinit.d/pffff_bootstock" diff --git a/mods/mod_hakchi/hakchi/script/transfer b/mods/mod_hakchi/hakchi/script/transfer index f27b2170..8d17a07b 100644 --- a/mods/mod_hakchi/hakchi/script/transfer +++ b/mods/mod_hakchi/hakchi/script/transfer @@ -7,10 +7,15 @@ backup_nandc mount_base backup +remove_old "$modpath/rootfs" +remove_old "$rootfs" + source "$modpath/rootfs/etc/preinit" source_base "$modpath/rootfs/etc/preinit.d" source_config +remove_old "$rootfs" + local transferpath=$modpath/transfer [ -f "$transferpath/earlybird" ] && source "$transferpath/earlybird" @@ -30,11 +35,10 @@ if [ -d "$transferpath/firmware" ]; then fi # if we're running modified firmware, mount it now -source_parts "$preinitpath/p????_*firmware*" source_parts "$modpath/rootfs/etc/preinit.d/p????_*firmware*" # now we can do install/repair -if [ -d "$preinitpath" ]; then +if [ -f "$preinit" ]; then echo $modname already installed mod_repair else |