diff --git a/.github/workflows/cooker-selfhosted.yml b/.github/workflows/cooker-selfhosted.yml index b1b2c982..82e1f097 100644 --- a/.github/workflows/cooker-selfhosted.yml +++ b/.github/workflows/cooker-selfhosted.yml @@ -44,11 +44,12 @@ jobs: # for main remember to change ${HOME} into ${GITHUB_WORKSPACE} - name: Build flatpak run: | - flatpak-builder --user --force-clean --keep-build-dirs --repo=${HOME}/local ${HOME}/retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml + flatpak-builder --build-only --user --force-clean --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml - name: Create Bundle run: | - flatpak build-bundle ${HOME}/local RetroDECK.flatpak net.retrodeck.retrodeck + flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-cooker net.retrodeck.retrodeck.yml + flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck - name: Read version from version file id: version @@ -74,10 +75,10 @@ jobs: repo: RetroDECK-cooker continue-on-error: true - # In case it cannot publish the release at least it's probiding the flatpak file for creating a manual release + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release - name: Upload RetroDECK.flatpak uses: actions/upload-artifact@v3 with: name: retrodeck-flatpak path: RetroDECK.flatpak - continue-on-error: true \ No newline at end of file + continue-on-error: true diff --git a/.github/workflows/main-selfhosted.yml b/.github/workflows/main-selfhosted.yml new file mode 100644 index 00000000..7821f03e --- /dev/null +++ b/.github/workflows/main-selfhosted.yml @@ -0,0 +1,82 @@ +name: main-selfhosted + +on: + push: + branches: + - main + pull_request: + branches: + - main + + workflow_dispatch: + + +jobs: + + Building_flatpak: + runs-on: self-hosted + steps: + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Generate build ID + id: generating_buildid + run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")" + + - uses: actions/checkout@v3 + + - name: Initialize enviornment + run: | + git pull + git submodule init + 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 + + # for main remember to change ${HOME} into ${GITHUB_WORKSPACE} + - name: Build flatpak + run: | + flatpak-builder --build-only --user --force-clean --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-main net.retrodeck.retrodeck.yml + + - name: Create Bundle + run: | + flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local ${GITHUB_WORKSPACE}/retrodeck-flatpak-main net.retrodeck.retrodeck.yml + flatpak build-bundle ${GITHUB_WORKSPACE}/local RetroDECK.flatpak net.retrodeck.retrodeck + + - name: Read version from version file + id: version + run: echo "##[set-output name=version;]$(cat $(find . -name version))" + + - name: Publish the flatpak in a new release + uses: ncipollo/release-action@v1 + with: + #tag: "${{ steps.version.outputs.version }}" + tag: "${{ steps.generating_buildid.outputs.build-id }}" + body: | + # Release Notes + + ( Write release notes here ) + + artifacts: "RetroDECK.flatpak" + allowUpdates: true + prerelease: true + draft: true + token: ${{ secrets.TRIGGER_BUILD_TOKEN }} + repo: RetroDECK + continue-on-error: true + + # In case it cannot publish the release at least it's providing the flatpak file for creating a manual release + - name: Upload RetroDECK.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK.flatpak + continue-on-error: true \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1b8a8bdc..0404e018 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,34 +1,64 @@ -# Due to the changes to the build systems actually on the branch integrated, this script will fail on main until merged - name: main -# Controls when the workflow will run on: # Triggers the workflow on push or pull request events but only for the main branch - push: - branches: - - main - pull_request: - branches: - - main + # push: + # branches: + # - main + # pull_request: + # branches: + # - main - # Allows you to run this workflow manually from the Actions tab workflow_dispatch: -# A workflow run is made up of one or more jobs that can run sequentially or in parallel -jobs: - # This workflow contains a single job called "build" - build_cooker_snap: - # The type of runner that the job will run on - runs-on: ubuntu-latest - # Steps represent a sequence of tasks that will be executed as part of the job +jobs: + + Job1_-_Building_P1: + runs-on: ubuntu-latest steps: - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + + - name: Get date for artifacts + id: date + run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M%S')" + + - name: Extract branch name + shell: bash + run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" + id: extract_branch + + - name: Generate build ID + id: generating_buildid + run: echo "##[set-output name=build-id;]$(echo "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}")" + - uses: actions/checkout@v3 - - name: Prepearing enviornment + - name: Download global cache + uses: dawidd6/action-download-artifact@v2 + with: + workflow: main.yml + name: global-cache + search_artifacts: true + skip_unpack: true + continue-on-error: true + + - name: Extract global cache run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + continue-on-error: true + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull git submodule init git submodule update sudo add-apt-repository ppa:alexlarsson/flatpak @@ -36,33 +66,123 @@ jobs: sudo apt install flatpak flatpak-builder p7zip-full sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo sudo 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 - - # Runs a set of commands using the runners shell - - name: Building flatpak + + - name: Buld part 1 - Until melonds run: | - sudo flatpak-builder --user --install --force-clean retrodeck-flatpak net.retrodeck.retrodeck.yml - sudo flatpak-builder --repo=local --force-clean localrepo net.retrodeck.retrodeck.yml - sudo flatpak build-bundle local RetroDECK.flatpak net.retrodeck.retrodeck + sudo flatpak-builder --build-only --stop-at=melonds --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml - - name: Get date for artifacts - id: date - run: echo "::set-output name=date::$(date +'%Y%m%d_%H%M')" + - name: Compress cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build - - name: Publish the flatpak in a new cooker release + - name: Upload build specific cache + uses: actions/upload-artifact@v3 + with: + name: "${{ steps.generating_buildid.outputs.build-id }}" + path: retrodeck-main.tar.gz + + # this is done to speed up the things now, it may be removed later + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + outputs: + buildID: "${{ steps.generating_buildid.outputs.build-id }}" + + Job2_-_Build_P2_and_publish: + runs-on: ubuntu-latest + needs: [Job1_-_Building_P1] + steps: + + - uses: actions/checkout@v3 + + - name: Download build specific cache + uses: actions/download-artifact@v2 + with: + name: ${{ needs.Job1_-_Building_P1.outputs.buildID }} + + - name: Extract cache + run: | + tar --skip-old-files -xzvf retrodeck-main.tar.gz + rm -f retrodeck-main.tar.gz + + - name: DEBUG + run: | + echo "Listing folder $PWD contents" + ls -lna + echo "Checking for version file" + find ~ -iname version + cat $(find ~ -iname version) + + - name: Initialize enviornment + run: | + git pull + git submodule init + git submodule update + sudo add-apt-repository ppa:alexlarsson/flatpak + sudo apt-get update + sudo apt install flatpak flatpak-builder p7zip-full + sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo + sudo 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 + + - name: Create Bundle + run: | + sudo flatpak-builder --user --force-clean --repo=${GITHUB_WORKSPACE}/local retrodeck-flatpak-main net.retrodeck.retrodeck.yml + sudo flatpak build-bundle $GITHUB_WORKSPACE/local RetroDECK.flatpak net.retrodeck.retrodeck + + - name: Read version from version file + id: version + run: echo "##[set-output name=version;]$(cat $(find . -name version))" + + - name: Publish the flatpak in a new main release uses: ncipollo/release-action@v1 with: - tag: "${{ steps.date.outputs.date }}" + #tag: "${{ steps.version.outputs.version }}" + #tag: "${{ steps.extract_branch.outputs.branch }}-${{ steps.date.outputs.date }}" + tag: "0.4.0b" body: | - # Release Notes - - Changelog: - - - - - - + # Release Notes (main) artifacts: "RetroDECK.flatpak" allowUpdates: true prerelease: true draft: true token: ${{ secrets.TRIGGER_BUILD_TOKEN }} - repo: RetroDECK \ No newline at end of file + repo: RetroDECK-main + continue-on-error: true + + - name: Compress global cache + run: | + touch retrodeck-main.tar.gz + rm -rf .flatpak-builder/build/*-{2,3,4,5,6} + find .flatpak-builder/build -xtype l -exec rm {} \; # removing dead symlinks + tar --ignore-failed-read -czvf retrodeck-main.tar.gz retrodeck-flatpak-main .flatpak-builder/build + continue-on-error: true + + - name: Upload global cache + uses: actions/upload-artifact@v3 + with: + name: global-cache + path: retrodeck-main.tar.gz RetroDECK.flatpak + continue-on-error: true + + - name: Upload RetroDECK.flatpak + uses: actions/upload-artifact@v3 + with: + name: retrodeck-flatpak + path: RetroDECK.flatpak + continue-on-error: true \ No newline at end of file diff --git a/README.md b/README.md index c3c7e71d..3fc69a39 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ RetroDECK logo

+![GitHub all releases](https://img.shields.io/github/downloads/XargonWan/RetroDECK/total?label=downloads) +![Discord](https://img.shields.io/discord/951662718102962256?label=discord) +![GitHub](https://img.shields.io/github/license/XargonWan/RetroDECK) + # RetroDECK **RetroDECK** brings an environment to catalog and play your retro games directly from SteamOS and it's tailored specifically for the **Steam Deck**. @@ -33,3 +37,7 @@ Check the [Installation instructions](https://github.com/XargonWan/RetroDECK/wik ## Can I help? Of course, any help is appreciated, and not only by programming, just check out our [Discord](https://discord.gg/Dz3szYsP8g)! +


+ + +###### *The Steam Deck logo is a registered trademark of Valve Corporation. This project is in no way officially affiliated with Valve.
All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this project are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.* diff --git a/emu-configs/PCSX2_vm.ini b/emu-configs/PCSX2_vm.ini index f5982955..d4afe2b9 100644 --- a/emu-configs/PCSX2_vm.ini +++ b/emu-configs/PCSX2_vm.ini @@ -51,7 +51,7 @@ PreBlockCheckIOP=disabled VsyncQueueSize=2 FrameLimitEnable=enabled FrameSkipEnable=disabled -VsyncEnable=0 +VsyncEnable=1 FramerateNTSC=59.94 FrameratePAL=50 FramesToDraw=2 diff --git a/emu-configs/yuzu-qt-config.ini b/emu-configs/yuzu-qt-config.ini index 6e891b6b..69935549 100644 --- a/emu-configs/yuzu-qt-config.ini +++ b/emu-configs/yuzu-qt-config.ini @@ -77,9 +77,15 @@ player_0_body_color_left=4278893030 player_0_body_color_left\default=false player_0_body_color_right=4294917160 player_0_body_color_right\default=false +<<<<<<< HEAD +player_0_button_a="button:1,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_a\default=false +player_0_button_b="button:0,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +======= player_0_button_a="pad:0,button:1,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_a\default=false player_0_button_b="pad:0,button:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" +>>>>>>> cooker player_0_button_b\default=false player_0_button_color_left=4278197790 player_0_button_color_left\default=false @@ -91,6 +97,21 @@ player_0_button_dleft="hat:0,direction:left,guid:03000000de280000ff1100000100000 player_0_button_dleft\default=false player_0_button_dright="hat:0,direction:right,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_dright\default=false +<<<<<<< HEAD +player_0_button_dup="hat:0,direction:up,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_dup\default=false +player_0_button_home="button:8,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_home\default=false +player_0_button_l="button:4,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_l\default=false +player_0_button_lstick="button:9,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_lstick\default=false +player_0_button_minus="button:6,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_minus\default=false +player_0_button_plus="button:7,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_plus\default=false +player_0_button_r="button:5,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +======= player_0_button_dup="hat:0,pad:0,direction:up,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_dup\default=false player_0_button_home=[empty] @@ -104,6 +125,7 @@ player_0_button_minus\default=false player_0_button_plus="pad:0,button:7,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_plus\default=false player_0_button_r="pad:0,button:5,port:0,guid:03000000de280000ff11000001000000,engine:sdl" +>>>>>>> cooker player_0_button_r\default=false player_0_button_rstick="button:10,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_rstick\default=false @@ -113,6 +135,19 @@ player_0_button_sl="button:4,guid:03000000de280000ff11000001000000,port:0,engine player_0_button_sl\default=false player_0_button_sr="button:5,guid:03000000de280000ff11000001000000,port:0,engine:sdl" player_0_button_sr\default=false +<<<<<<< HEAD +player_0_button_x="button:3,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_x\default=false +player_0_button_y="button:2,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +player_0_button_y\default=false +player_0_button_zl="threshold:0.500000,axis:2,guid:03000000de280000ff11000001000000,port:0,invert:+,engine:sdl" +player_0_button_zl\default=false +player_0_button_zr="threshold:0.500000,axis:5,guid:03000000de280000ff11000001000000,port:0,invert:+,engine:sdl" +player_0_button_zr\default=false +player_0_connected=true +player_0_connected\default=true +player_0_lstick="deadzone:0.150000,invert_y:+,invert_x:+,offset_y:0.000000,axis_y:1,offset_x:-0.000000,axis_x:0,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +======= player_0_button_x="pad:0,button:3,port:0,guid:03000000de280000ff11000001000000,engine:sdl" player_0_button_x\default=false player_0_button_y="pad:0,button:2,port:0,guid:03000000de280000ff11000001000000,engine:sdl" @@ -124,12 +159,17 @@ player_0_button_zr\default=false player_0_connected=true player_0_connected\default=true player_0_lstick="range:0.950000,deadzone:0.150000,threshold:0.500000,axis_y:1,axis_x:0,pad:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" +>>>>>>> cooker player_0_lstick\default=false player_0_motionleft=[empty] player_0_motionleft\default=false player_0_motionright=[empty] player_0_motionright\default=false +<<<<<<< HEAD +player_0_rstick="deadzone:0.150000,invert_y:+,invert_x:+,offset_y:0.000000,axis_y:4,offset_x:-0.000000,axis_x:3,guid:03000000de280000ff11000001000000,port:0,engine:sdl" +======= player_0_rstick="range:0.950000,deadzone:0.150000,threshold:0.500000,axis_y:3,axis_x:4,pad:0,port:0,guid:03000000de280000ff11000001000000,engine:sdl" +>>>>>>> cooker player_0_rstick\default=false player_0_type=0 player_0_type\default=true @@ -597,52 +637,52 @@ player_8_button_color_left=7710 player_8_button_color_left\default=true player_8_button_color_right=1968650 player_8_button_color_right\default=true -player_8_button_ddown="engine:keyboard,code:16777237,toggle:0" -player_8_button_ddown\default=false -player_8_button_dleft="engine:keyboard,code:16777234,toggle:0" -player_8_button_dleft\default=false -player_8_button_dright="engine:keyboard,code:16777236,toggle:0" -player_8_button_dright\default=false -player_8_button_dup="engine:keyboard,code:16777235,toggle:0" -player_8_button_dup\default=false -player_8_button_home="engine:keyboard,code:0,toggle:0" -player_8_button_home\default=false -player_8_button_l="engine:keyboard,code:81,toggle:0" -player_8_button_l\default=false -player_8_button_lstick="engine:keyboard,code:70,toggle:0" -player_8_button_lstick\default=false -player_8_button_minus="engine:keyboard,code:78,toggle:0" -player_8_button_minus\default=false -player_8_button_plus="engine:keyboard,code:77,toggle:0" -player_8_button_plus\default=false -player_8_button_r="engine:keyboard,code:69,toggle:0" -player_8_button_r\default=false -player_8_button_rstick="engine:keyboard,code:71,toggle:0" -player_8_button_rstick\default=false -player_8_button_screenshot="engine:keyboard,code:0,toggle:0" -player_8_button_screenshot\default=false -player_8_button_sl="engine:keyboard,code:81,toggle:0" -player_8_button_sl\default=false -player_8_button_sr="engine:keyboard,code:69,toggle:0" -player_8_button_sr\default=false -player_8_button_x="engine:keyboard,code:86,toggle:0" -player_8_button_x\default=false -player_8_button_y="engine:keyboard,code:90,toggle:0" -player_8_button_y\default=false -player_8_button_zl="engine:keyboard,code:82,toggle:0" -player_8_button_zl\default=false -player_8_button_zr="engine:keyboard,code:84,toggle:0" -player_8_button_zr\default=false +player_8_button_ddown="toggle:0,code:16777237,engine:keyboard" +player_8_button_ddown\default=true +player_8_button_dleft="toggle:0,code:16777234,engine:keyboard" +player_8_button_dleft\default=true +player_8_button_dright="toggle:0,code:16777236,engine:keyboard" +player_8_button_dright\default=true +player_8_button_dup="toggle:0,code:16777235,engine:keyboard" +player_8_button_dup\default=true +player_8_button_home="toggle:0,code:0,engine:keyboard" +player_8_button_home\default=true +player_8_button_l="toggle:0,code:81,engine:keyboard" +player_8_button_l\default=true +player_8_button_lstick="toggle:0,code:70,engine:keyboard" +player_8_button_lstick\default=true +player_8_button_minus="toggle:0,code:78,engine:keyboard" +player_8_button_minus\default=true +player_8_button_plus="toggle:0,code:77,engine:keyboard" +player_8_button_plus\default=true +player_8_button_r="toggle:0,code:69,engine:keyboard" +player_8_button_r\default=true +player_8_button_rstick="toggle:0,code:71,engine:keyboard" +player_8_button_rstick\default=true +player_8_button_screenshot="toggle:0,code:0,engine:keyboard" +player_8_button_screenshot\default=true +player_8_button_sl="toggle:0,code:81,engine:keyboard" +player_8_button_sl\default=true +player_8_button_sr="toggle:0,code:69,engine:keyboard" +player_8_button_sr\default=true +player_8_button_x="toggle:0,code:86,engine:keyboard" +player_8_button_x\default=true +player_8_button_y="toggle:0,code:90,engine:keyboard" +player_8_button_y\default=true +player_8_button_zl="toggle:0,code:82,engine:keyboard" +player_8_button_zl\default=true +player_8_button_zr="toggle:0,code:84,engine:keyboard" +player_8_button_zr\default=true player_8_connected=false player_8_connected\default=true -player_8_lstick="engine:analog_from_button,up:toggle$00$1code$087$1engine$0keyboard,down:toggle$00$1code$083$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,modifier:toggle$00$1code$016777248$1engine$0keyboard,modifier_scale:0.500000" -player_8_lstick\default=false -player_8_motionleft="engine:keyboard,code:55,toggle:0" -player_8_motionleft\default=false -player_8_motionright="engine:keyboard,code:56,toggle:0" -player_8_motionright\default=false -player_8_rstick="engine:analog_from_button,up:toggle$00$1code$073$1engine$0keyboard,down:toggle$00$1code$075$1engine$0keyboard,left:toggle$00$1code$074$1engine$0keyboard,right:toggle$00$1code$076$1engine$0keyboard,modifier:toggle$00$1code$00$1engine$0keyboard,modifier_scale:0.500000" -player_8_rstick\default=false +player_8_lstick="modifier_scale:0.500000,modifier:toggle$00$1code$016777248$1engine$0keyboard,right:toggle$00$1code$068$1engine$0keyboard,left:toggle$00$1code$065$1engine$0keyboard,down:toggle$00$1code$083$1engine$0keyboard,up:toggle$00$1code$087$1engine$0keyboard,engine:analog_from_button" +player_8_lstick\default=true +player_8_motionleft="toggle:0,code:55,engine:keyboard" +player_8_motionleft\default=true +player_8_motionright="toggle:0,code:56,engine:keyboard" +player_8_motionright\default=true +player_8_rstick="modifier_scale:0.500000,modifier:toggle$00$1code$00$1engine$0keyboard,right:toggle$00$1code$076$1engine$0keyboard,left:toggle$00$1code$074$1engine$0keyboard,down:toggle$00$1code$075$1engine$0keyboard,up:toggle$00$1code$073$1engine$0keyboard,engine:analog_from_button" +player_8_rstick\default=true player_8_type=0 player_8_type\default=true player_8_vibration_enabled=true @@ -741,14 +781,14 @@ vibration_enabled=true vibration_enabled\default=true [Core] -use_extended_memory_layout=false -use_extended_memory_layout\default=true +use_extended_memory_layout=true +use_extended_memory_layout\default=false use_multi_core=true use_multi_core\default=true [Cpu] -cpu_accuracy=0 -cpu_accuracy\default=true +cpu_accuracy=2 +cpu_accuracy\default=false cpu_accuracy_first_time=false cpu_accuracy_first_time\default=false cpu_debug_mode=false @@ -789,7 +829,11 @@ cpuopt_unsafe_unfuse_fma=true cpuopt_unsafe_unfuse_fma\default=true [Data%20Storage] +<<<<<<< HEAD +dump_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/dump +======= dump_directory=/var/data/yuzu/dump +>>>>>>> cooker dump_directory\default=true gamecard_current_game=false gamecard_current_game\default=true @@ -797,6 +841,15 @@ gamecard_inserted=false gamecard_inserted\default=true gamecard_path= gamecard_path\default=true +<<<<<<< HEAD +load_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/load +load_directory\default=true +nand_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/nand +nand_directory\default=true +sdmc_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/sdmc +sdmc_directory\default=true +tas_directory=~/.var/app/net.retrodeck.retrodeck/data/yuzu/tas +======= load_directory=/var/data/yuzu/load load_directory\default=true nand_directory=/var/data/yuzu/nand @@ -804,6 +857,7 @@ nand_directory\default=true sdmc_directory=/var/data/yuzu/sdmc sdmc_directory\default=true tas_directory=/var/data/yuzu/tas +>>>>>>> cooker tas_directory\default=true use_virtual_sd=true use_virtual_sd\default=true @@ -829,6 +883,9 @@ use_debug_asserts\default=true [DisabledAddOns] size=0 + + + [Miscellaneous] log_filter=*:Info @@ -894,7 +951,11 @@ vulkan_device\default=true [Services] network_interface=None +<<<<<<< HEAD +network_interface\default=true +======= network_interface\default=false +>>>>>>> cooker [System] current_user=0 @@ -1141,4 +1202,8 @@ web_api_url\default=true yuzu_token= yuzu_token\default=true yuzu_username=RetroDECK +<<<<<<< HEAD yuzu_username\default=true +======= +yuzu_username\default=true +>>>>>>> cooker diff --git a/global.sh b/global.sh index 363c2ecf..f3891d4f 100755 --- a/global.sh +++ b/global.sh @@ -17,7 +17,18 @@ conf_init() { conf_write() { # writes the variables in the retrodeck config file - sed -i "s%version=.*%version=$version%" $rd_conf - sed -i "s%rdhome=.*%rdhome=$rdhome%" $rd_conf - sed -i "s%rdhome=.*%rdhome=$roms_folder" $rd_conf + + # TODO: this can be optimized with a while and a list of variables to check + if [ ! -z "$version" ] then #if the variable is not null then I update it + sed -i "s%version=.*%version=$version%" $rd_conf + fi + + if [ ! -z "$rdhome" ] then + sed -i "s%rdhome=.*%rdhome=$rdhome%" $rd_conf + fi + + if [ ! -z "$roms_folder" ] then + sed -i "s%rdhome=.*%rdhome=$roms_folder" $rd_conf + fi + } \ No newline at end of file diff --git a/net.retrodeck.retrodeck.appdata.xml b/net.retrodeck.retrodeck.appdata.xml index ce77df9a..9dc3596c 100644 --- a/net.retrodeck.retrodeck.appdata.xml +++ b/net.retrodeck.retrodeck.appdata.xml @@ -10,7 +10,7 @@ https://github.com/XargonWan/RetroDECK/issues http://discord.gg/Dz3szYsP8g https://github.com/XargonWan/RetroDECK/wiki/FAQs---Frequently-asked-questions - https://www.paypal.me/xargon + https://www.patreon.com/RetroDECK @@ -40,6 +40,101 @@ GPL-3.0 CC0-1.0 + + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.1b + +

Emulators:

+
    +
  • Tweaked various emulator configs
  • +
  • The emulators that was showing a small viewport like N64, Wii, GC, and Dreamcast are now showing a more appropriate viewport
  • +
  • Fixed home path in MelonDS (SA)
  • +
+ +

Frontend:

+
    +
  • Updated ES-DE to 1.2.4
  • +
  • RetroDECK doesn't open ES-DE anymore during the first setup, almost everything is now automated: HURRAY!
  • +
  • Now a custom roms path can be selected if SD Card is selected and the SD Card is not found in the default path
  • +
+ +

Backend:

+
    +
  • Fixed a bug where the folders where not symlinked correclty
  • +
+ +

Known Issues:

+
    +
  • 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
  • +
  • External controllers and keyboard seems not to be working, expecially in the desktop mode
  • +
  • Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump
  • +
+ +

IMPORTANT NOTE: + 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. +

+
+
+ + + https://github.com/XargonWan/RetroDECK/releases/tag/0.4.0b + +

Emulators:

+
    +
  • Yuzu was broken: fixed
  • +
  • Dolphin-libretro is now the default emulator as Dolphin (Standalone) seems to be broken
  • +
+

New Standalone emulators:

+
    +
  • RPCS3
  • +
  • PPSSPP
  • +
  • CITRA
  • +
  • MelonDS
  • +
  • PICO-8
  • +
+

Tools:

+
    +
  • Added tools to start each standalone emulator
  • +
  • Added a tool to start PICO-8's SPLORE
  • +
  • Fixed the Move ROMs tool (probably)
  • +
+

Frontend:

+
    +
  • Updated ES-DE to 1.2.4 and redirected to the new repo
  • +
  • Updated Art-Book theme to fix the mising images for n3ds and pico-8
  • +
  • Now The quit button is showing "Quit RetroDECK"
  • +
  • Added RetroDECK version in the ES-DE main menu
  • +
+

Backend:

+
    +
  • Wrapper complete rewrite, now it's faster, tidier, solid
  • +
  • Wrapper: user data is now backup and moved when managing the internal folders
  • +
  • Introduced versioning: now the version is visible by CLI or in the options menu
  • +
  • Rewrote cooker.yml workflow as the old one was no more useful for the scope
  • +
  • Removed the bios/bios folder that in some situations is mistakenly created
  • +
  • Logs are now into ~/retrodeck/.logs however they must be improved
  • +
  • Moved the scraped data folder into ~/retrodeck/.downloaded_data for backup purposes and to avoid data loss when resetting RetroDECK
  • +
  • Moved themes folder in ~/retrodeck/.downloaded_data, same as above
  • +
  • Updated es_find_rules.xml
  • +
  • Updated es_systems.xml: some default emulators are changed, if you cannot load the game is maybe because of that, you can still choose the former emulator from the list
  • +
  • Added post-install scripts, now deleting ~/retrodeck/.log or ~/.var/app/net.retrodeck.retrodeck is no more needed (hopefully)
  • +
  • Added CLI arguments, run flatpak run net.retrodeck.retrodeck -h for more info
  • +
  • Added a CLI option to reset RetroDECK --reset
  • +
  • Replaced Kdialog with Zenity
  • +
  • Added manifest: this should fix the Discover bug
  • +
+

Known Issues:

+
    +
  • Controller is not configured for most of the standalone emulators, I will configure them when I will get my Steam Deck (ETA mid June)
  • +
  • External controllers seems not to be working
  • +
  • Yuzu makes RetroDECK freeze in some situations, like if the rom is a bad dump
  • +
+

+ IMPORTANT NOTE: + At the moment the emulator configs are reset during every update, this was made because every version may bring new configurations, please back them up if you did some manual configs. +

+
+
https://github.com/XargonWan/RetroDECK/releases/tag/0.3.1b @@ -85,7 +180,7 @@
  • Same as above with main
  • -
    + https://github.com/XargonWan/RetroDECK/releases/tag/0.1.1b diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index be45244f..63083d2b 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -66,8 +66,8 @@ modules: # The version number is stored in /var/conf/retrodeck/version # # UPDATE STEPS FOR MAIN: - # [ ] Update the VERSION variable - # [ ] Update the appdata.xml with the version number and notes + # [X] Update the VERSION variable + # [X] Update the appdata.xml with the version number and notes # - name: version-initialization buildsystem: simple @@ -75,7 +75,7 @@ modules: - | git checkout ${GITHUB_REF_NAME} mkdir -p ${FLATPAK_DEST}/retrodeck/ - VERSION="cooker" + VERSION="0.4.1b" if [[ $VERSION == "cooker" ]]; then VERSION=$(git describe --tags | tr - .) @@ -107,7 +107,7 @@ modules: # mesa repo got a double certificate issue and gnutils cannot handle that so GLU download fails, # this affects even the shared-modules's glu so I have to replace it temporarly # more info there: https://gitlab.com/gnutls/gnutls/-/issues/1335 - - name: libglu + - name: glu buildsystem: meson cleanup: - /include @@ -119,6 +119,33 @@ modules: url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4 + - name: libgudev + buildsystem: meson + config-opts: + - '-Dtests=disabled' + - '-Dvapi=disabled' + - '-Dintrospection=disabled' + - '-Dgtk_doc=false' + cleanup: + - /include + - /etc + - /libexec + - /sbin + - /lib/pkgconfig + - /lib/systemd + - /man + - /share/aclocal + - /share/doc + - /share/gtk-doc + - /share/man + - /share/pkgconfig + - '*.la' + - '*.a' + sources: + - type: archive + url: https://ftp.osuosl.org/pub/blfs/conglomeration/libgudev/libgudev-237.tar.xz + sha256: 0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa + # ES-DE - name: ffmpeg @@ -222,10 +249,11 @@ modules: - shared-modules/SDL/SDL_mixer-1.2.12.json - shared-modules/SDL/SDL_net-1.2.8.json - shared-modules/libusb/libusb.json - - shared-modules/gudev/gudev.json + # certificate glu issue + #- shared-modules/gudev/gudev.json - rd-submodules/retroarch/libbz2/libbz2-1.0.8.json - rd-submodules/retroarch/libaio/libaio-0.3.112.json - # glu issue, check libglu module for more info + # certificate issue, check libglu module for more info #- shared-modules/glu/glu-9.json - rd-submodules/retroarch/libdecor/libdecor-0.1.0.json - name: retroarch-filers-video @@ -705,7 +733,7 @@ modules: # XEMU - START - # glu issue, check libglu module for more info + # certificate issue, check libglu module for more info # - name: libglu # buildsystem: meson # cleanup: @@ -1014,6 +1042,7 @@ modules: - mkdir -p ${FLATPAK_DEST}/retrodeck/tools/ - cp start-*.sh ${FLATPAK_DEST}/retrodeck/tools/ - cp move-roms.sh ${FLATPAK_DEST}/retrodeck/tools/ + - cp start-yuzu.sh ${FLATPAK_DEST}/retrodeck/tools/ - cp tools-gamelist.xml ${FLATPAK_DEST}/retrodeck/ - cp retrodeck.sh /app/bin/retrodeck.sh diff --git a/retrodeck.sh b/retrodeck.sh index 05f8f6e7..197f62a2 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -63,26 +63,6 @@ dir_prep() { echo $symlink is now $real } -cfg_init() { - # Initializing retrodeck config file - #rdconf=/var/config/retrodeck/retrodeck.cfg - - # if I got a config file already I parse it - #if [] - - #else - # touch $rdconf - #fi - - #$roms_folder > /var/config/retrodeck/retrodeck.cfg - return -} - -# is_mounted() { -# # This script checks if the provided path in $1 is mounted -# mount | awk -v DIR="$1" '{if ($3 == DIR) { exit 0}} ENDFILE{exit -1}' -# } - tools_init() { rm -rfv /var/config/retrodeck/tools/ mkdir -pv /var/config/retrodeck/tools/ diff --git a/tools/move-roms.sh b/tools/move-roms.sh index eca4bbb9..7fc1c935 100644 --- a/tools/move-roms.sh +++ b/tools/move-roms.sh @@ -2,7 +2,7 @@ source global.sh -zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="Quit" --ok-label "Continue" --text="WARNING: this script is experimental\nplease be sure you back up your data before continuing.\n\nDo you want to continue?" +zenity --question --no-wrap --window-icon="/app/share/icons/hicolor/scalable/apps/net.retrodeck.retrodeck.svg" --title "RetroDECK" --cancel-label="Quit" --ok-label "Continue" --text="WARNING: this script is experimental\nplease be sure to backup your data before continuing.\n\nDo you want to continue?" if [ $? == 1 ] #cancel then exit 0