From 6dfed02838c04e499e287dcc32c15e655664283d Mon Sep 17 00:00:00 2001 From: Alexey 'Cluster' Avdyukhin Date: Wed, 14 Feb 2018 00:22:16 +0300 Subject: Many changes, updated to madmonkey's hakchi, zImage support, USB host support --- Apps/NesMiniApplication.cs | 19 +- DesktopEntries/CLV-P-HAAAJ.desktop | 4 +- DesktopEntries/CLV-P-HAACJ.desktop | 4 +- DesktopEntries/CLV-P-HAADJ.desktop | 4 +- DesktopEntries/CLV-P-HAAEJ.desktop | 4 +- DesktopEntries/CLV-P-HAAHJ.desktop | 4 +- DesktopEntries/CLV-P-HAAMJ.desktop | 4 +- DesktopEntries/CLV-P-HAANJ.desktop | 4 +- DesktopEntries/CLV-P-HAAPJ.desktop | 4 +- DesktopEntries/CLV-P-HAAQJ.desktop | 4 +- DesktopEntries/CLV-P-HAARJ.desktop | 4 +- DesktopEntries/CLV-P-HAASJ.desktop | 4 +- DesktopEntries/CLV-P-HAAUJ.desktop | 4 +- DesktopEntries/CLV-P-HAAWJ.desktop | 4 +- DesktopEntries/CLV-P-HAAXJ.desktop | 4 +- DesktopEntries/CLV-P-HABBJ.desktop | 4 +- DesktopEntries/CLV-P-HABCJ.desktop | 4 +- DesktopEntries/CLV-P-HABLJ.desktop | 4 +- DesktopEntries/CLV-P-HABMJ.desktop | 4 +- DesktopEntries/CLV-P-HABNJ.desktop | 4 +- DesktopEntries/CLV-P-HABQJ.desktop | 4 +- DesktopEntries/CLV-P-HABRJ.desktop | 4 +- DesktopEntries/CLV-P-HABVJ.desktop | 4 +- DesktopEntries/CLV-P-HACAJ.desktop | 4 +- DesktopEntries/CLV-P-HACBJ.desktop | 4 +- DesktopEntries/CLV-P-HACCJ.desktop | 4 +- DesktopEntries/CLV-P-HACEJ.desktop | 4 +- DesktopEntries/CLV-P-HACHJ.desktop | 4 +- DesktopEntries/CLV-P-HACJJ.desktop | 4 +- DesktopEntries/CLV-P-HACLJ.desktop | 4 +- DesktopEntries/CLV-P-HACPJ.desktop | 4 +- DesktopEntries/CLV-P-NAAAE.desktop | 4 +- DesktopEntries/CLV-P-NAACE.desktop | 4 +- DesktopEntries/CLV-P-NAADE.desktop | 4 +- DesktopEntries/CLV-P-NAAEE.desktop | 4 +- DesktopEntries/CLV-P-NAAFE.desktop | 4 +- DesktopEntries/CLV-P-NAAHE.desktop | 4 +- DesktopEntries/CLV-P-NAANE.desktop | 4 +- DesktopEntries/CLV-P-NAAPE.desktop | 4 +- DesktopEntries/CLV-P-NAAQE.desktop | 4 +- DesktopEntries/CLV-P-NAARE.desktop | 4 +- DesktopEntries/CLV-P-NAASE.desktop | 4 +- DesktopEntries/CLV-P-NAATE.desktop | 4 +- DesktopEntries/CLV-P-NAAUE.desktop | 4 +- DesktopEntries/CLV-P-NAAVE.desktop | 4 +- DesktopEntries/CLV-P-NAAWE.desktop | 4 +- DesktopEntries/CLV-P-NAAXE.desktop | 4 +- DesktopEntries/CLV-P-NAAZE.desktop | 4 +- DesktopEntries/CLV-P-NABBE.desktop | 4 +- DesktopEntries/CLV-P-NABCE.desktop | 4 +- DesktopEntries/CLV-P-NABJE.desktop | 4 +- DesktopEntries/CLV-P-NABKE.desktop | 4 +- DesktopEntries/CLV-P-NABME.desktop | 4 +- DesktopEntries/CLV-P-NABNE.desktop | 4 +- DesktopEntries/CLV-P-NABQE.desktop | 4 +- DesktopEntries/CLV-P-NABRE.desktop | 4 +- DesktopEntries/CLV-P-NABVE.desktop | 4 +- DesktopEntries/CLV-P-NABXE.desktop | 4 +- DesktopEntries/CLV-P-NACBE.desktop | 4 +- DesktopEntries/CLV-P-NACDE.desktop | 4 +- DesktopEntries/CLV-P-NACHE.desktop | 4 +- DesktopEntries/CLV-P-SAAAE.desktop | 4 +- DesktopEntries/CLV-P-SAABE.desktop | 4 +- DesktopEntries/CLV-P-SAAEE.desktop | 4 +- DesktopEntries/CLV-P-SAAFE.desktop | 4 +- DesktopEntries/CLV-P-SAAHE.desktop | 4 +- DesktopEntries/CLV-P-SAAJE.desktop | 4 +- DesktopEntries/CLV-P-SAAKE.desktop | 4 +- DesktopEntries/CLV-P-SAALE.desktop | 4 +- DesktopEntries/CLV-P-SAAQE.desktop | 4 +- DesktopEntries/CLV-P-SAAXE.desktop | 4 +- DesktopEntries/CLV-P-SABCE.desktop | 4 +- DesktopEntries/CLV-P-SABDE.desktop | 4 +- DesktopEntries/CLV-P-SABHE.desktop | 4 +- DesktopEntries/CLV-P-SABQE.desktop | 4 +- DesktopEntries/CLV-P-SABRE.desktop | 4 +- DesktopEntries/CLV-P-SABTE.desktop | 4 +- DesktopEntries/CLV-P-SACBE.desktop | 4 +- DesktopEntries/CLV-P-SACCE.desktop | 4 +- DesktopEntries/CLV-P-SADGE.desktop | 4 +- DesktopEntries/CLV-P-SADJE.desktop | 4 +- DesktopEntries/CLV-P-SADKE.desktop | 4 +- DesktopEntries/CLV-P-VAAAJ.desktop | 4 +- DesktopEntries/CLV-P-VAABJ.desktop | 4 +- DesktopEntries/CLV-P-VAAEJ.desktop | 4 +- DesktopEntries/CLV-P-VAAFJ.desktop | 4 +- DesktopEntries/CLV-P-VAAGJ.desktop | 4 +- DesktopEntries/CLV-P-VAAHJ.desktop | 4 +- DesktopEntries/CLV-P-VAALJ.desktop | 4 +- DesktopEntries/CLV-P-VAAQJ.desktop | 4 +- DesktopEntries/CLV-P-VABBJ.desktop | 4 +- DesktopEntries/CLV-P-VABCJ.desktop | 4 +- DesktopEntries/CLV-P-VABDJ.desktop | 4 +- DesktopEntries/CLV-P-VABQJ.desktop | 4 +- DesktopEntries/CLV-P-VABRJ.desktop | 4 +- DesktopEntries/CLV-P-VABTJ.desktop | 4 +- DesktopEntries/CLV-P-VACCJ.desktop | 4 +- DesktopEntries/CLV-P-VACDJ.desktop | 4 +- DesktopEntries/CLV-P-VADFJ.desktop | 4 +- DesktopEntries/CLV-P-VADGJ.desktop | 4 +- DesktopEntries/CLV-P-VADJJ.desktop | 4 +- DesktopEntries/CLV-P-VADKJ.desktop | 4 +- DesktopEntries/CLV-P-VADZJ.desktop | 4 +- FtpServer/NesMiniFileSystemHandler.cs | 19 +- MainForm.Designer.cs | 6 + MainForm.cs | 19 +- MainForm.resx | 243 ++++++++++----------- Properties/Resources.resx | 3 - WorkerForm.cs | 243 ++++++++++----------- data/zImage | Bin 2498208 -> 2623832 bytes hakchi_gui.csproj | 24 +- mods/hmods/core-modules.hmod | Bin 98949 -> 0 bytes mods/hmods/modules-3.4.112.madmonkey.hmod | Bin 0 -> 99046 bytes mods/hmods/ntfs-3g.hmod | Bin 0 -> 434156 bytes mods/mod_hakchi/bin/busybox | Bin 1109128 -> 1427376 bytes mods/mod_hakchi/etc/filesystems | 37 ++++ mods/mod_hakchi/hakchi/config | 9 +- mods/mod_hakchi/hakchi/init | 5 +- mods/mod_hakchi/hakchi/rootfs/bin/chmenu | 27 +-- mods/mod_hakchi/hakchi/rootfs/bin/hsqs | 3 +- mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.fb | Bin 0 -> 4342 bytes mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.png | Bin 0 -> 5728 bytes .../hakchi/rootfs/etc/preinit.d/b0000_defines | 4 +- .../hakchi/rootfs/etc/preinit.d/b0010_functions | 195 ++++++++++++++--- .../hakchi/rootfs/etc/preinit.d/b0020_backup | 2 +- .../hakchi/rootfs/etc/preinit.d/b0040_usb | 195 ++++++++++------- .../hakchi/rootfs/etc/preinit.d/p0000_config | 5 +- .../hakchi/rootfs/etc/preinit.d/p7010_bootlogo | 1 + .../hakchi/rootfs/etc/preinit.d/p7020_usb | 25 +-- .../hakchi/rootfs/etc/preinit.d/p7070_firmware | 9 +- mods/mod_hakchi/hakchi/script/transfer | 3 +- tools/cygpopt-0.dll | Bin 0 -> 22528 bytes tools/rsync.exe | Bin 0 -> 334336 bytes tools/xz.exe | Bin 0 -> 219136 bytes 134 files changed, 859 insertions(+), 645 deletions(-) delete mode 100644 mods/hmods/core-modules.hmod create mode 100644 mods/hmods/modules-3.4.112.madmonkey.hmod create mode 100644 mods/hmods/ntfs-3g.hmod create mode 100644 mods/mod_hakchi/etc/filesystems create mode 100644 mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.fb create mode 100644 mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.png create mode 100644 tools/cygpopt-0.dll create mode 100644 tools/rsync.exe create mode 100644 tools/xz.exe diff --git a/Apps/NesMiniApplication.cs b/Apps/NesMiniApplication.cs index ceeb9f62..3b6a7ad5 100644 --- a/Apps/NesMiniApplication.cs +++ b/Apps/NesMiniApplication.cs @@ -7,6 +7,7 @@ using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.IO; +using System.Linq; using System.Text.RegularExpressions; using System.Windows.Forms; @@ -23,6 +24,7 @@ namespace com.clusterrr.hakchi_gui public static bool? NeedPatch; public static bool? Need3rdPartyEmulator; public static bool? NeedAutoDownloadCover; + const int MaxCompressSize = 10 * 1024; public static string GamesDirectory { @@ -196,7 +198,8 @@ namespace com.clusterrr.hakchi_gui Image cover = DefaultCover; byte saveCount = 0; uint crc32 = CRC32(rawRomData); - string outputFileName = Regex.Replace(System.IO.Path.GetFileName(inputFileName), @"[^A-Za-z0-9()!\[\]\.\-]", "_").Trim(); + string outputFileName = Regex.Replace(System.IO.Path.GetFileName(inputFileName), @" ?\(.*?\)| ?\[.*?\]", "").Trim(); + outputFileName = Regex.Replace(outputFileName, @"[^A-Za-z0-9!\.]+", "_"); // Trying to determine file type var appinfo = AppTypeCollection.GetAppByExtension(extension); @@ -586,7 +589,7 @@ namespace com.clusterrr.hakchi_gui return FromDirectory(targetDir); } - internal static long DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs) + internal static long DirectoryCopy(string sourceDirName, string destDirName, bool copySubDirs, string[] skipFiles = null) { long size = 0; // Get the subdirectories for the specified directory. @@ -610,6 +613,8 @@ namespace com.clusterrr.hakchi_gui FileInfo[] files = dir.GetFiles(); foreach (FileInfo file in files) { + if (skipFiles != null && skipFiles.Contains(file.Name)) + continue; string temppath = System.IO.Path.Combine(destDirName, file.Name); size += file.CopyTo(temppath, true).Length; } @@ -620,7 +625,7 @@ namespace com.clusterrr.hakchi_gui foreach (DirectoryInfo subdir in dirs) { string temppath = System.IO.Path.Combine(destDirName, subdir.Name); - size += DirectoryCopy(subdir.FullName, temppath, copySubDirs); + size += DirectoryCopy(subdir.FullName, temppath, copySubDirs, skipFiles); } } return size; @@ -700,11 +705,13 @@ namespace com.clusterrr.hakchi_gui var result = new List(); var exec = Regex.Replace(Command, "[/\\\"]", " ") + " "; var files = Directory.GetFiles(GamePath, "*.*", SearchOption.TopDirectoryOnly); + var ignoreExtensions = new string[] { ".7z", ".zip", ".hsqs", ".sh" }; foreach (var file in files) { - if (Path.GetExtension(file).ToLower() == ".7z") + var a = from i in ignoreExtensions select i; + if (ignoreExtensions.Contains(Path.GetExtension(file).ToLower())) continue; - if (Path.GetExtension(file).ToLower() == ".zip") + if (new FileInfo(file).Length > MaxCompressSize) continue; if (exec.Contains(" " + Path.GetFileName(file) + " ")) result.Add(file); @@ -737,7 +744,7 @@ namespace com.clusterrr.hakchi_gui Debug.WriteLine("Compressing " + filename); compressor.CompressFiles(archName, filename); File.Delete(filename); - Command = Command.Replace(System.IO.Path.GetFileName(filename), System.IO.Path.GetFileName(archName)); + Command = Command.Replace(Path.GetFileName(filename), Path.GetFileName(archName)); } } diff --git a/DesktopEntries/CLV-P-HAAAJ.desktop b/DesktopEntries/CLV-P-HAAAJ.desktop index 6c7ca327..8b863fec 100644 --- a/DesktopEntries/CLV-P-HAAAJ.desktop +++ b/DesktopEntries/CLV-P-HAAAJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAAJ/CLV-P-HAAAJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAAJ/CLV-P-HAAAJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAAJ Name=スーパーマリオブラザーズ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAAJ/CLV-P-HAAAJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAAJ/CLV-P-HAAAJ.png [X-CLOVER Game] Code=CLV-P-HAAAJ diff --git a/DesktopEntries/CLV-P-HAACJ.desktop b/DesktopEntries/CLV-P-HAACJ.desktop index 29bccb83..a2006412 100644 --- a/DesktopEntries/CLV-P-HAACJ.desktop +++ b/DesktopEntries/CLV-P-HAACJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAACJ/CLV-P-HAACJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAACJ/CLV-P-HAACJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAACJ Name=スーパーマリオブラザーズ3 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAACJ/CLV-P-HAACJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAACJ/CLV-P-HAACJ.png [X-CLOVER Game] Code=CLV-P-HAACJ diff --git a/DesktopEntries/CLV-P-HAADJ.desktop b/DesktopEntries/CLV-P-HAADJ.desktop index eac08e21..ab0686e8 100644 --- a/DesktopEntries/CLV-P-HAADJ.desktop +++ b/DesktopEntries/CLV-P-HAADJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAADJ/CLV-P-HAADJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAADJ/CLV-P-HAADJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAADJ Name=スーパーマリオUSA -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAADJ/CLV-P-HAADJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAADJ/CLV-P-HAADJ.png [X-CLOVER Game] Code=CLV-P-HAADJ diff --git a/DesktopEntries/CLV-P-HAAEJ.desktop b/DesktopEntries/CLV-P-HAAEJ.desktop index 9a021c35..39f6fa45 100644 --- a/DesktopEntries/CLV-P-HAAEJ.desktop +++ b/DesktopEntries/CLV-P-HAAEJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAEJ/CLV-P-HAAEJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAEJ/CLV-P-HAAEJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAEJ Name=ドンキーコング -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAEJ/CLV-P-HAAEJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAEJ/CLV-P-HAAEJ.png [X-CLOVER Game] Code=CLV-P-HAAEJ diff --git a/DesktopEntries/CLV-P-HAAHJ.desktop b/DesktopEntries/CLV-P-HAAHJ.desktop index 41c378d5..42625733 100644 --- a/DesktopEntries/CLV-P-HAAHJ.desktop +++ b/DesktopEntries/CLV-P-HAAHJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAHJ/CLV-P-HAAHJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAHJ/CLV-P-HAAHJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAHJ Name=エキサイトバイク -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAHJ/CLV-P-HAAHJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAHJ/CLV-P-HAAHJ.png [X-CLOVER Game] Code=CLV-P-HAAHJ diff --git a/DesktopEntries/CLV-P-HAAMJ.desktop b/DesktopEntries/CLV-P-HAAMJ.desktop index 64700180..ea56a5ef 100644 --- a/DesktopEntries/CLV-P-HAAMJ.desktop +++ b/DesktopEntries/CLV-P-HAAMJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAMJ/CLV-P-HAAMJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAMJ/CLV-P-HAAMJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAMJ Name=マリオオープンゴルフ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAMJ/CLV-P-HAAMJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAMJ/CLV-P-HAAMJ.png [X-CLOVER Game] Code=CLV-P-HAAMJ diff --git a/DesktopEntries/CLV-P-HAANJ.desktop b/DesktopEntries/CLV-P-HAANJ.desktop index 6a3d4d1c..9cf03495 100644 --- a/DesktopEntries/CLV-P-HAANJ.desktop +++ b/DesktopEntries/CLV-P-HAANJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAANJ/CLV-P-HAANJ.qd --fds-disk-switch-side-delay 2 --fds-auto-disk-side-switch-on-keypress --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 5,2 --volume 80 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAANJ/CLV-P-HAANJ.qd --fds-disk-switch-side-delay 2 --fds-auto-disk-side-switch-on-keypress --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 5,2 --volume 80 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAANJ Name=ゼルダの伝説 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAANJ/CLV-P-HAANJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAANJ/CLV-P-HAANJ.png [X-CLOVER Game] Code=CLV-P-HAANJ diff --git a/DesktopEntries/CLV-P-HAAPJ.desktop b/DesktopEntries/CLV-P-HAAPJ.desktop index 99ae8b01..05d4b817 100644 --- a/DesktopEntries/CLV-P-HAAPJ.desktop +++ b/DesktopEntries/CLV-P-HAAPJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAPJ/CLV-P-HAAPJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAPJ/CLV-P-HAAPJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAPJ Name=星のカービィ 夢の泉の物語 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAPJ/CLV-P-HAAPJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAPJ/CLV-P-HAAPJ.png [X-CLOVER Game] Code=CLV-P-HAAPJ diff --git a/DesktopEntries/CLV-P-HAAQJ.desktop b/DesktopEntries/CLV-P-HAAQJ.desktop index 6443c62d..0ffe9438 100644 --- a/DesktopEntries/CLV-P-HAAQJ.desktop +++ b/DesktopEntries/CLV-P-HAAQJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAQJ/CLV-P-HAAQJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAQJ/CLV-P-HAAQJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAQJ Name=メトロイド -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAQJ/CLV-P-HAAQJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAQJ/CLV-P-HAAQJ.png [X-CLOVER Game] Code=CLV-P-HAAQJ diff --git a/DesktopEntries/CLV-P-HAARJ.desktop b/DesktopEntries/CLV-P-HAARJ.desktop index b77b4ccc..de62ce87 100644 --- a/DesktopEntries/CLV-P-HAARJ.desktop +++ b/DesktopEntries/CLV-P-HAARJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAARJ/CLV-P-HAARJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAARJ/CLV-P-HAARJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAARJ Name=バルーンファイト -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAARJ/CLV-P-HAARJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAARJ/CLV-P-HAARJ.png [X-CLOVER Game] Code=CLV-P-HAARJ diff --git a/DesktopEntries/CLV-P-HAASJ.desktop b/DesktopEntries/CLV-P-HAASJ.desktop index c4bfbc17..75e9d152 100644 --- a/DesktopEntries/CLV-P-HAASJ.desktop +++ b/DesktopEntries/CLV-P-HAASJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAASJ/CLV-P-HAASJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAASJ/CLV-P-HAASJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAASJ Name=リンクの冒険 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAASJ/CLV-P-HAASJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAASJ/CLV-P-HAASJ.png [X-CLOVER Game] Code=CLV-P-HAASJ diff --git a/DesktopEntries/CLV-P-HAAUJ.desktop b/DesktopEntries/CLV-P-HAAUJ.desktop index 466b4960..557267c2 100644 --- a/DesktopEntries/CLV-P-HAAUJ.desktop +++ b/DesktopEntries/CLV-P-HAAUJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAUJ/CLV-P-HAAUJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAUJ/CLV-P-HAAUJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAUJ Name=アイスクライマー -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAUJ/CLV-P-HAAUJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAUJ/CLV-P-HAAUJ.png [X-CLOVER Game] Code=CLV-P-HAAUJ diff --git a/DesktopEntries/CLV-P-HAAWJ.desktop b/DesktopEntries/CLV-P-HAAWJ.desktop index 9ea0fb6e..1f2e1e75 100644 --- a/DesktopEntries/CLV-P-HAAWJ.desktop +++ b/DesktopEntries/CLV-P-HAAWJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAWJ/CLV-P-HAAWJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 69 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAWJ/CLV-P-HAAWJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 69 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAWJ Name=マリオブラザーズ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAWJ/CLV-P-HAAWJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAWJ/CLV-P-HAAWJ.png [X-CLOVER Game] Code=CLV-P-HAAWJ diff --git a/DesktopEntries/CLV-P-HAAXJ.desktop b/DesktopEntries/CLV-P-HAAXJ.desktop index d0cbd3bb..e3499cbc 100644 --- a/DesktopEntries/CLV-P-HAAXJ.desktop +++ b/DesktopEntries/CLV-P-HAAXJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAXJ/CLV-P-HAAXJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAXJ/CLV-P-HAAXJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HAAXJ Name=ドクターマリオ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAXJ/CLV-P-HAAXJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HAAXJ/CLV-P-HAAXJ.png [X-CLOVER Game] Code=CLV-P-HAAXJ diff --git a/DesktopEntries/CLV-P-HABBJ.desktop b/DesktopEntries/CLV-P-HABBJ.desktop index 6a311f45..2977e4cb 100644 --- a/DesktopEntries/CLV-P-HABBJ.desktop +++ b/DesktopEntries/CLV-P-HABBJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABBJ/CLV-P-HABBJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 65 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABBJ/CLV-P-HABBJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 65 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABBJ Name=ロックマン®2 Dr.ワイリーの謎 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABBJ/CLV-P-HABBJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABBJ/CLV-P-HABBJ.png [X-CLOVER Game] Code=CLV-P-HABBJ diff --git a/DesktopEntries/CLV-P-HABCJ.desktop b/DesktopEntries/CLV-P-HABCJ.desktop index fa710cf9..c0fd7cc7 100644 --- a/DesktopEntries/CLV-P-HABCJ.desktop +++ b/DesktopEntries/CLV-P-HABCJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABCJ/CLV-P-HABCJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 67 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABCJ/CLV-P-HABCJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 67 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABCJ Name=魔界村® -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABCJ/CLV-P-HABCJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABCJ/CLV-P-HABCJ.png [X-CLOVER Game] Code=CLV-P-HABCJ diff --git a/DesktopEntries/CLV-P-HABLJ.desktop b/DesktopEntries/CLV-P-HABLJ.desktop index 4eb31ec3..18a7572a 100644 --- a/DesktopEntries/CLV-P-HABLJ.desktop +++ b/DesktopEntries/CLV-P-HABLJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABLJ/CLV-P-HABLJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABLJ/CLV-P-HABLJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABLJ Name=ファイナルファンタジー®III -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABLJ/CLV-P-HABLJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABLJ/CLV-P-HABLJ.png [X-CLOVER Game] Code=CLV-P-HABLJ diff --git a/DesktopEntries/CLV-P-HABMJ.desktop b/DesktopEntries/CLV-P-HABMJ.desktop index b3782556..9edd153a 100644 --- a/DesktopEntries/CLV-P-HABMJ.desktop +++ b/DesktopEntries/CLV-P-HABMJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABMJ/CLV-P-HABMJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABMJ/CLV-P-HABMJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABMJ Name=パックマン -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABMJ/CLV-P-HABMJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABMJ/CLV-P-HABMJ.png [X-CLOVER Game] Code=CLV-P-HABMJ diff --git a/DesktopEntries/CLV-P-HABNJ.desktop b/DesktopEntries/CLV-P-HABNJ.desktop index 36e24894..124cd544 100644 --- a/DesktopEntries/CLV-P-HABNJ.desktop +++ b/DesktopEntries/CLV-P-HABNJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABNJ/CLV-P-HABNJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 63 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABNJ/CLV-P-HABNJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 63 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABNJ Name=ギャラガ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABNJ/CLV-P-HABNJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABNJ/CLV-P-HABNJ.png [X-CLOVER Game] Code=CLV-P-HABNJ diff --git a/DesktopEntries/CLV-P-HABQJ.desktop b/DesktopEntries/CLV-P-HABQJ.desktop index 23409207..dd98b9bc 100644 --- a/DesktopEntries/CLV-P-HABQJ.desktop +++ b/DesktopEntries/CLV-P-HABQJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABQJ/CLV-P-HABQJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 90 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABQJ/CLV-P-HABQJ.qd --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 90 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABQJ Name=悪魔城ドラキュラ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABQJ/CLV-P-HABQJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABQJ/CLV-P-HABQJ.png [X-CLOVER Game] Code=CLV-P-HABQJ diff --git a/DesktopEntries/CLV-P-HABRJ.desktop b/DesktopEntries/CLV-P-HABRJ.desktop index 0367ae15..53177525 100644 --- a/DesktopEntries/CLV-P-HABRJ.desktop +++ b/DesktopEntries/CLV-P-HABRJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABRJ/CLV-P-HABRJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABRJ/CLV-P-HABRJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABRJ Name=グラディウス -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABRJ/CLV-P-HABRJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABRJ/CLV-P-HABRJ.png [X-CLOVER Game] Code=CLV-P-HABRJ diff --git a/DesktopEntries/CLV-P-HABVJ.desktop b/DesktopEntries/CLV-P-HABVJ.desktop index 8097f15c..18b5d1b3 100644 --- a/DesktopEntries/CLV-P-HABVJ.desktop +++ b/DesktopEntries/CLV-P-HABVJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABVJ/CLV-P-HABVJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABVJ/CLV-P-HABVJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HABVJ Name=スーパー魂斗羅 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABVJ/CLV-P-HABVJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HABVJ/CLV-P-HABVJ.png [X-CLOVER Game] Code=CLV-P-HABVJ diff --git a/DesktopEntries/CLV-P-HACAJ.desktop b/DesktopEntries/CLV-P-HACAJ.desktop index 6d156b53..a2e8c32d 100644 --- a/DesktopEntries/CLV-P-HACAJ.desktop +++ b/DesktopEntries/CLV-P-HACAJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACAJ/CLV-P-HACAJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 78 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACAJ/CLV-P-HACAJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 78 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACAJ Name=イー・アル・カンフー -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACAJ/CLV-P-HACAJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACAJ/CLV-P-HACAJ.png [X-CLOVER Game] Code=CLV-P-HACAJ diff --git a/DesktopEntries/CLV-P-HACBJ.desktop b/DesktopEntries/CLV-P-HACBJ.desktop index d8172d13..0b4bf992 100644 --- a/DesktopEntries/CLV-P-HACBJ.desktop +++ b/DesktopEntries/CLV-P-HACBJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACBJ/CLV-P-HACBJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 82 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACBJ/CLV-P-HACBJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 82 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACBJ Name=忍者龍剣伝 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACBJ/CLV-P-HACBJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACBJ/CLV-P-HACBJ.png [X-CLOVER Game] Code=CLV-P-HACBJ diff --git a/DesktopEntries/CLV-P-HACCJ.desktop b/DesktopEntries/CLV-P-HACCJ.desktop index 5b2f6188..71805271 100644 --- a/DesktopEntries/CLV-P-HACCJ.desktop +++ b/DesktopEntries/CLV-P-HACCJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACCJ/CLV-P-HACCJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACCJ/CLV-P-HACCJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACCJ Name=ソロモンの鍵 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACCJ/CLV-P-HACCJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACCJ/CLV-P-HACCJ.png [X-CLOVER Game] Code=CLV-P-HACCJ diff --git a/DesktopEntries/CLV-P-HACEJ.desktop b/DesktopEntries/CLV-P-HACEJ.desktop index 9b8c1e9f..85e74a5b 100644 --- a/DesktopEntries/CLV-P-HACEJ.desktop +++ b/DesktopEntries/CLV-P-HACEJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACEJ/CLV-P-HACEJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACEJ/CLV-P-HACEJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACEJ Name=つっぱり大相撲 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACEJ/CLV-P-HACEJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACEJ/CLV-P-HACEJ.png [X-CLOVER Game] Code=CLV-P-HACEJ diff --git a/DesktopEntries/CLV-P-HACHJ.desktop b/DesktopEntries/CLV-P-HACHJ.desktop index fca811aa..124ee0ef 100644 --- a/DesktopEntries/CLV-P-HACHJ.desktop +++ b/DesktopEntries/CLV-P-HACHJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACHJ/CLV-P-HACHJ.nes --guest-overscan-dimensions 12,8,9,11 --initial-fadein-durations 3,2 --volume 80 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACHJ/CLV-P-HACHJ.nes --guest-overscan-dimensions 12,8,9,11 --initial-fadein-durations 3,2 --volume 80 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACHJ Name=ダブルドラゴンⅡ The Revenge -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACHJ/CLV-P-HACHJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACHJ/CLV-P-HACHJ.png [X-CLOVER Game] Code=CLV-P-HACHJ diff --git a/DesktopEntries/CLV-P-HACJJ.desktop b/DesktopEntries/CLV-P-HACJJ.desktop index 1f32c568..e8f90cb2 100644 --- a/DesktopEntries/CLV-P-HACJJ.desktop +++ b/DesktopEntries/CLV-P-HACJJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACJJ/CLV-P-HACJJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 83 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACJJ/CLV-P-HACJJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 83 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACJJ Name=ダウンタウン熱血物語 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACJJ/CLV-P-HACJJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACJJ/CLV-P-HACJJ.png [X-CLOVER Game] Code=CLV-P-HACJJ diff --git a/DesktopEntries/CLV-P-HACLJ.desktop b/DesktopEntries/CLV-P-HACLJ.desktop index 85e5dcb3..13759bed 100644 --- a/DesktopEntries/CLV-P-HACLJ.desktop +++ b/DesktopEntries/CLV-P-HACLJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACLJ/CLV-P-HACLJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 78 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACLJ/CLV-P-HACLJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 78 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACLJ Name=ダウンタウン熱血行進曲 それゆけ大運動会 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACLJ/CLV-P-HACLJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACLJ/CLV-P-HACLJ.png [X-CLOVER Game] Code=CLV-P-HACLJ diff --git a/DesktopEntries/CLV-P-HACPJ.desktop b/DesktopEntries/CLV-P-HACPJ.desktop index 49fe3829..35fe4cbc 100644 --- a/DesktopEntries/CLV-P-HACPJ.desktop +++ b/DesktopEntries/CLV-P-HACPJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACPJ/CLV-P-HACPJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 68 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACPJ/CLV-P-HACPJ.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 68 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-HACPJ Name=アトランチスの謎 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACPJ/CLV-P-HACPJ.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-HACPJ/CLV-P-HACPJ.png [X-CLOVER Game] Code=CLV-P-HACPJ diff --git a/DesktopEntries/CLV-P-NAAAE.desktop b/DesktopEntries/CLV-P-NAAAE.desktop index 8fbac89c..e5a9ea4b 100644 --- a/DesktopEntries/CLV-P-NAAAE.desktop +++ b/DesktopEntries/CLV-P-NAAAE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAAE/CLV-P-NAAAE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAAE/CLV-P-NAAAE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAAE Name=Super Mario Bros. -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAAE/CLV-P-NAAAE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAAE/CLV-P-NAAAE.png [X-CLOVER Game] Code=CLV-P-NAAAE diff --git a/DesktopEntries/CLV-P-NAACE.desktop b/DesktopEntries/CLV-P-NAACE.desktop index 483df9cb..fa997b40 100644 --- a/DesktopEntries/CLV-P-NAACE.desktop +++ b/DesktopEntries/CLV-P-NAACE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAACE/CLV-P-NAACE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAACE/CLV-P-NAACE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAACE Name=Super Mario Bros. 3 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAACE/CLV-P-NAACE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAACE/CLV-P-NAACE.png [X-CLOVER Game] Code=CLV-P-NAACE diff --git a/DesktopEntries/CLV-P-NAADE.desktop b/DesktopEntries/CLV-P-NAADE.desktop index 7fc06f73..f7dc0d1c 100644 --- a/DesktopEntries/CLV-P-NAADE.desktop +++ b/DesktopEntries/CLV-P-NAADE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAADE/CLV-P-NAADE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAADE/CLV-P-NAADE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAADE Name=Super Mario Bros. 2 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAADE/CLV-P-NAADE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAADE/CLV-P-NAADE.png [X-CLOVER Game] Code=CLV-P-NAADE diff --git a/DesktopEntries/CLV-P-NAAEE.desktop b/DesktopEntries/CLV-P-NAAEE.desktop index 7c3d1b61..abcd3f49 100644 --- a/DesktopEntries/CLV-P-NAAEE.desktop +++ b/DesktopEntries/CLV-P-NAAEE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAEE/CLV-P-NAAEE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAEE/CLV-P-NAAEE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAEE Name=Donkey Kong -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAEE/CLV-P-NAAEE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAEE/CLV-P-NAAEE.png [X-CLOVER Game] Code=CLV-P-NAAEE diff --git a/DesktopEntries/CLV-P-NAAFE.desktop b/DesktopEntries/CLV-P-NAAFE.desktop index 5e8746a6..07a14111 100644 --- a/DesktopEntries/CLV-P-NAAFE.desktop +++ b/DesktopEntries/CLV-P-NAAFE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAFE/CLV-P-NAAFE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAFE/CLV-P-NAAFE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAFE Name=Donkey Kong Jr. -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAFE/CLV-P-NAAFE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAFE/CLV-P-NAAFE.png [X-CLOVER Game] Code=CLV-P-NAAFE diff --git a/DesktopEntries/CLV-P-NAAHE.desktop b/DesktopEntries/CLV-P-NAAHE.desktop index 3e5c8f34..187fcf44 100644 --- a/DesktopEntries/CLV-P-NAAHE.desktop +++ b/DesktopEntries/CLV-P-NAAHE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAHE/CLV-P-NAAHE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAHE/CLV-P-NAAHE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAHE Name=Excitebike -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAHE/CLV-P-NAAHE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAHE/CLV-P-NAAHE.png [X-CLOVER Game] Code=CLV-P-NAAHE diff --git a/DesktopEntries/CLV-P-NAANE.desktop b/DesktopEntries/CLV-P-NAANE.desktop index 675e8163..9875b815 100644 --- a/DesktopEntries/CLV-P-NAANE.desktop +++ b/DesktopEntries/CLV-P-NAANE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAANE/CLV-P-NAANE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 5,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAANE/CLV-P-NAANE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 5,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAANE Name=The Legend of Zelda -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAANE/CLV-P-NAANE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAANE/CLV-P-NAANE.png [X-CLOVER Game] Code=CLV-P-NAANE diff --git a/DesktopEntries/CLV-P-NAAPE.desktop b/DesktopEntries/CLV-P-NAAPE.desktop index f87b9c3c..4c9020ce 100644 --- a/DesktopEntries/CLV-P-NAAPE.desktop +++ b/DesktopEntries/CLV-P-NAAPE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAPE/CLV-P-NAAPE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAPE/CLV-P-NAAPE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAPE Name=Kirby's Adventure -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAPE/CLV-P-NAAPE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAPE/CLV-P-NAAPE.png [X-CLOVER Game] Code=CLV-P-NAAPE diff --git a/DesktopEntries/CLV-P-NAAQE.desktop b/DesktopEntries/CLV-P-NAAQE.desktop index 34d54790..93cf4fcf 100644 --- a/DesktopEntries/CLV-P-NAAQE.desktop +++ b/DesktopEntries/CLV-P-NAAQE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAQE/CLV-P-NAAQE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAQE/CLV-P-NAAQE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAQE Name=Metroid -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAQE/CLV-P-NAAQE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAQE/CLV-P-NAAQE.png [X-CLOVER Game] Code=CLV-P-NAAQE diff --git a/DesktopEntries/CLV-P-NAARE.desktop b/DesktopEntries/CLV-P-NAARE.desktop index cb3c2203..5726d318 100644 --- a/DesktopEntries/CLV-P-NAARE.desktop +++ b/DesktopEntries/CLV-P-NAARE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAARE/CLV-P-NAARE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAARE/CLV-P-NAARE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAARE Name=Balloon Fight -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAARE/CLV-P-NAARE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAARE/CLV-P-NAARE.png [X-CLOVER Game] Code=CLV-P-NAARE diff --git a/DesktopEntries/CLV-P-NAASE.desktop b/DesktopEntries/CLV-P-NAASE.desktop index a4fbdc52..7277d425 100644 --- a/DesktopEntries/CLV-P-NAASE.desktop +++ b/DesktopEntries/CLV-P-NAASE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAASE/CLV-P-NAASE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAASE/CLV-P-NAASE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAASE Name=Zelda II - The Adventure of Link -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAASE/CLV-P-NAASE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAASE/CLV-P-NAASE.png [X-CLOVER Game] Code=CLV-P-NAASE diff --git a/DesktopEntries/CLV-P-NAATE.desktop b/DesktopEntries/CLV-P-NAATE.desktop index 327e9b79..c44a6b95 100644 --- a/DesktopEntries/CLV-P-NAATE.desktop +++ b/DesktopEntries/CLV-P-NAATE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAATE/CLV-P-NAATE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 73 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAATE/CLV-P-NAATE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 73 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAATE Name=Punch-Out!! Featuring Mr. Dream -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAATE/CLV-P-NAATE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAATE/CLV-P-NAATE.png [X-CLOVER Game] Code=CLV-P-NAATE diff --git a/DesktopEntries/CLV-P-NAAUE.desktop b/DesktopEntries/CLV-P-NAAUE.desktop index dcacf837..d3d05b93 100644 --- a/DesktopEntries/CLV-P-NAAUE.desktop +++ b/DesktopEntries/CLV-P-NAAUE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAUE/CLV-P-NAAUE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAUE/CLV-P-NAAUE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAUE Name=Ice Climber -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAUE/CLV-P-NAAUE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAUE/CLV-P-NAAUE.png [X-CLOVER Game] Code=CLV-P-NAAUE diff --git a/DesktopEntries/CLV-P-NAAVE.desktop b/DesktopEntries/CLV-P-NAAVE.desktop index 576d4d00..d6dc92a6 100644 --- a/DesktopEntries/CLV-P-NAAVE.desktop +++ b/DesktopEntries/CLV-P-NAAVE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAVE/CLV-P-NAAVE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAVE/CLV-P-NAAVE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAVE Name=Kid Icarus -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAVE/CLV-P-NAAVE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAVE/CLV-P-NAAVE.png [X-CLOVER Game] Code=CLV-P-NAAVE diff --git a/DesktopEntries/CLV-P-NAAWE.desktop b/DesktopEntries/CLV-P-NAAWE.desktop index 2a52075c..a072cb32 100644 --- a/DesktopEntries/CLV-P-NAAWE.desktop +++ b/DesktopEntries/CLV-P-NAAWE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAWE/CLV-P-NAAWE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 69 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAWE/CLV-P-NAAWE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 69 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAWE Name=Mario Bros. -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAWE/CLV-P-NAAWE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAWE/CLV-P-NAAWE.png [X-CLOVER Game] Code=CLV-P-NAAWE diff --git a/DesktopEntries/CLV-P-NAAXE.desktop b/DesktopEntries/CLV-P-NAAXE.desktop index 1c45017e..567a3c4c 100644 --- a/DesktopEntries/CLV-P-NAAXE.desktop +++ b/DesktopEntries/CLV-P-NAAXE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAXE/CLV-P-NAAXE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAXE/CLV-P-NAAXE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAXE Name=Dr. MARIO -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAXE/CLV-P-NAAXE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAXE/CLV-P-NAAXE.png [X-CLOVER Game] Code=CLV-P-NAAXE diff --git a/DesktopEntries/CLV-P-NAAZE.desktop b/DesktopEntries/CLV-P-NAAZE.desktop index 318aac1c..331219c6 100644 --- a/DesktopEntries/CLV-P-NAAZE.desktop +++ b/DesktopEntries/CLV-P-NAAZE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAZE/CLV-P-NAAZE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAZE/CLV-P-NAAZE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NAAZE Name=StarTropics -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAZE/CLV-P-NAAZE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NAAZE/CLV-P-NAAZE.png [X-CLOVER Game] Code=CLV-P-NAAZE diff --git a/DesktopEntries/CLV-P-NABBE.desktop b/DesktopEntries/CLV-P-NABBE.desktop index 9a31e8e6..443f6959 100644 --- a/DesktopEntries/CLV-P-NABBE.desktop +++ b/DesktopEntries/CLV-P-NABBE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABBE/CLV-P-NABBE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 65 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABBE/CLV-P-NABBE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 65 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABBE Name=MEGA MAN™ 2 -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABBE/CLV-P-NABBE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABBE/CLV-P-NABBE.png [X-CLOVER Game] Code=CLV-P-NABBE diff --git a/DesktopEntries/CLV-P-NABCE.desktop b/DesktopEntries/CLV-P-NABCE.desktop index d9bab2ab..76c768cd 100644 --- a/DesktopEntries/CLV-P-NABCE.desktop +++ b/DesktopEntries/CLV-P-NABCE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABCE/CLV-P-NABCE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 67 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABCE/CLV-P-NABCE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 67 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABCE Name=GHOSTS'N GOBLINS™ -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABCE/CLV-P-NABCE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABCE/CLV-P-NABCE.png [X-CLOVER Game] Code=CLV-P-NABCE diff --git a/DesktopEntries/CLV-P-NABJE.desktop b/DesktopEntries/CLV-P-NABJE.desktop index fc7fa090..ee631c61 100644 --- a/DesktopEntries/CLV-P-NABJE.desktop +++ b/DesktopEntries/CLV-P-NABJE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABJE/CLV-P-NABJE.nes --armet-threshold 11 --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABJE/CLV-P-NABJE.nes --armet-threshold 11 --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABJE Name=FINAL FANTASY® -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABJE/CLV-P-NABJE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABJE/CLV-P-NABJE.png [X-CLOVER Game] Code=CLV-P-NABJE diff --git a/DesktopEntries/CLV-P-NABKE.desktop b/DesktopEntries/CLV-P-NABKE.desktop index 3a9f01a9..bc6c1966 100644 --- a/DesktopEntries/CLV-P-NABKE.desktop +++ b/DesktopEntries/CLV-P-NABKE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABKE/CLV-P-NABKE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABKE/CLV-P-NABKE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 72 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABKE Name=BUBBLE BOBBLE -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABKE/CLV-P-NABKE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABKE/CLV-P-NABKE.png [X-CLOVER Game] Code=CLV-P-NABKE diff --git a/DesktopEntries/CLV-P-NABME.desktop b/DesktopEntries/CLV-P-NABME.desktop index 33810261..976091e3 100644 --- a/DesktopEntries/CLV-P-NABME.desktop +++ b/DesktopEntries/CLV-P-NABME.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABME/CLV-P-NABME.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABME/CLV-P-NABME.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 75 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABME Name=PAC-MAN -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABME/CLV-P-NABME.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABME/CLV-P-NABME.png [X-CLOVER Game] Code=CLV-P-NABME diff --git a/DesktopEntries/CLV-P-NABNE.desktop b/DesktopEntries/CLV-P-NABNE.desktop index ae5d26f8..d868d73f 100644 --- a/DesktopEntries/CLV-P-NABNE.desktop +++ b/DesktopEntries/CLV-P-NABNE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABNE/CLV-P-NABNE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 63 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABNE/CLV-P-NABNE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 63 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABNE Name=Galaga -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABNE/CLV-P-NABNE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABNE/CLV-P-NABNE.png [X-CLOVER Game] Code=CLV-P-NABNE diff --git a/DesktopEntries/CLV-P-NABQE.desktop b/DesktopEntries/CLV-P-NABQE.desktop index 495cd4a0..11b62de7 100644 --- a/DesktopEntries/CLV-P-NABQE.desktop +++ b/DesktopEntries/CLV-P-NABQE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABQE/CLV-P-NABQE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 83 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABQE/CLV-P-NABQE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 83 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABQE Name=Castlevania -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABQE/CLV-P-NABQE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABQE/CLV-P-NABQE.png [X-CLOVER Game] Code=CLV-P-NABQE diff --git a/DesktopEntries/CLV-P-NABRE.desktop b/DesktopEntries/CLV-P-NABRE.desktop index 9949388f..e2983626 100644 --- a/DesktopEntries/CLV-P-NABRE.desktop +++ b/DesktopEntries/CLV-P-NABRE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABRE/CLV-P-NABRE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABRE/CLV-P-NABRE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 70 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABRE Name=GRADIUS -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABRE/CLV-P-NABRE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABRE/CLV-P-NABRE.png [X-CLOVER Game] Code=CLV-P-NABRE diff --git a/DesktopEntries/CLV-P-NABVE.desktop b/DesktopEntries/CLV-P-NABVE.desktop index c014718c..0df0e894 100644 --- a/DesktopEntries/CLV-P-NABVE.desktop +++ b/DesktopEntries/CLV-P-NABVE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABVE/CLV-P-NABVE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABVE/CLV-P-NABVE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 77 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABVE Name=Super C -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABVE/CLV-P-NABVE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABVE/CLV-P-NABVE.png [X-CLOVER Game] Code=CLV-P-NABVE diff --git a/DesktopEntries/CLV-P-NABXE.desktop b/DesktopEntries/CLV-P-NABXE.desktop index 86b60c4b..7fc2ed2d 100644 --- a/DesktopEntries/CLV-P-NABXE.desktop +++ b/DesktopEntries/CLV-P-NABXE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABXE/CLV-P-NABXE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABXE/CLV-P-NABXE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 80 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NABXE Name=Castlevania II Simon's Quest -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABXE/CLV-P-NABXE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NABXE/CLV-P-NABXE.png [X-CLOVER Game] Code=CLV-P-NABXE diff --git a/DesktopEntries/CLV-P-NACBE.desktop b/DesktopEntries/CLV-P-NACBE.desktop index 4210a852..18d9b432 100644 --- a/DesktopEntries/CLV-P-NACBE.desktop +++ b/DesktopEntries/CLV-P-NACBE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACBE/CLV-P-NACBE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 82 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACBE/CLV-P-NACBE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 82 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NACBE Name=NINJA GAIDEN -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACBE/CLV-P-NACBE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACBE/CLV-P-NACBE.png [X-CLOVER Game] Code=CLV-P-NACBE diff --git a/DesktopEntries/CLV-P-NACDE.desktop b/DesktopEntries/CLV-P-NACDE.desktop index fca73eae..43356c50 100644 --- a/DesktopEntries/CLV-P-NACDE.desktop +++ b/DesktopEntries/CLV-P-NACDE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACDE/CLV-P-NACDE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 85 --enable-armet +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACDE/CLV-P-NACDE.nes --guest-overscan-dimensions 0,0,9,3 --initial-fadein-durations 3,2 --volume 85 --enable-armet Path=/var/lib/clover/profiles/0//CLV-P-NACDE Name=TECMO BOWL -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACDE/CLV-P-NACDE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACDE/CLV-P-NACDE.png [X-CLOVER Game] Code=CLV-P-NACDE diff --git a/DesktopEntries/CLV-P-NACHE.desktop b/DesktopEntries/CLV-P-NACHE.desktop index 05ad1f6f..9d4de326 100644 --- a/DesktopEntries/CLV-P-NACHE.desktop +++ b/DesktopEntries/CLV-P-NACHE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-kachikachi-wr /var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACHE/CLV-P-NACHE.nes --guest-overscan-dimensions 12,8,9,11 --initial-fadein-durations 3,2 --volume 80 +Exec=/bin/clover-kachikachi-wr /var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACHE/CLV-P-NACHE.nes --guest-overscan-dimensions 12,8,9,11 --initial-fadein-durations 3,2 --volume 80 Path=/var/lib/clover/profiles/0//CLV-P-NACHE Name=DOUBLE DRAGON II: The Revenge -Icon=/var/lib/hakchi/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACHE/CLV-P-NACHE.png +Icon=/var/squashfs/usr/share/games/nes/kachikachi/CLV-P-NACHE/CLV-P-NACHE.png [X-CLOVER Game] Code=CLV-P-NACHE diff --git a/DesktopEntries/CLV-P-SAAAE.desktop b/DesktopEntries/CLV-P-SAAAE.desktop index 10e421a3..b33b37d9 100644 --- a/DesktopEntries/CLV-P-SAAAE.desktop +++ b/DesktopEntries/CLV-P-SAAAE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAAE/CLV-P-SAAAE.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAAE/CLV-P-SAAAE.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAAE Name=Super Mario World -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAAE/CLV-P-SAAAE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAAE/CLV-P-SAAAE.png [X-CLOVER Game] Code=CLV-P-SAAAE diff --git a/DesktopEntries/CLV-P-SAABE.desktop b/DesktopEntries/CLV-P-SAABE.desktop index 81ed0d60..2b369d06 100644 --- a/DesktopEntries/CLV-P-SAABE.desktop +++ b/DesktopEntries/CLV-P-SAABE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAABE/CLV-P-SAABE.sfrom --volume 80 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAABE/CLV-P-SAABE.sfrom --volume 80 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAABE Name=F-ZERO -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAABE/CLV-P-SAABE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAABE/CLV-P-SAABE.png [X-CLOVER Game] Code=CLV-P-SAABE diff --git a/DesktopEntries/CLV-P-SAAEE.desktop b/DesktopEntries/CLV-P-SAAEE.desktop index 6409d9fd..ace19b75 100644 --- a/DesktopEntries/CLV-P-SAAEE.desktop +++ b/DesktopEntries/CLV-P-SAAEE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAEE/CLV-P-SAAEE.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAEE/CLV-P-SAAEE.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAEE Name=The Legend of Zelda: A Link to the Past -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAEE/CLV-P-SAAEE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAEE/CLV-P-SAAEE.png [X-CLOVER Game] Code=CLV-P-SAAEE diff --git a/DesktopEntries/CLV-P-SAAFE.desktop b/DesktopEntries/CLV-P-SAAFE.desktop index 53ebc661..971d7c27 100644 --- a/DesktopEntries/CLV-P-SAAFE.desktop +++ b/DesktopEntries/CLV-P-SAAFE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAFE/CLV-P-SAAFE.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAFE/CLV-P-SAAFE.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAFE Name=Super Mario Kart -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAFE/CLV-P-SAAFE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAFE/CLV-P-SAAFE.png [X-CLOVER Game] Code=CLV-P-SAAFE diff --git a/DesktopEntries/CLV-P-SAAHE.desktop b/DesktopEntries/CLV-P-SAAHE.desktop index d0392a24..85cf5d09 100644 --- a/DesktopEntries/CLV-P-SAAHE.desktop +++ b/DesktopEntries/CLV-P-SAAHE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAHE/CLV-P-SAAHE.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAHE/CLV-P-SAAHE.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAHE Name=Super Metroid -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAHE/CLV-P-SAAHE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAHE/CLV-P-SAAHE.png [X-CLOVER Game] Code=CLV-P-SAAHE diff --git a/DesktopEntries/CLV-P-SAAJE.desktop b/DesktopEntries/CLV-P-SAAJE.desktop index daa8ef74..08260182 100644 --- a/DesktopEntries/CLV-P-SAAJE.desktop +++ b/DesktopEntries/CLV-P-SAAJE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAJE/CLV-P-SAAJE.sfrom --volume 85 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAJE/CLV-P-SAAJE.sfrom --volume 85 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-SAAJE Name=EarthBound -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAJE/CLV-P-SAAJE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAJE/CLV-P-SAAJE.png [X-CLOVER Game] Code=CLV-P-SAAJE diff --git a/DesktopEntries/CLV-P-SAAKE.desktop b/DesktopEntries/CLV-P-SAAKE.desktop index 07079783..45034120 100644 --- a/DesktopEntries/CLV-P-SAAKE.desktop +++ b/DesktopEntries/CLV-P-SAAKE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAKE/CLV-P-SAAKE.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAKE/CLV-P-SAAKE.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAKE Name=Kirby's Dream Course -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAKE/CLV-P-SAAKE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAKE/CLV-P-SAAKE.png [X-CLOVER Game] Code=CLV-P-SAAKE diff --git a/DesktopEntries/CLV-P-SAALE.desktop b/DesktopEntries/CLV-P-SAALE.desktop index 39fad6c2..06ae1b90 100644 --- a/DesktopEntries/CLV-P-SAALE.desktop +++ b/DesktopEntries/CLV-P-SAALE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAALE/CLV-P-SAALE.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAALE/CLV-P-SAALE.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAALE Name=Donkey Kong Country -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAALE/CLV-P-SAALE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAALE/CLV-P-SAALE.png [X-CLOVER Game] Code=CLV-P-SAALE diff --git a/DesktopEntries/CLV-P-SAAQE.desktop b/DesktopEntries/CLV-P-SAAQE.desktop index 043a2531..792f86aa 100644 --- a/DesktopEntries/CLV-P-SAAQE.desktop +++ b/DesktopEntries/CLV-P-SAAQE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAQE/CLV-P-SAAQE.sfrom --volume 80 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAQE/CLV-P-SAAQE.sfrom --volume 80 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAQE Name=Kirby Super Star -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAQE/CLV-P-SAAQE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAQE/CLV-P-SAAQE.png [X-CLOVER Game] Code=CLV-P-SAAQE diff --git a/DesktopEntries/CLV-P-SAAXE.desktop b/DesktopEntries/CLV-P-SAAXE.desktop index e107dce1..0b0f050d 100644 --- a/DesktopEntries/CLV-P-SAAXE.desktop +++ b/DesktopEntries/CLV-P-SAAXE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAXE/CLV-P-SAAXE.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SAAXE/CLV-P-SAAXE.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SAAXE Name=Super Punch-Out!! -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SAAXE/CLV-P-SAAXE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SAAXE/CLV-P-SAAXE.png [X-CLOVER Game] Code=CLV-P-SAAXE diff --git a/DesktopEntries/CLV-P-SABCE.desktop b/DesktopEntries/CLV-P-SABCE.desktop index 07a8191d..dc377010 100644 --- a/DesktopEntries/CLV-P-SABCE.desktop +++ b/DesktopEntries/CLV-P-SABCE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABCE/CLV-P-SABCE.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABCE/CLV-P-SABCE.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SABCE Name=Mega Man X -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABCE/CLV-P-SABCE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABCE/CLV-P-SABCE.png [X-CLOVER Game] Code=CLV-P-SABCE diff --git a/DesktopEntries/CLV-P-SABDE.desktop b/DesktopEntries/CLV-P-SABDE.desktop index ef1366a6..f97aefb9 100644 --- a/DesktopEntries/CLV-P-SABDE.desktop +++ b/DesktopEntries/CLV-P-SABDE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABDE/CLV-P-SABDE.sfrom --volume 37 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABDE/CLV-P-SABDE.sfrom --volume 37 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SABDE Name=Super Ghouls'n Ghosts -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABDE/CLV-P-SABDE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABDE/CLV-P-SABDE.png [X-CLOVER Game] Code=CLV-P-SABDE diff --git a/DesktopEntries/CLV-P-SABHE.desktop b/DesktopEntries/CLV-P-SABHE.desktop index dc0113cc..50ec7f6a 100644 --- a/DesktopEntries/CLV-P-SABHE.desktop +++ b/DesktopEntries/CLV-P-SABHE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABHE/CLV-P-SABHE.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABHE/CLV-P-SABHE.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SABHE Name=Street Fighter II Turbo: Hyper Fighting -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABHE/CLV-P-SABHE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABHE/CLV-P-SABHE.png [X-CLOVER Game] Code=CLV-P-SABHE diff --git a/DesktopEntries/CLV-P-SABQE.desktop b/DesktopEntries/CLV-P-SABQE.desktop index 38e60925..7b4194a8 100644 --- a/DesktopEntries/CLV-P-SABQE.desktop +++ b/DesktopEntries/CLV-P-SABQE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABQE/CLV-P-SABQE.sfrom --volume 60 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABQE/CLV-P-SABQE.sfrom --volume 60 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-SABQE Name=Super Mario RPG: Legend of the Seven Stars -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABQE/CLV-P-SABQE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABQE/CLV-P-SABQE.png [X-CLOVER Game] Code=CLV-P-SABQE diff --git a/DesktopEntries/CLV-P-SABRE.desktop b/DesktopEntries/CLV-P-SABRE.desktop index b72fb613..5cf33ed2 100644 --- a/DesktopEntries/CLV-P-SABRE.desktop +++ b/DesktopEntries/CLV-P-SABRE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABRE/CLV-P-SABRE.sfrom --volume 75 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABRE/CLV-P-SABRE.sfrom --volume 75 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-SABRE Name=Secret of Mana -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABRE/CLV-P-SABRE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABRE/CLV-P-SABRE.png [X-CLOVER Game] Code=CLV-P-SABRE diff --git a/DesktopEntries/CLV-P-SABTE.desktop b/DesktopEntries/CLV-P-SABTE.desktop index 2e1d92df..bd65f1ee 100644 --- a/DesktopEntries/CLV-P-SABTE.desktop +++ b/DesktopEntries/CLV-P-SABTE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABTE/CLV-P-SABTE.sfrom --volume 85 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SABTE/CLV-P-SABTE.sfrom --volume 85 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-SABTE Name=Final Fantasy III -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SABTE/CLV-P-SABTE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SABTE/CLV-P-SABTE.png [X-CLOVER Game] Code=CLV-P-SABTE diff --git a/DesktopEntries/CLV-P-SACBE.desktop b/DesktopEntries/CLV-P-SACBE.desktop index 1a9ed691..1dfd9789 100644 --- a/DesktopEntries/CLV-P-SACBE.desktop +++ b/DesktopEntries/CLV-P-SACBE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SACBE/CLV-P-SACBE.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SACBE/CLV-P-SACBE.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SACBE Name=Super Castlevania IV -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SACBE/CLV-P-SACBE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SACBE/CLV-P-SACBE.png [X-CLOVER Game] Code=CLV-P-SACBE diff --git a/DesktopEntries/CLV-P-SACCE.desktop b/DesktopEntries/CLV-P-SACCE.desktop index f7e2a193..9b835ddf 100644 --- a/DesktopEntries/CLV-P-SACCE.desktop +++ b/DesktopEntries/CLV-P-SACCE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SACCE/CLV-P-SACCE.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SACCE/CLV-P-SACCE.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SACCE Name=CONTRA III THE ALIEN WARS -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SACCE/CLV-P-SACCE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SACCE/CLV-P-SACCE.png [X-CLOVER Game] Code=CLV-P-SACCE diff --git a/DesktopEntries/CLV-P-SADGE.desktop b/DesktopEntries/CLV-P-SADGE.desktop index 7553de85..eb98a622 100644 --- a/DesktopEntries/CLV-P-SADGE.desktop +++ b/DesktopEntries/CLV-P-SADGE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADGE/CLV-P-SADGE.sfrom --volume 65 -rollback-snapshot-period 600 -output-dir /var/lib/clover/profiles/0/ +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SADGE/CLV-P-SADGE.sfrom --volume 65 -rollback-snapshot-period 600 -output-dir /var/lib/clover/profiles/0/ Path=/var/lib/clover/profiles/0//CLV-P-SADGE Name=Star Fox -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADGE/CLV-P-SADGE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SADGE/CLV-P-SADGE.png [X-CLOVER Game] Code=CLV-P-SADGE diff --git a/DesktopEntries/CLV-P-SADJE.desktop b/DesktopEntries/CLV-P-SADJE.desktop index e0bd7901..386bd8a5 100644 --- a/DesktopEntries/CLV-P-SADJE.desktop +++ b/DesktopEntries/CLV-P-SADJE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADJE/CLV-P-SADJE.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SADJE/CLV-P-SADJE.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SADJE Name=Yoshi's Island -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADJE/CLV-P-SADJE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SADJE/CLV-P-SADJE.png [X-CLOVER Game] Code=CLV-P-SADJE diff --git a/DesktopEntries/CLV-P-SADKE.desktop b/DesktopEntries/CLV-P-SADKE.desktop index 15d9b73e..5a33a1b6 100644 --- a/DesktopEntries/CLV-P-SADKE.desktop +++ b/DesktopEntries/CLV-P-SADKE.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADKE/CLV-P-SADKE.sfrom --volume 65 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-SADKE/CLV-P-SADKE.sfrom --volume 65 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-SADKE Name=Star Fox 2 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-SADKE/CLV-P-SADKE.png +Icon=/var/squashfs/usr/share/games/CLV-P-SADKE/CLV-P-SADKE.png [X-CLOVER Game] Code=CLV-P-SADKE diff --git a/DesktopEntries/CLV-P-VAAAJ.desktop b/DesktopEntries/CLV-P-VAAAJ.desktop index 847853ba..281a1650 100644 --- a/DesktopEntries/CLV-P-VAAAJ.desktop +++ b/DesktopEntries/CLV-P-VAAAJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAAJ/CLV-P-VAAAJ.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAAJ/CLV-P-VAAAJ.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAAAJ Name=スーパーマリオワールド -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAAJ/CLV-P-VAAAJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAAJ/CLV-P-VAAAJ.png [X-CLOVER Game] Code=CLV-P-VAAAJ diff --git a/DesktopEntries/CLV-P-VAABJ.desktop b/DesktopEntries/CLV-P-VAABJ.desktop index 642a9b7a..9c5ad7af 100644 --- a/DesktopEntries/CLV-P-VAABJ.desktop +++ b/DesktopEntries/CLV-P-VAABJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAABJ/CLV-P-VAABJ.sfrom --volume 80 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAABJ/CLV-P-VAABJ.sfrom --volume 80 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAABJ Name=F-ZERO -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAABJ/CLV-P-VAABJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAABJ/CLV-P-VAABJ.png [X-CLOVER Game] Code=CLV-P-VAABJ diff --git a/DesktopEntries/CLV-P-VAAEJ.desktop b/DesktopEntries/CLV-P-VAAEJ.desktop index e891b800..78151b01 100644 --- a/DesktopEntries/CLV-P-VAAEJ.desktop +++ b/DesktopEntries/CLV-P-VAAEJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAEJ/CLV-P-VAAEJ.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAEJ/CLV-P-VAAEJ.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAAEJ Name=ゼルダの伝説 神々のトライフォース -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAEJ/CLV-P-VAAEJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAEJ/CLV-P-VAAEJ.png [X-CLOVER Game] Code=CLV-P-VAAEJ diff --git a/DesktopEntries/CLV-P-VAAFJ.desktop b/DesktopEntries/CLV-P-VAAFJ.desktop index b150e249..a38a6eef 100644 --- a/DesktopEntries/CLV-P-VAAFJ.desktop +++ b/DesktopEntries/CLV-P-VAAFJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAFJ/CLV-P-VAAFJ.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAFJ/CLV-P-VAAFJ.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAAFJ Name=スーパーマリオカート -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAFJ/CLV-P-VAAFJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAFJ/CLV-P-VAAFJ.png [X-CLOVER Game] Code=CLV-P-VAAFJ diff --git a/DesktopEntries/CLV-P-VAAGJ.desktop b/DesktopEntries/CLV-P-VAAGJ.desktop index a532dfb2..9e620030 100644 --- a/DesktopEntries/CLV-P-VAAGJ.desktop +++ b/DesktopEntries/CLV-P-VAAGJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAGJ/CLV-P-VAAGJ.sfrom --volume 75 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAGJ/CLV-P-VAAGJ.sfrom --volume 75 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-VAAGJ Name=ファイアーエムブレム 紋章の謎 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAGJ/CLV-P-VAAGJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAGJ/CLV-P-VAAGJ.png [X-CLOVER Game] Code=CLV-P-VAAGJ diff --git a/DesktopEntries/CLV-P-VAAHJ.desktop b/DesktopEntries/CLV-P-VAAHJ.desktop index 2a3707bd..42e60d6c 100644 --- a/DesktopEntries/CLV-P-VAAHJ.desktop +++ b/DesktopEntries/CLV-P-VAAHJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAHJ/CLV-P-VAAHJ.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAHJ/CLV-P-VAAHJ.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAAHJ Name=スーパーメトロイド -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAHJ/CLV-P-VAAHJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAHJ/CLV-P-VAAHJ.png [X-CLOVER Game] Code=CLV-P-VAAHJ diff --git a/DesktopEntries/CLV-P-VAALJ.desktop b/DesktopEntries/CLV-P-VAALJ.desktop index 0863b59b..8152cad0 100644 --- a/DesktopEntries/CLV-P-VAALJ.desktop +++ b/DesktopEntries/CLV-P-VAALJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAALJ/CLV-P-VAALJ.sfrom --volume 100 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAALJ/CLV-P-VAALJ.sfrom --volume 100 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAALJ Name=スーパードンキーコング -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAALJ/CLV-P-VAALJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAALJ/CLV-P-VAALJ.png [X-CLOVER Game] Code=CLV-P-VAALJ diff --git a/DesktopEntries/CLV-P-VAAQJ.desktop b/DesktopEntries/CLV-P-VAAQJ.desktop index b4b1b88f..1978602a 100644 --- a/DesktopEntries/CLV-P-VAAQJ.desktop +++ b/DesktopEntries/CLV-P-VAAQJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAQJ/CLV-P-VAAQJ.sfrom --volume 80 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VAAQJ/CLV-P-VAAQJ.sfrom --volume 80 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VAAQJ Name=星のカービィ スーパーデラックス -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VAAQJ/CLV-P-VAAQJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VAAQJ/CLV-P-VAAQJ.png [X-CLOVER Game] Code=CLV-P-VAAQJ diff --git a/DesktopEntries/CLV-P-VABBJ.desktop b/DesktopEntries/CLV-P-VABBJ.desktop index 76dece88..cd1dc3ef 100644 --- a/DesktopEntries/CLV-P-VABBJ.desktop +++ b/DesktopEntries/CLV-P-VABBJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABBJ/CLV-P-VABBJ.sfrom --volume 90 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABBJ/CLV-P-VABBJ.sfrom --volume 90 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VABBJ Name=スーパーストリートファイターⅡ ザ ニューチャレンジャーズ -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABBJ/CLV-P-VABBJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABBJ/CLV-P-VABBJ.png [X-CLOVER Game] Code=CLV-P-VABBJ diff --git a/DesktopEntries/CLV-P-VABCJ.desktop b/DesktopEntries/CLV-P-VABCJ.desktop index b4df335c..ed611fdb 100644 --- a/DesktopEntries/CLV-P-VABCJ.desktop +++ b/DesktopEntries/CLV-P-VABCJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABCJ/CLV-P-VABCJ.sfrom --volume 85 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABCJ/CLV-P-VABCJ.sfrom --volume 85 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VABCJ Name=ロックマンX -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABCJ/CLV-P-VABCJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABCJ/CLV-P-VABCJ.png [X-CLOVER Game] Code=CLV-P-VABCJ diff --git a/DesktopEntries/CLV-P-VABDJ.desktop b/DesktopEntries/CLV-P-VABDJ.desktop index 72dc8b74..43d0a92c 100644 --- a/DesktopEntries/CLV-P-VABDJ.desktop +++ b/DesktopEntries/CLV-P-VABDJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABDJ/CLV-P-VABDJ.sfrom --volume 37 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABDJ/CLV-P-VABDJ.sfrom --volume 37 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VABDJ Name=超魔界村 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABDJ/CLV-P-VABDJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABDJ/CLV-P-VABDJ.png [X-CLOVER Game] Code=CLV-P-VABDJ diff --git a/DesktopEntries/CLV-P-VABQJ.desktop b/DesktopEntries/CLV-P-VABQJ.desktop index 776fb671..b13abb2c 100644 --- a/DesktopEntries/CLV-P-VABQJ.desktop +++ b/DesktopEntries/CLV-P-VABQJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABQJ/CLV-P-VABQJ.sfrom --volume 60 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABQJ/CLV-P-VABQJ.sfrom --volume 60 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-VABQJ Name=スーパーマリオRPG -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABQJ/CLV-P-VABQJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABQJ/CLV-P-VABQJ.png [X-CLOVER Game] Code=CLV-P-VABQJ diff --git a/DesktopEntries/CLV-P-VABRJ.desktop b/DesktopEntries/CLV-P-VABRJ.desktop index 7f6b16d9..e5d3a0ee 100644 --- a/DesktopEntries/CLV-P-VABRJ.desktop +++ b/DesktopEntries/CLV-P-VABRJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABRJ/CLV-P-VABRJ.sfrom --volume 75 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABRJ/CLV-P-VABRJ.sfrom --volume 75 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-VABRJ Name=聖剣伝説2 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABRJ/CLV-P-VABRJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABRJ/CLV-P-VABRJ.png [X-CLOVER Game] Code=CLV-P-VABRJ diff --git a/DesktopEntries/CLV-P-VABTJ.desktop b/DesktopEntries/CLV-P-VABTJ.desktop index ad71da3e..f6746da6 100644 --- a/DesktopEntries/CLV-P-VABTJ.desktop +++ b/DesktopEntries/CLV-P-VABTJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABTJ/CLV-P-VABTJ.sfrom --volume 85 -rollback-snapshot-period 3600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VABTJ/CLV-P-VABTJ.sfrom --volume 85 -rollback-snapshot-period 3600 Path=/var/lib/clover/profiles/0//CLV-P-VABTJ Name=ファイナルファンタジーVI -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VABTJ/CLV-P-VABTJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VABTJ/CLV-P-VABTJ.png [X-CLOVER Game] Code=CLV-P-VABTJ diff --git a/DesktopEntries/CLV-P-VACCJ.desktop b/DesktopEntries/CLV-P-VACCJ.desktop index 9f02d205..57e32eae 100644 --- a/DesktopEntries/CLV-P-VACCJ.desktop +++ b/DesktopEntries/CLV-P-VACCJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VACCJ/CLV-P-VACCJ.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VACCJ/CLV-P-VACCJ.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VACCJ Name=魂斗羅スピリッツ -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VACCJ/CLV-P-VACCJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VACCJ/CLV-P-VACCJ.png [X-CLOVER Game] Code=CLV-P-VACCJ diff --git a/DesktopEntries/CLV-P-VACDJ.desktop b/DesktopEntries/CLV-P-VACDJ.desktop index 433ee603..6d4a4fff 100644 --- a/DesktopEntries/CLV-P-VACDJ.desktop +++ b/DesktopEntries/CLV-P-VACDJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VACDJ/CLV-P-VACDJ.sfrom --volume 65 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VACDJ/CLV-P-VACDJ.sfrom --volume 65 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VACDJ Name=がんばれゴエモン ゆき姫救出絵巻 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VACDJ/CLV-P-VACDJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VACDJ/CLV-P-VACDJ.png [X-CLOVER Game] Code=CLV-P-VACDJ diff --git a/DesktopEntries/CLV-P-VADFJ.desktop b/DesktopEntries/CLV-P-VADFJ.desktop index b616e445..dfb08701 100644 --- a/DesktopEntries/CLV-P-VADFJ.desktop +++ b/DesktopEntries/CLV-P-VADFJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADFJ/CLV-P-VADFJ.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VADFJ/CLV-P-VADFJ.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VADFJ Name=スーパーフォーメーションサッカー -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADFJ/CLV-P-VADFJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VADFJ/CLV-P-VADFJ.png [X-CLOVER Game] Code=CLV-P-VADFJ diff --git a/DesktopEntries/CLV-P-VADGJ.desktop b/DesktopEntries/CLV-P-VADGJ.desktop index 9faf1614..4db3baf6 100644 --- a/DesktopEntries/CLV-P-VADGJ.desktop +++ b/DesktopEntries/CLV-P-VADGJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADGJ/CLV-P-VADGJ.sfrom --volume 65 -rollback-snapshot-period 600 -output-dir /var/lib/clover/profiles/0/ +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VADGJ/CLV-P-VADGJ.sfrom --volume 65 -rollback-snapshot-period 600 -output-dir /var/lib/clover/profiles/0/ Path=/var/lib/clover/profiles/0//CLV-P-VADGJ Name=スターフォックス -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADGJ/CLV-P-VADGJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VADGJ/CLV-P-VADGJ.png [X-CLOVER Game] Code=CLV-P-VADGJ diff --git a/DesktopEntries/CLV-P-VADJJ.desktop b/DesktopEntries/CLV-P-VADJJ.desktop index 3bd1e40c..668fe681 100644 --- a/DesktopEntries/CLV-P-VADJJ.desktop +++ b/DesktopEntries/CLV-P-VADJJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADJJ/CLV-P-VADJJ.sfrom --volume 70 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VADJJ/CLV-P-VADJJ.sfrom --volume 70 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VADJJ Name=スーパーマリオ ヨッシーアイランド -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADJJ/CLV-P-VADJJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VADJJ/CLV-P-VADJJ.png [X-CLOVER Game] Code=CLV-P-VADJJ diff --git a/DesktopEntries/CLV-P-VADKJ.desktop b/DesktopEntries/CLV-P-VADKJ.desktop index c1f69928..4903819e 100644 --- a/DesktopEntries/CLV-P-VADKJ.desktop +++ b/DesktopEntries/CLV-P-VADKJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADKJ/CLV-P-VADKJ.sfrom --volume 65 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VADKJ/CLV-P-VADKJ.sfrom --volume 65 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VADKJ Name=スターフォックス2 -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADKJ/CLV-P-VADKJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VADKJ/CLV-P-VADKJ.png [X-CLOVER Game] Code=CLV-P-VADKJ diff --git a/DesktopEntries/CLV-P-VADZJ.desktop b/DesktopEntries/CLV-P-VADZJ.desktop index 05ad20b1..0eeecf97 100644 --- a/DesktopEntries/CLV-P-VADZJ.desktop +++ b/DesktopEntries/CLV-P-VADZJ.desktop @@ -1,9 +1,9 @@ [Desktop Entry] Type=Application -Exec=/bin/clover-canoe-shvc-wr -rom /var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADZJ/CLV-P-VADZJ.sfrom --volume 90 -rollback-snapshot-period 600 +Exec=/bin/clover-canoe-shvc-wr -rom /var/squashfs/usr/share/games/CLV-P-VADZJ/CLV-P-VADZJ.sfrom --volume 90 -rollback-snapshot-period 600 Path=/var/lib/clover/profiles/0//CLV-P-VADZJ Name=パネルでポン -Icon=/var/lib/hakchi/squashfs/usr/share/games/CLV-P-VADZJ/CLV-P-VADZJ.png +Icon=/var/squashfs/usr/share/games/CLV-P-VADZJ/CLV-P-VADZJ.png [X-CLOVER Game] Code=CLV-P-VADZJ diff --git a/FtpServer/NesMiniFileSystemHandler.cs b/FtpServer/NesMiniFileSystemHandler.cs index 5fb8b0ab..c505cb38 100644 --- a/FtpServer/NesMiniFileSystemHandler.cs +++ b/FtpServer/NesMiniFileSystemHandler.cs @@ -192,19 +192,26 @@ namespace mooftpserv List result = new List(); try { - var lines = clovershell.ExecuteSimple("ls -lApe \"" + newPath + "\"", 1000, true) + var lines = clovershell.ExecuteSimple("ls -lAp \"" + newPath + "\"", 1000, true) .Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); foreach (var line in lines) { if (line.StartsWith("total")) continue; FileSystemEntry entry = new FileSystemEntry(); entry.Mode = line.Substring(0, 13).Trim(); - entry.Name = line.Substring(69).Trim(); + entry.Name = line.Substring(57).Trim(); entry.IsDirectory = entry.Name.EndsWith("/"); if (entry.IsDirectory) entry.Name = entry.Name.Substring(0, entry.Name.Length - 1); - entry.Size = long.Parse(line.Substring(29, 15).Trim()); - var dt = line.Substring(44, 25).Trim(); - entry.LastModifiedTimeUtc = DateTime.ParseExact(dt, "ddd MMM d HH:mm:ss yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AllowInnerWhite); + entry.Size = long.Parse(line.Substring(34, 9).Trim()); + var dt = line.Substring(44, 12).Trim(); + try + { + entry.LastModifiedTimeUtc = DateTime.ParseExact(dt, "MMM d HH:mm", CultureInfo.InvariantCulture, DateTimeStyles.AllowInnerWhite); + } + catch (FormatException) + { + entry.LastModifiedTimeUtc = DateTime.ParseExact(dt, "MMM d yyyy", CultureInfo.InvariantCulture, DateTimeStyles.AllowInnerWhite); + } result.Add(entry); } } @@ -217,6 +224,8 @@ namespace mooftpserv public ResultOrError ListEntriesRaw(string path) { + if (path == null) + path = "/"; if (path.StartsWith("-")) path = ". " + path; string newPath = ResolvePath(path); diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 118c5a7f..7ee865d1 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -1037,6 +1037,12 @@ // resources.ApplyResources(this.gameName, "gameName"); // + // exportFolderDialog + // + resources.ApplyResources(this.exportFolderDialog, "exportFolderDialog"); + this.exportFolderDialog.RootFolder = System.Environment.SpecialFolder.MyComputer; + this.exportFolderDialog.ShowNewFolderButton = false; + // // MainForm // this.AllowDrop = true; diff --git a/MainForm.cs b/MainForm.cs index 6f79db79..ec16f3ca 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -403,10 +403,17 @@ namespace com.clusterrr.hakchi_gui maskedTextBoxReleaseDate.Text = app.ReleaseDate; textBoxPublisher.Text = app.Publisher; textBoxArguments.Text = app.Command; - if (File.Exists(app.IconPath)) - pictureBoxArt.Image = NesMiniApplication.LoadBitmap(app.IconPath); - else - pictureBoxArt.Image = null; + try + { + if (File.Exists(app.IconPath)) + pictureBoxArt.Image = NesMiniApplication.LoadBitmap(app.IconPath); + else + pictureBoxArt.Image = null; + } + catch (Exception ex) + { + Debug.WriteLine("Image loading error: " + ex.Message + ex.StackTrace); + } buttonShowGameGenieDatabase.Enabled = app is NesGame; //ISupportsGameGenie; textBoxGameGenie.Enabled = app is ISupportsGameGenie; textBoxGameGenie.Text = (app is ISupportsGameGenie) ? (app as NesMiniApplication).GameGenie : ""; @@ -989,9 +996,9 @@ namespace com.clusterrr.hakchi_gui workerForm.Config = ConfigIni.GetConfigDictionary(); workerForm.Games = new NesMenuCollection(); workerForm.exportGames = exportGames; - + if (exportGames) - workerForm.exportDirectory = exportFolderDialog.SelectedPath; + workerForm.exportDirectory = Path.Combine(Path.Combine(exportFolderDialog.SelectedPath, "hakchi"), "games"); bool needOriginal = false; foreach (ListViewItem game in listViewGames.CheckedItems) diff --git a/MainForm.resx b/MainForm.resx index 4a115dc5..545cb6e5 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -120,51 +120,17 @@ 315, 17 - - - 0, 0 - - - 609, 24 - - - - 1 - - - menuStrip - - - System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 5 - - - 37, 20 - - - &File - Ctrl+O + 208, 22 Add more &games - - 208, 22 - - - Selection presets - 139, 6 @@ -180,6 +146,12 @@ Delete preset + + 208, 22 + + + Selection presets + F5 @@ -207,11 +179,11 @@ &Exit - - 52, 20 + + 37, 20 - - &Kernel + + &File 276, 22 @@ -261,6 +233,7 @@ Flash the whole NAND (experts only!) + False @@ -291,11 +264,11 @@ Uninstall - - 65, 20 + + 52, 20 - - &Modules + + &Kernel 197, 22 @@ -309,11 +282,11 @@ Uninstall extra modules - - 61, 20 + + 65, 20 - - &Settings + + &Modules @@ -341,12 +314,6 @@ Language - - 327, 22 - - - Console type - 198, 22 @@ -371,11 +338,11 @@ Super Famicom (Japan) - + 327, 22 - - Pages/folders structure + + Console type 356, 22 @@ -455,11 +422,11 @@ Custom - show Folders Manager every time - + 327, 22 - - Controller hacks + + Pages/folders structure 308, 22 @@ -491,6 +458,12 @@ "Up+A+B = Start" on 2nd controller + + 327, 22 + + + Controller hacks + 327, 22 @@ -527,11 +500,11 @@ Save settings to NES/SNES Mini now - - 47, 20 + + 61, 20 - - &Tools + + &Settings 331, 22 @@ -584,11 +557,11 @@ Take screenshot - - 44, 20 + + 47, 20 - - &Help + + &Tools 246, 22 @@ -614,6 +587,33 @@ About... + + 44, 20 + + + &Help + + + 0, 0 + + + 609, 24 + + + 1 + + + menuStrip + + + System.Windows.Forms.MenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 5 + None @@ -1265,27 +1265,6 @@ 407, 17 - - 0, 614 - - - 609, 22 - - - 6 - - - statusStrip - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 2 - False @@ -1307,6 +1286,27 @@ 195, 16 + + 0, 614 + + + 609, 22 + + + 6 + + + statusStrip + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 2 + 500, 17 @@ -1316,15 +1316,6 @@ 638, 17 - - 270, 92 - - - contextMenuStrip - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - 269, 22 @@ -1352,6 +1343,15 @@ Delete selected games + + 270, 92 + + + contextMenuStrip + + + System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + 17, 98 @@ -1391,6 +1391,18 @@ None + + Top, Bottom, Left, Right + + + 5, 49 + + + 282, 454 + + + 3 + checkedListBoxDefaultGames @@ -1430,30 +1442,6 @@ 7 - - Top, Bottom, Left, Right - - - 5, 49 - - - 282, 454 - - - 3 - - - checkedListBoxDefaultGames - - - System.Windows.Forms.CheckedListBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - groupBoxDefaultGames - - - 0 - 771, 17 @@ -1475,6 +1463,12 @@ None + + Game name + + + 253 + 12, 57 @@ -1499,11 +1493,8 @@ 922, 17 - - Game name - - - 253 + + Select your USB drive True diff --git a/Properties/Resources.resx b/Properties/Resources.resx index 8c30bd49..b08d2863 100644 --- a/Properties/Resources.resx +++ b/Properties/Resources.resx @@ -721,9 +721,6 @@ Warning! It's not recommended to store so many games per folder. - - The selected folder isn't empty - ..\commit.txt;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 diff --git a/WorkerForm.cs b/WorkerForm.cs index b5ac3c94..a2e07d6b 100644 --- a/WorkerForm.cs +++ b/WorkerForm.cs @@ -86,7 +86,7 @@ namespace com.clusterrr.hakchi_gui const long maxCompressedsRamfsSize = 30 * 1024 * 1024; string selectedFile = null; public NesMiniApplication[] addedApplications; - public static int NandCTotal, NandCUsed, NandCFree, WritedGamesSize, SaveStatesSize; + public static long NandCTotal, NandCUsed, NandCFree, WritedGamesSize, SaveStatesSize; public static bool ExternalSaves = false; public static long ReservedMemory { @@ -107,6 +107,27 @@ namespace com.clusterrr.hakchi_gui } } + public static string SubConsoleDirectory + { + get + { + switch (ConfigIni.ConsoleType) + { + case MainForm.ConsoleType.NES: + return "nes"; + case MainForm.ConsoleType.Famicom: + return "nes-jpn"; + case MainForm.ConsoleType.SNES: + return "snes"; + case MainForm.ConsoleType.SuperFamicom: + return "snes-jpn"; + default: + return "."; + } + } + } + + public WorkerForm(MainForm parentForm) { InitializeComponent(); @@ -542,9 +563,12 @@ namespace com.clusterrr.hakchi_gui byte[] kernel; if (!string.IsNullOrEmpty(Mod)) { + // TODO: check version + //#if !DEBUG // Just to verify that correct console is selected if (!DoKernelDump(null, maxProgress, progress)) return; + //#endif progress += 80; kernel = CreatePatchedKernel(); progress += 5; @@ -789,17 +813,27 @@ namespace com.clusterrr.hakchi_gui throw new NotImplementedException(); } - public static void GetMemoryStats() + public static void GetMemoryStats(string gameSyncStorage = null) { + string originalGamesPath = NesMiniApplication.GamesCloverPath; + const string rootFsPath = "/var/lib/hakchi/rootfs"; + var clovershell = MainForm.Clovershell; - var nandc = clovershell.ExecuteSimple("df /dev/nandc | tail -n 1 | awk '{ print $2 \" | \" $3 \" | \" $4 }'", 500, true).Split('|'); + if (gameSyncStorage == null) gameSyncStorage = clovershell.ExecuteSimple($"hakchi findGameSyncStorage", 3000, false); + var storageDevice = clovershell.ExecuteSimple("df /var/games | sed -n '2p' | awk '{print $1}'", 3000, true); + if (storageDevice.Equals("/dev/mapper/root-crypt")) storageDevice = "/dev/nandc"; + var storageStats = clovershell.ExecuteSimple("df " + storageDevice + " | tail -n 1 | awk '{ print $2 \" | \" $3 \" | \" $4 }'", 3000, true).Split('|'); + ExternalSaves = clovershell.ExecuteSimple("mount | grep /var/lib/clover").Trim().Length > 0; - WritedGamesSize = int.Parse(clovershell.ExecuteSimple("mkdir -p /var/lib/hakchi/rootfs/usr/share/games/ && du -s /var/lib/hakchi/rootfs/usr/share/games/ | awk '{ print $1 }'", 1000, true)) * 1024; - SaveStatesSize = int.Parse(clovershell.ExecuteSimple("mkdir -p /var/lib/clover/profiles/0/ && du -s /var/lib/clover/profiles/0/ | awk '{ print $1 }'", 1000, true)) * 1024; - NandCTotal = int.Parse(nandc[0]) * 1024; - NandCUsed = int.Parse(nandc[1]) * 1024; - NandCFree = int.Parse(nandc[2]) * 1024; - Debug.WriteLine(string.Format("NANDC size: {0:F1}MB, used: {1:F1}MB, free: {2:F1}MB", NandCTotal / 1024.0 / 1024.0, NandCUsed / 1024.0 / 1024.0, NandCFree / 1024.0 / 1024.0)); + var writedGamesSizeAll = long.Parse(clovershell.ExecuteSimple($"mkdir -p {rootFsPath}{originalGamesPath} && du -s {rootFsPath}{originalGamesPath} | awk '{{ print $1 }}'", 3000, true)) * 1024; + if (gameSyncStorage != $"{rootFsPath}{originalGamesPath}") + writedGamesSizeAll += long.Parse(clovershell.ExecuteSimple($"mkdir -p {gameSyncStorage}/{SubConsoleDirectory}/ && du -s {gameSyncStorage}/{SubConsoleDirectory}/ | awk '{{ print $1 }}'", 3000, true)) * 1024; + WritedGamesSize = writedGamesSizeAll; + SaveStatesSize = long.Parse(clovershell.ExecuteSimple("mkdir -p /var/lib/clover/profiles/0/ && du -s /var/lib/clover/profiles/0/ | awk '{ print $1 }'", 3000, true)) * 1024; + NandCTotal = long.Parse(storageStats[0]) * 1024; + NandCUsed = long.Parse(storageStats[1]) * 1024; + NandCFree = long.Parse(storageStats[2]) * 1024; + Debug.WriteLine(string.Format("Storage device size: {0:F1}MB, used: {1:F1}MB, free: {2:F1}MB", NandCTotal / 1024.0 / 1024.0, NandCUsed / 1024.0 / 1024.0, NandCFree / 1024.0 / 1024.0)); Debug.WriteLine(string.Format("Used by games: {0:F1}MB", WritedGamesSize / 1024.0 / 1024.0)); Debug.WriteLine(string.Format("Used by save-states: {0:F1}MB", SaveStatesSize / 1024.0 / 1024.0)); Debug.WriteLine(string.Format("Used by other files (mods, configs, etc.): {0:F1}MB", (NandCUsed - WritedGamesSize - SaveStatesSize) / 1024.0 / 1024.0)); @@ -825,10 +859,9 @@ namespace com.clusterrr.hakchi_gui public void UploadGames() { - string gamesPath = NesMiniApplication.GamesCloverPath; + string originalGamesPath = NesMiniApplication.GamesCloverPath; const string rootFsPath = "/var/lib/hakchi/rootfs"; const string installPath = "/var/lib/hakchi"; - const string squashFsPath = "/var/lib/hakchi/squashfs"; int progress = 0; int maxProgress = 400; if (Games == null || Games.Count == 0) @@ -836,7 +869,7 @@ namespace com.clusterrr.hakchi_gui SetStatus(Resources.BuildingFolders); if (FoldersMode == NesMenuCollection.SplitStyle.Custom) { - if (FoldersManagerFromThread(Games) != System.Windows.Forms.DialogResult.OK) + if (FoldersManagerFromThread(Games) != DialogResult.OK) { DialogResult = DialogResult.Abort; return; @@ -857,33 +890,22 @@ namespace com.clusterrr.hakchi_gui DialogResult = DialogResult.Abort; return; } - } - progress += 5; - SetProgress(progress, maxProgress); - if (!exportGames) - { ShowSplashScreen(); UpdateRootfs(); - var squashFsMount = clovershell.ExecuteSimple($"mount | grep {squashFsPath}", 3000, false); - if (string.IsNullOrEmpty(squashFsMount)) - clovershell.ExecuteSimple($"mkdir -p {squashFsPath} && mount /dev/mapper/root-crypt {squashFsPath}", 3000, true); } + progress += 5; + SetProgress(progress, maxProgress); SetStatus(Resources.BuildingFolders); if (Directory.Exists(tempDirectory)) Directory.Delete(tempDirectory, true); Directory.CreateDirectory(tempDirectory); // Games! tempGamesDirectory = Path.Combine(tempDirectory, "games"); - if (exportDirectory != null) - { - tempGamesDirectory = exportDirectory; - } + if (exportGames) + tempGamesDirectory = Path.Combine(tempGamesDirectory, SubConsoleDirectory); Directory.CreateDirectory(tempDirectory); Directory.CreateDirectory(tempGamesDirectory); - if (Directory.GetDirectories(tempGamesDirectory).Length > 0) - { - throw new Exception(Resources.FolderNotEmpty); - } + File.WriteAllBytes(Path.Combine(tempGamesDirectory, ".repair.flag"), new byte[0]); Dictionary originalGames = new Dictionary(); var stats = new GamesTreeStats(); AddMenu(Games, originalGames, stats); @@ -893,7 +915,8 @@ namespace com.clusterrr.hakchi_gui int startProgress = progress; if (!exportGames) { - GetMemoryStats(); + var gameSyncStorage = clovershell.ExecuteSimple($"hakchi findGameSyncStorage", 3000, false); + GetMemoryStats(gameSyncStorage); var maxGamesSize = (NandCFree + WritedGamesSize) - ReservedMemory * 1024 * 1024; if (stats.TotalSize > maxGamesSize) { @@ -908,16 +931,9 @@ namespace com.clusterrr.hakchi_gui using (var gamesTar = new TarStream(tempGamesDirectory)) { maxProgress = (int)(gamesTar.Length / 1024 / 1024 + 20 + originalGames.Count() * 2); - SetProgress(progress, maxProgress); - - clovershell.ExecuteSimple(string.Format("umount {0}", gamesPath)); - clovershell.ExecuteSimple($"mkdir -p \"{rootFsPath}{gamesPath}\"", 3000, true); - if (ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom) - { - clovershell.ExecuteSimple($"[ -f \"{squashFsPath}{gamesPath}/title.fnt\" ] && [ ! -f \"{rootFsPath}{gamesPath}/title.fnt\" ] && cp -f \"{squashFsPath}{gamesPath}/title.fnt\" \"{rootFsPath}{gamesPath}\"/", 3000, false); - clovershell.ExecuteSimple($"[ -f \"{squashFsPath}{gamesPath}/copyright.fnt\" ] && [ ! -f \"{rootFsPath}{gamesPath}/copyright.fnt\" ] && cp -f \"{squashFsPath}{gamesPath}/copyright.fnt\" \"{rootFsPath}{gamesPath}\"/", 3000, false); - } - clovershell.ExecuteSimple(string.Format("rm -rf {0}{1}/CLV-* {0}{1}/??? {2}/menu", rootFsPath, gamesPath, installPath), 5000, true); + SetProgress(progress, maxProgress); + clovershell.ExecuteSimple($"rm -rf {gameSyncStorage}/{SubConsoleDirectory} {installPath}/menu {rootFsPath}{originalGamesPath}", 5000, true); + clovershell.ExecuteSimple($"mkdir -p \"{gameSyncStorage}/{SubConsoleDirectory}\"", 3000, true); if (gamesTar.Length > 0) { @@ -926,89 +942,28 @@ namespace com.clusterrr.hakchi_gui progress = (int)(startProgress + pos / 1024 / 1024); SetProgress(progress, maxProgress); }; - SetStatus(Resources.UploadingGames); - clovershell.Execute(string.Format("tar -xvC {0}{1}", rootFsPath, gamesPath), gamesTar, null, null, 30000, true); + clovershell.Execute($"tar -xvC \"{gameSyncStorage}/{SubConsoleDirectory}\"", gamesTar, null, null, 30000, true); } } } - SetStatus(Resources.UploadingOriginalGames); - // Need to make sure that squashfs if mounted - startProgress = progress; - string executablePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); - string desktopEntriesPath = Path.Combine(executablePath, "DesktopEntries"); - foreach (var originalCode in originalGames.Keys) - { - if (exportGames) - { - string desktopFilePath = Path.Combine(desktopEntriesPath, $"{originalCode}.desktop"); - string tempGamePath = Path.Combine(tempGamesDirectory, $"{originalGames[originalCode]}/{originalCode}"); - Directory.CreateDirectory(Path.Combine(tempGamePath, "autoplay")); - if (ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom) - { - Directory.CreateDirectory(Path.Combine(tempGamePath, "pixelart")); - } - File.Copy(desktopFilePath, Path.Combine(tempGamePath, $"{originalCode}.desktop")); - } - else - { - string originalSyncCode = ""; - switch (ConfigIni.ConsoleType) - { - case MainForm.ConsoleType.NES: - case MainForm.ConsoleType.Famicom: - originalSyncCode = - $"src=\"{squashFsPath}{gamesPath}/{originalCode}\" && " + - $"dst=\"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " + - $"mkdir -p \"$dst\" && " + - $"ln -s \"$src/{originalCode}.png\" \"$dst\" && " + - $"ln -s \"$src/{originalCode}_small.png\" \"$dst\" && " + - $"ln -s \"$src/{originalCode}.nes\" \"$dst\" && " + - $"ln -s \"$src/autoplay/\" \"$dst/autoplay\" && " + - $"ln -s \"$src/pixelart/\" \"$dst/pixelart\" && " + - $"cp \"$src/{originalCode}.desktop\" \"$dst/{originalCode}.desktop\" && " + - $"sed -i -e 's/\\/usr\\/bin\\/clover-kachikachi/\\/bin\\/clover-kachikachi-wr/g' \"$dst/{originalCode}.desktop\""; - break; - case MainForm.ConsoleType.SNES: - case MainForm.ConsoleType.SuperFamicom: - originalSyncCode = - $"src=\"{squashFsPath}{gamesPath}/{originalCode}\" && " + - $"dst=\"{rootFsPath}{gamesPath}/{originalGames[originalCode]}/{originalCode}/\" && " + - $"mkdir -p \"$dst\" && " + - $"ln -s \"$src/{originalCode}.png\" \"$dst\" && " + - $"ln -s \"$src/{originalCode}_small.png\" \"$dst\" && " + - $"ln -s \"$src/{originalCode}.sfrom\" \"$dst\" && " + - $"ln -s \"$src/autoplay/\" \"$dst/autoplay\" && " + - $"cp \"$src/{originalCode}.desktop\" \"$dst/{originalCode}.desktop\" && " + - $"sed -i -e 's/\\/usr\\/bin\\/clover-canoe-shvc/\\/bin\\/clover-canoe-shvc-wr/g' \"$dst/{originalCode}.desktop\""; - break; - } - clovershell.ExecuteSimple(originalSyncCode, 30000, true); - } - progress += 2; - SetProgress(progress, maxProgress); - }; - - SetStatus(Resources.UploadingConfig); if (!exportGames) { + SetStatus(Resources.UploadingConfig); SyncConfig(Config); } + else + { + SetStatus("Writing games to USB drive..."); + Directory.CreateDirectory(exportDirectory); + if (!ExecuteTool("rsync.exe", $"-ac --delete \"/{tempGamesDirectory.Replace("\\", "/").Replace(":/", "/")}\" \"/{exportDirectory.Replace("\\", "/").Replace(":/", "/")}\"")) + throw new Exception("Can't rsync to USB drive"); + } #if !DEBUG - if (!exportGames && Directory.Exists(tempDirectory)) + if (Directory.Exists(tempDirectory)) Directory.Delete(tempDirectory, true); #endif - if (exportGames) - { - new Process() - { - StartInfo = new ProcessStartInfo() - { - FileName = tempGamesDirectory, - } - }.Start(); - } SetStatus(Resources.Done); SetProgress(maxProgress, maxProgress); } @@ -1038,9 +993,11 @@ namespace com.clusterrr.hakchi_gui if (updateTar.Length > 0) { var clovershell = MainForm.Clovershell; - clovershell.Execute("tar -xvC /", updateTar, null, null, 30000, true); - clovershell.ExecuteSimple("chmod +x /bin/*", 3000, true); - clovershell.ExecuteSimple("chmod +x /etc/init.d/*", 3000, true); + clovershell.ExecuteSimple("mkdir -p /tmp/root", 3000, true); + clovershell.Execute("tar -xvC /tmp/root", updateTar, null, null, 30000, true); + clovershell.ExecuteSimple("chmod +x /tmp/root/bin/*", 3000, true); + clovershell.ExecuteSimple("chmod +x /tmp/root/etc/init.d/*", 3000, true); + clovershell.ExecuteSimple("rsync -ac /tmp/root/* /", 3000, true); } } } @@ -1126,7 +1083,7 @@ namespace com.clusterrr.hakchi_gui byte[] kernel; if (!string.IsNullOrEmpty(Mod)) - kernel = CreatePatchedKernel(); + kernel = CreatePatchedKernel(null, true); else kernel = File.ReadAllBytes(KernelDumpPath); var size = CalcKernelSize(kernel); @@ -1197,8 +1154,13 @@ namespace com.clusterrr.hakchi_gui File.Copy(kernelPath ?? KernelDumpPath, tempKernelDump, true); if (!ExecuteTool("unpackbootimg.exe", string.Format("-i \"{0}\" -o \"{1}\"", tempKernelDump, kernelDirectory))) throw new Exception("Can't unpack kernel image"); - if (!ExecuteTool("lzop.exe", string.Format("-d \"{0}\" -o \"{1}\"", - Path.Combine(kernelDirectory, "kernel.img-ramdisk.gz"), initramfs_cpio))) + string ramdiskGz = Path.Combine(kernelDirectory, "kernel.img-ramdisk.gz"); + byte[] output; + if (ExecuteTool("xz.exe", string.Format("-dc \"{0}\"", + ramdiskGz), out output)) + File.WriteAllBytes(initramfs_cpio, output); + else if (!ExecuteTool("lzop.exe", string.Format("-d \"{0}\" -o \"{1}\"", + ramdiskGz, initramfs_cpio))) throw new Exception("Can't unpack ramdisk"); ExecuteTool("cpio.exe", string.Format("-imd --no-preserve-owner --quiet -I \"{0}\"", @"..\initramfs.cpio"), ramfsDirectory); @@ -1206,14 +1168,15 @@ namespace com.clusterrr.hakchi_gui throw new Exception("Can't unpack ramdisk 2"); } - private byte[] CreatePatchedKernel(string kernelPath = null) + private byte[] CreatePatchedKernel(string kernelPath = null, bool includeExtraBinaries = false) { SetStatus(Resources.BuildingCustom); if (!File.Exists(Path.Combine(ramfsDirectory, "init"))) UnpackRamfs(kernelPath); if (Directory.Exists(hakchiDirectory)) Directory.Delete(hakchiDirectory, true); - NesMiniApplication.DirectoryCopy(Path.Combine(modsDirectory, Mod), ramfsDirectory, true); + NesMiniApplication.DirectoryCopy(Path.Combine(modsDirectory, Mod), ramfsDirectory, true, + includeExtraBinaries ? null : new string[] { "rsync", "usleep" }); // Remove huge files var ramfsFiles = Directory.GetFiles(ramfsDirectory, "*.*", SearchOption.AllDirectories); foreach (var file in ramfsFiles) { @@ -1269,9 +1232,18 @@ namespace com.clusterrr.hakchi_gui var argKerneloff = File.ReadAllText(Path.Combine(kernelDirectory, "kernel.img-kerneloff")).Trim(); var argRamdiscoff = File.ReadAllText(Path.Combine(kernelDirectory, "kernel.img-ramdiskoff")).Trim(); var argTagsoff = File.ReadAllText(Path.Combine(kernelDirectory, "kernel.img-tagsoff")).Trim(); - if (!ExecuteTool("lzop.exe", string.Format("--best -f -o \"{0}\" \"{1}\"", - ramdiskPatched, initramfs_cpioPatched))) - throw new Exception("Can't repack ramdisk 2"); + byte[] output; + if (ExecuteTool("xz.exe", string.Format("--check=crc32 --lzma2=dict=1MiB -c \"{0}\"", + initramfs_cpioPatched), out output)) + { + File.WriteAllBytes(ramdiskPatched, output); + } + else + { + if (!ExecuteTool("lzop.exe", string.Format("--best -f -o \"{0}\" \"{1}\"", + ramdiskPatched, initramfs_cpioPatched))) + throw new Exception("Can't repack ramdisk 2"); + } if (!ExecuteTool("mkbootimg.exe", string.Format("--kernel \"{0}\" --ramdisk \"{1}\" --cmdline \"{2}\" --board \"{3}\" --base \"{4}\" --pagesize \"{5}\" --kernel_offset \"{6}\" --ramdisk_offset \"{7}\" --tags_offset \"{8}\" -o \"{9}\"", Path.Combine(kernelDirectory, "kernel.img-zImage"), ramdiskPatched, argCmdline, argBoard, argBase, argPagesize, argKerneloff, argRamdiscoff, argTagsoff, kernelPatched))) throw new Exception("Can't rebuild kernel"); @@ -1300,13 +1272,30 @@ namespace com.clusterrr.hakchi_gui stats.allMenus.Add(menuCollection); int menuIndex = stats.allMenus.IndexOf(menuCollection); string targetDirectory; - if (menuIndex == 0) - targetDirectory = tempGamesDirectory; - else - targetDirectory = Path.Combine(tempGamesDirectory, string.Format("{0:D3}", menuIndex)); + targetDirectory = Path.Combine(tempGamesDirectory, string.Format("{0:D3}", menuIndex)); foreach (var element in menuCollection) { - if (element is NesMiniApplication) + if (element is NesDefaultGame) + { + stats.TotalGames++; + var game = element as NesDefaultGame; + var gameSize = 25000; + string desktopEntriesPath = Path.Combine(baseDirectoryInternal, "DesktopEntries"); + var originalCode = game.Code; + var desktopFilePath = Path.Combine(desktopEntriesPath, $"{originalCode}.desktop"); + var targetGamePath = Path.Combine(targetDirectory, originalCode); + Directory.CreateDirectory(targetGamePath); + Directory.CreateDirectory(Path.Combine(targetGamePath, "autoplay")); + if (ConfigIni.ConsoleType == MainForm.ConsoleType.NES || ConfigIni.ConsoleType == MainForm.ConsoleType.Famicom) + { + Directory.CreateDirectory(Path.Combine(targetGamePath, "pixelart")); + } + File.Copy(desktopFilePath, Path.Combine(targetGamePath, $"{originalCode}.desktop")); + stats.TotalSize += gameSize; + stats.TransferSize += gameSize; + stats.TotalGames++; + } + else if (element is NesMiniApplication) { stats.TotalGames++; var game = element as NesMiniApplication; @@ -1360,7 +1349,7 @@ namespace com.clusterrr.hakchi_gui { var game = element as NesDefaultGame; stats.TotalSize += game.Size; - originalGames[game.Code] = menuIndex == 0 ? "." : string.Format("{0:D3}", menuIndex); + originalGames[game.Code] = string.Format("{0:D3}", menuIndex); } } } diff --git a/data/zImage b/data/zImage index b273922d..5c655969 100644 Binary files a/data/zImage and b/data/zImage differ diff --git a/hakchi_gui.csproj b/hakchi_gui.csproj index 3b801600..e210881f 100644 --- a/hakchi_gui.csproj +++ b/hakchi_gui.csproj @@ -520,6 +520,12 @@ Always + + Always + + + Always + Always @@ -1712,9 +1718,6 @@ Always - - Always - Always @@ -2361,6 +2364,21 @@ Always + + Always + + + Always + + + Always + + + Always + + + Always + Always diff --git a/mods/hmods/core-modules.hmod b/mods/hmods/core-modules.hmod deleted file mode 100644 index ca8247a1..00000000 Binary files a/mods/hmods/core-modules.hmod and /dev/null differ diff --git a/mods/hmods/modules-3.4.112.madmonkey.hmod b/mods/hmods/modules-3.4.112.madmonkey.hmod new file mode 100644 index 00000000..3419c1a8 Binary files /dev/null and b/mods/hmods/modules-3.4.112.madmonkey.hmod differ diff --git a/mods/hmods/ntfs-3g.hmod b/mods/hmods/ntfs-3g.hmod new file mode 100644 index 00000000..558d5b58 Binary files /dev/null and b/mods/hmods/ntfs-3g.hmod differ diff --git a/mods/mod_hakchi/bin/busybox b/mods/mod_hakchi/bin/busybox index 0cf516b5..f2a314ff 100755 Binary files a/mods/mod_hakchi/bin/busybox and b/mods/mod_hakchi/bin/busybox differ diff --git a/mods/mod_hakchi/etc/filesystems b/mods/mod_hakchi/etc/filesystems new file mode 100644 index 00000000..2b8cb984 --- /dev/null +++ b/mods/mod_hakchi/etc/filesystems @@ -0,0 +1,37 @@ +nodev sysfs +nodev rootfs +nodev bdev +nodev proc +nodev tmpfs +nodev devtmpfs +nodev binfmt_misc +nodev sockfs +nodev usbfs +nodev pipefs +nodev anon_inodefs +nodev rpc_pipefs +nodev configfs +nodev devpts + ext3 + ext2 + ext4 + cramfs + squashfs +nodev ramfs + vfat + msdos + iso9660 +nodev nfs +nodev nfs4 +nodev cifs +nodev autofs + fuseblk +nodev fuse +nodev fusectl +nodev overlayfs + udf +nodev mqueue +nodev functionfs +nodev oprofilefs + ntfs + exfat diff --git a/mods/mod_hakchi/hakchi/config b/mods/mod_hakchi/hakchi/config index 6e90132e..6cefdfe6 100644 --- a/mods/mod_hakchi/hakchi/config +++ b/mods/mod_hakchi/hakchi/config @@ -1,5 +1,4 @@ -local cf_backup_dummy='n' -local cf_backup='n' -local cf_backup_nandc='n' -local cf_shutdown='n' -local cf_usb='y' +export cf_backup_dummy='n' +export cf_backup='n' +export cf_backup_nandc='n' +export cf_shutdown='r' diff --git a/mods/mod_hakchi/hakchi/init b/mods/mod_hakchi/hakchi/init index 50fc66a4..023db13a 100644 --- a/mods/mod_hakchi/hakchi/init +++ b/mods/mod_hakchi/hakchi/init @@ -6,6 +6,7 @@ init(){ export modpath="/$modname" export mountpoint="/newroot" export temppath="/tmp" + echo "$modname init script version: 1.0" /bin/busybox --install -s /bin/ mkdir -p "$temppath" @@ -18,15 +19,15 @@ init(){ source "$modpath/script/base" if [ -d "$modpath/transfer" ]; then - export cf_usb='n' source "$modpath/script/transfer" else mount_base fi if [ -f "$preinit" ]; then + export preinit PATH="$rootfs/sbin:$rootfs/usr/sbin:$rootfs/bin:$rootfs/usr/bin:$PATH" - "$rootfs/bin/busybox" sh -c "source "$preinit.d/b0000_defines" && source "$preinit" && preinit" + "$rootfs/bin/busybox" sh -c "source "$preinit" && preinit" else umount_base fi diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu index 3ad32b84..921709ca 100755 --- a/mods/mod_hakchi/hakchi/rootfs/bin/chmenu +++ b/mods/mod_hakchi/hakchi/rootfs/bin/chmenu @@ -2,34 +2,27 @@ source /etc/preinit script_init -state_file="$installpath/menu" +state_path="/var/saves/$modname" +state_file="$state_path/menu" [ -z "$1" ] && exit 1 [ -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 - targetpath="$rootfs$gamepath" -else - targetpath="$rootfs$gamepath/$1" +gameStorage="$(findGameStorage)" +targetpath="$gameStorage/$1" +if ! containsGames "$targetpath"; then + [ "$1" == "000" ] || exit 1 + targetpath="$gameStorage" + containsGames "$targetpath" || exit 1 fi -[ -d "$targetpath" ] || exit 1 +mkdir -p "$state_path" echo "$1" > "$state_file" echo "New directory: $targetpath" - -if [ "$1" != "000" ]; then - if [ -f "$rootfs$gamepath/title.fnt" ] && [ ! -f "$targetpath/title.fnt" ]; then - ln -s "$rootfs$gamepath/title.fnt" "$targetpath/title.fnt" - fi - if [ -f "$rootfs$gamepath/copyright.fnt" ] && [ ! -f "$targetpath/copyright.fnt" ]; then - ln -s "$rootfs$gamepath/copyright.fnt" "$targetpath/copyright.fnt" - fi -fi - uistop -overmount_games +overmount_games "$1" sleep 1 touch "/var/startmcp.flag" diff --git a/mods/mod_hakchi/hakchi/rootfs/bin/hsqs b/mods/mod_hakchi/hakchi/rootfs/bin/hsqs index 800c4567..041654fc 100755 --- a/mods/mod_hakchi/hakchi/rootfs/bin/hsqs +++ b/mods/mod_hakchi/hakchi/rootfs/bin/hsqs @@ -6,7 +6,7 @@ echo "current firmware: $(currentFirmware)" printSoftwareInfo firmware="$1" -if [ "$firmware" != "_nand_" ]; then +if [ "$firmware" != "auto" ] && [ "$firmware" != "_nand_" ]; then firmware="$(echo "$firmware" | sed -re 's/^\/usr\/share\/games\/(nes\/kachikachi\/)?/\/var\/games\//')" firmware="$(readlink -f "$firmware")" checkFirmware "$firmware" || exit 1 @@ -17,6 +17,7 @@ cfg_firmware="$firmware" save_config [ "$(currentFirmware)" == "$firmware" ] && exit 0 +[ "$(currentFirmware)" == "auto" ] && exit 0 #? echo "changing firmware to: $firmware" reboot diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.fb b/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.fb new file mode 100644 index 00000000..2826ef40 Binary files /dev/null and b/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.fb differ diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.png b/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.png new file mode 100644 index 00000000..229e0fd3 Binary files /dev/null and b/mods/mod_hakchi/hakchi/rootfs/etc/pleasewait.png differ diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines index 684054df..c774d8c6 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0000_defines @@ -3,11 +3,13 @@ modpath="/$modname" #mountpoint="/newroot" installpath="$mountpoint/var/lib/$modname" firmwarepath="$installpath/firmware" +extfirmwarepath="$mountpoint/media/$modname/firmware" rootfs="$installpath/rootfs" -squashfs="$installpath/squashfs" +squashfs="$mountpoint/var/squashfs" preinit="$rootfs/etc/preinit" preinitpath="$preinit.d" sftype="" sfregion="" gamepath="" +profilepath="/var/lib/clover/profiles/0" temppath="/tmp" 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 7ec99650..cb5c9e15 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0010_functions @@ -75,7 +75,10 @@ remount_root(){ mount_move l media mount_move l var + stopTask decodepng + stopTask aplay umount "$mountpoint" + local loopfile="/var${1##$mountpoint/var}" [ -f "$loopfile" ] || loopfile="/media${1##$mountpoint/media}" if ! mount -o loop,ro,noatime "$loopfile" "$mountpoint"; then @@ -97,7 +100,7 @@ checkFirmware(){ } currentFirmware(){ - local firmware="$(losetup | awk '{print $3'})" + local firmware="$(losetup -a | awk '{print $3'})" if ! [ -z "$firmware" ]; then echo "$firmware" return 0 @@ -109,14 +112,28 @@ currentFirmware(){ return 1 } +overmountModules(){ + if [ ! -d "$mountpoint/lib/modules/$(uname -r)" ]; then + if [ -d "$rootfs/lib/modules/$(uname -r)" ]; then + overmount "/lib/modules" + else + echo "no modules for loaded kernel $(uname -r)" + fi + fi +} + loadFirmware(){ [ -z "$(mount | grep -F loop0)" ] || return 1 local firmware="$mountpoint$cfg_firmware" if ! checkFirmware "$firmware"; then [ "$cfg_firmware" == "auto" ] || return 0 - [ -d "$firmwarepath" ] || return 0 - firmware="$(find "$firmwarepath" -type f -name "*.hsqs" | sort | head -n 1)" + [ -d "$extfirmwarepath" ] && \ + firmware="$(find "$extfirmwarepath" -type f -name "*.hsqs" | sort | head -n1)" + if ! checkFirmware "$firmware"; then + [ -d "$firmwarepath" ] && \ + firmware="$(find "$firmwarepath" -type f -name "*.hsqs" | sort | head -n1)" + fi fi checkFirmware "$firmware" || return 0 @@ -125,13 +142,7 @@ loadFirmware(){ remount_root "$firmware" cryptsetup close root-crypt mountSquash - if [ ! -d "$mountpoint/lib/modules/$(uname -r)" ]; then - if [ -d "$rootfs/lib/modules/$(uname -r)" ]; then - overmount "/lib/modules" - else - echo "no modules for loaded kernel $(uname -r)" - fi - fi + overmountModules } shutdown(){ @@ -181,6 +192,8 @@ restore(){ mount_bind(){ if mountpoint -q "$2"; then umount "$2" || umount -f "$2" + else + umount "$2" 2>/dev/null fi mount -o bind "$1" "$2" } @@ -205,7 +218,7 @@ containsGames(){ } linkGames(){ - local games="$mountpoint/media/$modname/games${1##$rootfs$gamepath}" + local games="$mountpoint/media/$modname/games${1##$installpath/games}" [ -d "$games" ] || games="$installpath/games${1##$rootfs$gamepath}" [ -d "$games" ] || games="$1" games="${games##$mountpoint}" @@ -221,7 +234,7 @@ softwareCheck(){ [ "$(cat "$mountpoint/etc/clover/REGION")" == "JPN" ] && sfregion="jpn" [ "$(cat "$mountpoint/etc/clover/REGION")" == "EUR" ] && sfregion="eur" - local feck="$mountpoint/var/lib/clover/profiles/0/home-menu/save/system-save.json" + local feck="$mountpoint$profilepath/home-menu/save/system-save.json" if [ "$sftype" == "snes" ]; then gamepath="/usr/share/games" [ -f "$feck" ] && mv -f "$feck" "$feck.nes" @@ -231,31 +244,35 @@ softwareCheck(){ [ -d "$feck" ] && rm -rf "$feck.snes" && mv "$feck" "$feck.snes" [ -f "$feck.nes" ] && mv -f "$feck.nes" "$feck" fi - + + mkdir -p "$mountpoint$profilepath/$modname" + rm -f "$mountpoint/var/saves" - ln -s "/var/lib/clover/profiles/0" "$mountpoint/var/saves" + ln -s "$profilepath" "$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") + [ ! -f "$1/title.fnt" ] && copy "$squashfs$gamepath/title.fnt" "$1/" + [ ! -f "$1/copyright.fnt" ] && copy "$squashfs$gamepath/copyright.fnt" "$1/" fi } repair_games(){ [ -w "$1" ] || return 0 + [ -f "$1/.repair.flag" ] || return 0 + cat "$rootfs/etc/pleasewait.fb" | gunzip -c - > "/dev/fb0" local usesymlink='' - ln -s / "$1/symlinktest" && rm "$1/symlinktest" && usesymlink='y' - + ln -s / "$1/symlinktest" 2>/dev/null && rm -f "$1/symlinktest" && usesymlink='y' + ls -1 "$squashfs$gamepath" | grep CLV- | while read code do - local gamedir="$1/$code" + local gamedir=$(find "$1" -name $code -type d) local squashgamedir="$squashfs$gamepath/$code" - + [ -d "$gamedir" ] || continue - + if [ ! -f "$gamedir/$code.desktop" ]; then cp "$squashgamedir/$code.desktop" "$gamedir/" [ "$sftype" == "nes" ] && \ @@ -263,10 +280,10 @@ repair_games(){ [ "$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/") - + + [ -d "$gamedir/autoplay/" ] && ([ "$(ls -A "$gamedir/autoplay/")" ] || rm -rf "$gamedir/autoplay/") + [ -d "$gamedir/pixelart/" ] && ([ "$(ls -A "$gamedir/pixelart/")" ] || rm -rf "$gamedir/pixelart/") + find "$squashgamedir" -maxdepth 1 | sed -n '1!p' | while read squashfile do if [ "$usesymlink" == "y" ]; then @@ -276,19 +293,58 @@ repair_games(){ fi done done - sync - return 0 + + ls -1 "$1" | while read f; do repair_fonts "$1/$f"; done + + rm -f "$1/.repair.flag" && sync && reboot +} + +checkGamepath(){ + containsGames "$1" && echo "$1" && return 0 + containsGames "$1/000" && echo "$1" && return 0 + return 1 +} + +checkPath(){ + [ -d "$1" ] && echo "$1" && return 0 + return 1 +} + +findGameSyncStorage(){ + checkPath "$mountpoint/media/hakchi/games" && return 0 + mkdir -p "$installpath/games" + checkPath "$installpath/games" && return 0 + return 1 +} + +findGameStorage(){ + checkGamepath "$mountpoint/media/hakchi/games/$sftype-$sfregion" && return 0 + checkGamepath "$mountpoint/media/hakchi/games/$sftype" && return 0 + checkGamepath "$mountpoint/media/hakchi/games" && return 0 + + checkGamepath "$installpath/games/$sftype-$sfregion" && return 0 + checkGamepath "$installpath/games/$sftype" && return 0 + checkGamepath "$installpath/games" && return 0 + return 1 } overmount_games(){ - local menu_code="000" - [ -f "$installpath/menu" ] && menu_code="$(cat "$installpath/menu")" - containsGames "$rootfs$gamepath/$menu_code" || menu_code="" + local gameStorage="$(findGameStorage)" || return 0 + local state_path="$mountpoint$profilepath/$modname" + local state_file="$state_path/menu" + local menu_code="$1" + [ -z "$1" ] && menu_code="000" + [ -z "$1" ] && [ -f "$state_file" ] && menu_code="$(cat "$state_file")" + containsGames "$gameStorage/$menu_code" || menu_code="" echo "menu code: $menu_code" - 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 + if containsGames "$gameStorage/$menu_code"; then + mount_bind "$gameStorage/$menu_code" "$mountpoint/$gamepath" && \ + repair_games "$gameStorage" + repair_fonts "$gameStorage/$menu_code" && \ + linkGames "$gameStorage/$menu_code" && \ + return 0 else - echo "no romz found at: $rootfs$gamepath/$menu_code" + echo "no romz found at: $gameStorage/$menu_code" fi linkGames "$gamepath" return 1 @@ -330,15 +386,86 @@ printSoftwareInfo(){ echo "region=$sfregion" } +stopTask(){ + local tokill="false" + if [ "$1" = "-f" ]; then + tokill="true" + shift + fi + local pid="$(pidof "$1")" + [ -z "$pid" ] && return 0 + "$tokill" && kill "$pid" + wait "$pid" +} + +waitTask(){ + local A="stopTask ${1+"$@"}" + trap "$A" EXIT +} + showImage(){ - image="$(eval echo "$1")" + local image="$(eval echo "$1")" [ -f "$image" ] || image="$rootfs$1" [ -f "$image" ] || image="$squashfs$1" [ -f "$image" ] || return 1 decodepng "$image" > "/dev/fb0" & + waitTask decodepng + return 0 +} + +playSound(){ + local wavfile="$(eval echo "$1")" + [ -f "$wavfile" ] || wavfile="$rootfs$1" + [ -f "$wavfile" ] || wavfile="$squashfs$1" + [ -f "$wavfile" ] || return 1 + aplay -q "$wavfile" & + waitTask aplay return 0 } hwmon(){ cat "/sys/devices/virtual/hwmon/hwmon1/temp1_input" } + +usedBlockSpace(){ + local path="$1" + [ -e "$path" ] || path="$rootfs" + local line="$(df -k "$path" | tail -n1)" + local used="$(echo "$line" | awk '{print $3}')" + local available="$(echo "$line" | awk '{print $4}')" + local total="$(($used+$available))" + echo "$used $total" +} + +freeBlockSpace(){ + local path="$1" + [ -e "$path" ] || path="$rootfs" + df -k "$path" | tail -n1 | awk '{print $4}' +} + +usedSpace(){ +# Warning: SLOW + local path="$1" + [ -e "$path" ] || path="$rootfs" + du -ksx "$path" | awk '{print $1}' +} + +usedBy(){ + case "$1" in + games) + usedSpace "$(findGameSyncStorage)" + ;; + saves) + usedSpace "$profilepath" + ;; + mods) + usedSpace "$rootfs" + ;; + firmware) + usedSpace "$firmwarepath" + ;; + *) + echo "Usage: usedBy {games|saves|mods|firmware}" + return 1 + esac +} diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0020_backup b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0020_backup index 8377e1d7..6819ccdd 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0020_backup +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0020_backup @@ -14,7 +14,7 @@ backup_nandb(){ if [ ! -f "$nandb_filename" ]; then echo "backup $nandb_filename" dd if=/dev/mapper/root-crypt bs=4k \ - count=$((($(hexdump -e '1/4 "%u"' -s $((0x28)) -n 4 /dev/mapper/root-crypt)+0xfff)/0x1000)) \ + count="$((($(hexdump -e '1/4 "%u"' -s $((0x28)) -n 4 /dev/mapper/root-crypt)+0xfff)/0x1000))" \ > "$nandb_filename" && \ md5sum "$nandb_filename" > "$nandb_filename.md5" fi diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0040_usb b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0040_usb index 786d6f36..ddfffdb4 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0040_usb +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/b0040_usb @@ -1,81 +1,114 @@ -disableUsbDevice(){ - #disable usb - echo 0 > "/sys/devices/sunxi_usb/usb_role" -} - -switchToUsbDevice(){ - echo Switching to USB device mode - disableUsbDevice - - # enable device mode - echo 2 > "/sys/devices/sunxi_usb/usb_role" - - # make sure the usb gadgets are disabled - echo 0 > "/sys/devices/virtual/android_usb/android0/enable" -} - -switchToUsbHost(){ - echo Switching to USB host mode - # make sure the usb gadgets are disabled - echo 0 > "/sys/devices/virtual/android_usb/android0/enable" - - disableUsbDevice - - # enable host mode - echo 1 > "/sys/devices/sunxi_usb/usb_role" -} - -checkUsbStorage(){ - local disk="/dev/sda1" - - local timeout=5 - while [ $timeout -gt 0 ] && ! [ -b "$disk" ]; do - echo "waiting for media $timeout" - let timeout=timeout-1 - sleep 1 - done - - [ -b "$disk" ] || return 1 - - local ro="defaults,nosuid,nodev,noatime,ro" - local rw="defaults,nosuid,nodev,noatime,rw" - mount -o $ro "$disk" "$mountpoint/media" || return 1 - - local saves="$modname/saves" - - if [ -d "$mountpoint/media/$saves" ] || [ -d "$mountpoint/media/$modname/transfer" ] || [ "$cfg_usb_rw" == "y" ]; then - mount -o remount,$rw "$disk" - fi - [ -d "$mountpoint/media/$saves" ] && mount_bind "$mountpoint/media/$saves" "$mountpoint/var/lib/clover/profiles/0" - - local bootlogo0="boot.png" - local bootlogo1="$mountpoint/media/$modname/$bootlogo0" - local bootlogo2="$rootfs/etc/$bootlogo0" - if [ -f "$bootlogo1" ]; then - rsync -ac "$bootlogo1" "$bootlogo2" - showImage "$bootlogo2" - cfg_boot_logo='' - else - [ -f "$bootlogo2" ] && rm "$bootlogo2" && source "$preinit.d/p7010_bootlogo" - fi - - return 0 -} - -checkUsbGamepath(){ - local disk="/dev/sda1" - [ -b "$disk" ] || return 1 - - local games="$modname/games" - if containsGames "$mountpoint/media/$games"; then - if ! mkdir -p "$rootfs$gamepath"; then - rm -rf "$rootfs$gamepath" - mkdir -p "$rootfs$gamepath" || return 1 - fi - mount_bind "$mountpoint/media/$games" "$rootfs$gamepath" - return 0 - else - echo "no romz found at: $disk:/$games" - return 1 - fi -} +disableUsbDevice(){ + #disable usb + [ -f "/sys/devices/sunxi_usb/usb_role" ] || return 1 + echo 0 > "/sys/devices/sunxi_usb/usb_role" +} + +switchToUsbDevice(){ + [ -f "/sys/devices/sunxi_usb/usb_role" ] || return 1 + disableUsbDevice + # enable device mode + echo 2 > "/sys/devices/sunxi_usb/usb_role" + # make sure the usb gadgets are disabled + echo 0 > "/sys/devices/virtual/android_usb/android0/enable" +} + +switchToUsbHost(){ + [ -f "/sys/devices/sunxi_usb/usb_role" ] || return 1 + # make sure the usb gadgets are disabled + [ -f "/sys/devices/virtual/android_usb/android0/enable" ] && \ + echo 0 > "/sys/devices/virtual/android_usb/android0/enable" + disableUsbDevice + # enable host mode + echo 1 > "/sys/devices/sunxi_usb/usb_role" +} + +getUsbStorageIds(){ + find "/dev/bus/usb" -type c | while read device + do + hexdump -n 1 -s 32 "$device" -C | grep -e '^00000020 08' && echo "$device" + done +} + +waitForUsbDevice(){ + [ -z "$(getUsbStorageIds)" ] && return 1 + local blockDevice="$1" + local timeout=5 + while [ $timeout -gt 0 ] && ! [ -b "$blockDevice" ]; do + echo "waiting for media $timeout" + let timeout=timeout-1 + sleep 1 + done + [ -b "$blockDevice" ] +} + +checkStorageDevice(){ + local blockDevice="$1" + [ -b "$blockDevice" ] || return 1 + + local ro="defaults,nosuid,nodev,noatime,ro" + local rw="defaults,nosuid,nodev,noatime,rw" + local games="$modname/games" + local saves="$modname/saves" + + if ! [ "$cfg_usb_rw" == "y" ]; then + mount -o $ro "$blockDevice" "$mountpoint/media" || return 1 + fi + + local need_repair="" + [ -d "$mountpoint/media/$games" ] && ! [ -z "$(find $mountpoint/media/$games -name .repair.flag -maxdepth 2)" ] && need_repair=y + + if [ -d "$mountpoint/media/$saves" ] || [ -d "$mountpoint/media/$modname/transfer" ] || [ "$cfg_usb_rw" == "y" ] || [ "$need_repair" == "y" ]; then + umount "$mountpoint/media" 2>/dev/null + mount -o $rw "$blockDevice" "$mountpoint/media" || return 1 + fi + + if ! [ -d "$mountpoint/media/$modname" ]; then + umount "$mountpoint/media" + return 1 + fi + + [ -d "$mountpoint/media/$saves" ] && mount_bind "$mountpoint/media/$saves" "$mountpoint$profilepath" + + local bootlogo0="boot.png" + local bootlogo1="$mountpoint/media/$modname/$bootlogo0" + local bootlogo2="$rootfs/etc/$bootlogo0" + if [ -f "$bootlogo1" ]; then + rsync -ac "$bootlogo1" "$bootlogo2" + showImage "$bootlogo2" + cfg_boot_logo='' + else + [ -f "$bootlogo2" ] && rm -f "$bootlogo2" && source "$preinit.d/p7010_bootlogo" + fi + + local bootsound0="boot.wav" + local bootsound1="$mountpoint/media/$modname/$bootsound0" + local bootsound2="$rootfs/etc/$bootsound0" + if [ -f "$bootsound1" ]; then + [ -f "$bootsound2" ] || playSound "$bootsound1" + rsync -ac "$bootsound1" "$bootsound2" + else + rm -f "$bootsound2" + fi + + return 0 +} + +checkExtStorage(){ + local di + local d + local p + local blockDevice="/dev/sd" + waitForUsbDevice "${blockDevice}a1" + for di in $(seq 97 99); do + d="$(printf "\\$(printf %o $di)\n")" + for p in $(seq 1 9); do + checkStorageDevice "$blockDevice$d$p" && return 0 + done + done + blockDevice="/dev/mmcblk0p" + for p in $(seq 1 9); do + checkStorageDevice "$blockDevice$p" && return 0 + done + return 1 +} 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 7e99591c..00917bff 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p0000_config @@ -1,3 +1,6 @@ cfg_boot_stock='n' +cfg_disable_armet='y' cfg_firmware='auto' -cfg_usb_host='n' +cfg_nes_extra_args='' +cfg_snes_extra_args='' +cfg_usb_host='y' diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7010_bootlogo b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7010_bootlogo index 9675ad27..4a5e3f18 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7010_bootlogo +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7010_bootlogo @@ -1 +1,2 @@ showImage "$cfg_boot_logo" || showImage "$rootfs/etc/boot.png" || showImage "$rootfs/etc/$modname.png" +playSound "$rootfs/etc/boot.wav" diff --git a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7020_usb b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7020_usb index 6f299d7f..43b27c24 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7020_usb +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7020_usb @@ -1,13 +1,12 @@ -if [ "$cfg_usb_host" != "y" ]; then - switchToUsbDevice -else - # the usb driver needs some time to initialize - sleep 1 - - if [ -z "$(lsusb | grep -v "1d6b:0001")" ]; then - switchToUsbDevice - else - checkUsbStorage - fi - -fi +if [ "$cfg_usb_host" != "y" ]; then + switchToUsbDevice +else + switchToUsbHost + # the usb driver needs some time to initialize + sleep 1 + if [ -z "$(lsusb | grep -v "1d6b:0001")" ]; then + switchToUsbDevice + fi +fi + +checkExtStorage 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 e14653c0..ba531140 100644 --- a/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware +++ b/mods/mod_hakchi/hakchi/rootfs/etc/preinit.d/p7070_firmware @@ -2,12 +2,5 @@ mod_repair_etc softwareCheck -checkUsbGamepath -if [ ! -d "$mountpoint/lib/modules/$(uname -r)" ]; then - if [ -d "$rootfs/lib/modules/$(uname -r)" ]; then - overmount "/lib/modules" - else - echo "no modules for loaded kernel $(uname -r)" - fi -fi +overmountModules diff --git a/mods/mod_hakchi/hakchi/script/transfer b/mods/mod_hakchi/hakchi/script/transfer index 6a27c7bf..82110c8f 100644 --- a/mods/mod_hakchi/hakchi/script/transfer +++ b/mods/mod_hakchi/hakchi/script/transfer @@ -68,5 +68,6 @@ transfer_path "$transferpath" echo save_config -[ "$cf_shutdown" != "y" ] || shutdown +[ "$cf_shutdown" == "y" ] && shutdown +[ "$cf_shutdown" == "r" ] && reboot echo diff --git a/tools/cygpopt-0.dll b/tools/cygpopt-0.dll new file mode 100644 index 00000000..27fe24c2 Binary files /dev/null and b/tools/cygpopt-0.dll differ diff --git a/tools/rsync.exe b/tools/rsync.exe new file mode 100644 index 00000000..329e9e81 Binary files /dev/null and b/tools/rsync.exe differ diff --git a/tools/xz.exe b/tools/xz.exe new file mode 100644 index 00000000..73ab3bfa Binary files /dev/null and b/tools/xz.exe differ -- cgit v1.2.3