From 5c3e6767c424b9d4b68f5a1e615572128a7cc786 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Tue, 14 Mar 2023 14:05:10 -0400 Subject: [PATCH 01/12] Fix CHD candidate validation --- functions.sh | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/functions.sh b/functions.sh index 98d33403..0d648a38 100644 --- a/functions.sh +++ b/functions.sh @@ -129,7 +129,8 @@ validate_for_chd () { # USAGE: validate_for_chd $input_file local file=$1 - current_run_log_file="chd_compression_"$(date +"%Y_%m_%d_%I_%M_%p").log"" + local file_validated="false" + current_run_log_file="chd_compression_$(basename $file).log" echo "Validating file:" $file > "$logs_folder/$current_run_log_file" if [[ "$file" == *".cue" ]] || [[ "$file" == *".gdi" ]] || [[ "$file" == *".iso" ]]; then echo ".cue/.iso/.gdi file detected" >> $logs_folder/$current_run_log_file @@ -140,24 +141,24 @@ validate_for_chd () { echo "File base name:" $file_name >> "$logs_folder/$current_run_log_file" if [[ "$file" == *".cue" ]]; then # Validate .cue file local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" $file) - local cue_validated="false" for line in $cue_bin_files do if [[ -f "$file_path/$line" ]]; then echo ".bin file found at $file_path/$line" >> "$logs_folder/$current_run_log_file" - cue_validated="true" + file_validated="true" else echo ".bin file NOT found at $file_path/$line" >> "$logs_folder/$current_run_log_file" echo ".cue file could not be validated. Please verify your .cue file contains the correct corresponding .bin file information and retry." >> "$logs_folder/$current_run_log_file" - cue_validated="false" + file_validated="false" break fi done - if [[ $cue_validated == "true" ]]; then - echo $cue_validated + if [[ $file_validated == "true" ]]; then + echo $file_validated fi - else - echo $cue_validated + else # If file is a .iso or .gdi + file_validated="true" + echo $file_validated fi else echo "File type not recognized. Supported file types are .cue, .gdi and .iso" >> "$logs_folder/$current_run_log_file" From f5c6a70c9c3b3246188a0564710a180117179a94 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Wed, 15 Mar 2023 17:19:04 -0400 Subject: [PATCH 02/12] - Add compressed file cleanup - Add multi-file compression - Fix compression handling for files with spaces in them --- functions.sh | 88 ++++++++++++----- rd-submodules/shared-modules | 2 +- retrodeck.sh | 33 ++----- tools/configurator.sh | 187 ++++++++++++++++++++++++++++++++--- 4 files changed, 248 insertions(+), 62 deletions(-) diff --git a/functions.sh b/functions.sh index 0d648a38..b17d2716 100644 --- a/functions.sh +++ b/functions.sh @@ -73,9 +73,9 @@ verify_space() { # USAGE: verify_space $source_dir $dest_dir # Function returns "true" if there is enough space, "false" if there is not - source_size=$(du -sk $1 | awk '{print $1}') + source_size=$(du -sk "$1" | awk '{print $1}') source_size=$((source_size+(source_size/10))) # Add 10% to source size for safety - dest_avail=$(df -k --output=avail $2 | tail -1) + dest_avail=$(df -k --output=avail "$2" | tail -1) if [[ $source_size -ge $dest_avail ]]; then echo "false" @@ -88,13 +88,13 @@ move() { # Function to move a directory from one parent to another # USAGE: move $source_dir $dest_dir - if [[ ! -d "$2/$(basename $1)" ]]; then - if [[ $(verify_space $1 $2) ]]; then + if [[ ! -d "$2/$(basename "$1")" ]]; then + if [[ $(verify_space "$1" "$2") ]]; then ( - if [[ ! -d $2 ]]; then # Create destination directory if it doesn't already exist - mkdir -pv $2 + if [[ ! -d "$2" ]]; then # Create destination directory if it doesn't already exist + mkdir -pv "$2" fi - mv -v -t $2 $1 + mv -v -t "$2" "$1" ) | zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ @@ -121,28 +121,30 @@ compress_to_chd () { # USAGE: compress_to_chd $full_path_to_input_file $full_path_to_output_file echo "Compressing file $1 to $2.chd" - /app/bin/chdman createcd -i $1 -o $2.chd + /app/bin/chdman createcd -i "$1" -o "$2".chd } validate_for_chd () { # Function for validating chd compression candidates, and compresses if validation passes. Supports .cue, .iso and .gdi formats ONLY # USAGE: validate_for_chd $input_file - local file=$1 + local file="$1" local file_validated="false" - current_run_log_file="chd_compression_$(basename $file).log" - echo "Validating file:" $file > "$logs_folder/$current_run_log_file" + current_run_log_file="chd_compression_$(basename "$file").log" + echo "Validating file:" "$file" > "$logs_folder/$current_run_log_file" if [[ "$file" == *".cue" ]] || [[ "$file" == *".gdi" ]] || [[ "$file" == *".iso" ]]; then - echo ".cue/.iso/.gdi file detected" >> $logs_folder/$current_run_log_file - local file_path=$(dirname $(realpath $file)) - local file_base_name=$(basename $file) + echo ".cue/.iso/.gdi file detected" >> "$logs_folder/$current_run_log_file" + local file_path=$(dirname "$(realpath "$file")") + local file_base_name=$(basename "$file") local file_name=${file_base_name%.*} - echo "File base path:" $file_path >> "$logs_folder/$current_run_log_file" - echo "File base name:" $file_name >> "$logs_folder/$current_run_log_file" if [[ "$file" == *".cue" ]]; then # Validate .cue file - local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" $file) - for line in $cue_bin_files + echo "Validating .cue associated .bin files" >> "$logs_folder/$current_run_log_file" + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + echo "Associated bin files read:" >> "$logs_folder/$current_run_log_file" + printf '%s\n' "$cue_bin_files" >> "$logs_folder/$current_run_log_file" + while IFS= read -r line do + echo "looking for $file_path/$line" >> "$logs_folder/$current_run_log_file" if [[ -f "$file_path/$line" ]]; then echo ".bin file found at $file_path/$line" >> "$logs_folder/$current_run_log_file" file_validated="true" @@ -152,7 +154,7 @@ validate_for_chd () { file_validated="false" break fi - done + done < <(printf '%s\n' "$cue_bin_files") if [[ $file_validated == "true" ]]; then echo $file_validated fi @@ -165,6 +167,51 @@ validate_for_chd () { fi } +cli_compress_file() { + # This function will compress a single file passed from the CLI arguments + # USAGE: cli_compress_file $full_file_path + local file="$1" + echo "Looking for" "$file" + current_run_log_file="chd_compression_$(basename "$file").log" + if [[ ! -z "$file" ]]; then + if [[ -f "$file" ]]; then + if [[ $(validate_for_chd "$file") == "true" ]]; then + read -p "RetroDECK will now attempt to compress your selected game. Press Enter key to continue..." + read -p "Do you want to have the original file removed after compression is complete? Please answer y/n and press Enter: " post_compression_cleanup + local filename_no_path=$(basename "$file") + local filename_no_extension="${filename_no_path%.*}" + local source_file=$(dirname "$(realpath "$file")")"/"$(basename "$file") + local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension" + echo "Compressing $filename_no_path" + compress_to_chd "$source_file" "$dest_file" + if [[ $post_compression_cleanup == [yY] ]]; then # Remove file(s) if requested + if [[ "$file" == *".cue" ]]; then + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + local file_path=$(dirname "$(realpath "$file")") + while IFS= read -r line + do # Remove associated .bin files + echo "Removing file "$line"" + rm -f "$file_path/$line" + done < <(printf '%s\n' "$cue_bin_files") # Remove original .cue file + echo "Removing file "$filename_no_path"" + rm -f $(realpath "$file") + else + echo "Removing file "$filename_no_path"" + rm -f $(realpath "$file") + fi + fi + else + printf "An error occured during the compression process. Please see the following log entries for details:\n\n" + cat "$logs_folder/$current_run_log_file" + fi + else + echo "File not found, please specify the full path to the file to be compressed." + fi + else + echo "Please use this command format \"--compress <cue/gdi/iso file to compress>\"" + fi +} + desktop_mode_warning() { # This function is a generic warning for issues that happen when running in desktop mode. # Running in desktop mode can be verified with the following command: if [[ ! $XDG_CURRENT_DESKTOP == "gamescope" ]]; then @@ -803,9 +850,6 @@ citra_init() { dir_prep "$rdhome/.logs/citra" "/var/data/citra-emu/log" cp -fv $emuconfigs/citra-qt-config.ini /var/config/citra-emu/qt-config.ini sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini - #TODO: do the same with roms folders after new variables is pushed (check even the others qt-emu) - #But actually everything is always symlinked to retrodeck/roms so it might be not needed - #sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini } rpcs3_init() { diff --git a/rd-submodules/shared-modules b/rd-submodules/shared-modules index 3ac77f54..ae5d7192 160000 --- a/rd-submodules/shared-modules +++ b/rd-submodules/shared-modules @@ -1 +1 @@ -Subproject commit 3ac77f545ddf0ac581bc89d7b915c23eb18f841b +Subproject commit ae5d7192c6a37f2c754fd92685a72d514931131a diff --git a/retrodeck.sh b/retrodeck.sh index 7222f481..431ede18 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -41,24 +41,7 @@ https://retrodeck.net exit ;; --compress*) - read -p "RetroDECK will now attempt to compress your selected game. The original game will still exist and will need to be removed manually after the process completes. Press any key to continue..." - if [[ ! -z $2 ]]; then - if [[ -f $2 ]]; then - current_run_log_file="chd_compression_"$(date +"%Y_%m_%d_%I_%M_%p").log"" - if [[ $(validate_for_chd $2) == "true" ]]; then - filename_no_path=$(basename $2) - filename_no_extension=${filename_no_path%.*} - compress_to_chd $(dirname $(realpath $2))/$(basename $2) $(dirname $(realpath $2))/$filename_no_extension - else - printf "An error occured during the compression process. Please see the following log entries for details:\n\n" - cat $logs_folder/$current_run_log_file - fi - else - echo "File not found, please specify the full path to the file to be compressed." - fi - else - echo "Please use this command format \"--compress <cue/gdi/iso file to compress>\"" - fi + cli_compress_file "$2" exit ;; --configurator*) @@ -73,10 +56,10 @@ https://retrodeck.net read -p "You are about to reset $emulator to default settings. Press 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then cli_emulator_reset $emulator - read -p "The process has been completed, press any key to start RetroDECK." + read -p "The process has been completed, press Enter key to start RetroDECK." shift # Continue launch after previous command is finished else - read -p "The process has been cancelled, press any key to exit." + read -p "The process has been cancelled, press Enter key to exit." exit fi else @@ -89,22 +72,22 @@ https://retrodeck.net read -p "Press 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then tools_init - read -p "The process has been completed, press any key to start RetroDECK." + read -p "The process has been completed, press Enter key to start RetroDECK." shift # Continue launch after previous command is finished else - read -p "The process has been cancelled, press any key to exit." + read -p "The process has been cancelled, press Enter key to exit." exit fi ;; --reset-retrodeck*) - echo "You are about to reset RetroDECK completely." + echo "You are about to reset RetroDECK completely!" read -p "Press 'y' to continue, 'n' to stop: " response if [[ $response == [yY] ]]; then rm -f "$lockfile" - read -p "The process has been completed, press any key to start the initial RetroDECK setup process." + read -p "The process has been completed, press Enter key to start the initial RetroDECK setup process." shift # Continue launch after previous command is finished else - read -p "The process has been cancelled, press any key to exit." + read -p "The process has been cancelled, press Enter key to exit." exit fi ;; diff --git a/tools/configurator.sh b/tools/configurator.sh index 1e9839bc..a7b222df 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -343,21 +343,42 @@ configurator_retroarch_options_dialog() { } configurator_compress_single_game_dialog() { - file_to_compress=$(file_browse "Game to compress") - if [[ ! -z $file_to_compress ]]; then - if [[ $(validate_for_chd $file_to_compress) == "true" ]]; then + local file=$(file_browse "Game to compress") + if [[ ! -z "$file" ]]; then + if [[ $(validate_for_chd "$file") == "true" ]]; then + local post_compression_cleanup=$(configurator_compression_cleanup_dialog) + local filename_no_path=$(basename "$file") + local filename_no_extension="${filename_no_path%.*}" + local source_file=$(dirname "$(realpath "$file")")"/"$(basename "$file") + local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension" ( - filename_no_path=$(basename $file_to_compress) - filename_no_extension=${filename_no_path%.*} - compress_to_chd $(dirname $(realpath $file_to_compress))/$(basename $file_to_compress) $(dirname $(realpath $file_to_compress))/$filename_no_extension + echo "# Compressing $filename_no_path, please wait..." + compress_to_chd "$source_file" "$dest_file" + if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested + if [[ "$file" == *".cue" ]]; then + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + local file_path=$(dirname "$(realpath "$file")") + while IFS= read -r line + do + echo "# Removing file $line" + rm -f "$file_path/$line" + done < <(printf '%s\n' "$cue_bin_files") + echo "# Removing file $filename_no_path" + rm -f "$file" + else + echo "# Removing file $filename_no_path" + rm -f "$file" + fi + fi ) | zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ - --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ - --title "RetroDECK Configurator Utility - Compression in Progress" \ - --text="Compressing game $filename_no_path, please wait." + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - Compression in Progress" + configurator_generic_dialog "The compression process is complete!" + configurator_compress_games_dialog else configurator_generic_dialog "File type not recognized. Supported file types are .cue, .gdi and .iso" - configurator_compress_single_game_dialog + configurator_compress_games_dialog fi else configurator_generic_dialog "No file selected, returning to main menu" @@ -365,11 +386,149 @@ configurator_compress_single_game_dialog() { fi } -configurator_compress_games_dialog() { - # This is currently a placeholder for a dialog where you can compress a single game or multiple at once. Currently only the single game option is available, so is launched by default. +configurator_compress_multi_game_dialog() { + # This dialog will display any games it finds to be compressable, from the systems listed under each compression type in + local compression_format=$1 + local compressable_game="" + local compressable_games_list=() + local all_compressable_games=() + local compressable_systems_list=$(sed -n '/\['"$compression_format"'\]/, /\[/{ /\['"$compression_format"'\]/! { /\[/! p } }' $compression_targets | sed '/^$/d') - configurator_generic_dialog "This utility will compress a single game into .CHD format.\n\nPlease select the game to be compressed in the next dialog: supported file types are .cue, .iso and .gdi\n\nThe original game files will be untouched and will need to be removed manually." - configurator_compress_single_game_dialog + while IFS= read -r system # Find and validate all games that are able to be compressed with this compression type + do + if [[ $compression_format == "chd" ]]; then + compression_candidates=$(find "$roms_folder/$system" -type f \( -name "*.cue" -o -name "*.iso" -o -name "*.gdi" \) ! -path "*.m3u*") + # TODO: Add ZIP file compression search here + fi + while IFS= read -r game + do + if [[ $(validate_for_chd "$game") == "true" ]]; then + all_compressable_games=("${all_compressable_games[@]}" "$game") + compressable_games_list=("${compressable_games_list[@]}" "false" "${game#$roms_folder}" "$game") + fi + done < <(printf '%s\n' "$compression_candidates") + done < <(printf '%s\n' "$compressable_systems_list") + + choice=$(zenity \ + --list --width=1200 --height=720 \ + --checklist --hide-column=3 --ok-label="Compress Selected" --extra-button="Compress All" \ + --separator="," --print-column=3 \ + --text="Choose which games to compress:" \ + --column "Compress?" \ + --column "Game" \ + --column "Game Full Path" \ + "${compressable_games_list[@]}") + + local rc=$? + if [[ $rc == "0" && ! -z $choice ]]; then # User clicked "Compress Selected" with at least one game selected + local post_compression_cleanup=$(configurator_compression_cleanup_dialog) + IFS="," read -ra games_to_compress <<< "$choice" + ( + for file in "${games_to_compress[@]}"; do + local filename_no_path=$(basename "$file") + local filename_no_extension="${filename_no_path%.*}" + local source_file=$(dirname "$(realpath "$file")")"/"$(basename "$file") + local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension" + echo "# Compressing $filename_no_path" # Update Zenity dialog text + compress_to_chd "$source_file" "$dest_file" + if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested + if [[ "$file" == *".cue" ]]; then + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + local file_path=$(dirname "$(realpath "$file")") + while IFS= read -r line + do + echo "# Removing file $line" + rm -f "$file_path/$line" + done < <(printf '%s\n' "$cue_bin_files") + echo "# Removing file $filename_no_path" + rm -f $(realpath "$file") + else + echo "# Removing file $filename_no_path" + rm -f "$(realpath "$file")" + fi + fi + done + ) | + zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - Compression in Progress" + else + if [[ ! -z $choice ]]; then # User clicked "Compress All" + local post_compression_cleanup=$(configurator_compression_cleanup_dialog) + ( + for file in "${all_compressable_games[@]}"; do + local filename_no_path=$(basename "$file") + local filename_no_extension="${filename_no_path%.*}" + local source_file=$(dirname "$(realpath "$file")")"/"$(basename "$file") + local dest_file=$(dirname "$(realpath "$file")")"/""$filename_no_extension" + echo "# Compressing $filename_no_path" # Update Zenity dialog text + compress_to_chd "$source_file" "$dest_file" + if [[ $post_compression_cleanup == "true" ]]; then # Remove file(s) if requested + if [[ "$file" == *".cue" ]]; then + local cue_bin_files=$(grep -o -P "(?<=FILE \").*(?=\".*$)" "$file") + local file_path=$(dirname "$(realpath "$file")") + while IFS= read -r line + do + echo "# Removing file $line" + rm -f "$file_path/$line" + done < <(printf '%s\n' "$cue_bin_files") + echo "# Removing file $filename_no_path" + rm -f $(realpath "$file") + else + echo "# Removing file $filename_no_path" + rm -f $(realpath "$file") + fi + fi + done + ) | + zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Configurator Utility - Compression in Progress" + configurator_generic_dialog "The compression process is complete!" + configurator_compress_games_dialog + else + configurator_compress_games_dialog + fi + fi +} + +configurator_compression_cleanup_dialog() { + zenity --icon-name=net.retrodeck.retrodeck --question --no-wrap --cancel-label="No" --ok-label="Yes" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ + --title "RetroDECK Compression Cleanup" \ + --text="Do you want to remove old files after they are compressed?\n\nClicking \"No\" will leave all files behind which will need to be cleaned up manually and may result in game duplicates showing in the RetroDECK library." + local rc=$? # Capture return code, as "Yes" button has no text value + if [[ $rc == "0" ]]; then # If user clicked "Yes" + echo "true" + else # If "No" was clicked + echo "false" + fi +} + +configurator_compress_games_dialog() { + choice=$(zenity --list --title="RetroDECK Configurator Utility - Change Options" --cancel-label="Back" \ + --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ + --column="Choice" --column="Action" \ + "Compress Single Game" "Compress a single game into a compatible format" \ + "Compress Multiple Games - CHD" "Compress one or more games compatible with the CHD format" ) + + case $choice in + + "Compress Single Game" ) + configurator_compress_single_game_dialog + ;; + + "Compress Multiple Games - CHD" ) + configurator_compress_multi_game_dialog "chd" + ;; + + # TODO: Add ZIP compression option + + "" ) # No selection made or Back button clicked + configurator_welcome_dialog + ;; + + esac } configurator_check_multifile_game_structure() { From e55bb2f9b9f111ebfe6a5277be62056f277633f9 Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Wed, 15 Mar 2023 19:58:02 -0400 Subject: [PATCH 03/12] New rd_cpnf variables not loaded correctly after update --- functions.sh | 1 - post_update.sh | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/functions.sh b/functions.sh index b17d2716..552044ef 100644 --- a/functions.sh +++ b/functions.sh @@ -629,7 +629,6 @@ update_rd_conf() { deploy_single_patch $rd_defaults $rd_update_patch $rd_conf set_setting_value $rd_conf "version" "$hard_version" retrodeck # Set version of currently running RetroDECK to updated retrodeck.cfg rm -f $rd_update_patch # Cleanup temporary patch file - source $rd_conf # Load new config file variables } conf_write() { diff --git a/post_update.sh b/post_update.sh index cc469cec..6626019a 100644 --- a/post_update.sh +++ b/post_update.sh @@ -187,7 +187,7 @@ post_update() { # - Primehack preconfiguration completely redone. "Stop emulation" hotkey set to Start+Select, Xbox and Nintendo keymap profiles were created, Xbox set as default. # - Duckstation save and state locations were dir_prep'd to the rdhome/save and /state folders, which was not previously done. Much safer now! # - Fix PICO-8 folder structure. ROM and save folders are now sane and binary files will go into ~/retrodeck/bios/pico-8/ - + rm -rf /var/config/primehack # Purge old Primehack config files. Saves are safe as they are linked into /var/data/primehack. primehack_init @@ -209,6 +209,6 @@ post_update() { --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Finishing Upgrade" \ --text="RetroDECK is finishing the upgrade process, please wait." - + source $rd_conf # Load new config file variables create_lock } \ No newline at end of file From 47a754662aaa8cfe6936d5fa9bc733febf2248cb Mon Sep 17 00:00:00 2001 From: icenine451 <59938822+icenine451@users.noreply.github.com> Date: Wed, 15 Mar 2023 20:01:53 -0400 Subject: [PATCH 04/12] dir_prep doesn't translate ~ correctly apparently --- functions.sh | 2 +- post_update.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/functions.sh b/functions.sh index 552044ef..b098379e 100644 --- a/functions.sh +++ b/functions.sh @@ -1313,7 +1313,7 @@ finit() { dir_prep "$themes_folder" "/var/config/emulationstation/.emulationstation/themes" # PICO-8 - dir_prep "$bios_folder/pico-8" "~/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed + dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts" # Symlink default game location to RD roms for cleanliness (this location is overridden anyway by the --root_path launch argument anyway) dir_prep "$bios_folder/pico-8/cdata" "$saves_folder/pico-8" # PICO-8 saves folder diff --git a/post_update.sh b/post_update.sh index 6626019a..78d675c0 100644 --- a/post_update.sh +++ b/post_update.sh @@ -195,7 +195,7 @@ post_update() { dir_prep "$rdhome/states/duckstation" "/var/data/duckstation/savestates" mv "$bios_folder/pico8" "$bios_folder/pico8_olddata" # Move legacy (and incorrect / non-functional ) PICO-8 location for future cleanup / less confusion - dir_prep "$bios_folder/pico-8" "~/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed + dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts" # Symlink default game location to RD roms for cleanliness (this location is overridden anyway by the --root_path launch argument anyway) dir_prep "$bios_folder/pico-8/cdata" "$saves_folder/pico-8" # PICO-8 saves folder fi From 78bfa1e5aa54dca925b4e4f42a9a3ca69bb6c5bd Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 11:14:25 -0400 Subject: [PATCH 05/12] - Fix PICO-8 symlink location - Seperate Dolphin/Primehack save states - Fix post-update variable checks for new values --- functions.sh | 8 ++++---- global.sh | 8 ++++++++ post_update.sh | 11 +++++++++++ retrodeck.sh | 2 ++ 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/functions.sh b/functions.sh index b17d2716..196d4fae 100644 --- a/functions.sh +++ b/functions.sh @@ -781,7 +781,7 @@ dolphin_init() { dir_prep "$rdhome/saves/gc/dolphin/USA" "/var/data/dolphin-emu/GC/USA" dir_prep "$rdhome/saves/gc/dolphin/JAP" "/var/data/dolphin-emu/GC/JAP" dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots" - dir_prep "$rdhome/states" "/var/data/dolphin-emu/StateSaves" + dir_prep "$rdhome/states/dolphin" "/var/data/dolphin-emu/StateSaves" mkdir -pv /var/data/dolphin-emu/Wii/ dir_prep "$rdhome/saves/wii/dolphin" "/var/data/dolphin-emu/Wii" } @@ -799,7 +799,7 @@ primehack_init() { dir_prep "$rdhome/saves/gc/primehack/USA" "/var/data/primehack/GC/USA" dir_prep "$rdhome/saves/gc/primehack/JAP" "/var/data/primehack/GC/JAP" dir_prep "$rdhome/screenshots" "/var/data/primehack/ScreenShots" - dir_prep "$rdhome/states" "/var/data/primehack/StateSaves" + dir_prep "$rdhome/states/primehack" "/var/data/primehack/StateSaves" mkdir -pv /var/data/primehack/Wii/ dir_prep "$rdhome/saves/wii/primehack" "/var/data/primehack/Wii" } @@ -1070,7 +1070,7 @@ emulators_post_move() { dir_prep "$rdhome/saves/gc/dolphin/USA" "/var/data/dolphin-emu/GC/USA" dir_prep "$rdhome/saves/gc/dolphin/JAP" "/var/data/dolphin-emu/GC/JAP" dir_prep "$rdhome/screenshots" "/var/data/dolphin-emu/ScreenShots" - dir_prep "$rdhome/states" "/var/data/dolphin-emu/StateSaves" + dir_prep "$rdhome/states/dolphin" "/var/data/dolphin-emu/StateSaves" dir_prep "$rdhome/saves/wii/dolphin" "/var/data/dolphin-emu/Wii/" # Primehack section @@ -1079,7 +1079,7 @@ emulators_post_move() { dir_prep "$rdhome/saves/gc/primehack/USA" "/var/data/primehack/GC/USA" dir_prep "$rdhome/saves/gc/primehack/JAP" "/var/data/primehack/GC/JAP" dir_prep "$rdhome/screenshots" "/var/data/primehack/ScreenShots" - dir_prep "$rdhome/states" "/var/data/primehack/StateSaves" + dir_prep "$rdhome/states/primehack" "/var/data/primehack/StateSaves" dir_prep "$rdhome/saves/wii/primehack" "/var/data/primehack/Wii/" # PCSX2 section diff --git a/global.sh b/global.sh index 7bfd48fa..f2566fa6 100755 --- a/global.sh +++ b/global.sh @@ -54,6 +54,14 @@ pcsx2vmconf="/var/config/PCSX2/inis/PCSX2_vm.ini" pcsx2qtconf="/var/config/PCSX2/inis/PCSX2.ini" +# Primehack config files + +primehackconf="/var/config/primehack/Dolphin.ini" +primehackgcpadconf="/var/config/primehack/GCPadNew.ini" +primehackgfxconf="/var/config/primehack/GFX.ini" +primehackhkconf="/var/config/primehack/Hotkeys.ini" +primehackqtconf="/var/config/primehack/Qt.ini" + # We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions if [ -f "$HOME/retrodeck/.lock" ] then diff --git a/post_update.sh b/post_update.sh index cc469cec..4a87fbfa 100644 --- a/post_update.sh +++ b/post_update.sh @@ -199,6 +199,17 @@ post_update() { dir_prep "$roms_folder/pico8" "$bios_folder/pico-8/carts" # Symlink default game location to RD roms for cleanliness (this location is overridden anyway by the --root_path launch argument anyway) dir_prep "$bios_folder/pico-8/cdata" "$saves_folder/pico-8" # PICO-8 saves folder fi + if [[ $prev_version -le "063" ]]; then + # In version 0.6.2b, the following changes were made that required config file updates/reset: + # - Put Dolphin and Primehack save states in different folders inside $rd_home/states + # - Fix symlink to hard-coded PICO-8 config folder (dir_prep doesn't like ~) + + dir_prep "$rdhome/states/dolphin" "/var/data/dolphin-emu/StateSaves" + dir_prep "$rdhome/states/primehack" "/var/data/primehack/StateSaves" + + rm -rf "$HOME/~/" # Remove old incorrect location from 0.6.2b + dir_prep "$bios_folder/pico-8" "$HOME/.lexaloffle/pico-8" # Store binary and config files together. The .lexaloffle directory is a hard-coded location for the PICO-8 config file, cannot be changed + fi # The following commands are run every time. diff --git a/retrodeck.sh b/retrodeck.sh index 431ede18..862bc05c 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -118,6 +118,8 @@ else finit # Executing First/Force init fi +source $rd_conf # Load latest variable values + # Check if running in Desktop mode and warn if true, unless desktop_mode_warning=false in retrodeck.cfg desktop_mode_warning From 183639a8cd9434341398174a2d621d683b5701a2 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 11:25:34 -0400 Subject: [PATCH 06/12] Some Configurator wording updates --- tools/configurator.sh | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index a7b222df..eed1a93a 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -306,7 +306,7 @@ configurator_retroarch_rewind_dialog() { zenity --question \ --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \ --title "RetroDECK Configurator - Rewind" \ - --text="Rewind is currently disabled, do you want to enable it?\n\nNOTE:\nThis may impact performance expecially on the latest systems." + --text="Rewind is currently disabled, do you want to enable it?\n\nNOTE:\nThis may impact performance on some more demanding systems." if [ $? == 0 ] then @@ -323,7 +323,7 @@ configurator_retroarch_options_dialog() { --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ "Change Rewind Setting" "Enable or disable the Rewind function in RetroArch." \ - "Log in to RetroAchivements" "Log into the RetroAchievements service in RetroArch." ) + "RetroAchievements Login" "Log into the RetroAchievements service in RetroArch." ) case $choice in @@ -331,7 +331,7 @@ configurator_retroarch_options_dialog() { configurator_retroarch_rewind_dialog ;; - "Log in to RetroAchivements" ) + "RetroAchievements Login" ) configurator_retroachivement_dialog ;; @@ -787,22 +787,15 @@ configurator_move_dialog() { } configurator_welcome_dialog() { - # Clear the variables - source= - destination= - action= - setting= - setting_value= - choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ - "Move Files" "Move files between internal/SD card or to custom locations." \ - "Change RetroArch Options" "Change RetroArch presets, log into RetroAchievements etc." \ - "Change Standalone Emulator Options" "Run emulators standalone to make advanced config changes." \ - "Compress Games" "Compress games to CHD format for systems that support it." \ - "Troubleshooting Tools" "Run RetroDECK troubleshooting tools for common issues." \ - "Reset" "Reset specific parts or all of RetroDECK." ) + "Move Files" "Move files between internal/SD card or to custom locations" \ + "RetroArch Presets" "Change RetroArch presets, log into RetroAchievements etc" \ + "Emulator Options" "Launch and configure each emulators settings (for advanced users)" \ + "Compress Games" "Compress games to CHD format for systems that support it" \ + "Troubleshooting Tools" "Run RetroDECK troubleshooting tools for common issues" \ + "Reset" "Reset specific parts or all of RetroDECK" ) case $choice in @@ -811,11 +804,11 @@ configurator_welcome_dialog() { configurator_move_dialog ;; - "Change RetroArch Options" ) + "RetroArch Presets" ) configurator_retroarch_options_dialog ;; - "Change Standalone Emulator Options" ) + "Emulator Options" ) configurator_power_user_warning_dialog ;; From 175fbec1dc9c3042c74ad6977ad488b8506bd5b5 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 16:57:58 -0400 Subject: [PATCH 07/12] Rework Configurator menus --- tools/configurator.sh | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/tools/configurator.sh b/tools/configurator.sh index eed1a93a..5fe3c937 100644 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -11,11 +11,12 @@ source /app/libexec/functions.sh # Welcome # - Move RetroDECK -# - Change RetroArch Options -# - Enable/Disable Rewind Setting +# - RetroArch Presets +# - Change Rewind Setting +# - Enable/Disable Rewind # - RetroAchivement Login # - Login prompt -# - Change Standalone Emulator Options (Behind one-time power user warning dialog) +# - Emulator Options (Behind one-time power user warning dialog) # - Launch RetroArch # - Launch Citra # - Launch Dolphin @@ -27,10 +28,13 @@ source /app/libexec/functions.sh # - Launch RPCS3 # - Launch XEMU # - Launch Yuzu -# - Compress Games -# - Manual single-game selection -# - Troubleshooting Tools +# - Tools and Troubleshooting # - Multi-file game check +# - Basic BIOS file check +# - Advanced BIOS file check +# - Compress Games +# - Manual single-game selection +# - Multi-file compression (CHD) # - Reset # - Reset Specific Emulator # - Reset RetroArch @@ -218,9 +222,9 @@ configurator_power_user_warning_dialog() { configurator_power_user_changes_dialog() { emulator=$(zenity --list \ - --title "RetroDECK Configurator Utility - Power User Options" --cancel-label="Back" \ + --title "RetroDECK Configurator Utility - Emulator Options" --cancel-label="Back" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ - --text="Which emulator do you want to configure?" \ + --text="Which emulator do you want to launch?" \ --hide-header \ --column=emulator \ "RetroArch" \ @@ -609,7 +613,8 @@ configurator_troubleshooting_tools_dialog() { --column="Choice" --column="Action" \ "Multi-file game structure check" "Verify the proper structure of multi-file or multi-disc games" \ "Basic BIOS file check" "Show a list of systems that BIOS files are found for" \ - "Advanced BIOS file check" "Show advanced information about common BIOS files" ) + "Advanced BIOS file check" "Show advanced information about common BIOS files" \ + "Compress Games" "Compress games to CHD format for systems that support it" ) case $choice in @@ -625,6 +630,10 @@ configurator_troubleshooting_tools_dialog() { configurator_check_bios_files_advanced ;; + "Compress Games" ) + configurator_compress_games_dialog + ;; + "" ) # No selection made or Back button clicked configurator_welcome_dialog ;; @@ -790,16 +799,15 @@ configurator_welcome_dialog() { choice=$(zenity --list --title="RetroDECK Configurator Utility" --cancel-label="Quit" \ --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \ --column="Choice" --column="Action" \ - "Move Files" "Move files between internal/SD card or to custom locations" \ - "RetroArch Presets" "Change RetroArch presets, log into RetroAchievements etc" \ + "Move RetroDECK" "Move RetroDECK files between internal/SD card or to a custom location" \ + "RetroArch Presets" "Change RetroArch presets, log into RetroAchievements etc." \ "Emulator Options" "Launch and configure each emulators settings (for advanced users)" \ - "Compress Games" "Compress games to CHD format for systems that support it" \ - "Troubleshooting Tools" "Run RetroDECK troubleshooting tools for common issues" \ + "Tools and Troubleshooting" "Run RetroDECK troubleshooting tools for common issues" \ "Reset" "Reset specific parts or all of RetroDECK" ) case $choice in - "Move Files" ) + "Move RetroDECK" ) configurator_generic_dialog "This option will move the RetroDECK data folder (ROMs, saves, BIOS etc.) to a new location.\n\nPlease choose where to move the RetroDECK data folder." configurator_move_dialog ;; @@ -812,11 +820,7 @@ configurator_welcome_dialog() { configurator_power_user_warning_dialog ;; - "Compress Games" ) - configurator_compress_games_dialog - ;; - - "Troubleshooting Tools" ) + "Tools and Troubleshooting" ) configurator_troubleshooting_tools_dialog ;; From d9fe57750ac2732fb8cee03ba68a830ef06442d2 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 17:03:11 -0400 Subject: [PATCH 08/12] Update global variables for multi-file compression --- .../defaults/{ => retrodeck}/retrodeck.cfg | 0 global.sh | 27 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) rename emu-configs/defaults/{ => retrodeck}/retrodeck.cfg (100%) diff --git a/emu-configs/defaults/retrodeck.cfg b/emu-configs/defaults/retrodeck/retrodeck.cfg similarity index 100% rename from emu-configs/defaults/retrodeck.cfg rename to emu-configs/defaults/retrodeck/retrodeck.cfg diff --git a/global.sh b/global.sh index f2566fa6..0afd32d1 100755 --- a/global.sh +++ b/global.sh @@ -5,19 +5,20 @@ source /app/libexec/functions.sh # Static variables -rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path -rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update -emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs -rd_defaults="$emuconfigs/defaults/retrodeck.cfg" # A default RetroDECK config file -rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates -bios_checklist="/var/config/retrodeck/tools/bios_checklist.cfg" # A config file listing BIOS file information that can be verified -easter_egg_checklist="/var/config/retrodeck/tools/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up -splashscreen_dir="/var/config/emulationstation/graphics/extra-splashes" # The default location of extra splash screens -current_splash_file="/var/config/emulationstation/graphics/splash.svg" # The active splash file that will be shown on boot -default_splash_file="/var/config/emulationstation/graphics/splash-orig.svg" # The default RetroDECK splash screen -lockfile="/var/config/retrodeck/.lock" # where the lockfile is located -default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path -hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) +rd_conf="/var/config/retrodeck/retrodeck.cfg" # RetroDECK config file path +rd_conf_backup="/var/config/retrodeck/retrodeck.bak" # Backup of RetroDECK config file from update +emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs +rd_defaults="$emuconfigs/defaults/retrodeck/retrodeck.cfg" # A default RetroDECK config file +rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates +bios_checklist="$emuconfigs/defaults/retrodeck/bios_checklist.cfg" # A config file listing BIOS file information that can be verified +compression_targets="$emuconfigs/defaults/retrodeck/compression_targets.cfg" # A config file containing supported compression types per system +easter_egg_checklist="$emuconfigs/defaults/retrodeck/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up +splashscreen_dir="/var/config/emulationstation/.emulationstation/resources/graphics/extra-splashes" # The default location of extra splash screens +current_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash.svg" # The active splash file that will be shown on boot +default_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen +lockfile="/var/config/retrodeck/.lock" # where the lockfile is located +default_sd="/run/media/mmcblk0p1" # Steam Deck SD default path +hard_version="$(cat '/app/retrodeck/version')" # hardcoded version (in the readonly filesystem) # Config files for emulators with single config files From f4050ce7c13afdbbe960ae333689d47d68f1d9c4 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 17:07:25 -0400 Subject: [PATCH 09/12] Add compression_targets file for multi-file compression --- .../retrodeck/compression_targets.cfg | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 emu-configs/defaults/retrodeck/compression_targets.cfg diff --git a/emu-configs/defaults/retrodeck/compression_targets.cfg b/emu-configs/defaults/retrodeck/compression_targets.cfg new file mode 100644 index 00000000..28c1b4d1 --- /dev/null +++ b/emu-configs/defaults/retrodeck/compression_targets.cfg @@ -0,0 +1,38 @@ +[chd] +dreamcast +psx +ps2 +[chd-maybe] +3do +amiga +amiga1200 +amiga600 +amigacd32 +cdimono1 +cdtv +dreamcast +gamegear +genesis +mame-advmame +mame-mame4all +mastersystem +megacd +megacdjp +megadrive +mess +neogeo +neogeocd +neogeocdjp +pcengine +pcenginecd +pcfx +ps2 +psx +saturn +saturnjp +segacd +sg-1000 +supergrafx +tg16 +tg-cd +[zip] \ No newline at end of file From ae57c929bef610c9d36fd4cd170b7c7e2f62b6a7 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 17:08:47 -0400 Subject: [PATCH 10/12] Move files to be in line with new global vars --- global.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.sh b/global.sh index 0afd32d1..51bba9c0 100755 --- a/global.sh +++ b/global.sh @@ -10,9 +10,9 @@ rd_conf_backup="/var/config/retrodeck/retrodeck.bak" emuconfigs="/app/retrodeck/emu-configs" # folder with all the default emulator configs rd_defaults="$emuconfigs/defaults/retrodeck/retrodeck.cfg" # A default RetroDECK config file rd_update_patch="/var/config/retrodeck/rd_update.patch" # A static location for the temporary patch file used during retrodeck.cfg updates -bios_checklist="$emuconfigs/defaults/retrodeck/bios_checklist.cfg" # A config file listing BIOS file information that can be verified +bios_checklist="$emuconfigs/defaults/retrodeck/bios_checklist.cfg" # A config file listing BIOS file information that can be verified compression_targets="$emuconfigs/defaults/retrodeck/compression_targets.cfg" # A config file containing supported compression types per system -easter_egg_checklist="$emuconfigs/defaults/retrodeck/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up +easter_egg_checklist="$emuconfigs/defaults/retrodeck/easter_egg_checklist.cfg" # A config file listing days and times when special splash screens should show up splashscreen_dir="/var/config/emulationstation/.emulationstation/resources/graphics/extra-splashes" # The default location of extra splash screens current_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash.svg" # The active splash file that will be shown on boot default_splash_file="/var/config/emulationstation/.emulationstation/resources/graphics/splash-orig.svg" # The default RetroDECK splash screen From 85f7c6780334737cd8e03fb8fac49350ad5bdd41 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Thu, 16 Mar 2023 17:09:28 -0400 Subject: [PATCH 11/12] Acutally move files now. --- {tools => emu-configs/defaults/retrodeck}/bios_checklist.cfg | 0 .../defaults/retrodeck}/easter_egg_checklist.cfg | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {tools => emu-configs/defaults/retrodeck}/bios_checklist.cfg (100%) rename {tools => emu-configs/defaults/retrodeck}/easter_egg_checklist.cfg (100%) diff --git a/tools/bios_checklist.cfg b/emu-configs/defaults/retrodeck/bios_checklist.cfg similarity index 100% rename from tools/bios_checklist.cfg rename to emu-configs/defaults/retrodeck/bios_checklist.cfg diff --git a/tools/easter_egg_checklist.cfg b/emu-configs/defaults/retrodeck/easter_egg_checklist.cfg similarity index 100% rename from tools/easter_egg_checklist.cfg rename to emu-configs/defaults/retrodeck/easter_egg_checklist.cfg From 5b9c46d38fec36b3bf1107f3b36ba4bc467c2414 Mon Sep 17 00:00:00 2001 From: icenine451 <benjamin.r.shelton@protonmail.com> Date: Fri, 17 Mar 2023 14:41:31 -0400 Subject: [PATCH 12/12] Primehack was overwriting Dolphin again --- net.retrodeck.retrodeck.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 0f99e559..121288f3 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -847,8 +847,8 @@ modules: - install -D primehack-wrapper /app/bin/primehack-wrapper sources: - type: git - url: https://github.com/shiiion/dolphin.git - commit: efb99ebfd20b1bc16ea3e51fec409c91e354d8c2 + url: https://github.com/TheDrifter363/primehack.git + commit: 6295c695307a67f11ee202b05cbdd7b5c1edae5c # detects whether dolphin is running in a flatpak sandbox # and makes it use xdg directories if it is. # prevents dolphin from attempting to write conf files