Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-03-05 15:07:35 +0300
committerAlexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com>2017-03-05 15:07:35 +0300
commit89090080ab665b3f0ad44b1aa0915f35d2a477c1 (patch)
tree3dd3fc0149e7d6e83930f93d3d13a4785672a65e /mods/mod_hakchi
parent2738ab69bc3c873f9aabf3ad0d0543da6dd17f60 (diff)
madmonkey's hakchi mod update
Diffstat (limited to 'mods/mod_hakchi')
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/bin/chmenu19
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions15
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7000_preinit11
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_preinit2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7100_preinit8
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pa100_games2
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_bootstock1
-rw-r--r--mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/pffff_config2
-rw-r--r--mods/mod_hakchi/hakchi/script/base7
-rw-r--r--mods/mod_hakchi/hakchi/script/package2
-rw-r--r--mods/mod_hakchi/hakchi/script/removed2
-rw-r--r--mods/mod_hakchi/hakchi/script/transfer8
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