diff options
author | madmonkey1907 <madfkingmonkey@gmail.com> | 2017-11-22 01:02:54 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-22 01:02:54 +0300 |
commit | ff9b6748136b743b875cd456b0caec531f73ae43 (patch) | |
tree | e6653f3579b445517c6daaf1eff33c0b0d5aeed6 | |
parent | 33720d1cd2129b355e8a50b11b00acdc58aa31eb (diff) | |
parent | 1f0518fd4c364a28d8eb4cf1074b61d8901d482a (diff) |
Merge pull request #35 from DanTheMan827/patch-1
Bugfixes
-rwxr-xr-x | mod/hakchi/rootfs/bin/chmenu | 2 | ||||
-rwxr-xr-x | mod/hakchi/rootfs/bin/clover-canoe-shvc-wr | 4 | ||||
-rwxr-xr-x | mod/hakchi/rootfs/bin/clover-kachikachi-wr | 4 | ||||
-rwxr-xr-x | mod/hakchi/rootfs/bin/hsqs | 3 | ||||
-rw-r--r-- | mod/hakchi/rootfs/etc/preinit | 1 | ||||
-rw-r--r-- | mod/hakchi/rootfs/etc/preinit.d/b0010_functions | 63 |
6 files changed, 58 insertions, 19 deletions
diff --git a/mod/hakchi/rootfs/bin/chmenu b/mod/hakchi/rootfs/bin/chmenu index c83f247..3ad32b8 100755 --- a/mod/hakchi/rootfs/bin/chmenu +++ b/mod/hakchi/rootfs/bin/chmenu @@ -31,5 +31,5 @@ fi uistop overmount_games - +sleep 1 touch "/var/startmcp.flag" diff --git a/mod/hakchi/rootfs/bin/clover-canoe-shvc-wr b/mod/hakchi/rootfs/bin/clover-canoe-shvc-wr index dc99ccd..b3b2bc0 100755 --- a/mod/hakchi/rootfs/bin/clover-canoe-shvc-wr +++ b/mod/hakchi/rootfs/bin/clover-canoe-shvc-wr @@ -34,5 +34,5 @@ done args="$options $cfg_snes_extra_args" -exec /bin/clover-canoe-shvc $args || \ -exec /usr/bin/clover-canoe-shvc $args +[ -f "/bin/clover-canoe-shvc" ] && exec /bin/clover-canoe-shvc $args +[ -f "/usr/bin/clover-canoe-shvc" ] && exec /usr/bin/clover-canoe-shvc $args diff --git a/mod/hakchi/rootfs/bin/clover-kachikachi-wr b/mod/hakchi/rootfs/bin/clover-kachikachi-wr index f0fc9bc..0da3c12 100755 --- a/mod/hakchi/rootfs/bin/clover-kachikachi-wr +++ b/mod/hakchi/rootfs/bin/clover-kachikachi-wr @@ -33,5 +33,5 @@ shift args="$filename $@ $cfg_nes_extra_args" [ "$cfg_disable_armet" == "y" ] && args="$(echo $args | sed 's/--enable-armet//g')" -exec /bin/clover-kachikachi $args || \ -exec /usr/bin/clover-kachikachi $args +[ -f "/bin/clover-kachikachi" ] && exec /bin/clover-kachikachi $args +[ -f "/usr/bin/clover-kachikachi" ] && exec /usr/bin/clover-kachikachi $args diff --git a/mod/hakchi/rootfs/bin/hsqs b/mod/hakchi/rootfs/bin/hsqs index 0b1d9d2..800c456 100755 --- a/mod/hakchi/rootfs/bin/hsqs +++ b/mod/hakchi/rootfs/bin/hsqs @@ -7,7 +7,8 @@ printSoftwareInfo firmware="$1" if [ "$firmware" != "_nand_" ]; then - firmware="$(readlink -f "$1")" + firmware="$(echo "$firmware" | sed -re 's/^\/usr\/share\/games\/(nes\/kachikachi\/)?/\/var\/games\//')" + firmware="$(readlink -f "$firmware")" checkFirmware "$firmware" || exit 1 fi diff --git a/mod/hakchi/rootfs/etc/preinit b/mod/hakchi/rootfs/etc/preinit index 6c7a765..731ab4a 100644 --- a/mod/hakchi/rootfs/etc/preinit +++ b/mod/hakchi/rootfs/etc/preinit @@ -50,6 +50,7 @@ save_config(){ script_init(){ source_base source_config + softwareCheck } preinit(){ diff --git a/mod/hakchi/rootfs/etc/preinit.d/b0010_functions b/mod/hakchi/rootfs/etc/preinit.d/b0010_functions index 6ef7bce..ea73c19 100644 --- a/mod/hakchi/rootfs/etc/preinit.d/b0010_functions +++ b/mod/hakchi/rootfs/etc/preinit.d/b0010_functions @@ -231,28 +231,65 @@ softwareCheck(){ [ -d "$feck" ] && rm -rf "$feck.snes" && mv "$feck" "$feck.snes" [ -f "$feck.nes" ] && mv -f "$feck.nes" "$feck" fi - - linkGames "$gamepath" + rm -f "$mountpoint/var/saves" ln -s "/var/lib/clover/profiles/0" "$mountpoint/var/saves" } +repair_fonts(){ + if [ "$sftype" == "nes" ]; then + mkdir -p "$1" || return 1 + [ ! -f "$1/title.fnt" ] && (cp $rootfs$gamepath/title.fnt "$1" || cp $squashfs$gamepath/title.fnt "$1") + [ ! -f "$1/copyright.fnt" ] && (cp $rootfs$gamepath/copyright.fnt "$1" || cp $squashfs$gamepath/copyright.fnt "$1") + fi +} + +repair_games(){ + [ -w "$1" ] || return 0 + local usesymlink='' + ln -s / "$1/symlinktest" && rm "$1/symlinktest" && usesymlink='y' + + ls -1 "$squashfs$gamepath" | grep CLV- | while read code + do + local gamedir="$1/$code" + local squashgamedir="$squashfs$gamepath/$code" + + [ -d "$gamedir" ] || continue + + if [ ! -f "$gamedir/$code.desktop" ]; then + cp "$squashgamedir/$code.desktop" "$gamedir/" + [ "$sftype" == "nes" ] && \ + sed -i -e 's#/usr/bin/clover-kachikachi#/bin/clover-kachikachi-wr#g' "$gamedir/$code.desktop" + [ "$sftype" == "snes" ] && \ + sed -i -e 's#/usr/bin/clover-canoe-shvc#/bin/clover-canoe-shvc-wr#g' "$gamedir/$code.desktop" + fi + + [ -d "$gamedir/autoplay/" ] && ([ "$(ls -A "$gamedir/autoplay/")" ] || rm -r "$gamedir/autoplay/") + [ -d "$gamedir/pixelart/" ] && ([ "$(ls -A "$gamedir/pixelart/")" ] || rm -r "$gamedir/pixelart/") + + find "$squashgamedir" -maxdepth 1 | sed -n '1!p' | while read squashfile + do + if [ "$usesymlink" == "y" ]; then + ln -s "${squashfile##$mountpoint}" "$gamedir/" > /dev/null 2>&1 + else + rsync -a --ignore-existing "$squashfile" "$gamedir/" > /dev/null 2>&1 + fi + done + done + sync + return 0 +} + overmount_games(){ local menu_code="000" [ -f "$installpath/menu" ] && menu_code="$(cat "$installpath/menu")" - [ -z "$menu_code" ] && menu_code="000" + containsGames "$rootfs$gamepath/$menu_code" || menu_code="" echo "menu code: $menu_code" - if [ "$menu_code" != "000" ]; then - if containsGames "$rootfs$gamepath/$menu_code"; then - overmount "$gamepath/$menu_code" "$gamepath" && linkGames "$rootfs$gamepath/$menu_code" && return 0 - else - echo "no romz found at: $rootfs$gamepath/$menu_code" - fi - fi - if containsGames "$rootfs$gamepath"; then - overmount "$gamepath" && linkGames "$rootfs$gamepath" && return 0 + if containsGames "$rootfs$gamepath/$menu_code"; then + overmount "$gamepath/$menu_code" "$gamepath" && repair_games "$rootfs$gamepath/$menu_code" && linkGames "$rootfs$gamepath/$menu_code" && return 0 + else + echo "no romz found at: $rootfs$gamepath/$menu_code" fi - echo "no romz found at: $rootfs$gamepath" linkGames "$gamepath" return 1 } |