MERGE: merged main

This commit is contained in:
xargon 2022-07-04 21:59:49 +02:00
commit 360c3cfdb7
7 changed files with 249 additions and 106 deletions

View file

@ -39,7 +39,7 @@ jobs:
git submodule update
sudo apt install -y flatpak flatpak-builder p7zip-full
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
flatpak install --user -y org.kde.Sdk//5.15-21.08 org.kde.Platform//5.15-21.08 io.qt.qtwebengine.BaseApp/x86_64/5.15-21.08 org.freedesktop.Sdk.Extension.llvm13
# for main remember to change ${HOME} into ${GITHUB_WORKSPACE}
- name: Build flatpak

View file

@ -27,7 +27,7 @@
<bool name="MediaViewerVideoScanlines" value="true" />
<bool name="MenuBlurBackground" value="true" />
<bool name="MiximageCoverFallback" value="true" />
<bool name="MiximageGenerate" value="false" />
<bool name="MiximageGenerate" value="true" />
<bool name="MiximageIncludeBox" value="true" />
<bool name="MiximageIncludeMarquee" value="true" />
<bool name="MiximageIncludePhysicalMedia" value="true" />
@ -42,14 +42,14 @@
<bool name="QuickSystemSelect" value="true" />
<bool name="RandomAddButton" value="false" />
<bool name="RunInBackground" value="false" />
<bool name="Scrape3DBoxes" value="false" />
<bool name="ScrapeBackCovers" value="false" />
<bool name="Scrape3DBoxes" value="true" />
<bool name="ScrapeBackCovers" value="true" />
<bool name="ScrapeControllers" value="true" />
<bool name="ScrapeCovers" value="true" />
<bool name="ScrapeGameNames" value="true" />
<bool name="ScrapeMarquees" value="true" />
<bool name="ScrapeMetadata" value="true" />
<bool name="ScrapePhysicalMedia" value="off" />
<bool name="ScrapePhysicalMedia" value="true" />
<bool name="ScrapeRatings" value="true" />
<bool name="ScrapeScreenshots" value="true" />
<bool name="ScrapeTitleScreens" value="true" />

View file

@ -63,32 +63,4 @@
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./move-roms.sh</path>
<name>Move roms folder</name>
<desc>Move roms folder from internal to external and vice versa.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./overlays.sh</path>
<name>Overlays configuration</name>
<desc>Configure or disable borders and shaders.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./clean-miximages.sh</path>
<name>Clean MixImages</name>
<desc>Clean the MixImages in order to beautify the new theme. This is needed if you got scraped data since v0.4.2 or earlier.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
<game>
<path>./configure-emulators.sh</path>
<name>Configure Emulators</name>
<desc>Choose an emulator to configure.</desc>
<nogamecount>true</nogamecount>
<nomultiscrape>true</nomultiscrape>
</game>
</gameList>

View file

@ -11,52 +11,61 @@ git submodule update
# these must be included in the exclusion list as they must be redownloaded
#sync -rav --progress --exclude={'res/screenshots/','shared-modules/','rd-submodules/retroarch','.git/','docs','retrodeck-flatpak/','retrodeck-flatpak-cooker/','.flatpak-builder/'} ~/RetroDECK/ ~/flathub/
sync -rav --progress { \
'overlays', \
'rd-submodules', \
'flathub.json', \
'LICENSE', \
'net.retrodeck.retrodeck.appdata.xml', \
'net.retrodeck.retrodeck.desktop', \
'net.retrodeck.retrodeck.yml', \
'README.md', \
} ~/flathub/
cd ~/flathub
git rm -r *
# NOTE: be careful to remove the REAL (linked) submodules only
rm -rf shared-modules
rm -rf rd-submodules/retroarch
git rm -rf *
git clean -fxd # restroing git index
# rebuilding submodules
git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
while read path_key path
do
url_key=$(echo $path_key | sed 's/\.path/.url/');
branch_key=$(echo $path_key | sed 's/\.path/.branch/');
# If the url_key doesn't yet exist then backup up the existing
# directory if necessary and add the submodule
if [ ! $(git config --get "$url_key") ]; then
if [ -d "$path" ] && [ ! $(git config --get "$url_key") ]; then
mv "$path" "$path""_backup_""$(date +'%Y%m%d%H%M%S')";
fi;
url=$(git config -f .gitmodules --get "$url_key");
# If a branch is specified then use that one, otherwise
# default to master
branch=$(git config -f .gitmodules --get "$branch_key");
if [ ! "$branch" ]; then branch="master"; fi;
git submodule add -f -b "$branch" "$url" "$path";
fi;
done;
cd ~/RetroDECK
cp -rf \
'rd-submodules' \
'flathub.json' \
'LICENSE' \
'net.retrodeck.retrodeck.appdata.xml' \
'net.retrodeck.retrodeck.desktop' \
'net.retrodeck.retrodeck.yml' \
'README.md' \
~/flathub/
cd ~/flathub
# In case the submodule exists in .git/config but the url is out of date
# #rebuilding submodules
# git config -f .gitmodules --get-regexp '^submodule\..*\.path$' |
# while read path_key path
# do
# url_key=$(echo $path_key | sed 's/\.path/.url/');
# branch_key=$(echo $path_key | sed 's/\.path/.branch/');
# # If the url_key doesn't yet exist then backup up the existing
# # directory if necessary and add the submodule
# if [ ! $(git config --get "$url_key") ]; then
# if [ -d "$path" ] && [ ! $(git config --get "$url_key") ]; then
# mv "$path" "$path""_backup_""$(date +'%Y%m%d%H%M%S')";
# fi;
# url=$(git config -f .gitmodules --get "$url_key");
# # If a branch is specified then use that one, otherwise
# # default to master
# branch=$(git config -f .gitmodules --get "$branch_key");
# if [ ! "$branch" ]; then branch="master"; fi;
# git submodule add -f -b "$branch" "$url" "$path";
# fi;
# done;
git submodule sync;
# # In case the submodule exists in .git/config but the url is out of date
# git submodule sync
# Now actually pull all the modules. I used to use this...
git submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)';
# # Now actually pull all the modules. I used to use this...
# git submodule foreach --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)';
git submodule update
rm -rf .git/modules/*
# Adding the real submodules, please update this every time a submodule is added
git rm -rf shared-modules
git submodule add https://github.com/flathub/shared-modules.git shared-modules
git rm -rf rd-submodules/retroarch
git submodule add https://github.com/flathub/org.libretro.RetroArch.git rd-submodules/retroarch
# unbinds all submodules
git submodule deinit -f .
# checkout again
git submodule update --init --recursive
git add *
git commit -m "Updating flathub"
git push origin RetroDECK

View file

@ -14,19 +14,19 @@
<content_rating type="oars-1.0" />
<screenshots>
<screenshot type="default">
<image type="source" width="1440" height="792">https://github.com/XargonWan/RetroDECK/blob/main/res/logo.png?raw=true</image>
<image>https://github.com/XargonWan/RetroDECK/blob/main/res/logo.png?raw=true</image>
</screenshot>
<screenshot>
<image type="source" width="1440" height="792">https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen02.png?raw=true</image>
<image>https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen02.png?raw=true</image>
</screenshot>
<screenshot>
<image type="source" width="768" height="672">https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen03.png?raw=true</image>
<image>https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen03.png?raw=true</image>
</screenshot>
<screenshot>
<image type="source" width="768" height="575">https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen04.png?raw=true</image>
<image>https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen04.png?raw=true</image>
</screenshot>
<screenshot>
<image type="source" width="768" height="480">https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen05.png?raw=true</image>
<image>https://github.com/XargonWan/RetroDECK/blob/main/res/screenshots/screen05.png?raw=true</image>
</screenshot>
</screenshots>
<description>
@ -36,11 +36,45 @@
<p>
Powered by EmulationStation Desktop Edition, which uses RetroArch and other standalone emulators to allow you to import and play your favorite retro (and even not-so-retro) games in a tidy environment without flooding your Steam library.
No other software is needed as everything it's already included!</p>
<p>
NOTE: Albeit RetroDECK could possibily work on every distro, it's supported only on Steam Deck.</p>
</description>
<project_license>GPL-3.0</project_license>
<metadata_license>CC0-1.0</metadata_license>
<releases>
<release version="0.4.2b" date="2022-05-11">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.4.2b</url>
<description>
<p><b>Emulators:</b></p>
<ul>
<li>Updated all the emulators at the latest available version.</li>
<li>DOLPHIN (SA): Fixed a bug where Dolphin couldn't be properly configured. If it's still misconfigured please run `flatpak run net.retrodeck.retrodeck --reset-sa` in order to reset all the standalone emulators, including Dolphin. </li>
<li>CITRA (SA): Reconfigured controls and hotkeys. </li>
<li>MELONDS (SA): Reconfigured controls. </li>
<li>GAMBATTE (LIBRETRO): Added GB colorization. </li>
<li>RETROARCH (LIBRETRO): Tweaked some configs and fixed some overlapping hotkeys (FPS was same as Show Menu action). </li>
</ul>
<p><b>Backend:</b></p>
<ul>
<li>Removed some broken tools that will be reintroduced once fixed, including the roms moving tool. </li>
<li>Updated ES-DE configs (es_find_rules, es_settings, es_systems). </li>
<li>Manifest trimmend and general code cleanup. </li>
</ul>
<p><b>Known Issues:</b></p>
<ul>
<li>PCSX2: due to its limitation, the standalone PCSX2 doesn't have any way to set the hotkeys, so no save and load state, no quit button. In order to quit press: STEAM -> PCSX2 -> (X) CLOSE WINDOW, be aware that the state is not automatically saved</li>
<li>Due to a Steam limitation, external controllers and keyboard seems not to be working, expecially in the desktop mode</li>
</ul>
<p><b>IMPORTANT NOTE:</b>
At the moment the emulator configs are reset during every update, this was made because every version they may bring new configurations, please back them up if you did some manual configs.
</p>
</description>
</release>
<release version="0.4.1b" date="2022-05-11">
<url>https://github.com/XargonWan/RetroDECK/releases/tag/0.4.1b</url>
<description>
@ -175,7 +209,7 @@
<li>Tweaked RetroArch configs</li>
<li>Added tool for relocating ROMs location from/to internal to/from external</li>
<li>Added PCSX2 and Yuzu emulators (but not yet integrated in ES-DE)</li>
<li>Created cooker channel, more info in Discord and on https://github.com/XargonWan/RetroDECK-cooker</li>
<li>Created cooker channel, more info in Discord and on RetroDECK-cooker on GitHub</li>
<li>Cooker will auto build when a change is pushed/PRed</li>
<li>Same as above with main</li>
</ul>

View file

@ -79,7 +79,9 @@ modules:
VERSION="cooker"
if [[ $VERSION == "cooker" ]];
then
VERSION=$(git describe --tags | tr - .)
# Disabled until I figure it out
# VERSION=$(git describe --tags | tr - .)
VERSION="cooker-"$(date +%d%m%y.%H%M)
fi
echo $VERSION >> ${FLATPAK_DEST}/retrodeck/version
cat ${FLATPAK_DEST}/retrodeck/version
@ -200,7 +202,7 @@ modules:
sources:
- type: git
url: https://gitlab.com/es-de/emulationstation-de
branch: 8b0a5c63367e46b95f124f5aba70abcaa3ff888a
branch: 5a76fef25ffc659f098ee65215281c51a63c3198
- type: shell
commands:
- sed -i 's/QUIT EMULATIONSTATION/QUIT RETRODECK/g' es-app/src/guis/GuiMenu.cpp
@ -622,6 +624,63 @@ modules:
url: https://github.com/PCSX2/pcsx2.git
tag: v1.7.2889
commit: a6649b2d6b558806fbe7cbaf6296014e3c5c192e
# PCSX2 Flathub Workaround - START
# This workaround disables the PCSX2 libraries (disable-submodules: true) and install them separately
# This is only to make it buildable by the flathub builder as normaly it seems not to be needed
disable-submodules: true
- type: git
dest: "3rdparty/xz/xz"
url: https://github.com/PCSX2/xz.git
commit: 3d566cd519017eee1a400e7961ff14058dfaf33c
- type: git
dest: "3rdparty/gtest"
url: https://github.com/google/googletest.git
commit: e2239ee6043f73722e7aa812a459f54a28552929
- type: git
dest: "3rdparty/fmt/fmt"
url: https://github.com/fmtlib/fmt.git
commit: b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9
- type: git
dest: "3rdparty/libchdr/libchdr"
url: https://github.com/rtissera/libchdr.git
commit: 5de1a59019815ccdbba0fe07c71b31406d023248
- type: git
dest: "3rdparty/wil"
url: https://github.com/microsoft/wil.git
commit: 3018875eaa4f8e3d86cf2da97fd577bae59f3aec
- type: git
dest: "3rdparty/cubeb/cubeb"
url: https://github.com/mozilla/cubeb.git
commit: 773f16b7ea308392c05be3e290163d1f636e6024
- type: git
dest: "3rdparty/rapidyaml/rapidyaml"
url: https://github.com/biojppm/rapidyaml.git
commit: 213b201d264139cd1b887790197e08850af628e3
- type: git
dest: "3rdparty/imgui/imgui"
url: https://github.com/ocornut/imgui.git
commit: 60bea052a92cbb4a93b221002fdf04f0da3698e1
- type: git
dest: "3rdparty/glslang/glslang"
url: https://github.com/KhronosGroup/glslang.git
commit: c9706bdda0ac22b9856f1aa8261e5b9e15cd20c5
- type: git
dest: "3rdparty/vulkan-headers"
url: https://github.com/KhronosGroup/Vulkan-Headers.git
commit: 52a76fd0a693708eb8c25bd0ab7a1008091f64d4
- type: git
dest: "3rdparty/sdl2/SDL"
url: https://github.com/libsdl-org/SDL.git
commit: 53dea9830964eee8b5c2a7ee0a65d6e268dc78a1
- type: git
dest: "3rdparty/libzip/libzip"
url: https://github.com/nih-at/libzip.git
commit: bdc03ab23b703fcc516436d6ebcbfb6ac4484033
- type: git
dest: "3rdparty/zstd/zstd"
url: https://github.com/facebook/zstd.git
commit: e47e674cd09583ff0503f0f6defd6d23d8b718d3
# PCSX2 Flathub Workaround - END
# PCSX2 - END
@ -1011,6 +1070,64 @@ modules:
x-checker-data:
type: git
tag-pattern: "^v([\\d.]+)$"
# PPSSPP Flathub Workaround - START
# This workaround disables the PPSSPP libraries (disable-submodules: true) and install them separately
# This is only to make it buildable by the flathub builder as normaly it seems not to be needed
disable-submodules: true
- type: git
dest: SDL/macOS
commit: f19a1d54b8a5af6cc378ea307e0ec676922eb4cc
url: https://github.com/hrydgard/ppsspp-mac-sdl
- type: git
dest: assets/debugger
commit: 36ad6b19b22de2075a01a4f0c765e3ef514dc38f
url: https://github.com/unknownbrackets/ppsspp-debugger.git
- type: git
dest: dx9sdk
commit: 7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93
url: https://github.com/hrydgard/minidx9.git
- type: git
dest: ext/SPIRV-Cross
commit: 9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1
url: https://github.com/KhronosGroup/SPIRV-Cross.git
- type: git
dest: ext/armips
commit: 7885552b208493a6a0f21663770c446c3ba65576
url: https://github.com/Kingcom/armips.git
- type: git
dest: ext/discord-rpc
commit: 963aa9f3e5ce81a4682c6ca3d136cddda614db33
url: https://github.com/discordapp/discord-rpc.git
- type: git
dest: ext/glslang
commit: dc11adde23c455a24e13dd54de9b4ede8bdd7db8
url: https://github.com/hrydgard/glslang.git
- type: git
dest: ext/miniupnp
commit: 3a87be33e797ba947b2b2a5f8d087f6c3ff4d93e
url: https://github.com/hrydgard/miniupnp.git
- type: git
dest: ext/native/tools/prebuilt
commit: cbea79dc8fef4d9210e2bac7e7b9b5ff3388197a
url: https://github.com/hrydgard/ppsspp-freetype.git
- type: git
dest: ext/rapidjson
commit: 73063f5002612c6bf64fe24f851cd5cc0d83eef9
disable-submodules: true
url: https://github.com/Tencent/rapidjson.git
- type: git
dest: ext/zstd
commit: a488ba114ec17ea1054b9057c26a046fc122b3b6
url: https://github.com/facebook/zstd.git
- type: git
dest: ffmpeg
commit: 3ad7ddb9eb2af898dce8c4b5e9a28b77b3f7ddd7
url: https://github.com/hrydgard/ppsspp-ffmpeg.git
- type: git
dest: pspautotests
commit: 682a4303aba63a50c91ae0fa6928c9dac8ca9b92
url: https://github.com/hrydgard/pspautotests.git
# PPSSPP Flathub Workaround - END
# PPSSPP - END
@ -1048,7 +1165,7 @@ modules:
# TODO: group the configs per-emu and optimize the following cps, like already done with Dolphin. Please not that some files may be renamed, check retrodeck.sh to know how (and fix it after the edit)
# Configuring emulators:
- mkdir -p ${FLATPAK_DEST}/retrodeck/emu-configs/
- mkdir -p ${FLATPAK_DEST}/retrodeck/emu-configs/Dolphin
# RetroArch
- cp emu-configs/retroarch* ${FLATPAK_DEST}/retrodeck/emu-configs/
# Dolphin
@ -1067,7 +1184,7 @@ modules:
- cp emu-configs/config.yml ${FLATPAK_DEST}/retrodeck/emu-configs/
# Overlays
- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays
#- cp -r overlays ${FLATPAK_DEST}/retrodeck/overlays Disabled in 0.4.2b as it will be introduced in 0.5.0b
# Placing appdata
- mkdir -p ${FLATPAK_DEST}/share/appdata
@ -1076,4 +1193,4 @@ modules:
sources:
- type: git
url: https://github.com/XargonWan/RetroDECK.git
branch: cooker
branch: main

View file

@ -16,7 +16,7 @@ dir_prep() {
real="$1"
symlink="$2"
echo -e "\nDIR PREP: Moving $symlink in $real" #DEBUG
echo -e "\n[DIR PREP]\nMoving $symlink in $real" #DEBUG
# if the dest dir exists we want to backup it
if [ -d "$symlink" ];
@ -46,16 +46,7 @@ dir_prep() {
rm -rf "$symlink.old"
fi
#DEBUG
previous_dir=$PWD
cd $real
cd ..
echo "We are in $PWD" #DEBUG
ls -ln
cd $previous_dir
#DEBUG
echo $symlink is now $real
echo -e "$symlink is now $real\n"
}
cfg_init() {
@ -89,9 +80,14 @@ tools_init() {
standalones_init() {
# This script is configuring the standalone emulators with the default files present in emuconfigs folder
echo "----------------------"
echo "Initializing standalone emulators"
echo "----------------------"
# Yuzu
echo "----------------------"
echo "Initializing YUZU"
echo "----------------------"
# removing dead symlinks as they were present in a past version
if [ -d $rdhome/bios/switch ]; then
find $rdhome/bios/switch -xtype l -exec rm {} \;
@ -102,34 +98,46 @@ standalones_init() {
dir_prep "$rdhome/bios/switch/registered" "/var/data/yuzu/nand/system/Contents/registered"
# configuring Yuzu
mkdir -pv /var/config/yuzu/
cp -fv $emuconfigs/yuzu-qt-config.ini /var/config/yuzu/qt-config.ini
cp -fvr $emuconfigs/yuzu-qt-config.ini /var/config/yuzu/qt-config.ini
sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/yuzu/qt-config.ini
dir_prep "$rdhome/screenshots" "/var/data/yuzu/screenshots"
# Dolphin
echo "----------------------"
echo "Initializing DOLPHIN"
echo "----------------------"
mkdir -pv /var/config/dolphin-emu/
cp -fv $emuconfigs/Dolphin/* /var/config/dolphin-emu/
cp -fvr "$emuconfigs/Dolphin/"* /var/config/dolphin-emu/
dir_prep "$rdhome/saves" "/var/data/dolphin-emu/GBA/Saves"
dir_prep "$rdhome/saves" "/var/data/dolphin-emu/Wii"
# pcsx2
echo "----------------------"
echo "Initializing PCSX2"
echo "----------------------"
mkdir -pv /var/config/PCSX2/inis/
cp -fv $emuconfigs/PCSX2_ui.ini /var/config/PCSX2/inis/
cp -fvr $emuconfigs/PCSX2_ui.ini /var/config/PCSX2/inis/
sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/PCSX2/inis/PCSX2_ui.ini
cp -fv $emuconfigs/GS.ini /var/config/PCSX2/inis/
cp -fv $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/
cp -fvr $emuconfigs/GS.ini /var/config/PCSX2/inis/
cp -fvr $emuconfigs/PCSX2_vm.ini /var/config/PCSX2/inis/
dir_prep "$rdhome/states" "/var/config/PCSX2/sstates"
dir_prep "$rdhome/screenshots" "/var/config/PCSX2/snaps"
dir_prep "$rdhome/.logs" "/var/config/PCSX2/logs"
# MelonDS
echo "----------------------"
echo "Initializing MELONDS"
echo "----------------------"
mkdir -pv /var/config/melonDS/
dir_prep "$rdhome/bios" "/var/config/melonDS/bios"
cp -fv $emuconfigs/melonDS.ini /var/config/melonDS/
cp -fvr $emuconfigs/melonDS.ini /var/config/melonDS/
# Replace ~/retrodeck with $rdhome as ~ cannot be understood by MelonDS
sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/melonDS/melonDS.ini
# CITRA
echo "----------------------"
echo "Initializing CITRA"
echo "----------------------"
mkdir -pv /var/config/citra-emu/
cp -fv $emuconfigs/citra-qt-config.ini /var/config/citra-emu/qt-config.ini
sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini
@ -138,8 +146,11 @@ standalones_init() {
#sed -i 's#~/retrodeck#'$rdhome'#g' /var/config/citra-emu/qt-config.ini
# RPCS3
echo "----------------------"
echo "Initializing RPCS3"
echo "----------------------"
mkdir -pv /var/config/rpcs3/
cp -fv $emuconfigs/config.yml /var/config/rpcs3/
cp -fvr $emuconfigs/config.yml /var/config/rpcs3/
# PICO-8
# Moved PICO-8 stuff in the finit as only it knows here roms folders is