diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 9b11f0778..b678e5f8e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -74,36 +74,36 @@ jobs:
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
- #- name: Build AppImage
- # if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
- # run: |
- # PLATFORM_NAME="${{ matrix.platform.name }}"
+ - name: Build AppImage
+ if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
+ run: |
+ PLATFORM_NAME="${{ matrix.platform.name }}"
- # sudo apt install -y zsync desktop-file-utils appstream
+ sudo apt install -y zsync desktop-file-utils appstream
- # mkdir -p tools
- # export PATH="$PATH:$(readlink -f tools)"
+ mkdir -p tools
+ export PATH="$PATH:$(readlink -f tools)"
- # # Setup appimagetool
- # wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
- # chmod +x tools/appimagetool
- # chmod +x distribution/linux/appimage/build-appimage.sh
+ # Setup appimagetool
+ wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
+ chmod +x tools/appimagetool
+ chmod +x distribution/linux/appimage/build-appimage.sh
# Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
- # if [ "$PLATFORM_NAME" = "linux-x64" ]; then
- # ARCH_NAME=x64
- # export ARCH=x86_64
- # elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
- # ARCH_NAME=arm64
- # export ARCH=aarch64
- # else
- # echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
- # exit 1
- # fi
+ if [ "$PLATFORM_NAME" = "linux-x64" ]; then
+ ARCH_NAME=x64
+ export ARCH=x86_64
+ elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
+ ARCH_NAME=arm64
+ export ARCH=aarch64
+ else
+ echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
+ exit 1
+ fi
- # export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
- # BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
- # shell: bash
+ export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
+ BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
+ shell: bash
- name: Upload Ryujinx artifact
uses: actions/upload-artifact@v4
@@ -112,12 +112,12 @@ jobs:
path: publish
if: github.event_name == 'pull_request' && matrix.platform.os != 'macos-13'
- #- name: Upload Ryujinx (AppImage) artifact
- # uses: actions/upload-artifact@v4
- # if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
- # with:
- # name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}-AppImage
- # path: publish_appimage
+ - name: Upload Ryujinx (AppImage) artifact
+ uses: actions/upload-artifact@v4
+ if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
+ with:
+ name: ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}-AppImage
+ path: publish_appimage
- name: Upload Ryujinx.Headless.SDL2 artifact
uses: actions/upload-artifact@v4
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index c3c1e2a28..7a78718be 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -101,83 +101,79 @@ jobs:
- name: Publish
run: |
- dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_ava/publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
- dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_sdl2_headless/publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx.Headless.SDL2 --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
+ dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
+ dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish_sdl2_headless -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx.Headless.SDL2 --self-contained -p:IncludeNativeLibrariesForSelfExtract=true
- name: Packing Windows builds
if: matrix.platform.os == 'windows-latest'
run: |
- pushd publish_ava
- rm publish/libarmeilleure-jitsupport.dylib
- 7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
+ pushd publish
+ rm libarmeilleure-jitsupport.dylib
+ 7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
popd
pushd publish_sdl2_headless
- rm publish/libarmeilleure-jitsupport.dylib
- 7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
+ rm libarmeilleure-jitsupport.dylib
+ 7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
popd
shell: bash
+
+ - name: Build AppImage (Linux)
+ if: matrix.platform.os == 'ubuntu-latest'
+ run: |
+ BUILD_VERSION="${{ steps.version_info.outputs.build_version }}"
+ PLATFORM_NAME="${{ matrix.platform.name }}"
+
+ sudo apt install -y zsync desktop-file-utils appstream
+
+ mkdir -p tools
+ export PATH="$PATH:$(readlink -f tools)"
+
+ # Setup appimagetool
+ wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
+ chmod +x tools/appimagetool
+ chmod +x distribution/linux/appimage/build-appimage.sh
+
+ # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
+ if [ "$PLATFORM_NAME" = "linux-x64" ]; then
+ ARCH_NAME=x64
+ export ARCH=x86_64
+ elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
+ ARCH_NAME=arm64
+ export ARCH=aarch64
+ else
+ echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
+ exit 1
+ fi
+
+ export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
+ BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
+
+ pushd publish_appimage
+ mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage
+ mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync
+ popd
+ shell: bash
- name: Packing Linux builds
if: matrix.platform.os == 'ubuntu-latest'
run: |
- pushd publish_ava
- rm publish/libarmeilleure-jitsupport.dylib
- chmod +x publish/Ryujinx.sh publish/Ryujinx
- tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
+ pushd publish
+ chmod +x Ryujinx.sh Ryujinx
+ tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
popd
pushd publish_sdl2_headless
- rm publish/libarmeilleure-jitsupport.dylib
- chmod +x publish/Ryujinx.sh publish/Ryujinx.Headless.SDL2
- tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
+ chmod +x Ryujinx.sh Ryujinx.Headless.SDL2
+ tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
popd
shell: bash
-
- #- name: Build AppImage (Linux)
- # if: matrix.platform.os == 'ubuntu-latest'
- # run: |
- # BUILD_VERSION="${{ steps.version_info.outputs.build_version }}"
- # PLATFORM_NAME="${{ matrix.platform.name }}"
-
- # sudo apt install -y zsync desktop-file-utils appstream
-
- # mkdir -p tools
- # export PATH="$PATH:$(readlink -f tools)"
-
- # Setup appimagetool
- # wget -q -O tools/appimagetool "https://github.com/AppImage/appimagetool/releases/download/continuous/appimagetool-x86_64.AppImage"
- # chmod +x tools/appimagetool
- # chmod +x distribution/linux/appimage/build-appimage.sh
-
- # Explicitly set $ARCH for appimagetool ($ARCH_NAME is for the file name)
- # if [ "$PLATFORM_NAME" = "linux-x64" ]; then
- # ARCH_NAME=x64
- # export ARCH=x86_64
- # elif [ "$PLATFORM_NAME" = "linux-arm64" ]; then
- # ARCH_NAME=arm64
- # export ARCH=aarch64
- # else
- # echo "Unexpected PLATFORM_NAME "$PLATFORM_NAME""
- # exit 1
- # fi
-
- # export UFLAG="gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|*-$ARCH_NAME.AppImage.zsync"
- # BUILDDIR=publish_ava OUTDIR=publish_ava_appimage distribution/linux/appimage/build-appimage.sh
-
- # Add to release output
- # pushd publish_ava_appimage
- # mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage
- # mv Ryujinx.AppImage.zsync ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage.zsync
- # popd
- # shell: bash
- name: Pushing new release
uses: ncipollo/release-action@v1
with:
name: ${{ steps.version_info.outputs.build_version }}
- artifacts: "release_output/*.tar.gz,release_output/*.zip"
- #artifacts: "release_output/*.tar.gz,release_output/*.zip/*AppImage*"
+ artifacts: "release_output/*.tar.gz,release_output/*.zip/*AppImage*"
tag: ${{ steps.version_info.outputs.build_version }}
body: "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}"
omitBodyDuringUpdate: true
@@ -233,7 +229,7 @@ jobs:
- name: Publish macOS Ryujinx
run: |
- ./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
+ ./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
- name: Publish macOS Ryujinx.Headless.SDL2
run: |
@@ -243,7 +239,7 @@ jobs:
uses: ncipollo/release-action@v1
with:
name: ${{ steps.version_info.outputs.build_version }}
- artifacts: "publish_ava/*.tar.gz, publish_headless/*.tar.gz"
+ artifacts: "publish/*.tar.gz, publish_headless/*.tar.gz"
tag: ${{ steps.version_info.outputs.build_version }}
body: "**Full Changelog**: https://github.com/${{ github.repository }}/compare/${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}"
omitBodyDuringUpdate: true
diff --git a/README.md b/README.md
index d2ce7ca01..7fa78c4b0 100644
--- a/README.md
+++ b/README.md
@@ -14,6 +14,15 @@
+
+
+
+
+
+
+
diff --git a/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs b/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs
index 3c34d5c78..da4d2e51b 100644
--- a/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs
+++ b/src/Ryujinx.HLE/HOS/Applets/AppletManager.cs
@@ -1,4 +1,6 @@
+using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Applets.Browser;
+using Ryujinx.HLE.HOS.Applets.Dummy;
using Ryujinx.HLE.HOS.Applets.Error;
using Ryujinx.HLE.HOS.Services.Am.AppletAE;
using System;
@@ -26,9 +28,13 @@ namespace Ryujinx.HLE.HOS.Applets
return new BrowserApplet(system);
case AppletId.LibAppletOff:
return new BrowserApplet(system);
+ case AppletId.MiiEdit:
+ Logger.Warning?.Print(LogClass.Application, $"Please use the MiiEdit inside File/Open Applet");
+ return new DummyApplet(system);
}
- throw new NotImplementedException($"{applet} applet is not implemented.");
+ Logger.Warning?.Print(LogClass.Application, $"Applet {applet} not implemented!");
+ return new DummyApplet(system);
}
}
}
diff --git a/src/Ryujinx.HLE/HOS/Applets/Dummy/DummyApplet.cs b/src/Ryujinx.HLE/HOS/Applets/Dummy/DummyApplet.cs
new file mode 100644
index 000000000..75df7a373
--- /dev/null
+++ b/src/Ryujinx.HLE/HOS/Applets/Dummy/DummyApplet.cs
@@ -0,0 +1,43 @@
+using Ryujinx.Common.Logging;
+using Ryujinx.Common.Memory;
+using Ryujinx.HLE.HOS.Applets;
+using Ryujinx.HLE.HOS.Services.Am.AppletAE;
+using System;
+using System.IO;
+using System.Runtime.InteropServices;
+namespace Ryujinx.HLE.HOS.Applets.Dummy
+{
+ internal class DummyApplet : IApplet
+ {
+ private readonly Horizon _system;
+ private AppletSession _normalSession;
+ public event EventHandler AppletStateChanged;
+ public DummyApplet(Horizon system)
+ {
+ _system = system;
+ }
+ public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
+ {
+ _normalSession = normalSession;
+ _normalSession.Push(BuildResponse());
+ AppletStateChanged?.Invoke(this, null);
+ _system.ReturnFocus();
+ return ResultCode.Success;
+ }
+ private static T ReadStruct