diff --git a/.github/workflows/build_components.yml b/.github/workflows/build_components.yml
index 7beb5579..36558244 100644
--- a/.github/workflows/build_components.yml
+++ b/.github/workflows/build_components.yml
@@ -672,28 +672,34 @@ jobs:
cat "$RELEASE_BODY_FILE" >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
- - name: Set Make Latest
- run: |
- if [[ "${{ github.ref }}" == "refs/heads/main" ]]; then
- MAKE_LATEST=true
- else
- MAKE_LATEST=false
- fi
- echo "MAKE_LATEST=$MAKE_LATEST" >> $GITHUB_ENV
-
- name: Generate Version Tag
id: version-tag
run: |
# Get the current date and time in GMT
CURRENT_DATE=$(date -u +"%Y%m%d-%H%M")
- # Check if the branch is main or not
+
+ # Default: not latest
+ MAKE_LATEST=false
+
+ # Branch-based tagging: main -> main-..., everything else -> cooker-...
if [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then
TAG="main-${CURRENT_DATE}"
+ MAKE_LATEST=true
else
TAG="cooker-${CURRENT_DATE}"
+ MAKE_LATEST=false
fi
+
+ # Set target repo name (repo part of owner/repo)
+ REPO_NAME="${GITHUB_REPOSITORY#*/}"
+
+ # Export values
echo "TAG=$TAG" >> $GITHUB_ENV
+ echo "MAKE_LATEST=$MAKE_LATEST" >> $GITHUB_ENV
+ echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
+
echo "TAG=$TAG" >> $GITHUB_OUTPUT
+ echo "MAKE_LATEST=$MAKE_LATEST" >> $GITHUB_OUTPUT
- name: Publish release
uses: ncipollo/release-action@v1
diff --git a/automation-tools/alchemist/desired_versions.sh b/automation-tools/alchemist/desired_versions.sh
index 8f9ada23..7ba0758b 100644
--- a/automation-tools/alchemist/desired_versions.sh
+++ b/automation-tools/alchemist/desired_versions.sh
@@ -209,7 +209,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08"
# Source: AppImage
# ------------------------------------------------------------------------------
# MAIN (Stable)
- export PCSX2_DESIRED_VERSION="v2.5.409"
+ export PCSX2_DESIRED_VERSION="v2.6.1"
# COOKER (Override)
# export PCSX2_DESIRED_VERSION="newest"
@@ -341,7 +341,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08"
# Repo: https://github.com/RetroDECK/Vita3K-bin
# ------------------------------------------------------------------------------
# MAIN (Stable)
- export VITA3K_DESIRED_VERSION="3869"
+ export VITA3K_DESIRED_VERSION="3872"
# COOKER (Override)
# export VITA3K_DESIRED_VERSION="latest"
@@ -549,8 +549,8 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08"
# ------------------------------------------------------------------
if [[ "${GITHUB_REF_NAME:-}" != "main" ]]; then
- # Non‑main branches use the “cooker‑latest” build tag
- export FRAMEWORK_DESIRED_VERSION="cooker-latest on $(date +%Y-%m-%d)"
+ # Non‑main branches use the “latest-cooker” build tag
+ export FRAMEWORK_DESIRED_VERSION="latest-cooker on $(date +%Y-%m-%d)"
else
# Main branch uses the “main‑latest” build tag
export FRAMEWORK_DESIRED_VERSION="main-latest on $(date +%Y-%m-%d)"
diff --git a/azahar/component_prepare.sh b/azahar/component_prepare.sh
index 6c0413b5..9e3642e3 100755
--- a/azahar/component_prepare.sh
+++ b/azahar/component_prepare.sh
@@ -29,5 +29,5 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands
dir_prep "$texture_packs_path/Azahar/textures" "$azahar_textures_path"
dir_prep "$shaders_path/Azahar/" "$azahar_shaders_path"
dir_prep "$logs_path/Azahar/" "$azahar_logs_path"
- dir_prep "$cheats/Azahar/" "$azahar_cheats_path"
+ dir_prep "$cheats_path/Azahar/" "$azahar_cheats_path"
fi
diff --git a/azahar/component_update.sh b/azahar/component_update.sh
index 710a9a69..3c680729 100644
--- a/azahar/component_update.sh
+++ b/azahar/component_update.sh
@@ -9,7 +9,10 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# - Init Azahar as it is a new emulator
# - Migrate legacy Citra saves to Azahar saves dir
+ log i "0.10.0b Upgrade - Reset: Azahar"
+
prepare_component "reset" "azahar"
+
if [[ -d "$XDG_DATA_HOME/citra-emu/nand" ]]; then
move "$XDG_DATA_HOME/citra-emu/nand" "$saves_path/n3ds/azahar/"
fi
diff --git a/cemu/component_update.sh b/cemu/component_update.sh
index 77be2608..c9fce81f 100644
--- a/cemu/component_update.sh
+++ b/cemu/component_update.sh
@@ -10,3 +10,14 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.7.0b") == "true"
prepare_component "reset" "cemu"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Postmove: Cemu"
+
+ prepare_component "postmove" "cemu"
+
+ if [[ -e "$bios_path/cemu/keys.txt" ]]; then
+ rm -rf "$XDG_DATA_HOME/Cemu/keys.txt" && ln -s "$bios_path/cemu/keys.txt" "$XDG_DATA_HOME/Cemu/keys.txt" && log d "Linked $bios_path/cemu/keys.txt to $XDG_DATA_HOME/Cemu/keys.txt"
+ fi
+fi
diff --git a/dolphin/component_update.sh b/dolphin/component_update.sh
index 762fb0dd..7a733a67 100644
--- a/dolphin/component_update.sh
+++ b/dolphin/component_update.sh
@@ -35,10 +35,13 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.1b") == "true"
fi
if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
- log i "Dolphin team suggest to run Dolphin in single core, setting it"
+ log i "0.10.0b Upgrade - Postmove: Dolphin with Config Changes"
+
set_setting_value "$dolphin_config" "CPUThread" "False" "dolphin" "Core"
set_setting_value "$dolphin_config" "LanguageCode" " " "dolphin" "Interface"
+ prepare_component "postmove" "dolphin"
+
fi
#######################################
diff --git a/duckstation/component_update.sh b/duckstation/component_update.sh
index 362cfd57..88b097be 100644
--- a/duckstation/component_update.sh
+++ b/duckstation/component_update.sh
@@ -43,3 +43,11 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.7.0b") == "true"
set_setting_value "$duckstationconf" "SaveStateOnExit" "false" "duckstation" "Main"
set_setting_value "$duckstationconf" "Enabled" "false" "duckstation" "Cheevos"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Postmove: Duckstation (Legacy)"
+
+ prepare_component "postmove" "duckstation"
+
+fi
diff --git a/es-de/component_prepare.sh b/es-de/component_prepare.sh
index 2c5540f5..49b9a724 100755
--- a/es-de/component_prepare.sh
+++ b/es-de/component_prepare.sh
@@ -13,6 +13,7 @@ if [[ "$action" == "reset" ]]; then
create_dir "$XDG_CONFIG_HOME/ES-DE/settings"
log d "Preparing es_settings.xml"
cp -f "$component_config/es_settings.xml" "$es_de_config"
+ set_setting_value "$es_de_config" "Theme" "RetroDECK-theme-main" "es_settings"
set_setting_value "$es_de_config" "ROMDirectory" "$roms_path" "es_settings"
set_setting_value "$es_de_config" "MediaDirectory" "$downloaded_media_path" "es_settings"
set_setting_value "$es_de_config" "UserThemeDirectory" "$themes_path" "es_settings"
@@ -36,4 +37,9 @@ if [[ "$action" == "postmove" ]]; then
set_setting_value "$es_de_config" "MediaDirectory" "$downloaded_media_path" "es_settings"
set_setting_value "$es_de_config" "UserThemeDirectory" "$themes_path" "es_settings"
dir_prep "$rd_home_path/ES-DE/gamelists" "$XDG_CONFIG_HOME/ES-DE/gamelists"
+ dir_prep "$rd_home_path/ES-DE/collections" "$XDG_CONFIG_HOME/ES-DE/collections"
+ dir_prep "$rd_home_path/ES-DE/scripts" "$XDG_CONFIG_HOME/ES-DE/scripts"
+ dir_prep "$rd_home_path/ES-DE/screensavers" "$XDG_CONFIG_HOME/ES-DE/screensavers"
+ dir_prep "$rd_home_path/ES-DE/custom_systems" "$XDG_CONFIG_HOME/ES-DE/custom_systems"
+ dir_prep "$logs_path/ES-DE" "$XDG_CONFIG_HOME/ES-DE/logs"
fi
diff --git a/es-de/component_update.sh b/es-de/component_update.sh
index 16848fde..66e743bf 100644
--- a/es-de/component_update.sh
+++ b/es-de/component_update.sh
@@ -71,7 +71,10 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# With the RetroDECK Neo the theme folder is changed, so if the user set the RetroDECK Theme we need to fix the name in the config
if [[ $(get_setting_value "$es_de_config" "Theme" "es_settings") == "retrodeck" ]]; then
- log i "Default RetroDECK theme is set, fixing theme name in ES-DE config."
+ log i "0.10.0b Upgrade - Postmove: ES-DE - Default RetroDECK theme is set, fixing theme name in ES-DE config"
set_setting_value "$es_de_config" "Theme" "RetroDECK-theme-main" "es_settings"
+
+ prepare_component "postmove" "es-de"
fi
fi
+
diff --git a/flips/component_update.sh b/flips/component_update.sh
index 2ccc9267..93f40cd4 100644
--- a/flips/component_update.sh
+++ b/flips/component_update.sh
@@ -8,5 +8,7 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# In version 0.10.0b, the following changes were made that required config file updates/reset or other changes to the filesystem:
# - Init FLIPS as it is a new emulator
+ log i "0.10.0b Upgrade - Reset: Flips"
+
prepare_component "reset" "flips"
fi
diff --git a/framework/component_update.sh b/framework/component_update.sh
index 6a25551e..0e28bdcd 100644
--- a/framework/component_update.sh
+++ b/framework/component_update.sh
@@ -497,8 +497,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.2b") == "true"
fi
if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+ set_setting_value "$rd_conf" "storage_path" "$rd_home_path/storage" "retrodeck" "paths"
+ create_dir "$storage_path"
+ set_setting_value "$rd_conf" "videos_path" "$rd_home_path/videos" "retrodeck" "paths"
+ create_dir "$videos_path"
+
create_dir -d "$XDG_CONFIG_HOME/retrodeck/graphics"
cp -rf "/app/retrodeck/graphics/folder-iconsets" "$XDG_CONFIG_HOME/retrodeck/graphics/"
set_setting_value "$rd_conf" "iconset" "lahrs-main" "retrodeck" "options"
- handle_folder_iconsets "lahrs-main"
fi
diff --git a/gzdoom/component_update.sh b/gzdoom/component_update.sh
index c14c4fc7..c8ddeec2 100644
--- a/gzdoom/component_update.sh
+++ b/gzdoom/component_update.sh
@@ -9,3 +9,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.8.0b") == "true"
prepare_component "reset" "gzdoom"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Reset: GZDoom"
+
+ prepare_component "reset" "gzdoom"
+
+ # GZDOOM needs to be reset as the changes are in the config that connects to the new folders.
+fi
diff --git a/mame/component_update.sh b/mame/component_update.sh
index 948fef33..df011577 100644
--- a/mame/component_update.sh
+++ b/mame/component_update.sh
@@ -38,35 +38,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.1b") == "true"
rm -rf "$XDG_DATA_HOME/mame/cheat"
fi
-# Legacy XDG Folders
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
-# create_dir "$XDG_DATA_HOME/mame/plugin-data"
-# create_dir "$XDG_DATA_HOME/mame/hash"
-# create_dir "$XDG_DATA_HOME/mame/assets/artwork"
-# create_dir "$XDG_DATA_HOME/mame/assets/fonts"
-# create_dir "$XDG_DATA_HOME/mame/assets/crosshair"
-# create_dir "$XDG_DATA_HOME/mame/plugins"
-# create_dir "$XDG_DATA_HOME/mame/assets/language"
-# create_dir "$XDG_DATA_HOME/mame/assets/software"
-# create_dir "$XDG_DATA_HOME/mame/assets/comments"
-# create_dir "$XDG_DATA_HOME/mame/assets/share"
-# create_dir "$XDG_DATA_HOME/mame/dats"
-# create_dir "$XDG_DATA_HOME/mame/folders"
-# create_dir "$XDG_DATA_HOME/mame/assets/cabinets"
-# create_dir "$XDG_DATA_HOME/mame/assets/cpanel"
-# create_dir "$XDG_DATA_HOME/mame/assets/pcb"
-# create_dir "$XDG_DATA_HOME/mame/assets/flyers"
-# create_dir "$XDG_DATA_HOME/mame/assets/titles"
-# create_dir "$XDG_DATA_HOME/mame/assets/ends"
-# create_dir "$XDG_DATA_HOME/mame/assets/marquees"
-# create_dir "$XDG_DATA_HOME/mame/assets/artwork-preview"
-# create_dir "$XDG_DATA_HOME/mame/assets/bosses"
-# create_dir "$XDG_DATA_HOME/mame/assets/logo"
-# create_dir "$XDG_DATA_HOME/mame/assets/scores"
-# create_dir "$XDG_DATA_HOME/mame/assets/versus"
-# create_dir "$XDG_DATA_HOME/mame/assets/gameover"
-# create_dir "$XDG_DATA_HOME/mame/assets/howto"
-# create_dir "$XDG_DATA_HOME/mame/assets/select"
-# create_dir "$XDG_DATA_HOME/mame/assets/icons"
-# create_dir "$XDG_DATA_HOME/mame/assets/covers"
-# create_dir "$XDG_DATA_HOME/mame/assets/ui"
+ log i "0.10.0b Upgrade - Reset: MAME"
+
+ prepare_component "reset" "mame"
+
+ # MAME needs to be reset because of major config changes.
+
+fi
diff --git a/melonds/component_recipe.json b/melonds/component_recipe.json
index f65568d9..fb19f802 100755
--- a/melonds/component_recipe.json
+++ b/melonds/component_recipe.json
@@ -46,6 +46,11 @@
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_prepare.sh",
"dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_update.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
}
],
"libs": [
diff --git a/melonds/component_update.sh b/melonds/component_update.sh
new file mode 100644
index 00000000..4d6377ea
--- /dev/null
+++ b/melonds/component_update.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+#########################################################################
+# These actions happen conditionally based on the version being upgraded
+#########################################################################
+
diff --git a/openbor/component_update.sh b/openbor/component_update.sh
index 825f3743..d97789eb 100644
--- a/openbor/component_update.sh
+++ b/openbor/component_update.sh
@@ -8,5 +8,7 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# In version 0.10.0b, the following changes were made that required config file updates/reset or other changes to the filesystem:
# - Init OpenBOR as it is a new emulator
+ log i "0.10.0b Upgrade - Reset: OpenBOR"
+
prepare_component "reset" "openbor"
fi
diff --git a/pcsx2/component_update.sh b/pcsx2/component_update.sh
index cc6047b1..6178b2e1 100644
--- a/pcsx2/component_update.sh
+++ b/pcsx2/component_update.sh
@@ -25,3 +25,18 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.1b") == "true"
set_setting_value "$pcsx2conf" "Cheats" "$cheats_path/PCSX2" "Folders"
tar --strip-components=1 -xzf "/app/retrodeck/cheats/pcsx2.tar.gz" -C "$cheats_path/PCSX2" --overwrite && log i "Cheats for PCSX2 installed"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+ log i "0.10.0b Upgrade: PCSX2 - Postmove, mods and cheats and folder creation"
+
+ create_dir -d "$screenshots_path/PCSX2"
+ create_dir -d "$logs_path/PCSX2"
+ create_dir -d "$cheats_path/PCSX2/cheats_ws"
+ create_dir -d "$cheats_path/PCSX2/cheats_ni"
+ tar -xzf "$component_extras/pcsx2-cheats.tar.gz" -C "$cheats_path/PCSX2" --overwrite
+ create_dir -d "$storage_path/PCSX2/covers"
+ create_dir -d "$texture_packs_path/PCSX2/textures"
+ create_dir -d "$videos_path/PCSX2"
+ prepare_component "postmove" "pcxs2"
+ tar -xzf "$component_extras/pcsx2-patches.tar.gz" -C "$mods_path/PCSX2/patches" --overwrite
+fi
diff --git a/portmaster/component_prepare.sh b/portmaster/component_prepare.sh
index 3c467d27..f7a9916a 100755
--- a/portmaster/component_prepare.sh
+++ b/portmaster/component_prepare.sh
@@ -18,4 +18,5 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands
create_dir "$XDG_DATA_HOME/PortMaster/config/"
cp "$component_config/config.json" "$XDG_DATA_HOME/PortMaster/config/config.json"
set_setting_value "$rd_conf" "portmaster_path" "$rd_home_path/PortMaster" "retrodeck" "paths"
+ create_dir "$portmaster_path"
fi
diff --git a/ppsspp/component_prepare.sh b/ppsspp/component_prepare.sh
index d274cc6d..8e0650a8 100755
--- a/ppsspp/component_prepare.sh
+++ b/ppsspp/component_prepare.sh
@@ -23,14 +23,14 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands
log i "Preparing PPSSPP cheats"
create_dir -d "$cheats_path/PPSSPP"
dir_prep "$cheats_path/PPSSPP" "$ppsspp_cheats_path"
- if [[ -d "$cheats_path/PPSSPP" && "$(ls -A "$cheats_path"/PPSSPP-SA)" ]]; then
+ if [[ -d "$cheats_path/PPSSPP" && "$(ls -A "$cheats_path"/PPSSPP)" ]]; then
backup_file="$backups_path/cheats/PPSSPP-$(date +%y%m%d).tar.gz"
create_dir "$(dirname "$backup_file")"
tar -czf "$backup_file" -C "$cheats_path" PPSSPP
log i "PPSSPP cheats backed up to $backup_file"
fi
- unzip -q -o -j "$component_extras/CWCheat-Database-Plus--master.zip" "*/cheat.db" -d "$cheats_path/PPSSPP-SA/"
+ unzip -q -o -j "$component_extras/CWCheat-Database-Plus--master.zip" "*/cheat.db" -d "$cheats_path/PPSSPP"
log i "Preparing PPSSPP BIOS"
create_dir -d "$bios_path/PPSSPP"
diff --git a/ppsspp/component_update.sh b/ppsspp/component_update.sh
index e9c567c5..b509fc50 100644
--- a/ppsspp/component_update.sh
+++ b/ppsspp/component_update.sh
@@ -30,3 +30,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.1b") == "true"
set_setting_value "$rd_conf" "ppsspp" "$(get_setting_value "$rd_defaults" "ppsspp" "retrodeck" "cheevos")" "retrodeck" "cheevos"
set_setting_value "$rd_conf" "ppsspp" "$(get_setting_value "$rd_defaults" "ppsspp" "retrodeck" "cheevos_hardcore")" "retrodeck" "cheevos_hardcore"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Postmove: PPSSPP"
+
+ prepare_component "postmove" "ppsspp"
+
+ unzip -q -o -j "$component_extras/CWCheat-Database-Plus--master.zip" "*/cheat.db" -d "$cheats_path/PPSSPP"
+fi
diff --git a/primehack/assets/rd_config/config/Dolphin.ini b/primehack/assets/rd_config/config/Dolphin.ini
index a3d27575..8de9d2b9 100644
--- a/primehack/assets/rd_config/config/Dolphin.ini
+++ b/primehack/assets/rd_config/config/Dolphin.ini
@@ -8,7 +8,7 @@ SIDevice1 = 0
SIDevice2 = 0
SIDevice3 = 0
AutoDiscChange = False
-CPUThread = True
+CPUThread = False
EnableCheats = False
OverrideRegionSettings = False
EnablePrimeHack = True
diff --git a/primehack/component_update.sh b/primehack/component_update.sh
index b447d6f1..711cdd58 100644
--- a/primehack/component_update.sh
+++ b/primehack/component_update.sh
@@ -37,6 +37,15 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.7.0b") == "true"
set_setting_value "$primehackconf" "ConfirmStop" "False" "primehack" "Interface"
fi
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Postmove: PrimeHack"
+
+ set_setting_value "$primehack_config" "CPUThread" "False" "primehack" "Core"
+ set_setting_value "$primehack_config" "LanguageCode" " " "primehack" "Interface"
+ prepare_component "postmove" "primehack"
+fi
+
#######################################
# These actions happen at every update
#######################################
diff --git a/retroarch/component_manifest.json b/retroarch/component_manifest.json
index 81655dc4..7300a6c0 100644
--- a/retroarch/component_manifest.json
+++ b/retroarch/component_manifest.json
@@ -21,7 +21,7 @@
"false",
"true"
],
- "snes9x-current_libretro": {
+ "snes9x_libretro": {
"borders": [
"false",
"true"
@@ -39,7 +39,7 @@
"true"
]
},
- "genesisplusgx_libretro_MS": {
+ "genesis_plus_gx_libretro_MS": {
"borders": [
"false",
"true"
@@ -53,7 +53,7 @@
"true"
]
},
- "genesisplusgx_libretro_GG": {
+ "genesis_plus_gx_libretro_GG": {
"borders": [
"false",
"true"
@@ -105,7 +105,7 @@
"true"
]
},
- "mupen64plus-next_libretro": {
+ "mupen64plus_next_libretro": {
"borders": [
"false",
"true"
@@ -199,7 +199,7 @@
"defaults_file": "$retroarch_rd_config_dir/retroarch.cfg"
}
],
- "snes9x-current_libretro": {
+ "snes9x_libretro": {
"config_file_format": "retroarch",
"borders": [
{
@@ -347,7 +347,7 @@
}
]
},
- "mupen64plus-next_libretro": {
+ "mupen64plus_next_libretro": {
"config_file_format": "retroarch",
"borders": [
{
@@ -444,7 +444,7 @@
}
]
},
- "genesisplusgx_libretro_MS": {
+ "genesis_plus_gx_libretro_MS": {
"config_file_format": "retroarch",
"borders": [
{
@@ -519,7 +519,7 @@
}
]
},
- "genesisplusgx_libretro_GG": {
+ "genesis_plus_gx_libretro_GG": {
"config_file_format": "retroarch",
"borders": [
{
@@ -1274,7 +1274,7 @@
],
"system_friendly_name": "Sega Genesis"
},
- "genesisplusgx_libretro_MS": {
+ "genesis_plus_gx_libretro_MS": {
"name": "Genesis Plus GX",
"description": "SEGA MS/GG/MD/CD Libretro Core (Genesis games)",
"system": [
@@ -1284,13 +1284,13 @@
],
"system_friendly_name": "Sega Genesis"
},
- "genesisplusgx_libretro_GG": {
+ "genesis_plus_gx_libretro_GG": {
"name": "Genesis Plus GX",
"description": "SEGA MS/GG/MD/CD Libretro Core (GameGear games)",
"system": "gg",
"system_friendly_name": "Sega GameGear"
},
- "genesisplusgxwide_libretro": {
+ "genesis_plus_gx_wide_libretro": {
"name": "Genesis Plus GX Wide",
"description": "SEGA MS/GG/MD/CD Libretro Core for Wide Screen",
"system": [
@@ -1301,13 +1301,13 @@
],
"system_friendly_name": "Sega Genesis"
},
- "mupen64plus-next_libretro": {
+ "mupen64plus_next_libretro": {
"name": "Mupen64Plus-Next",
"description": "Nintendo 64 Libretro Core",
"system": "n64",
"system_friendly_name": "Nintendo N64"
},
- "snes9x-current_libretro": {
+ "snes9x_libretro": {
"name": "Snes9x - Current",
"description": "Super Nintendo Libretro Core",
"system": "snes",
@@ -1339,4 +1339,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/retroarch/component_prepare.sh b/retroarch/component_prepare.sh
index 5e18c9d7..3a345a77 100755
--- a/retroarch/component_prepare.sh
+++ b/retroarch/component_prepare.sh
@@ -142,6 +142,13 @@ if [[ "$action" == "postmove" ]]; then # Run only post-move commands
log i "Post-moving $component_name"
log i "--------------------------------"
+ # ScummVM
+ set_setting_value "$retroarch_config_scummvm" "iconspath" "$storage_path/retroarch/ScummVM/icons" "libretro_scummvm" "scummvm"
+ set_setting_value "$retroarch_config_scummvm" "extrapath" "$storage_path/retroarch/ScummVM/extra" "libretro_scummvm" "scummvm"
+ set_setting_value "$retroarch_config_scummvm" "themepath" "$storage_path/retroarch/ScummVM/theme" "libretro_scummvm" "scummvm"
+ set_setting_value "$retroarch_config_scummvm" "savepath" "$saves_path/scummvm" "libretro_scummvm" "scummvm"
+ set_setting_value "$retroarch_config_scummvm" "browser_lastpath" "$roms_path/scummvm" "libretro_scummvm" "scummvm"
+
# BIOS
dir_prep "$bios_path" "$XDG_CONFIG_HOME/retroarch/system"
diff --git a/retroarch/component_update.sh b/retroarch/component_update.sh
index 5515db6e..782917ce 100644
--- a/retroarch/component_update.sh
+++ b/retroarch/component_update.sh
@@ -61,6 +61,33 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.1b") == "true"
tar --strip-components=1 -xzf "/app/retrodeck/cheats/retroarch.tar.gz" -C "$cheats_path/retroarch" --overwrite && log i "Cheats for RetroArch installed"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+
+ log i "0.10.0b Upgrade - Postmove: RetroArch, Folder Creation, MAME2003+ Asset files"
+
+ create_dir "$videos_path/retroarch"
+ create_dir "$bios_path/np2kai"
+ create_dir "$bios_path/dc"
+ create_dir "$bios_path/Mupen64plus"
+ create_dir "$bios_path/quasi88"
+ create_dir "$bios_path/fbneo/samples"
+ create_dir "$bios_path/mame2003/samples"
+ create_dir "$bios_path/mame2003/artwork"
+ create_dir "$bios_path/mame2003-plus/samples"
+ create_dir "$bios_path/mame2003-plus/artwork"
+ create_dir "$bios_path/mame2010/samples"
+ create_dir "$bios_path/mame2010/artwork"
+ create_dir "$bios_path/mame2010/crosshairs"
+ create_dir "$bios_path/mame2010/fonts"
+ tar -xzf "$component_extras/mame2003-plus" -C "$bios_path/mame2003-plus" --overwrite
+
+ prepare_component "postmove" "retroarch"
+fi
+
+
+
#######################################
# These actions happen at every update
#######################################
diff --git a/rpcs3/component_prepare.sh b/rpcs3/component_prepare.sh
index 8e86fb81..733f9d66 100755
--- a/rpcs3/component_prepare.sh
+++ b/rpcs3/component_prepare.sh
@@ -38,6 +38,7 @@ if [[ "$action" == "postmove" ]]; then # Run only post-move commands
dir_prep "$saves_path/ps3/rpcs3" "$storage_path/rpcs3/dev_hdd0/home/00000001/savedata"
dir_prep "$states_path/ps3/rpcs3" "$XDG_CONFIG_HOME/rpcs3/savestates"
dir_prep "$storage_path/rpcs3/captures" "$XDG_CONFIG_HOME/rpcs3/captures"
+ dir_prep "$storage_path/rpcs3/patches" "$XDG_CONFIG_HOME/rpcs3/patches"
fi
if [[ "$action" == "startup" ]]; then # Run only startup commands
@@ -46,4 +47,4 @@ if [[ "$action" == "startup" ]]; then # Run only startup commands
log i "------------------------"
correct_rpcs3_desktop_files
-fi
\ No newline at end of file
+fi
diff --git a/rpcs3/component_update.sh b/rpcs3/component_update.sh
index 734a1432..3a6aaf72 100644
--- a/rpcs3/component_update.sh
+++ b/rpcs3/component_update.sh
@@ -44,10 +44,20 @@ fi
if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+ log i "0.10.0b Upgrade - Postmove: RPCS3 - Folder Creation, Move old location"
+
+ create_dir "$storage_path/rpcs3/dev_hdd0"
+ create_dir "$storage_path/rpcs3/dev_hdd1"
+ create_dir "$storage_path/rpcs3/dev_flash"
+ create_dir "$storage_path/rpcs3/dev_flash2"
+ create_dir "$storage_path/rpcs3/dev_flash3"
+ create_dir "$storage_path/rpcs3/dev_bdvd"
+ create_dir "$storage_path/rpcs3/dev_usb000"
+
+ prepare_component "postmove" "rpcs3"
+
# Since in 0.10.0b we added the storage folder we need to migrate the folders
- sed -i 's^\^$(EmulatorDir): .*^$(EmulatorDir): '"$storage_path/rpcs3/"'^' "$rpcs3_config_vfs"
- dir_prep "$saves_path/ps3/rpcs3" "$storage_path/rpcs3/dev_hdd0/home/00000001/savedata"
- dir_prep "$states_path/ps3/rpcs3" "$XDG_CONFIG_HOME/rpcs3/savestates"
+
move "$bios_folder/rpcs3/dev_hdd0" "$storage_path/rpcs3/dev_hdd0"
move "$bios_folder/rpcs3/dev_hdd1" "$storage_path/rpcs3/dev_hdd1"
move "$bios_folder/rpcs3/dev_flash" "$storage_path/rpcs3/dev_flash"
@@ -55,7 +65,5 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
move "$bios_folder/rpcs3/dev_flash3" "$storage_path/rpcs3/dev_flash3"
move "$bios_folder/rpcs3/dev_bdvd" "$storage_path/rpcs3/dev_bdvd"
move "$bios_folder/rpcs3/dev_usb000" "$storage_path/rpcs3/dev_usb000"
- dir_prep "$storage_path/rpcs3/captures" "$XDG_CONFIG_HOME/rpcs3/captures"
- dir_prep "$storage_path/rpcs3/patches" "$XDG_CONFIG_HOME/rpcs3/patches"
fi
diff --git a/ruffle/component_update.sh b/ruffle/component_update.sh
index a2e76bf6..b0e96e4f 100644
--- a/ruffle/component_update.sh
+++ b/ruffle/component_update.sh
@@ -8,3 +8,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.9.0b") == "true"
log i "New components were added in this version, initializing them"
prepare_component "reset" "ruffle"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Reset: Ruffle"
+
+ prepare_component "reset" "ruffle"
+
+ # Fixes issue with save folder not being set, a full reset is needed.
+fi
diff --git a/ryubing/component_update.sh b/ryubing/component_update.sh
index 267fe663..ea83ff31 100644
--- a/ryubing/component_update.sh
+++ b/ryubing/component_update.sh
@@ -9,6 +9,8 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# - Init Ryubing as it is a new emulator
# - Migrate legacy Ryujinx and Yuzu saves to Ryubing saves dir
+ log i "0.10.0b Upgrade - Reset: Ryubing"
+
prepare_component "reset" "ryubing"
log i "Checking for Ryujinx and Yuzu saves to move into Ryubing folder."
@@ -31,5 +33,4 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
log i "Ryujinx and Yuzu saves have been moved into Ryubing folder."
configurator_generic_dialog "RetroDECK - Ryubing Post Update" "Ryujinx and Yuzu save files have been consolidated into the Ryubing directory.\nThe previous Ryujinx save location is no longer in use and may be safely removed manually to reclaim disk space.\n\nRetroDECK does not automatically delete any save data."
fi
-
fi
diff --git a/solarus/component_update.sh b/solarus/component_update.sh
index 5cd3bc62..f50db027 100644
--- a/solarus/component_update.sh
+++ b/solarus/component_update.sh
@@ -8,5 +8,7 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# In version 0.10.0b, the following changes were made that required config file updates/reset or other changes to the filesystem:
# - Init Solarus as it is a new emulator
+ log i "0.10.0b Upgrade - Reset: Solarus"
+
prepare_component "reset" "solarus"
fi
diff --git a/vita3k/component_update.sh b/vita3k/component_update.sh
index 716ca31a..5a5916d8 100644
--- a/vita3k/component_update.sh
+++ b/vita3k/component_update.sh
@@ -15,3 +15,12 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.8.2b") == "true"
log i "Vita3K changed some paths, reflecting them: moving \"$XDG_DATA_HOME/Vita3K\" in \"$XDG_CONFIG_HOME/Vita3K\""
move "$XDG_DATA_HOME/Vita3K" "$XDG_CONFIG_HOME/Vita3K"
fi
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+
+ log i "0.10.0b Upgrade - Postmove: Vita3K - Folder Creation"
+
+ create_dir "$storage_path/Vita3K/"
+ cp -frv "$component_config/ux0" "$storage_path/Vita3K/" # User config
+ prepare_component "postmove" "vita3k"
+fi
diff --git a/xemu/assets/rd_config/xemu.toml b/xemu/assets/rd_config/xemu.toml
index d0021ab4..6e0107e4 100644
--- a/xemu/assets/rd_config/xemu.toml
+++ b/xemu/assets/rd_config/xemu.toml
@@ -1,6 +1,6 @@
[general]
show_welcome = false
-screenshot_dir = 'RETRODECKHOMEDIR/screenshots'
+screenshot_dir = 'RETRODECKSCREENSHOTSDIR/xemu'
[input.bindings]
port1 = '03000000de280000ff11000001000000'
@@ -22,7 +22,7 @@ auto_scale = false
mem_limit = '128'
[sys.files]
-bootrom_path = 'RETRODECKHOMEDIR/bios/mcpx_1.0.bin'
-flashrom_path = 'RETRODECKHOMEDIR/bios/Complex.bin'
-eeprom_path = 'RETRODECKHOMEDIR/saves/xbox/xemu/xbox-eeprom.bin'
-hdd_path = 'RETRODECKHOMEDIR/bios/xbox_hdd.qcow2'
\ No newline at end of file
+bootrom_path = 'RETRODECKBIOSDIR/mcpx_1.0.bin'
+flashrom_path = 'RETRODECKBIOSDIR/Complex.bin'
+eeprom_path = 'RETRODECKSAVESDIR/xbox/xemu/xbox-eeprom.bin'
+hdd_path = 'RETRODECKBIOSDIR/xbox_hdd.qcow2'
diff --git a/xemu/component_prepare.sh b/xemu/component_prepare.sh
index c8fd1627..1788fa59 100755
--- a/xemu/component_prepare.sh
+++ b/xemu/component_prepare.sh
@@ -18,12 +18,14 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands
dir_prep "$shaders_path/xemu" "$XDG_DATA_HOME/xemu/xemu/shaders"
cp -fv "$component_config/xemu.toml" "$xemu_conf"
- set_setting_value "$xemu_conf" "screenshot_dir" "'$screenshots_path'" "xemu" "General"
+ create_dir "$screenshots_path/xemu"
+ set_setting_value "$xemu_conf" "screenshot_dir" "'$screenshots_path/xemu'" "xemu" "General"
set_setting_value "$xemu_conf" "bootrom_path" "'$bios_path/mcpx_1.0.bin'" "xemu" "sys.files"
set_setting_value "$xemu_conf" "flashrom_path" "'$bios_path/Complex.bin'" "xemu" "sys.files"
+ create_dir "$saves_path/xbox/xemu"
set_setting_value "$xemu_conf" "eeprom_path" "'$saves_path/xbox/xemu/xbox-eeprom.bin'" "xemu" "sys.files"
set_setting_value "$xemu_conf" "hdd_path" "'$bios_path/xbox_hdd.qcow2'" "xemu" "sys.files"
- create_dir "$saves_path/xbox/xemu/"
+
# Preparing HD dummy Image if the image is not found
if [ ! -f "$bios_path/xbox_hdd.qcow2" ];then
@@ -37,7 +39,7 @@ if [[ "$action" == "postmove" ]]; then # Run only post-move commands
log i "------------------------"
dir_prep "$shaders_path/xemu" "$XDG_DATA_HOME/xemu/xemu/shaders"
- set_setting_value "$xemu_conf" "screenshot_dir" "'$screenshots_path'" "xemu" "General"
+ set_setting_value "$xemu_conf" "screenshot_dir" "'$screenshots_path/xemu'" "xemu" "General"
set_setting_value "$xemu_conf" "bootrom_path" "'$bios_path/mcpx_1.0.bin'" "xemu" "sys.files"
set_setting_value "$xemu_conf" "flashrom_path" "'$bios_path/Complex.bin'" "xemu" "sys.files"
set_setting_value "$xemu_conf" "eeprom_path" "'$saves_path/xbox/xemu/xbox-eeprom.bin'" "xemu" "sys.files"
diff --git a/xemu/component_recipe.json b/xemu/component_recipe.json
index 4b64b027..f7748a5b 100755
--- a/xemu/component_recipe.json
+++ b/xemu/component_recipe.json
@@ -50,6 +50,11 @@
"type": "file",
"source": "$REPO_ROOT/$COMPONENT_NAME/component_prepare.sh",
"dest": "$COMPONENT_ARTIFACT_ROOT"
+ },
+ {
+ "type": "file",
+ "source": "$REPO_ROOT/$COMPONENT_NAME/component_update.sh",
+ "dest": "$COMPONENT_ARTIFACT_ROOT"
}
],
"libs": [
diff --git a/xemu/component_update.sh b/xemu/component_update.sh
new file mode 100644
index 00000000..0a92d664
--- /dev/null
+++ b/xemu/component_update.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+#########################################################################
+# These actions happen conditionally based on the version being upgraded
+#########################################################################
+
+
+if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true" ]]; then
+ log i "0.10.0b Upgrade - Postmove: xemu - Folder Creation"
+
+ create_dir "$screenshots_path/xemu"
+ prepare_component "postmove" "xemu"
+fi
diff --git a/xroar/component_update.sh b/xroar/component_update.sh
index c5dd4f2c..092d0eba 100644
--- a/xroar/component_update.sh
+++ b/xroar/component_update.sh
@@ -8,6 +8,8 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true
# In version 0.10.0b, the following changes were made that required config file updates/reset or other changes to the filesystem:
# - Init Xroar as it is a new emulator
+ log i "0.10.0b Upgrade - Reset: XRoar"
+
prepare_component "reset" "xroar"
fi