Merge pull request #396 from icenine451/cooker-0.7.0b-icenine451

Cooker 0.7.0b icenine451
This commit is contained in:
icenine451 2023-05-17 11:30:37 -04:00 committed by GitHub
commit aee1788907
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 161 additions and 162 deletions

View file

@ -4,5 +4,8 @@ hash^DOOMSHAPLACEHOLDER^https://buildbot.libretro.com/assets/cores/DOOM/Doom%20%
hash^VITASHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip hash^VITASHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
hash^DUCKSTATIONSHAPLACEHOLDER^https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage hash^DUCKSTATIONSHAPLACEHOLDER^https://github.com/stenzek/duckstation/releases/download/preview/DuckStation-x64.AppImage
hash^SAMEDUCKSHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip hash^SAMEDUCKSHAPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip
hash^PPSSPPBIOSHASHPLACEHOLDER^https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip
hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid outside_info^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid

View file

@ -1,7 +1,7 @@
config_file_format^retroarch config_file_format^retroarch
target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg target_file^/var/config/retroarch/config/Genesis Plus GX/gg.cfg
defaults_file^$emuconfigs/retroarch/retroarch.cfg defaults_file^$emuconfigs/retroarch/retroarch.cfg
change^borders^input_overlay^aspect_ratio_index^23 change^borders^aspect_ratio_index^23
change^borders^custom_viewport_width^800 change^borders^custom_viewport_width^800
change^borders^custom_viewport_x^240 change^borders^custom_viewport_x^240
change^borders^custom_viewport_y^43 change^borders^custom_viewport_y^43

View file

@ -12,9 +12,9 @@ set_setting_value() {
"retrodeck" | "citra" | "melonds" | "yuzu" ) "retrodeck" | "citra" | "melonds" | "yuzu" )
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
sed -i 's^\^'"$setting_name_to_change"'=.*^'"$setting_name_to_change"'='"$setting_value_to_change"'^' $1 sed -i 's^\^'"$setting_name_to_change"'=.*^'"$setting_name_to_change"'='"$setting_value_to_change"'^' "$1"
else else
sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"'=^s^\^'"$setting_name_to_change"'=.*^'"$setting_name_to_change"'='"$setting_value_to_change"'^' $1 sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"'=^s^\^'"$setting_name_to_change"'=.*^'"$setting_name_to_change"'='"$setting_value_to_change"'^' "$1"
fi fi
if [[ "$4" == "retrodeck" && ("$current_section_name" == "" || "$current_section_name" == "paths" || "$current_section_name" == "options") ]]; then # If a RetroDECK setting is being changed, also write it to memory for immediate use if [[ "$4" == "retrodeck" && ("$current_section_name" == "" || "$current_section_name" == "paths" || "$current_section_name" == "options") ]]; then # If a RetroDECK setting is being changed, also write it to memory for immediate use
eval "$setting_name_to_change=$setting_value_to_change" eval "$setting_name_to_change=$setting_value_to_change"
@ -23,25 +23,25 @@ set_setting_value() {
"retroarch" ) "retroarch" )
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
sed -i 's^\^'"$setting_name_to_change"' = \".*\"^'"$setting_name_to_change"' = \"'"$setting_value_to_change"'\"^' $1 sed -i 's^\^'"$setting_name_to_change"' = \".*\"^'"$setting_name_to_change"' = \"'"$setting_value_to_change"'\"^' "$1"
else else
sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"' = ^s^\^'"$setting_name_to_change"' = \".*\"^'"$setting_name_to_change"' = \"'"$setting_value_to_change"'\"^' $1 sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"' = ^s^\^'"$setting_name_to_change"' = \".*\"^'"$setting_name_to_change"' = \"'"$setting_value_to_change"'\"^' "$1"
fi fi
;; ;;
"dolphin" | "duckstation" | "pcsx2" | "ppsspp" | "primehack" | "xemu" ) "dolphin" | "duckstation" | "pcsx2" | "ppsspp" | "primehack" | "xemu" )
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
sed -i 's^\^'"$setting_name_to_change"' =.*^'"$setting_name_to_change"' = '"$setting_value_to_change"'^' $1 sed -i 's^\^'"$setting_name_to_change"' =.*^'"$setting_name_to_change"' = '"$setting_value_to_change"'^' "$1"
else else
sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"' =^s^\^'"$setting_name_to_change"' =.*^'"$setting_name_to_change"' = '"$setting_value_to_change"'^' $1 sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"' =^s^\^'"$setting_name_to_change"' =.*^'"$setting_name_to_change"' = '"$setting_value_to_change"'^' "$1"
fi fi
;; ;;
"rpcs3" ) # This does not currently work for settings with a $ in them "rpcs3" ) # This does not currently work for settings with a $ in them
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
sed -i 's^\^'"$setting_name_to_change"': .*^'"$setting_name_to_change"': '"$setting_value_to_change"'^' $1 sed -i 's^\^'"$setting_name_to_change"': .*^'"$setting_name_to_change"': '"$setting_value_to_change"'^' "$1"
else else
sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"'.*^s^\^'"$setting_name_to_change"': .*^'"$setting_name_to_change"': '"$setting_value_to_change"'^' $1 sed -i '\^\['"$current_section_name"'\]^,\^\^'"$setting_name_to_change"'.*^s^\^'"$setting_name_to_change"': .*^'"$setting_name_to_change"': '"$setting_value_to_change"'^' "$1"
fi fi
;; ;;
@ -54,7 +54,7 @@ set_setting_value() {
;; ;;
"es_settings" ) "es_settings" )
sed -i 's^'"$setting_name_to_change"'" value=".*"^'"$setting_name_to_change"'" value="'"$setting_value_to_change"'"^' $1 sed -i 's^'"$setting_name_to_change"'" value=".*"^'"$setting_name_to_change"'" value="'"$setting_value_to_change"'"^' "$1"
;; ;;
esac esac
@ -94,17 +94,17 @@ get_setting_value() {
"retrodeck" | "citra" | "melonds" | "yuzu" ) # For files with this syntax - setting_name=setting_value "retrodeck" | "citra" | "melonds" | "yuzu" ) # For files with this syntax - setting_name=setting_value
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
echo $(grep -o -P "(?<=^$current_setting_name=).*" $1) echo $(grep -o -P "(?<=^$current_setting_name=).*" "$1")
else else
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name=).*" sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' "$1" | grep -o -P "(?<=^$current_setting_name=).*"
fi fi
;; ;;
"retroarch" ) # For files with this syntax - setting_name = "setting_value" "retroarch" ) # For files with this syntax - setting_name = "setting_value"
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
echo $(grep -o -P "(?<=^$current_setting_name = \").*(?=\")" $1) echo $(grep -o -P "(?<=^$current_setting_name = \").*(?=\")" "$1")
else else
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = \").*(?=\")" sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' "$1" | grep -o -P "(?<=^$current_setting_name = \").*(?=\")"
fi fi
;; ;;
@ -112,28 +112,28 @@ get_setting_value() {
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
echo $(grep -o -P "(?<=^$current_setting_name = ).*" $1) echo $(grep -o -P "(?<=^$current_setting_name = ).*" $1)
else else
sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=^$current_setting_name = ).*" sed -n -E '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'|\[^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' "$1" | grep -o -P "(?<=^$current_setting_name = ).*"
fi fi
;; ;;
"rpcs3" ) # For files with this syntax - setting_name: setting_value "rpcs3" ) # For files with this syntax - setting_name: setting_value
if [[ -z $current_section_name ]]; then if [[ -z $current_section_name ]]; then
echo $(grep -o -P "(?<=$current_setting_name: ).*" $1) echo $(grep -o -P "(?<=$current_setting_name: ).*" "$1")
else else
sed -n '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' $1 | grep -o -P "(?<=$current_setting_name: ).*" sed -n '\^\['"$current_section_name"'\]^,\^\^'"$current_setting_name"'^{ \^\['"$current_section_name"'\]^! { \^\^'"$current_setting_name"'^ p } }' "$1" | grep -o -P "(?<=$current_setting_name: ).*"
fi fi
;; ;;
"cemu" ) "cemu" )
if [[ -z "$current_section_name" ]]; then if [[ -z "$current_section_name" ]]; then
echo $(xml sel -t -v "//$current_setting_name" $1) echo $(xml sel -t -v "//$current_setting_name" "$1")
else else
echo $(xml sel -t -v "//$current_section_name/$current_setting_name" $1) echo $(xml sel -t -v "//$current_section_name/$current_setting_name" "$1")
fi fi
;; ;;
"es_settings" ) "es_settings" )
echo $(grep -o -P "(?<=$current_setting_name\" value=\").*(?=\")" $1) echo $(grep -o -P "(?<=$current_setting_name\" value=\").*(?=\")" "$1")
;; ;;
esac esac
@ -153,7 +153,7 @@ add_setting_line() {
if [[ -f "$1" ]]; then if [[ -f "$1" ]]; then
sed -i '$ a '"$current_setting_line"'' "$1" sed -i '$ a '"$current_setting_line"'' "$1"
else # If the file doesn't exist, sed add doesn't work for the first line else # If the file doesn't exist, sed add doesn't work for the first line
echo "$current_setting_line" > $1 echo "$current_setting_line" > "$1"
fi fi
else else
sed -i '/^\s*?\['"$current_section_name"'\]|\b'"$current_section_name"':$/a '"$current_setting_line"'' "$1" sed -i '/^\s*?\['"$current_section_name"'\]|\b'"$current_section_name"':$/a '"$current_setting_line"'' "$1"
@ -278,12 +278,12 @@ generate_single_patch() {
if [[ ! -z $(grep -o -P "^\[.+?\]$" <<< "$current_setting_line") || ! -z $(grep -o -P "^\b.+?:$" <<< "$current_setting_line") ]]; then # Capture section header lines if [[ ! -z $(grep -o -P "^\[.+?\]$" <<< "$current_setting_line") || ! -z $(grep -o -P "^\b.+?:$" <<< "$current_setting_line") ]]; then # Capture section header lines
if [[ $current_setting_line =~ ^\[.+\] ]]; then # If normal section line if [[ $current_setting_line =~ ^\[.+\] ]]; then # If normal section line
action="section" action="section"
current_section=$(sed 's^[][]^^g' <<< $current_setting_line) # Remove brackets from section name current_section=$(sed 's^[][]^^g' <<< "$current_setting_line") # Remove brackets from section name
elif [[ ! -z $(grep -o -P "^\b.+?:$" <<< "$current_setting_line") ]]; then # If RPCS3 section name elif [[ ! -z $(grep -o -P "^\b.+?:$" <<< "$current_setting_line") ]]; then # If RPCS3 section name
action="section" action="section"
current_section=$(sed 's^:$^^' <<< $current_setting_line) # Remove colon from section name current_section=$(sed 's^:$^^' <<< "$current_setting_line") # Remove colon from section name
fi fi
elif [[ (! -z $current_section) ]]; then # If line is in a section... elif [[ (! -z "$current_section") ]]; then # If line is in a section...
if [[ ! -z $(grep -o -P "^\s*?#.*?$" <<< "$current_setting_line") ]]; then # Check for disabled lines if [[ ! -z $(grep -o -P "^\s*?#.*?$" <<< "$current_setting_line") ]]; then # Check for disabled lines
if [[ -z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\s*?'"$(sed -E 's/^[ \t]*//;' <<< "$escaped_setting_line")"'^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\s*?'"$(sed -E 's/^[ \t]*//' <<< "$escaped_setting_line")"'^ p } }' "$modified_file") ]]; then # If disabled line is not disabled in new file... if [[ -z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\s*?'"$(sed -E 's/^[ \t]*//;' <<< "$escaped_setting_line")"'^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\s*?'"$(sed -E 's/^[ \t]*//' <<< "$escaped_setting_line")"'^ p } }' "$modified_file") ]]; then # If disabled line is not disabled in new file...
action="disable_setting" action="disable_setting"
@ -296,7 +296,7 @@ generate_single_patch() {
current_setting_name=$(get_setting_name "$escaped_setting_line" "$system") current_setting_name=$(get_setting_name "$escaped_setting_line" "$system")
if [[ (-z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\b'"$current_setting_name"'\s*?[:=]^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\b'"$(sed -E 's/^[ \t]*//;' <<< "$escaped_setting_line")"'$^ p } }' "$modified_file")) ]]; then # If the same setting line is not found in the same section of the modified file... if [[ (-z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\b'"$current_setting_name"'\s*?[:=]^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\b'"$(sed -E 's/^[ \t]*//;' <<< "$escaped_setting_line")"'$^ p } }' "$modified_file")) ]]; then # If the same setting line is not found in the same section of the modified file...
if [[ ! -z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\b'"$current_setting_name"'\s*?[:=]^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\b'"$current_setting_name"'\s*?[:=]^ p } }' "$modified_file") ]]; then # But the setting exists in that section, only with a different value... if [[ ! -z $(sed -n -E '\^\['"$current_section"'\]|\b'"$current_section"':$^,\^\b'"$current_setting_name"'\s*?[:=]^{ \^\['"$current_section"'\]|\b'"$current_section"':$^! { \^\b'"$current_setting_name"'\s*?[:=]^ p } }' "$modified_file") ]]; then # But the setting exists in that section, only with a different value...
new_setting_value=$(get_setting_value $2 "$current_setting_name" "$system" $current_section) new_setting_value=$(get_setting_value "$2" "$current_setting_name" "$system" $current_section)
action="change" action="change"
echo $action"^"$current_section"^"$(sed -e 's%\\\\%\\%g' <<< "$current_setting_name")"^"$new_setting_value"^"$system >> "$patch_file" echo $action"^"$current_section"^"$(sed -e 's%\\\\%\\%g' <<< "$current_setting_name")"^"$new_setting_value"^"$system >> "$patch_file"
fi fi
@ -367,7 +367,7 @@ deploy_single_patch() {
# This function will take an "original" file and a patch file and generate a ready to use modified file # This function will take an "original" file and a patch file and generate a ready to use modified file
# USAGE: deploy_single_patch $original_file $patch_file $output_file # USAGE: deploy_single_patch $original_file $patch_file $output_file
cp -fv $1 $3 # Create a copy of the original file to be patched cp -fv "$1" "$3" # Create a copy of the original file to be patched
while IFS="^" read -r action current_section setting_name setting_value system_name while IFS="^" read -r action current_section setting_name setting_value system_name
do do
@ -383,22 +383,22 @@ do
;; ;;
"add_setting_line" ) "add_setting_line" )
add_setting_line $3 "$setting_name" $system_name $current_section add_setting_line "$3" "$setting_name" "$system_name" "$current_section"
;; ;;
"disable_setting" ) "disable_setting" )
disable_setting $3 "$setting_name" $system_name $current_section disable_setting "$3" "$setting_name" "$system_name" "$current_section"
;; ;;
"enable_setting" ) "enable_setting" )
enable_setting $3 "$setting_name" $system_name $current_section enable_setting "$3" "$setting_name" "$system_name" "$current_section"
;; ;;
"change" ) "change" )
if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name
eval setting_value="$setting_value" eval setting_value="$setting_value"
fi fi
set_setting_value $3 "$setting_name" "$setting_value" $system_name $current_section set_setting_value "$3" "$setting_name" "$setting_value" "$system_name" "$current_section"
;; ;;
*"#"* ) *"#"* )
@ -410,7 +410,7 @@ do
;; ;;
esac esac
done < $2 done < "$2"
} }
deploy_multi_patch() { deploy_multi_patch() {
@ -442,28 +442,28 @@ do
if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name
eval config_file="$config_file" eval config_file="$config_file"
fi fi
add_setting_line "$config_file" "$setting_name" $system_name $current_section add_setting_line "$config_file" "$setting_name" "$system_name" "$current_section"
;; ;;
"disable_setting" ) "disable_setting" )
if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name
eval config_file="$config_file" eval config_file="$config_file"
fi fi
disable_setting "$config_file" "$setting_name" $system_name $current_section disable_setting "$config_file" "$setting_name" "$system_name" "$current_section"
;; ;;
"enable_setting" ) "enable_setting" )
if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name if [[ "$config_file" = \$* ]]; then # If patch setting value is a reference to an internal variable name
eval config_file="$config_file" eval config_file="$config_file"
fi fi
enable_setting "$config_file" "$setting_name" $system_name $current_section enable_setting "$config_file" "$setting_name" "$system_name" "$current_section"
;; ;;
"change" ) "change" )
if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name if [[ "$setting_value" = \$* ]]; then # If patch setting value is a reference to an internal variable name
eval setting_value="$setting_value" eval setting_value="$setting_value"
fi fi
set_setting_value "$config_file" "$setting_name" "$setting_value" $system_name $current_section set_setting_value "$config_file" "$setting_name" "$setting_value" "$system_name" "$current_section"
;; ;;
*"#"* ) *"#"* )
@ -475,5 +475,5 @@ do
;; ;;
esac esac
done < $1 done < "$1"
} }

View file

@ -182,6 +182,7 @@ post_update() {
set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings" set_setting_value "$es_settings" "ROMDirectory" "$roms_folder" "es_settings"
set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings" set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings"
sed -i '$ a <string name="UserThemeDirectory" value="" />' "$es_settings" # Add new default line to existing file
set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings"
unlink "/var/config/emulationstation/ROMs" unlink "/var/config/emulationstation/ROMs"
unlink "/var/config/emulationstation/.emulationstation/downloaded_media" unlink "/var/config/emulationstation/.emulationstation/downloaded_media"
@ -191,6 +192,7 @@ post_update() {
set_setting_value "$raconf" "savestate_auto_save" "false" "retroarch" set_setting_value "$raconf" "savestate_auto_save" "false" "retroarch"
set_setting_value "$pcsx2conf" "SaveStateOnShutdown" "false" "pcsx2" "EmuCore" set_setting_value "$pcsx2conf" "SaveStateOnShutdown" "false" "pcsx2" "EmuCore"
set_setting_value "$duckstationconf" "SaveStateOnExit" "false" "duckstation" "Main" set_setting_value "$duckstationconf" "SaveStateOnExit" "false" "duckstation" "Main"
set_setting_value "$duckstationconf" "Enabled" "false" "duckstation" "Cheevos"
prepare_emulator "reset" "cemu" prepare_emulator "reset" "cemu"
fi fi

View file

@ -59,7 +59,6 @@ prepare_emulator() {
if [[ "$emulator" =~ ^(retroarch|RetroArch|all)$ ]]; then if [[ "$emulator" =~ ^(retroarch|RetroArch|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands if [[ "$action" == "reset" ]]; then # Run reset-only commands
if [[ $(check_network_connectivity) == "true" ]]; then
if [[ $multi_user_mode == "true" ]]; then if [[ $multi_user_mode == "true" ]]; then
rm -rf "$multi_user_data_folder/$SteamAppUser/config/retroarch" rm -rf "$multi_user_data_folder/$SteamAppUser/config/retroarch"
mkdir -p "$multi_user_data_folder/$SteamAppUser/config/retroarch" mkdir -p "$multi_user_data_folder/$SteamAppUser/config/retroarch"
@ -94,12 +93,7 @@ prepare_emulator() {
then then
mv -fv $bios_folder/PPSSPP/flash0/font $bios_folder/PPSSPP/flash0/font.bak mv -fv $bios_folder/PPSSPP/flash0/font $bios_folder/PPSSPP/flash0/font.bak
fi fi
mkdir -p $bios_folder/PPSSPP cp -rf "/app/retrodeck/extras/PPSSPP" "$bios_folder/PPSSPP"
wget "https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip" -P $bios_folder/PPSSPP
unzip -q "$bios_folder/PPSSPP/master.zip" -d $bios_folder/PPSSPP/
mv -f "$bios_folder/PPSSPP/ppsspp-master/assets/"* "$bios_folder/PPSSPP/"
rm -rfv "$bios_folder/PPSSPP/master.zip"
rm -rfv "$bios_folder/PPSSPP/ppsspp-master"
if [ -d $bios_folder/PPSSPP/flash0/font.bak ] if [ -d $bios_folder/PPSSPP/flash0/font.bak ]
then then
mv -f $bios_folder/PPSSPP/flash0/font.bak $bios_folder/PPSSPP/flash0/font mv -f $bios_folder/PPSSPP/flash0/font.bak $bios_folder/PPSSPP/flash0/font
@ -109,16 +103,8 @@ prepare_emulator() {
echo "-----------------------------------------------------------" echo "-----------------------------------------------------------"
echo "Initializing MSX / SVI / ColecoVision / SG-1000 LIBRETRO" echo "Initializing MSX / SVI / ColecoVision / SG-1000 LIBRETRO"
echo "-----------------------------------------------------------" echo "-----------------------------------------------------------"
wget "http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip" -P $bios_folder/MSX cp -rf "/app/retrodeck/extras/MSX/Databases" "$bios_folder/Databases"
unzip -q "$bios_folder/MSX/blueMSXv282full.zip" -d $bios_folder/MSX cp -rf "/app/retrodeck/extras/MSX/Machines" "$bios_folder/Machines"
mv -f $bios_folder/MSX/Databases $bios_folder/Databases
mv -f $bios_folder/MSX/Machines $bios_folder/Machines
rm -rf $bios_folder/MSX
else
if [[ "$call_source" == "cli" ]]; then
printf "You do not appear to be connected to a network with internet access.\n\nThe RetroArch reset process requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available.\n"
fi
fi
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$bios_folder" "/var/config/retroarch/system" dir_prep "$bios_folder" "/var/config/retroarch/system"
@ -147,8 +133,8 @@ prepare_emulator() {
rm -rf /var/config/Cemu rm -rf /var/config/Cemu
mkdir -pv /var/config/Cemu/ mkdir -pv /var/config/Cemu/
cp -fr "$emuconfigs/cemu/"* /var/config/Cemu/ cp -fr "$emuconfigs/cemu/"* /var/config/Cemu/
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/Cemu/settings.ini" "mlc_path" "$bios_folder/cemu" "cemu" set_setting_value "$cemuconf" "mlc_path" "$bios_folder/cemu" "cemu"
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/Cemu/settings.ini" "Entry" "$roms_folder/wiiu" "cemu" "GamePaths" set_setting_value "$cemuconf" "Entry" "$roms_folder/wiiu" "cemu" "GamePaths"
fi fi
# Shared actions # Shared actions
dir_prep "$saves_folder/wiiu/cemu" "$bios_folder/cemu/usr/save" dir_prep "$saves_folder/wiiu/cemu" "$bios_folder/cemu/usr/save"
@ -514,7 +500,6 @@ prepare_emulator() {
if [[ "$emulator" =~ ^(xemu|XEMU|all)$ ]]; then if [[ "$emulator" =~ ^(xemu|XEMU|all)$ ]]; then
if [[ "$action" == "reset" ]]; then # Run reset-only commands if [[ "$action" == "reset" ]]; then # Run reset-only commands
if [[ $(check_network_connectivity) == "true" ]]; then
echo "------------------------" echo "------------------------"
echo "Initializing XEMU" echo "Initializing XEMU"
echo "------------------------" echo "------------------------"
@ -546,14 +531,7 @@ prepare_emulator() {
# Preparing HD dummy Image if the image is not found # Preparing HD dummy Image if the image is not found
if [ ! -f $bios_folder/xbox_hdd.qcow2 ] if [ ! -f $bios_folder/xbox_hdd.qcow2 ]
then then
wget "https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip" -P $bios_folder/ cp -f "/app/retrodeck/extras/XEMU/xbox_hdd.qcow2" "$bios_folder/xbox_hdd.qcow2"
unzip -q $bios_folder/xbox_hdd.qcow2.zip -d $bios_folder/
rm -rfv $bios_folder/xbox_hdd.qcow2.zip
fi
else
if [[ "$call_source" == "cli" ]]; then
printf "You do not appear to be connected to a network with internet access.\n\nThe Xemu reset process requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available.\n"
fi
fi fi
fi fi
if [[ "$action" == "postmove" ]]; then # Run only post-move commands if [[ "$action" == "postmove" ]]; then # Run only post-move commands

View file

@ -463,6 +463,27 @@ modules:
url: https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip url: https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip
sha256: SAMEDUCKSHAPLACEHOLDER sha256: SAMEDUCKSHAPLACEHOLDER
- name: ppsspp-bios
buildsystem: simple
build-commands:
- mkdir -p ${FLATPAK_DEST}/retrodeck/extras/PPSSPP
- mv -f "ppsspp-master/assets/"* "${FLATPAK_DEST}/retrodeck/extras/PPSSPP/"
sources:
- type: archive
url: https://github.com/hrydgard/ppsspp/archive/refs/heads/master.zip
sha256: PPSSPPBIOSHASHPLACEHOLDER
- name: msx-bios
buildsystem: simple
build-commands:
- mkdir -p ${FLATPAK_DEST}/retrodeck/extras/MSX
- mv -f Databases ${FLATPAK_DEST}/retrodeck/extras/MSX/Databases
- mv -f Machines ${FLATPAK_DEST}/retrodeck/extras/MSX/Machines
sources:
- type: archive
url: http://bluemsx.msxblue.com/rel_download/blueMSXv282full.zip
sha256: MSXBIOSHASHPLACEHOLDER
- name: doom-shareware - name: doom-shareware
buildsystem: simple buildsystem: simple
build-commands: build-commands:
@ -790,6 +811,16 @@ modules:
timestamp-query: .published_at timestamp-query: .published_at
version-query: .tag_name version-query: .tag_name
- name: xemu-dummy-hdd
buildsystem: simple
build-commands:
- mkdir -p ${FLATPAK_DEST}/retrodeck/extras/XEMU
- mv -f "xbox_hdd.qcow2" "${FLATPAK_DEST}/retrodeck/extras/XEMU/xbox_hdd.qcow2"
sources:
- type: archive
url: https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
sha256: XEMUHDDHASHPLACEHOLDER
# XEMU - END # XEMU - END
# MELONDS - START # MELONDS - START

View file

@ -140,12 +140,7 @@ if [ -f "$lockfile" ]; then
# if the lock file doesn't exist at all means that it's a fresh install or a triggered reset # if the lock file doesn't exist at all means that it's a fresh install or a triggered reset
else else
echo "Lockfile not found" echo "Lockfile not found"
if [[ $(check_network_connectivity) == "true" ]]; then
finit # Executing First/Force init finit # Executing First/Force init
else
configurator_generic_dialog "RetroDECK Setup" "You do not appear to be connected to a network with internet access.\n\nThe initial RetroDECK setup requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available."
exit 1
fi
fi fi
if [[ $multi_user_mode == "true" ]]; then if [[ $multi_user_mode == "true" ]]; then

View file

@ -943,13 +943,8 @@ configurator_reset_dialog() {
"RetroArch" | "XEMU" ) # Emulators that require network access "RetroArch" | "XEMU" ) # Emulators that require network access
if [[ $(configurator_reset_confirmation_dialog "$emulator_to_reset" "Are you sure you want to reset the $emulator_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then if [[ $(configurator_reset_confirmation_dialog "$emulator_to_reset" "Are you sure you want to reset the $emulator_to_reset emulator to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
if [[ $(check_network_connectivity) == "true" ]]; then
prepare_emulator "reset" "$emulator_to_reset" "configurator" prepare_emulator "reset" "$emulator_to_reset" "configurator"
configurator_process_complete_dialog "resetting $emulator_to_reset" configurator_process_complete_dialog "resetting $emulator_to_reset"
else
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "You do not appear to be connected to a network with internet access.\n\nThe $emulator_to_reset reset process requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available."
configurator_reset_dialog
fi
else else
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled." configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
configurator_reset_dialog configurator_reset_dialog
@ -975,7 +970,6 @@ configurator_reset_dialog() {
"Reset All Emulators" ) "Reset All Emulators" )
if [[ $(configurator_reset_confirmation_dialog "all emulators" "Are you sure you want to reset all emulators to default settings?\n\nThis process cannot be undone.") == "true" ]]; then if [[ $(configurator_reset_confirmation_dialog "all emulators" "Are you sure you want to reset all emulators to default settings?\n\nThis process cannot be undone.") == "true" ]]; then
if [[ $(check_network_connectivity) == "true" ]]; then
( (
prepare_emulator "reset" "all" prepare_emulator "reset" "all"
) | ) |
@ -984,10 +978,6 @@ configurator_reset_dialog() {
--title "RetroDECK Finishing Initialization" \ --title "RetroDECK Finishing Initialization" \
--text="RetroDECK is finishing the reset process, please wait." --text="RetroDECK is finishing the reset process, please wait."
configurator_process_complete_dialog "resetting all emulators" configurator_process_complete_dialog "resetting all emulators"
else
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "You do not appear to be connected to a network with internet access.\n\nThe all-emulator reset process requires some files from the internet to function properly.\n\nPlease retry this process once a network connection is available."
configurator_reset_dialog
fi
else else
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled." configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
configurator_reset_dialog configurator_reset_dialog