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