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,