mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2025-02-17 03:45:38 +00:00
Merge pull request #261 from icenine451/cooker-0.6.2b-icenine451
Cooker 0.6.2b icenine451
This commit is contained in:
commit
55c16d3255
|
@ -9,4 +9,5 @@ themes_folder=/home/deck/retrodeck/themes
|
||||||
logs_folder=/home/deck/retrodeck/.logs
|
logs_folder=/home/deck/retrodeck/.logs
|
||||||
sdcard=/run/media/mmcblk0p1
|
sdcard=/run/media/mmcblk0p1
|
||||||
|
|
||||||
power_user=false
|
power_user_warning=true
|
||||||
|
desktop_mode_warning=true
|
23
functions.sh
23
functions.sh
|
@ -166,12 +166,25 @@ validate_for_chd () {
|
||||||
|
|
||||||
desktop_mode_warning() {
|
desktop_mode_warning() {
|
||||||
# This function is a generic warning for issues that happen when running in desktop mode.
|
# This function is a generic warning for issues that happen when running in desktop mode.
|
||||||
# Running in desktop mode can be verified with the following command: if [[ $XDG_CURRENT_DESKTOP == "KDE" ]]; then
|
# Running in desktop mode can be verified with the following command: if [[ ! $XDG_CURRENT_DESKTOP == "gamescope" ]]; then
|
||||||
|
# This function will check if desktop mode is currently being used and if the warning has not been disabled, and show it if needed.
|
||||||
|
|
||||||
zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap \
|
if [[ ! $XDG_CURRENT_DESKTOP == "gamescope" ]]; then
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
if [[ $desktop_mode_warning == "true" ]]; then
|
||||||
--title "RetroDECK Desktop Mode Warning" \
|
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \
|
||||||
--text="You appear to be running RetroDECK in the Steam Deck's Desktop mode!\n\nSome functions of RetroDECK may not work properly in Desktop mode, such as the Steam Deck's normal controls.\n\nRetroDECK is best enjoyed in Game mode!"
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
--title "RetroDECK Desktop Mode Warning" \
|
||||||
|
--text="You appear to be running RetroDECK in the Steam Deck's Desktop mode!\n\nSome functions of RetroDECK may not work properly in Desktop mode, such as the Steam Deck's normal controls.\n\nRetroDECK is best enjoyed in Game mode!\n\nDo you still want to proceed?")
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
rc=$? # Capture return code, as "Yes" button has no text value
|
||||||
|
if [[ $rc == "1" ]]; then # If any button other than "Yes" was clicked
|
||||||
|
if [[ $choice == "No" ]]; then
|
||||||
|
exit 1
|
||||||
|
elif [[ $choice == "Never show this again" ]]; then
|
||||||
|
set_setting_value $rd_conf "desktop_mode_warning" "false" retrodeck # Store desktop mode warning variable for future checks
|
||||||
|
fi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
set_setting_value() {
|
set_setting_value() {
|
||||||
|
|
|
@ -135,11 +135,9 @@ else
|
||||||
finit # Executing First/Force init
|
finit # Executing First/Force init
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check if running in Desktop mode and warn if true
|
# Check if running in Desktop mode and warn if true, unless desktop_mode_warning=false in retrodeck.cfg
|
||||||
|
|
||||||
if [[ $XDG_CURRENT_DESKTOP == "KDE" ]]; then
|
desktop_mode_warning
|
||||||
desktop_mode_warning
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Normal Startup
|
# Normal Startup
|
||||||
|
|
||||||
|
|
|
@ -1,16 +1,25 @@
|
||||||
scph5500.bin^8dd7d5296a650fac7319bce665a6a53c^PSX^PS1 JP BIOS
|
psxonpsp660.bin^^c53ca5908936d412331790f4426c6c33^PSX^PS1 BIOS
|
||||||
scph5501.bin^490f666e1afb15b7362b406ed1cea246^PSX^PS1 US BIOS
|
scph5500.bin^^8dd7d5296a650fac7319bce665a6a53c^PSX^PS1 JP BIOS
|
||||||
scph5502.bin^32736f17079d0b2b7024407c39bd3050^PSX^PS1 EU BIOS
|
scph5501.bin^^490f666e1afb15b7362b406ed1cea246^PSX^PS1 US BIOS
|
||||||
ps2-0200a-20040614.bin^d333558cc14561c1fdc334c75d5f37b7^PS2^PS2 US BIOS
|
scph5502.bin^^32736f17079d0b2b7024407c39bd3050^PSX^PS1 EU BIOS
|
||||||
ps2-0200e-20040614.bin^dc752f160044f2ed5fc1f4964db2a095^PS2^PS2 EU BIOS
|
ps1_rom.bin^^81bbe60ba7a3d1cea1d48c14cbcc647b^PSX^PS1 BIOS
|
||||||
ps2-0200j-20040614.bin^0eee5d1c779aa50e94edd168b4ebf42e^PS2^PS2 JP BIOS
|
ps2-0200a-20040614.bin^^d333558cc14561c1fdc334c75d5f37b7^PS2^PS2 US BIOS
|
||||||
bios_CD_E.bin^e66fa1dc5820d254611fdcdba0662372^SegaCD^MegaCD EU BIOS
|
ps2-0200e-20040614.bin^^dc752f160044f2ed5fc1f4964db2a095^PS2^PS2 EU BIOS
|
||||||
bios_CD_U.bin^854b9150240a198070150e4566ae1290^SegaCD^SegaCD US BIOS
|
ps2-0200j-20040614.bin^^0eee5d1c779aa50e94edd168b4ebf42e^PS2^PS2 JP BIOS
|
||||||
bios_CD_J.bin^278a9397d192149e84e820ac621a8edd^SegaCD^MegaCD JP BIOS
|
bios_CD_E.bin^^e66fa1dc5820d254611fdcdba0662372^SegaCD^MegaCD EU BIOS
|
||||||
sega_101.bin^85ec9ca47d8f6807718151cbcca8b964^Sega Saturn^Saturn JP BIOS
|
bios_CD_U.bin^^854b9150240a198070150e4566ae1290^SegaCD^SegaCD US BIOS
|
||||||
mpr-17933.bin^3240872c70984b6cbfda1586cab68dbe^Sega Saturn^Saturn US.mdEU BIOS
|
bios_CD_J.bin^^278a9397d192149e84e820ac621a8edd^SegaCD^MegaCD JP BIOS
|
||||||
mpr-18811-mx.ic1^255113ba943c92a54facd25a10fd780c^Sega Saturn^The King of Fighters 95 ROM Cartridge - Required for this game
|
sega_101.bin^^85ec9ca47d8f6807718151cbcca8b964^Sega Saturn^Saturn JP BIOS
|
||||||
mpr-19367-mx.ic1^1cd19988d1d72a3e7caa0b73234c96b4^Sega Saturn^Ultraman: Hikari no Kyojin Densetsu ROM Cartridge - Required for this game
|
mpr-17933.bin^^3240872c70984b6cbfda1586cab68dbe^Sega Saturn^Saturn US.mdEU BIOS
|
||||||
bios7.bin^df692a80a5b1bc90728bc3dfc76cd948^Nintendo DS^Used by MelonDS emulator
|
mpr-18811-mx.ic1^^255113ba943c92a54facd25a10fd780c^Sega Saturn^The King of Fighters 95 ROM Cartridge - Required for this game
|
||||||
bios9.bin^a392174eb3e572fed6447e956bde4b25^Nintendo DS^Used by MelonDS emulator
|
mpr-19367-mx.ic1^^1cd19988d1d72a3e7caa0b73234c96b4^Sega Saturn^Ultraman: Hikari no Kyojin Densetsu ROM Cartridge - Required for this game
|
||||||
firmware.bin^93276d8629990f50a90950ea083ab348^Nintendo DS^Used by MelonDS emulator
|
bios7.bin^^df692a80a5b1bc90728bc3dfc76cd948^Nintendo DS^Used by MelonDS emulator
|
||||||
|
bios9.bin^^a392174eb3e572fed6447e956bde4b25^Nintendo DS^Used by MelonDS emulator
|
||||||
|
firmware.bin^^93276d8629990f50a90950ea083ab348^Nintendo DS^Used by MelonDS emulator
|
||||||
|
mcpx_1.0.bin^^d49c52a4102f6df7bcf8d0617ac475ed^XBOX^Used by XEMU emulator
|
||||||
|
Complex.bin^^Unknown^XBOX^Used by XEMU emulator
|
||||||
|
Complex_4627v1.03.bin^^Unknown^XBOX^Used by XEMU emulator
|
||||||
|
Complex_4627.bin^^Unknown^XBOX^Used by XEMU emulator
|
||||||
|
eeprom.bin^^Unknown^XBOX^Used by XEMU emulator
|
||||||
|
prod.keys^switch/keys/^Unknown^Switch^A required file for Switch emulation in Yuzu
|
||||||
|
title.keys^switch/keys/^Unknown^Switch^A required file for Switch emulation in Yuzu
|
|
@ -197,95 +197,95 @@ configurator_retroachivement_dialog() {
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_power_user_warning_dialog() {
|
configurator_power_user_warning_dialog() {
|
||||||
zenity --title "RetroDECK Configurator Utility - Power User Options" --question --no-wrap --cancel-label="Back" \
|
if [[ $power_user_warning == "true" ]]; then
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
choice=$(zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Never show this again" \
|
||||||
--text="Making manual changes to an emulators configuration may create serious issues,\nand some settings may be overwitten during RetroDECK updates.\n\nSome standalone emulator functions may not work properly outside of Desktop mode.\n\nPlease continue only if you know what you're doing.\n\nDo you want to continue?\n\nClicking Yes will set you as a Power User and you will not see this dialog again."
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
--title "RetroDECK Desktop Mode Warning" \
|
||||||
if [ $? == 0 ]; then # OK button clicked
|
--text="Making manual changes to an emulators configuration may create serious issues,\nand some settings may be overwitten during RetroDECK updates.\n\nSome standalone emulator functions may not work properly outside of Desktop mode.\n\nPlease continue only if you know what you're doing.\n\nDo you want to continue?")
|
||||||
power_user="true"
|
fi
|
||||||
set_setting_value $rd_conf "power_user" "$power_user" retrodeck # Store power user variable for future checks
|
rc=$? # Capture return code, as "Yes" button has no text value
|
||||||
|
if [[ $rc == "0" ]]; then # If user clicked "Yes"
|
||||||
|
configurator_power_user_changes_dialog
|
||||||
|
else # If any button other than "Yes" was clicked
|
||||||
|
if [[ $choice == "No" ]]; then
|
||||||
|
configurator_welcome_dialog
|
||||||
|
elif [[ $choice == "Never show this again" ]]; then
|
||||||
|
set_setting_value $rd_conf "power_user_warning" "false" retrodeck # Store desktop mode warning variable for future checks
|
||||||
|
configurator_power_user_changes_dialog
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_power_user_changes_dialog() {
|
configurator_power_user_changes_dialog() {
|
||||||
if [[ $power_user == "true" ]]; then
|
emulator=$(zenity --list \
|
||||||
emulator=$(zenity --list \
|
--title "RetroDECK Configurator Utility - Power User Options" --cancel-label="Back" \
|
||||||
--title "RetroDECK Configurator Utility - Power User 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 \
|
--text="Which emulator do you want to configure?" \
|
||||||
--text="Which emulator do you want to configure?" \
|
--hide-header \
|
||||||
--hide-header \
|
--column=emulator \
|
||||||
--column=emulator \
|
"RetroArch" \
|
||||||
"RetroArch" \
|
"Citra" \
|
||||||
"Citra" \
|
"Dolphin" \
|
||||||
"Dolphin" \
|
"Duckstation" \
|
||||||
"Duckstation" \
|
"MelonDS" \
|
||||||
"MelonDS" \
|
"PCSX2" \
|
||||||
"PCSX2" \
|
"PPSSPP" \
|
||||||
"PPSSPP" \
|
"Primehack" \
|
||||||
"Primehack" \
|
"RPCS3" \
|
||||||
"RPCS3" \
|
"XEMU" \
|
||||||
"XEMU" \
|
"Yuzu")
|
||||||
"Yuzu")
|
|
||||||
|
|
||||||
case $emulator in
|
case $emulator in
|
||||||
|
|
||||||
"RetroArch" )
|
"RetroArch" )
|
||||||
retroarch
|
retroarch
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Citra" )
|
"Citra" )
|
||||||
citra-qt
|
citra-qt
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Dolphin" )
|
"Dolphin" )
|
||||||
dolphin-emu
|
dolphin-emu
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Duckstation" )
|
"Duckstation" )
|
||||||
duckstation-qt
|
duckstation-qt
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"MelonDS" )
|
"MelonDS" )
|
||||||
melonDS
|
melonDS
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"PCSX2" )
|
"PCSX2" )
|
||||||
pcsx2-qt
|
pcsx2-qt
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"PPSSPP" )
|
"PPSSPP" )
|
||||||
PPSSPPSDL
|
PPSSPPSDL
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Primehack" )
|
"Primehack" )
|
||||||
primehack-wrapper
|
primehack-wrapper
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"RPCS3" )
|
"RPCS3" )
|
||||||
rpcs3
|
rpcs3
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"XEMU" )
|
"XEMU" )
|
||||||
xemu
|
xemu
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Yuzu" )
|
"Yuzu" )
|
||||||
yuzu
|
yuzu
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"" ) # No selection made or Back button clicked
|
"" ) # No selection made or Back button clicked
|
||||||
configurator_welcome_dialog
|
configurator_welcome_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
esac
|
esac
|
||||||
else
|
|
||||||
configurator_power_user_warning_dialog
|
|
||||||
if [[ $power_user == "true" ]]; then
|
|
||||||
configurator_power_user_changes_dialog
|
|
||||||
else
|
|
||||||
configurator_welcome_dialog
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_retroarch_rewind_dialog() {
|
configurator_retroarch_rewind_dialog() {
|
||||||
|
@ -367,7 +367,7 @@ configurator_compress_single_game_dialog() {
|
||||||
|
|
||||||
configurator_compress_games_dialog() {
|
configurator_compress_games_dialog() {
|
||||||
# This is currently a placeholder for a dialog where you can compress a single game or multiple at once. Currently only the single game option is available, so is launched by default.
|
# This is currently a placeholder for a dialog where you can compress a single game or multiple at once. Currently only the single game option is available, so is launched by default.
|
||||||
|
|
||||||
configurator_generic_dialog "This utility will compress a single game into .CHD format.\n\nPlease select the game to be compressed in the next dialog: supported file types are .cue, .iso and .gdi\n\nThe original game files will be untouched and will need to be removed manually."
|
configurator_generic_dialog "This utility will compress a single game into .CHD format.\n\nPlease select the game to be compressed in the next dialog: supported file types are .cue, .iso and .gdi\n\nThe original game files will be untouched and will need to be removed manually."
|
||||||
configurator_compress_single_game_dialog
|
configurator_compress_single_game_dialog
|
||||||
}
|
}
|
||||||
|
@ -386,16 +386,46 @@ configurator_check_multifile_game_structure() {
|
||||||
configurator_troubleshooting_tools_dialog
|
configurator_troubleshooting_tools_dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
configurator_check_bios_files() {
|
configurator_check_bios_files_basic() {
|
||||||
|
configurator_generic_dialog "This check will look for BIOS files that RetroDECK has identified as working.\n\nThere may be additional BIOS files that will function with the emulators that are not checked.\n\nSome more advanced emulators such as Yuzu will have additional methods for verifiying the BIOS files are in working order."
|
||||||
bios_checked_list=()
|
bios_checked_list=()
|
||||||
|
|
||||||
while IFS="^" read -r bios_file bios_hash bios_system bios_desc
|
while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc
|
||||||
do
|
do
|
||||||
bios_file_found="No"
|
bios_file_found="No"
|
||||||
bios_hash_matched="No"
|
bios_hash_matched="No"
|
||||||
if [[ -f "$bios_folder/$bios_file" ]]; then
|
if [[ -f "$bios_dir/$bios_subdir$bios_file" ]]; then
|
||||||
bios_file_found="Yes"
|
bios_file_found="Yes"
|
||||||
if [[ $(md5sum "$bios_folder/$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then
|
if [[ $bios_hash == "Unknown" ]]; then
|
||||||
|
bios_hash_matched="Unknown"
|
||||||
|
elif [[ $(md5sum "$bios_dir/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then
|
||||||
|
bios_hash_matched="Yes"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ $bios_file_found == "Yes" && ($bios_hash_matched == "Yes" || $bios_hash_matched == "Unknown") && ! " ${bios_checked_list[*]} " =~ " ${bios_system} " ]]; then
|
||||||
|
bios_checked_list=("${bios_checked_list[@]}" "$bios_system" )
|
||||||
|
fi
|
||||||
|
done < $bios_checklist
|
||||||
|
systems_with_bios=${bios_checked_list[@]}
|
||||||
|
|
||||||
|
configurator_generic_dialog "The following systems have been found to have at least one valid BIOS file.\n\n$systems_with_bios\n\nFor more information on the BIOS files found please use the Advanced check tool."
|
||||||
|
|
||||||
|
configurator_troubleshooting_tools_dialog
|
||||||
|
}
|
||||||
|
|
||||||
|
configurator_check_bios_files_advanced() {
|
||||||
|
configurator_generic_dialog "This check will look for BIOS files that RetroDECK has identified as working.\n\nThere may be additional BIOS files that will function with the emulators that are not checked.\n\nSome more advanced emulators such as Yuzu will have additional methods for verifiying the BIOS files are in working order."
|
||||||
|
bios_checked_list=()
|
||||||
|
|
||||||
|
while IFS="^" read -r bios_file bios_subdir bios_hash bios_system bios_desc
|
||||||
|
do
|
||||||
|
bios_file_found="No"
|
||||||
|
bios_hash_matched="No"
|
||||||
|
if [[ -f "$bios_dir/$bios_subdir$bios_file" ]]; then
|
||||||
|
bios_file_found="Yes"
|
||||||
|
if [[ $bios_hash == "Unknown" ]]; then
|
||||||
|
bios_hash_matched="Unknown"
|
||||||
|
elif [[ $(md5sum "$bios_dir/$bios_subdir$bios_file" | awk '{ print $1 }') == "$bios_hash" ]]; then
|
||||||
bios_hash_matched="Yes"
|
bios_hash_matched="Yes"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -419,7 +449,8 @@ configurator_troubleshooting_tools_dialog() {
|
||||||
--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" \
|
||||||
"Multi-file game structure check" "Verify the proper structure of multi-file or multi-disc games" \
|
"Multi-file game structure check" "Verify the proper structure of multi-file or multi-disc games" \
|
||||||
"BIOS file check" "Verify the existence and file integrity of common BIOS files" )
|
"Basic BIOS file check" "Show a list of systems that BIOS files are found for" \
|
||||||
|
"Advanced BIOS file check" "Show advanced information about common BIOS files" )
|
||||||
|
|
||||||
case $choice in
|
case $choice in
|
||||||
|
|
||||||
|
@ -427,8 +458,12 @@ configurator_troubleshooting_tools_dialog() {
|
||||||
configurator_check_multifile_game_structure
|
configurator_check_multifile_game_structure
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"BIOS file check" )
|
"Basic BIOS file check" )
|
||||||
configurator_check_bios_files
|
configurator_check_bios_files_basic
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Advanced BIOS file check" )
|
||||||
|
configurator_check_bios_files_advanced
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"" ) # No selection made or Back button clicked
|
"" ) # No selection made or Back button clicked
|
||||||
|
@ -622,7 +657,7 @@ configurator_welcome_dialog() {
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Change Standalone Emulator Options" )
|
"Change Standalone Emulator Options" )
|
||||||
configurator_power_user_changes_dialog
|
configurator_power_user_warning_dialog
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"Compress Games" )
|
"Compress Games" )
|
||||||
|
|
Loading…
Reference in a new issue