Compare commits
13 Commits
Canary-1.2
...
Canary-1.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1d42c29335 | ||
|
|
c2de5cc700 | ||
|
|
aaaf60b7a4 | ||
|
|
150e06e0de | ||
|
|
c0a4d95c5d | ||
|
|
c3831428e0 | ||
|
|
fda79efed4 | ||
|
|
8444e4dca0 | ||
|
|
008d908c5a | ||
|
|
722953211d | ||
|
|
df5002bdbf | ||
|
|
f4b757c584 | ||
|
|
25d69079cb |
8
.github/labeler.yml
vendored
8
.github/labeler.yml
vendored
@@ -33,3 +33,11 @@ kernel:
|
|||||||
infra:
|
infra:
|
||||||
- changed-files:
|
- changed-files:
|
||||||
- any-glob-to-any-file: ['.github/**', 'distribution/**', 'Directory.Packages.props']
|
- any-glob-to-any-file: ['.github/**', 'distribution/**', 'Directory.Packages.props']
|
||||||
|
|
||||||
|
documentation:
|
||||||
|
- changed-files:
|
||||||
|
- any-glob-to-any-file: 'docs/**'
|
||||||
|
|
||||||
|
ldn:
|
||||||
|
- changed-files:
|
||||||
|
- any-glob-to-any-file: 'src/Ryujinx.HLE/HOS/Services/Ldn/**'
|
||||||
|
|||||||
4
.github/workflows/build.yml
vendored
4
.github/workflows/build.yml
vendored
@@ -122,7 +122,7 @@ jobs:
|
|||||||
- name: Upload Ryujinx.Headless.SDL2 artifact
|
- name: Upload Ryujinx.Headless.SDL2 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: sdl2-ryujinx-headless-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}
|
name: nogui-ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-${{ matrix.platform.zip_os_name }}
|
||||||
path: publish_sdl2_headless
|
path: publish_sdl2_headless
|
||||||
if: github.event_name == 'pull_request' && matrix.platform.os != 'macos-13'
|
if: github.event_name == 'pull_request' && matrix.platform.os != 'macos-13'
|
||||||
|
|
||||||
@@ -185,6 +185,6 @@ jobs:
|
|||||||
- name: Upload Ryujinx.Headless.SDL2 artifact
|
- name: Upload Ryujinx.Headless.SDL2 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: sdl2-ryujinx-headless-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-macos_universal
|
name: nogui-ryujinx-${{ matrix.configuration }}-${{ env.RYUJINX_BASE_VERSION }}+${{ steps.git_short_hash.outputs.result }}-macos_universal
|
||||||
path: "publish_headless/*.tar.gz"
|
path: "publish_headless/*.tar.gz"
|
||||||
if: github.event_name == 'pull_request'
|
if: github.event_name == 'pull_request'
|
||||||
|
|||||||
12
.github/workflows/canary.yml
vendored
12
.github/workflows/canary.yml
vendored
@@ -111,12 +111,12 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
pushd publish_ava
|
pushd publish_ava
|
||||||
rm publish/libarmeilleure-jitsupport.dylib
|
rm publish/libarmeilleure-jitsupport.dylib
|
||||||
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
7z a ../release_output/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
rm publish/libarmeilleure-jitsupport.dylib
|
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
|
7z a ../release_output/nogui-ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@@ -126,13 +126,13 @@ jobs:
|
|||||||
pushd publish_ava
|
pushd publish_ava
|
||||||
rm publish/libarmeilleure-jitsupport.dylib
|
rm publish/libarmeilleure-jitsupport.dylib
|
||||||
chmod +x publish/Ryujinx.sh publish/Ryujinx
|
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
|
tar -czvf ../release_output/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
rm publish/libarmeilleure-jitsupport.dylib
|
rm publish/libarmeilleure-jitsupport.dylib
|
||||||
chmod +x publish/Ryujinx.sh publish/Ryujinx.Headless.SDL2
|
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
|
tar -czvf ../release_output/nogui-ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@@ -236,11 +236,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Publish macOS Ryujinx
|
- name: Publish macOS Ryujinx
|
||||||
run: |
|
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_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release 1
|
||||||
|
|
||||||
- name: Publish macOS Ryujinx.Headless.SDL2
|
- name: Publish macOS Ryujinx.Headless.SDL2
|
||||||
run: |
|
run: |
|
||||||
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release 1
|
||||||
|
|
||||||
- name: Pushing new release
|
- name: Pushing new release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
|
|||||||
4
.github/workflows/nightly_pr_comment.yml
vendored
4
.github/workflows/nightly_pr_comment.yml
vendored
@@ -38,12 +38,12 @@ jobs:
|
|||||||
return core.error(`No artifacts found`);
|
return core.error(`No artifacts found`);
|
||||||
}
|
}
|
||||||
let body = `Download the artifacts for this pull request:\n`;
|
let body = `Download the artifacts for this pull request:\n`;
|
||||||
let hidden_headless_artifacts = `\n\n <details><summary>GUI-less (SDL2)</summary>\n`;
|
let hidden_headless_artifacts = `\n\n <details><summary>GUI-less</summary>\n`;
|
||||||
let hidden_debug_artifacts = `\n\n <details><summary>Only for Developers</summary>\n`;
|
let hidden_debug_artifacts = `\n\n <details><summary>Only for Developers</summary>\n`;
|
||||||
for (const art of artifacts) {
|
for (const art of artifacts) {
|
||||||
if(art.name.includes('Debug')) {
|
if(art.name.includes('Debug')) {
|
||||||
hidden_debug_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
hidden_debug_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
||||||
} else if(art.name.includes('sdl2-ryujinx-headless')) {
|
} else if(art.name.includes('nogui-ryujinx')) {
|
||||||
hidden_headless_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
hidden_headless_artifacts += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
||||||
} else {
|
} else {
|
||||||
body += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
body += `\n* [${art.name}](https://nightly.link/${owner}/${repo}/actions/artifacts/${art.id}.zip)`;
|
||||||
|
|||||||
10
.github/workflows/release.yml
vendored
10
.github/workflows/release.yml
vendored
@@ -115,7 +115,7 @@ jobs:
|
|||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
rm libarmeilleure-jitsupport.dylib
|
rm libarmeilleure-jitsupport.dylib
|
||||||
7z a ../release_output/sdl2-ryujinx-headless-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
|
7z a ../release_output/nogui-ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ jobs:
|
|||||||
|
|
||||||
pushd publish_sdl2_headless
|
pushd publish_sdl2_headless
|
||||||
chmod +x Ryujinx.sh Ryujinx.Headless.SDL2
|
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
|
tar -czvf ../release_output/nogui-ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
|
||||||
popd
|
popd
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@ jobs:
|
|||||||
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/*AppImage*"
|
artifacts: "release_output/*.tar.gz,release_output/*.zip,release_output/*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 }}"
|
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
|
||||||
@@ -231,11 +231,11 @@ jobs:
|
|||||||
|
|
||||||
- name: Publish macOS Ryujinx
|
- name: Publish macOS Ryujinx
|
||||||
run: |
|
run: |
|
||||||
./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
|
./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 0
|
||||||
|
|
||||||
- name: Publish macOS Ryujinx.Headless.SDL2
|
- name: Publish macOS Ryujinx.Headless.SDL2
|
||||||
run: |
|
run: |
|
||||||
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release
|
./distribution/macos/create_macos_build_headless.sh . publish_tmp_headless publish_headless ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release 0
|
||||||
|
|
||||||
- name: Pushing new release
|
- name: Pushing new release
|
||||||
uses: ncipollo/release-action@v1
|
uses: ncipollo/release-action@v1
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
## Compilation
|
## Compilation
|
||||||
|
|
||||||
Building the project is for advanced users.
|
Building the project is for users that want to contribute code only.
|
||||||
If you wish to build the emulator yourself, follow these steps:
|
If you wish to build the emulator yourself, follow these steps:
|
||||||
|
|
||||||
### Step 1
|
### Step 1
|
||||||
@@ -20,4 +20,4 @@ Then type the following command: `dotnet build -c Release -o build`
|
|||||||
the built files will be found in the newly created build directory.
|
the built files will be found in the newly created build directory.
|
||||||
|
|
||||||
Ryujinx system files are stored in the `Ryujinx` folder.
|
Ryujinx system files are stored in the `Ryujinx` folder.
|
||||||
This folder is located in the user folder, which can be accessed by clicking `Open Ryujinx Folder` under the File menu in the GUI.
|
This folder is located in the user folder, which can be accessed by clicking `Open Ryujinx Folder` under the File menu in the GUI.
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ We use and recommend the following workflow:
|
|||||||
3. In your fork, create a branch off of main (`git checkout -b mybranch`).
|
3. In your fork, create a branch off of main (`git checkout -b mybranch`).
|
||||||
- Branches are useful since they isolate your changes from incoming changes from upstream. They also enable you to create multiple PRs from the same fork.
|
- Branches are useful since they isolate your changes from incoming changes from upstream. They also enable you to create multiple PRs from the same fork.
|
||||||
4. Make and commit your changes to your branch.
|
4. Make and commit your changes to your branch.
|
||||||
- [Build Instructions](https://github.com/GreemDev/Ryujinx#building) explains how to build and test.
|
- [Build Instructions](https://github.com/GreemDev/Ryujinx/blob/master/COMPILING.md) explains how to build and test.
|
||||||
- Commit messages should be clear statements of action and intent.
|
- Commit messages should be clear statements of action and intent.
|
||||||
6. Build the repository with your changes.
|
6. Build the repository with your changes.
|
||||||
- Make sure that the builds are clean.
|
- Make sure that the builds are clean.
|
||||||
@@ -83,7 +83,7 @@ We use and recommend the following workflow:
|
|||||||
- State in the description what issue or improvement your change is addressing.
|
- State in the description what issue or improvement your change is addressing.
|
||||||
- Check if all the Continuous Integration checks are passing. Refer to [Actions](https://github.com/GreemDev/Ryujinx/actions) to check for outstanding errors.
|
- Check if all the Continuous Integration checks are passing. Refer to [Actions](https://github.com/GreemDev/Ryujinx/actions) to check for outstanding errors.
|
||||||
8. Wait for feedback or approval of your changes from the core development team
|
8. Wait for feedback or approval of your changes from the core development team
|
||||||
- Details about the pull request [review procedure](docs/workflow/ci/pr-guide.md).
|
- Details about the pull request [review procedure](docs/workflow/pr-guide.md).
|
||||||
9. When the team members have signed off, and all checks are green, your PR will be merged.
|
9. When the team members have signed off, and all checks are green, your PR will be merged.
|
||||||
- The next official build will automatically include your change.
|
- The next official build will automatically include your change.
|
||||||
- You can delete the branch you used for making the change.
|
- You can delete the branch you used for making the change.
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
Guides and documentation can be found on the <a href="https://github.com/GreemDev/Ryujinx/wiki">Wiki tab</a>.
|
Guides and documentation can be found on the <a href="https://github.com/GreemDev/Ryujinx/wiki">Wiki tab</a>.
|
||||||
</p>
|
</p>
|
||||||
<p align="center">
|
<p align="center">
|
||||||
If you would like a version more preservative fork of Ryujinx, check out <a href="https://github.com/ryujinx-mirror/ryujinx">ryujinx-mirror</a>.
|
If you would like a more preservative fork of Ryujinx, check out <a href="https://github.com/ryujinx-mirror/ryujinx">ryujinx-mirror</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
|
|||||||
@@ -707,6 +707,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010300",
|
"head": "01010300",
|
||||||
@@ -3526,6 +3542,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01400000",
|
"head": "01400000",
|
||||||
@@ -4160,6 +4192,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -5848,6 +5896,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -6126,6 +6190,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -8341,6 +8421,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -9020,6 +9116,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000100",
|
"head": "01000100",
|
||||||
@@ -9496,6 +9608,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010000",
|
"head": "01010000",
|
||||||
@@ -9833,6 +9961,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -14667,6 +14811,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01030000",
|
"head": "01030000",
|
||||||
@@ -16119,6 +16279,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01050000",
|
"head": "01050000",
|
||||||
@@ -16717,6 +16893,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01070000",
|
"head": "01070000",
|
||||||
@@ -19745,6 +19937,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01080000",
|
"head": "01080000",
|
||||||
@@ -20503,6 +20711,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010000",
|
"head": "01010000",
|
||||||
@@ -21805,6 +22029,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -22340,6 +22580,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01020100",
|
"head": "01020100",
|
||||||
@@ -22990,6 +23246,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -23440,6 +23712,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -24660,6 +24948,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01410000",
|
"head": "01410000",
|
||||||
@@ -24954,6 +25258,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01060000",
|
"head": "01060000",
|
||||||
@@ -25286,6 +25606,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -29114,6 +29450,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010000",
|
"head": "01010000",
|
||||||
@@ -32512,6 +32864,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -32928,6 +33296,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000100",
|
"head": "01000100",
|
||||||
@@ -34800,6 +35184,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Red Tunic",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01000000",
|
"head": "01000000",
|
||||||
@@ -37569,6 +37969,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010100",
|
"head": "01010100",
|
||||||
@@ -41293,6 +41709,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Black Cat Clothes",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01020100",
|
"head": "01020100",
|
||||||
@@ -45153,6 +45585,22 @@
|
|||||||
"0100F2C0115B6000"
|
"0100F2C0115B6000"
|
||||||
],
|
],
|
||||||
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
"gameName": "The Legend of Zelda: Tears of the Kingdom"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"amiiboUsage": [
|
||||||
|
{
|
||||||
|
"Usage": "Receive the Blue Attire",
|
||||||
|
"write": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Usage": "Receive random materials",
|
||||||
|
"write": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"gameID": [
|
||||||
|
"01008CF01BAAC000"
|
||||||
|
],
|
||||||
|
"gameName": "The Legend of Zelda: Echoes of Wisdom"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"head": "01010000",
|
"head": "01010000",
|
||||||
@@ -47896,5 +48344,5 @@
|
|||||||
"type": "Figure"
|
"type": "Figure"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"lastUpdated": "2024-10-01T00:00:25.035619"
|
"lastUpdated": "2024-11-17T15:28:47.035619"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ "$#" -lt 7 ]; then
|
if [ "$#" -lt 8 ]; then
|
||||||
echo "usage <BASE_DIR> <TEMP_DIRECTORY> <OUTPUT_DIRECTORY> <ENTITLEMENTS_FILE_PATH> <VERSION> <SOURCE_REVISION_ID> <CONFIGURATION> <EXTRA_ARGS>"
|
echo "usage <BASE_DIR> <TEMP_DIRECTORY> <OUTPUT_DIRECTORY> <ENTITLEMENTS_FILE_PATH> <VERSION> <SOURCE_REVISION_ID> <CONFIGURATION> <CANARY>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -18,10 +18,11 @@ ENTITLEMENTS_FILE_PATH=$(readlink -f "$4")
|
|||||||
VERSION=$5
|
VERSION=$5
|
||||||
SOURCE_REVISION_ID=$6
|
SOURCE_REVISION_ID=$6
|
||||||
CONFIGURATION=$7
|
CONFIGURATION=$7
|
||||||
EXTRA_ARGS=$8
|
CANARY=$8
|
||||||
|
|
||||||
if [ "$VERSION" == "1.1.0" ];
|
if [ "$CANARY" == "1" ]; then
|
||||||
then
|
RELEASE_TAR_FILE_NAME=ryujinx-canary-$VERSION-macos_universal.app.tar
|
||||||
|
elif [ "$VERSION" == "1.1.0" ]; then
|
||||||
RELEASE_TAR_FILE_NAME=ryujinx-$CONFIGURATION-$VERSION+$SOURCE_REVISION_ID-macos_universal.app.tar
|
RELEASE_TAR_FILE_NAME=ryujinx-$CONFIGURATION-$VERSION+$SOURCE_REVISION_ID-macos_universal.app.tar
|
||||||
else
|
else
|
||||||
RELEASE_TAR_FILE_NAME=ryujinx-$VERSION-macos_universal.app.tar
|
RELEASE_TAR_FILE_NAME=ryujinx-$VERSION-macos_universal.app.tar
|
||||||
@@ -61,7 +62,7 @@ mkdir -p "$OUTPUT_DIRECTORY"
|
|||||||
cp -R "$ARM64_APP_BUNDLE" "$UNIVERSAL_APP_BUNDLE"
|
cp -R "$ARM64_APP_BUNDLE" "$UNIVERSAL_APP_BUNDLE"
|
||||||
rm "$UNIVERSAL_APP_BUNDLE/$EXECUTABLE_SUB_PATH"
|
rm "$UNIVERSAL_APP_BUNDLE/$EXECUTABLE_SUB_PATH"
|
||||||
|
|
||||||
# Make it libraries universal
|
# Make its libraries universal
|
||||||
python3 "$BASE_DIR/distribution/macos/construct_universal_dylib.py" "$ARM64_APP_BUNDLE" "$X64_APP_BUNDLE" "$UNIVERSAL_APP_BUNDLE" "**/*.dylib"
|
python3 "$BASE_DIR/distribution/macos/construct_universal_dylib.py" "$ARM64_APP_BUNDLE" "$X64_APP_BUNDLE" "$UNIVERSAL_APP_BUNDLE" "**/*.dylib"
|
||||||
|
|
||||||
if ! [ -x "$(command -v lipo)" ];
|
if ! [ -x "$(command -v lipo)" ];
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [ "$#" -lt 7 ]; then
|
if [ "$#" -lt 8 ]; then
|
||||||
echo "usage <BASE_DIR> <TEMP_DIRECTORY> <OUTPUT_DIRECTORY> <ENTITLEMENTS_FILE_PATH> <VERSION> <SOURCE_REVISION_ID> <CONFIGURATION> <EXTRA_ARGS>"
|
echo "usage <BASE_DIR> <TEMP_DIRECTORY> <OUTPUT_DIRECTORY> <ENTITLEMENTS_FILE_PATH> <VERSION> <SOURCE_REVISION_ID> <CONFIGURATION> <CANARY>"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -18,13 +18,14 @@ ENTITLEMENTS_FILE_PATH=$(readlink -f "$4")
|
|||||||
VERSION=$5
|
VERSION=$5
|
||||||
SOURCE_REVISION_ID=$6
|
SOURCE_REVISION_ID=$6
|
||||||
CONFIGURATION=$7
|
CONFIGURATION=$7
|
||||||
EXTRA_ARGS=$8
|
CANARY=$8
|
||||||
|
|
||||||
if [ "$VERSION" == "1.1.0" ];
|
if [ "$CANARY" == "1" ]; then
|
||||||
then
|
RELEASE_TAR_FILE_NAME=nogui-ryujinx-canary-$VERSION-macos_universal.tar
|
||||||
RELEASE_TAR_FILE_NAME=sdl2-ryujinx-headless-$CONFIGURATION-$VERSION+$SOURCE_REVISION_ID-macos_universal.tar
|
elif [ "$VERSION" == "1.1.0" ]; then
|
||||||
|
RELEASE_TAR_FILE_NAME=nogui-ryujinx-$CONFIGURATION-$VERSION+$SOURCE_REVISION_ID-macos_universal.tar
|
||||||
else
|
else
|
||||||
RELEASE_TAR_FILE_NAME=sdl2-ryujinx-headless-$VERSION-macos_universal.tar
|
RELEASE_TAR_FILE_NAME=nogui-ryujinx-$VERSION-macos_universal.tar
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ARM64_OUTPUT="$TEMP_DIRECTORY/publish_arm64"
|
ARM64_OUTPUT="$TEMP_DIRECTORY/publish_arm64"
|
||||||
@@ -56,7 +57,7 @@ mkdir -p "$OUTPUT_DIRECTORY"
|
|||||||
cp -R "$ARM64_OUTPUT/" "$UNIVERSAL_OUTPUT"
|
cp -R "$ARM64_OUTPUT/" "$UNIVERSAL_OUTPUT"
|
||||||
rm "$UNIVERSAL_OUTPUT/$EXECUTABLE_SUB_PATH"
|
rm "$UNIVERSAL_OUTPUT/$EXECUTABLE_SUB_PATH"
|
||||||
|
|
||||||
# Make it libraries universal
|
# Make its libraries universal
|
||||||
python3 "$BASE_DIR/distribution/macos/construct_universal_dylib.py" "$ARM64_OUTPUT" "$X64_OUTPUT" "$UNIVERSAL_OUTPUT" "**/*.dylib"
|
python3 "$BASE_DIR/distribution/macos/construct_universal_dylib.py" "$ARM64_OUTPUT" "$X64_OUTPUT" "$UNIVERSAL_OUTPUT" "**/*.dylib"
|
||||||
|
|
||||||
if ! [ -x "$(command -v lipo)" ];
|
if ! [ -x "$(command -v lipo)" ];
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ To merge pull requests, you must have write permissions in the repository.
|
|||||||
## Quick Code Review Rules
|
## Quick Code Review Rules
|
||||||
|
|
||||||
* Do not mix unrelated changes in one pull request. For example, a code style change should never be mixed with a bug fix.
|
* Do not mix unrelated changes in one pull request. For example, a code style change should never be mixed with a bug fix.
|
||||||
* All changes should follow the existing code style. You can read more about our code style at [docs/coding-guidelines](../coding-guidelines/coding-style.md).
|
* All changes should follow the existing code style. You can read more about our code style at [docs/coding-style](../coding-guidelines/coding-style.md).
|
||||||
* Adding external dependencies is to be avoided unless not doing so would introduce _significant_ complexity. Any dependency addition should be justified and discussed before merge.
|
* Adding external dependencies is to be avoided unless not doing so would introduce _significant_ complexity. Any dependency addition should be justified and discussed before merge.
|
||||||
* Use Draft pull requests for changes you are still working on but want early CI loop feedback. When you think your changes are ready for review, [change the status](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request) of your pull request.
|
* Use Draft pull requests for changes you are still working on but want early CI loop feedback. When you think your changes are ready for review, [change the status](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/changing-the-stage-of-a-pull-request) of your pull request.
|
||||||
* Rebase your changes when required or directly requested. Changes should always be commited on top of the upstream branch, not the other way around.
|
* Rebase your changes when required or directly requested. Changes should always be commited on top of the upstream branch, not the other way around.
|
||||||
|
|||||||
@@ -49,6 +49,9 @@ namespace ARMeilleure.Instructions
|
|||||||
case 0b11_011_1101_0000_011:
|
case 0b11_011_1101_0000_011:
|
||||||
EmitGetTpidrroEl0(context);
|
EmitGetTpidrroEl0(context);
|
||||||
return;
|
return;
|
||||||
|
case 0b11_011_1101_0000_101:
|
||||||
|
EmitGetTpidr2El0(context);
|
||||||
|
return;
|
||||||
case 0b11_011_1110_0000_000:
|
case 0b11_011_1110_0000_000:
|
||||||
info = typeof(NativeInterface).GetMethod(nameof(NativeInterface.GetCntfrqEl0));
|
info = typeof(NativeInterface).GetMethod(nameof(NativeInterface.GetCntfrqEl0));
|
||||||
break;
|
break;
|
||||||
@@ -84,6 +87,9 @@ namespace ARMeilleure.Instructions
|
|||||||
case 0b11_011_1101_0000_010:
|
case 0b11_011_1101_0000_010:
|
||||||
EmitSetTpidrEl0(context);
|
EmitSetTpidrEl0(context);
|
||||||
return;
|
return;
|
||||||
|
case 0b11_011_1101_0000_101:
|
||||||
|
EmitGetTpidr2El0(context);
|
||||||
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new NotImplementedException($"Unknown MSR 0x{op.RawOpCode:X8} at 0x{op.Address:X16}.");
|
throw new NotImplementedException($"Unknown MSR 0x{op.RawOpCode:X8} at 0x{op.Address:X16}.");
|
||||||
@@ -213,6 +219,17 @@ namespace ARMeilleure.Instructions
|
|||||||
SetIntOrZR(context, op.Rt, result);
|
SetIntOrZR(context, op.Rt, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void EmitGetTpidr2El0(ArmEmitterContext context)
|
||||||
|
{
|
||||||
|
OpCodeSystem op = (OpCodeSystem)context.CurrOp;
|
||||||
|
|
||||||
|
Operand nativeContext = context.LoadArgument(OperandType.I64, 0);
|
||||||
|
|
||||||
|
Operand result = context.Load(OperandType.I64, context.Add(nativeContext, Const((ulong)NativeContext.GetTpidr2El0Offset())));
|
||||||
|
|
||||||
|
SetIntOrZR(context, op.Rt, result);
|
||||||
|
}
|
||||||
|
|
||||||
private static void EmitSetNzcv(ArmEmitterContext context)
|
private static void EmitSetNzcv(ArmEmitterContext context)
|
||||||
{
|
{
|
||||||
OpCodeSystem op = (OpCodeSystem)context.CurrOp;
|
OpCodeSystem op = (OpCodeSystem)context.CurrOp;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ namespace ARMeilleure.State
|
|||||||
public ulong ExclusiveValueLow;
|
public ulong ExclusiveValueLow;
|
||||||
public ulong ExclusiveValueHigh;
|
public ulong ExclusiveValueHigh;
|
||||||
public int Running;
|
public int Running;
|
||||||
|
public long Tpidr2El0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static NativeCtxStorage _dummyStorage = new();
|
private static NativeCtxStorage _dummyStorage = new();
|
||||||
@@ -176,6 +177,9 @@ namespace ARMeilleure.State
|
|||||||
public long GetTpidrroEl0() => GetStorage().TpidrroEl0;
|
public long GetTpidrroEl0() => GetStorage().TpidrroEl0;
|
||||||
public void SetTpidrroEl0(long value) => GetStorage().TpidrroEl0 = value;
|
public void SetTpidrroEl0(long value) => GetStorage().TpidrroEl0 = value;
|
||||||
|
|
||||||
|
public long GetTpidr2El0() => GetStorage().Tpidr2El0;
|
||||||
|
public void SetTpidr2El0(long value) => GetStorage().Tpidr2El0 = value;
|
||||||
|
|
||||||
public int GetCounter() => GetStorage().Counter;
|
public int GetCounter() => GetStorage().Counter;
|
||||||
public void SetCounter(int value) => GetStorage().Counter = value;
|
public void SetCounter(int value) => GetStorage().Counter = value;
|
||||||
|
|
||||||
@@ -232,6 +236,11 @@ namespace ARMeilleure.State
|
|||||||
return StorageOffset(ref _dummyStorage, ref _dummyStorage.TpidrroEl0);
|
return StorageOffset(ref _dummyStorage, ref _dummyStorage.TpidrroEl0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int GetTpidr2El0Offset()
|
||||||
|
{
|
||||||
|
return StorageOffset(ref _dummyStorage, ref _dummyStorage.Tpidr2El0);
|
||||||
|
}
|
||||||
|
|
||||||
public static int GetCounterOffset()
|
public static int GetCounterOffset()
|
||||||
{
|
{
|
||||||
return StorageOffset(ref _dummyStorage, ref _dummyStorage.Counter);
|
return StorageOffset(ref _dummyStorage, ref _dummyStorage.Counter);
|
||||||
|
|||||||
@@ -69,9 +69,10 @@ namespace Ryujinx.Common.Logging.Targets
|
|||||||
}
|
}
|
||||||
|
|
||||||
string version = ReleaseInformation.Version;
|
string version = ReleaseInformation.Version;
|
||||||
|
string appName = ReleaseInformation.IsCanaryBuild ? "Ryujinx_Canary" : "Ryujinx";
|
||||||
|
|
||||||
// Get path for the current time
|
// Get path for the current time
|
||||||
path = Path.Combine(logDir.FullName, $"Ryujinx_{version}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log");
|
path = Path.Combine(logDir.FullName, $"{appName}_{version}_{DateTime.Now:yyyy-MM-dd_HH-mm-ss}.log");
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ namespace Ryujinx.UI.Common.Helper
|
|||||||
public static string LaunchPathArg { get; private set; }
|
public static string LaunchPathArg { get; private set; }
|
||||||
public static string LaunchApplicationId { get; private set; }
|
public static string LaunchApplicationId { get; private set; }
|
||||||
public static bool StartFullscreenArg { get; private set; }
|
public static bool StartFullscreenArg { get; private set; }
|
||||||
|
public static bool HideAvailableUpdates { get; private set; }
|
||||||
|
|
||||||
public static void ParseArguments(string[] args)
|
public static void ParseArguments(string[] args)
|
||||||
{
|
{
|
||||||
@@ -93,6 +94,9 @@ namespace Ryujinx.UI.Common.Helper
|
|||||||
|
|
||||||
OverrideHideCursor = args[++i];
|
OverrideHideCursor = args[++i];
|
||||||
break;
|
break;
|
||||||
|
case "--hide-updates":
|
||||||
|
HideAvailableUpdates = true;
|
||||||
|
break;
|
||||||
case "--software-gui":
|
case "--software-gui":
|
||||||
OverrideHardwareAcceleration = false;
|
OverrideHardwareAcceleration = false;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -101,13 +101,13 @@ namespace Ryujinx.UI.Common.Helper
|
|||||||
{
|
{
|
||||||
RegistryKey key = Registry.CurrentUser.OpenSubKey(@$"Software\Classes\{ext}");
|
RegistryKey key = Registry.CurrentUser.OpenSubKey(@$"Software\Classes\{ext}");
|
||||||
|
|
||||||
if (key is null)
|
var openCmd = key?.OpenSubKey(@"shell\open\command");
|
||||||
|
|
||||||
|
if (openCmd is null)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var openCmd = key.OpenSubKey(@"shell\open\command");
|
|
||||||
|
|
||||||
string keyValue = (string)openCmd.GetValue(string.Empty);
|
string keyValue = (string)openCmd.GetValue(string.Empty);
|
||||||
|
|
||||||
return keyValue is not null && (keyValue.Contains("Ryujinx") || keyValue.Contains(AppDomain.CurrentDomain.FriendlyName));
|
return keyValue is not null && (keyValue.Contains("Ryujinx") || keyValue.Contains(AppDomain.CurrentDomain.FriendlyName));
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "إدارة المحتوى القابل للتنزيل لـ {0} ({1})",
|
"DlcWindowTitle": "إدارة المحتوى القابل للتنزيل لـ {0} ({1})",
|
||||||
"ModWindowTitle": "إدارة التعديلات لـ {0} ({1})",
|
"ModWindowTitle": "إدارة التعديلات لـ {0} ({1})",
|
||||||
"UpdateWindowTitle": "مدير تحديث العنوان",
|
"UpdateWindowTitle": "مدير تحديث العنوان",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "الغش متوفر لـ {0} [{1}]",
|
"CheatWindowHeading": "الغش متوفر لـ {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Spiel-DLC verwalten",
|
"DlcWindowTitle": "Spiel-DLC verwalten",
|
||||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||||
"UpdateWindowTitle": "Spiel-Updates verwalten",
|
"UpdateWindowTitle": "Spiel-Updates verwalten",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Cheats verfügbar für {0} [{1}]",
|
"CheatWindowHeading": "Cheats verfügbar für {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Downloadable Content Manager",
|
"DlcWindowTitle": "Downloadable Content Manager",
|
||||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||||
"UpdateWindowTitle": "Διαχειριστής Ενημερώσεων Τίτλου",
|
"UpdateWindowTitle": "Διαχειριστής Ενημερώσεων Τίτλου",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Διαθέσιμα Cheats για {0} [{1}]",
|
"CheatWindowHeading": "Διαθέσιμα Cheats για {0} [{1}]",
|
||||||
|
|||||||
@@ -767,6 +767,8 @@
|
|||||||
"XCITrimmerDeselectDisplayed": "Deselect Shown",
|
"XCITrimmerDeselectDisplayed": "Deselect Shown",
|
||||||
"XCITrimmerSortName": "Title",
|
"XCITrimmerSortName": "Title",
|
||||||
"XCITrimmerSortSaved": "Space Savings",
|
"XCITrimmerSortSaved": "Space Savings",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Cheats Available for {0} [{1}]",
|
"CheatWindowHeading": "Cheats Available for {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Administrar contenido descargable",
|
"DlcWindowTitle": "Administrar contenido descargable",
|
||||||
"ModWindowTitle": "Administrar Mods para {0} ({1})",
|
"ModWindowTitle": "Administrar Mods para {0} ({1})",
|
||||||
"UpdateWindowTitle": "Administrar actualizaciones",
|
"UpdateWindowTitle": "Administrar actualizaciones",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} nueva(s) actualización(es) agregada(s)",
|
"UpdateWindowUpdateAddedMessage": "{0} nueva(s) actualización(es) agregada(s)",
|
||||||
"UpdateWindowBundledContentNotice": "Las actualizaciones agrupadas no pueden ser eliminadas, solamente deshabilitadas.",
|
"UpdateWindowBundledContentNotice": "Las actualizaciones agrupadas no pueden ser eliminadas, solamente deshabilitadas.",
|
||||||
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
|
"CheatWindowHeading": "Cheats disponibles para {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "נהל הרחבות משחק עבור {0} ({1})",
|
"DlcWindowTitle": "נהל הרחבות משחק עבור {0} ({1})",
|
||||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||||
"UpdateWindowTitle": "נהל עדכוני משחקים",
|
"UpdateWindowTitle": "נהל עדכוני משחקים",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "צ'יטים זמינים עבור {0} [{1}]",
|
"CheatWindowHeading": "צ'יטים זמינים עבור {0} [{1}]",
|
||||||
|
|||||||
@@ -767,6 +767,8 @@
|
|||||||
"XCITrimmerDeselectDisplayed": "Deselziona Visualizzati",
|
"XCITrimmerDeselectDisplayed": "Deselziona Visualizzati",
|
||||||
"XCITrimmerSortName": "Titolo",
|
"XCITrimmerSortName": "Titolo",
|
||||||
"XCITrimmerSortSaved": "Salvataggio Spazio",
|
"XCITrimmerSortSaved": "Salvataggio Spazio",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} aggiornamento/i aggiunto/i",
|
"UpdateWindowUpdateAddedMessage": "{0} aggiornamento/i aggiunto/i",
|
||||||
"UpdateWindowBundledContentNotice": "Gli aggiornamenti inclusi non possono essere eliminati, ma solo disattivati",
|
"UpdateWindowBundledContentNotice": "Gli aggiornamenti inclusi non possono essere eliminati, ma solo disattivati",
|
||||||
"CheatWindowHeading": "Trucchi disponibili per {0} [{1}]",
|
"CheatWindowHeading": "Trucchi disponibili per {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "DLC 管理",
|
"DlcWindowTitle": "DLC 管理",
|
||||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||||
"UpdateWindowTitle": "アップデート管理",
|
"UpdateWindowTitle": "アップデート管理",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "利用可能なチート {0} [{1}]",
|
"CheatWindowHeading": "利用可能なチート {0} [{1}]",
|
||||||
|
|||||||
@@ -767,6 +767,8 @@
|
|||||||
"XCITrimmerDeselectDisplayed": "표시됨 선택 취소",
|
"XCITrimmerDeselectDisplayed": "표시됨 선택 취소",
|
||||||
"XCITrimmerSortName": "타이틀",
|
"XCITrimmerSortName": "타이틀",
|
||||||
"XCITrimmerSortSaved": "공간 절약s",
|
"XCITrimmerSortSaved": "공간 절약s",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0}개의 새 업데이트가 추가됨",
|
"UpdateWindowUpdateAddedMessage": "{0}개의 새 업데이트가 추가됨",
|
||||||
"UpdateWindowBundledContentNotice": "번들 업데이트는 제거할 수 없으며, 비활성화만 가능합니다.",
|
"UpdateWindowBundledContentNotice": "번들 업데이트는 제거할 수 없으며, 비활성화만 가능합니다.",
|
||||||
"CheatWindowHeading": "{0} [{1}]에 사용 가능한 치트",
|
"CheatWindowHeading": "{0} [{1}]에 사용 가능한 치트",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Menedżer Zawartości do Pobrania",
|
"DlcWindowTitle": "Menedżer Zawartości do Pobrania",
|
||||||
"ModWindowTitle": "Zarządzaj modami dla {0} ({1})",
|
"ModWindowTitle": "Zarządzaj modami dla {0} ({1})",
|
||||||
"UpdateWindowTitle": "Menedżer Aktualizacji Tytułu",
|
"UpdateWindowTitle": "Menedżer Aktualizacji Tytułu",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Kody Dostępne dla {0} [{1}]",
|
"CheatWindowHeading": "Kody Dostępne dla {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Gerenciador de DLC",
|
"DlcWindowTitle": "Gerenciador de DLC",
|
||||||
"ModWindowTitle": "Gerenciar Mods para {0} ({1})",
|
"ModWindowTitle": "Gerenciar Mods para {0} ({1})",
|
||||||
"UpdateWindowTitle": "Gerenciador de atualizações",
|
"UpdateWindowTitle": "Gerenciador de atualizações",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} nova(s) atualização(ões) adicionada(s)",
|
"UpdateWindowUpdateAddedMessage": "{0} nova(s) atualização(ões) adicionada(s)",
|
||||||
"UpdateWindowBundledContentNotice": "Atualizações incorporadas não podem ser removidas, apenas desativadas.",
|
"UpdateWindowBundledContentNotice": "Atualizações incorporadas não podem ser removidas, apenas desativadas.",
|
||||||
"CheatWindowHeading": "Cheats disponíveis para {0} [{1}]",
|
"CheatWindowHeading": "Cheats disponíveis para {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Управление DLC для {0} ({1})",
|
"DlcWindowTitle": "Управление DLC для {0} ({1})",
|
||||||
"ModWindowTitle": "Управление модами для {0} ({1})",
|
"ModWindowTitle": "Управление модами для {0} ({1})",
|
||||||
"UpdateWindowTitle": "Менеджер обновлений игр",
|
"UpdateWindowTitle": "Менеджер обновлений игр",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Доступные читы для {0} [{1}]",
|
"CheatWindowHeading": "Доступные читы для {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "จัดการ DLC ที่ดาวน์โหลดได้สำหรับ {0} ({1})",
|
"DlcWindowTitle": "จัดการ DLC ที่ดาวน์โหลดได้สำหรับ {0} ({1})",
|
||||||
"ModWindowTitle": "จัดการม็อดที่ดาวน์โหลดได้สำหรับ {0} ({1})",
|
"ModWindowTitle": "จัดการม็อดที่ดาวน์โหลดได้สำหรับ {0} ({1})",
|
||||||
"UpdateWindowTitle": "จัดการอัปเดตหัวข้อ",
|
"UpdateWindowTitle": "จัดการอัปเดตหัวข้อ",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} อัพเดตที่เพิ่มมาใหม่",
|
"UpdateWindowUpdateAddedMessage": "{0} อัพเดตที่เพิ่มมาใหม่",
|
||||||
"UpdateWindowBundledContentNotice": "แพ็คที่อัพเดตมาไม่สามารถลบทิ้งได้ สามารถปิดใช้งานได้เท่านั้น",
|
"UpdateWindowBundledContentNotice": "แพ็คที่อัพเดตมาไม่สามารถลบทิ้งได้ สามารถปิดใช้งานได้เท่านั้น",
|
||||||
"CheatWindowHeading": "สูตรโกงมีให้สำหรับ {0} [{1}]",
|
"CheatWindowHeading": "สูตรโกงมีให้สำหรับ {0} [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Oyun DLC'lerini Yönet",
|
"DlcWindowTitle": "Oyun DLC'lerini Yönet",
|
||||||
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
"ModWindowTitle": "Manage Mods for {0} ({1})",
|
||||||
"UpdateWindowTitle": "Oyun Güncellemelerini Yönet",
|
"UpdateWindowTitle": "Oyun Güncellemelerini Yönet",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "{0} için Hile mevcut [{1}]",
|
"CheatWindowHeading": "{0} için Hile mevcut [{1}]",
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "Менеджер вмісту для завантаження",
|
"DlcWindowTitle": "Менеджер вмісту для завантаження",
|
||||||
"ModWindowTitle": "Керувати модами для {0} ({1})",
|
"ModWindowTitle": "Керувати модами для {0} ({1})",
|
||||||
"UpdateWindowTitle": "Менеджер оновлення назв",
|
"UpdateWindowTitle": "Менеджер оновлення назв",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
"UpdateWindowUpdateAddedMessage": "{0} new update(s) added",
|
||||||
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
"UpdateWindowBundledContentNotice": "Bundled updates cannot be removed, only disabled.",
|
||||||
"CheatWindowHeading": "Коди доступні для {0} [{1}]",
|
"CheatWindowHeading": "Коди доступні для {0} [{1}]",
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
"SettingsTabSystemMemoryManagerMode": "内存管理模式:",
|
"SettingsTabSystemMemoryManagerMode": "内存管理模式:",
|
||||||
"SettingsTabSystemMemoryManagerModeSoftware": "软件管理",
|
"SettingsTabSystemMemoryManagerModeSoftware": "软件管理",
|
||||||
"SettingsTabSystemMemoryManagerModeHost": "本机映射 (较快)",
|
"SettingsTabSystemMemoryManagerModeHost": "本机映射 (较快)",
|
||||||
"SettingsTabSystemMemoryManagerModeHostUnchecked": "跳过检查的本机映射 (最快,但不安全)",
|
"SettingsTabSystemMemoryManagerModeHostUnchecked": "跳过检查的本机映射 (最快,不安全)",
|
||||||
"SettingsTabSystemUseHypervisor": "使用 Hypervisor 虚拟化",
|
"SettingsTabSystemUseHypervisor": "使用 Hypervisor 虚拟化",
|
||||||
"MenuBarFile": "文件(_F)",
|
"MenuBarFile": "文件(_F)",
|
||||||
"MenuBarFileOpenFromFile": "加载游戏文件(_L)",
|
"MenuBarFileOpenFromFile": "加载游戏文件(_L)",
|
||||||
@@ -100,14 +100,14 @@
|
|||||||
"SettingsTabGeneralCheckUpdatesOnLaunch": "启动时检查更新",
|
"SettingsTabGeneralCheckUpdatesOnLaunch": "启动时检查更新",
|
||||||
"SettingsTabGeneralShowConfirmExitDialog": "退出游戏时需要确认",
|
"SettingsTabGeneralShowConfirmExitDialog": "退出游戏时需要确认",
|
||||||
"SettingsTabGeneralRememberWindowState": "记住窗口大小和位置",
|
"SettingsTabGeneralRememberWindowState": "记住窗口大小和位置",
|
||||||
"SettingsTabGeneralShowTitleBar": "Show Title Bar (Requires restart)",
|
"SettingsTabGeneralShowTitleBar": "显示标题栏 (需要重启)",
|
||||||
"SettingsTabGeneralHideCursor": "隐藏鼠标指针:",
|
"SettingsTabGeneralHideCursor": "隐藏鼠标指针:",
|
||||||
"SettingsTabGeneralHideCursorNever": "从不隐藏",
|
"SettingsTabGeneralHideCursorNever": "从不隐藏",
|
||||||
"SettingsTabGeneralHideCursorOnIdle": "自动隐藏",
|
"SettingsTabGeneralHideCursorOnIdle": "自动隐藏",
|
||||||
"SettingsTabGeneralHideCursorAlways": "始终隐藏",
|
"SettingsTabGeneralHideCursorAlways": "始终隐藏",
|
||||||
"SettingsTabGeneralGameDirectories": "游戏目录",
|
"SettingsTabGeneralGameDirectories": "游戏目录",
|
||||||
"SettingsTabGeneralAutoloadDirectories": "自动加载DLC/游戏更新目录",
|
"SettingsTabGeneralAutoloadDirectories": "自动加载DLC/游戏更新目录",
|
||||||
"SettingsTabGeneralAutoloadNote": "DLC and Updates which refer to missing files will be unloaded automatically",
|
"SettingsTabGeneralAutoloadNote": "DLC/游戏更新可自动加载和卸载",
|
||||||
"SettingsTabGeneralAdd": "添加",
|
"SettingsTabGeneralAdd": "添加",
|
||||||
"SettingsTabGeneralRemove": "删除",
|
"SettingsTabGeneralRemove": "删除",
|
||||||
"SettingsTabSystem": "系统",
|
"SettingsTabSystem": "系统",
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
"SettingsTabSystemSystemTime": "系统时钟:",
|
"SettingsTabSystemSystemTime": "系统时钟:",
|
||||||
"SettingsTabSystemEnableVsync": "启用垂直同步",
|
"SettingsTabSystemEnableVsync": "启用垂直同步",
|
||||||
"SettingsTabSystemEnablePptc": "开启 PPTC 缓存",
|
"SettingsTabSystemEnablePptc": "开启 PPTC 缓存",
|
||||||
"SettingsTabSystemEnableLowPowerPptc": "Low-power PPTC",
|
"SettingsTabSystemEnableLowPowerPptc": "低功耗 PPTC 加载",
|
||||||
"SettingsTabSystemEnableFsIntegrityChecks": "启用文件系统完整性检查",
|
"SettingsTabSystemEnableFsIntegrityChecks": "启用文件系统完整性检查",
|
||||||
"SettingsTabSystemAudioBackend": "音频处理引擎:",
|
"SettingsTabSystemAudioBackend": "音频处理引擎:",
|
||||||
"SettingsTabSystemAudioBackendDummy": "无",
|
"SettingsTabSystemAudioBackendDummy": "无",
|
||||||
@@ -407,7 +407,7 @@
|
|||||||
"AvatarSetBackgroundColor": "设置背景色",
|
"AvatarSetBackgroundColor": "设置背景色",
|
||||||
"AvatarClose": "关闭",
|
"AvatarClose": "关闭",
|
||||||
"ControllerSettingsLoadProfileToolTip": "加载配置文件",
|
"ControllerSettingsLoadProfileToolTip": "加载配置文件",
|
||||||
"ControllerSettingsViewProfileToolTip": "View Profile",
|
"ControllerSettingsViewProfileToolTip": "预览配置文件",
|
||||||
"ControllerSettingsAddProfileToolTip": "新增配置文件",
|
"ControllerSettingsAddProfileToolTip": "新增配置文件",
|
||||||
"ControllerSettingsRemoveProfileToolTip": "删除配置文件",
|
"ControllerSettingsRemoveProfileToolTip": "删除配置文件",
|
||||||
"ControllerSettingsSaveProfileToolTip": "保存配置文件",
|
"ControllerSettingsSaveProfileToolTip": "保存配置文件",
|
||||||
@@ -667,7 +667,7 @@
|
|||||||
"UserErrorUnknownDescription": "出现未知错误!",
|
"UserErrorUnknownDescription": "出现未知错误!",
|
||||||
"UserErrorUndefinedDescription": "出现未定义错误!此类错误不应出现,请联系开发者!",
|
"UserErrorUndefinedDescription": "出现未定义错误!此类错误不应出现,请联系开发者!",
|
||||||
"OpenSetupGuideMessage": "打开安装指南",
|
"OpenSetupGuideMessage": "打开安装指南",
|
||||||
"NoUpdate": "无更新(或不加载游戏更新)",
|
"NoUpdate": "无更新(默认版本)",
|
||||||
"TitleUpdateVersionLabel": "游戏更新的版本 {0}",
|
"TitleUpdateVersionLabel": "游戏更新的版本 {0}",
|
||||||
"TitleBundledUpdateVersionLabel": "捆绑:版本 {0}",
|
"TitleBundledUpdateVersionLabel": "捆绑:版本 {0}",
|
||||||
"TitleBundledDlcLabel": "捆绑:",
|
"TitleBundledDlcLabel": "捆绑:",
|
||||||
@@ -728,18 +728,20 @@
|
|||||||
"DlcWindowTitle": "管理 {0} ({1}) 的 DLC",
|
"DlcWindowTitle": "管理 {0} ({1}) 的 DLC",
|
||||||
"ModWindowTitle": "管理 {0} ({1}) 的 MOD",
|
"ModWindowTitle": "管理 {0} ({1}) 的 MOD",
|
||||||
"UpdateWindowTitle": "游戏更新管理器",
|
"UpdateWindowTitle": "游戏更新管理器",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "{0} 个更新被添加",
|
"UpdateWindowUpdateAddedMessage": "{0} 个更新被添加",
|
||||||
"UpdateWindowBundledContentNotice": "捆绑的更新无法被移除,只可被禁用。",
|
"UpdateWindowBundledContentNotice": "游戏整合的更新无法移除,可尝试禁用。",
|
||||||
"CheatWindowHeading": "适用于 {0} [{1}] 的金手指",
|
"CheatWindowHeading": "适用于 {0} [{1}] 的金手指",
|
||||||
"BuildId": "游戏版本 ID:",
|
"BuildId": "游戏版本 ID:",
|
||||||
"DlcWindowBundledContentNotice": "捆绑的DLC无法被移除,只可被禁用。",
|
"DlcWindowBundledContentNotice": "游戏整合的DLC无法移除,可尝试禁用。",
|
||||||
"DlcWindowHeading": "{0} 个 DLC",
|
"DlcWindowHeading": "{0} 个 DLC",
|
||||||
"DlcWindowDlcAddedMessage": "{0} 个DLC被添加",
|
"DlcWindowDlcAddedMessage": "{0} 个DLC被添加",
|
||||||
"AutoloadDlcAddedMessage": "{0} 个DLC被添加",
|
"AutoloadDlcAddedMessage": "{0} 个DLC被添加",
|
||||||
"AutoloadDlcRemovedMessage": "{0} missing downloadable content(s) removed",
|
"AutoloadDlcRemovedMessage": "{0} 个失效的DLC已移除",
|
||||||
"AutoloadUpdateAddedMessage": "{0} 个游戏更新被添加",
|
"AutoloadUpdateAddedMessage": "{0} 个游戏更新被添加",
|
||||||
"AutoloadUpdateRemovedMessage": "{0} missing update(s) removed",
|
"AutoloadUpdateRemovedMessage": "{0} 个失效的游戏更新已移除",
|
||||||
"ModWindowHeading": "{0} Mod(s)",
|
"ModWindowHeading": "{0} Mod",
|
||||||
"UserProfilesEditProfile": "编辑所选",
|
"UserProfilesEditProfile": "编辑所选",
|
||||||
"Cancel": "取消",
|
"Cancel": "取消",
|
||||||
"Save": "保存",
|
"Save": "保存",
|
||||||
@@ -768,7 +770,7 @@
|
|||||||
"SettingsEnableMacroHLE": "启用 HLE 宏加速",
|
"SettingsEnableMacroHLE": "启用 HLE 宏加速",
|
||||||
"SettingsEnableMacroHLETooltip": "GPU 宏指令的高级模拟。\n\n提高性能表现,但一些游戏可能会出现图形错误。\n\n如果不确定,请保持开启状态。",
|
"SettingsEnableMacroHLETooltip": "GPU 宏指令的高级模拟。\n\n提高性能表现,但一些游戏可能会出现图形错误。\n\n如果不确定,请保持开启状态。",
|
||||||
"SettingsEnableColorSpacePassthrough": "色彩空间直通",
|
"SettingsEnableColorSpacePassthrough": "色彩空间直通",
|
||||||
"SettingsEnableColorSpacePassthroughTooltip": "使 Vulkan 图形引擎直接传输原始色彩信息。对于宽色域 (例如 DCI-P3) 显示器的用户来说,可以产生更鲜艳的颜色,代价是会损失部分色彩准确度。",
|
"SettingsEnableColorSpacePassthroughTooltip": "使 Vulkan 图形引擎直接传输原始色彩信息。对于广色域 (例如 DCI-P3) 显示器的用户来说,可以产生更鲜艳的颜色,代价是损失部分色彩准确度。",
|
||||||
"VolumeShort": "音量",
|
"VolumeShort": "音量",
|
||||||
"UserProfilesManageSaves": "管理存档",
|
"UserProfilesManageSaves": "管理存档",
|
||||||
"DeleteUserSave": "确定删除此游戏的用户存档吗?",
|
"DeleteUserSave": "确定删除此游戏的用户存档吗?",
|
||||||
@@ -787,9 +789,9 @@
|
|||||||
"GraphicsScalingFilterLabel": "缩放过滤:",
|
"GraphicsScalingFilterLabel": "缩放过滤:",
|
||||||
"GraphicsScalingFilterTooltip": "选择在分辨率缩放时将使用的缩放过滤器。\n\nBilinear(双线性过滤)对于3D游戏效果较好,是一个安全的默认选项。\n\nNearest(最近邻过滤)推荐用于像素艺术游戏。\n\nFSR(超级分辨率锐画)只是一个锐化过滤器,不推荐与 FXAA 或 SMAA 抗锯齿一起使用。\n\nArea(局部过滤),当渲染分辨率大于窗口实际分辨率,推荐该选项。该选项在渲染比例大于2.0的情况下,可以实现超采样的效果。\n\n在游戏运行时,通过点击下面的“应用”按钮可以使设置生效;你可以将设置窗口移开,并试验找到您喜欢的游戏画面效果。\n\n如果不确定,请保持为“Bilinear(双线性过滤)”。",
|
"GraphicsScalingFilterTooltip": "选择在分辨率缩放时将使用的缩放过滤器。\n\nBilinear(双线性过滤)对于3D游戏效果较好,是一个安全的默认选项。\n\nNearest(最近邻过滤)推荐用于像素艺术游戏。\n\nFSR(超级分辨率锐画)只是一个锐化过滤器,不推荐与 FXAA 或 SMAA 抗锯齿一起使用。\n\nArea(局部过滤),当渲染分辨率大于窗口实际分辨率,推荐该选项。该选项在渲染比例大于2.0的情况下,可以实现超采样的效果。\n\n在游戏运行时,通过点击下面的“应用”按钮可以使设置生效;你可以将设置窗口移开,并试验找到您喜欢的游戏画面效果。\n\n如果不确定,请保持为“Bilinear(双线性过滤)”。",
|
||||||
"GraphicsScalingFilterBilinear": "Bilinear(双线性过滤)",
|
"GraphicsScalingFilterBilinear": "Bilinear(双线性过滤)",
|
||||||
"GraphicsScalingFilterNearest": "Nearest(最近邻过滤)",
|
"GraphicsScalingFilterNearest": "Nearest(邻近过滤)",
|
||||||
"GraphicsScalingFilterFsr": "FSR(超级分辨率锐画技术)",
|
"GraphicsScalingFilterFsr": "FSR(超级分辨率锐画技术)",
|
||||||
"GraphicsScalingFilterArea": "Area(局部过滤)",
|
"GraphicsScalingFilterArea": "Area(区域过滤)",
|
||||||
"GraphicsScalingFilterLevelLabel": "等级",
|
"GraphicsScalingFilterLevelLabel": "等级",
|
||||||
"GraphicsScalingFilterLevelTooltip": "设置 FSR 1.0 的锐化等级,数值越高,图像越锐利。",
|
"GraphicsScalingFilterLevelTooltip": "设置 FSR 1.0 的锐化等级,数值越高,图像越锐利。",
|
||||||
"SmaaLow": "SMAA 低质量",
|
"SmaaLow": "SMAA 低质量",
|
||||||
@@ -806,7 +808,7 @@
|
|||||||
"AboutChangelogButtonTooltipMessage": "点击这里在浏览器中打开此版本的更新日志。",
|
"AboutChangelogButtonTooltipMessage": "点击这里在浏览器中打开此版本的更新日志。",
|
||||||
"SettingsTabNetworkMultiplayer": "多人联机游玩",
|
"SettingsTabNetworkMultiplayer": "多人联机游玩",
|
||||||
"MultiplayerMode": "联机模式:",
|
"MultiplayerMode": "联机模式:",
|
||||||
"MultiplayerModeTooltip": "修改 LDN 多人联机游玩模式。\n\nldn_mitm 联机插件将修改游戏中的本地无线和本地游玩功能,使其表现得像局域网一样,允许和其他安装了 ldn_mitm 插件的 Ryujinx 模拟器和破解的任天堂 Switch 主机在同一网络下进行本地连接,实现多人联机游玩。\n\n多人联机游玩要求所有玩家必须运行相同的游戏版本(例如,任天堂明星大乱斗特别版 v13.0.1 无法与 v13.0.0 版本联机)。\n\n如果不确定,请保持为“禁用”。",
|
"MultiplayerModeTooltip": "修改 LDN 多人联机游玩模式。\n\nldn_mitm 联机插件将修改游戏中的本地无线和本地游玩功能,使其表现得像局域网一样,允许和其他安装了 ldn_mitm 插件的 Ryujinx 模拟器和破解的任天堂 Switch 主机在同一网络下进行本地连接,实现多人联机游玩。\n\n多人联机游玩要求所有玩家必须运行相同的游戏版本(例如,游戏版本 v13.0.1 无法与 v13.0.0 联机)。\n\n如果不确定,请保持为“禁用”。",
|
||||||
"MultiplayerModeDisabled": "禁用",
|
"MultiplayerModeDisabled": "禁用",
|
||||||
"MultiplayerModeLdnMitm": "ldn_mitm"
|
"MultiplayerModeLdnMitm": "ldn_mitm"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -728,6 +728,8 @@
|
|||||||
"DlcWindowTitle": "管理 {0} 的可下載內容 ({1})",
|
"DlcWindowTitle": "管理 {0} 的可下載內容 ({1})",
|
||||||
"ModWindowTitle": "管理 {0} 的模組 ({1})",
|
"ModWindowTitle": "管理 {0} 的模組 ({1})",
|
||||||
"UpdateWindowTitle": "遊戲更新管理員",
|
"UpdateWindowTitle": "遊戲更新管理員",
|
||||||
|
"XCITrimmerTrim": "Trim",
|
||||||
|
"XCITrimmerUntrim": "Untrim",
|
||||||
"UpdateWindowUpdateAddedMessage": "已加入 {0} 個遊戲更新",
|
"UpdateWindowUpdateAddedMessage": "已加入 {0} 個遊戲更新",
|
||||||
"UpdateWindowBundledContentNotice": "附帶的遊戲更新只能被停用而無法被刪除。",
|
"UpdateWindowBundledContentNotice": "附帶的遊戲更新只能被停用而無法被刪除。",
|
||||||
"CheatWindowHeading": "可用於 {0} [{1}] 的密技",
|
"CheatWindowHeading": "可用於 {0} [{1}] 的密技",
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||||||
|
|
||||||
public AboutWindowViewModel()
|
public AboutWindowViewModel()
|
||||||
{
|
{
|
||||||
Version = Program.Version;
|
Version = App.FullAppName + "\n" + Program.Version;
|
||||||
UpdateLogoTheme(ConfigurationState.Instance.UI.BaseStyle.Value);
|
UpdateLogoTheme(ConfigurationState.Instance.UI.BaseStyle.Value);
|
||||||
|
|
||||||
ThemeManager.ThemeChanged += ThemeManager_ThemeChanged;
|
ThemeManager.ThemeChanged += ThemeManager_ThemeChanged;
|
||||||
|
|||||||
@@ -102,6 +102,7 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||||||
private float _volumeBeforeMute;
|
private float _volumeBeforeMute;
|
||||||
private string _backendText;
|
private string _backendText;
|
||||||
|
|
||||||
|
private bool _areMimeTypesRegistered = FileAssociationHelper.AreMimeTypesRegistered;
|
||||||
private bool _canUpdate = true;
|
private bool _canUpdate = true;
|
||||||
private Cursor _cursor;
|
private Cursor _cursor;
|
||||||
private string _title;
|
private string _title;
|
||||||
@@ -804,10 +805,15 @@ namespace Ryujinx.Ava.UI.ViewModels
|
|||||||
{
|
{
|
||||||
get => FileAssociationHelper.IsTypeAssociationSupported;
|
get => FileAssociationHelper.IsTypeAssociationSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool AreMimeTypesRegistered
|
public bool AreMimeTypesRegistered
|
||||||
{
|
{
|
||||||
get => FileAssociationHelper.AreMimeTypesRegistered;
|
get => _areMimeTypesRegistered;
|
||||||
|
set {
|
||||||
|
_areMimeTypesRegistered = value;
|
||||||
|
|
||||||
|
OnPropertyChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ObservableCollectionExtended<ApplicationData> Applications
|
public ObservableCollectionExtended<ApplicationData> Applications
|
||||||
|
|||||||
@@ -165,7 +165,8 @@ namespace Ryujinx.Ava.UI.Views.Main
|
|||||||
|
|
||||||
private async void InstallFileTypes_Click(object sender, RoutedEventArgs e)
|
private async void InstallFileTypes_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (FileAssociationHelper.Install())
|
ViewModel.AreMimeTypesRegistered = FileAssociationHelper.Install();
|
||||||
|
if (ViewModel.AreMimeTypesRegistered)
|
||||||
await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogInstallFileTypesSuccessMessage], string.Empty, LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, string.Empty);
|
await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogInstallFileTypesSuccessMessage], string.Empty, LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, string.Empty);
|
||||||
else
|
else
|
||||||
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogInstallFileTypesErrorMessage]);
|
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogInstallFileTypesErrorMessage]);
|
||||||
@@ -173,7 +174,8 @@ namespace Ryujinx.Ava.UI.Views.Main
|
|||||||
|
|
||||||
private async void UninstallFileTypes_Click(object sender, RoutedEventArgs e)
|
private async void UninstallFileTypes_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
if (FileAssociationHelper.Uninstall())
|
ViewModel.AreMimeTypesRegistered = !FileAssociationHelper.Uninstall();
|
||||||
|
if (!ViewModel.AreMimeTypesRegistered)
|
||||||
await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogUninstallFileTypesSuccessMessage], string.Empty, LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, string.Empty);
|
await ContentDialogHelper.CreateInfoDialog(LocaleManager.Instance[LocaleKeys.DialogUninstallFileTypesSuccessMessage], string.Empty, LocaleManager.Instance[LocaleKeys.InputDialogOk], string.Empty, string.Empty);
|
||||||
else
|
else
|
||||||
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogUninstallFileTypesErrorMessage]);
|
await ContentDialogHelper.CreateErrorDialog(LocaleManager.Instance[LocaleKeys.DialogUninstallFileTypesErrorMessage]);
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ namespace Ryujinx.Ava.UI.Windows
|
|||||||
await Dispatcher.UIThread.InvokeAsync(async () => await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys));
|
await Dispatcher.UIThread.InvokeAsync(async () => await UserErrorDialog.ShowUserErrorDialog(UserError.NoKeys));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ConfigurationState.Instance.CheckUpdatesOnStart && Updater.CanUpdate())
|
if (ConfigurationState.Instance.CheckUpdatesOnStart && !CommandLineState.HideAvailableUpdates && Updater.CanUpdate())
|
||||||
{
|
{
|
||||||
await this.BeginUpdateAsync()
|
await this.BeginUpdateAsync()
|
||||||
.ContinueWith(
|
.ContinueWith(
|
||||||
|
|||||||
@@ -296,7 +296,7 @@
|
|||||||
Margin="5"
|
Margin="5"
|
||||||
Click="Trim"
|
Click="Trim"
|
||||||
IsEnabled="{Binding CanTrim}">
|
IsEnabled="{Binding CanTrim}">
|
||||||
<TextBlock Text="Trim" />
|
<TextBlock Text="{ext:Locale XCITrimmerTrim}" />
|
||||||
</Button>
|
</Button>
|
||||||
<Button
|
<Button
|
||||||
Name="UntrimButton"
|
Name="UntrimButton"
|
||||||
@@ -304,7 +304,7 @@
|
|||||||
Margin="5"
|
Margin="5"
|
||||||
Click="Untrim"
|
Click="Untrim"
|
||||||
IsEnabled="{Binding CanUntrim}">
|
IsEnabled="{Binding CanUntrim}">
|
||||||
<TextBlock Text="Untrim" />
|
<TextBlock Text="{ext:Locale XCITrimmerUntrim}" />
|
||||||
</Button>
|
</Button>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel
|
<StackPanel
|
||||||
|
|||||||
Reference in New Issue
Block a user