mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-22 14:05:39 +00:00
Merge pull request #601 from icenine451/cooker-0.8.0b-icenine451
Update Vita3k functions in Configurator and prepare_emulator.sh Add network checks to resetting emulators that require network access
This commit is contained in:
commit
37e79bd66f
|
@ -103,6 +103,11 @@ primehackqtconf="/var/config/primehack/Qt.ini"
|
||||||
rpcs3conf="/var/config/rpcs3/config.yml"
|
rpcs3conf="/var/config/rpcs3/config.yml"
|
||||||
rpcs3vfsconf="/var/config/rpcs3/vfs.yml"
|
rpcs3vfsconf="/var/config/rpcs3/vfs.yml"
|
||||||
|
|
||||||
|
# Vita3k config files
|
||||||
|
|
||||||
|
vita3kconf="/var/data/Vita3K/config.yml"
|
||||||
|
vita3kusrconfdir="$bios_folder/Vita3K/Vita3K"
|
||||||
|
|
||||||
# We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions
|
# We moved the lockfile in /var/config/retrodeck in order to solve issue #53 - Remove in a few versions
|
||||||
if [ -f "$HOME/retrodeck/.lock" ]
|
if [ -f "$HOME/retrodeck/.lock" ]
|
||||||
then
|
then
|
||||||
|
|
|
@ -37,7 +37,7 @@ set_setting_value() {
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"rpcs3" ) # This does not currently work for settings with a $ in them
|
"rpcs3" | "vita3k" ) # 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
|
||||||
|
@ -72,7 +72,7 @@ get_setting_name() {
|
||||||
echo ''"$current_setting_line"'' | grep -o -P '(?<=name\=\").*(?=\" value)'
|
echo ''"$current_setting_line"'' | grep -o -P '(?<=name\=\").*(?=\" value)'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"rpcs3" )
|
"rpcs3" | "vita3k" )
|
||||||
echo "$current_setting_line" | grep -o -P "^\s*?.*?(?=\s?:\s?)" | sed -e 's/^[ \t]*//;s^\\ ^ ^g'
|
echo "$current_setting_line" | grep -o -P "^\s*?.*?(?=\s?:\s?)" | sed -e 's/^[ \t]*//;s^\\ ^ ^g'
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ get_setting_value() {
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"rpcs3" ) # For files with this syntax - setting_name: setting_value
|
"rpcs3" | "vita3k" ) # 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
|
||||||
|
|
|
@ -668,22 +668,25 @@ prepare_emulator() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$emulator" =~ ^(vita3k|Vita3K|all)$ ]]; then
|
if [[ "$emulator" =~ ^(vita3k|Vita3K|all)$ ]]; then
|
||||||
# TODO: do a proper script
|
if [[ "$action" == "reset" ]]; then # Run reset-only commands
|
||||||
# This is just a placeholder script to test the emulator's flow
|
|
||||||
echo "----------------------"
|
echo "----------------------"
|
||||||
echo "Initializing Vita3K"
|
echo "Initializing Vita3K"
|
||||||
echo "----------------------"
|
echo "----------------------"
|
||||||
|
if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
|
||||||
# copying config file
|
echo "Figure out what Vita3k needs for multi-user"
|
||||||
cp -fvr "$emuconfigs/vita3k/config.yml" "/var/config/Vita3K"
|
else # Single-user actions
|
||||||
# TODO: this step is to be done properly: Replacing RETRODECKHOMEDIR placeholder
|
# NOTE: the emulator is writing in "." so it must be placed in the rw filesystem. A symlink of the binary is already placed in /app/bin/Vita3K
|
||||||
sed -i 's#RETRODECKHOMEDIR#'$rdhome'#g' "/var/config/Vita3K/config.yml"
|
rm -rf "/var/data/Vita3K"
|
||||||
|
mkdir -p "/var/data/Vita3K"
|
||||||
# copying vita user config
|
unzip "/app/retrodeck/vita3k.zip" -d "/var/data/Vita3K"
|
||||||
cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/Vita3K"
|
chmod +x "/var/data/Vita3K/Vita3K"
|
||||||
|
rm -f "/var/data/Vita3K/update-vita3k.sh"
|
||||||
# prep saves folder
|
cp -fvr "$emuconfigs/vita3k/config.yml" "/var/data/Vita3K" # Emulator config
|
||||||
dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata"
|
cp -fvr "$emuconfigs/vita3k/ux0" "$bios_folder/Vita3K/Vita3K" # User config
|
||||||
|
set_setting_value "$vita3kconf" "pref-path" "$rdhome/bios/Vita3K/Vita3K/" "vita3k"
|
||||||
|
fi
|
||||||
|
# Shared actions
|
||||||
|
dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata" # Multi-user safe?
|
||||||
|
|
||||||
# Installing firmware
|
# Installing firmware
|
||||||
# TODO: at the moment this is here instead of a tool because it seems like it cannot run without Firmware
|
# TODO: at the moment this is here instead of a tool because it seems like it cannot run without Firmware
|
||||||
|
@ -691,7 +694,10 @@ prepare_emulator() {
|
||||||
curl "http://dus01.psp2.update.playstation.net/update/psp2/image/2019_0924/sd_8b5f60b56c3da8365b973dba570c53a5/PSP2UPDAT.PUP?dest=us" -po /tmp/PSP2UPDAT.PUP
|
curl "http://dus01.psp2.update.playstation.net/update/psp2/image/2019_0924/sd_8b5f60b56c3da8365b973dba570c53a5/PSP2UPDAT.PUP?dest=us" -po /tmp/PSP2UPDAT.PUP
|
||||||
Vita3K --firmware /tmp/PSVUPDAT.PUP
|
Vita3K --firmware /tmp/PSVUPDAT.PUP
|
||||||
Vita3K --firmware /tmp/PSP2UPDAT.PUP
|
Vita3K --firmware /tmp/PSP2UPDAT.PUP
|
||||||
|
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
||||||
|
dir_prep "$saves_folder/psvita/vita3k" "$bios_folder/Vita3K/Vita3K/ux0/user/00/savedata" # Multi-user safe?
|
||||||
|
set_setting_value "$vita3kconf" "pref-path" "$rdhome/bios/Vita3K/Vita3K/" "vita3k"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$emulator" =~ ^(mame|MAME|all)$ ]]; then
|
if [[ "$emulator" =~ ^(mame|MAME|all)$ ]]; then
|
||||||
|
|
|
@ -79,6 +79,7 @@ source /app/libexec/global.sh
|
||||||
# - Reset Primehack
|
# - Reset Primehack
|
||||||
# - Reset RPCS3
|
# - Reset RPCS3
|
||||||
# - Reset Ryujinx
|
# - Reset Ryujinx
|
||||||
|
# - Reset Vita3k
|
||||||
# - Reset XEMU
|
# - Reset XEMU
|
||||||
# - Reset Yuzu
|
# - Reset Yuzu
|
||||||
# - Reset All Emulators
|
# - Reset All Emulators
|
||||||
|
@ -1009,17 +1010,23 @@ configurator_reset_dialog() {
|
||||||
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
|
"Primehack" "Reset the Metroid Prime emulator Primehack to default settings" \
|
||||||
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
|
"RPCS3" "Reset the PS3 emulator RPCS3 to default settings" \
|
||||||
"Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
|
"Ryujinx" "Reset the Switch emulator Ryujinx to default settings" \
|
||||||
|
"Vita3k" "Reset the PS Vita emulator Vita3k to default settings" \
|
||||||
"XEMU" "Reset the XBOX emulator XEMU to default settings" \
|
"XEMU" "Reset the XBOX emulator XEMU to default settings" \
|
||||||
"Yuzu" "Reset the Switch emulator Yuzu to default settings" )
|
"Yuzu" "Reset the Switch emulator Yuzu to default settings" )
|
||||||
|
|
||||||
case $emulator_to_reset in
|
case $emulator_to_reset in
|
||||||
|
|
||||||
"RetroArch" | "XEMU" ) # Emulators that require network access
|
"RetroArch" | "Vita3k" | "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 [[ $(check_network_connectivity) == "true" ]]; then
|
||||||
prepare_emulator "reset" "$emulator_to_reset" "configurator"
|
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
|
||||||
configurator_process_complete_dialog "resetting $emulator_to_reset"
|
prepare_emulator "reset" "$emulator_to_reset" "configurator"
|
||||||
|
configurator_process_complete_dialog "resetting $emulator_to_reset"
|
||||||
|
else
|
||||||
|
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
|
||||||
|
configurator_reset_dialog
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
|
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Resetting this emulator requires active network access.\nPlease try again when you are connected to an Internet-capable network.\n\nReset process cancelled."
|
||||||
configurator_reset_dialog
|
configurator_reset_dialog
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
@ -1042,17 +1049,22 @@ 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 [[ $(check_network_connectivity) == "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
|
||||||
prepare_emulator "reset" "all"
|
(
|
||||||
) |
|
prepare_emulator "reset" "all"
|
||||||
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
|
) |
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
zenity --icon-name=net.retrodeck.retrodeck --progress --no-cancel --pulsate --auto-close \
|
||||||
--title "RetroDECK Finishing Initialization" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--text="RetroDECK is finishing the reset process, please wait."
|
--title "RetroDECK Finishing Initialization" \
|
||||||
configurator_process_complete_dialog "resetting all emulators"
|
--text="RetroDECK is finishing the reset process, please wait."
|
||||||
|
configurator_process_complete_dialog "resetting all emulators"
|
||||||
|
else
|
||||||
|
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
|
||||||
|
configurator_reset_dialog
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Reset process cancelled."
|
configurator_generic_dialog "RetroDeck Configurator - RetroDECK: Reset" "Resetting all emulators requires active network access.\nPlease try again when you are connected to an Internet-capable network.\n\nReset process cancelled."
|
||||||
configurator_reset_dialog
|
configurator_reset_dialog
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
Loading…
Reference in a new issue