Compare commits
64 Commits
Author | SHA1 | Date | |
---|---|---|---|
dfb4854d19 | |||
a09d314817 | |||
75035b3231 | |||
9a1bdaae16 | |||
c2f6d5d029 | |||
4f160b35f6 | |||
5fa74574ba | |||
a647050ed4 | |||
8686bea63f | |||
d280fbdf37 | |||
7d88dfa00d | |||
570c7cfaa2 | |||
281be7ca62 | |||
c69904afc6 | |||
26375766b4 | |||
a01a06cd3f | |||
7618ef134d | |||
a2cd3c2799 | |||
eefeb65d9a | |||
e30ee32eee | |||
59277a9301 | |||
2d0d73b617 | |||
59277e49c5 | |||
8e8ad0f37e | |||
b883de5d67 | |||
1040ec4e53 | |||
4d1ebaf9ba | |||
dc3267f152 | |||
f76a97c976 | |||
0f3c7f920b | |||
9ae89d55ca | |||
dde62f44c7 | |||
decc93bcdc | |||
8b75ce1d98 | |||
509f6d738c | |||
f3efada444 | |||
b20613661c | |||
2facad4be3 | |||
741eba2798 | |||
59b3ff7802 | |||
c0cc3c4188 | |||
6ca57dd016 | |||
af1ed1c227 | |||
bf5c44df38 | |||
01aa8a6a29 | |||
430073817c | |||
045f9a39bb | |||
235083ad75 | |||
a13cf098b4 | |||
1800ecc1b4 | |||
280b94fc0c | |||
0faf3f5709 | |||
4ee1dff497 | |||
b2a35ecf6c | |||
5f6d9eef6b | |||
40a488799e | |||
f9f037a951 | |||
456f1ec739 | |||
df9450d2ad | |||
a989d28e03 | |||
cb31d79164 | |||
290e7c5ec8 | |||
4d311dfc1a | |||
5b6e3521d8 |
40
.github/dependabot.yml
vendored
@ -1,40 +0,0 @@
|
|||||||
version: 2
|
|
||||||
updates:
|
|
||||||
- package-ecosystem: "github-actions"
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: weekly
|
|
||||||
labels:
|
|
||||||
- "infra"
|
|
||||||
reviewers:
|
|
||||||
- TSRBerry
|
|
||||||
commit-message:
|
|
||||||
prefix: "ci"
|
|
||||||
|
|
||||||
- package-ecosystem: nuget
|
|
||||||
directory: /
|
|
||||||
open-pull-requests-limit: 10
|
|
||||||
schedule:
|
|
||||||
interval: daily
|
|
||||||
labels:
|
|
||||||
- "infra"
|
|
||||||
reviewers:
|
|
||||||
- TSRBerry
|
|
||||||
commit-message:
|
|
||||||
prefix: nuget
|
|
||||||
groups:
|
|
||||||
Avalonia:
|
|
||||||
patterns:
|
|
||||||
- "*Avalonia*"
|
|
||||||
Silk.NET:
|
|
||||||
patterns:
|
|
||||||
- "Silk.NET*"
|
|
||||||
OpenTK:
|
|
||||||
patterns:
|
|
||||||
- "OpenTK*"
|
|
||||||
SixLabors:
|
|
||||||
patterns:
|
|
||||||
- "SixLabors*"
|
|
||||||
NUnit:
|
|
||||||
patterns:
|
|
||||||
- "NUnit*"
|
|
39
.github/workflows/build.yml
vendored
@ -7,6 +7,7 @@ env:
|
|||||||
POWERSHELL_TELEMETRY_OPTOUT: 1
|
POWERSHELL_TELEMETRY_OPTOUT: 1
|
||||||
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
DOTNET_CLI_TELEMETRY_OPTOUT: 1
|
||||||
RYUJINX_BASE_VERSION: "1.2.0"
|
RYUJINX_BASE_VERSION: "1.2.0"
|
||||||
|
RELEASE: 0
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@ -73,6 +74,37 @@ jobs:
|
|||||||
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
|
chmod +x ./publish_sdl2_headless/Ryujinx.Headless.SDL2 ./publish_sdl2_headless/Ryujinx.sh
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.os == 'ubuntu-latest'
|
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 }}"
|
||||||
|
|
||||||
|
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
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Upload Ryujinx artifact
|
- name: Upload Ryujinx artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@ -80,6 +112,13 @@ jobs:
|
|||||||
path: publish
|
path: publish
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.os != 'macos-13'
|
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.Headless.SDL2 artifact
|
- name: Upload Ryujinx.Headless.SDL2 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
|
51
.github/workflows/checks.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: Perform checks
|
name: Build PR
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@ -20,55 +20,6 @@ concurrency:
|
|||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
format:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- uses: actions/setup-dotnet@v4
|
|
||||||
with:
|
|
||||||
global-json-file: global.json
|
|
||||||
|
|
||||||
- name: Overwrite csc problem matcher
|
|
||||||
run: echo "::add-matcher::.github/csc.json"
|
|
||||||
|
|
||||||
- run: dotnet restore
|
|
||||||
|
|
||||||
- name: Print dotnet format version
|
|
||||||
run: dotnet format --version
|
|
||||||
|
|
||||||
- name: Run dotnet format whitespace
|
|
||||||
run: |
|
|
||||||
dotnet format whitespace --verify-no-changes --report ./whitespace-report.json -v d
|
|
||||||
|
|
||||||
# For some unknown reason this step sometimes fails with exit code 139 (segfault?),
|
|
||||||
# so in that case we'll try again (3 tries max).
|
|
||||||
- name: Run dotnet format style
|
|
||||||
uses: TSRBerry/unstable-commands@v1
|
|
||||||
with:
|
|
||||||
commands: dotnet format style --severity info --verify-no-changes --report ./style-report.json -v d
|
|
||||||
timeout-minutes: 5
|
|
||||||
retry-codes: 139
|
|
||||||
|
|
||||||
# For some unknown reason this step sometimes fails with exit code 139 (segfault?),
|
|
||||||
# so in that case we'll try again (3 tries max).
|
|
||||||
- name: Run dotnet format analyzers
|
|
||||||
uses: TSRBerry/unstable-commands@v1
|
|
||||||
with:
|
|
||||||
commands: dotnet format analyzers --severity info --verify-no-changes --report ./analyzers-report.json -v d
|
|
||||||
timeout-minutes: 5
|
|
||||||
retry-codes: 139
|
|
||||||
|
|
||||||
- name: Upload report
|
|
||||||
if: failure()
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: dotnet-format
|
|
||||||
path: ./*-report.json
|
|
||||||
|
|
||||||
pr_build:
|
pr_build:
|
||||||
uses: ./.github/workflows/build.yml
|
uses: ./.github/workflows/build.yml
|
||||||
needs: format
|
|
||||||
secrets: inherit
|
secrets: inherit
|
||||||
|
4
.github/workflows/nightly_pr_comment.yml
vendored
@ -2,7 +2,7 @@ name: Comment PR artifacts links
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_run:
|
workflow_run:
|
||||||
workflows: ['Perform checks']
|
workflows: ['Build PR']
|
||||||
types: [completed]
|
types: [completed]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
@ -62,4 +62,4 @@ jobs:
|
|||||||
} else {
|
} else {
|
||||||
core.info(`Creating a comment`);
|
core.info(`Creating a comment`);
|
||||||
await github.rest.issues.createComment({repo, owner, issue_number, body});
|
await github.rest.issues.createComment({repo, owner, issue_number, body});
|
||||||
}
|
}
|
||||||
|
57
.github/workflows/release.yml
vendored
@ -7,6 +7,8 @@ on:
|
|||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- '.github/**'
|
- '.github/**'
|
||||||
|
- 'docs/**'
|
||||||
|
- 'assets/**'
|
||||||
- '*.yml'
|
- '*.yml'
|
||||||
- '*.json'
|
- '*.json'
|
||||||
- '*.config'
|
- '*.config'
|
||||||
@ -21,6 +23,7 @@ env:
|
|||||||
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "master"
|
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "master"
|
||||||
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: "GreemDev"
|
RYUJINX_TARGET_RELEASE_CHANNEL_OWNER: "GreemDev"
|
||||||
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: "Ryujinx"
|
RYUJINX_TARGET_RELEASE_CHANNEL_REPO: "Ryujinx"
|
||||||
|
RELEASE: 1
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
tag:
|
tag:
|
||||||
@ -31,10 +34,11 @@ jobs:
|
|||||||
id: version_info
|
id: version_info
|
||||||
run: |
|
run: |
|
||||||
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
||||||
|
echo "prev_build_version=${{ env.RYUJINX_BASE_VERSION }}.$((${{ github.run_number }} - 1))" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Create tag
|
- name: Create tag
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
github.rest.git.createRef({
|
github.rest.git.createRef({
|
||||||
@ -49,6 +53,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: ${{ steps.version_info.outputs.build_version }}
|
name: ${{ steps.version_info.outputs.build_version }}
|
||||||
tag: ${{ steps.version_info.outputs.build_version }}
|
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
|
omitBodyDuringUpdate: true
|
||||||
owner: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_OWNER }}
|
owner: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_OWNER }}
|
||||||
repo: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}
|
repo: ${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}
|
||||||
@ -77,6 +82,7 @@ jobs:
|
|||||||
id: version_info
|
id: version_info
|
||||||
run: |
|
run: |
|
||||||
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
||||||
|
echo "prev_build_version=${{ env.RYUJINX_BASE_VERSION }}.$((${{ github.run_number }} - 1))" >> $GITHUB_OUTPUT
|
||||||
echo "git_short_hash=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
echo "git_short_hash=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@ -102,9 +108,7 @@ jobs:
|
|||||||
if: matrix.platform.os == 'windows-latest'
|
if: matrix.platform.os == 'windows-latest'
|
||||||
run: |
|
run: |
|
||||||
pushd publish_ava
|
pushd publish_ava
|
||||||
cp publish/Ryujinx.exe publish/Ryujinx.Ava.exe
|
|
||||||
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
||||||
7z a ../release_output/test-ava-ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
@ -116,10 +120,8 @@ jobs:
|
|||||||
if: matrix.platform.os == 'ubuntu-latest'
|
if: matrix.platform.os == 'ubuntu-latest'
|
||||||
run: |
|
run: |
|
||||||
pushd publish_ava
|
pushd publish_ava
|
||||||
cp publish/Ryujinx publish/Ryujinx.Ava
|
chmod +x publish/Ryujinx.sh publish/Ryujinx
|
||||||
chmod +x publish/Ryujinx.sh publish/Ryujinx.Ava publish/Ryujinx
|
|
||||||
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||||
tar -czvf ../release_output/test-ava-ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
@ -127,13 +129,52 @@ jobs:
|
|||||||
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
tar -czvf ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
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
|
- name: Pushing new release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
with:
|
with:
|
||||||
name: ${{ steps.version_info.outputs.build_version }}
|
name: ${{ steps.version_info.outputs.build_version }}
|
||||||
artifacts: "release_output/*.tar.gz,release_output/*.zip"
|
artifacts: "release_output/*.tar.gz,release_output/*.zip/*AppImage*"
|
||||||
tag: ${{ steps.version_info.outputs.build_version }}
|
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
|
omitBodyDuringUpdate: true
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
replacesArtifacts: true
|
replacesArtifacts: true
|
||||||
@ -172,6 +213,7 @@ jobs:
|
|||||||
id: version_info
|
id: version_info
|
||||||
run: |
|
run: |
|
||||||
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
echo "build_version=${{ env.RYUJINX_BASE_VERSION }}.${{ github.run_number }}" >> $GITHUB_OUTPUT
|
||||||
|
echo "prev_build_version=${{ env.RYUJINX_BASE_VERSION }}.$((${{ github.run_number }} - 1))" >> $GITHUB_OUTPUT
|
||||||
echo "git_short_hash=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
echo "git_short_hash=$(git rev-parse --short "${{ github.sha }}")" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Configure for release
|
- name: Configure for release
|
||||||
@ -198,6 +240,7 @@ jobs:
|
|||||||
name: ${{ steps.version_info.outputs.build_version }}
|
name: ${{ steps.version_info.outputs.build_version }}
|
||||||
artifacts: "publish_ava/*.tar.gz, publish_headless/*.tar.gz"
|
artifacts: "publish_ava/*.tar.gz, publish_headless/*.tar.gz"
|
||||||
tag: ${{ steps.version_info.outputs.build_version }}
|
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
|
omitBodyDuringUpdate: true
|
||||||
allowUpdates: true
|
allowUpdates: true
|
||||||
replacesArtifacts: true
|
replacesArtifacts: true
|
||||||
|
2
.gitignore
vendored
@ -16,6 +16,8 @@ x64/
|
|||||||
build/
|
build/
|
||||||
[Bb]in/
|
[Bb]in/
|
||||||
[Oo]bj/
|
[Oo]bj/
|
||||||
|
AppDir/
|
||||||
|
publish_appimage/
|
||||||
|
|
||||||
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
||||||
!packages/*/build/
|
!packages/*/build/
|
||||||
|
@ -10,6 +10,9 @@
|
|||||||
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.0.10" />
|
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.0.10" />
|
||||||
<PackageVersion Include="Avalonia.Svg" Version="11.0.0.18" />
|
<PackageVersion Include="Avalonia.Svg" Version="11.0.0.18" />
|
||||||
<PackageVersion Include="Avalonia.Svg.Skia" Version="11.0.0.18" />
|
<PackageVersion Include="Avalonia.Svg.Skia" Version="11.0.0.18" />
|
||||||
|
<PackageVersion Include="Projektanker.Icons.Avalonia" Version="9.4.0" />
|
||||||
|
<PackageVersion Include="Projektanker.Icons.Avalonia.FontAwesome" Version="9.4.0"/>
|
||||||
|
<PackageVersion Include="Projektanker.Icons.Avalonia.MaterialDesign" Version="9.4.0"/>
|
||||||
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
|
<PackageVersion Include="CommandLineParser" Version="2.9.1" />
|
||||||
<PackageVersion Include="Concentus" Version="2.2.0" />
|
<PackageVersion Include="Concentus" Version="2.2.0" />
|
||||||
<PackageVersion Include="DiscordRichPresence" Version="1.2.1.24" />
|
<PackageVersion Include="DiscordRichPresence" Version="1.2.1.24" />
|
||||||
@ -34,6 +37,7 @@
|
|||||||
<PackageVersion Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="5.0.3-build14" />
|
<PackageVersion Include="Ryujinx.Graphics.Nvdec.Dependencies" Version="5.0.3-build14" />
|
||||||
<PackageVersion Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Version="1.2.0" />
|
<PackageVersion Include="Ryujinx.Graphics.Vulkan.Dependencies.MoltenVK" Version="1.2.0" />
|
||||||
<PackageVersion Include="Ryujinx.SDL2-CS" Version="2.30.0-build32" />
|
<PackageVersion Include="Ryujinx.SDL2-CS" Version="2.30.0-build32" />
|
||||||
|
<PackageVersion Include="Gommon" Version="2.6.5" />
|
||||||
<PackageVersion Include="securifybv.ShellLink" Version="0.1.0" />
|
<PackageVersion Include="securifybv.ShellLink" Version="0.1.0" />
|
||||||
<PackageVersion Include="shaderc.net" Version="0.1.0" />
|
<PackageVersion Include="shaderc.net" Version="0.1.0" />
|
||||||
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
|
<PackageVersion Include="SharpZipLib" Version="1.4.2" />
|
||||||
|
60
README.md
@ -1,6 +1,6 @@
|
|||||||
<h1 align="center">
|
<h1 align="center">
|
||||||
<br>
|
<br>
|
||||||
<a href="https://ryujinx.org/"><img src="https://raw.githubusercontent.com/Ryujinx/Ryujinx/master/distribution/misc/Logo.svg" alt="Ryujinx" width="150"></a>
|
<img src="https://raw.githubusercontent.com/GreemDev/Ryujinx/master/distribution/misc/Logo.svg" alt="Ryujinx" width="150"></a>
|
||||||
<br>
|
<br>
|
||||||
<b>Ryujinx</b>
|
<b>Ryujinx</b>
|
||||||
<br>
|
<br>
|
||||||
@ -9,29 +9,37 @@
|
|||||||
</h1>
|
</h1>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
Ryujinx is an open-source Nintendo Switch emulator, created by gdkchan, written in C#.
|
Ryujinx is an open-source Nintendo Switch emulator, originally created by gdkchan, written in C#.
|
||||||
This emulator aims at providing excellent accuracy and performance, a user-friendly interface and consistent builds.
|
This emulator aims at providing excellent accuracy and performance, a user-friendly interface and consistent builds.
|
||||||
It was written from scratch and development on the project began in September 2017.
|
It was written from scratch and development on the project began in September 2017.
|
||||||
Ryujinx is available on Github under the <a href="https://github.com/Ryujinx/Ryujinx/blob/master/LICENSE.txt" target="_blank">MIT license</a>.
|
Ryujinx is available on Github under the <a href="https://github.com/GreemDev/Ryujinx/blob/master/LICENSE.txt" target="_blank">MIT license</a>.
|
||||||
<br />
|
<br />
|
||||||
</p>
|
</p>
|
||||||
|
<p align="center">
|
||||||
|
On October 1st 2024, Ryujinx was discontinued as the creator was forced to abandon the project.
|
||||||
|
This fork is intended to be a direct continuation for existing Ryujinx users.
|
||||||
|
Guides and documentation will not be provided at this time, though you can find the old ones on the Internet Archive.
|
||||||
|
</p>
|
||||||
|
<p align="center">
|
||||||
|
If you would like a version more true to original Ryujinx, check out <a href="https://github.com/ryujinx-mirror/ryujinx">ryujinx-mirror</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml">
|
<a href="https://github.com/GreemDev/Ryujinx/actions/workflows/release.yml">
|
||||||
<img src="https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml/badge.svg"
|
<img src="https://github.com/GreemDev/Ryujinx/actions/workflows/release.yml/badge.svg"
|
||||||
alt="">
|
alt="">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://crwd.in/ryujinx">
|
<a href="https://crwd.in/ryujinx">
|
||||||
<img src="https://badges.crowdin.net/ryujinx/localized.svg"
|
<img src="https://badges.crowdin.net/ryujinx/localized.svg"
|
||||||
alt="">
|
alt="">
|
||||||
</a>
|
</a>
|
||||||
<a href="https://discord.com/invite/VkQYXAZ">
|
<a href="https://discord.gg/dHPrkBkkyA">
|
||||||
<img src="https://img.shields.io/discord/410208534861447168?color=5865F2&label=Ryujinx&logo=discord&logoColor=white"
|
<img src="https://img.shields.io/discord/1294443224030511104?color=5865F2&label=Ryujinx&logo=discord&logoColor=white"
|
||||||
alt="Discord">
|
alt="Discord">
|
||||||
</a>
|
</a>
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<img src="https://raw.githubusercontent.com/Ryujinx/Ryujinx-Website/master/public/assets/images/shell.png">
|
<img src="https://raw.githubusercontent.com/GreemDev/Ryujinx/refs/heads/master/docs/shell.png">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
## Compatibility
|
## Compatibility
|
||||||
@ -39,8 +47,6 @@
|
|||||||
As of May 2024, Ryujinx has been tested on approximately 4,300 titles;
|
As of May 2024, Ryujinx has been tested on approximately 4,300 titles;
|
||||||
over 4,100 boot past menus and into gameplay, with roughly 3,550 of those being considered playable.
|
over 4,100 boot past menus and into gameplay, with roughly 3,550 of those being considered playable.
|
||||||
|
|
||||||
You can check out the compatibility list [here](https://github.com/Ryujinx/Ryujinx-Games-List/issues).
|
|
||||||
|
|
||||||
Anyone is free to submit a new game test or update an existing game test entry;
|
Anyone is free to submit a new game test or update an existing game test entry;
|
||||||
simply follow the new issue template and testing guidelines, or post as a reply to the applicable game issue.
|
simply follow the new issue template and testing guidelines, or post as a reply to the applicable game issue.
|
||||||
Use the search function to see if a game has been tested already!
|
Use the search function to see if a game has been tested already!
|
||||||
@ -50,22 +56,11 @@ Use the search function to see if a game has been tested already!
|
|||||||
To run this emulator, your PC must be equipped with at least 8GiB of RAM;
|
To run this emulator, your PC must be equipped with at least 8GiB of RAM;
|
||||||
failing to meet this requirement may result in a poor gameplay experience or unexpected crashes.
|
failing to meet this requirement may result in a poor gameplay experience or unexpected crashes.
|
||||||
|
|
||||||
See our [Setup & Configuration Guide](https://github.com/Ryujinx/Ryujinx/wiki/Ryujinx-Setup-&-Configuration-Guide) on how to set up the emulator.
|
|
||||||
|
|
||||||
For our Local Wireless (LDN) builds, see our [Multiplayer: Local Play/Local Wireless Guide
|
|
||||||
](https://github.com/Ryujinx/Ryujinx/wiki/Multiplayer-(LDN-Local-Wireless)-Guide).
|
|
||||||
|
|
||||||
Avalonia UI comes with translations for various languages. See [Crowdin](https://crwd.in/ryujinx) for more information.
|
|
||||||
|
|
||||||
## Latest build
|
## Latest build
|
||||||
|
|
||||||
These builds are compiled automatically for each commit on the master branch.
|
These builds are compiled automatically for each commit on the master branch.
|
||||||
While we strive to ensure optimal stability and performance prior to pushing an update, our automated builds **may be unstable or completely broken**.
|
While we strive to ensure optimal stability and performance prior to pushing an update, our automated builds **may be unstable or completely broken**.
|
||||||
|
|
||||||
If you want to see details on updates to the emulator, you can visit our [Changelog](https://github.com/Ryujinx/Ryujinx/wiki/Changelog).
|
|
||||||
|
|
||||||
The latest automatic build for Windows, macOS, and Linux can be found on the [Official Website](https://ryujinx.org/download).
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
If you are planning to contribute or just want to learn more about this project please read through our [documentation](docs/README.md).
|
If you are planning to contribute or just want to learn more about this project please read through our [documentation](docs/README.md).
|
||||||
@ -81,7 +76,7 @@ Make sure your SDK version is higher or equal to the required version specified
|
|||||||
|
|
||||||
### Step 2
|
### Step 2
|
||||||
|
|
||||||
Either use `git clone https://github.com/Ryujinx/Ryujinx` on the command line to clone the repository or use Code --> Download zip button to get the files.
|
Either use `git clone https://github.com/GreemDev/Ryujinx` on the command line to clone the repository or use Code --> Download zip button to get the files.
|
||||||
|
|
||||||
### Step 3
|
### Step 3
|
||||||
|
|
||||||
@ -135,27 +130,6 @@ This folder is located in the user folder, which can be accessed by clicking `Op
|
|||||||
The emulator has settings for enabling or disabling some logging, remapping controllers, and more.
|
The emulator has settings for enabling or disabling some logging, remapping controllers, and more.
|
||||||
You can configure all of them through the graphical interface or manually through the config file, `Config.json`, found in the user folder which can be accessed by clicking `Open Ryujinx Folder` under the File menu in the GUI.
|
You can configure all of them through the graphical interface or manually through the config file, `Config.json`, found in the user folder which can be accessed by clicking `Open Ryujinx Folder` under the File menu in the GUI.
|
||||||
|
|
||||||
## Contact
|
|
||||||
|
|
||||||
If you have contributions, suggestions, need emulator support or just want to get in touch with the team, join our [Discord server](https://discord.com/invite/Ryujinx).
|
|
||||||
You may also review our [FAQ](https://github.com/Ryujinx/Ryujinx/wiki/Frequently-Asked-Questions).
|
|
||||||
|
|
||||||
## Donations
|
|
||||||
|
|
||||||
If you'd like to support the project financially, Ryujinx has an active Patreon campaign.
|
|
||||||
|
|
||||||
<a href="https://www.patreon.com/ryujinx">
|
|
||||||
<img src="https://images.squarespace-cdn.com/content/v1/560c1d39e4b0b4fae0c9cf2a/1567548955044-WVD994WZP76EWF15T0L3/Patreon+Button.png?format=500w" width="150">
|
|
||||||
</a>
|
|
||||||
|
|
||||||
All developers working on the project do so in their free time, but the project has several expenses:
|
|
||||||
* Hackable Nintendo Switch consoles to reverse-engineer the hardware
|
|
||||||
* Additional computer hardware for testing purposes (e.g. GPUs to diagnose graphical bugs, etc.)
|
|
||||||
* Licenses for various software development tools (e.g. Jetbrains, IDA)
|
|
||||||
* Web hosting and infrastructure maintenance (e.g. LDN servers)
|
|
||||||
|
|
||||||
All funds received through Patreon are considered a donation to support the project. Patrons receive early access to progress reports and exclusive access to developer interviews.
|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This software is licensed under the terms of the [MIT license](LICENSE.txt).
|
This software is licensed under the terms of the [MIT license](LICENSE.txt).
|
||||||
|
@ -3,9 +3,13 @@
|
|||||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FSimpleTypes/@EntryIndexedValue">WARNING</s:String>
|
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FSimpleTypes/@EntryIndexedValue">WARNING</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForOtherTypes/@EntryValue">UseExplicitType</s:String>
|
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForOtherTypes/@EntryValue">UseExplicitType</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForSimpleTypes/@EntryValue">UseExplicitType</s:String>
|
<s:String x:Key="/Default/CodeStyle/CSharpVarKeywordUsage/ForSimpleTypes/@EntryValue">UseExplicitType</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypesAndNamespaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=GL/@EntryIndexedValue">GL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SDL/@EntryIndexedValue">SDL</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SDL/@EntryIndexedValue">OS</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=TypesAndNamespaces/@EntryIndexedValue"><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy></s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=a0b4bc4d_002Dd13b_002D4a37_002Db37e_002Dc9c6864e4302/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Types and namespaces"><ElementKinds><Kind Name="NAMESPACE" /><Kind Name="CLASS" /><Kind Name="STRUCT" /><Kind Name="ENUM" /><Kind Name="DELEGATE" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=a0b4bc4d_002Dd13b_002D4a37_002Db37e_002Dc9c6864e4302/@EntryIndexedValue"><Policy><Descriptor Staticness="Any" AccessRightKinds="Any" Description="Types and namespaces"><ElementKinds><Kind Name="NAMESPACE" /><Kind Name="CLASS" /><Kind Name="STRUCT" /><Kind Name="ENUM" /><Kind Name="DELEGATE" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="" Suffix="" Style="AaBb"><ExtraRule Prefix="I" Suffix="" Style="AaBb" /></Policy></Policy></s:String>
|
||||||
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/Environment/SettingsMigration/IsMigratorApplied/=JetBrains_002EReSharper_002EPsi_002ECSharp_002ECodeStyle_002ESettingsUpgrade_002EPredefinedNamingRulesToUserRulesUpgrade/@EntryIndexedValue">True</s:Boolean>
|
||||||
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=amiibo/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=ASET/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=ASET/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Astc/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Astc/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Luma/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Luma/@EntryIndexedValue">True</s:Boolean>
|
||||||
@ -20,4 +24,4 @@
|
|||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Spirv/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Spirv/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Srgb/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Srgb/@EntryIndexedValue">True</s:Boolean>
|
||||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Unorm/@EntryIndexedValue">True</s:Boolean>
|
<s:Boolean x:Key="/Default/UserDictionary/Words/=Unorm/@EntryIndexedValue">True</s:Boolean>
|
||||||
</wpf:ResourceDictionary>
|
</wpf:ResourceDictionary>
|
||||||
|
47900
assets/amiibo/Amiibo.json
Normal file
BIN
assets/amiibo/images/icon_00000000-00000002.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
assets/amiibo/images/icon_00000000-00340102.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
assets/amiibo/images/icon_00000000-003c0102.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
assets/amiibo/images/icon_00000000-003d0102.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
assets/amiibo/images/icon_00000000-02380602.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
assets/amiibo/images/icon_00000000-02390602.png
Normal file
After Width: | Height: | Size: 118 KiB |
BIN
assets/amiibo/images/icon_00000000-03710102.png
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
assets/amiibo/images/icon_00000003-039bff02.png
Normal file
After Width: | Height: | Size: 245 KiB |
BIN
assets/amiibo/images/icon_00000003-0430ff02.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
assets/amiibo/images/icon_00000100-00190002.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
assets/amiibo/images/icon_00000300-03a60102.png
Normal file
After Width: | Height: | Size: 148 KiB |
BIN
assets/amiibo/images/icon_00010000-000c0002.png
Normal file
After Width: | Height: | Size: 87 KiB |
BIN
assets/amiibo/images/icon_00010000-00350102.png
Normal file
After Width: | Height: | Size: 95 KiB |
BIN
assets/amiibo/images/icon_00010003-039cff02.png
Normal file
After Width: | Height: | Size: 275 KiB |
BIN
assets/amiibo/images/icon_00020000-00010002.png
Normal file
After Width: | Height: | Size: 114 KiB |
BIN
assets/amiibo/images/icon_00020000-00360102.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
assets/amiibo/images/icon_00020000-03720102.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
assets/amiibo/images/icon_00020003-039dff02.png
Normal file
After Width: | Height: | Size: 250 KiB |
BIN
assets/amiibo/images/icon_00020100-03a70102.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
assets/amiibo/images/icon_00030000-00020002.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
assets/amiibo/images/icon_00030000-00370102.png
Normal file
After Width: | Height: | Size: 94 KiB |
BIN
assets/amiibo/images/icon_00030003-039fff02.png
Normal file
After Width: | Height: | Size: 252 KiB |
BIN
assets/amiibo/images/icon_00030102-00410302.png
Normal file
After Width: | Height: | Size: 181 KiB |
BIN
assets/amiibo/images/icon_00030102-00420302.png
Normal file
After Width: | Height: | Size: 167 KiB |
BIN
assets/amiibo/images/icon_00030102-00430302.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
assets/amiibo/images/icon_00030102-023e0302.png
Normal file
After Width: | Height: | Size: 272 KiB |
BIN
assets/amiibo/images/icon_00040000-02620102.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
assets/amiibo/images/icon_00040100-00130002.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
assets/amiibo/images/icon_00050000-00140002.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
assets/amiibo/images/icon_00050000-00390102.png
Normal file
After Width: | Height: | Size: 184 KiB |
BIN
assets/amiibo/images/icon_00050000-03730102.png
Normal file
After Width: | Height: | Size: 287 KiB |
BIN
assets/amiibo/images/icon_0005ff00-023a0702.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
assets/amiibo/images/icon_00060000-00150002.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
assets/amiibo/images/icon_00070000-001a0002.png
Normal file
After Width: | Height: | Size: 143 KiB |
BIN
assets/amiibo/images/icon_00070000-02630102.png
Normal file
After Width: | Height: | Size: 126 KiB |
BIN
assets/amiibo/images/icon_00080000-00030002.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
assets/amiibo/images/icon_00080000-02640102.png
Normal file
After Width: | Height: | Size: 155 KiB |
BIN
assets/amiibo/images/icon_0008ff00-023b0702.png
Normal file
After Width: | Height: | Size: 179 KiB |
BIN
assets/amiibo/images/icon_00090000-000d0002.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
assets/amiibo/images/icon_00090000-02650102.png
Normal file
After Width: | Height: | Size: 124 KiB |
BIN
assets/amiibo/images/icon_000a0000-00380102.png
Normal file
After Width: | Height: | Size: 64 KiB |
BIN
assets/amiibo/images/icon_000a0003-03a0ff02.png
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
assets/amiibo/images/icon_00130000-02660102.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
assets/amiibo/images/icon_00130000-037a0002.png
Normal file
After Width: | Height: | Size: 109 KiB |
BIN
assets/amiibo/images/icon_00130003-039eff02.png
Normal file
After Width: | Height: | Size: 272 KiB |
BIN
assets/amiibo/images/icon_00140000-02670102.png
Normal file
After Width: | Height: | Size: 104 KiB |
BIN
assets/amiibo/images/icon_00150000-03670102.png
Normal file
After Width: | Height: | Size: 110 KiB |
BIN
assets/amiibo/images/icon_00170000-02680102.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
assets/amiibo/images/icon_00230000-03680102.png
Normal file
After Width: | Height: | Size: 91 KiB |
BIN
assets/amiibo/images/icon_00240000-038d0002.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
assets/amiibo/images/icon_00800102-035d0302.png
Normal file
After Width: | Height: | Size: 168 KiB |
BIN
assets/amiibo/images/icon_00c00000-037b0002.png
Normal file
After Width: | Height: | Size: 272 KiB |
BIN
assets/amiibo/images/icon_01000000-00040002.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
assets/amiibo/images/icon_01000000-034b0902.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
assets/amiibo/images/icon_01000000-034c0902.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
assets/amiibo/images/icon_01000000-034d0902.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
assets/amiibo/images/icon_01000000-034e0902.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
assets/amiibo/images/icon_01000000-034f0902.png
Normal file
After Width: | Height: | Size: 90 KiB |
BIN
assets/amiibo/images/icon_01000000-03530902.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
assets/amiibo/images/icon_01000000-03540902.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
assets/amiibo/images/icon_01000000-037c0002.png
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
assets/amiibo/images/icon_01000000-03990902.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
assets/amiibo/images/icon_01000000-04180902.png
Normal file
After Width: | Height: | Size: 132 KiB |
BIN
assets/amiibo/images/icon_01000100-00160002.png
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
assets/amiibo/images/icon_01000100-03500902.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
assets/amiibo/images/icon_01010000-000e0002.png
Normal file
After Width: | Height: | Size: 102 KiB |
BIN
assets/amiibo/images/icon_01010000-03520902.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
assets/amiibo/images/icon_01010000-03560902.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
assets/amiibo/images/icon_01010000-04190902.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
assets/amiibo/images/icon_01010100-00170002.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
assets/amiibo/images/icon_01010300-04140902.png
Normal file
After Width: | Height: | Size: 169 KiB |
BIN
assets/amiibo/images/icon_01020100-001b0002.png
Normal file
After Width: | Height: | Size: 220 KiB |
BIN
assets/amiibo/images/icon_01020100-041a0902.png
Normal file
After Width: | Height: | Size: 162 KiB |
BIN
assets/amiibo/images/icon_01030000-024f0902.png
Normal file
After Width: | Height: | Size: 209 KiB |
BIN
assets/amiibo/images/icon_01050000-03580902.png
Normal file
After Width: | Height: | Size: 1.6 MiB |
BIN
assets/amiibo/images/icon_01060000-03590902.png
Normal file
After Width: | Height: | Size: 928 KiB |
BIN
assets/amiibo/images/icon_01070000-035a0902.png
Normal file
After Width: | Height: | Size: 396 KiB |
BIN
assets/amiibo/images/icon_01080000-035b0902.png
Normal file
After Width: | Height: | Size: 980 KiB |
BIN
assets/amiibo/images/icon_01400000-03550902.png
Normal file
After Width: | Height: | Size: 138 KiB |
BIN
assets/amiibo/images/icon_01410000-035c0902.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
assets/amiibo/images/icon_01800000-00080002.png
Normal file
After Width: | Height: | Size: 78 KiB |
BIN
assets/amiibo/images/icon_01810000-024b0502.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
assets/amiibo/images/icon_01810000-037d0002.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
assets/amiibo/images/icon_01810001-00440502.png
Normal file
After Width: | Height: | Size: 194 KiB |
BIN
assets/amiibo/images/icon_01810001-01d40502.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
assets/amiibo/images/icon_01810100-023f0502.png
Normal file
After Width: | Height: | Size: 69 KiB |
BIN
assets/amiibo/images/icon_01810101-00b40502.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
assets/amiibo/images/icon_01810201-011a0502.png
Normal file
After Width: | Height: | Size: 179 KiB |
BIN
assets/amiibo/images/icon_01810301-01700502.png
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
assets/amiibo/images/icon_01810401-03aa0502.png
Normal file
After Width: | Height: | Size: 156 KiB |