diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index b5c5c6bc..c541f5ee 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -25,4 +25,4 @@ hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solar hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip -hash^RETRODECKLIME3DSLATEST^https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-lime3ds-Artifact.tar.gz \ No newline at end of file +#hash^RETRODECKLIME3DSLATEST^https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-lime3ds-Artifact.tar.gz \ No newline at end of file diff --git a/config/citra/qt-config.ini b/config/lime3ds/qt-config.ini similarity index 97% rename from config/citra/qt-config.ini rename to config/lime3ds/qt-config.ini index 989f06ee..be4d1749 100644 --- a/config/citra/qt-config.ini +++ b/config/lime3ds/qt-config.ini @@ -3,6 +3,8 @@ audio_emulation=0 audio_emulation\default=true enable_audio_stretching=true enable_audio_stretching\default=true +enable_realtime_audio=false +enable_realtime_audio\default=true input_device=auto input_device\default=true input_type=0 @@ -112,9 +114,9 @@ use_cpu_jit=true use_cpu_jit\default=true [Data%20Storage] -nand_directory=RETRODECKHOMEDIR/saves/n3ds/citra/nand/ +nand_directory=RETRODECKHOMEDIR/saves/n3ds/lime3ds/nand/ nand_directory\default=false -sdmc_directory=RETRODECKHOMEDIR/saves/n3ds/citra/sdmc/ +sdmc_directory=RETRODECKHOMEDIR/saves/n3ds/lime3ds/sdmc/ sdmc_directory\default=false use_custom_storage=true use_custom_storage\default=false @@ -430,10 +432,10 @@ Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context=2 Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context\default=true Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq=Ctrl+2 Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=false -Shortcuts\Main%20Window\Exit%20Citra\Context=1 -Shortcuts\Main%20Window\Exit%20Citra\Context\default=true -Shortcuts\Main%20Window\Exit%20Citra\KeySeq=Ctrl+Q -Shortcuts\Main%20Window\Exit%20Citra\KeySeq\default=true +Shortcuts\Main%20Window\Exit%20Lime3DS\Context=1 +Shortcuts\Main%20Window\Exit%20Lime3DS\Context\default=true +Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq=Ctrl+Q +Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq\default=true Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1 Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Ctrl+O @@ -614,9 +616,9 @@ video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1, video_encoder_options\default=true [WebService] -citra_token= -citra_username=RetroDECK +lime3ds_token= +lime3ds_username=RetroDECK enable_telemetry=false enable_telemetry\default=false -web_api_url= -web_api_url\default=false +web_api_url=https://api.citra-emu.org +web_api_url\default=true \ No newline at end of file diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index a0f81899..5635b82c 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -969,20 +969,6 @@ ], "launch": "mame" }, - "citra": { - "description": "Citra Nintendo 3DS Emulator (via Ponzu)", - "name": "Citra (via Ponzu)", - "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", - "system": "n3ds", - "ponzu": true, - "launch": "citra-qt", - "properties": [ - { - "abxy_button": true, - "ask_to_exit": true - } - ] - }, "ruffle": { "description": "Flash Games emulator", "name": "Ruffle", diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index 3b464318..763dfbe4 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -30,7 +30,6 @@ ask_default_user=true default_user= developer_options=false kiroi_ponzu=false -akai_ponzu=false steam_sync=false sound_effects=true volume_effects=10 diff --git a/functions/other_functions.sh b/functions/other_functions.sh index 40b6e3e4..b125944f 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -679,16 +679,12 @@ ponzu() { log d "Checking for Ponzu" local tmp_folder="/tmp/extracted" - local ponzu_files=("$rdhome"/ponzu/Citra*.AppImage "$rdhome"/ponzu/citra*.AppImage "$rdhome"/ponzu/Yuzu*.AppImage "$rdhome"/ponzu/yuzu*.AppImage) + local ponzu_files=("$rdhome"/ponzu/Yuzu*.AppImage "$rdhome"/ponzu/yuzu*.AppImage) local data_dir local appimage local executable # if the binaries are found, ponzu should be set as true into the retrodeck config - if [ -f "/var/data/ponzu/Citra/bin/citra-qt" ]; then - log d "Citra binaries has already been installed, checking for updates and forcing the setting as true." - set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options" - fi if [ -f "/var/data/ponzu/Yuzu/bin/yuzu" ]; then log d "Yuzu binaries has already been installed, checking for updates and forcing the setting as true." set_setting_value $rd_conf "kiroi_ponzu" "true" retrodeck "options" @@ -698,11 +694,7 @@ ponzu() { for ponzu_file in "${ponzu_files[@]}"; do # Check if the current ponzu file exists if [ -f "$ponzu_file" ]; then - if [[ "$ponzu_file" == *itra* ]]; then - log i "Found akai ponzu! Elaborating it" - data_dir="/var/data/ponzu/Citra" - local message="Akai ponzu is served, enjoy" - elif [[ "$ponzu_file" == *uzu* ]]; then + if [[ "$ponzu_file" == *uzu* ]]; then log i "Found kiroi ponzu! Elaborating it" data_dir="/var/data/ponzu/Yuzu" local message="Kiroi ponzu is served, enjoy" @@ -725,15 +717,7 @@ ponzu() { log d "Cleaning up" cp -r squashfs-root/* "$tmp_folder" rm -rf * - if [[ "$ponzu_file" == *itra* ]]; then - mv "$tmp_folder/usr/"** . - executable="$data_dir/bin/citra" - log d "Making $executable and $executable-qt executable" - chmod +x "$executable" - chmod +x "$executable-qt" - prepare_component "reset" "citra" - set_setting_value $rd_conf "akai_ponzu" "true" retrodeck "options" - elif [[ "$ponzu_file" == *uzu* ]]; then + if [[ "$ponzu_file" == *uzu* ]]; then mv "$tmp_folder/usr/"** . executable="$data_dir/bin/yuzu" log d "Making $executable executable" @@ -754,14 +738,7 @@ ponzu_remove() { # Call me with yuzu or citra and I will remove them - if [[ "$1" == "citra" ]]; then - if [[ $(configurator_generic_question_dialog "Ponzu - Remove Citra" "Do you really want to remove Citra binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then - log i "Ponzu: removing Citra" - rm -rf "/var/data/ponzu/Citra" - set_setting_value $rd_conf "akai_ponzu" "false" retrodeck "options" - configurator_generic_dialog "Ponzu - Remove Citra" "Done, Citra is now removed from RetroDECK" - fi - elif [[ "$1" == "yuzu" ]]; then + if [[ "$1" == "yuzu" ]]; then if [[ $(configurator_generic_question_dialog "Ponzu - Remove Yuzu" "Do you really want to remove Yuzu binaries?\n\nYour games and saves will not be deleted.") == "true" ]]; then log i "Ponzu: removing Yuzu" rm -rf "/var/data/ponzu/Yuzu" diff --git a/functions/post_update.sh b/functions/post_update.sh index c7d63330..f06b7d7e 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -442,6 +442,9 @@ post_update() { update_rd_conf prepare_component "reset" "steam-rom-manager" + # migrating from Citra to Lime3DS + mv "$saves_folder/n3ds/citra" "$saves_folder/n3ds/lime3ds" + # TODO: check this # rm /var/config/emulationstation/.emulationstation # remving the old symlink to .emulationstation as it might be not needed anymore # TODO: change RETRODECKHOMEDIR/bios/cemu in config/cemu/settings.xml into RETRODECKHOMEDIR/bios/cemu/mlc diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index a0024745..034d44a1 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -232,49 +232,49 @@ prepare_component() { fi fi - if [[ "$component" =~ ^(citra|citra-emu|all)$ ]]; then - component_found="true" + if [[ "$component" =~ ^(lime3ds|all)$ ]]; then + component_found="true" if [[ "$action" == "reset" ]]; then # Run reset-only commands log i "------------------------" - log i "Prepearing CITRA" + log i "Prepearing Lime3DS" log i "------------------------" if [[ $multi_user_mode == "true" ]]; then # Multi-user actions - create_dir -d "$multi_user_data_folder/$SteamAppUser/config/citra-emu" - cp -fv $config/citra/qt-config.ini "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI" - set_setting_value "$multi_user_data_folder/$SteamAppUser/config/citra-emu/qt-config.ini" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI" - dir_prep "$multi_user_data_folder/$SteamAppUser/config/citra-emu" "/var/config/citra-emu" + create_dir -d "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu" + cp -fv $config/lime3ds/qt-config.ini "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI" + set_setting_value "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu/qt-config.ini" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI" + dir_prep "$multi_user_data_folder/$SteamAppUser/config/lime3ds-emu" "/var/config/lime3ds-emu" else # Single-user actions - create_dir -d /var/config/citra-emu/ - cp -f $config/citra/qt-config.ini /var/config/citra-emu/qt-config.ini - set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage" - set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage" - set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI" - set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI" + create_dir -d /var/config/lime3ds-emu/ + cp -f $config/lime3ds/qt-config.ini /var/config/lime3ds-emu/qt-config.ini + set_setting_value "$lime3dsconf" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage" + set_setting_value "$lime3dsconf" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage" + set_setting_value "$lime3dsconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI" + set_setting_value "$lime3dsconf" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI" fi # Shared actions - create_dir "$saves_folder/n3ds/citra/nand/" - create_dir "$saves_folder/n3ds/citra/sdmc/" - dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata" - dir_prep "$logs_folder/citra" "/var/data/citra-emu/log" - dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods" - dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures" + create_dir "$saves_folder/n3ds/lime3ds/nand/" + create_dir "$saves_folder/n3ds/lime3ds/sdmc/" + dir_prep "$bios_folder/lime3ds/sysdata" "/var/data/lime3ds-emu/sysdata" + dir_prep "$logs_folder/lime3ds" "/var/data/lime3ds-emu/log" + dir_prep "$mods_folder/lime3ds" "/var/data/lime3ds-emu/load/mods" + dir_prep "$texture_packs_folder/lime3ds" "/var/data/lime3ds-emu/load/textures" # Reset default preset settings - set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap" - set_setting_value "$rd_conf" "citra" "$(get_setting_value "$rd_defaults" "citra" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit" + set_setting_value "$rd_conf" "lime3ds" "$(get_setting_value "$rd_defaults" "lime3ds" "retrodeck" "abxy_button_swap")" "retrodeck" "abxy_button_swap" + set_setting_value "$rd_conf" "lime3ds" "$(get_setting_value "$rd_defaults" "lime3ds" "retrodeck" "ask_to_exit")" "retrodeck" "ask_to_exit" fi if [[ "$action" == "postmove" ]]; then # Run only post-move commands - dir_prep "$bios_folder/citra/sysdata" "/var/data/citra-emu/sysdata" - dir_prep "$rdhome/logs/citra" "/var/data/citra-emu/log" - dir_prep "$mods_folder/Citra" "/var/data/citra-emu/load/mods" - dir_prep "$texture_packs_folder/Citra" "/var/data/citra-emu/load/textures" - set_setting_value "$citraconf" "nand_directory" "$saves_folder/n3ds/citra/nand/" "citra" "Data%20Storage" - set_setting_value "$citraconf" "sdmc_directory" "$saves_folder/n3ds/citra/sdmc/" "citra" "Data%20Storage" - set_setting_value "$citraconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "citra" "UI" - set_setting_value "$citraconf" "Paths\screenshotPath" "$screenshots_folder" "citra" "UI" + dir_prep "$bios_folder/lime3ds/sysdata" "/var/data/lime3ds-emu/sysdata" + dir_prep "$rdhome/logs/lime3ds" "/var/data/lime3ds-emu/log" + dir_prep "$mods_folder/lime3ds" "/var/data/lime3ds-emu/load/mods" + dir_prep "$texture_packs_folder/lime3ds" "/var/data/lime3ds-emu/load/textures" + set_setting_value "$lime3dsconf" "nand_directory" "$saves_folder/n3ds/lime3ds/nand/" "lime3ds" "Data%20Storage" + set_setting_value "$lime3dsconf" "sdmc_directory" "$saves_folder/n3ds/lime3ds/sdmc/" "lime3ds" "Data%20Storage" + set_setting_value "$lime3dsconf" "Paths\gamedirs\3\path" "$roms_folder/n3ds" "lime3ds" "UI" + set_setting_value "$lime3dsconf" "Paths\screenshotPath" "$screenshots_folder" "lime3ds" "UI" fi fi diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index d4520df6..a0e74eee 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -660,23 +660,20 @@ modules: sha256: 5ab0fc46b07d022d4b0ff355e88175cd77b8bb1663612f31d160f8001dc472bb # Lime3DS - # why from source: AppImage not provided, only Flatpak # https://github.com/RetroDECK/io.github.lime3ds.Lime3DS - - name: retrodeck-lime3ds + - name: lime3ds buildsystem: simple build-commands: + - chmod +x *.AppImage + - ./*.AppImage --appimage-extract - mkdir -p "${FLATPAK_DEST}/retrodeck/tmplib" "${FLATPAK_DEST}/retrodeck/tmplib/debug" - - cp -r "files/lib/debug" "${FLATPAK_DEST}/retrodeck/tmplib" - - rm -rf "files/lib/debug" - - cp -rL "files/lib/"* "${FLATPAK_DEST}/retrodeck/tmplib" - - rm -rf "files/lib" - - cp -r files/* "${FLATPAK_DEST}" - - chmod +x "${FLATPAK_DEST}/bin/"* + - mv "squashfs-root/usr/lib/"* "${FLATPAK_DEST}/retrodeck/tmplib" + - cp -r squashfs-root/usr/* "${FLATPAK_DEST}" sources: - type: archive - url: https://github.com/RetroDECK/io.github.lime3ds.Lime3DS/releases/latest/download/RetroDECK-dolphin-Artifact.tar.gz - sha256: RETRODECKLIME3DSLATEST + url: https://github.com/Lime3DS/Lime3DS/releases/download/2119/lime3ds-2119-linux-appimage.tar.gz + sha256: e5efc4acfbcc9005001990fdf50ae021c188650a63f90daec17c9964c93faa03 - name: fetch-missing-libs buildsystem: simple diff --git a/tools/configurator.sh b/tools/configurator.sh index d0762fb2..5a26802a 100755 --- a/tools/configurator.sh +++ b/tools/configurator.sh @@ -457,9 +457,6 @@ configurator_open_emulator_dialog() { if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then emulator_list+=("Yuzu" "Open the Switch emulator Yuzu") fi - if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then - emulator_list+=("Citra" "Open the 3DS emulator Citra") - fi emulator=$(rd_zenity --list \ --title "RetroDECK Configurator Utility - Open Emulator" --cancel-label="Back" \ @@ -572,9 +569,6 @@ configurator_retrodeck_tools_dialog() { if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then choices+=("Ponzu - Remove Yuzu" "Run Ponzu to remove Yuzu from RetroDECK. Configurations and saves will be mantained.") fi - if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then - choices+=("Ponzu - Remove Citra" "Run Ponzu to remove Citra from RetroDECK. Configurations and saves will be mantained.") - fi choice=$(rd_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 \ @@ -1097,13 +1091,10 @@ configurator_reset_dialog() { "XEMU" "Reset the XBOX emulator XEMU to default settings" ) - # Check if any ponzu is true before adding Yuzu or Citra to the list + # Check if any ponzu is true before adding Yuzu to the list if [[ $(get_setting_value "$rd_conf" "kiroi_ponzu" "retrodeck" "options") == "true" ]]; then emulator_list+=("Yuzu" "Reset the Switch emulator Yuzu") fi - if [[ $(get_setting_value "$rd_conf" "akai_ponzu" "retrodeck" "options") == "true" ]]; then - emulator_list+=("Citra" "Reset the 3DS emulator Citra") - fi case $choice in diff --git a/tools/configurator/retrodeck.json b/tools/configurator/retrodeck.json index 0dde12b8..2d0485a5 100644 --- a/tools/configurator/retrodeck.json +++ b/tools/configurator/retrodeck.json @@ -36,7 +36,6 @@ "retroarch": false }, "options": { - "akai_ponzu": false, "ask_default_user": true, "branch": "", "cloud_saves": false,