RETROARCH: added a basic cheats support

This commit is contained in:
XargonWan 2025-02-06 14:58:01 +09:00
parent 143994e1fe
commit ae8bfe6819
5 changed files with 27 additions and 4 deletions

View file

@ -66,7 +66,6 @@ features="$config/retrodeck/reference_lists/features.json"
es_systems="/app/share/es-de/resources/systems/linux/es_systems.xml" # ES-DE supported system list es_systems="/app/share/es-de/resources/systems/linux/es_systems.xml" # ES-DE supported system list
es_find_rules="/app/share/es-de/resources/systems/linux/es_find_rules.xml" # ES-DE emulator find rules es_find_rules="/app/share/es-de/resources/systems/linux/es_find_rules.xml" # ES-DE emulator find rules
# Godot data transfer temp files # Godot data transfer temp files
godot_bios_files_checked="/var/config/retrodeck/godot/godot_bios_files_checked.tmp" godot_bios_files_checked="/var/config/retrodeck/godot/godot_bios_files_checked.tmp"
@ -236,5 +235,6 @@ fi
logs_folder="$rdhome/logs" # The path of the logs folder, here we collect all the logs logs_folder="$rdhome/logs" # The path of the logs folder, here we collect all the logs
steamsync_folder="$rdhome/.sync" # Folder containing all the steam sync launchers for SRM steamsync_folder="$rdhome/.sync" # Folder containing all the steam sync launchers for SRM
steamsync_folder_tmp="$rdhome/.sync-tmp" # Temp folder containing all the steam sync launchers for SRM steamsync_folder_tmp="$rdhome/.sync-tmp" # Temp folder containing all the steam sync launchers for SRM
cheats_folder="$rdhome/cheats" # Folder containing all the cheats for the emulators
export GLOBAL_SOURCED=true export GLOBAL_SOURCED=true

View file

@ -610,15 +610,18 @@ post_update() {
# Execute the selected resets # Execute the selected resets
# ES-DE reset # RetroArch reset
if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " RetroArch " ]]; then if [[ "$execute_all" == "true" || " ${selected_choices[@]} " =~ " RetroArch " ]]; then
log i "User agreed to RetroArch reset" log i "User agreed to RetroArch reset"
# Twice to toggle them once and then toggle them back to the original value # Twice to toggle them once and then toggle them back to the original value
make_preset_changes "borders" "all" make_preset_changes "borders" "all"
make_preset_changes "borders" "all" make_preset_changes "borders" "all"
fi fi
# --- ALWAYS EXECUTED IN 0.9.1b ---
create_dir "$cheats_folder/retroarch"
fi # end of 0.9.1b fi # end of 0.9.1b
# The following commands are run every time. # The following commands are run every time.

View file

@ -123,7 +123,15 @@ prepare_component() {
create_dir -d /var/config/retroarch create_dir -d /var/config/retroarch
dir_prep "$bios_folder" "/var/config/retroarch/system" dir_prep "$bios_folder" "/var/config/retroarch/system"
dir_prep "$rdhome/logs/retroarch" "/var/config/retroarch/logs" dir_prep "$rdhome/logs/retroarch" "/var/config/retroarch/logs"
create_dir /var/config/retroarch/shaders/ create_dir -d "/var/config/retroarch/shaders/"
if [[ -d "$cheats_folder/retroarch" && "$(ls -A $cheats_folder/retroarch)" ]]; then
backup_file="$backup_folder/cheats/retroarch-$(date +%y%m%d).tar.gz"
create_dir "$(dirname "$backup_file")"
tar -czf "$backup_file" -C "$cheats_folder" retroarch
log i "RetroArch cheats backed up to $backup_file"
fi
create_dir -d "$cheats_folder/retroarch"
tar -xzf /app/retrodeck/cheats/retroarch.tar.gz -C "$cheats_folder/retroarch" --overwrite
cp -rf /app/share/libretro/shaders /var/config/retroarch/ cp -rf /app/share/libretro/shaders /var/config/retroarch/
dir_prep "$rdhome/shaders/retroarch" "/var/config/retroarch/shaders" dir_prep "$rdhome/shaders/retroarch" "/var/config/retroarch/shaders"
cp -fv $config/retroarch/retroarch.cfg /var/config/retroarch/ cp -fv $config/retroarch/retroarch.cfg /var/config/retroarch/
@ -136,6 +144,7 @@ prepare_component() {
set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch" set_setting_value "$raconf" "screenshot_directory" "$screenshots_folder" "retroarch"
set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch" set_setting_value "$raconf" "log_dir" "$logs_folder" "retroarch"
set_setting_value "$raconf" "rgui_browser_directory" "$roms_folder" "retroarch" set_setting_value "$raconf" "rgui_browser_directory" "$roms_folder" "retroarch"
set_setting_value "$raconf" "cheat_database_path" "$cheats_folder/retroarch"
fi fi
# Shared actions # Shared actions

View file

@ -66,6 +66,7 @@
<p>New Additions:</p> <p>New Additions:</p>
<ul> <ul>
<li>New CLI argument `--set` to set presets, call retrodeck with `--set help` for more information</li> <li>New CLI argument `--set` to set presets, call retrodeck with `--set help` for more information</li>
<li>RETROARCH: added a basic cheats support</li>
</ul> </ul>
<p>Bug fixes:</p> <p>Bug fixes:</p>
<ul> <ul>

View file

@ -311,6 +311,16 @@ modules:
url: https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip url: https://buildbot.libretro.com/nightly/linux/x86_64/latest/sameduck_libretro.so.zip
sha256: SAMEDUCKSHAPLACEHOLDER sha256: SAMEDUCKSHAPLACEHOLDER
- name: retroarch-cheats
buildsystem: simple
build-commands:
- mkdir -p ${FLATPAK_DEST}/retrodeck/cheats
- tar -czf ${FLATPAK_DEST}/retrodeck/cheats/retroarch.tar.gz cht
sources:
- type: git
url: https://github.com/libretro/libretro-database
branch: master
- name: ppsspp-bios - name: ppsspp-bios
buildsystem: simple buildsystem: simple
build-commands: build-commands: