mirror of
https://github.com/RetroDECK/RetroDECK.git
synced 2024-11-23 22:45:38 +00:00
Merge branch 'branch/cooker-0.8.4b'
This commit is contained in:
commit
65951b7a5b
6
.github/workflows/cooker-selfhosted.yml
vendored
6
.github/workflows/cooker-selfhosted.yml
vendored
|
@ -30,12 +30,12 @@ on:
|
||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
Building_RetroDECK:
|
Building_RetroDECK:
|
||||||
runs-on: self-hosted
|
runs-on: retrodeck
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
# Circumventing this bug: https://github.com/flatpak/flatpak-builder/issues/317
|
||||||
- name: Remove stuck mounts
|
- name: Remove stuck mounts
|
||||||
run: sudo umount -f /home/ubuntu/actions-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
|
run: sudo umount -f /home/ubuntu/retrodeck-runner/_work/RetroDECK/RetroDECK/.flatpak-builder/rofiles/*
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Clone RetroDECK repo
|
- name: Clone RetroDECK repo
|
||||||
|
@ -162,7 +162,7 @@ jobs:
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
makeLatest: ${{env.MAKE_LATEST}} # if it's a feat branch is not considered the latest build
|
||||||
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
token: ${{ secrets.TRIGGER_BUILD_TOKEN }}
|
||||||
repo: RetroDECK-cooker
|
repo: Cooker
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
- name: Rewrite Tag
|
- name: Rewrite Tag
|
||||||
|
|
|
@ -8,8 +8,8 @@ hash^MSXBIOSHASHPLACEHOLDER^http://bluemsx.msxblue.com/rel_download/blueMSXv282f
|
||||||
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
|
hash^XEMUHDDHASHPLACEHOLDER^https://github.com/mborgerson/xemu-hdd-image/releases/latest/download/xbox_hdd.qcow2.zip
|
||||||
hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
hash^VITA3KSHAPLACEHOLDER^https://github.com/Vita3K/Vita3K/releases/download/continuous/ubuntu-latest.zip
|
||||||
hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z
|
hash^RANIGHTLYCORESPLACEHOLDER^https://buildbot.libretro.com/nightly/linux/x86_64/RetroArch_cores.7z
|
||||||
hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
hash^RETRODECKMAMEPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/RetroDECK/MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
||||||
url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/XargonWan/RetroDECK-MAME/releases/download/$(curl -s https://api.github.com/repos/XargonWan/RetroDECK-MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
url^RETRODECKMAMEURLPLACEHOLDER^"https://github.com/RetroDECK/MAME/releases/download/$(curl -s https://api.github.com/repos/RetroDECK/MAME/releases/latest | grep -oP '"tag_name": "\K(.*?)(?=")')/RetroDECK-MAME-Artifact.tar.gz"
|
||||||
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
|
latestcommit^UNIVERSALDYNAMICINPUTCOMMITPLACEHOLDER^https://github.com/Venomalia/UniversalDynamicInput^main
|
||||||
outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
|
outside_file^VERSIONPLACEHOLDER^${GITHUB_WORKSPACE}/buildid
|
||||||
branch^THISBRANCH
|
branch^THISBRANCH
|
||||||
|
|
|
@ -1,56 +1,72 @@
|
||||||
The Team
|
The Team
|
||||||
|
|
||||||
---
|
--- XargonWan ---
|
||||||
|
|
||||||
XargonWan
|
|
||||||
|
|
||||||
|
About:
|
||||||
RetroDECK project founder and also one of the founding members of AmberELEC.
|
RetroDECK project founder and also one of the founding members of AmberELEC.
|
||||||
|
|
||||||
|
Pizza War:
|
||||||
Grand General of the IPL (Italian Pizza Legion) also known as the Napoletanan Fist in the internal pizza war.
|
Grand General of the IPL (Italian Pizza Legion) also known as the Napoletanan Fist in the internal pizza war.
|
||||||
|
|
||||||
---
|
--- Lazorne ---
|
||||||
|
|
||||||
Lazorne
|
|
||||||
|
|
||||||
|
About:
|
||||||
Community management/outreach, testing, documentation, emulator configurations, Steam Input and feature request / issue management.
|
Community management/outreach, testing, documentation, emulator configurations, Steam Input and feature request / issue management.
|
||||||
|
|
||||||
|
Pizza War:
|
||||||
Meme Lord of the Wiki and also the cult leader of the NPC (The Nordic Pizza Cult) also called by the others as "The Pizza Heresy Cult" or "Harbingers of Pizza Chaos". Instigator of the internal pizza war.
|
Meme Lord of the Wiki and also the cult leader of the NPC (The Nordic Pizza Cult) also called by the others as "The Pizza Heresy Cult" or "Harbingers of Pizza Chaos". Instigator of the internal pizza war.
|
||||||
|
|
||||||
---
|
--- jiannazzone ---
|
||||||
|
|
||||||
jiannazzone
|
About:
|
||||||
|
Web Development, Community management/outreach, testing, documentation.
|
||||||
|
|
||||||
Web Development, Community management/outreach, testing, documentation. Have not choosen a side yet in the Pizza War.
|
Pizza War:
|
||||||
|
Pizza War refugee.
|
||||||
|
|
||||||
---
|
--- IceNine451 ---
|
||||||
|
|
||||||
IceNine451
|
About:
|
||||||
|
Creator of the RetroDECK configurator, bash genius, the RetroDECK Framework and various cool things.
|
||||||
|
|
||||||
Creator of the RetroDECK configurator, the RetroDECK Framework and various cool things.
|
Pizza War:
|
||||||
Freedom loving leader of the MCCP (Murican Cheese Crust Patriots) in the internal pizza war.
|
Freedom loving leader of the MCCP (Murican Cheese Crust Patriots) in the internal pizza war.
|
||||||
|
|
||||||
---
|
--- Lx32 ---
|
||||||
|
|
||||||
Lx32
|
|
||||||
|
|
||||||
|
|
||||||
|
About:
|
||||||
Develops various new features, functions and tools.
|
Develops various new features, functions and tools.
|
||||||
|
|
||||||
|
Pizza War:
|
||||||
1st Commander of the IPL (Italian Pizza Legion) nicknamed Paladin al Taglio in the internal pizza war.
|
1st Commander of the IPL (Italian Pizza Legion) nicknamed Paladin al Taglio in the internal pizza war.
|
||||||
|
|
||||||
---
|
--- WallK ---
|
||||||
|
|
||||||
WallK
|
|
||||||
|
|
||||||
|
About:
|
||||||
Checks GODOT and other things.
|
Checks GODOT and other things.
|
||||||
Pizza Mercenary
|
|
||||||
|
|
||||||
---
|
Pizza War:
|
||||||
|
Pizza Mercenary that fights for all sides.
|
||||||
|
|
||||||
dottormac
|
--- dottormac ---
|
||||||
|
|
||||||
|
About:
|
||||||
Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design.
|
Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design.
|
||||||
|
|
||||||
---
|
Pizza War:
|
||||||
|
2nd Commander of the IPL (Italian Pizza Legion) nicknamed The Wrath of Siciliana in the internal pizza war.
|
||||||
|
|
||||||
We want give special thanks to:
|
|
||||||
|
--- MonkeyX ---
|
||||||
|
|
||||||
|
About:
|
||||||
|
Godot, Emulators and more things!
|
||||||
|
|
||||||
|
Pizza War:
|
||||||
|
Wartime Pizza peace broker.
|
||||||
|
|
||||||
|
|
||||||
|
--- Special Thanks ---
|
||||||
|
|
||||||
- Our Patreon and donors that keeps the build servers running and provide feedback.
|
- Our Patreon and donors that keeps the build servers running and provide feedback.
|
||||||
|
|
||||||
|
|
|
@ -44,10 +44,10 @@ check_for_version_update() {
|
||||||
|
|
||||||
log d "Entering funtcion check_for_version_update"
|
log d "Entering funtcion check_for_version_update"
|
||||||
|
|
||||||
wget -q --spider "https://api.github.com/repos/XargonWan/$update_repo/releases/latest"
|
wget -q --spider "https://api.github.com/repos/$git_organization_name/$update_repo/releases/latest"
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
local online_version=$(curl --silent "https://api.github.com/repos/XargonWan/$update_repo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
local online_version=$(curl --silent "https://api.github.com/repos/$git_organization_name/$update_repo/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
|
||||||
|
|
||||||
if [[ ! "$update_ignore" == "$online_version" ]]; then
|
if [[ ! "$update_ignore" == "$online_version" ]]; then
|
||||||
if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then
|
if [[ "$update_repo" == "RetroDECK" ]] && [[ $(sed -e 's/[\.a-z]//g' <<< $version) -le $(sed -e 's/[\.a-z]//g' <<< $online_version) ]]; then
|
||||||
|
@ -83,7 +83,7 @@ check_for_version_update() {
|
||||||
log i "Selected: \"OK\""
|
log i "Selected: \"OK\""
|
||||||
set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks
|
set_setting_value $rd_conf "update_ignore" "$online_version" retrodeck "options" # Store version to ignore for future checks
|
||||||
fi
|
fi
|
||||||
elif [[ "$update_repo" == "RetroDECK-cooker" ]] && [[ ! $version == $online_version ]]; then
|
elif [[ "$update_repo" == "$cooker_repository_name" ]] && [[ ! $version == $online_version ]]; then
|
||||||
log i "Showing update request dialog as \"$online_version\" was found and is greater then \"$version\""
|
log i "Showing update request dialog as \"$online_version\" was found and is greater then \"$version\""
|
||||||
choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
|
choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Yes" --extra-button="No" --extra-button="Ignore this version" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
|
|
|
@ -49,6 +49,8 @@ RA_API_URL="https://retroachievements.org/dorequest.php"
|
||||||
presets_dir="$emuconfigs/defaults/retrodeck/presets" # Repository for all system preset config files
|
presets_dir="$emuconfigs/defaults/retrodeck/presets" # Repository for all system preset config files
|
||||||
incompatible_presets_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/incompatible_presets.cfg" # A config file listing all incompatible presets for reference (eg. cannot have borders and widescreen enabled simultaniously)
|
incompatible_presets_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/incompatible_presets.cfg" # A config file listing all incompatible presets for reference (eg. cannot have borders and widescreen enabled simultaniously)
|
||||||
pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/pretty_system_names.cfg" # An internal translation list for turning internal names (eg. gbc) to "pretty" names (Nintendo GameBoy Color)
|
pretty_system_names_reference_list="$emuconfigs/defaults/retrodeck/reference_lists/pretty_system_names.cfg" # An internal translation list for turning internal names (eg. gbc) to "pretty" names (Nintendo GameBoy Color)
|
||||||
|
git_organization_name="RetroDECK" # The name of the organization in our git repository such as GitHub
|
||||||
|
cooker_repository_name="Cooker" # The name of the cooker repository under RetroDECK organization
|
||||||
|
|
||||||
# Godot data transfer temp files
|
# Godot data transfer temp files
|
||||||
|
|
||||||
|
@ -176,7 +178,7 @@ if [[ ! -f "$rd_conf" ]]; then
|
||||||
set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck "paths" # Set SD card location if default path has changed
|
set_setting_value $rd_conf "sdcard" "$default_sd" retrodeck "paths" # Set SD card location if default path has changed
|
||||||
|
|
||||||
if grep -qF "cooker" <<< "$hard_version" || grep -qF "PR-" <<< "$hard_version"; then # If newly-installed version is a "cooker" or PR build
|
if grep -qF "cooker" <<< "$hard_version" || grep -qF "PR-" <<< "$hard_version"; then # If newly-installed version is a "cooker" or PR build
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
fi
|
fi
|
||||||
|
@ -193,7 +195,7 @@ else
|
||||||
log i "Loading it"
|
log i "Loading it"
|
||||||
|
|
||||||
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -201,10 +201,12 @@ conf_read() {
|
||||||
local current_setting_name=$(get_setting_name "$current_setting_line" "retrodeck") # Read the variable name from the current line
|
local current_setting_name=$(get_setting_name "$current_setting_line" "retrodeck") # Read the variable name from the current line
|
||||||
local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "$current_section") # Read the variables value from retrodeck.cfg
|
local current_setting_value=$(get_setting_value "$rd_conf" "$current_setting_name" "retrodeck" "$current_section") # Read the variables value from retrodeck.cfg
|
||||||
declare -g "$current_setting_name=$current_setting_value" # Write the current setting name and value to memory
|
declare -g "$current_setting_name=$current_setting_value" # Write the current setting name and value to memory
|
||||||
|
export "$current_setting_name"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done < $rd_conf
|
done < $rd_conf
|
||||||
|
log d "retrodeck.cfg loaded"
|
||||||
}
|
}
|
||||||
|
|
||||||
conf_write() {
|
conf_write() {
|
||||||
|
@ -228,6 +230,7 @@ conf_write() {
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done < $rd_conf
|
done < $rd_conf
|
||||||
|
log d "retrodeck.cfg written"
|
||||||
}
|
}
|
||||||
|
|
||||||
dir_prep() {
|
dir_prep() {
|
||||||
|
|
|
@ -311,9 +311,9 @@ post_update() {
|
||||||
log i "Moving ES-DE collections, downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\""
|
log i "Moving ES-DE collections, downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\""
|
||||||
set_setting_value "$es_settings" "MediaDirectory" "$rdhome/ES-DE/downloaded_media" "es_settings"
|
set_setting_value "$es_settings" "MediaDirectory" "$rdhome/ES-DE/downloaded_media" "es_settings"
|
||||||
set_setting_value "$es_settings" "UserThemeDirectory" "$rdhome/ES-DE/themes" "es_settings"
|
set_setting_value "$es_settings" "UserThemeDirectory" "$rdhome/ES-DE/themes" "es_settings"
|
||||||
mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed"
|
mv -f "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed"
|
mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed" && rm -rf "$rdhome/gamelists"
|
mv -f "$rdhome/gamelists/"* "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed" && rm -rf "$rdhome/gamelists"
|
||||||
|
|
||||||
log i "MAME-SA, migrating samples to the new exposed folder: from \"/var/data/mame/assets/samples\" to \"$bios_folder/mame-sa/samples\""
|
log i "MAME-SA, migrating samples to the new exposed folder: from \"/var/data/mame/assets/samples\" to \"$bios_folder/mame-sa/samples\""
|
||||||
create_dir "$bios_folder/mame-sa/samples"
|
create_dir "$bios_folder/mame-sa/samples"
|
||||||
|
@ -342,10 +342,10 @@ post_update() {
|
||||||
log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\""
|
log i "Vita3K changed some paths, reflecting them: moving \"/var/data/Vita3K\" in \"/var/config/Vita3K\""
|
||||||
move "/var/data/Vita3K" "/var/config/Vita3K"
|
move "/var/data/Vita3K" "/var/config/Vita3K"
|
||||||
log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug"
|
log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug"
|
||||||
move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" completed"
|
move "$rdhome/themes" "$rdhome/ES-DE/themes" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" completed"
|
move "$rdhome/downloaded_media" "$rdhome/ES-DE/downloaded_media" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" completed"
|
move "$rdhome/gamelists" "$rdhome/ES-DE/gamelists" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
move "$rdhome/collections" "$rdhome/ES-DE/collections" && log d "Move of \"$rdhome/collections/\" completed"
|
move "$rdhome/collections" "$rdhome/ES-DE/collections" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it."
|
log i "Since in this version we moved to a PR build of Ryujinx we need to symlink it."
|
||||||
ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json"
|
ln -sv $ryujinxconf "$(dirname $ryujinxconf)/PRConfig.json"
|
||||||
fi
|
fi
|
||||||
|
@ -359,7 +359,7 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then
|
||||||
log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug"
|
log i "Moving ES-DE downloaded_media, gamelist, and themes from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug"
|
||||||
|
|
||||||
# Ask user if they want to move and overwrite the data
|
# Ask user if they want to move and overwrite the data
|
||||||
if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\n<span foreground='$purple' size='larger'><b>Your data is not gone!</b></span>\n\nit's just in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\tretrodeck/ES-DE/themes\nretrodeck/downloaded_media\t->\tretrodeck/ES-DE/downloaded_media\nretrodeck/gamelists\t\t\t\t->\tretrodeck/ES-DE/gamelist\nretrodeck/collections\t\t\t->\tretrodeck/ES-DE/collections") == "true" ]]; then
|
if [[ $(configurator_generic_question_dialog "Move Data" "In the previous version some users suffered a bug where ES-DE appeared empty (no scraped data or collections for example).\n\n<span foreground='$purple' size='larger'><b>Your data is not gone!</b></span>\n\nit's just in a different path.\n\nDo you want to recover your old data replacing the actual one?\nBy choosing no instead, the folder with be moved but no data will be replaced and it will be availalbe in the retrodeck folder.\n\nThe affected folders are:\n\nretrodeck/themes\t\t\t\t->\t\"$rdhome/ES-DE\"/themes\nretrodeck/downloaded_media\t->\t\"$rdhome/ES-DE\"/downloaded_media\nretrodeck/gamelists\t\t\t\t->\t\"$rdhome/ES-DE\"/gamelist\nretrodeck/collections\t\t\t->\t\"$rdhome/ES-DE\"/collections") == "true" ]]; then
|
||||||
move_cmd="mv -f" # Use mv with overwrite
|
move_cmd="mv -f" # Use mv with overwrite
|
||||||
log i "User chose to move and overwrite the data."
|
log i "User chose to move and overwrite the data."
|
||||||
else
|
else
|
||||||
|
@ -369,25 +369,25 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then
|
||||||
|
|
||||||
# Move each directory if it exists
|
# Move each directory if it exists
|
||||||
if [[ -d "$rdhome/themes" ]]; then
|
if [[ -d "$rdhome/themes" ]]; then
|
||||||
$move_cmd "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" completed"
|
mv -f "$rdhome/themes" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/themes\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
else
|
else
|
||||||
log i "ES-DE themes appears to already have been migrated."
|
log i "ES-DE themes appears to already have been migrated."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d "$rdhome/downloaded_media" ]]; then
|
if [[ -d "$rdhome/downloaded_media" ]]; then
|
||||||
$move_cmd "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" completed"
|
mv -f "$rdhome/downloaded_media" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/downloaded_media\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
else
|
else
|
||||||
log i "ES-DE downloaded media appears to already have been migrated."
|
log i "ES-DE downloaded media appears to already have been migrated."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d "$rdhome/gamelists" ]]; then
|
if [[ -d "$rdhome/gamelists" ]]; then
|
||||||
$move_cmd "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" completed"
|
mv -f "$rdhome/gamelists" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/gamelists/\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
else
|
else
|
||||||
log i "ES-DE gamelists appears to already have been migrated."
|
log i "ES-DE gamelists appears to already have been migrated."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d "$rdhome/collections" ]]; then
|
if [[ -d "$rdhome/collections" ]]; then
|
||||||
$move_cmd "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" completed"
|
mv -f "$rdhome/collections" "$rdhome/ES-DE/" && log d "Move of \"$rdhome/collections/\" in \"$rdhome/ES-DE\" folder completed"
|
||||||
else
|
else
|
||||||
log i "ES-DE collections appears to already have been migrated."
|
log i "ES-DE collections appears to already have been migrated."
|
||||||
fi
|
fi
|
||||||
|
@ -400,6 +400,61 @@ if [[ $(check_version_is_older_than "0.8.3b") == "true" ]]; then
|
||||||
set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings"
|
set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if the version is older than 0.8.4b
|
||||||
|
if [[ $(check_version_is_older_than "0.8.4b") == "true" ]]; then
|
||||||
|
# In version 0.8.4b, the following changes were made:
|
||||||
|
# - Recovery from a failed move of the themes, downloaded_media and gamelists folder to their new ES-DE locations (AGAIN)
|
||||||
|
|
||||||
|
log d "Injecting the new retrodeck/ES-DE subdir into the retrodeck.cfg"
|
||||||
|
# Check if ES-DE already exists in media_folder or themes_folder
|
||||||
|
if grep -E '^(media_folder|themes_folder)=.*ES-DE' "$rd_conf"; then
|
||||||
|
log d "ES-DE path already exists in media_folder or themes_folder"
|
||||||
|
else
|
||||||
|
# Update the paths if ES-DE does not exist
|
||||||
|
sed -i -e '/media_folder=/s|retrodeck/|retrodeck/ES-DE/|g' -e '/themes_folder=/s|retrodeck/|retrodeck/ES-DE/|g' "$rd_conf" && log d "Injection successful"
|
||||||
|
fi
|
||||||
|
log d "$(grep media_folder "$rd_conf")"
|
||||||
|
log d "$(grep themes_folder "$rd_conf")"
|
||||||
|
conf_read
|
||||||
|
conf_write
|
||||||
|
|
||||||
|
log i "Checking if ES-DE downloaded_media, gamelist, and themes folder must be migrated from \"$rdhome\" to \"$rdhome/ES-DE\" due to a RetroDECK Framework bug"
|
||||||
|
|
||||||
|
# Use rsync to merge directories and overwrite existing files
|
||||||
|
if [[ -d "$rdhome/themes" ]]; then
|
||||||
|
rsync -a "$rdhome/themes/" "$rdhome/ES-DE/themes/" && log d "Move of \"$rdhome/themes\" to \"$rdhome/ES-DE/themes\" completed"
|
||||||
|
rm -rf "$rdhome/themes" # Remove the original directory after merging
|
||||||
|
else
|
||||||
|
log i "ES-DE themes appear to have already been migrated."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$rdhome/downloaded_media" ]]; then
|
||||||
|
rsync -a "$rdhome/downloaded_media/" "$rdhome/ES-DE/downloaded_media/" && log d "Move of \"$rdhome/downloaded_media\" to \"$rdhome/ES-DE/downloaded_media\" completed"
|
||||||
|
rm -rf "$rdhome/downloaded_media" # Remove the original directory after merging
|
||||||
|
else
|
||||||
|
log i "ES-DE downloaded media appear to have already been migrated."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$rdhome/gamelists" ]]; then
|
||||||
|
rsync -a "$rdhome/gamelists/" "$rdhome/ES-DE/gamelists/" && log d "Move of \"$rdhome/gamelists\" to \"$rdhome/ES-DE/gamelists\" completed"
|
||||||
|
rm -rf "$rdhome/gamelists" # Remove the original directory after merging
|
||||||
|
else
|
||||||
|
log i "ES-DE gamelists appear to have already been migrated."
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d "$rdhome/collections" ]]; then
|
||||||
|
rsync -a "$rdhome/collections/" "$rdhome/ES-DE/collections/" && log d "Move of \"$rdhome/collections\" to \"$rdhome/ES-DE/collections\" completed"
|
||||||
|
rm -rf "$rdhome/collections" # Remove the original directory after merging
|
||||||
|
else
|
||||||
|
log i "ES-DE collections appear to have already been migrated."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Setting the correct variables once again
|
||||||
|
set_setting_value "$es_settings" "MediaDirectory" "$media_folder" "es_settings"
|
||||||
|
set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings"
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
# if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then
|
# if [[ $(check_version_is_older_than "0.9.0b") == "true" ]]; then
|
||||||
# # Placeholder for version 0.9.0b
|
# # Placeholder for version 0.9.0b
|
||||||
|
@ -443,6 +498,7 @@ fi
|
||||||
--width=400 --height=200 \
|
--width=400 --height=200 \
|
||||||
--text="RetroDECK is finishing up the upgrading process, please be patient.\n\n<span foreground='$purple' size='larger'><b>NOTICE - If the process is taking too long:</b></span>\n\nSome windows might be running in the background that could require your attention: pop-ups from emulators or the upgrade itself that needs user input to continue.\n\n"
|
--text="RetroDECK is finishing up the upgrading process, please be patient.\n\n<span foreground='$purple' size='larger'><b>NOTICE - If the process is taking too long:</b></span>\n\nSome windows might be running in the background that could require your attention: pop-ups from emulators or the upgrade itself that needs user input to continue.\n\n"
|
||||||
|
|
||||||
|
conf_read
|
||||||
version=$hard_version
|
version=$hard_version
|
||||||
conf_write
|
conf_write
|
||||||
|
|
||||||
|
|
|
@ -67,6 +67,19 @@
|
||||||
<project_license>GPL-3.0</project_license>
|
<project_license>GPL-3.0</project_license>
|
||||||
<metadata_license>CC0-1.0</metadata_license>
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
<releases>
|
<releases>
|
||||||
|
<release version="0.8.4b" date="2024-08-12">
|
||||||
|
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.8.4b</url>
|
||||||
|
<description>
|
||||||
|
<p>Bug fixes:</p>
|
||||||
|
<ul>
|
||||||
|
<li>FRAMEWORK: Fixed a bug where the ES-DE folders were not correctly migrated from retrodeck folder to retrodeck/ES-DE folder</li>
|
||||||
|
</ul>
|
||||||
|
<p>Known issues:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Please check the know issues in the Wiki under General Information</li>
|
||||||
|
</ul>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
<release version="0.8.3b" date="2024-07-31">
|
<release version="0.8.3b" date="2024-07-31">
|
||||||
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.8.3b</url>
|
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.8.3b</url>
|
||||||
<description>
|
<description>
|
||||||
|
|
|
@ -76,9 +76,9 @@ modules:
|
||||||
build-commands:
|
build-commands:
|
||||||
- |
|
- |
|
||||||
|
|
||||||
# on main please update this with the version variable, eg: VERSION=0.8.3b
|
# on main please update this with the version variable, eg: VERSION=0.8.4b
|
||||||
# on cooker will be THISBRANCH
|
# on cooker will be THISBRANCH
|
||||||
VERSION=0.8.3b
|
VERSION=0.8.4b
|
||||||
|
|
||||||
git checkout ${GITHUB_REF_NAME}
|
git checkout ${GITHUB_REF_NAME}
|
||||||
mkdir -p ${FLATPAK_DEST}/retrodeck/
|
mkdir -p ${FLATPAK_DEST}/retrodeck/
|
||||||
|
@ -415,9 +415,8 @@ modules:
|
||||||
- es-core
|
- es-core
|
||||||
sources:
|
sources:
|
||||||
- type: git
|
- type: git
|
||||||
url: https://github.com/XargonWan/RetroDECK-ES-DE
|
url: https://github.com/RetroDECK/ES-DE
|
||||||
branch: retrodeck-main
|
branch: 6fca5df93116a2be3028aab89850a2f5be3eb6e4
|
||||||
- type: shell
|
|
||||||
|
|
||||||
# ES-DE - END
|
# ES-DE - END
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
|
--- RetroDECK 3rd Party Licences ---
|
||||||
|
|
||||||
All Licenses of the projects we are using are listed on the wiki:
|
All Licenses of the projects we are using are listed on the wiki:
|
||||||
https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/
|
https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/
|
||||||
|
|
||||||
If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix.
|
If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix.
|
||||||
|
|
||||||
---
|
--- Freedoom ---
|
||||||
|
|
||||||
|
|
||||||
Freedoom
|
|
||||||
https://github.com/freedoom/freedoom?tab=License-1-ov-file#readme
|
https://github.com/freedoom/freedoom?tab=License-1-ov-file#readme
|
||||||
|
|
||||||
Copyright © 2001-2024 Contributors to the Freedoom project. All rights reserved.
|
Copyright © 2001-2024 Contributors to the Freedoom project. All rights reserved.
|
||||||
|
@ -22,6 +24,484 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
|
||||||
|
|
||||||
For a list of contributors to the Freedoom project, see the file CREDITS.
|
For a list of contributors to the Freedoom project, see the file CREDITS.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
|
--- Visual Pinball ---
|
||||||
|
|
||||||
|
|
||||||
|
https://github.com/vpinball/vpinball?tab=License-1-ov-file#readme
|
||||||
|
|
||||||
|
IMPORTANT NOTE:
|
||||||
|
---------------
|
||||||
|
|
||||||
|
As of October 2020, we, the Visual Pinball team, are working on replacing
|
||||||
|
the inherited 'old MAME'-like license (listed directly below) by
|
||||||
|
the GPLv3+ License (listed at the very end of this file).
|
||||||
|
|
||||||
|
Each source file/snippet that is already under GPLv3+ will have its
|
||||||
|
very first line marked with
|
||||||
|
// license:GPLv3+
|
||||||
|
Every file/snippet that doesn't, will stay (for now) under the 'old MAME'-like license.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
Unless otherwise explicitly stated (e.g. external libraries/code),
|
||||||
|
all code in Visual Pinball is released under the following license
|
||||||
|
(derived from the MAME license):
|
||||||
|
|
||||||
|
Copyright Randy Davis and the Visual Pinball development team and contributors
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use of this code or any derivative works are permitted
|
||||||
|
provided that the following conditions are met:
|
||||||
|
|
||||||
|
* Redistributions may not be sold, nor may they be used in a commercial
|
||||||
|
product or activity.
|
||||||
|
|
||||||
|
* Redistributions that are modified from the original source must include the
|
||||||
|
complete source code, including the source code for all components used by a
|
||||||
|
binary built from the modified sources. However, as a special exception, the
|
||||||
|
source code distributed need not include anything that is normally distributed
|
||||||
|
(in either source or binary form) with the major components (compiler, kernel,
|
||||||
|
and so on) of the operating system on which the executable runs, unless that
|
||||||
|
component itself accompanies the executable.
|
||||||
|
|
||||||
|
* Redistributions must reproduce the above copyright notice, this list of
|
||||||
|
conditions and the following disclaimer in the documentation and/or other
|
||||||
|
materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
Thirdparty licenses:
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details.
|
||||||
|
FreeImage is used under the (GNU GPL or FIPL), version (license version), see http://freeimage.sourceforge.net/freeimage-license.txt for details.
|
||||||
|
The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License.
|
||||||
|
Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
It also uses BASS.DLL for loading and playing sound effects and music.
|
||||||
|
From the website https://www.un4seen.com/bass.html :
|
||||||
|
BASS is free for non-commercial use.
|
||||||
|
If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales, advertising, etc),
|
||||||
|
then you can use BASS in it for free. Otherwise, one of the following licences will be required (see website for current prices).
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
License for OpenVR (https://github.com/ValveSoftware/openvr) used in the GL/VR version of VPX:
|
||||||
|
Copyright (c) 2015, Valve Corporation
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation and/or
|
||||||
|
other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software without
|
||||||
|
specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
Simple DirectMedia Layer/SDL (used in the GL/VR version of VPX):
|
||||||
|
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
The FreeType Project LICENSE
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
2006-Jan-27
|
||||||
|
|
||||||
|
Copyright 1996-2002, 2006 by
|
||||||
|
David Turner, Robert Wilhelm, and Werner Lemberg
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
============
|
||||||
|
|
||||||
|
The FreeType Project is distributed in several archive packages;
|
||||||
|
some of them may contain, in addition to the FreeType font engine,
|
||||||
|
various tools and contributions which rely on, or relate to, the
|
||||||
|
FreeType Project.
|
||||||
|
|
||||||
|
This license applies to all files found in such packages, and
|
||||||
|
which do not fall under their own explicit license. The license
|
||||||
|
affects thus the FreeType font engine, the test programs,
|
||||||
|
documentation and makefiles, at the very least.
|
||||||
|
|
||||||
|
This license was inspired by the BSD, Artistic, and IJG
|
||||||
|
(Independent JPEG Group) licenses, which all encourage inclusion
|
||||||
|
and use of free software in commercial and freeware products
|
||||||
|
alike. As a consequence, its main points are that:
|
||||||
|
|
||||||
|
o We don't promise that this software works. However, we will be
|
||||||
|
interested in any kind of bug reports. (`as is' distribution)
|
||||||
|
|
||||||
|
o You can use this software for whatever you want, in parts or
|
||||||
|
full form, without having to pay us. (`royalty-free' usage)
|
||||||
|
|
||||||
|
o You may not pretend that you wrote this software. If you use
|
||||||
|
it, or only parts of it, in a program, you must acknowledge
|
||||||
|
somewhere in your documentation that you have used the
|
||||||
|
FreeType code. (`credits')
|
||||||
|
|
||||||
|
We specifically permit and encourage the inclusion of this
|
||||||
|
software, with or without modifications, in commercial products.
|
||||||
|
We disclaim all warranties covering The FreeType Project and
|
||||||
|
assume no liability related to The FreeType Project.
|
||||||
|
|
||||||
|
Finally, many people asked us for a preferred form for a
|
||||||
|
credit/disclaimer to use in compliance with this license. We thus
|
||||||
|
encourage you to use the following text:
|
||||||
|
|
||||||
|
"""
|
||||||
|
Portions of this software are copyright © <year> The FreeType
|
||||||
|
Project (www.freetype.org). All rights reserved.
|
||||||
|
"""
|
||||||
|
|
||||||
|
Please replace <year> with the value from the FreeType version you
|
||||||
|
actually use.
|
||||||
|
|
||||||
|
Legal Terms
|
||||||
|
===========
|
||||||
|
|
||||||
|
0. Definitions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Throughout this license, the terms `package', `FreeType Project',
|
||||||
|
and `FreeType archive' refer to the set of files originally
|
||||||
|
distributed by the authors (David Turner, Robert Wilhelm, and
|
||||||
|
Werner Lemberg) as the `FreeType Project', be they named as alpha,
|
||||||
|
beta or final release.
|
||||||
|
|
||||||
|
`You' refers to the licensee, or person using the project, where
|
||||||
|
`using' is a generic term including compiling the project's source
|
||||||
|
code as well as linking it to form a `program' or `executable'.
|
||||||
|
This program is referred to as `a program using the FreeType
|
||||||
|
engine'.
|
||||||
|
|
||||||
|
This license applies to all files distributed in the original
|
||||||
|
FreeType Project, including all source code, binaries and
|
||||||
|
documentation, unless otherwise stated in the file in its
|
||||||
|
original, unmodified form as distributed in the original archive.
|
||||||
|
If you are unsure whether or not a particular file is covered by
|
||||||
|
this license, you must contact us to verify this.
|
||||||
|
|
||||||
|
The FreeType Project is copyright (C) 1996-2000 by David Turner,
|
||||||
|
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
|
||||||
|
specified below.
|
||||||
|
|
||||||
|
1. No Warranty
|
||||||
|
--------------
|
||||||
|
|
||||||
|
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
|
||||||
|
USE, OF THE FREETYPE PROJECT.
|
||||||
|
|
||||||
|
2. Redistribution
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
This license grants a worldwide, royalty-free, perpetual and
|
||||||
|
irrevocable right and license to use, execute, perform, compile,
|
||||||
|
display, copy, create derivative works of, distribute and
|
||||||
|
sublicense the FreeType Project (in both source and object code
|
||||||
|
forms) and derivative works thereof for any purpose; and to
|
||||||
|
authorize others to exercise some or all of the rights granted
|
||||||
|
herein, subject to the following conditions:
|
||||||
|
|
||||||
|
o Redistribution of source code must retain this license file
|
||||||
|
(`FTL.TXT') unaltered; any additions, deletions or changes to
|
||||||
|
the original files must be clearly indicated in accompanying
|
||||||
|
documentation. The copyright notices of the unaltered,
|
||||||
|
original files must be preserved in all copies of source
|
||||||
|
files.
|
||||||
|
|
||||||
|
o Redistribution in binary form must provide a disclaimer that
|
||||||
|
states that the software is based in part of the work of the
|
||||||
|
FreeType Team, in the distribution documentation. We also
|
||||||
|
encourage you to put an URL to the FreeType web page in your
|
||||||
|
documentation, though this isn't mandatory.
|
||||||
|
|
||||||
|
These conditions apply to any software derived from or based on
|
||||||
|
the FreeType Project, not just the unmodified files. If you use
|
||||||
|
our work, you must acknowledge us. However, no fee need be paid
|
||||||
|
to us.
|
||||||
|
|
||||||
|
3. Advertising
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Neither the FreeType authors and contributors nor you shall use
|
||||||
|
the name of the other for commercial, advertising, or promotional
|
||||||
|
purposes without specific prior written permission.
|
||||||
|
|
||||||
|
We suggest, but do not require, that you use one or more of the
|
||||||
|
following phrases to refer to this software in your documentation
|
||||||
|
or advertising materials: `FreeType Project', `FreeType Engine',
|
||||||
|
`FreeType library', or `FreeType Distribution'.
|
||||||
|
|
||||||
|
As you have not signed this license, you are not required to
|
||||||
|
accept it. However, as the FreeType Project is copyrighted
|
||||||
|
material, only this license, or another one contracted with the
|
||||||
|
authors, grants you the right to use, distribute, and modify it.
|
||||||
|
Therefore, by using, distributing, or modifying the FreeType
|
||||||
|
Project, you indicate that you understand and accept all the terms
|
||||||
|
of this license.
|
||||||
|
|
||||||
|
4. Contacts
|
||||||
|
-----------
|
||||||
|
|
||||||
|
There are two mailing lists related to FreeType:
|
||||||
|
|
||||||
|
o freetype@nongnu.org
|
||||||
|
|
||||||
|
Discusses general use and applications of FreeType, as well as
|
||||||
|
future and wanted additions to the library and distribution.
|
||||||
|
If you are looking for support, start in this list if you
|
||||||
|
haven't found anything to help you in the documentation.
|
||||||
|
|
||||||
|
o freetype-devel@nongnu.org
|
||||||
|
|
||||||
|
Discusses bugs, as well as engine internals, design issues,
|
||||||
|
specific licenses, porting, etc.
|
||||||
|
|
||||||
|
Our home page can be found at
|
||||||
|
|
||||||
|
http://www.freetype.org
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
OpenGL used in the GL/VR version of VPX
|
||||||
|
|
||||||
|
Copyright (c) 2008-2018 The Khronos Group Inc.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of this software and/or associated documentation files (the
|
||||||
|
"Materials"), to deal in the Materials without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Materials, and to
|
||||||
|
permit persons to whom the Materials are furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Materials.
|
||||||
|
|
||||||
|
THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
OpenGL glad headers are Public Domain/WTFPL/CC0 https://github.com/Dav1dde/glad/issues/101
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
OpenGL Stereo Rendering with less DrawCalls based on https://github.com/kondrak/oculusvr_samples used in the GL/VR version of VPX
|
||||||
|
|
||||||
|
Copyright (c) 2016 Krzysztof Kondrak
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any
|
||||||
|
person obtaining a copy of this software and associated
|
||||||
|
documentation files (the "Software"), to deal in the
|
||||||
|
Software without restriction, including without
|
||||||
|
limitation the rights to use, copy, modify, merge,
|
||||||
|
publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software
|
||||||
|
is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice
|
||||||
|
shall be included in all copies or substantial portions
|
||||||
|
of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
|
||||||
|
ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
|
||||||
|
TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
|
||||||
|
SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
|
||||||
|
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
The GPLv3+ License:
|
||||||
|
|
||||||
|
Copyright (C) 2000-2024 Visual Pinball development team and contributors
|
||||||
|
(unless specifically noted differently in a respective source file)
|
||||||
|
|
||||||
|
Visual Pinball is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
Visual Pinball is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details: <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
--- The MAME License ---
|
||||||
|
|
||||||
|
|
||||||
|
https://docs.mamedev.org/license.html
|
||||||
|
|
||||||
|
The MAME project as a whole is distributed under the terms of the GNU General Public License, version 2 or later (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the 3-Clause BSD License and we would encourage new contributors to distribute files under this license.
|
||||||
|
|
||||||
|
Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the “MAME” name, logo, or wordmark.
|
||||||
|
|
||||||
|
Copyright (c) 1997-2024 MAMEDev and contributors
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Please see the license information for further details.
|
||||||
|
|
||||||
|
--- Xenia ---
|
||||||
|
|
||||||
|
Copyright (c) 2015, Ben Vanik.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the project nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL BEN VANIK BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
--- WINE ---
|
||||||
|
|
||||||
|
https://github.com/wine-mirror/wine/blob/master/LICENSE
|
||||||
|
|
||||||
|
Copyright (c) 1993-2024 the Wine project authors (see the file AUTHORS
|
||||||
|
for a complete list)
|
||||||
|
|
||||||
|
Wine is free software; you can redistribute it and/or modify it under
|
||||||
|
the terms of the GNU Lesser General Public License as published by the
|
||||||
|
Free Software Foundation; either version 2.1 of the License, or (at
|
||||||
|
your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
A copy of the GNU Lesser General Public License is included in the
|
||||||
|
Wine distribution in the file COPYING.LIB. If you did not receive this
|
||||||
|
copy, write to the Free Software Foundation, Inc., 51 Franklin St,
|
||||||
|
Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
|
--- Proton ---
|
||||||
|
|
||||||
|
https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE.proton
|
||||||
|
https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE
|
||||||
|
|
||||||
|
Copyright (c) 2018-2022, Valve Corporation
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without modification,
|
||||||
|
are permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
this list of conditions and the following disclaimer in the documentation and/or
|
||||||
|
other materials provided with the distribution.
|
||||||
|
|
||||||
|
3. Neither the name of the copyright holder nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software without
|
||||||
|
specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
16
retrodeck.sh
16
retrodeck.sh
|
@ -87,6 +87,16 @@ https://retrodeck.net
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
--test-upgrade*)
|
||||||
|
echo "You are about to test upgrading RetroDECK from version $2 to $hard_version"
|
||||||
|
read -p "Enter 'y' to continue, 'n' to start RetroDECK normally: " response
|
||||||
|
if [[ $response == [yY] ]]; then
|
||||||
|
version="$2"
|
||||||
|
shift
|
||||||
|
else
|
||||||
|
shift
|
||||||
|
fi
|
||||||
|
;;
|
||||||
-*|--*)
|
-*|--*)
|
||||||
echo "Unknown option $i"
|
echo "Unknown option $i"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -100,19 +110,19 @@ https://retrodeck.net
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
log d "Update triggered"
|
|
||||||
# if lockfile exists
|
# if lockfile exists
|
||||||
if [ -f "$lockfile" ]; then
|
if [ -f "$lockfile" ]; then
|
||||||
if [ "$hard_version" != "$version" ]; then
|
if [ "$hard_version" != "$version" ]; then
|
||||||
|
log d "Update triggered"
|
||||||
log d "Lockfile found but the version doesn't match with the config file"
|
log d "Lockfile found but the version doesn't match with the config file"
|
||||||
log i "Config file's version is $version but the actual version is $hard_version"
|
log i "Config file's version is $version but the actual version is $hard_version"
|
||||||
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build
|
||||||
log d "Newly-installed version is a \"cooker\" build"
|
log d "Newly-installed version is a \"cooker\" build"
|
||||||
configurator_generic_dialog "RetroDECK Cooker Warning" "RUNNING COOKER VERSIONS OF RETRODECK CAN BE EXTREMELY DANGEROUS AND ALL OF YOUR RETRODECK DATA\n(INCLUDING BIOS FILES, BORDERS, DOWNLOADED MEDIA, GAMELISTS, MODS, ROMS, SAVES, STATES, SCREENSHOTS, TEXTURE PACKS AND THEMES)\nARE AT RISK BY CONTINUING!"
|
configurator_generic_dialog "RetroDECK Cooker Warning" "RUNNING COOKER VERSIONS OF RETRODECK CAN BE EXTREMELY DANGEROUS AND ALL OF YOUR RETRODECK DATA\n(INCLUDING BIOS FILES, BORDERS, DOWNLOADED MEDIA, GAMELISTS, MODS, ROMS, SAVES, STATES, SCREENSHOTS, TEXTURE PACKS AND THEMES)\nARE AT RISK BY CONTINUING!"
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options"
|
||||||
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
set_setting_value $rd_conf "update_check" "true" retrodeck "options"
|
||||||
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
set_setting_value $rd_conf "developer_options" "true" retrodeck "options"
|
||||||
cooker_base_version=$(echo $hard_version | cut -d'-' -f2)
|
cooker_base_version=$(echo $version | cut -d'-' -f2)
|
||||||
choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \
|
choice=$(rd_zenity --icon-name=net.retrodeck.retrodeck --info --no-wrap --ok-label="Upgrade" --extra-button="Don't Upgrade" --extra-button="Full Wipe and Fresh Install" \
|
||||||
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
--window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" \
|
||||||
--title "RetroDECK Cooker Upgrade" \
|
--title "RetroDECK Cooker Upgrade" \
|
||||||
|
|
|
@ -1367,7 +1367,7 @@ configurator_online_update_channel_dialog() {
|
||||||
|
|
||||||
if [ $? == 0 ] # User clicked "Yes"
|
if [ $? == 0 ] # User clicked "Yes"
|
||||||
then
|
then
|
||||||
set_setting_value $rd_conf "update_repo" "RetroDECK-cooker" retrodeck "options"
|
set_setting_value $rd_conf "update_repo" "$cooker_repository_name" retrodeck "options"
|
||||||
else # User clicked "Cancel"
|
else # User clicked "Cancel"
|
||||||
configurator_developer_dialog
|
configurator_developer_dialog
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue