mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-25 15:35:38 +00:00
Merge branch 'cooker-0.7.0b' of https://github.com/XargonWan/RetroDECK into cooker-0.7.0b
This commit is contained in:
commit
513702b476
|
@ -474,8 +474,8 @@ Updater\update_on_close=false
|
||||||
Updater\update_on_close\default=true
|
Updater\update_on_close\default=true
|
||||||
calloutFlags=1
|
calloutFlags=1
|
||||||
calloutFlags\default=false
|
calloutFlags\default=false
|
||||||
confirmClose=true
|
confirmClose=false
|
||||||
confirmClose\default=true
|
confirmClose\default=false
|
||||||
displayTitleBars=true
|
displayTitleBars=true
|
||||||
displayTitleBars\default=true
|
displayTitleBars\default=true
|
||||||
enable_discord_presence=true
|
enable_discord_presence=true
|
||||||
|
|
9
emu-configs/defaults/retrodeck/presets/citra_presets.cfg
Normal file
9
emu-configs/defaults/retrodeck/presets/citra_presets.cfg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
config_file_format^citra
|
||||||
|
target_file^$citraconf
|
||||||
|
defaults_file^$emuconfigs/citra/qt-config.ini
|
||||||
|
change^ask_to_exit^confirmClose^true^UI
|
||||||
|
change^ask_to_exit^confirmClose\default^true^UI
|
||||||
|
change^nintendo_button_layout^profiles\1\button_a^button:1,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls
|
||||||
|
change^nintendo_button_layout^profiles\1\button_b^button:0,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls
|
||||||
|
change^nintendo_button_layout^profiles\1\button_x^button:3,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls
|
||||||
|
change^nintendo_button_layout^profiles\1\button_y^button:2,engine:sdl,guid:030079f6de280000ff11000001000000,port:0^Controls
|
|
@ -0,0 +1,4 @@
|
||||||
|
config_file_format^dolphin
|
||||||
|
target_file^$dolphinconf
|
||||||
|
defaults_file^$emuconfigs/dolphin/Dolphin.ini
|
||||||
|
change^ask_to_exit^ConfirmStop^True^Interface
|
|
@ -7,3 +7,4 @@ change^cheevos^Token^$cheevos_token^Cheevos
|
||||||
change^cheevos^LoginTimestamp^$cheevos_login_timestamp^Cheevos
|
change^cheevos^LoginTimestamp^$cheevos_login_timestamp^Cheevos
|
||||||
change^cheevos_hardcore^ChallengeMode^true^Cheevos
|
change^cheevos_hardcore^ChallengeMode^true^Cheevos
|
||||||
change^savestate_auto_save^SaveStateOnExit^true^Main
|
change^savestate_auto_save^SaveStateOnExit^true^Main
|
||||||
|
change^ask_to_exit^ConfirmPowerOff^true^Main
|
||||||
|
|
|
@ -7,3 +7,4 @@ change^cheevos^Token^$cheevos_token^Achievements
|
||||||
change^cheevos^LoginTimestamp^$cheevos_login_timestamp^Achievements
|
change^cheevos^LoginTimestamp^$cheevos_login_timestamp^Achievements
|
||||||
change^cheevos_hardcore^ChallengeMode^true^Achievements
|
change^cheevos_hardcore^ChallengeMode^true^Achievements
|
||||||
change^savestate_auto_save^SaveStateOnShutdown^true^EmuCore
|
change^savestate_auto_save^SaveStateOnShutdown^true^EmuCore
|
||||||
|
change^ask_to_exit^ConfirmShutdown^true^UI
|
||||||
|
|
|
@ -0,0 +1,4 @@
|
||||||
|
config_file_format^ppsspp
|
||||||
|
target_file^$ppssppconf
|
||||||
|
defaults_file^$emuconfigs/PCSX2/PCSX2.ini
|
||||||
|
change^savestate_auto_load^AutoLoadSaveState^2^General
|
|
@ -0,0 +1,4 @@
|
||||||
|
config_file_format^primehack
|
||||||
|
target_file^$primehackconf
|
||||||
|
defaults_file^$emuconfigs/primehack/Dolphin.ini
|
||||||
|
change^ask_to_exit^ConfirmStop^True^Interface
|
9
emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg
Normal file
9
emu-configs/defaults/retrodeck/presets/yuzu_presets.cfg
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
config_file_format^yuzu
|
||||||
|
target_file^$yuzuconf
|
||||||
|
defaults_file^$emuconfigs/yuzu/qt-config.ini
|
||||||
|
change^ask_to_exit^confirmClose^true^UI
|
||||||
|
change^ask_to_exit^confirmClose\default^true^UI
|
||||||
|
change^nintendo_button_layout^player_0_button_a^pad:0,button:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
|
||||||
|
change^nintendo_button_layout^player_0_button_b^pad:0,button:1,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
|
||||||
|
change^nintendo_button_layout^player_0_button_x^pad:0,button:2,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
|
||||||
|
change^nintendo_button_layout^player_0_button_y^pad:0,button:3,port:0,guid:03000000de280000ff11000001000000,engine:sdl^Controls
|
|
@ -1,11 +1,16 @@
|
||||||
duckstation^Duckstation (Sony Playstation Standalone)
|
citra^Citra (Nintendo 3DS Standalone Emulator)
|
||||||
|
dolphin^Dolphin (GameCube / Wii Standalone Emulator)
|
||||||
|
duckstation^Duckstation (Sony Playstation Standalone Emulator)
|
||||||
gb^Nintendo GameBoy
|
gb^Nintendo GameBoy
|
||||||
gba^Nintendo GameBoy Advance
|
gba^Nintendo GameBoy Advance
|
||||||
gbc^Nintendo GameBoy Color
|
gbc^Nintendo GameBoy Color
|
||||||
genesis^Sega Genesis/Master System
|
genesis^Sega Genesis/Master System
|
||||||
gg^Sega GameGear
|
gg^Sega GameGear
|
||||||
n64^Nintendo 64
|
n64^Nintendo 64
|
||||||
pcsx2^PCSX2 (Sony Playstation 2 Standalone)
|
pcsx2^PCSX2 (Sony Playstation 2 Standalone Emulator)
|
||||||
|
ppsspp^PPSSPP (Sony PSP Standalone Emulator)
|
||||||
|
primehack^Primehack (Metroid Prime Standalone Emulator)
|
||||||
psx_ra^Sony Playstation (RetroArch Core)
|
psx_ra^Sony Playstation (RetroArch Core)
|
||||||
retroarch^RetroArch (Multi-emulator Frontend)
|
retroarch^RetroArch (Multi-emulator Frontend)
|
||||||
snes^Nintendo Super Nintendo
|
snes^Nintendo Super Nintendo
|
||||||
|
yuzu^Yuzu (Nintendo Switch Standalone Emulator)
|
||||||
|
|
|
@ -55,16 +55,27 @@ psx_ra=false
|
||||||
snes=false
|
snes=false
|
||||||
|
|
||||||
[nintendo_button_layout]
|
[nintendo_button_layout]
|
||||||
|
citra=false
|
||||||
gb=false
|
gb=false
|
||||||
gba=false
|
gba=false
|
||||||
gbc=false
|
gbc=false
|
||||||
n64=false
|
n64=false
|
||||||
snes=false
|
snes=false
|
||||||
|
yuzu=false
|
||||||
|
|
||||||
[savestate_auto_load]
|
[savestate_auto_load]
|
||||||
|
ppsspp=true
|
||||||
retroarch=true
|
retroarch=true
|
||||||
|
|
||||||
[savestate_auto_save]
|
[savestate_auto_save]
|
||||||
duckstation=true
|
duckstation=true
|
||||||
pcsx2=true
|
pcsx2=true
|
||||||
retroarch=true
|
retroarch=true
|
||||||
|
|
||||||
|
[ask_to_exit]
|
||||||
|
citra=false
|
||||||
|
dolphin=false
|
||||||
|
duckstation=false
|
||||||
|
pcsx2=false
|
||||||
|
primehack=false
|
||||||
|
yuzu=false
|
||||||
|
|
|
@ -51,7 +51,7 @@ DSPThread = True
|
||||||
Backend = Pulse
|
Backend = Pulse
|
||||||
EnableJIT = False
|
EnableJIT = False
|
||||||
[Interface]
|
[Interface]
|
||||||
ConfirmStop = True
|
ConfirmStop = False
|
||||||
CursorVisibility = 0
|
CursorVisibility = 0
|
||||||
OnScreenDisplayMessages = True
|
OnScreenDisplayMessages = True
|
||||||
PauseOnFocusLost = True
|
PauseOnFocusLost = True
|
||||||
|
|
|
@ -11,7 +11,7 @@ StartFullscreen = false
|
||||||
PauseOnFocusLoss = true
|
PauseOnFocusLoss = true
|
||||||
PauseOnMenu = true
|
PauseOnMenu = true
|
||||||
SaveStateOnExit = false
|
SaveStateOnExit = false
|
||||||
ConfirmPowerOff = true
|
ConfirmPowerOff = false
|
||||||
LoadDevicesFromSaveStates = true
|
LoadDevicesFromSaveStates = true
|
||||||
ApplyGameSettings = true
|
ApplyGameSettings = true
|
||||||
AutoLoadCheats = true
|
AutoLoadCheats = true
|
||||||
|
|
|
@ -12,7 +12,7 @@ Language = en_US
|
||||||
ForceLagSync2 = False
|
ForceLagSync2 = False
|
||||||
DiscordPresence = True
|
DiscordPresence = True
|
||||||
UISound = False
|
UISound = False
|
||||||
AutoLoadSaveState = 2
|
AutoLoadSaveState = 0
|
||||||
EnableCheats = False
|
EnableCheats = False
|
||||||
CwCheatRefreshRate = 77
|
CwCheatRefreshRate = 77
|
||||||
CwCheatScrollPosition = 0.000000
|
CwCheatScrollPosition = 0.000000
|
||||||
|
|
|
@ -48,7 +48,7 @@ DisableScreenSaver = True
|
||||||
KeepWindowOnTop = False
|
KeepWindowOnTop = False
|
||||||
Fullscreen = True
|
Fullscreen = True
|
||||||
[Interface]
|
[Interface]
|
||||||
ConfirmStop = True
|
ConfirmStop = False
|
||||||
LanguageCode =
|
LanguageCode =
|
||||||
OnScreenDisplayMessages = True
|
OnScreenDisplayMessages = True
|
||||||
PauseOnFocusLost = False
|
PauseOnFocusLost = False
|
||||||
|
|
|
@ -52,7 +52,6 @@ pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lis
|
||||||
citraconf="/var/config/citra-emu/qt-config.ini"
|
citraconf="/var/config/citra-emu/qt-config.ini"
|
||||||
duckstationconf="/var/config/duckstation/settings.ini"
|
duckstationconf="/var/config/duckstation/settings.ini"
|
||||||
melondsconf="/var/config/melonDS/melonDS.ini"
|
melondsconf="/var/config/melonDS/melonDS.ini"
|
||||||
ppssppconf="/var/config/ppsspp/PSP/SYSTEM/ppsspp.ini"
|
|
||||||
ryujinxconf="/var/config/Ryujinx/Config.json"
|
ryujinxconf="/var/config/Ryujinx/Config.json"
|
||||||
xemuconf="/var/config/xemu/xemu.toml"
|
xemuconf="/var/config/xemu/xemu.toml"
|
||||||
yuzuconf="/var/config/yuzu/qt-config.ini"
|
yuzuconf="/var/config/yuzu/qt-config.ini"
|
||||||
|
@ -86,6 +85,11 @@ pcsx2gsconf="/var/config/PCSX2/inis/GS.ini" # This file should be deprecated sin
|
||||||
pcsx2uiconf="/var/config/PCSX2/inis/PCSX2_ui.ini" # This file should be deprecated since moving to PCSX2-QT
|
pcsx2uiconf="/var/config/PCSX2/inis/PCSX2_ui.ini" # This file should be deprecated since moving to PCSX2-QT
|
||||||
pcsx2vmconf="/var/config/PCSX2/inis/PCSX2_vm.ini" # This file should be deprecated since moving to PCSX2-QT
|
pcsx2vmconf="/var/config/PCSX2/inis/PCSX2_vm.ini" # This file should be deprecated since moving to PCSX2-QT
|
||||||
|
|
||||||
|
# PPSSPPDL config files
|
||||||
|
|
||||||
|
ppssppconf="/var/config/ppsspp/PSP/SYSTEM/ppsspp.ini"
|
||||||
|
ppssppcontrolsconf="/var/config/ppsspp/PSP/SYSTEM/controls.ini"
|
||||||
|
|
||||||
# Primehack config files
|
# Primehack config files
|
||||||
|
|
||||||
primehackconf="/var/config/primehack/Dolphin.ini"
|
primehackconf="/var/config/primehack/Dolphin.ini"
|
||||||
|
@ -134,6 +138,7 @@ if [[ ! -f "$rd_conf" ]]; then
|
||||||
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Setting config file permissions"
|
echo "Setting config file permissions"
|
||||||
|
@ -151,6 +156,7 @@ else
|
||||||
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
conf_read
|
conf_read
|
||||||
|
|
|
@ -161,10 +161,10 @@ multi_user_return_to_single_user() {
|
||||||
mv -f "$multi_user_data_folder/$SteamAppUser/config/retroarch/retroarch-core-options.cfg" "/var/config/retroarch/retroarch-core-options.cfg"
|
mv -f "$multi_user_data_folder/$SteamAppUser/config/retroarch/retroarch-core-options.cfg" "/var/config/retroarch/retroarch-core-options.cfg"
|
||||||
# XEMU one-offs, because it stores its config in /var/data, not /var/config like everything else
|
# XEMU one-offs, because it stores its config in /var/data, not /var/config like everything else
|
||||||
unlink "/var/config/xemu"
|
unlink "/var/config/xemu"
|
||||||
unlink "/var/data/xemu"
|
unlink "/var/data/xemu/xemu"
|
||||||
mkdir -p "/var/config/xemu"
|
mkdir -p "/var/config/xemu"
|
||||||
mv -f "$multi_user_data_folder/$single_user/config/xemu"/{.[!.],}* "/var/config/xemu"
|
mv -f "$multi_user_data_folder/$single_user/config/xemu"/{.[!.],}* "/var/config/xemu"
|
||||||
dir_prep "/var/config/xemu" "/var/data/xemu"
|
dir_prep "/var/config/xemu" "/var/data/xemu/xemu"
|
||||||
mkdir -p "$saves_folder"
|
mkdir -p "$saves_folder"
|
||||||
mkdir -p "$states_folder"
|
mkdir -p "$states_folder"
|
||||||
mv -f "$multi_user_data_folder/$single_user/saves"/{.[!.],}* "$saves_folder"
|
mv -f "$multi_user_data_folder/$single_user/saves"/{.[!.],}* "$saves_folder"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
set_setting_value() {
|
set_setting_value() {
|
||||||
# Function for editing settings
|
# Function for editing settings
|
||||||
# USAGE: set_setting_value $setting_file "$setting_name" "$new_setting_value" $system $section_name(optional)
|
# USAGE: set_setting_value "$setting_file" "$setting_name" "$new_setting_value" "$system" "$section_name(optional)"
|
||||||
|
|
||||||
local setting_name_to_change=$(sed -e 's^\\^\\\\^g;s^`^\\`^g' <<< "$2")
|
local setting_name_to_change=$(sed -e 's^\\^\\\\^g;s^`^\\`^g' <<< "$2")
|
||||||
local setting_value_to_change=$(sed -e 's^\\^\\\\^g;s^`^\\`^g' <<< "$3")
|
local setting_value_to_change=$(sed -e 's^\\^\\\\^g;s^`^\\`^g' <<< "$3")
|
||||||
|
@ -267,7 +267,9 @@ generate_single_patch() {
|
||||||
local patch_file="$3"
|
local patch_file="$3"
|
||||||
local system="$4"
|
local system="$4"
|
||||||
|
|
||||||
rm "$patch_file" # Remove old patch file (maybe change this to create a backup instead?)
|
if [[ -f "$patch_file" ]]; then
|
||||||
|
rm "$patch_file" # Remove old patch file (maybe change this to create a backup instead?)
|
||||||
|
fi
|
||||||
|
|
||||||
while read -r current_setting_line; # Look for changes from the original file to the modified one
|
while read -r current_setting_line; # Look for changes from the original file to the modified one
|
||||||
do
|
do
|
||||||
|
|
|
@ -82,7 +82,9 @@ post_update() {
|
||||||
# - Move Dolphin and Primehack save folder names
|
# - Move Dolphin and Primehack save folder names
|
||||||
# - Move PPSSPP saves/states to appropriate folders
|
# - Move PPSSPP saves/states to appropriate folders
|
||||||
# - Set ESDE user themes folder directly
|
# - Set ESDE user themes folder directly
|
||||||
# - Disable auto-save/load in RA / PCSX2 / Duckstation for proper preset functionality
|
# - Disable auto-save/load in existing RA / PCSX2 / Duckstation installs for proper preset functionality
|
||||||
|
# - Disable ask-on-exit in existing Citra / Dolphin / Duckstation / Primehack installs for proper preset functionality
|
||||||
|
# - Disable auto-load-state in existing PPSSPP installs for proper preset functionality
|
||||||
# - Init Cemu as it is a new emulator
|
# - Init Cemu as it is a new emulator
|
||||||
|
|
||||||
update_rd_conf # Expand retrodeck.cfg to latest template
|
update_rd_conf # Expand retrodeck.cfg to latest template
|
||||||
|
@ -113,6 +115,12 @@ post_update() {
|
||||||
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
|
dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods"
|
||||||
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
|
dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures"
|
||||||
dir_prep "$mods_folder/Yuzu" "/var/data/yuzu/load"
|
dir_prep "$mods_folder/Yuzu" "/var/data/yuzu/load"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks"
|
||||||
|
dir_prep "$texture_packs_folder/PPSSPP" "/var/config/ppsspp/PSP/TEXTURES"
|
||||||
|
dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/cache" "/var/config/retroarch/system/Mupen64Plus/cache"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64Plus/hires_texture"
|
||||||
|
dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures"
|
||||||
|
|
||||||
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
|
dir_prep "$rdhome/gamelists" "/var/config/emulationstation/.emulationstation/gamelists"
|
||||||
|
|
||||||
|
@ -194,6 +202,14 @@ post_update() {
|
||||||
set_setting_value "$duckstationconf" "SaveStateOnExit" "false" "duckstation" "Main"
|
set_setting_value "$duckstationconf" "SaveStateOnExit" "false" "duckstation" "Main"
|
||||||
set_setting_value "$duckstationconf" "Enabled" "false" "duckstation" "Cheevos"
|
set_setting_value "$duckstationconf" "Enabled" "false" "duckstation" "Cheevos"
|
||||||
|
|
||||||
|
set_setting_value "$citraconf" "confirmClose" "false" "citra" "UI"
|
||||||
|
set_setting_value "$citraconf" "confirmClose\default" "false" "citra" "UI"
|
||||||
|
set_setting_value "$dolphinconf" "ConfirmStop" "False" "dolphin" "Interface"
|
||||||
|
set_setting_value "$duckstationconf" "ConfirmPowerOff" "false" "duckstation" "Main"
|
||||||
|
set_setting_value "$primehackconf" "ConfirmStop" "False" "primehack" "Interface"
|
||||||
|
|
||||||
|
set_setting_value "$ppssppconf" "AutoLoadSaveState" "0" "ppsspp" "General"
|
||||||
|
|
||||||
prepare_emulator "reset" "cemu"
|
prepare_emulator "reset" "cemu"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -59,12 +59,12 @@ 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 [[ $multi_user_mode == "true" ]]; then
|
if [[ $multi_user_mode == "true" ]]; then # Multi-user actions
|
||||||
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"
|
||||||
cp -fv $emuconfigs/retroarch/retroarch.cfg "$multi_user_data_folder/$SteamAppUser/config/retroarch/"
|
cp -fv $emuconfigs/retroarch/retroarch.cfg "$multi_user_data_folder/$SteamAppUser/config/retroarch/"
|
||||||
cp -fv $emuconfigs/retroarch/retroarch-core-options.cfg "$multi_user_data_folder/$SteamAppUser/config/retroarch/"
|
cp -fv $emuconfigs/retroarch/retroarch-core-options.cfg "$multi_user_data_folder/$SteamAppUser/config/retroarch/"
|
||||||
else
|
else # Single-user actions
|
||||||
rm -rf /var/config/retroarch
|
rm -rf /var/config/retroarch
|
||||||
mkdir -p /var/config/retroarch
|
mkdir -p /var/config/retroarch
|
||||||
dir_prep "$bios_folder" "/var/config/retroarch/system"
|
dir_prep "$bios_folder" "/var/config/retroarch/system"
|
||||||
|
@ -84,6 +84,7 @@ prepare_emulator() {
|
||||||
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
|
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
|
||||||
set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch"
|
set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch"
|
||||||
fi
|
fi
|
||||||
|
# Shared actions
|
||||||
|
|
||||||
# PPSSPP
|
# PPSSPP
|
||||||
echo "--------------------------------"
|
echo "--------------------------------"
|
||||||
|
@ -105,11 +106,18 @@ prepare_emulator() {
|
||||||
echo "-----------------------------------------------------------"
|
echo "-----------------------------------------------------------"
|
||||||
cp -rf "/app/retrodeck/extras/MSX/Databases" "$bios_folder/Databases"
|
cp -rf "/app/retrodeck/extras/MSX/Databases" "$bios_folder/Databases"
|
||||||
cp -rf "/app/retrodeck/extras/MSX/Machines" "$bios_folder/Machines"
|
cp -rf "/app/retrodeck/extras/MSX/Machines" "$bios_folder/Machines"
|
||||||
|
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/cache" "/var/config/retroarch/system/Mupen64Plus/cache"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64Plus/hires_texture"
|
||||||
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"
|
||||||
dir_prep "$logs_folder/retroarch" "/var/config/retroarch/logs"
|
dir_prep "$logs_folder/retroarch" "/var/config/retroarch/logs"
|
||||||
dir_prep "$rdhome/shaders/retroarch" "/var/config/retroarch/shaders"
|
dir_prep "$rdhome/shaders/retroarch" "/var/config/retroarch/shaders"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mesen" "/var/config/retroarch/system/HdPacks"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/cache" "/var/config/retroarch/system/Mupen64Plus/cache"
|
||||||
|
dir_prep "$texture_packs_folder/RetroArch-Mupen64Plus/hires_texture" "/var/config/retroarch/system/Mupen64Plus/hires_texture"
|
||||||
set_setting_value "$raconf" "savefile_directory" "$saves_folder" "retroarch"
|
set_setting_value "$raconf" "savefile_directory" "$saves_folder" "retroarch"
|
||||||
set_setting_value "$raconf" "savestate_directory" "$states_folder" "retroarch"
|
set_setting_value "$raconf" "savestate_directory" "$states_folder" "retroarch"
|
||||||
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
|
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
|
||||||
|
@ -213,7 +221,8 @@ prepare_emulator() {
|
||||||
set_setting_value "$dolphinconf" "ISOPath0" "$roms_folder/wii" "dolphin" "General"
|
set_setting_value "$dolphinconf" "ISOPath0" "$roms_folder/wii" "dolphin" "General"
|
||||||
set_setting_value "$dolphinconf" "ISOPath1" "$roms_folder/gc" "dolphin" "General"
|
set_setting_value "$dolphinconf" "ISOPath1" "$roms_folder/gc" "dolphin" "General"
|
||||||
set_setting_value "$dolphinconf" "WiiSDCardPath" "$saves_folder/wii/dolphin/sd.raw" "dolphin" "General"
|
set_setting_value "$dolphinconf" "WiiSDCardPath" "$saves_folder/wii/dolphin/sd.raw" "dolphin" "General"
|
||||||
fi # Shared actions
|
fi
|
||||||
|
# Shared actions
|
||||||
dir_prep "$saves_folder/gc/dolphin/EU" "/var/data/dolphin-emu/GC/EUR" # TODO: Multi-user one-off
|
dir_prep "$saves_folder/gc/dolphin/EU" "/var/data/dolphin-emu/GC/EUR" # TODO: Multi-user one-off
|
||||||
dir_prep "$saves_folder/gc/dolphin/US" "/var/data/dolphin-emu/GC/USA" # TODO: Multi-user one-off
|
dir_prep "$saves_folder/gc/dolphin/US" "/var/data/dolphin-emu/GC/USA" # TODO: Multi-user one-off
|
||||||
dir_prep "$saves_folder/gc/dolphin/JP" "/var/data/dolphin-emu/GC/JAP" # TODO: Multi-user one-off
|
dir_prep "$saves_folder/gc/dolphin/JP" "/var/data/dolphin-emu/GC/JAP" # TODO: Multi-user one-off
|
||||||
|
@ -265,8 +274,9 @@ prepare_emulator() {
|
||||||
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||||
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||||
fi
|
fi
|
||||||
dir_prep "$saves_folder/psx/duckstation/memcards" "/var/config/duckstation/memcards" # TODO: This shouldn't be needed anymore, verify
|
# Shared actions
|
||||||
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
||||||
|
dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures"
|
||||||
fi
|
fi
|
||||||
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
||||||
set_setting_value "$duckstationconf" "SearchDirectory" "$bios_folder" "duckstation" "BIOS"
|
set_setting_value "$duckstationconf" "SearchDirectory" "$bios_folder" "duckstation" "BIOS"
|
||||||
|
@ -275,6 +285,7 @@ prepare_emulator() {
|
||||||
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
set_setting_value "$duckstationconf" "Directory" "$saves_folder/psx/duckstation/memcards" "duckstation" "MemoryCards"
|
||||||
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
set_setting_value "$duckstationconf" "RecursivePaths" "$roms_folder/psx" "duckstation" "GameList"
|
||||||
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
dir_prep "$states_folder/psx/duckstation" "/var/config/duckstation/savestates" # This is hard-coded in Duckstation, always needed
|
||||||
|
dir_prep "$texture_packs_folder/Duckstation" "/var/config/duckstation/textures"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -346,6 +357,7 @@ prepare_emulator() {
|
||||||
# Shared actions
|
# Shared actions
|
||||||
mkdir -pv "$saves_folder/ps2/pcsx2/memcards"
|
mkdir -pv "$saves_folder/ps2/pcsx2/memcards"
|
||||||
mkdir -pv "$states_folder/ps2/pcsx2"
|
mkdir -pv "$states_folder/ps2/pcsx2"
|
||||||
|
dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures"
|
||||||
fi
|
fi
|
||||||
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
||||||
set_setting_value "$pcsx2conf" "Bios" "$bios_folder" "pcsx2" "Folders"
|
set_setting_value "$pcsx2conf" "Bios" "$bios_folder" "pcsx2" "Folders"
|
||||||
|
@ -353,6 +365,7 @@ prepare_emulator() {
|
||||||
set_setting_value "$pcsx2conf" "SaveStates" "$states_folder/ps2/pcsx2" "pcsx2" "Folders"
|
set_setting_value "$pcsx2conf" "SaveStates" "$states_folder/ps2/pcsx2" "pcsx2" "Folders"
|
||||||
set_setting_value "$pcsx2conf" "MemoryCards" "$saves_folder/ps2/pcsx2/memcards" "pcsx2" "Folders"
|
set_setting_value "$pcsx2conf" "MemoryCards" "$saves_folder/ps2/pcsx2/memcards" "pcsx2" "Folders"
|
||||||
set_setting_value "$pcsx2conf" "RecursivePaths" "$roms_folder/ps2" "pcsx2" "GameList"
|
set_setting_value "$pcsx2conf" "RecursivePaths" "$roms_folder/ps2" "pcsx2" "GameList"
|
||||||
|
dir_prep "$texture_packs_folder/PCSX2" "/var/config/PCSX2/textures"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -384,11 +397,13 @@ prepare_emulator() {
|
||||||
# Shared actions
|
# Shared actions
|
||||||
dir_prep "$saves_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/SAVEDATA"
|
dir_prep "$saves_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/SAVEDATA"
|
||||||
dir_prep "$states_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/PPSSPP_STATE"
|
dir_prep "$states_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/PPSSPP_STATE"
|
||||||
|
dir_prep "$texture_packs_folder/PPSSPP" "/var/config/ppsspp/PSP/TEXTURES"
|
||||||
fi
|
fi
|
||||||
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
if [[ "$action" == "postmove" ]]; then # Run only post-move commands
|
||||||
set_setting_value "$ppssppconf" "CurrentDirectory" "$roms_folder/psp" "ppsspp" "General"
|
set_setting_value "$ppssppconf" "CurrentDirectory" "$roms_folder/psp" "ppsspp" "General"
|
||||||
dir_prep "$saves_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/SAVEDATA"
|
dir_prep "$saves_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/SAVEDATA"
|
||||||
dir_prep "$states_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/PPSSPP_STATE"
|
dir_prep "$states_folder/PSP/PPSSPP-SA" "/var/config/ppsspp/PSP/PPSSPP_STATE"
|
||||||
|
dir_prep "$texture_packs_folder/PPSSPP" "/var/config/ppsspp/PSP/TEXTURES"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -515,11 +530,11 @@ prepare_emulator() {
|
||||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "eeprom_path" "$saves_folder/xbox/xemu/xbox-eeprom.bin" "xemu" "sys.files"
|
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "eeprom_path" "$saves_folder/xbox/xemu/xbox-eeprom.bin" "xemu" "sys.files"
|
||||||
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "hdd_path" "'$bios_folder/xbox_hdd.qcow2'" "xemu" "sys.files"
|
set_setting_value "$multi_user_data_folder/$SteamAppUser/config/xemu/xemu.toml" "hdd_path" "'$bios_folder/xbox_hdd.qcow2'" "xemu" "sys.files"
|
||||||
dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/config/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
|
dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/config/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
|
||||||
dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/data/xemu"
|
dir_prep "$multi_user_data_folder/$SteamAppUser/config/xemu" "/var/data/xemu/xemu"
|
||||||
else # Single-user actions
|
else # Single-user actions
|
||||||
rm -rf /var/config/xemu
|
rm -rf /var/config/xemu
|
||||||
rm -rf /var/data/xemu
|
rm -rf /var/data/xemu
|
||||||
dir_prep "/var/config/xemu" "/var/data/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
|
dir_prep "/var/config/xemu" "/var/data/xemu/xemu" # Creating config folder in /var/config for consistentcy and linking back to original location where emulator will look
|
||||||
cp -fv $emuconfigs/xemu/xemu.toml "$xemuconf"
|
cp -fv $emuconfigs/xemu/xemu.toml "$xemuconf"
|
||||||
set_setting_value "$xemuconf" "screenshot_dir" "'$screenshots_folder'" "xemu" "General"
|
set_setting_value "$xemuconf" "screenshot_dir" "'$screenshots_folder'" "xemu" "General"
|
||||||
set_setting_value "$xemuconf" "bootrom_path" "'$bios_folder/mcpx_1.0.bin'" "xemu" "sys.files"
|
set_setting_value "$xemuconf" "bootrom_path" "'$bios_folder/mcpx_1.0.bin'" "xemu" "sys.files"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 50314360ded6fa3b9f0b602513b1164b7a6636ed
|
Subproject commit a2441b964afefd8cd1cebcdf562c7878670daf42
|
37
retrodeck.sh
37
retrodeck.sh
|
@ -47,9 +47,12 @@ https://retrodeck.net
|
||||||
cli_compress_all_games "$2"
|
cli_compress_all_games "$2"
|
||||||
;;
|
;;
|
||||||
--configurator*)
|
--configurator*)
|
||||||
launched_from_cli="true"
|
|
||||||
sh /app/tools/configurator.sh
|
sh /app/tools/configurator.sh
|
||||||
exit
|
if [[ $(configurator_generic_question_dialog "RetroDECK Configurator" "Would you like to launch RetroDECK after closing the Configurator?") == "false" ]]; then
|
||||||
|
exit
|
||||||
|
else
|
||||||
|
shift
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
--reset-emulator*)
|
--reset-emulator*)
|
||||||
echo "You are about to reset one or more RetroDECK emulators."
|
echo "You are about to reset one or more RetroDECK emulators."
|
||||||
|
@ -103,22 +106,35 @@ if [ -f "$lockfile" ]; then
|
||||||
if [ "$hard_version" != "$version" ]; then
|
if [ "$hard_version" != "$version" ]; then
|
||||||
echo "Config file's version is $version but the actual version is $hard_version"
|
echo "Config file's version is $version but the actual version is $hard_version"
|
||||||
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
||||||
|
configurator_generic_dialog "RetroDECK Cooker Warning" "RUNNING COOKER VERSIONS OF RETRODECK CAN BE EXTREMELY DANGEROUS AND ALL OF YOUR RETRODECK DATA\n(INCLUDING BIOS FILES, BORDERS, DOWNLOADED MEDIA, GAMELISTS, MODS, ROMS, SAVES, STATES, SCREENSHOTS, TEXTURE PACKS AND THEMES)\nARE AT RISK BY CONTINUING!"
|
||||||
|
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
||||||
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
cooker_base_version=$(echo $hard_version | cut -d'-' -f2)
|
cooker_base_version=$(echo $hard_version | cut -d'-' -f2)
|
||||||
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Fresh Install" \
|
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--title "RetroDECK Cooker Upgrade" \
|
--title "RetroDECK Cooker Upgrade" \
|
||||||
--text="You appear to be upgrading to a \"cooker\" build of RetroDECK.\n\nWould you like to perform the standard post-update process, skip the post-update process or remove ALL existing RetroDECK data to start from a fresh install?\n\nPerforming the normal post-update process multiple times may lead to unexpected results.")
|
--text="You appear to be upgrading to a \"cooker\" build of RetroDECK.\n\nWould you like to perform the standard post-update process, skip the post-update process or remove ALL existing RetroDECK folders and data (including ROMs and saves) to start from a fresh install?\n\nPerforming the normal post-update process multiple times may lead to unexpected results.")
|
||||||
rc=$? # Capture return code, as "Yes" button has no text value
|
rc=$? # Capture return code, as "Yes" button has no text value
|
||||||
if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
|
if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
|
||||||
if [[ $choice == "Don't Upgrade" ]]; then # If user wants to bypass the post_update.sh process this time.
|
if [[ $choice == "Don't Upgrade" ]]; then # If user wants to bypass the post_update.sh process this time.
|
||||||
echo "Skipping upgrade process for cooker build, updating stored version in retrodeck.cfg"
|
echo "Skipping upgrade process for cooker build, updating stored version in retrodeck.cfg"
|
||||||
set_setting_value $rd_conf "version" "$hard_version" retrodeck # Set version of currently running RetroDECK to updated retrodeck.cfg
|
set_setting_value $rd_conf "version" "$hard_version" retrodeck # Set version of currently running RetroDECK to updated retrodeck.cfg
|
||||||
elif [[ $choice == "Fresh Install" ]]; then # Remove all RetroDECK data and start a fresh install
|
elif [[ $choice == "Full Wipe and Fresh Install" ]]; then # Remove all RetroDECK data and start a fresh install
|
||||||
echo "Removing RetroDECK data and starting fresh"
|
if [[ $(configurator_generic_question_dialog "RetroDECK Cooker Reset" "This is going to remove all of the data in all locations used by RetroDECK!\n\n(INCLUDING BIOS FILES, BORDERS, DOWNLOADED MEDIA, GAMELISTS, MODS, ROMS, SAVES, STATES, SCREENSHOTS, TEXTURE PACKS AND THEMES)\n\nAre you sure you want to contine?") == "true" ]]; then
|
||||||
rm -rf /var
|
if [[ $(configurator_generic_question_dialog "RetroDECK Cooker Reset" "Are you super sure?\n\nThere is no going back from this process, everything is gonzo.\nDust in the wind.\n\nYesterdays omelette.") == "true" ]]; then
|
||||||
rm -rf "$HOME/retrodeck"
|
if [[ $(configurator_generic_question_dialog "RetroDECK Cooker Reset" "But are you super DUPER sure? We REAAAALLLLLYY want to make sure you know what is happening here.\n\nThe ~/retrodeck and ~/.var/app/net.retrodeck.retrodeck folders and ALL of their contents\nare about to be PERMANENTLY removed.\n\nStill sure you want to proceed?") == "true" ]]; then
|
||||||
source /app/libexec/global.sh
|
configurator_generic_dialog "RetroDECK Cooker Reset" "Ok, if you're that sure, here we go!"
|
||||||
finit
|
if [[ $(configurator_generic_question_dialog "RetroDECK Cooker Reset" "(Are you actually being serious here? Because we are...\n\nNo backsies.)") == "true" ]]; then
|
||||||
|
echo "Removing RetroDECK data and starting fresh"
|
||||||
|
rm -rf /var
|
||||||
|
rm -rf "$HOME/retrodeck"
|
||||||
|
source /app/libexec/global.sh
|
||||||
|
finit
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Performing normal upgrade process for version" $cooker_base_version
|
echo "Performing normal upgrade process for version" $cooker_base_version
|
||||||
|
@ -132,6 +148,7 @@ if [ -f "$lockfile" ]; then
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "RetroDECK" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "false" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "false" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_ignore" "" retrodeck "options"
|
set_setting_value $rd_conf "update_ignore" "" retrodeck "options"
|
||||||
|
set_setting_value $rd_conf "developer_options" "false" retrodeck "options"
|
||||||
fi
|
fi
|
||||||
post_update # Executing post update script
|
post_update # Executing post update script
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -11,12 +11,16 @@ source /app/libexec/global.sh
|
||||||
# Welcome
|
# Welcome
|
||||||
# - Presets & Settings
|
# - Presets & Settings
|
||||||
# - Global: Presets & Settings
|
# - Global: Presets & Settings
|
||||||
# - Enable/Disable widescreen
|
# - Widescreen: Enable/Disable
|
||||||
# - Log in to RetroAchievements
|
# - Ask-To-Exit: Enable/Disable
|
||||||
# - Enable/Disable RetroAchievements Hardcore Mode
|
# - RetroAchievements: Login
|
||||||
|
# - RetroAchievements: Logout
|
||||||
|
# - RetroAchievements: Hardcore Mode
|
||||||
|
# - Swap A/B and X/Y Buttons
|
||||||
|
# - RetroDECK: Change Update Check Setting
|
||||||
# - RetroArch: Presets & Settings
|
# - RetroArch: Presets & Settings
|
||||||
# - Enable/Disable borders
|
# - Borders: Enable/Disable
|
||||||
# - Enable/Disable Rewind Setting
|
# - Rewind: Enable/Disable
|
||||||
# - Wii & GameCube: Presets & Settings
|
# - Wii & GameCube: Presets & Settings
|
||||||
# - Dolphin Textures: Universal Dynamic Input
|
# - Dolphin Textures: Universal Dynamic Input
|
||||||
# - Primehack Textures: Universal Dynamic Input
|
# - Primehack Textures: Universal Dynamic Input
|
||||||
|
@ -33,8 +37,8 @@ source /app/libexec/global.sh
|
||||||
# - RPCS3
|
# - RPCS3
|
||||||
# - XEMU
|
# - XEMU
|
||||||
# - Yuzu
|
# - Yuzu
|
||||||
# - RetroDECK: Tools
|
# - Tools
|
||||||
# - RetroDECK: Move Tool
|
# - Tool: Move Folders
|
||||||
# - Move all of RetroDECK
|
# - Move all of RetroDECK
|
||||||
# - Move ROMs folder
|
# - Move ROMs folder
|
||||||
# - Move BIOS folder
|
# - Move BIOS folder
|
||||||
|
@ -45,17 +49,16 @@ source /app/libexec/global.sh
|
||||||
# - Move Screenshots folder
|
# - Move Screenshots folder
|
||||||
# - Move Mods folder
|
# - Move Mods folder
|
||||||
# - Move Texture Packs folder
|
# - Move Texture Packs folder
|
||||||
# - RetroDECK: Compression Tool
|
# - Tool: Compress Games
|
||||||
# - Compress Single Game
|
# - Compress Single Game
|
||||||
# - Compress Multiple Games - CHD
|
# - Compress Multiple Games - CHD
|
||||||
# - Compress Multiple Games - ZIP
|
# - Compress Multiple Games - ZIP
|
||||||
# - Compress Multiple Games - RVZ
|
# - Compress Multiple Games - RVZ
|
||||||
# - Compress Multiple Games - All Formats
|
# - Compress Multiple Games - All Formats
|
||||||
# - Compress All Games
|
# - Compress All Games
|
||||||
# - Install: RetroDECK Controller Profile
|
# - Install: RetroDECK SD Controller Profile
|
||||||
# - Install: RetroDECK Starter Pack
|
|
||||||
# - Install: PS3 firmware
|
# - Install: PS3 firmware
|
||||||
# - RetroDECK: Troubleshooting
|
# - Troubleshooting
|
||||||
# - Backup: RetroDECK Userdata
|
# - Backup: RetroDECK Userdata
|
||||||
# - Check & Verify: BIOS
|
# - Check & Verify: BIOS
|
||||||
# - Check & Verify: Multi-file structure
|
# - Check & Verify: Multi-file structure
|
||||||
|
@ -83,8 +86,9 @@ source /app/libexec/global.sh
|
||||||
# - Developer Options (Hidden)
|
# - Developer Options (Hidden)
|
||||||
# - Change Multi-user mode
|
# - Change Multi-user mode
|
||||||
# - Change Update channel
|
# - Change Update channel
|
||||||
# - Change Update check setting
|
|
||||||
# - Browse the wiki
|
# - Browse the wiki
|
||||||
|
# - USB Import tool
|
||||||
|
# - Install: RetroDECK Starter Pack
|
||||||
|
|
||||||
# DIALOG TREE FUNCTIONS
|
# DIALOG TREE FUNCTIONS
|
||||||
|
|
||||||
|
@ -176,20 +180,27 @@ configurator_global_presets_and_settings_dialog() {
|
||||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - Global: Presets & Settings" --cancel-label="Back" \
|
choice=$(zenity --list --title="RetroDECK Configurator Utility - Global: Presets & Settings" --cancel-label="Back" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||||
--column="Choice" --column="Action" \
|
--column="Choice" --column="Action" \
|
||||||
"Enable/Disable Widescreen" "Enable or disable widescreen in supported systems" \
|
"Widescreen: Enable/Disable" "Enable or disable widescreen in supported systems" \
|
||||||
"RetroAchievements Login" "Log into the RetroAchievements service in supported systems" \
|
"Ask-to-Exit: Enable/Disable" "Enable or disable emulators confirming when quitting in supported systems" \
|
||||||
"RetroAchievements Logout" "Disable RetroAchievements service in supported systems" \
|
"RetroAchievements: Login" "Log into the RetroAchievements service in supported systems" \
|
||||||
"RetroAchievements Hardcore Mode" "Enable RetroAchievements hardcore mode (no cheats, rewind, save states etc.) in supported emulators" \
|
"RetroAchievements: Logout" "Disable RetroAchievements service in ALL supported systems" \
|
||||||
"Nintendo Button Layout" "Enable or disable Nintendo button layout (swapped A/B and X/Y) in supported systems" )
|
"RetroAchievements: Hardcore Mode" "Enable RetroAchievements hardcore mode (no cheats, rewind, save states etc.) in supported emulators" \
|
||||||
|
"Swap A/B and X/Y Buttons" "Enable or disable a swapped A/B and X/Y button layout in supported systems" \
|
||||||
|
"RetroDECK: Change Update Check Setting" "Enable or disable online checks for new versions of RetroDECK" )
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
|
|
||||||
"Enable/Disable Widescreen" )
|
"Widescreen: Enable/Disable" )
|
||||||
change_preset_dialog "widescreen"
|
change_preset_dialog "widescreen"
|
||||||
configurator_global_presets_and_settings_dialog
|
configurator_global_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"RetroAchievements Login" )
|
"Ask-to-Exit: Enable/Disable" )
|
||||||
|
change_preset_dialog "ask_to_exit"
|
||||||
|
configurator_global_presets_and_settings_dialog
|
||||||
|
;;
|
||||||
|
|
||||||
|
"RetroAchievements: Login" )
|
||||||
local cheevos_creds=$(get_cheevos_token_dialog)
|
local cheevos_creds=$(get_cheevos_token_dialog)
|
||||||
if [[ ! "$cheevos_creds" == "failed" ]]; then
|
if [[ ! "$cheevos_creds" == "failed" ]]; then
|
||||||
configurator_generic_dialog "RetroDECK Configurator Utility - RetroAchievements" "RetroAchievements login successful, please select systems you would like to enable achievements for in the next dialog."
|
configurator_generic_dialog "RetroDECK Configurator Utility - RetroAchievements" "RetroAchievements login successful, please select systems you would like to enable achievements for in the next dialog."
|
||||||
|
@ -201,21 +212,30 @@ configurator_global_presets_and_settings_dialog() {
|
||||||
configurator_global_presets_and_settings_dialog
|
configurator_global_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"RetroAchievements Logout" ) # This is a workaround to allow disabling cheevos without having to enter login credentials
|
"RetroAchievements: Logout" ) # This is a workaround to allow disabling cheevos without having to enter login credentials
|
||||||
change_preset_dialog "cheevos"
|
local cheevos_emulators=$(sed -n '/\[cheevos\]/, /\[/{ /\[cheevos\]/! { /\[/! p } }' $rd_conf | sed '/^$/d')
|
||||||
|
for emulator in $cheevos_emulators; do
|
||||||
|
set_setting_value "$rdconf" "$emulator" "false" "retrodeck" "cheevos"
|
||||||
|
build_preset_config "$emulator" "cheevos"
|
||||||
|
done
|
||||||
|
configurator_generic_dialog "RetroDECK Configurator Utility - RetroAchievements" "RetroAchievements has been disabled in all supported systems."
|
||||||
configurator_global_presets_and_settings_dialog
|
configurator_global_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"RetroAchievements Hardcore Mode" )
|
"RetroAchievements: Hardcore Mode" )
|
||||||
change_preset_dialog "cheevos_hardcore"
|
change_preset_dialog "cheevos_hardcore"
|
||||||
configurator_global_presets_and_settings_dialog
|
configurator_global_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Nintendo Button Layout" )
|
"Swap A/B and X/Y Buttons" )
|
||||||
change_preset_dialog "nintendo_button_layout"
|
change_preset_dialog "nintendo_button_layout"
|
||||||
configurator_global_presets_and_settings_dialog
|
configurator_global_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"RetroDECK: Change Update Check Setting" )
|
||||||
|
configurator_online_update_setting_dialog
|
||||||
|
;;
|
||||||
|
|
||||||
"" ) # No selection made or Back button clicked
|
"" ) # No selection made or Back button clicked
|
||||||
configurator_presets_and_settings_dialog
|
configurator_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
@ -223,21 +243,49 @@ configurator_global_presets_and_settings_dialog() {
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
configurator_online_update_setting_dialog() {
|
||||||
|
if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then
|
||||||
|
zenity --question \
|
||||||
|
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
--title "RetroDECK Configurator - RetroDECK Online Update Check" \
|
||||||
|
--text="Online update checks for RetroDECK are currently enabled.\n\nDo you want to disable them?"
|
||||||
|
|
||||||
|
if [ $? == 0 ] # User clicked "Yes"
|
||||||
|
then
|
||||||
|
set_setting_value $rd_conf "update_check" "false" retrodeck "options"
|
||||||
|
else # User clicked "Cancel"
|
||||||
|
configurator_global_presets_and_settings_dialog
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
zenity --question \
|
||||||
|
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
--title "RetroDECK Configurator - RetroDECK Online Update Check" \
|
||||||
|
--text="Online update checks for RetroDECK are currently disabled.\n\nDo you want to enable them?"
|
||||||
|
|
||||||
|
if [ $? == 0 ] # User clicked "Yes"
|
||||||
|
then
|
||||||
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
|
else # User clicked "Cancel"
|
||||||
|
configurator_global_presets_and_settings_dialog
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
configurator_retroarch_presets_and_settings_dialog() {
|
configurator_retroarch_presets_and_settings_dialog() {
|
||||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroArch: Presets & Settings" --cancel-label="Back" \
|
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroArch: Presets & Settings" --cancel-label="Back" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||||
--column="Choice" --column="Action" \
|
--column="Choice" --column="Action" \
|
||||||
"Enable/Disable Borders" "Enable or disable borders in supported systems" \
|
"Borders: Enable/Disable" "Enable or disable borders in supported systems" \
|
||||||
"Enable/Disable Rewind" "Enable or disable the Rewind function in RetroArch." )
|
"Rewind: Enable/Disable" "Enable or disable the Rewind function in RetroArch." )
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
|
|
||||||
"Enable/Disable Borders" )
|
"Borders: Enable/Disable" )
|
||||||
change_preset_dialog "borders"
|
change_preset_dialog "borders"
|
||||||
configurator_retroarch_presets_and_settings_dialog
|
configurator_retroarch_presets_and_settings_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Enable/Disable Rewind" )
|
"Rewind: Enable/Disable" )
|
||||||
configurator_retroarch_rewind_dialog
|
configurator_retroarch_rewind_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -481,24 +529,23 @@ configurator_retrodeck_tools_dialog() {
|
||||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \
|
choice=$(zenity --list --title="RetroDECK Configurator Utility - RetroDECK: Tools" --cancel-label="Back" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||||
--column="Choice" --column="Action" \
|
--column="Choice" --column="Action" \
|
||||||
"RetroDECK: Move Tool" "Move RetroDECK folders between internal/SD card or to a custom location" \
|
"Tool: Move Folders" "Move RetroDECK folders between internal/SD card or to a custom location" \
|
||||||
"RetroDECK: Compression Tool" "Compress games for systems that support it" \
|
"Tool: Compress Games" "Compress games for systems that support it" \
|
||||||
"Install: RetroDECK Controller Profile" "Install the optional custom RetroDECK controller profile" \
|
"Install: RetroDECK SD Controller Profile" "Install the custom RetroDECK controller layout for the Steam Deck" \
|
||||||
"Install: RetroDECK Starter Pack" "Install the optional RetroDECK starter pack" \
|
|
||||||
"Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" )
|
"Install: PS3 Firmware" "Download and install PS3 firmware for use with the RPCS3 emulator" )
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
|
|
||||||
"RetroDECK: Move Tool" )
|
"Tool: Move Folders" )
|
||||||
configurator_retrodeck_move_tool_dialog
|
configurator_retrodeck_move_tool_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"RetroDECK: Compression Tool" )
|
"Tool: Compress Games" )
|
||||||
configurator_generic_dialog "RetroDECK Configurator - Compression Tool" "Depending on your library and compression choices, the process can sometimes take a long time.\nPlease be patient once it is started!"
|
configurator_generic_dialog "RetroDECK Configurator - Compression Tool" "Depending on your library and compression choices, the process can sometimes take a long time.\nPlease be patient once it is started!"
|
||||||
configurator_compression_tool_dialog
|
configurator_compression_tool_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Install: RetroDECK Controller Profile" )
|
"Install: RetroDECK SD Controller Profile" )
|
||||||
configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf"
|
configurator_generic_dialog "RetroDECK Configurator - Install: RetroDECK Controller Profile" "We are now offering a new official RetroDECK controller profile!\nIt is an optional component that helps you get the most out of RetroDECK with a new in-game radial menu for unified hotkeys across emulators.\n\nThe files need to be installed outside of the normal ~/retrodeck folder, so we wanted your permission before proceeding.\n\nThe files will be installed at the following shared Steam locations:\n\n$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/\n$HOME/.steam/steam/controller_base/templates/RetroDECK_controller_config.vdf"
|
||||||
if [[ $(configurator_generic_question_dialog "Install: RetroDECK Controller Profile" "Would you like to install the official RetroDECK controller profile?") == "true" ]]; then
|
if [[ $(configurator_generic_question_dialog "Install: RetroDECK Controller Profile" "Would you like to install the official RetroDECK controller profile?") == "true" ]]; then
|
||||||
install_retrodeck_controller_profile
|
install_retrodeck_controller_profile
|
||||||
|
@ -507,13 +554,6 @@ configurator_retrodeck_tools_dialog() {
|
||||||
configurator_retrodeck_tools_dialog
|
configurator_retrodeck_tools_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Install: RetroDECK Starter Pack" )
|
|
||||||
if [[ $(configurator_generic_question_dialog "Install: RetroDECK Starter Pack" "The RetroDECK creators have put together a collection of classic retro games you might enjoy!\n\nWould you like to have them automatically added to your library?") == "true" ]]; then
|
|
||||||
install_retrodeck_starterpack
|
|
||||||
fi
|
|
||||||
configurator_retrodeck_tools_dialog
|
|
||||||
;;
|
|
||||||
|
|
||||||
"Install: PS3 Firmware" )
|
"Install: PS3 Firmware" )
|
||||||
if [[ $(check_network_connectivity) == "true" ]]; then
|
if [[ $(check_network_connectivity) == "true" ]]; then
|
||||||
configurator_generic_dialog "RetroDECK Configurator - Install: PS3 firmware" "This tool will download firmware required by RPCS3 to emulate PS3 games.\n\nThe process will take several minutes, and the emulator will launch to finish the installation.\nPlease close RPCS3 manually once the installation is complete."
|
configurator_generic_dialog "RetroDECK Configurator - Install: PS3 firmware" "This tool will download firmware required by RPCS3 to emulate PS3 games.\n\nThe process will take several minutes, and the emulator will launch to finish the installation.\nPlease close RPCS3 manually once the installation is complete."
|
||||||
|
@ -1070,9 +1110,9 @@ configurator_developer_dialog() {
|
||||||
--column="Choice" --column="Description" \
|
--column="Choice" --column="Description" \
|
||||||
"Change Multi-user mode" "Enable or disable multi-user support" \
|
"Change Multi-user mode" "Enable or disable multi-user support" \
|
||||||
"Change Update Channel" "Change between normal and cooker builds" \
|
"Change Update Channel" "Change between normal and cooker builds" \
|
||||||
"Change Update Check Setting" "Enable or disable online checks for new versions of RetroDECK" \
|
|
||||||
"Browse the Wiki" "Browse the RetroDECK wiki online" \
|
"Browse the Wiki" "Browse the RetroDECK wiki online" \
|
||||||
"USB Import" "Prepare a USB device for ROMs or import an existing collection" )
|
"USB Import" "Prepare a USB device for ROMs or import an existing collection" \
|
||||||
|
"Install RetroDECK Starter Pack" "Install the optional RetroDECK starter pack" )
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
|
|
||||||
|
@ -1084,18 +1124,22 @@ configurator_developer_dialog() {
|
||||||
configurator_online_update_channel_dialog
|
configurator_online_update_channel_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Change Update Check Setting" )
|
|
||||||
configurator_online_update_setting_dialog
|
|
||||||
;;
|
|
||||||
|
|
||||||
"Browse the Wiki" )
|
"Browse the Wiki" )
|
||||||
xdg-open "https://github.com/XargonWan/RetroDECK/wiki"
|
xdg-open "https://github.com/XargonWan/RetroDECK/wiki"
|
||||||
|
configurator_developer_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"USB Import" )
|
"USB Import" )
|
||||||
configurator_usb_import_dialog
|
configurator_usb_import_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
"Install RetroDECK Starter Pack" )
|
||||||
|
if [[ $(configurator_generic_question_dialog "Install: RetroDECK Starter Pack" "The RetroDECK creators have put together a collection of classic retro games you might enjoy!\n\nWould you like to have them automatically added to your library?") == "true" ]]; then
|
||||||
|
install_retrodeck_starterpack
|
||||||
|
fi
|
||||||
|
configurator_developer_dialog
|
||||||
|
;;
|
||||||
|
|
||||||
"" ) # No selection made or Back button clicked
|
"" ) # No selection made or Back button clicked
|
||||||
configurator_welcome_dialog
|
configurator_welcome_dialog
|
||||||
;;
|
;;
|
||||||
|
@ -1158,34 +1202,6 @@ configurator_online_update_channel_dialog() {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_online_update_setting_dialog() {
|
|
||||||
if [[ $(get_setting_value $rd_conf "update_check" retrodeck "options") == "true" ]]; then
|
|
||||||
zenity --question \
|
|
||||||
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
|
||||||
--title "RetroDECK Configurator - RetroDECK Online Update Check" \
|
|
||||||
--text="Online update checks for RetroDECK are currently enabled.\n\nDo you want to disable them?"
|
|
||||||
|
|
||||||
if [ $? == 0 ] # User clicked "Yes"
|
|
||||||
then
|
|
||||||
set_setting_value $rd_conf "update_check" "false" retrodeck "options"
|
|
||||||
else # User clicked "Cancel"
|
|
||||||
configurator_developer_dialog
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
zenity --question \
|
|
||||||
--no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
|
||||||
--title "RetroDECK Configurator - RetroDECK Online Update Check" \
|
|
||||||
--text="Online update checks for RetroDECK are currently disabled.\n\nDo you want to enable them?"
|
|
||||||
|
|
||||||
if [ $? == 0 ] # User clicked "Yes"
|
|
||||||
then
|
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
|
||||||
else # User clicked "Cancel"
|
|
||||||
configurator_developer_dialog
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
configurator_usb_import_dialog() {
|
configurator_usb_import_dialog() {
|
||||||
choice=$(zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \
|
choice=$(zenity --list --title="RetroDECK Configurator Utility - Developer Options" --cancel-label="Back" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --width=1200 --height=720 \
|
||||||
|
@ -1275,18 +1291,6 @@ configurator_usb_import_dialog() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Functions to run at exit, without keeping Configurator running in background
|
|
||||||
|
|
||||||
launch_retrodeck_after_configurator_close() {
|
|
||||||
if [[ $(check_desktop_mode) == "true" && "$launched_from_cli" == "true" ]]; then
|
|
||||||
if [[ $(configurator_generic_question_dialog "RetroDECK Configurator" "Would you like to launch RetroDECK after closing the Configurator?") == "true" ]]; then
|
|
||||||
start_retrodeck
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
trap 'launch_retrodeck_after_configurator_close' EXIT
|
|
||||||
|
|
||||||
# START THE CONFIGURATOR
|
# START THE CONFIGURATOR
|
||||||
|
|
||||||
configurator_welcome_dialog
|
configurator_welcome_dialog
|
||||||
|
|
Loading…
Reference in a new issue