Compare commits

..

4 Commits

Author SHA1 Message Date
awesomeangotti
963f024838 Discord Rich Presence: Miitopia (#129)
Hello and welcome to my PR that adds discord rich presence stuff from play reports generated by Miitopia.

The following items are tracked and displayed:
Main menu (for booting game)
MII Selector (from main menu)
Region (Game stage based)
Gold (Only updates at start of game play due to lack of play reports generated after loading into world)

As a bonus, I will be exporting the title icon for discord rich presence images and providing the title ID so it can be added to rich presence images. (See bottom of my message)

Examples of current rich presence messages:

At Greenhorne (Starting area)
![image](/attachments/663acf62-2149-4e69-a68d-94c107876182)

After defeating final boss
![image](/attachments/52363124-742b-4214-8b69-f8043ae382bc)

Rich presence image and titleID:

titleID: 01003da010e8a000

![01003da010e8a000](/attachments/952d9218-9b99-4d55-929e-d3c48dcf87a4)

Co-authored-by: Awesomeangotti <143439211+Awesomeangotti@users.noreply.github.com>
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/129
2026-06-14 17:32:12 +00:00
shinyoyo
c263c211bd Updated Simplified Chinese Translation (#134)
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/134
2026-06-14 02:02:21 +00:00
sh0inx
77c9a50f59 Update README.md 2026-06-04 09:04:55 +00:00
Renovate Bot
a9ce288632 Update dependency SharpCompress to 0.49.1 (#123)
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [SharpCompress](https://github.com/adamhathcock/sharpcompress) | `0.48.1` → `0.49.1` | ![age](https://developer.mend.io/api/mc/badges/age/nuget/SharpCompress/0.49.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/nuget/SharpCompress/0.48.1/0.49.1?slim=true) |

---

### Release Notes

<details>
<summary>adamhathcock/sharpcompress (SharpCompress)</summary>

### [`v0.49.1`](https://github.com/adamhathcock/sharpcompress/releases/tag/0.49.1): - More fixes

[Compare Source](https://github.com/adamhathcock/sharpcompress/compare/0.49.0...0.49.1)

#### What's Changed

- Close writable entry streams during async archive disposal by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1338](https://github.com/adamhathcock/sharpcompress/pull/1338)
- Restore `WriteToDirectoryAsync` progress callbacks for solid 7z archives by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1340](https://github.com/adamhathcock/sharpcompress/pull/1340)
- Try to fix global.json to avoid churn in locks by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1341](https://github.com/adamhathcock/sharpcompress/pull/1341)
- Fix tar archive enumeration after fully reading entry streams by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1342](https://github.com/adamhathcock/sharpcompress/pull/1342)

**Full Changelog**: <https://github.com/adamhathcock/sharpcompress/compare/0.49.0...0.49.1>

### [`v0.49.0`](https://github.com/adamhathcock/sharpcompress/releases/tag/0.49.0): - Write Async fixes and more.

[Compare Source](https://github.com/adamhathcock/sharpcompress/compare/0.48.1...0.49.0)

This should contain a lot of write async fixes and some breaking API changes that fix previous broke `net48` usage

#### What's Changed

- Rename IWriteableArchiveFactory.cs to IWritableArchiveFactory.cs by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1244](https://github.com/adamhathcock/sharpcompress/pull/1244)
- Some API clean up from GPT 5.4 by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1243](https://github.com/adamhathcock/sharpcompress/pull/1243)
- Release to master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1267](https://github.com/adamhathcock/sharpcompress/pull/1267)
- Fix three BLAKE2sp correctness bugs and eliminate allocations in hot path by [@&#8203;coderb](https://github.com/coderb) in [#&#8203;1266](https://github.com/adamhathcock/sharpcompress/pull/1266)
- Corrected async examples. by [@&#8203;dlemstra](https://github.com/dlemstra) in [#&#8203;1277](https://github.com/adamhathcock/sharpcompress/pull/1277)
- Fix setting invalid access time fails extraction by [@&#8203;aromaa](https://github.com/aromaa) in [#&#8203;1279](https://github.com/adamhathcock/sharpcompress/pull/1279)
- Fix incorrect code examples in docs for sync/async usage by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1280](https://github.com/adamhathcock/sharpcompress/pull/1280)
- Replace APPNOTE.TXT contents with reference link note by [@&#8203;puk06](https://github.com/puk06) in [#&#8203;1286](https://github.com/adamhathcock/sharpcompress/pull/1286)
- Release to Master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1274](https://github.com/adamhathcock/sharpcompress/pull/1274)
- update docs for tar gap analysis and XZ usage by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1288](https://github.com/adamhathcock/sharpcompress/pull/1288)
- Add a PooledMemoryStream to avoid allocating by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1275](https://github.com/adamhathcock/sharpcompress/pull/1275)
- fix: Change LeaveStreamOpen default from true to false by [@&#8203;puk06](https://github.com/puk06) in [#&#8203;1293](https://github.com/adamhathcock/sharpcompress/pull/1293)
- Fix usage of ReaderOptions and pre-defined values by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1295](https://github.com/adamhathcock/sharpcompress/pull/1295)
- Enforce seekable, readable and writable on streams by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1297](https://github.com/adamhathcock/sharpcompress/pull/1297)
- Add ArchiveInformation record for consolidated archive detection and capability inspection by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1299](https://github.com/adamhathcock/sharpcompress/pull/1299)
- merge release to master by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1314](https://github.com/adamhathcock/sharpcompress/pull/1314)
- Some clean up and test clean up by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1321](https://github.com/adamhathcock/sharpcompress/pull/1321)
- Finish Write Async by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1323](https://github.com/adamhathcock/sharpcompress/pull/1323)
- More complete Tar implementation: USTAR, PAX, etc. by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1289](https://github.com/adamhathcock/sharpcompress/pull/1289)
- Add Polysharp and adjustments that do not break legacy frameworks by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1330](https://github.com/adamhathcock/sharpcompress/pull/1330)
- Fix null `IVolume.FileName` for single-volume file-based archives by [@&#8203;Copilot](https://github.com/Copilot) in [#&#8203;1333](https://github.com/adamhathcock/sharpcompress/pull/1333)
- Add skills by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1332](https://github.com/adamhathcock/sharpcompress/pull/1332)
- add AOT smoke and missing tests by [@&#8203;adamhathcock](https://github.com/adamhathcock) in [#&#8203;1334](https://github.com/adamhathcock/sharpcompress/pull/1334)

#### New Contributors

- [@&#8203;dlemstra](https://github.com/dlemstra) made their first contribution in [#&#8203;1277](https://github.com/adamhathcock/sharpcompress/pull/1277)
- [@&#8203;aromaa](https://github.com/aromaa) made their first contribution in [#&#8203;1279](https://github.com/adamhathcock/sharpcompress/pull/1279)
- [@&#8203;puk06](https://github.com/puk06) made their first contribution in [#&#8203;1286](https://github.com/adamhathcock/sharpcompress/pull/1286)

**Full Changelog**: <https://github.com/adamhathcock/sharpcompress/compare/0.48.1...0.49.0>

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNzguMCIsInVwZGF0ZWRJblZlciI6IjQzLjE3OC4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0=-->

Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/123
2026-05-31 10:51:01 +00:00
6 changed files with 52 additions and 11 deletions

View File

@@ -8,7 +8,7 @@
<PackageVersion Include="Avalonia.Desktop" Version="11.3.17" />
<PackageVersion Include="Avalonia.Diagnostics" Version="11.3.17" />
<PackageVersion Include="Avalonia.Markup.Xaml.Loader" Version="11.3.17" />
<PackageVersion Include="SharpCompress" Version="0.48.1" />
<PackageVersion Include="SharpCompress" Version="0.49.1" />
<PackageVersion Include="Svg.Controls.Avalonia" Version="11.3.9.5" />
<PackageVersion Include="Svg.Controls.Skia.Avalonia" Version="11.3.9.5" />
<PackageVersion Include="Microsoft.Build.Framework" Version="17.11.4" />

View File

@@ -40,8 +40,14 @@
## Usage
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.
To run this emulator, your PC must be equipped with at least:
- 8GiB of RAM
- 6 cores
- A GPU released within the last 10 years.
- OpenGL 4.6 | Vulkan 1.4
- Windows 10 version 20H1 | macOS Big Sur (Apple Silicon)
Failing to meet these requirements may result in a poor gameplay experience or unexpected crashes.
## Latest build

View File

@@ -1,4 +1,4 @@
{
{
"Locales": [
{
"ID": "SettingsTabInputDirectMouseAccess",
@@ -171,7 +171,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "使用低延迟垃圾回收器",
"zh_TW": ""
}
},
@@ -6446,7 +6446,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "将按键绑定重置为默认",
"zh_TW": ""
}
},
@@ -9846,7 +9846,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "开启 HD 震动",
"zh_TW": ""
}
},
@@ -9871,7 +9871,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "向控制器发送更多数据以获得更好的震动效果。\n\n目前仅支持任天堂官方的 Switch 控制器。\n\n如果你在使用 JoyCon 或 Pro 手柄,请保持开启状态。",
"zh_TW": ""
}
},
@@ -11696,7 +11696,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "要将选定设备的按键绑定重置为默认值吗?",
"zh_TW": ""
}
},
@@ -11721,7 +11721,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "这是一个破坏性的操作,会覆盖此设备当前的绑定。",
"zh_TW": ""
}
},
@@ -13696,7 +13696,7 @@
"th_TH": "",
"tr_TR": "",
"uk_UA": "",
"zh_CN": "",
"zh_CN": "将 CLR 的垃圾回收器设置为低延迟模式。\n\n这可能会减少卡顿,但会以性能为代价。\n\n不确定的话就保持关闭。",
"zh_TW": ""
}
},

View File

@@ -147,6 +147,7 @@ namespace Ryujinx.Common
"0100c1f0051b6000", // Donkey Kong Country: Tropical Freeze
"0100ed000d390000", // Dr. Kawashima's Brain Training
"010067b017588000", // Endless Ocean Luminous
"01003da010e8a000", // Miitopia
"01006b5012b32000", // Part Time UFO
"0100704000B3A000", // Snipperclips
"01006a800016e000", // Super Smash Bros. Ultimate

View File

@@ -1088,5 +1088,33 @@ namespace Ryujinx.Ava.Systems.PlayReport
return $"Living on {messagePackObjectDictionary["LandName"].AsString()} Island";
}
private static FormattedValue MiitopiaRPC(SparseMultiValue values)
{
if (values.Matched.TryGetValue("gold", out Value gold) && values.Matched.TryGetValue("stage", out Value location))
{
return $"{LocFinal(location.ToString())} with {gold} gold";
}
if (values.Matched.TryGetValue("secret", out Value secret)) // Yes "secret" is unused, but it only appears in the MII selector.
{
return $"In the MII selector";
}
return $"At the main menu";
static string LocFinal(string? location) => location switch
{
"0" => "Somewhere in Miitopia",
"1" => "Wandering around Greenhorne",
"2" => "Trodding through Neksdor",
"3" => "Exploring The Realm of the Fey",
"4" => "Burning their feet at Karkaton",
"5" => "Soaring in the skies of Miitopia",
"6" => "Fighting up The Sky Scraper",
"7" => "Traveling Miitopia",
_ => "Wandering"
};
}
}
}

View File

@@ -132,6 +132,12 @@ namespace Ryujinx.Ava.Systems.PlayReport
.WithDescription("based on your island name.")
.AddValueFormatter("AppCmn", AnimalCrossingNewHorizons_AppCommon)
)
.AddSpec(
"01003da010e8a000", // Miitopia 01003da010e8a000
spec => spec
.WithDescription("based on gold count, report info only in the mii selector, and gamestage (progression)")
.AddSparseMultiValueFormatter(["gold", "secret", "stage"], MiitopiaRPC)
)
);
private static string Playing(string game) => $"Playing {game}";