diff --git a/.github/workflows/build_components.yml b/.github/workflows/build_components.yml index 8b3b33db..e4d931b5 100644 --- a/.github/workflows/build_components.yml +++ b/.github/workflows/build_components.yml @@ -13,7 +13,7 @@ on: force_rebuild: description: 'Force rebuilding ALL components (true/false)' required: false - default: false + default: true type: boolean # schedule: diff --git a/archive_later/tsugaru/component_functions.sh b/archive_later/tsugaru/component_functions.sh new file mode 100755 index 00000000..cc1f786e --- /dev/null +++ b/archive_later/tsugaru/component_functions.sh @@ -0,0 +1 @@ +#!/bin/bash \ No newline at end of file diff --git a/archive_later/tsugaru/component_launcher.sh b/archive_later/tsugaru/component_launcher.sh new file mode 100755 index 00000000..ab153229 --- /dev/null +++ b/archive_later/tsugaru/component_launcher.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Setting component name and path based on the directory name +component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" +component_path="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)" + +# Set LD_LIBRARY_PATH +export LD_LIBRARY_PATH="$component_path/lib:$ffmpeg_path/25.08:$rd_shared_libs/org.gnome.Platform/49/:${DEFAULT_LD_LIBRARY_PATH}" + +log i "RetroDECK is now launching $component_name" +log d "Library path is: $LD_LIBRARY_PATH" + +exec "$component_path/Tsugaru_CUI" "$@" diff --git a/archive_later/tsugaru/component_manifest.json b/archive_later/tsugaru/component_manifest.json new file mode 100644 index 00000000..c33dde22 --- /dev/null +++ b/archive_later/tsugaru/component_manifest.json @@ -0,0 +1,11 @@ +{ + "tsugaru": { + "name": "Tsugaru", + "url_rdwiki": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/tsugaru/tsugaru-guide/", + "url_source": "https://github.com/captainys/TOWNSEMU", + "description": "FM TOWNS / Marty Emulator - Tsugaru", + "system_friendly_name": "FM TOWNS / Marty", + "component_type": "Emulator", + "system": "fmtowns" + } +} \ No newline at end of file diff --git a/archive_later/tsugaru/component_prepare.sh b/archive_later/tsugaru/component_prepare.sh new file mode 100755 index 00000000..eea95775 --- /dev/null +++ b/archive_later/tsugaru/component_prepare.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Setting component name and path based on the directory name +component_name="$(basename "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")" +component_config="/app/retrodeck/components/$component_name/rd_config" + +if [[ "$action" == "reset" ]]; then # Run reset-only commands + log i "----------------------" + log i "Preparing $component_name" + log i "----------------------" + +fi diff --git a/archive_later/tsugaru/component_recipe.json b/archive_later/tsugaru/component_recipe.json new file mode 100755 index 00000000..bd65f03f --- /dev/null +++ b/archive_later/tsugaru/component_recipe.json @@ -0,0 +1,58 @@ +{ + "tsugaru": [ + { + "source_url": "https://github.com/captainys/TOWNSEMU/releases/download/{VERSION}/ubuntu_binary_latest.zip", + "source_type": "github_release", + "version": "$TSUGARU_DESIRED_VERSION", + "extraction_type": "archive", + "assets": [ + { + "type": "dir", + "source": "$EXTRACTED_PATH", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "type": "dir", + "source": "$REPO_ROOT/$COMPONENT_NAME", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "type": "create", + "dest": "component_version", + "contents": "$SOURCE_VERSION" + }, + { + "type": "file", + "source": "$REPO_ROOT/$COMPONENT_NAME/component_functions.sh", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "type": "file", + "source": "$REPO_ROOT/$COMPONENT_NAME/component_launcher.sh", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "type": "file", + "source": "$REPO_ROOT/$COMPONENT_NAME/component_manifest.json", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "type": "file", + "source": "$REPO_ROOT/$COMPONENT_NAME/component_recipe.json", + "dest": "$COMPONENT_ARTIFACT_ROOT" + }, + { + "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": [] + } + ] +} \ No newline at end of file diff --git a/archive_later/tsugaru/component_update.sh b/archive_later/tsugaru/component_update.sh new file mode 100644 index 00000000..4d6377ea --- /dev/null +++ b/archive_later/tsugaru/component_update.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +######################################################################### +# These actions happen conditionally based on the version being upgraded +######################################################################### + diff --git a/automation-tools/alchemist/desired_versions.sh b/automation-tools/alchemist/desired_versions.sh index 353837a0..642087a4 100644 --- a/automation-tools/alchemist/desired_versions.sh +++ b/automation-tools/alchemist/desired_versions.sh @@ -28,7 +28,7 @@ # ------------------------------------------------------------------------------ -# Qt 5 Runtime — Legacy Qt Support +# Qt 5 Runtime - Legacy Qt Support # ------------------------------------------------------------------------------ # MAIN (Stable) @@ -51,7 +51,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Azahar — Nintendo 3DS Emulator +# Azahar - Nintendo 3DS Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/org.azahar_emu.Azahar # ------------------------------------------------------------------------------ @@ -64,7 +64,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Cemu — Wii U Emulator +# Cemu - Wii U Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/info.cemu.Cemu # ------------------------------------------------------------------------------ @@ -77,7 +77,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Dolphin — GameCube / Wii Emulator +# Dolphin - GameCube / Wii Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/org.DolphinEmu.dolphin-emu # ------------------------------------------------------------------------------ @@ -90,7 +90,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# GZDoom — Modern Doom Engine +# GZDoom - Modern Doom Engine # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/org.zdoom.GZDoom # ------------------------------------------------------------------------------ @@ -103,7 +103,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# MAME — Multiple Arcade Machine Emulator +# MAME - Multiple Arcade Machine Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/org.mamedev.MAME # ------------------------------------------------------------------------------ @@ -116,7 +116,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# MelonDS — Nintendo DS Emulator +# MelonDS - Nintendo DS Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/net.kuribo64.melonDS # ------------------------------------------------------------------------------ @@ -129,7 +129,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# PPSSPP — PlayStation Portable Emulator +# PPSSPP - PlayStation Portable Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/org.ppsspp.PPSSPP # ------------------------------------------------------------------------------ @@ -142,7 +142,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# RPCS3 — PlayStation 3 Emulator +# RPCS3 - PlayStation 3 Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/net.rpcs3.RPCS3 # ------------------------------------------------------------------------------ @@ -155,7 +155,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Ruffle — Flash Player Emulator +# Ruffle - Flash Player Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/rs.ruffle.Ruffle # ------------------------------------------------------------------------------ @@ -168,7 +168,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Steam ROM Manager — Steam Artwork & ROM Importer +# Steam ROM Manager - Steam Artwork & ROM Importer # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/com.steamgriddb.steam-rom-manager # ------------------------------------------------------------------------------ @@ -181,7 +181,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Xemu — Original Xbox Emulator +# Xemu - Original Xbox Emulator # Source: Flatpak - Flathub # Link: https://flathub.org/en/apps/app.xemu.xemu # ------------------------------------------------------------------------------ @@ -194,7 +194,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ============================================================================== -# Component Desired Versions — Web / GitHub / GitLab / AppImages +# Component Desired Versions - Web / GitHub / GitLab / AppImages # ============================================================================== # Components sourced from GitHub, GitLab, or other web pages, # provided as loose binaries or AppImages. @@ -204,7 +204,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# OpenBOR — Open Beat 'em Up Engine +# OpenBOR - Open Beat 'em Up Engine # Source: AppImage # Link: https://github.com/DCurrent/openbor/releases/ # ------------------------------------------------------------------------------ @@ -216,7 +216,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# PCSX2 — PlayStation 2 Emulator +# PCSX2 - PlayStation 2 Emulator # Source: AppImage # Link: https://github.com/PCSX2/pcsx2/releases/ # ------------------------------------------------------------------------------ @@ -228,7 +228,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# RetroArch — Multi-System Front-End +# RetroArch - Multi-System Front-End # Source: AppImage # Link: https://buildbot.libretro.com/stable/ # ------------------------------------------------------------------------------ @@ -240,7 +240,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Ryubing — Nintendo Switch Emulator +# Ryubing - Nintendo Switch Emulator # Source: AppImage # Link: https://git.ryujinx.app/ryubing/ryujinx/-/releases/ # ------------------------------------------------------------------------------ @@ -253,7 +253,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Solarus — Action RPG Engine +# Solarus - Action RPG Engine # Source: AppImage # Link: https://gitlab.com/solarus-games/solarus/-/releases/ # ------------------------------------------------------------------------------ @@ -266,7 +266,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ============================================================================== -# Component Desired Versions — Self-Built / Repo-Hosted Components +# Component Desired Versions - Self-Built / Repo-Hosted Components # ============================================================================== # Components that are self-built and hosted in the RetroDECK repository. # @@ -276,7 +276,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# DuckStation (Legacy) — PlayStation 1 Emulator +# DuckStation (Legacy) - PlayStation 1 Emulator # Source: AppImage (RetroDECK-built legacy archive) # Link: https://github.com/RetroDECK/Duckstation/releases # ------------------------------------------------------------------------------ @@ -288,7 +288,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# ES-DE — EmulationStation Desktop Edition +# ES-DE - EmulationStation Desktop Edition # Source: AppImage (RetroDECK-built) # Link: https://github.com/RetroDECK/ES-DE/releases # ------------------------------------------------------------------------------ @@ -301,7 +301,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Flips — IPS Patch Utility +# Flips - IPS Patch Utility # Source: Binary (RetroDECK-built) # Link: https://github.com/RetroDECK/components/tree/cooker/flips/assets # ------------------------------------------------------------------------------ @@ -314,7 +314,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# PortMaster — Multi-System Game Launcher +# PortMaster - Multi-System Game Launcher # Source: Binary (RetroDECK-built) # Link: https://github.com/RetroDECK/components/tree/cooker/portmaster/assets # ------------------------------------------------------------------------------ @@ -326,7 +326,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# XRoar — Tano Dragon Emulator +# XRoar - Tano Dragon Emulator # Source: Binary (RetroDECK-built) # Link: https://github.com/RetroDECK/XRoar/releases # ------------------------------------------------------------------------------ @@ -340,7 +340,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# PrimeHack — Metroid Prime Fork of Dolphin +# PrimeHack - Metroid Prime Fork of Dolphin # Source: AppImage # Link: https://github.com/RetroDECK/io.github.shiiion.primehack/releases # ------------------------------------------------------------------------------ @@ -353,7 +353,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Vita3K — PlayStation Vita Emulator +# Vita3K - PlayStation Vita Emulator # Source: AppImage (RetroDECK-mirrored) # Link: https://github.com/RetroDECK/Vita3K-bin/releases # ------------------------------------------------------------------------------ @@ -367,7 +367,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ============================================================================== -# Component Desired Versions — Future +# Component Desired Versions - Future # ============================================================================== # New components being developed in the Cooker branch for an upcoming major release. # These components are planned for future inclusion and are not yet part of the @@ -378,7 +378,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# DOSBox-X — Enhanced DOSBox Engine +# DOSBox-X - Enhanced DOSBox Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export DOSBOX_X_DESIRED_VERSION="" @@ -388,7 +388,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Eden — Nintendo Switch Emulator +# Eden - Nintendo Switch Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export EDEN_DESIRED_VERSION="" @@ -398,7 +398,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# EKA2L1 — Symbian OS Emulator +# EKA2L1 - Symbian OS Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export EKA2L1_DESIRED_VERSION="" @@ -408,7 +408,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Flycast — Dreamcast Emulator +# Flycast - Dreamcast Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export FLYCAST_DESIRED_VERSION="" @@ -418,7 +418,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Gargoyle — Interactive Fiction Emulator +# Gargoyle - Interactive Fiction Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export GARGOYLE_DESIRED_VERSION="" @@ -428,7 +428,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Hypseus — Laser Disc Arcade Emulator +# Hypseus - Laser Disc Arcade Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export HYPSEUS_DESIRED_VERSION="" @@ -438,7 +438,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Ikeman Go — Fighting Engine +# Ikeman Go - Fighting Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export IKEMANGO_DESIRED_VERSION="" @@ -448,7 +448,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# KEGS — Apple IIGS Emulator +# KEGS - Apple IIGS Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export KEGS_DESIRED_VERSION="1.38" @@ -458,7 +458,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Lindbergh — SEGA Lindbergh Emulator +# Lindbergh - SEGA Lindbergh Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export LINDBERGH_DESIRED_VERSION="" @@ -468,7 +468,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Mudlet — MUD Client +# Mudlet - MUD Client # ------------------------------------------------------------------------------ # MAIN (Stable) # export MUDLET_DESIRED_VERSION="4.19.1" @@ -478,7 +478,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Raze — Duke Nukem Engine +# Raze - Duke Nukem Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export RAZE_DESIRED_VERSION="" @@ -488,7 +488,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# ScummVM — Point-and-Click Adventure Engine +# ScummVM - Point-and-Click Adventure Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export SCUMMVM_DESIRED_VERSION="" @@ -498,7 +498,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# ShadPS4 — PlayStation 4 Emulator +# ShadPS4 - PlayStation 4 Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export SHADPS4_DESIRED_VERSION="" @@ -508,7 +508,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# SimCoupe — SAM Coupé Emulator +# SimCoupe - SAM Coupé Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export SIMCOUPE_DESIRED_VERSION="" @@ -518,7 +518,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# SuperModel — SEGA Model 3 Arcade Emulator +# SuperModel - SEGA Model 3 Arcade Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export SUPERMODEL_DESIRED_VERSION="" @@ -528,7 +528,16 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# UZDoom — Modern Doom Engine +# Tsugaru - FM TOWNS Emulator +# ------------------------------------------------------------------------------ +# MAIN (Stable) +# export SUPERMODEL_DESIRED_VERSION="" + +# COOKER (Override) + export TSUGARU_DESIRED_VERSION="newest" + +# ------------------------------------------------------------------------------ +# UZDoom - Modern Doom Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export UZDOOM_DESIRED_VERSION="" @@ -538,7 +547,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# VPinball — Virtual Pinball Engine +# VPinball - Virtual Pinball Engine # ------------------------------------------------------------------------------ # MAIN (Stable) # export VPINBALL_DESIRED_VERSION="" @@ -548,7 +557,7 @@ export DESIRED_QT5_RUNTIME_VERSION="5.15-25.08" # ------------------------------------------------------------------------------ -# Xenia — Xbox 360 Emulator +# Xenia - Xbox 360 Emulator # ------------------------------------------------------------------------------ # MAIN (Stable) # export XENIA_DESIRED_VERSION="" diff --git a/azahar/assets/rd_config/qt-config.ini b/azahar/assets/rd_config/qt-config.ini index 7a31c163..4e84b974 100644 --- a/azahar/assets/rd_config/qt-config.ini +++ b/azahar/assets/rd_config/qt-config.ini @@ -5,11 +5,11 @@ enable_audio_stretching=true enable_audio_stretching\default=true enable_realtime_audio=false enable_realtime_audio\default=true -input_device=auto +input_device=Auto input_device\default=true input_type=0 input_type\default=true -output_device=auto +output_device=Auto output_device\default=true output_type=0 output_type\default=true @@ -81,7 +81,7 @@ profiles\1\circle_pad="axis_x:0,axis_y:1,deadzone:0.100000,engine:sdl,guid:03007 profiles\1\circle_pad\default=false profiles\1\motion_device=engine:cemuhookudp profiles\1\motion_device\default=false -profiles\1\name=default +profiles\1\name=Default profiles\1\name\default=true profiles\1\touch_device=engine:emu_window profiles\1\touch_device\default=true @@ -325,6 +325,8 @@ pp_shader_name=None (builtin) pp_shader_name\default=true render_3d=0 render_3d\default=true +render_3d_which_display=0 +render_3d_which_display\default=true screen_bottom_leftright_padding=0 screen_bottom_leftright_padding\default=true screen_bottom_stretch=false @@ -341,6 +343,8 @@ screen_top_topbottom_padding=0 screen_top_topbottom_padding\default=true small_screen_position=2 small_screen_position\default=true +swap_eyes_3d=false +swap_eyes_3d\default=true swap_screen=false swap_screen\default=true upright_screen=false @@ -397,12 +401,16 @@ use_hw_shader=true use_hw_shader\default=true use_shader_jit=true use_shader_jit\default=true +use_vsync=true +use_vsync\default=true use_vsync_new=false use_vsync_new\default=false [System] allow_plugin_loader=true allow_plugin_loader\default=true +apply_region_free_patch=true +apply_region_free_patch\default=true enable_required_online_lle_modules=true enable_required_online_lle_modules\default=false init_clock=0 @@ -496,6 +504,8 @@ Paths\gamedirs\3\expanded=true Paths\gamedirs\3\expanded\default=true Paths\gamedirs\3\path=RETRODECKROMSDIR/n3ds Paths\gamedirs\size=3 +Paths\inserted_cartridge= +Paths\inserted_cartridge\default=true Paths\language=en Paths\language\default=false Paths\last_artic_base_addr= @@ -574,8 +584,8 @@ Shortcuts\Main%20Window\Load%20File\KeySeq= Shortcuts\Main%20Window\Load%20File\KeySeq\default=false Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\Context=1 Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\Context\default=true -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq=Ctrl+V -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq\default=true +Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq= +Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq\default=false Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context=1 Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context\default=true Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq=Ctrl+A @@ -584,34 +594,34 @@ Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\Context=2 Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\Context\default=true Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\KeySeq=Ctrl+B Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq=Ctrl+B -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq=Ctrl+N -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq\default=true +Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context=1 +Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context\default=false +Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq= +Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq\default=false +Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context=1 +Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context\default=false +Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq= +Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq\default=false Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\Context=1 Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\Context\default=false Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\KeySeq= Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\KeySeq\default=false -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq=Ctrl+L -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq\default=true +Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context=1 +Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context\default=false +Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq= +Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq\default=false Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\Context=2 Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\Context\default=true Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\KeySeq=Ctrl+R Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\KeySeq\default=true Shortcuts\Main%20Window\Quick%20Load\Context=1 Shortcuts\Main%20Window\Quick%20Load\Context\default=true -Shortcuts\Main%20Window\Quick%20Load\KeySeq= -Shortcuts\Main%20Window\Quick%20Load\KeySeq\default=true +Shortcuts\Main%20Window\Quick%20Load\KeySeq=Ctrl+A +Shortcuts\Main%20Window\Quick%20Load\KeySeq\default=false Shortcuts\Main%20Window\Quick%20Save\Context=1 Shortcuts\Main%20Window\Quick%20Save\Context\default=true -Shortcuts\Main%20Window\Quick%20Save\KeySeq= -Shortcuts\Main%20Window\Quick%20Save\KeySeq\default=true +Shortcuts\Main%20Window\Quick%20Save\KeySeq=Ctrl+S +Shortcuts\Main%20Window\Quick%20Save\KeySeq\default=false Shortcuts\Main%20Window\Remove%20Amiibo\Context=2 Shortcuts\Main%20Window\Remove%20Amiibo\Context\default=true Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq=Alt+N @@ -622,12 +632,12 @@ Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=Ctrl+R Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=false Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context=1 Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context\default=true -Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq= +Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq=Ctrl+L Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq\default=false Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\Context=1 Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\Context\default=true -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq=Ctrl+C -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq\default=true +Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq= +Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq\default=false Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context=1 Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context\default=true Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq=Ctrl+S @@ -640,9 +650,9 @@ Shortcuts\Main%20Window\Swap%20Screens\Context=1 Shortcuts\Main%20Window\Swap%20Screens\Context\default=true Shortcuts\Main%20Window\Swap%20Screens\KeySeq=Ctrl+Tab Shortcuts\Main%20Window\Swap%20Screens\KeySeq\default=false -Shortcuts\Main%20Window\Toggle%203D\Context=1 -Shortcuts\Main%20Window\Toggle%203D\Context\default=false -Shortcuts\Main%20Window\Toggle%203D\KeySeq= +Shortcuts\Main%20Window\Toggle%203D\Context=2 +Shortcuts\Main%20Window\Toggle%203D\Context\default=true +Shortcuts\Main%20Window\Toggle%203D\KeySeq=F6 Shortcuts\Main%20Window\Toggle%203D\KeySeq\default=false Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context=2 Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context\default=true @@ -662,16 +672,16 @@ Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\KeySeq= Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\KeySeq\default=false Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context=1 Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context\default=true -Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq=Ctrl+L +Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq= Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq\default=false Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1 Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=true -Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S -Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true +Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq= +Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=false Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context=1 Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context\default=false Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq= -Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=false +Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=true Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\Context=2 Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\Context\default=true Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\KeySeq=Ctrl+T diff --git a/azahar/component_prepare.sh b/azahar/component_prepare.sh index 9e3642e3..ee8f8c32 100755 --- a/azahar/component_prepare.sh +++ b/azahar/component_prepare.sh @@ -12,6 +12,9 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands create_dir -d "$azahar_config_path" create_dir -d "$azahar_mods_path" create_dir -d "$azahar_textures_path" + create_dir "$screenshots_path/Azahar" + create_dir "$saves_path/n3ds/azahar/nand/" + create_dir "$saves_path/n3ds/azahar/sdmc/" cp -fT "$component_config/qt-config.ini" "$azahar_config_path/qt-config.ini" @@ -21,9 +24,23 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands set_setting_value "$azahar_qtconfig" "Paths\gamedirs\3\path" "$roms_path/n3ds" "azahar" set_setting_value "$azahar_qtconfig" "Paths\screenshotPath" "$screenshots_path/Azahar" "azahar" - create_dir "$screenshots_path/Azahar" - create_dir "$saves_path/n3ds/azahar/nand/" - create_dir "$saves_path/n3ds/azahar/sdmc/" + dir_prep "$mods_path/Azahar/mods" "$azahar_mods_path" + 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_path/Azahar/" "$azahar_cheats_path" +fi + +if [[ "$action" == "postmove" ]]; then # Run commands that apply to both resets and moves + log i "----------------------" + log i "Post-moving $component_name" + log i "----------------------" + + set_setting_value "$azahar_qtconfig" "use_custom_storage" "true" "azahar" + set_setting_value "$azahar_qtconfig" "nand_directory" "$saves_path/n3ds/azahar/nand/" "azahar" + set_setting_value "$azahar_qtconfig" "sdmc_directory" "$saves_path/n3ds/azahar/sdmc/" "azahar" + set_setting_value "$azahar_qtconfig" "Paths\gamedirs\3\path" "$roms_path/n3ds" "azahar" + set_setting_value "$azahar_qtconfig" "Paths\screenshotPath" "$screenshots_path/Azahar" "azahar" dir_prep "$mods_path/Azahar/mods" "$azahar_mods_path" dir_prep "$texture_packs_path/Azahar/textures" "$azahar_textures_path" diff --git a/azahar/component_update.sh b/azahar/component_update.sh index 3c680729..d6f43ce0 100644 --- a/azahar/component_update.sh +++ b/azahar/component_update.sh @@ -29,3 +29,8 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true move "$texture_packs_path/citra/" "$texture_packs_path/n3ds/azahar/" fi fi + +if [[ $(check_version_is_older_than "$version_being_updated" "0.10.2b") == "true" ]]; then + log i "0.10.2b Upgrade - Reset: Azahar" + prepare_component "reset" "azahar" +fi diff --git a/dolphin/component_update.sh b/dolphin/component_update.sh index fd90875b..de57f082 100644 --- a/dolphin/component_update.sh +++ b/dolphin/component_update.sh @@ -53,5 +53,5 @@ fi if [[ -d "$dolphin_dynamic_input_textures_path" ]]; then # Refresh installed textures if they have been enabled log i "Refreshing installed textures for Dolphin..." - rsync -rlD --mkpath "/app/retrodeck/components/shared-data/DynamicInputTextures/" "$dolphin_dynamic_input_textures_path/" && log i "Done" + rsync -rlD --delete --mkpath "/app/retrodeck/components/shared-data/DynamicInputTextures/" "$dolphin_dynamic_input_textures_path/" && log i "Done" fi diff --git a/framework/component_prepare.sh b/framework/component_prepare.sh index cd80819d..365534b8 100755 --- a/framework/component_prepare.sh +++ b/framework/component_prepare.sh @@ -34,7 +34,7 @@ if [[ "$action" == "reset" ]]; then # Update the paths of all folders in retrode done < <(jq -r '.paths | to_entries[] | "\(.key)=\(.value)"' "$rd_conf") create_dir -d "$XDG_CONFIG_HOME/retrodeck/graphics" - cp -rf "/app/retrodeck/graphics/folder-iconsets" "$XDG_CONFIG_HOME/retrodeck/graphics/" + rsync -rlD --delete --mkpath "/app/retrodeck/graphics/folder-iconsets/" "$XDG_CONFIG_HOME/retrodeck/graphics/folder-iconsets/" fi if [[ "$action" == "postmove" ]]; then # Update the paths of any folders that came with the retrodeck folder during a move diff --git a/framework/component_update.sh b/framework/component_update.sh index 0e28bdcd..af68b2aa 100644 --- a/framework/component_update.sh +++ b/framework/component_update.sh @@ -506,3 +506,9 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true cp -rf "/app/retrodeck/graphics/folder-iconsets" "$XDG_CONFIG_HOME/retrodeck/graphics/" set_setting_value "$rd_conf" "iconset" "lahrs-main" "retrodeck" "options" fi + +####################################### +# These actions happen at every update +####################################### + +rsync -rlD --delete --mkpath "/app/retrodeck/graphics/folder-iconsets/" "$XDG_CONFIG_HOME/retrodeck/graphics/folder-iconsets/" diff --git a/mame/component_functions.sh b/mame/component_functions.sh index 2f2191d1..ae07cbe2 100755 --- a/mame/component_functions.sh +++ b/mame/component_functions.sh @@ -3,3 +3,22 @@ mame_config="$XDG_CONFIG_HOME/mame/ini/mame.ini" mame_config_ui="$XDG_CONFIG_HOME/mame/ini/ui.ini" mame_config_default="$XDG_CONFIG_HOME/mame/cfg/default.cfg" + +compress_chd() { + case "$1" in # Check platform-specific compression options + "psp" ) + log d "Compressing PSP game $2 into $3" + /bin/bash "$rd_components/mame/component_launcher.sh" chdman_compression createdvd --hunksize 2048 -i "$2" -o "$3".chd -c zstd + ;; + "ps2" ) + if [[ "$filename_extension" == "cue" ]]; then + /bin/bash "$rd_components/mame/component_launcher.sh" chdman_compression createcd -i "$2" -o "$3".chd + else + /bin/bash "$rd_components/mame/component_launcher.sh" chdman_compression createdvd -i "$2" -o "$3".chd -c zstd + fi + ;; + * ) + /bin/bash "$rd_components/mame/component_launcher.sh" chdman_compression createcd -i "$2" -o "$3".chd + ;; + esac +} diff --git a/mame/component_launcher.sh b/mame/component_launcher.sh index f83c50e9..81fd1f03 100755 --- a/mame/component_launcher.sh +++ b/mame/component_launcher.sh @@ -12,4 +12,9 @@ log i "RetroDECK is now launching $component_name" log d "Library path is: $LD_LIBRARY_PATH" log d "QT plugin path is: $QT_PLUGIN_PATH" -exec "$component_path/bin/mame" "$@" +if [[ "$1" == "chdman_compression" ]]; then + shift + exec "$component_path/bin/chdman" "$@" +else + exec "$component_path/bin/mame" "$@" +fi diff --git a/melonds/component_prepare.sh b/melonds/component_prepare.sh index 009cb177..b3e0b786 100755 --- a/melonds/component_prepare.sh +++ b/melonds/component_prepare.sh @@ -11,14 +11,11 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands create_dir -d "$XDG_CONFIG_HOME/melonDS/" cp -fv "$component_config/melonDS.toml" "$melonds_config" -# set_setting_value "$melonds_config" "BIOS9Path" "$bios_path/bios9.bin" "DS" "melonds" -# set_setting_value "$melonds_config" "BIOS7Path" "$bios_path/bios7.bin" "DS" "melonds" -# set_setting_value "$melonds_config" "FirmwarePath" "$bios_path/firmware.bin" "DS" "melonds" -# set_setting_value "$melonds_config" "SaveFilePath" "$saves_path/nds/melonds" "Instance0" "melonds" -# set_setting_value "$melonds_config" "SavestatePath" "$states_path/nds/melonds" "Instance0" "melonds" - sed -i "s#RETRODECKSTATESDIR#${states_path}#g" "$melonds_config" - sed -i "s#RETRODECKSAVESDIR#${saves_path}#g" "$melonds_config" - sed -i "s#RETRODECKBIOSDIR#${bios_path}#g" "$melonds_config" + set_setting_value "$melonds_config" "BIOS9Path" "\"$bios_path/bios9.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "BIOS7Path" "\"$bios_path/bios7.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "FirmwarePath" "\"$bios_path/firmware.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "SaveFilePath" "\"$saves_path/nds/melonds\"" "melonds" "Instance0" + set_setting_value "$melonds_config" "SavestatePath" "\"$states_path/nds/melonds\"" "melonds" "Instance0" create_dir "$saves_path/nds/melonds" create_dir "$states_path/nds/melonds" dir_prep "$bios_path" "$XDG_CONFIG_HOME/melonDS/bios" @@ -30,9 +27,9 @@ if [[ "$action" == "postmove" ]]; then # Run only post-move commands log i "----------------------" dir_prep "$bios_path" "$XDG_CONFIG_HOME/melonDS/bios" - set_setting_value "$melonds_config" "BIOS9Path" "$bios_path/bios9.bin" "DS" "melonds" - set_setting_value "$melonds_config" "BIOS7Path" "$bios_path/bios7.bin" "DS" "melonds" - set_setting_value "$melonds_config" "FirmwarePath" "$bios_path/firmware.bin" "DS" "melonds" - set_setting_value "$melonds_config" "SaveFilePath" "$saves_path/nds/melonds" "Instance0" "melonds" - set_setting_value "$melonds_config" "SavestatePath" "$states_path/nds/melonds" "Instance0" "melonds" + set_setting_value "$melonds_config" "BIOS9Path" "\"$bios_path/bios9.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "BIOS7Path" "\"$bios_path/bios7.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "FirmwarePath" "\"$bios_path/firmware.bin\"" "melonds" "DS" + set_setting_value "$melonds_config" "SaveFilePath" "\"$saves_path/nds/melonds\"" "melonds" "Instance0" + set_setting_value "$melonds_config" "SavestatePath" "\"$states_path/nds/melonds\"" "melonds" "Instance0" fi diff --git a/pcsx2/component_prepare.sh b/pcsx2/component_prepare.sh index 43381638..7c8c3ef5 100755 --- a/pcsx2/component_prepare.sh +++ b/pcsx2/component_prepare.sh @@ -65,7 +65,7 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands if [[ -d "$mods_path/PCSX2" && "$(ls -A "$mods_path/PCSX2")" ]]; then backup_file="$backups_path/mods/PCSX2-$(date +%y%m%d).tar.gz" create_dir "$(dirname "$backup_file")" - tar -czf "$backup_file" -C "$mods_path/PCSX2" PCSX2 + tar -czf "$backup_file" -C "$mods_path" PCSX2 log i "PCSX2 patches backed up to $backup_file" fi tar -xzf "$component_extras/pcsx2-patches.tar.gz" -C "$mods_path/PCSX2/patches" --overwrite diff --git a/pico-8/component_launcher.sh b/pico-8/component_launcher.sh index b5189250..7e1a55eb 100755 --- a/pico-8/component_launcher.sh +++ b/pico-8/component_launcher.sh @@ -1,3 +1,3 @@ #!/bin/bash -exec "$bios_path/pico-8/pico8" "$@" +exec "$bios_path/pico-8/pico8" -desktop_path "$screenshots_path" "$@" diff --git a/pico-8/component_manifest.json b/pico-8/component_manifest.json index f1159e9b..b368f1a3 100644 --- a/pico-8/component_manifest.json +++ b/pico-8/component_manifest.json @@ -6,6 +6,6 @@ "description": "PICO-8 is a fantasy console for playing tiny, retro-style games.", "system_friendly_name": "PICO-8 Fantasy Console", "component_type": "Emulator", - "system": "pico-8" + "system": "pico8" } } diff --git a/portmaster/assets/retrodeck.portmaster.zip b/portmaster/assets/retrodeck.portmaster.zip deleted file mode 100644 index 009b8b15..00000000 Binary files a/portmaster/assets/retrodeck.portmaster.zip and /dev/null differ diff --git a/portmaster/component_functions.sh b/portmaster/component_functions.sh new file mode 100644 index 00000000..c8c85466 --- /dev/null +++ b/portmaster/component_functions.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +portmaster_show(){ + log d "Setting PortMaster visibility in ES-DE" + if [ "$1" = "true" ]; then + log d "\"$roms_path/portmaster/PortMaster.sh\" is not found, installing it" + install -Dm755 "$XDG_DATA_HOME/PortMaster/PortMaster.sh" "$roms_path/portmaster/PortMaster.sh" && log d "PortMaster is correctly showing in ES-DE" + set_setting_value "$rd_conf" "portmaster_show" "true" retrodeck "options" + elif [ "$1" = "false" ]; then + rm -rf "$roms_path/portmaster/PortMaster.sh" && log d "PortMaster is correctly hidden in ES-DE" + set_setting_value "$rd_conf" "portmaster_show" "false" retrodeck "options" + else + log e "\"$1\" is not a valid choice, quitting" + fi +} diff --git a/portmaster/component_recipe.json b/portmaster/component_recipe.json index a0eb0d63..1763b06c 100755 --- a/portmaster/component_recipe.json +++ b/portmaster/component_recipe.json @@ -1,14 +1,14 @@ { "portmaster": [ { - "source_url": "$REPO_ROOT/$COMPONENT_NAME", - "source_type": "local", + "source_url": "https://github.com/PortsMaster/PortMaster-GUI/releases/download/{VERSION}/retrodeck.portmaster.zip", + "source_type": "github_release", "version": "$PORTMASTER_DESIRED_VERSION", "extraction_type": "local", "assets": [ { "type": "file-rename", - "source": "$REPO_ROOT/$COMPONENT_NAME/assets/retrodeck.portmaster.zip", + "source": "$WORKDIR/retrodeck.portmaster.zip", "dest": "$COMPONENT_ARTIFACT_ROOT/PortMaster.zip" }, { diff --git a/primehack/assets/rd_config/config/Dolphin.ini b/primehack/assets/rd_config/config/Dolphin.ini index 8de9d2b9..40ad614b 100644 --- a/primehack/assets/rd_config/config/Dolphin.ini +++ b/primehack/assets/rd_config/config/Dolphin.ini @@ -3,7 +3,7 @@ ID = 0d7f9276eb4e2200f7454c1bf3d780e0 Enabled = False [Core] InitialPrimeHackRun = True -SIDevice0 = 7 +SIDevice0 = 0 SIDevice1 = 0 SIDevice2 = 0 SIDevice3 = 0 diff --git a/primehack/assets/rd_config/config/Profiles/Wiimote/RD-MorphBall-evdev.ini b/primehack/assets/rd_config/config/Profiles/Wiimote/RD-MorphBall-evdev.ini new file mode 100644 index 00000000..d154ed47 --- /dev/null +++ b/primehack/assets/rd_config/config/Profiles/Wiimote/RD-MorphBall-evdev.ini @@ -0,0 +1,60 @@ +[Profile] +Device = evdev/0/Microsoft X-Box 360 pad 0 +Buttons/A = `Full Axis 5+` +Buttons/1 = SELECT +Buttons/2 = START +Buttons/- = TL +Buttons/+ = TR +Tilt/Modifier/Range = 50. +IMUIR/Enabled = False +Extension = Nunchuk +Nunchuk/Buttons/C = THUMBL|WEST +Nunchuk/Buttons/Z = `Full Axis 2+` +Nunchuk/Stick/Up = `Axis 1-` +Nunchuk/Stick/Down = `Axis 1+` +Nunchuk/Stick/Left = `Axis 0-` +Nunchuk/Stick/Right = `Axis 0+` +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Stick/Calibration = 100.00 101.96 108.24 110.71 112.28 113.66 108.24 101.96 100.00 101.96 107.57 108.29 108.39 107.84 107.65 101.96 100.00 101.96 108.24 114.09 118.05 120.27 108.24 101.96 100.00 101.96 108.24 110.20 110.40 107.81 107.65 101.96 +Nunchuk/Tilt/Modifier/Range = 50. +Nunchuk/Shake/Y = LSHIFT & (`Axis Y-` | `Axis Y+` | `Axis X-` | `Axis X+`) +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +D-Pad/Down = NORTH +PrimeHack/Beam 1 = TR&`Axis 7-` +PrimeHack/Beam 2 = TR&`Axis 6+` +PrimeHack/Beam 3 = TR&`Axis 7+` +PrimeHack/Beam 4 = TR&`Axis 6-` +PrimeHack/Next Beam = `Axis 6+`&!(TL|TR) +PrimeHack/Previous Beam = `Axis 6-`&!(TL|TR) +PrimeHack/Visor 1 = TL&`Axis 7-` +PrimeHack/Visor 2 = TL&`Axis 6+` +PrimeHack/Visor 3 = TL&`Axis 7+` +PrimeHack/Visor 4 = TL&`Axis 6-` +PrimeHack/Next Visor = `Axis 7-`&!(TL|TR) +PrimeHack/Previous Visor = `Axis 7+`&!(TL|TR) +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +PrimeHack/Grapple Lasso = `Full Axis 2+` +Source = 3 +Buttons/Down = NORTH +PrimeHack/Mode = 1 +Camera Control/Up = `Axis 4-` +Camera Control/Down = `Axis 4+` +Camera Control/Left = `Axis 3-` +Camera Control/Right = `Axis 3+` +Camera Control/Dead Zone = 10. +Nunchuk/Stick/Dead Zone = 10. +Rumble/Motor = Strong +PrimeHack/Enable Visor Menu = True +Camera Control/Calibration = 100.00 101.96 108.23 111.79 112.84 115.20 108.24 101.96 100.00 101.96 108.24 111.14 110.70 110.55 108.24 101.96 100.00 101.96 108.24 118.75 119.78 119.67 108.24 101.96 100.00 101.96 108.24 111.53 114.48 114.91 108.13 101.96 +PrimeHack/Enable Beam Menu = True +Nunchuk/Stick/Virtual Notches = 5. +Buttons/B = EAST +PrimeHack/AltProfile = Disabled +PrimeHack/Spring Ball = SOUTH diff --git a/primehack/assets/rd_config/config/Profiles/Wiimote/RD-PrimeHack-evdev.ini b/primehack/assets/rd_config/config/Profiles/Wiimote/RD-PrimeHack-evdev.ini new file mode 100644 index 00000000..a93d821c --- /dev/null +++ b/primehack/assets/rd_config/config/Profiles/Wiimote/RD-PrimeHack-evdev.ini @@ -0,0 +1,123 @@ +[Wiimote1] +Device = evdev/0/Microsoft X-Box 360 pad 0 +Buttons/A = `Full Axis 5+` +Buttons/1 = SELECT +Buttons/2 = START +Buttons/- = TL +Buttons/+ = TR +Tilt/Modifier/Range = 50. +IMUIR/Enabled = False +Extension = Nunchuk +Nunchuk/Buttons/C = THUMBL|WEST +Nunchuk/Buttons/Z = `Full Axis 2+` +Nunchuk/Stick/Dead Zone = 10. +Nunchuk/Stick/Up = `Axis 1-` +Nunchuk/Stick/Down = `Axis 1+` +Nunchuk/Stick/Left = `Axis 0-` +Nunchuk/Stick/Right = `Axis 0+` +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Stick/Calibration = 100.00 101.96 108.24 110.71 112.28 113.66 108.24 101.96 100.00 101.96 107.57 108.29 108.39 107.84 107.65 101.96 100.00 101.96 108.24 114.09 118.05 120.27 108.24 101.96 100.00 101.96 108.24 110.20 110.40 107.81 107.65 101.96 +Nunchuk/Tilt/Modifier/Range = 50. +Nunchuk/Shake/Y = LSHIFT & (`Axis Y-` | `Axis Y+` | `Axis X-` | `Axis X+`) +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +D-Pad/Down = NORTH +PrimeHack/Beam 1 = TR&`Axis 7-` +PrimeHack/Beam 2 = TR&`Axis 6+` +PrimeHack/Beam 3 = TR&`Axis 7+` +PrimeHack/Beam 4 = TR&`Axis 6-` +PrimeHack/Next Beam = `Axis 6+`&!(TL|TR) +PrimeHack/Previous Beam = `Axis 6-`&!(TL|TR) +PrimeHack/Visor 1 = TL&`Axis 7-` +PrimeHack/Visor 2 = TL&`Axis 6+` +PrimeHack/Visor 3 = TL&`Axis 7+` +PrimeHack/Visor 4 = TL&`Axis 6-` +PrimeHack/Next Visor = `Axis 7-`&!(TL|TR) +PrimeHack/Previous Visor = `Axis 7+`&!(TL|TR) +PrimeHack/MorphBallProfile = RD-MorphBall-evdev +Camera Control/Modifier/Range = 50. +PrimeHack/Grapple Lasso = EAST +Source = 3 +Buttons/Down = NORTH +PrimeHack/Mode = 1 +Camera Control/Up = `Axis 4-` +Camera Control/Down = `Axis 4+` +Camera Control/Left = `Axis 3-` +Camera Control/Right = `Axis 3+` +Camera Control/Dead Zone = 10. +Rumble/Motor = Strong +PrimeHack/Enable Visor Menu = True +Camera Control/Calibration = 100.00 101.96 108.23 111.79 112.84 115.20 108.24 101.96 100.00 101.96 108.24 111.14 110.70 110.55 108.24 101.96 100.00 101.96 108.24 118.75 119.78 119.67 108.24 101.96 100.00 101.96 108.24 111.53 114.48 114.91 108.13 101.96 +PrimeHack/Enable Beam Menu = True +Nunchuk/Stick/Virtual Notches = 5. +Buttons/B = SOUTH +PrimeHack/AltProfile = livedeht1_morph +[Wiimote2] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 +PrimeHack/AltProfile = Disabled +[Wiimote3] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 +PrimeHack/AltProfile = Disabled +[Wiimote4] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 +PrimeHack/AltProfile = Disabled +[BalanceBoard] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 +PrimeHack/AltProfile = Disabled diff --git a/primehack/assets/rd_config/config/Profiles/Wiimote/WiimoteNew-RD-SDL-OG.ini b/primehack/assets/rd_config/config/Profiles/Wiimote/WiimoteNew-RD-SDL-OG.ini new file mode 100644 index 00000000..ba4ec69d --- /dev/null +++ b/primehack/assets/rd_config/config/Profiles/Wiimote/WiimoteNew-RD-SDL-OG.ini @@ -0,0 +1,107 @@ +[Wiimote1] +Device = SDL/0/Microsoft X-Box 360 pad 0 +Buttons/A = `Full Axis 5+` | `Button 0` +Buttons/B = `Button 1` +Buttons/1 = `Button 7` +Buttons/2 = `Button 6` +Buttons/- = `Button 4` +Buttons/+ = `Button 5` +Buttons/Down = `Button 3` +D-Pad/Down = `Button 3` +Tilt/Modifier/Range = 50.0 +IMUIR/Enabled = False +Extension = Nunchuk +Nunchuk/Buttons/C = `Button 4` +Nunchuk/Buttons/Z = `Full Axis 2+` +Nunchuk/Stick/Dead Zone = 15.0 +Nunchuk/Stick/Up = `Axis 1-` +Nunchuk/Stick/Down = `Axis 1+` +Nunchuk/Stick/Left = `Axis 0-` +Nunchuk/Stick/Right = `Axis 0+` +Nunchuk/Stick/Modifier/Range = 50.0 +Nunchuk/Stick/Calibration = 100.00 141.42 100.00 141.42 100.00 141.42 100.00 141.42 +Nunchuk/Tilt/Modifier/Range = 50.0 +Classic/Left Stick/Modifier/Range = 50.0 +Classic/Right Stick/Modifier/Range = 50.0 +Guitar/Stick/Modifier/Range = 50.0 +Drums/Stick/Modifier/Range = 50.0 +Turntable/Stick/Modifier/Range = 50.0 +uDraw/Stylus/Modifier/Range = 50.0 +Drawsome/Stylus/Modifier/Range = 50.0 +Rumble/Motor = Weak +PrimeHack/Beam 1 = `Button 5` & `Hat 0 N` +PrimeHack/Beam 2 = `Button 5` & `Hat 0 S` +PrimeHack/Beam 3 = `Button 5` & `Hat 0 W` +PrimeHack/Beam 4 = `Button 5` & `Hat 0 E` +PrimeHack/Visor 1 = !`Button 5` & `Hat 0 N` +PrimeHack/Visor 2 = !`Button 5` & `Hat 0 S` +PrimeHack/Visor 3 = !`Button 5` & `Hat 0 W` +PrimeHack/Visor 4 = !`Button 5` & `Hat 0 E` +PrimeHack/AltProfile = Disabled +PrimeHack/Control Reticle When Locked-On = True +Camera Control/Dead Zone = 15.0 +Camera Control/Up = `Axis 4-` +Camera Control/Down = `Axis 4+` +Camera Control/Left = `Axis 3-` +Camera Control/Right = `Axis 3+` +Camera Control/Modifier/Range = 50.0 +PrimeHack/Mode = 1 +PrimeHack/Tap Grapple Repeatedly To Pull = True +PrimeHack/Spring Ball = `Button 10` +PrimeHack/Grapple Lasso = `Button 2` +[Wiimote2] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50.0 +Nunchuk/Stick/Modifier/Range = 50.0 +Nunchuk/Tilt/Modifier/Range = 50.0 +Classic/Left Stick/Modifier/Range = 50.0 +Classic/Right Stick/Modifier/Range = 50.0 +Guitar/Stick/Modifier/Range = 50.0 +Drums/Stick/Modifier/Range = 50.0 +Turntable/Stick/Modifier/Range = 50.0 +uDraw/Stylus/Modifier/Range = 50.0 +Drawsome/Stylus/Modifier/Range = 50.0 +PrimeHack/AltProfile = Disabled +Camera Control/Modifier/Range = 50.0 +[Wiimote3] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50.0 +Nunchuk/Stick/Modifier/Range = 50.0 +Nunchuk/Tilt/Modifier/Range = 50.0 +Classic/Left Stick/Modifier/Range = 50.0 +Classic/Right Stick/Modifier/Range = 50.0 +Guitar/Stick/Modifier/Range = 50.0 +Drums/Stick/Modifier/Range = 50.0 +Turntable/Stick/Modifier/Range = 50.0 +uDraw/Stylus/Modifier/Range = 50.0 +Drawsome/Stylus/Modifier/Range = 50.0 +PrimeHack/AltProfile = Disabled +Camera Control/Modifier/Range = 50.0 +[Wiimote4] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50.0 +Nunchuk/Stick/Modifier/Range = 50.0 +Nunchuk/Tilt/Modifier/Range = 50.0 +Classic/Left Stick/Modifier/Range = 50.0 +Classic/Right Stick/Modifier/Range = 50.0 +Guitar/Stick/Modifier/Range = 50.0 +Drums/Stick/Modifier/Range = 50.0 +Turntable/Stick/Modifier/Range = 50.0 +uDraw/Stylus/Modifier/Range = 50.0 +Drawsome/Stylus/Modifier/Range = 50.0 +PrimeHack/AltProfile = Disabled +Camera Control/Modifier/Range = 50.0 +[BalanceBoard] +Device = XInput2/0/Virtual core pointer +Tilt/Modifier/Range = 50.0 +Nunchuk/Stick/Modifier/Range = 50.0 +Nunchuk/Tilt/Modifier/Range = 50.0 +Classic/Left Stick/Modifier/Range = 50.0 +Classic/Right Stick/Modifier/Range = 50.0 +Guitar/Stick/Modifier/Range = 50.0 +Drums/Stick/Modifier/Range = 50.0 +Turntable/Stick/Modifier/Range = 50.0 +uDraw/Stylus/Modifier/Range = 50.0 +Drawsome/Stylus/Modifier/Range = 50.0 +PrimeHack/AltProfile = Disabled +Camera Control/Modifier/Range = 50.0 diff --git a/primehack/assets/rd_config/config/WiimoteNew.ini b/primehack/assets/rd_config/config/WiimoteNew.ini index ba4ec69d..e7c5dd46 100644 --- a/primehack/assets/rd_config/config/WiimoteNew.ini +++ b/primehack/assets/rd_config/config/WiimoteNew.ini @@ -1,107 +1,123 @@ [Wiimote1] -Device = SDL/0/Microsoft X-Box 360 pad 0 -Buttons/A = `Full Axis 5+` | `Button 0` -Buttons/B = `Button 1` -Buttons/1 = `Button 7` -Buttons/2 = `Button 6` -Buttons/- = `Button 4` -Buttons/+ = `Button 5` -Buttons/Down = `Button 3` -D-Pad/Down = `Button 3` -Tilt/Modifier/Range = 50.0 +Device = evdev/0/Microsoft X-Box 360 pad 0 +Buttons/A = `Full Axis 5+` +Buttons/1 = SELECT +Buttons/2 = START +Buttons/- = TL +Buttons/+ = TR +Tilt/Modifier/Range = 50. IMUIR/Enabled = False Extension = Nunchuk -Nunchuk/Buttons/C = `Button 4` +Nunchuk/Buttons/C = THUMBL|WEST Nunchuk/Buttons/Z = `Full Axis 2+` -Nunchuk/Stick/Dead Zone = 15.0 +Nunchuk/Stick/Dead Zone = 10. Nunchuk/Stick/Up = `Axis 1-` Nunchuk/Stick/Down = `Axis 1+` Nunchuk/Stick/Left = `Axis 0-` Nunchuk/Stick/Right = `Axis 0+` -Nunchuk/Stick/Modifier/Range = 50.0 -Nunchuk/Stick/Calibration = 100.00 141.42 100.00 141.42 100.00 141.42 100.00 141.42 -Nunchuk/Tilt/Modifier/Range = 50.0 -Classic/Left Stick/Modifier/Range = 50.0 -Classic/Right Stick/Modifier/Range = 50.0 -Guitar/Stick/Modifier/Range = 50.0 -Drums/Stick/Modifier/Range = 50.0 -Turntable/Stick/Modifier/Range = 50.0 -uDraw/Stylus/Modifier/Range = 50.0 -Drawsome/Stylus/Modifier/Range = 50.0 -Rumble/Motor = Weak -PrimeHack/Beam 1 = `Button 5` & `Hat 0 N` -PrimeHack/Beam 2 = `Button 5` & `Hat 0 S` -PrimeHack/Beam 3 = `Button 5` & `Hat 0 W` -PrimeHack/Beam 4 = `Button 5` & `Hat 0 E` -PrimeHack/Visor 1 = !`Button 5` & `Hat 0 N` -PrimeHack/Visor 2 = !`Button 5` & `Hat 0 S` -PrimeHack/Visor 3 = !`Button 5` & `Hat 0 W` -PrimeHack/Visor 4 = !`Button 5` & `Hat 0 E` -PrimeHack/AltProfile = Disabled -PrimeHack/Control Reticle When Locked-On = True -Camera Control/Dead Zone = 15.0 +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Stick/Calibration = 100.00 101.96 108.24 110.71 112.28 113.66 108.24 101.96 100.00 101.96 107.57 108.29 108.39 107.84 107.65 101.96 100.00 101.96 108.24 114.09 118.05 120.27 108.24 101.96 100.00 101.96 108.24 110.20 110.40 107.81 107.65 101.96 +Nunchuk/Tilt/Modifier/Range = 50. +Nunchuk/Shake/Y = LSHIFT & (`Axis Y-` | `Axis Y+` | `Axis X-` | `Axis X+`) +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +D-Pad/Down = NORTH +PrimeHack/Beam 1 = TR&`Axis 7-` +PrimeHack/Beam 2 = TR&`Axis 6+` +PrimeHack/Beam 3 = TR&`Axis 7+` +PrimeHack/Beam 4 = TR&`Axis 6-` +PrimeHack/Next Beam = `Axis 6+`&!(TL|TR) +PrimeHack/Previous Beam = `Axis 6-`&!(TL|TR) +PrimeHack/Visor 1 = TL&`Axis 7-` +PrimeHack/Visor 2 = TL&`Axis 6+` +PrimeHack/Visor 3 = TL&`Axis 7+` +PrimeHack/Visor 4 = TL&`Axis 6-` +PrimeHack/Next Visor = `Axis 7-`&!(TL|TR) +PrimeHack/Previous Visor = `Axis 7+`&!(TL|TR) +PrimeHack/MorphBallProfile = RD-MorphBall +Camera Control/Modifier/Range = 50. +PrimeHack/Grapple Lasso = EAST +Source = 3 +Buttons/Down = NORTH +PrimeHack/Mode = 1 Camera Control/Up = `Axis 4-` Camera Control/Down = `Axis 4+` Camera Control/Left = `Axis 3-` Camera Control/Right = `Axis 3+` -Camera Control/Modifier/Range = 50.0 -PrimeHack/Mode = 1 -PrimeHack/Tap Grapple Repeatedly To Pull = True -PrimeHack/Spring Ball = `Button 10` -PrimeHack/Grapple Lasso = `Button 2` +Camera Control/Dead Zone = 10. +Rumble/Motor = Strong +PrimeHack/Enable Visor Menu = True +Camera Control/Calibration = 100.00 101.96 108.23 111.79 112.84 115.20 108.24 101.96 100.00 101.96 108.24 111.14 110.70 110.55 108.24 101.96 100.00 101.96 108.24 118.75 119.78 119.67 108.24 101.96 100.00 101.96 108.24 111.53 114.48 114.91 108.13 101.96 +PrimeHack/Enable Beam Menu = True +Nunchuk/Stick/Virtual Notches = 5. +Buttons/B = SOUTH +PrimeHack/AltProfile = livedeht1_morph [Wiimote2] Device = XInput2/0/Virtual core pointer -Tilt/Modifier/Range = 50.0 -Nunchuk/Stick/Modifier/Range = 50.0 -Nunchuk/Tilt/Modifier/Range = 50.0 -Classic/Left Stick/Modifier/Range = 50.0 -Classic/Right Stick/Modifier/Range = 50.0 -Guitar/Stick/Modifier/Range = 50.0 -Drums/Stick/Modifier/Range = 50.0 -Turntable/Stick/Modifier/Range = 50.0 -uDraw/Stylus/Modifier/Range = 50.0 -Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 PrimeHack/AltProfile = Disabled -Camera Control/Modifier/Range = 50.0 [Wiimote3] Device = XInput2/0/Virtual core pointer -Tilt/Modifier/Range = 50.0 -Nunchuk/Stick/Modifier/Range = 50.0 -Nunchuk/Tilt/Modifier/Range = 50.0 -Classic/Left Stick/Modifier/Range = 50.0 -Classic/Right Stick/Modifier/Range = 50.0 -Guitar/Stick/Modifier/Range = 50.0 -Drums/Stick/Modifier/Range = 50.0 -Turntable/Stick/Modifier/Range = 50.0 -uDraw/Stylus/Modifier/Range = 50.0 -Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 PrimeHack/AltProfile = Disabled -Camera Control/Modifier/Range = 50.0 [Wiimote4] Device = XInput2/0/Virtual core pointer -Tilt/Modifier/Range = 50.0 -Nunchuk/Stick/Modifier/Range = 50.0 -Nunchuk/Tilt/Modifier/Range = 50.0 -Classic/Left Stick/Modifier/Range = 50.0 -Classic/Right Stick/Modifier/Range = 50.0 -Guitar/Stick/Modifier/Range = 50.0 -Drums/Stick/Modifier/Range = 50.0 -Turntable/Stick/Modifier/Range = 50.0 -uDraw/Stylus/Modifier/Range = 50.0 -Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 PrimeHack/AltProfile = Disabled -Camera Control/Modifier/Range = 50.0 [BalanceBoard] Device = XInput2/0/Virtual core pointer -Tilt/Modifier/Range = 50.0 -Nunchuk/Stick/Modifier/Range = 50.0 -Nunchuk/Tilt/Modifier/Range = 50.0 -Classic/Left Stick/Modifier/Range = 50.0 -Classic/Right Stick/Modifier/Range = 50.0 -Guitar/Stick/Modifier/Range = 50.0 -Drums/Stick/Modifier/Range = 50.0 -Turntable/Stick/Modifier/Range = 50.0 -uDraw/Stylus/Modifier/Range = 50.0 -Drawsome/Stylus/Modifier/Range = 50.0 +Tilt/Modifier/Range = 50. +Nunchuk/Stick/Modifier/Range = 50. +Nunchuk/Tilt/Modifier/Range = 50. +Classic/Left Stick/Modifier/Range = 50. +Classic/Right Stick/Modifier/Range = 50. +Guitar/Stick/Modifier/Range = 50. +Drums/Stick/Modifier/Range = 50. +Turntable/Stick/Modifier/Range = 50. +uDraw/Stylus/Modifier/Range = 50. +Drawsome/Stylus/Modifier/Range = 50. +PrimeHack/MorphBallProfile = Disabled +Camera Control/Modifier/Range = 50. +Source = 0 PrimeHack/AltProfile = Disabled -Camera Control/Modifier/Range = 50.0 diff --git a/primehack/component_update.sh b/primehack/component_update.sh index 711cdd58..06353969 100644 --- a/primehack/component_update.sh +++ b/primehack/component_update.sh @@ -46,11 +46,21 @@ if [[ $(check_version_is_older_than "$version_being_updated" "0.10.0b") == "true prepare_component "postmove" "primehack" fi +if [[ $(check_version_is_older_than "$version_being_updated" "0.10.2b") == "true" ]]; then + + log i "0.10.2b Upgrade - Postmove: PrimeHack" + + create_dir "$roms_path/primehack" + set_setting_value "$primehack_config" "SIDevice0" "0" "primehack" "Core" + rsync -rlD --mkpath "$primehack_rd_config_dir/config/Profiles/Wiimote/" "$XDG_CONFIG_HOME/primehack/Profiles/Wiimote/" + rsync -rlD --mkpath "$primehack_rd_config_dir/config/WiimoteNew.ini" "$XDG_CONFIG_HOME/primehack/WiimoteNew.ini" +fi + ####################################### # These actions happen at every update ####################################### if [[ -d "$primehack_dynamic_input_textures_path" ]]; then # Refresh installed textures if they have been enabled log i "Refreshing installed textures for Primehack..." - rsync -rlD --mkpath "/app/retrodeck/components/shared-data/DynamicInputTextures/" "$primehack_dynamic_input_textures_path/" && log i "Done" + rsync -rlD --delete --mkpath "/app/retrodeck/components/shared-data/DynamicInputTextures/" "$primehack_dynamic_input_textures_path/" && log i "Done" fi diff --git a/retroarch/component_prepare.sh b/retroarch/component_prepare.sh index 2202b020..6159ab8c 100755 --- a/retroarch/component_prepare.sh +++ b/retroarch/component_prepare.sh @@ -63,7 +63,7 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands if [[ -d "$bios_path/mame2003-plus" && "$(ls -A "$bios_path/mame2003-plus")" ]]; then backup_file="$backups_path/bios/mame2003-plus-$(date +%y%m%d).tar.gz" create_dir "$(dirname "$backup_file")" - tar -czf "$backup_file" -C "$bios_path/mame2003-plus" retroarch + tar -czf "$backup_file" -C "$bios_path" mame2003-plus log i "MAME 2003-Plus BIOS data backed up to $backup_file" fi tar -xzf "$retroarch_extras_path/mame2003-plus.tar.gz" -C "$bios_path/mame2003-plus" --overwrite diff --git a/steam-rom-manager/assets/rd_config/userConfigurations.json b/steam-rom-manager/assets/rd_config/userConfigurations.json index e3a7851e..c72ec7ed 100644 --- a/steam-rom-manager/assets/rd_config/userConfigurations.json +++ b/steam-rom-manager/assets/rd_config/userConfigurations.json @@ -22,9 +22,7 @@ "imagePool": "${fuzzyTitle}", "drmProtect": false, "userAccounts": { - "specifiedAccounts": [ - "xargonwan" - ] + "specifiedAccounts": [] }, "parserInputs": { "manualManifests": "${romsdirglobal}" @@ -46,49 +44,41 @@ }, "controllers": { "ps4": { - "title": "RetroDECK: DualShock 4 v.1b", + "title": "RetroDECK: DualShock 4 v.1.1", "mappingId": "RetroDECK_controller_ps4_dualshock4_simple.vdf", "profileType": "template" }, "ps5": { - "title": "RetroDECK: DualSense v.1b", + "title": "RetroDECK: DualSense v.1.1", "mappingId": "RetroDECK_controller_ps5_dualsense_simple.vdf", "profileType": "template" }, "ps5_edge": null, "xbox360": { - "title": "RetroDECK: Xbox 360 v.1b", + "title": "RetroDECK: Xbox 360 v.1.1", "mappingId": "RetroDECK_controller_xbox360_simple.vdf", "profileType": "template" }, "xboxone": { - "title": "RetroDECK: Xbox Wireless v.1b", + "title": "RetroDECK: Xbox Wireless v.1.1", "mappingId": "RetroDECK_controller_xboxone_simple.vdf", "profileType": "template" }, "xboxelite": null, - "switch_joycon_left": { - "title": "Controller", - "mappingId": "controller_switch_joycon_left_gamepad_joystick.vdf", - "profileType": "template" - }, - "switch_joycon_right": { - "title": "Controller", - "mappingId": "controller_switch_joycon_right_gamepad_joystick.vdf", - "profileType": "template" - }, + "switch_joycon_left": null, + "switch_joycon_right": null, "switch_pro": { - "title": "RetroDECK: Switch Pro v.1b", + "title": "RetroDECK: Switch Pro v.1.1", "mappingId": "RetroDECK_controller_switch_pro_simple.vdf", "profileType": "template" }, "neptune": { - "title": "RetroDECK: Steam Deck - Neptune v.1.1b FULL", + "title": "RetroDECK: Steam Deck - Neptune FULL: v.1.2", "mappingId": "RetroDECK_controller_steamdeck_neptune_full.vdf", "profileType": "template" }, "steamcontroller_gordon": { - "title": "RetroDECK: Steam Controller - Gordon v.1b", + "title": "RetroDECK: Steam Controller - Gordon v.1.1", "mappingId": "RetroDECK_controller_steam_controller_gordon_simple.vdf", "profileType": "template" } diff --git a/steam-rom-manager/component_functions.sh b/steam-rom-manager/component_functions.sh index 3d9b4cc7..b02120d2 100755 --- a/steam-rom-manager/component_functions.sh +++ b/steam-rom-manager/component_functions.sh @@ -397,3 +397,37 @@ decode_filename() { -e 's/"/"/g' \ -e 's/'/'"'"'/g' } + +install_retrodeck_controller_profile() { + # This function will install the needed files for the custom RetroDECK controller profile + # NOTE: These files need to be stored in shared locations for Steam, outside of the normal RetroDECK folders and should always be an optional user choice + # BIGGER NOTE: As part of this process, all emulators will need to have their configs hard-reset to match the controller mappings of the profile + # USAGE: install_retrodeck_controller_profile + if [[ -d "$HOME/.steam/steam/controller_base/templates/" || -d "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/controller_base/templates/" ]]; then + if [[ -d "$HOME/.steam/steam/controller_base/templates/" ]]; then # If a normal binary Steam install exists + rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" + rsync -rlD --mkpath "$rd_core_files/controller_configs/" "$HOME/.steam/steam/controller_base/templates/" + fi + if [[ -d "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/controller_base/templates/" ]]; then # If a Flatpak Steam install exists + rsync -rlD --mkpath "/app/retrodeck/binding_icons/" "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/tenfoot/resource/images/library/controller/binding_icons/" + rsync -rlD --mkpath "$rd_core_files/controller_configs/" "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/controller_base/templates/" + fi + else + configurator_generic_dialog "RetroDECK - Install: Steam Controller Templates" "The target directories for the controller profile do not exist.\n\nThis may occur if Steam is not installed or if the location does not have read permissions." + fi +} + +install_retrodeck_controller_profile_and_add_to_steam() { + install_retrodeck_controller_profile + add_retrodeck_to_steam + + rd_zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK Initial Install - Steam Synchronization" --cancel-label="No" --ok-label "Yes" \ + --text="Enable Steam synchronization?\n\nThis will scan your games for any Favorited games in ES-DE and add them to your Steam library as individual entries.\n\nYou will need to restart Steam for the changes to take effect." + + if [[ $? == 0 ]]; then + configurator_enable_steam_sync + fi + if [[ $(get_setting_value "$rd_conf" "steam_sync" retrodeck "options") =~ (flatpak) ]]; then # If Flatpak Steam, warn about permission + configurator_generic_dialog "RetroDeck Configurator - Steam Flatpak Warning" "You are using the Flatpak Version of Steam.\n\nTo allow RetroDECK to launch, Steam must be granted the following permission:\norg.freedesktop.Flatpak\n\nPlease read the RetroDECK wiki for instructions" + fi +} diff --git a/steam-rom-manager/component_prepare.sh b/steam-rom-manager/component_prepare.sh index 4222e228..02513c8c 100755 --- a/steam-rom-manager/component_prepare.sh +++ b/steam-rom-manager/component_prepare.sh @@ -20,4 +20,8 @@ if [[ "$action" == "reset" ]]; then # Run reset-only commands jq '.environmentVariables.steamDirectory = "'"$steam_userdata_current"'"' "$srm_userdata/userSettings.json" > "$srm_userdata/tmp.json" && mv -f "$srm_userdata/tmp.json" "$srm_userdata/userSettings.json" jq '.environmentVariables.romsDirectory = "'"$rd_home_path"'/.sync"' "$srm_userdata/userSettings.json" > "$srm_userdata/tmp.json" && mv -f "$srm_userdata/tmp.json" "$srm_userdata/userSettings.json" fi + + if [[ ! -z $(find "$HOME/.steam/steam/controller_base/templates/" -maxdepth 1 -type f -iname "RetroDECK*.vdf") || ! -z $(find "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/controller_base/templates/" -maxdepth 1 -type f -iname "RetroDECK*.vdf") ]]; then # If RetroDECK controller profile has been previously installed + install_retrodeck_controller_profile + fi fi diff --git a/steam-rom-manager/component_update.sh b/steam-rom-manager/component_update.sh index b9f109ff..78f965b2 100644 --- a/steam-rom-manager/component_update.sh +++ b/steam-rom-manager/component_update.sh @@ -9,3 +9,11 @@ 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" "steam-rom-manager" fi + +####################################### +# These actions happen at every update +####################################### + +if [[ ! -z $(find "$HOME/.steam/steam/controller_base/templates/" -maxdepth 1 -type f -iname "RetroDECK*.vdf") || ! -z $(find "$HOME/.var/app/com.valvesoftware.Steam/.steam/steam/controller_base/templates/" -maxdepth 1 -type f -iname "RetroDECK*.vdf") ]]; then # If RetroDECK controller profile has been previously installed + install_retrodeck_controller_profile +fi