1
1
mirror of https://git.ryujinx.app/ryubing/ryujinx.git synced 2026-06-15 15:04:08 -05:00

Compare commits

...

1072 Commits

Author SHA1 Message Date
Xam 35b1531102 HLE: CaptureManager: SaveScreenShot: properly handle screenshot image data (#18)
no way this was working before, and if it did, just pure luck, unsafe blind copy of bytes as is and zero checks.

i only tested tomodachi, but should fix all games that were crashing on saving screenshots

the crash was happening because the screenshot buffer was bigger than the bitmap buffer, so marshall.copy() was raising an unhandhled expection crashing the emu.

on top of this, because the data was just copied as is, the result image was garbled.

[fixes #304](https://github.com/Ryubing/Issues/issues/304)

Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/18
2026-04-17 23:08:33 +00:00
ryuadmin ea1185e96a damnit 2026-04-17 22:00:49 +00:00
ryuadmin 31e0430b06 Rework labeler.yml for different label names and differing project structure 2026-04-17 21:59:57 +00:00
WilliamWsyHK efb8658194 Update zh-tw Translations (#17)
Co-authored-by: WilliamWsyHK <WilliamWsyHK@users.noreply.github.com>
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/17
2026-04-17 21:44:26 +00:00
ryuadmin e909ea3210 bump labeler action to v6 2026-04-16 06:24:51 +00:00
sh0inx 2a688abeec Merge pull request 'i18n : New Translation for French (fr_FR )and Spanish (es_ES)' (#14) from Babib3l/Ryubing:ryujinx-Fr-Es-Translations into master
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/14
2026-04-15 20:28:26 +00:00
Babib3l 9f88d68268 fix: drop stale GitLab locale rebase leftovers 2026-04-14 00:27:54 +02:00
Babib3l fe685c3f8f Rebase locale updates for GitLab and FR/ES translations 2026-04-14 00:27:46 +02:00
GreemDev 2edc165e26 chore: post-migration cleanup 2026-04-13 00:51:10 -05:00
ryuadmin fa7cb22240 fix: probably gonna be chasing these down for a while 2026-04-12 20:55:02 +00:00
greem c5b4add186 Maybe fix the labeler? 2026-04-12 17:59:20 +00:00
greem 0079e0bfa5 Add distribution/macos/create_macos_pr_build_ava.sh (#3)
Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/3
2026-04-12 03:11:13 +00:00
Shyanne 25b70e05d7 Update BiquadFilterEffectParameterTests.cs 2026-04-11 22:34:03 -04:00
ryuadmin 78eb95733a Update README.md 2026-04-12 00:17:13 +00:00
ryuadmin 17a768a5df Update .forgejo/workflows/canary.yml 2026-04-11 23:39:44 +00:00
ryuadmin 339cddd0e2 fix: extract-and-run AppImageTool in CI 2026-04-11 23:33:46 +00:00
ryuadmin 66d9bc5a35 how did this happen lol 2026-04-11 23:22:45 +00:00
ryuadmin 3e393449aa fix nuget sources post-migration 2026-04-11 23:16:35 +00:00
GreemDev 744c41937b feature: Forgejo Actions 2026-04-11 18:10:31 -05:00
Ryujinx Administrator ecd1c1240c bump to GLI 2.0.31 (uses legacy.git.ryujinx.app) 2026-04-02 01:23:03 -05:00
LotP 3ad4d4a692 Accurate Service Names (ryubing/ryujinx!296)
See merge request ryubing/ryujinx!296
2026-04-01 11:08:10 -05:00
Ryujinx Administrator 6fe7fb8dcb [ci skip] Lock GLI to v2.0.30 in Stable workflow 2026-03-28 22:44:55 -05:00
Ryujinx Administrator fc357d3ba4 [ci skip] Lock GLI to v2.0.30 in Canary workflow 2026-03-28 22:43:58 -05:00
yeager 32ee806070 Updated Swedish translation (ryubing/ryujinx!289)
See merge request ryubing/ryujinx!289
2026-03-18 00:13:47 -05:00
sh0inx 4e81a4c2f4 [HLE] Added "null" check for isAtRest (ryubing/ryujinx!287)
See merge request ryubing/ryujinx!287
2026-03-15 09:46:36 -05:00
Coxxs 9cae62096a HLE: Implement CreateContextForSystem (ryubing/ryujinx!285)
See merge request ryubing/ryujinx!285
2026-03-14 13:57:49 -05:00
BowedCascade 648b609ebb Add restart emulation command (ryubing/ryujinx!276)
See merge request ryubing/ryujinx!276
2026-03-14 13:56:20 -05:00
BowedCascade 5ae86fc493 Fix keys file overwrite on installation and method name typo (ryubing/ryujinx!268)
See merge request ryubing/ryujinx!268
2026-03-14 13:52:58 -05:00
KeatonTheBot 6f90e47a73 UI: Restore FluentAvaloniaUI package, disable animations on app initialization (ryubing/ryujinx!256)
See merge request ryubing/ryujinx!256
2026-03-14 13:48:59 -05:00
sh0inx ac5f9857e2 HLE: Implement IHidServer IsSixAxisSensorAtRest (ryubing/ryujinx!228)
See merge request ryubing/ryujinx!228
2026-03-14 13:25:55 -05:00
KeatonTheBot 4b42087bd4 Linux: Fix file picker not launching from disabling core dumps (ryubing/ryujinx!249)
See merge request ryubing/ryujinx!249
2026-03-06 19:04:42 -06:00
EscoDev 80cbf5d1fc Fix incorrect save button locale in user editor (ryubing/ryujinx!280)
See merge request ryubing/ryujinx!280
2026-03-01 15:48:29 -06:00
LotP cc6d2dc162 fix nacp language buffer (ryubing/ryujinx!281)
See merge request ryubing/ryujinx!281
2026-02-25 13:58:31 -06:00
Daenorth 4ebc318da5 Add new RPC images (ryubing/ryujinx!279)
See merge request ryubing/ryujinx!279
2026-02-23 20:57:19 -06:00
KeatonTheBot 00dad0a5e2 Windows ARM (win-arm64) build now launches with trimming (ryubing/ryujinx!277)
See merge request ryubing/ryujinx!277
2026-02-21 20:10:22 -06:00
Joshua de Reeper b70e2e44cb NFC Mifare Manager (ryubing/ryujinx!270)
See merge request ryubing/ryujinx!270
2026-02-21 05:45:00 -06:00
sh0inx 012d1d6886 Fixed spelling in LocalesValidationTask.cs (ryubing/ryujinx!269)
See merge request ryubing/ryujinx!269
2026-02-21 04:37:02 -06:00
BowedCascade d1205dc95d Fix backslash key not mappable in controller settings (ryubing/ryujinx!265)
See merge request ryubing/ryujinx!265
2026-02-18 18:13:15 -06:00
Awesomeangotti 6f95172bb6 Compatability Data Update (ryubing/ryujinx!264)
See merge request ryubing/ryujinx!264
2026-02-17 19:24:01 -06:00
Princess Piplup 8208d43d9e compatiblity/2026-02-17 (ryubing/ryujinx!263)
See merge request ryubing/ryujinx!263
2026-02-17 18:57:50 -06:00
shinyoyo 1260f93aaf Updated ‌Simplified Chinese‌ translation. (ryubing/ryujinx!260)
See merge request ryubing/ryujinx!260
2026-02-09 01:07:22 -06:00
LotP 1b3bf1473d Fix Dual Joy-Con driver and InputView (ryubing/ryujinx!259)
See merge request ryubing/ryujinx!259
2026-01-31 23:12:29 -06:00
LotP 081cdcab0c remap joy-cons (ryubing/ryujinx!258)
See merge request ryubing/ryujinx!258
2026-01-31 17:58:31 -06:00
Coxxs 922775664c audio: Fix crash due to invalid Splitter size (ryubing/ryujinx!257)
See merge request ryubing/ryujinx!257
2026-01-31 11:22:14 -06:00
sh0inx 478b66fd49 HLE: Stubbed IUserLocalCommuniationService SetProtocol (106) (ryubing/ryujinx!253)
See merge request ryubing/ryujinx!253
2026-01-30 20:48:41 -06:00
Coxxs a16a072155 HLE: Implement 10106 and 10107 in IPrepoService (ryubing/ryujinx!254)
See merge request ryubing/ryujinx!254
2026-01-29 13:45:35 -06:00
Babib3l a4a0fcd4da General translations updates + fixes (ryubing/ryujinx!248)
See merge request ryubing/ryujinx!248
2026-01-28 07:01:39 -06:00
GreemDev cc5b60bbca fix AppleHardwareDeviceDriver.IsSupported (no fancy check is needed; it's on any macOS version 10.5 (Leopard) and above) 2026-01-28 00:05:02 -06:00
GreemDev 5ed94c365b add a stack trace for the catch branch of AppleHardwareDeviceDriver.IsSupported 2026-01-27 17:52:45 -06:00
GreemDev fef93a453a [ci skip] replace all usages of IntPtr with nint 2026-01-27 17:41:46 -06:00
GreemDev 82074eb191 audio backend projects code cleanup 2026-01-27 17:34:51 -06:00
GreemDev bd388cf4f9 Expose AudioToolkit in UI 2026-01-27 17:28:59 -06:00
Stossy11 d271abe19a [ci skip] Add macOS native Audio Backend (ryubing/ryujinx!252)
See merge request ryubing/ryujinx!252

THIS IS CURRENTLY NOT EXPOSED BY THE UI OR HANDLED BY THE EMULATOR. Expect a commit later to add it to configs, UI, etc.
2026-01-27 17:03:59 -06:00
Hack茶ん c154f66f26 Update Korean translation (ryubing/ryujinx!251)
See merge request ryubing/ryujinx!251
2026-01-21 18:23:34 -06:00
GreemDev f556e8b8fb add offline update server catch branch 2026-01-20 13:19:44 -06:00
Babib3l 99feaafbe6 French and Spanish Translations updates on RenderDoc (ryubing/ryujinx!246)
See merge request ryubing/ryujinx!246
2026-01-03 07:23:11 -06:00
GreemDev fa55608587 RenderDoc API support (ryubing/ryujinx!242)
See merge request ryubing/ryujinx!242
2026-01-01 00:10:21 -06:00
LotP 4c64300576 fix new locale files data loading (ryubing/ryujinx!245)
See merge request ryubing/ryujinx!245
2025-12-31 20:21:35 -06:00
LotP 0a3db19b28 fix language switching 2 (ryubing/ryujinx!244)
See merge request ryubing/ryujinx!244
2025-12-31 10:30:35 -06:00
LotP 453b246faa fix (ryubing/ryujinx!243)
See merge request ryubing/ryujinx!243
2025-12-31 09:15:40 -06:00
LotP 45193dcc8d Fractured Locales Support (ryubing/ryujinx!238)
See merge request ryubing/ryujinx!238
2025-12-27 14:07:56 -06:00
GreemDev 9ebf444644 [ci skip] Code comment 2025-12-25 23:48:10 -06:00
GreemDev f585b36263 Use new retry flag for uploading built artifacts in CI
(I'm tired of the GitLab randomly HTTP 500ing and causing the entire CI to fail)
2025-12-23 02:16:01 -06:00
GreemDev a96f20dca5 Removed TypedStringEnumConverter; it exists in .NET now.
As per the remark XMLdoc on the type: Get rid of this converter if dotnet supports similar functionality out of the box.
2025-12-23 01:42:28 -06:00
GreemDev 1e1bcb4a5b storing commit string in github output causes weird CI failures
so let's just not bother, it didn't show anything more than the UI already did anyways
2025-12-23 00:02:02 -06:00
Coxxs ca76bacd22 gdb: add monitor get mapping (ryubing/ryujinx!215)
See merge request ryubing/ryujinx!215
2025-12-21 22:34:20 -06:00
GreemDev 66f339d265 CI 2.0 (ryubing/ryujinx!237)
See merge request ryubing/ryujinx!237
2025-12-18 22:56:50 -06:00
GreemDev 6cdbdfd329 [ci skip] Pin GitLabCli to 1.4.1 in CI scripts so I can test v2.0 2025-12-18 03:27:43 -06:00
GreemDev 9f817d60d5 oops 2025-12-18 03:05:42 -06:00
GreemDev 5cffc95be6 Make all OSes build on Linux (7zip has a linux version) 2025-12-18 03:01:22 -06:00
LotP 2c0977f6b3 fix pre-action crash (ryubing/ryujinx!236)
See merge request ryubing/ryujinx!236
2025-12-12 14:28:54 -06:00
LotP 3a593b6084 Fix kaddressarbiter crash (ryubing/ryujinx!235)
See merge request ryubing/ryujinx!235
2025-12-06 20:16:43 -06:00
LotP c3155fcadb Memory Changes 3.2 (ryubing/ryujinx!234)
See merge request ryubing/ryujinx!234
2025-12-06 17:19:19 -06:00
LotP fd7554425a Update BiquadFilterEffectParameter2.cs (ryubing/ryujinx!233)
See merge request ryubing/ryujinx!233
2025-12-05 07:53:09 -06:00
Princess Piplup 52700f71dc Fix SaveCurrentScreenshot (ryubing/ryujinx!230)
See merge request ryubing/ryujinx!230
2025-12-04 17:35:17 -06:00
Alula b018a44ff0 Disable coredumps by default on Linux + other minor fixes (ryubing/ryujinx!204)
See merge request ryubing/ryujinx!204
2025-12-04 17:32:26 -06:00
GreemDev d522bfef62 fix: Force the key install helper to delete key files before copying (not sure why the overwrite boolean does nothing for File.Copy) 2025-12-02 21:23:06 -06:00
KeatonTheBot 39f55b2af3 cpu: Protect against stack overflow caused by deep recursion (ryubing/ryujinx!111)
See merge request ryubing/ryujinx!111
2025-11-19 20:50:23 -06:00
Goodfeat 6126e3dc1e fix: UI: Custom setting was reset to global when changed during gameplay. (ryubing/ryujinx!164)
See merge request ryubing/ryujinx!164
2025-11-19 20:33:35 -06:00
GreemDev e1c829f91d We no longer offer a dedicated headless build. This script could have been deleted like a year ago lol 2025-11-17 22:47:23 -06:00
Babib3l 6c7dc7646b Translation updates (ryubing/ryujinx!221)
See merge request ryubing/ryujinx!221
2025-11-17 22:34:54 -06:00
GreemDev 862a686c5e UI: Improve "Show Changelog" button in the updater
Now it no longer causes the dialog to disappear (which then promptly re-appears so you can click yes/no to accept/deny the update)
2025-11-17 00:15:58 -06:00
GreemDev e8751e1c40 more C# 14 partial properties 2025-11-16 19:14:26 -06:00
GreemDev 09748b140a Use the new C# 14 null propagation setter 2025-11-16 19:14:26 -06:00
Coxxs 456db46065 Stub IWriterForApplication: 0 (CreateContextRegistrar) (ryubing/ryujinx!183)
See merge request ryubing/ryujinx!183
2025-11-16 18:24:41 -06:00
GreemDev 7b39ff36c0 docs: compat: ZA LDN works and has for a while 2025-11-16 00:30:37 -06:00
Maki 10476771d3 fix: detect face button layout for gamepads (ryubing/ryujinx!219)
See merge request ryubing/ryujinx!219
2025-11-14 12:51:53 -06:00
Maki c5082ac85a fix: make controller GUIDs match old SDL2 GUIDs (ryubing/ryujinx!218)
See merge request ryubing/ryujinx!218
2025-11-14 11:52:42 -06:00
GreemDev 5e86ad83cc feature: macOS Liquid Glass dynamic icon
No more squircle jail! Thanks @transistor.exe in the Ryubing discord for dropping the asset files for this to happen.
2025-11-13 20:47:05 -06:00
Coxxs 1baaa1c365 Preserve and rename the configuration file when it is deemed invalid (ryubing/ryujinx!216)
See merge request ryubing/ryujinx!216
2025-11-12 08:23:05 -06:00
LotP e8225ce7aa Memory changes 3.1 (ryubing/ryujinx!212)
See merge request ryubing/ryujinx!212
2025-11-11 13:24:57 -06:00
GreemDev 6b814fb973 feature: .NET 10 (ryubing/ryujinx!214)
See merge request ryubing/ryujinx!214
2025-11-11 12:55:36 -06:00
GreemDev 49c70efdd5 UI: App Library: automatically remove nonexistent autoload/game dirs from the configuration upon load. 2025-11-10 19:14:29 -06:00
Babib3l 4677b749b1 fr_FR and es_ES small translation update (ryubing/ryujinx!172)
See merge request ryubing/ryujinx!172
2025-11-10 17:35:17 -06:00
GreemDev ed32cd6999 fix nested project error when building 2025-11-10 13:32:40 -06:00
GreemDev d7e2d4534a [ci skip] fix new SDL projects showing up in an src folder in the IDE (idk how I didn't see that before) 2025-11-10 00:12:39 -06:00
LotP 3c3e14c819 Update .gitattributes (ryubing/ryujinx!213)
See merge request ryubing/ryujinx!213
2025-11-09 19:03:01 -06:00
Godzilaa4 dd9ba05e36 Updated PT_BR translation (ryubing/ryujinx!208)
See merge request ryubing/ryujinx!208
2025-11-09 14:36:44 -06:00
Maki a49822470c fix: crash when connecting a joycon (ryubing/ryujinx!211)
See merge request ryubing/ryujinx!211
2025-11-09 13:35:16 -06:00
GreemDev 58be57bf73 chore: [ci skip] rename InputElement_OnGotFocus/OnLostFocus to fit what it's listening to better 2025-11-08 03:21:54 -06:00
shinyoyo 17d5d6e65a Updated Simplified Chinese translation. (ryubing/ryujinx!209)
See merge request ryubing/ryujinx!209
2025-11-08 03:16:17 -06:00
GreemDev 1dac06e394 misc: [ci skip] remove duplicate log when setting audio backend 2025-11-08 00:18:23 -06:00
GreemDev ed89ffd3f8 fix: add back compat functionality to the AudioBackend enum as well, and add missing migration comment from config version 70 2025-11-07 22:23:13 -06:00
GreemDev 844d7a9cfe fix: broken arrow in log 2025-11-07 22:14:35 -06:00
GreemDev cf6acba416 chore: remove debug logging from SDL update 2025-11-07 20:44:25 -06:00
GreemDev 5a9d5ee664 chore: [ci skip] Add more misc logging similar to the "loading content archive" line for loading a base game dump, to updates and DLC. 2025-11-07 15:14:43 -06:00
GreemDev bbad867319 add back the SDL2 enum for back compatibility so existing configs are not entirely reset upon loading the version with SDL3 2025-11-07 15:02:29 -06:00
Maki a8ace3d23c chore: SDL3 (ryubing/ryujinx!207)
See merge request ryubing/ryujinx!207
2025-11-07 14:43:48 -06:00
GreemDev 13b69aedfe idea: Catch HorizonResultExceptions of result type ResultFsNonRealDataVerificationFailed
- log a more clear error message as to what 2002-4604 means for the user
- and return the result from the FileSystemProxy IStorage to pass the invalid data handling to the game instead of stopping emulation there and then.
  - this may be changed. i'm pretty sure this error is only thrown when you actually have integrity checking enabled in settings, so maybe it crashing with a friendler message is more desired than potentially continuing execution. we will see
2025-11-06 23:40:16 -06:00
GreemDev 234f7ca298 Fix socket closing on shutdown
Previously, sockets were only ever closed when the game specifically requested it.

Thanks @comex on GitHub for the patch submitted via the issues page.

Co-Authored-By: comex <47517+comex@users.noreply.github.com>
2025-11-04 20:48:36 -06:00
LotP 2c9b193018 Fix compiler warning (ryubing/ryujinx!203)
See merge request ryubing/ryujinx!203
2025-10-30 21:09:24 -05:00
LotP 92b61f9d73 Memory changes 3 (ryubing/ryujinx!202)
See merge request ryubing/ryujinx!202
2025-10-30 20:55:58 -05:00
WilliamWsyHK ab7aeee67b Add newly translated items for zh-TW (ryubing/ryujinx!200)
See merge request ryubing/ryujinx!200
2025-10-29 18:02:54 -05:00
Hack茶ん b991fe05d9 Update Korean translation (ryubing/ryujinx!201)
See merge request ryubing/ryujinx!201
2025-10-29 18:01:07 -05:00
GreemDev 3140ec5f05 misc: Also show an error message box and quit if the process was launched with administrator rights. 2025-10-28 20:57:03 -05:00
GreemDev 40f709ff55 misc: Add a launch guard for program files (the emulator does not work properly when put here as it does not require admin) 2025-10-28 19:04:25 -05:00
GreemDev 53aae9b584 hle: Throw a ServiceNotImplementedException instead of ArgumentException if any number arguments provided to ILibraryAppletAccessor are nonzero 2025-10-28 15:37:59 -05:00
LotP ff9a75f895 ILibraryAppletAccessor:90 tweak (ryubing/ryujinx!199)
See merge request ryubing/ryujinx!199
2025-10-28 13:37:20 -05:00
sh0inx 3394736b07 HLE: Stub ILibraryAppletAccessor Unknown90 (ryubing/ryujinx!197)
See merge request ryubing/ryujinx!197
2025-10-27 12:48:17 -05:00
yeager b06846aa5e Updated Swedish translation (with updated branch) (ryubing/ryujinx!156)
See merge request ryubing/ryujinx!156
2025-10-27 02:47:59 -05:00
LotP c94ffaa00a gpu allocation optimizations (ryubing/ryujinx!195)
See merge request ryubing/ryujinx!195
2025-10-26 14:14:51 -05:00
GreemDev 718652599d UI: Prevent null ldn game model arrays from entering the SetEntries method 2025-10-26 12:51:08 -05:00
GreemDev c8959afa3d chore: Overall code cleanup
Update NuGet packages, fix version string in plist for macOS
2025-10-26 01:22:20 -05:00
Coxxs 7175da8621 UI: [ci skip] Show notifications for options that may cause side effects (ryubing/ryujinx!193)
See merge request ryubing/ryujinx!193
2025-10-26 00:29:38 -05:00
LotP fd07453887 audio effects fix and audio object pooling (ryubing/ryujinx!192)
See merge request ryubing/ryujinx!192
2025-10-25 21:07:10 -05:00
KeatonTheBot c6bc77e4bf UI: Update Avalonia to 11.3.6, FluentAvalonia to 2.4.0 (ryubing/ryujinx!118)
See merge request ryubing/ryujinx!118
2025-10-25 00:29:51 -05:00
GreemDev 49cbe4b328 UI: fix "Enable UI logs" not being persisted upon relaunch
Closes ryujinx#5

(it was saved, just not loaded back)
2025-10-24 18:25:29 -05:00
Coxxs 6fd67cdcb7 Fix application list loads slowly when RyuLDN is enabled (ryubing/ryujinx!191)
See merge request ryubing/ryujinx!191
2025-10-24 10:29:33 -05:00
LotP 5ced2bf764 fix wrong bit value (ryubing/ryujinx!190)
See merge request ryubing/ryujinx!190
2025-10-24 10:10:31 -05:00
GreemDev 67e97d1a1a gdb: YACC (yet another cleanup commit) 2025-10-23 19:11:58 -05:00
Coxxs 09d8a411c8 Do not RecurseSubdirectories when finding the icon fallback (ryubing/ryujinx!189)
See merge request ryubing/ryujinx!189
2025-10-23 15:17:29 -05:00
Coxxs 93516df7e6 Skip directories when finding the icon fallback (ryubing/ryujinx!188)
See merge request ryubing/ryujinx!188
2025-10-23 14:56:39 -05:00
Coxxs 0c165c3f62 Move ProcessInfo and Minidump to HleProcessDebugger (ryubing/ryujinx!187)
See merge request ryubing/ryujinx!187
2025-10-22 16:20:13 -05:00
GreemDev 91da244c02 gdb: some more cleanups 2025-10-22 15:04:03 -05:00
GreemDev 904d4a7eb0 gdb: Make waiting for a process to start more forgiving (200ms per poll 10x -> 500ms) 2025-10-22 01:07:19 -05:00
Coxxs 1248a054de gdb: Abort if unable to start GDB server (ryubing/ryujinx!186)
See merge request ryubing/ryujinx!186
2025-10-21 23:16:18 -05:00
GreemDev 1bb2af84ce gdb: Catch SocketException from TcpListener#Start 2025-10-21 22:15:14 -05:00
GreemDev 886981004d chore: I thought I removed these months ago lol 2025-10-21 20:33:35 -05:00
Coxxs e551dda17e gdb: fix IsProcess32Bit throws exception if called too early (ryubing/ryujinx!185)
See merge request ryubing/ryujinx!185
2025-10-20 21:35:55 -05:00
GreemDev ed67535227 chore: [si skip] fix in-code typos 2025-10-20 21:32:23 -05:00
GreemDev 7d65611b96 gdb: [ci skip] just had a brain wave 2025-10-20 21:20:41 -05:00
GreemDev 71eb844dd8 gdb: dynamic rcmd system & more cleanups 2025-10-20 21:18:16 -05:00
Coxxs a0e5edf8ba gdb: Support qAttached; Add missing ReplyOK when detach (ryubing/ryujinx!184)
See merge request ryubing/ryujinx!184
2025-10-20 21:12:16 -05:00
Coxxs 6541ad0726 Implement IUserServiceCreator: 1 (CreateClientProcessMonitor) (ryubing/ryujinx!181)
See merge request ryubing/ryujinx!181
2025-10-20 19:14:42 -05:00
Coxxs 1c084373c9 Update LoadIdTokenCache for 19.0.0+ (ryubing/ryujinx!182)
See merge request ryubing/ryujinx!182
2025-10-20 17:37:16 -05:00
GreemDev 5b3b907fd2 [ci skip] chore: Fix usage of var 2025-10-20 02:42:57 -05:00
Hack茶ん f46577af58 [ci skip] Update Korean translation (ryubing/ryujinx!174)
See merge request ryubing/ryujinx!174
2025-10-19 17:43:34 -05:00
Xam 0e218754f5 Fix duplicate volume and mode change events in AppHost (ryubing/ryujinx!176)
See merge request ryubing/ryujinx!176
2025-10-19 17:41:21 -05:00
Xam 0c6d4a07b9 Input: AvaloniaMouseDriver: fix native touch inputs (ryubing/ryujinx!178)
See merge request ryubing/ryujinx!178
2025-10-19 17:33:24 -05:00
Xam 8714b010f6 Horizon: Audio: HwopusIpcServer: fix random crashes regression in Pokemon Quest (ryubing/ryujinx!175)
See merge request ryubing/ryujinx!175
2025-10-19 17:17:46 -05:00
GreemDev d1d4a735a6 docs: use the real repo in COMPILING.md 2025-10-19 14:48:41 -05:00
GreemDev 247e2e03d6 gdb: More cleanup changes
- Move the message handler into its debugger class part,
- Move all message types into one file and collapse 3 of the ones with no data into a generic, stateless message with a single property being its type,
- Add an Fpscr helper property on IExecutionContext along with a comment about what Fpscr is (similar to the other registers in there)
- Moved the Rcmd helpers (such as GetRegisters, GetMinidump, etc) into a dedicated Debugger class part,
- Fixed the double-collection (ToArray being called twice) in GetThreadUids & GetThread in KProcess
2025-10-19 04:26:12 -05:00
GreemDev 6058af5119 chore: cleanup unused usings in Ryujinx.HLE 2025-10-19 04:17:02 -05:00
GreemDev e11eff0f41 gdb: more cleanups
- convert GdbRegisters utilities into extensions on IExecutionContext

- add a Write/Read Register helper on Debugger that handles 32/64 bit instead of doing that for every usage of register reading/writing
2025-10-18 03:01:21 -05:00
GreemDev 2a2ab523cb gdb: Code cleanup pass #2
Moved the reply functionality into the command processor, move the main debugger thread into a dedicated class part, and more
2025-10-17 00:09:51 -05:00
Coxxs 8e941e4a8f gdb: Cleanup (ryubing/ryujinx!171)
See merge request ryubing/ryujinx!171
2025-10-16 19:53:51 -05:00
Hack茶ん 9aacf9b37b Update Korean translation (ryubing/ryujinx!168)
See merge request ryubing/ryujinx!168
2025-10-16 19:45:14 -05:00
Bluey Enjoyer 2b159dbca8 AHHHHHHHHHHHHHH (ryubing/ryujinx!170)
See merge request ryubing/ryujinx!170
2025-10-16 19:43:56 -05:00
GreemDev c33a97f01c gdb: Cleanup Debugger.cs
by moving the GDB command handlers and command processor out of the class and into their own
2025-10-16 17:32:04 -05:00
GreemDev fdbdb05cb5 misc: Update Ryujinx.LibHac 2025-10-16 12:23:15 -05:00
Coxxs 7268acbfb4 gdb: Do not skip CheckInterrupt when gdb stub is enabled (ryubing/ryujinx!169)
See merge request ryubing/ryujinx!169
2025-10-16 07:49:41 -05:00
GreemDev d4107ac05f UI: Add a startup flag to ignore new Amiibo file updates, useful for testing changes you intend on committing to Ryubing/Nfc.
Flag is `--local-only-amiibo`
2025-10-15 21:51:13 -05:00
LotP 1d409f7127 12 GiB heap support (ryubing/ryujinx!166)
See merge request ryubing/ryujinx!166
2025-10-15 15:37:13 -05:00
GreemDev 2434c55266 UI: Updater: Fix "No" opening the changelog and "Show Changelog" doing nothing (aka doing what "No" should be doing) 2025-10-14 18:38:56 -05:00
GreemDev 99126603ba UI: swap the UI reset checkbox text back to a sentence instead of title cased 2025-10-14 16:12:11 -05:00
GreemDev a62716002e chore: move HasPtcCacheFiles & HasShaderCacheFiles into ApplicationData, instead of having the weird static dependency helpers 2025-10-14 16:09:51 -05:00
GreemDev 47559cd311 Revert game list rounding
The selected highlight was bugged

https://fs.ryujinx.app/40cl4Ih9RiOWLVi7e4lJsw.png
2025-10-14 15:59:02 -05:00
Coxxs 51584a083b Flush the error log before exit (ryubing/ryujinx!163)
See merge request ryubing/ryujinx!163
2025-10-13 17:40:15 -05:00
Coxxs ceec9617ef gdb: Fix the crash that occurs when GDB is connected early (ryubing/ryujinx!159)
See merge request ryubing/ryujinx!159
2025-10-11 19:06:14 -05:00
Coxxs 1865be47cf gdb: Add monitor minidump command (ryubing/ryujinx!158)
See merge request ryubing/ryujinx!158
2025-10-11 10:01:30 -05:00
LotP ef9810582a Sync thread name on Schedule (ryubing/ryujinx!157)
See merge request ryubing/ryujinx!157
2025-10-11 07:47:45 -05:00
KeatonTheBot 13878acdb2 Avoid lookup of invalid textures if pool did not change (ryubing/ryujinx!113)
See merge request ryubing/ryujinx!113
2025-10-11 02:56:13 -05:00
LotP e2143d43bc SDK20 and REV15 support (ryubing/ryujinx!50)
See merge request ryubing/ryujinx!50
2025-10-11 02:11:39 -05:00
Astell 4444ecae41 fix super mario galaxy 0x25E00040 error (ryubing/ryujinx!155)
See merge request ryubing/ryujinx!155
2025-10-10 17:37:42 -05:00
Neo 4f5a236c21 UI: Settings → Interface Tab + General Settings (ryubing/ryujinx!154)
See merge request ryubing/ryujinx!154
2025-10-09 16:32:33 -05:00
Lorenzo db31ff15c7 it_IT translation update (ryubing/ryujinx!148)
See merge request ryubing/ryujinx!148
2025-10-06 20:22:15 -05:00
Bluey Enjoyer e70cd08c9a cleanup work for my last MR/PR (ryubing/ryujinx!153)
See merge request ryubing/ryujinx!153
2025-10-04 13:07:31 -05:00
Neo 60b9723df4 UI: Main Window + General (ryubing/ryujinx!150)
See merge request ryubing/ryujinx!150
2025-10-03 16:02:37 -05:00
KeatonTheBot 1900924a78 Fix push descriptors bugfix logic for Intel Arc on Linux 2025-10-01 21:58:22 -05:00
GreemDev 5fb0b5e7ec vulkan: Intel Arc on Linux also has the push descriptors bug. 2025-10-01 13:03:22 -05:00
Bluey Enjoyer 8d0e28ed9d New RPC images and compat updates (ryubing/ryujinx!151)
See merge request ryubing/ryujinx!151
2025-10-01 12:29:27 -05:00
Babib3l a4eafd01f5 es_ES and fr_FR translation updates (ryubing/ryujinx!129)
See merge request ryubing/ryujinx!129
2025-09-28 14:58:32 -05:00
在中国的泰国青年_ f55aa87ab9 update thai language additional (ryubing/ryujinx!108)
See merge request ryubing/ryujinx!108
2025-09-27 23:27:56 -05:00
Mcost45 bb4f8d8749 Include SL/SR default bindings for single joycons (ryubing/ryujinx!149)
See merge request ryubing/ryujinx!149
2025-09-22 14:23:40 -05:00
Alula a6cb681f10 feat: resolve real module names in HLE debugger (ryubing/ryujinx!147)
See merge request ryubing/ryujinx!147
2025-09-20 07:05:44 -05:00
GreemDev 00ff3e6b1b chore: CI: oops missed another zsync reference 2025-09-14 01:35:05 -05:00
GreemDev 12510a5396 chore: CI: actually remove zsync files this time
I'm blind, the previous commit failed CI since it still thought they were being generated
2025-09-14 00:37:30 -05:00
GreemDev ea30a0ed24 chore: ci: Remove .zsync 2025-09-14 00:26:09 -05:00
Coxxs df40a69872 Fix headless mode (ryubing/ryujinx!146)
See merge request ryubing/ryujinx!146
2025-09-10 11:43:50 -05:00
LotP b000f91dad Memory changes 2.2.1 (ryubing/ryujinx!144)
See merge request ryubing/ryujinx!144
2025-09-06 13:51:08 -05:00
LotP a60b2a0ba3 Memory changes 2.2 (ryubing/ryujinx!143)
See merge request ryubing/ryujinx!143
2025-09-06 11:10:55 -05:00
Hack茶ん 4c9b48b754 Update Korean translation (ryubing/ryujinx!141)
See merge request ryubing/ryujinx!141
2025-09-05 13:06:59 -05:00
Neo 3bd7d5904e Compat: New Entries + Minor Adjustments (ryubing/ryujinx!140)
See merge request ryubing/ryujinx!140
2025-09-05 03:50:49 -05:00
GreemDev 23eb9a3043 improvement: Make the updater log a special error message in some cases
specifically about potentially not being connected to the internet on a connection error or name resolution error
2025-09-05 03:12:15 -05:00
GreemDev 931ec44406 [ci skip] fix: <Reset> text in Pokemon Scarlet/Violet play report rich presence 2025-09-05 03:02:16 -05:00
GreemDev d68efa98ba [ci skip] Update NuGet packages 2025-09-05 02:25:05 -05:00
GreemDev ded76801d1 removal: Installing keys from a zip
Also cleaned up a bit
2025-09-04 19:04:50 -05:00
GreemDev 6084df7473 Silksong compatibility entry and RPC image 2025-09-04 16:23:38 -05:00
LotP1 f3953c6039 Fix a crash when no controller is connected 2025-09-04 16:18:07 -05:00
LotP1 91f5247e7f add missing field 2025-09-04 16:17:59 -05:00
LotP1 5658402c6b fix spelling 2025-09-04 16:17:53 -05:00
LotP1 1b2c93e188 Add version comment 2025-09-04 16:14:38 -05:00
LotP1 9e599ff325 remove stub 2025-09-04 16:14:18 -05:00
LotP1 7a5f430b59 hle: Basic event handle implementation for IApplicationFunctions 210
Lets Hollow Knight: Silksong boot.
2025-09-04 16:14:03 -05:00
shinyoyo 1e340ce2f3 Update Simplified Chinese translation. (ryubing/ryujinx!139)
See merge request ryubing/ryujinx!139
2025-09-03 15:49:14 -05:00
WilliamWsyHK dbb4e63e1e Update zh-TW translation (ryubing/ryujinx!130)
See merge request ryubing/ryujinx!130
2025-09-03 03:28:37 -05:00
Hack茶ん d00ab52fa2 Update Korean translation (ryubing/ryujinx!138)
See merge request ryubing/ryujinx!138
2025-09-03 03:26:33 -05:00
VewDev 959af3613d doc: update documentation for Shared property in Switch class (ryubing/ryujinx!137)
See merge request ryubing/ryujinx!137
2025-09-03 03:25:43 -05:00
GreemDev 3309fb2351 chore: Replace dead URLs in the changelog with archive.org links (that I could find) 2025-09-03 00:49:30 -05:00
GreemDev e1e8628a6f chore: remove BuildAndPushLibraries.sh 2025-09-03 00:25:08 -05:00
Neo 3969191605 UI: Menubar & Game Context Menu Updates (ryubing/ryujinx!134)
See merge request ryubing/ryujinx!134
2025-09-02 03:32:06 -05:00
Hack茶ん 07c7b39053 Update Korean translation (ryubing/ryujinx!136)
See merge request ryubing/ryujinx!136
2025-09-01 17:57:44 -05:00
Hack茶ん 053efaa414 Update Korean translation (ryubing/ryujinx!135)
See merge request ryubing/ryujinx!135
2025-09-01 01:36:27 -05:00
GreemDev 56e6339553 hle: cheats: Prevent NullRef and throw a TamperCompilationException instead
for null base instruction byte arrays on the current block in EndConditionalBlock
2025-08-31 23:06:42 -05:00
shinyoyo 042362ee2b Update Simplified Chinese translation. (ryubing/ryujinx!133)
See merge request ryubing/ryujinx!133
2025-08-30 22:40:05 -05:00
GreemDev 7347ee2212 [ci skip] chore: UI: Add localization key for LDN Game Viewer filters dropdown button heading 2025-08-30 22:13:38 -05:00
LotP 01a9b636af Memory changes 2.1 (ryubing/ryujinx!132)
See merge request ryubing/ryujinx!132
2025-08-30 20:30:17 -05:00
GreemDev 6e47d8548c feature: UI: LDN Games Viewer
This window can be accessed via "Help" menu in the title bar.
This menu's data is synced with the in-app-list LDN game data, and that has been modified to hide unjoinable games (in-progress and/or private (needing a passphrase)). You can still see these games in the list.
2025-08-30 19:54:00 -05:00
GreemDev da340f5615 chore: remove redundant CloseWindow helper 2025-08-30 00:40:39 -05:00
GreemDev be249f7bdc chore: move NFC tags URL to SharedConstants.cs 2025-08-30 00:35:16 -05:00
GreemDev 462c93e1ff fix key number 5 locale 2025-08-28 20:32:48 -05:00
Babib3l 573a6f32fe nullify + update spanish and french translations (ryubing/ryujinx!125)
See merge request ryubing/ryujinx!125
2025-08-28 13:28:24 -05:00
GreemDev 7846f58cad [ci skip] chore: Change LDN server URL (it's the same server, just a more official URL) 2025-08-27 22:49:51 -05:00
GreemDev 0203065fed ui: fix: Missing "Loading" text when shader cache is disabled and PPTC doesn't trigger 2025-08-27 22:35:09 -05:00
shinyoyo 7319a2dafc Nullify & update Simplified Chinese translation. (ryubing/ryujinx!124)
See merge request ryubing/ryujinx!124
2025-08-27 00:41:47 -05:00
Hack茶ん f992735656 Nullify & Update Korean translation (ryubing/ryujinx!122)
See merge request ryubing/ryujinx!122
2025-08-27 00:40:11 -05:00
GreemDev 48b9f2ab93 docs: compat: High on Life: Menus 2025-08-26 20:12:36 -05:00
LotP 50ab108ee1 Memory Changes part 2 (ryubing/ryujinx!123)
See merge request ryubing/ryujinx!123
2025-08-25 17:44:15 -05:00
VewDev d499449f57 feat(ui): improve Amiibo selection UX (ryubing/ryujinx!121)
See merge request ryubing/ryujinx!121
2025-08-25 05:14:06 -05:00
GreemDev cd3c614021 fix: part 2: Resolve AppImage CI failures in Stable and Canary
This was done by adding the -n flag when running appimagetool.
Fix suggested by `settyness` on Discord.
2025-08-24 15:44:38 -05:00
GreemDev 5fa82bb1f5 fix: attempt at resolving AppImage CI failures 2025-08-24 15:35:11 -05:00
GreemDev 234cb99325 [ci skip] chore: minor nitpick: Use passed dlc IDs array instead of the field 2025-08-23 23:50:23 -05:00
GreemDev ab7914f235 input: ava: Rename timer interval constant
Also cut the delay after which scrolling is considered ended in half
2025-08-19 19:39:18 -05:00
MaxLastBreath 3df6b7c0f5 Fix Avalonia Native MouseWheel-Support (ryubing/ryujinx!116)
See merge request ryubing/ryujinx!116
2025-08-19 18:46:20 -05:00
ProIcons 37e81481c4 Fix nn::ec::detail::PurchasedProductInfo to return No purchase information... (ryubing/ryujinx!114)
See merge request ryubing/ryujinx!114
2025-08-17 04:52:20 -05:00
shinyoyo 4d8b799763 Updated Simplified Chinese translation. (ryubing/ryujinx!104)
See merge request ryubing/ryujinx!104
2025-08-16 19:18:39 -05:00
WilliamWsyHK cb786b7147 Update zh-TW translation after nullify locales to signify intention of using default en-US values (ryubing/ryujinx!85)
See merge request ryubing/ryujinx!85
2025-08-16 19:17:51 -05:00
Gab 2a308f50c0 Nullify french locales + updated translation (ryubing/ryujinx!87)
See merge request ryubing/ryujinx!87
2025-08-16 16:59:20 -05:00
Neo b51c5cead6 Nullify + Update Russian Locales (ryubing/ryujinx!103)
See merge request ryubing/ryujinx!103
2025-08-13 05:00:22 -05:00
GreemDev 461c1f5342 UI: compat list: fix squished search box 2025-08-13 04:08:28 -05:00
Neo cfea61b3a0 QUICK FIX: Compatibility Window Checkbox Spacing (ryubing/ryujinx!112)
See merge request ryubing/ryujinx!112
2025-08-13 03:53:58 -05:00
Neo ae2e9a73ab UI Updates Batch 2 (ryubing/ryujinx!105)
See merge request ryubing/ryujinx!105
2025-08-12 17:45:24 -05:00
GreemDev c6f22318a7 add an ASCII header at startup in the log 2025-08-11 18:06:53 -05:00
GreemDev dd5e1b99b1 remove localization entries for auto graphics backend 2025-08-11 18:00:10 -05:00
Hack茶ん c863ffd353 Update Korean translation (ryubing/ryujinx!107)
See merge request ryubing/ryujinx!107
2025-08-10 16:37:14 -05:00
LotP d6d089b81b Revert "Fix crash caused by VirtualRange mismatch (ryubing/ryujinx!109)" (ryubing/ryujinx!110)
See merge request ryubing/ryujinx!110
2025-08-09 18:41:36 -05:00
LotP c482b7a1c0 Fix crash caused by VirtualRange mismatch (ryubing/ryujinx!109)
See merge request ryubing/ryujinx!109
2025-08-09 17:46:29 -05:00
在中国的泰国青年_ 01e1cd4d5a update thai language in locales.json (ryubing/ryujinx!102)
See merge request ryubing/ryujinx!102
2025-08-08 04:34:56 -05:00
GreemDev bb06eb751b Revert "fix: Super Mario Party Jamboree audio renderer crashing"
This reverts commit c0c021c7a966e32ed39018f8ec00f9f373173b60.

This commit was useless, and submitted by a GDKchan-obsessed chronically online lunatic who has disrespected the maintainers of this fork due to petty disagreements of how we run our Discord server. This is my parting gift to you: Stay gone. I'd prefer this code the way it was, because then you didn't touch it.

For the record, this commit is literally useless. The behavioral outcome is functionally identical to before the commit.
2025-08-06 18:43:31 -05:00
LotP 5613d3f35d Memory Changes (ryubing/ryujinx!46)
See merge request ryubing/ryujinx!46
2025-08-06 15:57:08 -05:00
Coxxs 54d4d184f4 gdb: Improve stepping (ryubing/ryujinx!106)
See merge request ryubing/ryujinx!106
2025-08-05 14:51:51 -05:00
Coxxs d22756f1bd Add GDB Stub (ryubing/ryujinx!71)
See merge request ryubing/ryujinx!71
2025-08-04 20:45:15 -05:00
Neo 324f18aa5f Tooltip Fix Pt.4 (ryubing/ryujinx!101)
See merge request ryubing/ryujinx!101
2025-08-03 04:39:56 -05:00
Neo 31870707cf Tooltip Fix Pt.3 (ryubing/ryujinx!96)
See merge request ryubing/ryujinx!96
2025-08-02 20:30:54 -05:00
Hack茶ん fd6648e30a Update Korean translation (ryubing/ryujinx!100)
See merge request ryubing/ryujinx!100
2025-08-02 20:29:50 -05:00
Neo bc6be4e088 Other Tooltips Pt.2 (ryubing/ryujinx!95)
See merge request ryubing/ryujinx!95
2025-08-02 05:01:59 -05:00
Neo 64a6494d90 GameListContext Menu Tooltips (ryubing/ryujinx!94)
See merge request ryubing/ryujinx!94
2025-08-02 04:51:32 -05:00
Neo ddb8afa6f4 Edit compatibility.csv (ryubing/ryujinx!88)
See merge request ryubing/ryujinx!88
2025-08-02 04:33:29 -05:00
Neo c2f4118b1f Minor locales.json Adjustments (ryubing/ryujinx!91)
See merge request ryubing/ryujinx!91
2025-08-02 04:21:52 -05:00
GreemDev 47aa2c1513 Comment AppImage builds
It randomly started erroring in GitHub actions with exit code 8 but only sometimes, and I don't have the patience to debug it. I don't even use linux lol
2025-07-28 19:34:21 -05:00
LotP f3a2f59683 Nullify Locales (ryubing/ryujinx!83)
See merge request ryubing/ryujinx!83
2025-07-28 18:24:35 -05:00
Rondo 51bcb9e128 Changes to uk_UA (ryubing/ryujinx!84)
See merge request ryubing/ryujinx!84
2025-07-28 15:55:48 -05:00
Daenorth dce5f0eb55 Edit TileIDs.cs (ryubing/ryujinx!81)
See merge request ryubing/ryujinx!81
2025-07-24 13:04:22 -05:00
Daenorth f2eb3749f9 Edit compatibility.csv (ryubing/ryujinx!80)
See merge request ryubing/ryujinx!80
2025-07-24 06:48:56 -05:00
GreemDev 45b2e613cf Update Ryujinx.LibHac
This should fix crashes with mods that worked on Ryubing 1.3.1.

Thanks @cyphix!

https://git.ryujinx.app/ryubing/libhac/-/commit/e39169ab5053ff179b7fef38f624dfc608d2596c
2025-07-20 03:29:01 -05:00
Babib3l 932c480325 small translation update (ryubing/ryujinx!79)
See merge request ryubing/ryujinx!79
2025-07-16 14:02:26 -05:00
Godzilaa4 0e24435414 Updated Brazilian Portuguese translation. (ryubing/ryujinx!77)
See merge request ryubing/ryujinx!77
2025-06-30 20:21:14 -05:00
Babib3l a5cf0482b4 Update to the french translation (ryubing/ryujinx!76)
See merge request ryubing/ryujinx!76
2025-06-30 13:45:29 -05:00
Neo 14e794af84 Update UI Icons (ryubing/ryujinx!75)
See merge request ryubing/ryujinx!75
2025-06-30 03:15:14 -05:00
GreemDev 29a02f4787 docs: compat: Risk of Rain Returns: Playable 2025-06-28 04:24:20 -05:00
GreemDev e2f9d84b64 docs: Latest update redirect URL
GitLab does not offer a web-page view of the latest release like GitHub does, this is only available on the REST API.
As such, I added this functionality to the update server since it keeps track of what the latest version is for both release channels anyways.
2025-06-28 04:21:04 -05:00
Neo 0cc94fdf37 Update French Translation (ryubing/ryujinx!67)
See merge request ryubing/ryujinx!67
2025-06-23 14:50:47 -05:00
GreemDev 74a9b94227 UI: Properly space total play time separator when loading bar is shown. 2025-06-20 23:06:16 -05:00
GreemDev d3208a4c44 UI: Don't show total play time if there is none. 2025-06-20 23:02:39 -05:00
Coxxs 5d136980a3 fix: UI deadlock when launching a game with "Trace Logs" enabled (ryubing/ryujinx!70)
See merge request ryubing/ryujinx!70
2025-06-19 20:51:11 -05:00
mqudsi 572ad1eac5 Exclude time spent with emulator paused from play time (ryubing/ryujinx!55)
See merge request ryubing/ryujinx!55
2025-06-19 16:33:10 -05:00
Coxxs 6bb2af0091 Implement CreateLibraryAppletEx in ILibraryAppletCreator (ryubing/ryujinx!69)
See merge request ryubing/ryujinx!69
2025-06-19 15:48:06 -05:00
WilliamWsyHK 534a194ed9 Correct typo on part of the character for word "server" (ryubing/ryujinx!68)
See merge request ryubing/ryujinx!68
2025-06-19 15:25:40 -05:00
GreemDev 331805791e infra: [ci skip] fix inconsistent namespaces from update library 2025-06-19 04:26:22 -05:00
GreemDev 6773406bb6 infra: Use Ryujinx.UpdateClient NuGet package for checking for updates.
Main benefit to this is sharing the C# model definitions from what the server returns and Ryujinx uses in-app without differences.
Additionally removed the GitHub API JSON models.
2025-06-19 04:18:33 -05:00
GreemDev 6226eadf55 docs: compat: The Legend of Nayuta: Boundless Trails: ingame (ryubing/ryujinx!59) 2025-06-18 14:31:08 -05:00
yeager b1cde5fd97 Updated Swedish translation (ryubing/ryujinx!66)
See merge request ryubing/ryujinx!66
2025-06-17 13:05:39 -05:00
Hack茶ん 39944b2063 Update Korean translation (ryubing/ryujinx!64)
See merge request ryubing/ryujinx!64
2025-06-17 03:21:30 -05:00
GreemDev 973c6ba5df UI: RPC: Squeakross: Home Squeak Home image
docs: compat: Squeakross: Home Squeak Home: Playable
2025-06-16 02:06:45 -05:00
GreemDev 6803c91da8 infra: Add package source mappings for Ryujinx.UpdateClient to silence compile warnings 2025-06-16 02:05:11 -05:00
GreemDev 557c2a50b2 infra: Add NuGet config to solution items 2025-06-16 02:04:48 -05:00
GreemDev 77a797f154 Revert "Structural and Memory Safety Improvements, Analyzer Cleanup (ryubing/ryujinx!47)"
This reverts merge request !47
2025-06-15 20:45:26 -05:00
Emiyl faf9e3cdd7 macOS: Fix MoltenVK config packing (ryubing/ryujinx!65)
See merge request ryubing/ryujinx!65
2025-06-15 18:24:45 -05:00
Godzilaa4 7bc80ed4fe Updated Brazilian Portuguese translation (ryubing/ryujinx!62)
See merge request ryubing/ryujinx!62
2025-06-15 10:28:41 -05:00
WilliamWsyHK a1d44ec496 Update translation for Traditional Chinese (ryubing/ryujinx!61)
See merge request ryubing/ryujinx!61
2025-06-14 20:06:12 -05:00
GreemDev bab3beb0ac [ci skip] Forgot closing / lol 2025-06-13 15:51:23 -05:00
GreemDev aa9e74339b Add support for notifying the update server when a new update has been pushed instead of relying on periodic refreshes 2025-06-13 01:57:54 -05:00
GreemDev 908273d848 [ci skip] UpdateClient package source
https://git.ryujinx.app/ryubing/update-server/-/packages
2025-06-13 01:57:54 -05:00
shinyoyo b51ad11574 Updated Simplified Chinese translation (ryubing/ryujinx!58)
See merge request ryubing/ryujinx!58
2025-06-11 19:43:50 -05:00
MrKev ea027d65a7 Structural and Memory Safety Improvements, Analyzer Cleanup (ryubing/ryujinx!47)
See merge request ryubing/ryujinx!47
2025-06-11 17:58:27 -05:00
Coxxs d03ae9c164 fix: socket blocking flag is inverted when setting it (ryubing/ryujinx!57)
See merge request ryubing/ryujinx!57
2025-06-11 16:44:07 -05:00
Hack茶ん 90e9492f6c Update Korean translation (ryubing/ryujinx!56)
See merge request ryubing/ryujinx!56
2025-06-11 15:37:48 -05:00
mqudsi 512120db04 Work around Escape hotkey race with exit confirmation dialog
See merge request ryubing/ryujinx!54
2025-06-10 22:52:08 -05:00
rockingdice 90582e9e93 fix: crash caused by cursor overflow
See merge request ryubing/ryujinx!53
2025-06-10 16:34:12 -05:00
rockingdice b97fae08b5 fix: use the correct font family for CJK characters
See merge request ryubing/ryujinx!52
2025-06-10 15:41:39 -05:00
GreemDev eed6ef632d infra: [ci skip] update CHANGELOG.md 2025-06-09 19:57:31 -05:00
GreemDev 0409c15903 Remove GitHub updater support. 2025-06-09 19:51:53 -05:00
GreemDev c58272ac20 infra: CI: Remove GitHub release uploading from Stable workflow. 2025-06-09 18:56:28 -05:00
GreemDev 9d83dfd19c misc: [ci skip] Missed the property part of _chosenProfile 2025-06-09 17:59:40 -05:00
GreemDev ce31a47934 misc: Code styling changes & cleanups 2025-06-09 17:57:26 -05:00
Goodfeat d31d1f91cf Added the ability to switch between local and global input in the user configuration
See merge request ryubing/ryujinx!8
2025-06-09 17:24:24 -05:00
Goodfeat ef02194a77 Update: Compatibility list
See merge request ryubing/ryujinx!29
2025-06-09 02:54:45 -05:00
Goodfeat a16764d191 Moved "Graphics Backend Multitreading" item to Graphics API & Optimization section
See merge request ryubing/ryujinx!13
2025-06-09 02:37:49 -05:00
GreemDev 5108ab790f UI: RPC: [ci skip] Add BL2, BLTPS, and Minecraft Dungeons RPC images 2025-06-09 01:47:57 -05:00
GreemDev 71dc71fee8 infra: [ci skip] Remove duplicate GLI install in canary CI 2025-06-08 22:37:21 -05:00
GreemDev c95bf748b2 infra: Update to Ryujinx.LibHac 0.20.0
This is identical to the previous version, it's just on NuGet.org so we can comment out the LibHacAlpha source in nuget.config.
2025-06-08 22:31:32 -05:00
GreemDev b5e9acc50b misc: [ci skip] Cause GitHub fallback properly 2025-06-08 21:06:34 -05:00
GreemDev e3fba4e32f docs: compat: further clarify the issue with 'FANTASY LIFE i: The Girl Who Steals Time' with 'crash' and 'vulkan-backend-bug' labels. 2025-06-08 20:44:01 -05:00
GreemDev efa25d471e docs: compat: ingame: FANTASY LIFE i: The Girl Who Steals Time 2025-06-08 20:41:51 -05:00
GreemDev b37aa61e47 infra: Remove GitHub uploading from Canary CI workflows 2025-06-08 17:55:36 -05:00
GreemDev 8feeb977b7 infra: [ci skip] fix canary changelog generation 2025-06-08 17:47:45 -05:00
GreemDev b761a2c86d infra: Custom Update server instead of direct GitLab API calls
This reduces the amount of requests for an update from 3 if an update is needed, or 2 if not; to 1 if an update is needed, and none if an update is not. The difference comes from using this update server to check if an update is needed, and not GETing a snippet content for the release channels.
2025-06-08 17:37:34 -05:00
GreemDev 693837dca7 infra: [ci skip] make the canary release notes look nicer 2025-06-05 23:07:02 -05:00
GreemDev 70abff072b canary CI: checkout code before trying to get current revision 2025-06-05 20:56:17 -05:00
GreemDev 1e861b99a9 misc: Update LibHac
See merge request ryubing/libhac!3
2025-06-05 20:45:35 -05:00
GreemDev 13e404bde0 infra: [ci skip] Move tag creation to the end of the build process in CI 2025-06-05 01:57:21 -05:00
KeatonTheBot 04561a0cd3 Vulkan: Use compute shader for non-indirect unsupported topology index buffer conversions
See merge request ryubing/ryujinx!5
2025-06-05 01:19:44 -05:00
GreemDev 0652d7e740 misc: readme: stable and canary release channels from gitlab 2025-06-04 23:18:44 -05:00
GreemDev f2aea4fb22 misc: [ci skip] fix typo in comment & rename CheckForUpdateAsync 2025-06-04 21:05:54 -05:00
GreemDev 3950e8adff infra: Embed milestone description in stable release description in CI 2025-06-04 21:05:35 -05:00
GreemDev 0e84f2b1f0 infra: Send a Discord webhook message when a new build is available 2025-06-04 04:31:58 -05:00
TheToid 051c794cc4 Use rcodesign for dylib signing where avaiilable and clear out all "._" files...
See merge request ryubing/ryujinx!14
2025-06-03 23:26:49 -05:00
LotP 053a9cb549 fix: use accurate length for enumerating
See merge request ryubing/ryujinx!49
2025-06-03 23:20:55 -05:00
GreemDev d688fed7d2 missed the projects/ API endpoint part 2025-06-03 18:38:22 -05:00
GreemDev 8f5102aa2a infra: Add functionality to the CI to upload artifacts to this GitLab and make releases based on all files uploaded.
See merge request ryubing/ryujinx!48
2025-06-03 18:28:59 -05:00
GreemDev 379e9ab622 stable release test workflow for gitlab releases 2025-06-03 04:04:41 -05:00
LotP af2575b40e Update LibHac
See merge request ryubing/ryujinx!45
2025-06-01 01:28:21 -05:00
MrKev 361d0c5632 Fix ~3500 analyser issues
See merge request ryubing/ryujinx!44
2025-05-30 17:08:34 -05:00
Hack茶ん 417df486b1 Update Korean translation
See merge request ryubing/ryujinx!43
2025-05-29 19:09:03 -05:00
GreemDev 813d05bdf7 misc: Remove internal release channel constants 2025-05-29 17:36:24 -05:00
GreemDev 3429361a5d UI: RPC: Remove release channel from RPC logo hover 2025-05-29 17:35:43 -05:00
GreemDev 92b2947f04 fix invalid link in canary release message & change stable too 2025-05-29 16:14:51 -05:00
GreemDev 4c281062ba test new canary release channel repo 2025-05-29 15:53:01 -05:00
GreemDev 84686d50cd Revert "PPTC: fix rare EndOfStreamException in ContainsBlacklistedFunctions"
This reverts commit 1156307ef9
2025-05-29 02:37:52 -05:00
GreemDev 81412c7dd5 misc: fix duplicated code (oops), reorder the commands in-code to match the UI 2025-05-29 02:09:21 -05:00
GreemDev 960421a7c1 misc: Swap the context menu actions to Commands 2025-05-29 01:58:05 -05:00
GreemDev 9233fe86b0 [ci skip] infra: After a quick test, ARMeilleure didn't even use anything from Ryujinx.Common. 2025-05-28 23:52:06 -05:00
GreemDev 1156307ef9 PPTC: fix rare EndOfStreamException in ContainsBlacklistedFunctions 2025-05-28 23:35:52 -05:00
KeatonTheBot a32a87e0c9 Workaround undefined behavior in bad dual source blend states
See merge request ryubing/ryujinx!4
2025-05-28 05:59:16 -05:00
GreemDev 7157565665 UI: RPC: link to release channels on logo in RPC 2025-05-28 00:13:27 -05:00
GreemDev 6873303864 UI: Show "Paused" in place of FPS and FIFO when emulation is paused. 2025-05-28 00:12:55 -05:00
GreemDev cd72ba0075 headless: Load global input configs by default. Added an option --disable-main-input-config to disable this behavior. 2025-05-27 23:46:43 -05:00
GreemDev be6919d931 cpu: turbo: Increase Turbo cap to 1000% and remove the discrepancy between the slider and number box max values. 2025-05-27 23:36:53 -05:00
GreemDev cf0185da17 Add LotP to About window 2025-05-27 23:36:53 -05:00
MrKev 1d923ba7b0 Fix JWT Claims and Socket Flag Handling to Improve Just Dance® Server Connection
See merge request ryubing/ryujinx!38
2025-05-27 16:46:54 -05:00
GreemDev f14d65b543 update changelog 2025-05-26 17:00:54 -05:00
Hack茶ん fd9f161476 Update Korean translation
See merge request ryubing/ryujinx!42
2025-05-26 15:10:50 -05:00
KeatonTheBot ae070c76d7 ffmpeg: Fix green screen issues on Linux
See merge request ryubing/ryujinx!40
2025-05-25 22:34:56 -05:00
GreemDev 2aa072fbfa fix: Super Mario Party Jamboree audio renderer crashing
See merge request ryubing/ryujinx!34
2025-05-24 17:00:30 -05:00
KeatonTheBot 1c411082db Optimize XMAD instruction sequence into a single 32-bit multiply when possible
See merge request [ryubing/ryujinx!24](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/24)
2025-05-23 17:12:37 -05:00
shinyoyo be7285f7fc Update Simplified Chinese translation.
See merge request [ryubing/ryujinx!37](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/37)
2025-05-23 17:09:38 -05:00
Goodfeat 6f59a14ec6 Small Fix: now it is enough to activate dirty hack in global settings for the option...
See merge request [ryubing/ryujinx!20](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/20)
2025-05-23 06:27:33 -05:00
GreemDev d85ec0eff5 infra: use src.ryujinx.app redirect domain for git repo button 2025-05-20 04:40:46 -05:00
GreemDev 02ad827a94 chore: Remove mention of GitHub in changelog button tooltip 2025-05-20 04:39:36 -05:00
GreemDev 6e7220eb28 chore: specify Nintendo Switch 1 in about window and remove leftover mention of GitHub 2025-05-20 04:37:03 -05:00
GreemDev 7a3a21b0c0 ui: Proper light/dark GitLab logos.
Images from https://git.ryujinx.app/kenji-nx/ryujinx/-/commit/6c7b7d6fc4dfb30e5a6a0d5d77e68d804dc7cedb
2025-05-20 04:36:31 -05:00
GreemDev 92440afcd7 UI: Show Total Time Played at the bottom of the UI in the status bar next to game total.
Does not show up in-game, and is recalculated every time the game list is reloaded.
2025-05-20 04:19:54 -05:00
GreemDev df3b5b4bd8 gpu: tweak: Do not log missing Votevtg implementation. 2025-05-20 03:28:03 -05:00
GreemDev 11cc80f7fc infra: Generate .nupkg when building ARMeilleure, Ryujinx.Common, and Ryujinx.Memory.
Additionally added a script to push them to Ryubing GitLab package registry. This script is my use only since it assumes you have the necessary authentication locally & on the server.

TODO: figure out a way to get proper versioning for them.
2025-05-18 03:10:38 -05:00
GreemDev f6c1e97110 infra: Update to Ryujinx.LibHac 0.20.0.
This time it's pulled in via GitLab package registry.
2025-05-18 02:26:39 -05:00
GreemDev e18e27fbc5 Revert "infra: Update LibHac to v0.20.0."
This seems to have broken some mods.

This reverts commit 1d4928e859.
2025-05-14 21:36:02 -05:00
GreemDev f1eb911d25 Revert "hle: fix: TargetInvocationException when initializing IParentalControlService"
This reverts commit e1c0b3acab.
2025-05-14 21:35:19 -05:00
GreemDev e1c0b3acab hle: fix: TargetInvocationException when initializing IParentalControlService
The original implementation was a little overengineered (and didn't work). I suppose the games I tested simply didn't init the service.
2025-05-14 18:10:54 -05:00
GreemDev 1d4928e859 infra: Update LibHac to v0.20.0.
See merge request [ryubing/ryujinx!33](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/33)
2025-05-14 15:52:14 -05:00
KeatonTheBot 28b8dc14c7 Vulkan: Restrict feedback loop detection to AMD RDNA 3 GPUs
See merge request [ryubing/ryujinx!25](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/25)
2025-05-13 19:27:24 -05:00
GreemDev 21971a2be7 infra: Switch to [Ryujinx.LibHac](https://git.ryujinx.app/ryubing/libhac)
The original repository disappeared a few days ago, and we had a backup.
2025-05-13 00:33:27 -05:00
WilliamWsyHK 321bdecbc2 Typo for "Verification"
See merge request [ryubing/ryujinx!32](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/32)
2025-05-11 12:47:54 -05:00
GreemDev 6904d6a461 fix: Prevent loading the Switch Verification homebrew specifically.
Its intended purpose is to be installed on a modded real Switch. It is wholly useless and pointless to use it in the emulator, and this will give those users a hint they might be doing something incorrectly.
2025-05-04 03:26:54 -05:00
Hack茶ん d8e3ab3974 Update Korean translation
See merge request [ryubing/ryujinx!30](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/30)
2025-04-28 23:29:41 -05:00
LotP 9b429afbb4 fix: PPTC blacklist trigger conditions
See merge request ryubing/ryujinx!28
2025-04-27 16:57:57 -05:00
GreemDev b71a4cb745 docs: compat: Breakout Beyond & Nikoderiko: The Magical World 2025-04-26 19:14:08 -05:00
shinyoyo 844b1d8b9a Update Simplified Chinese translation.
See merge request ryubing/ryujinx!27
2025-04-25 21:03:27 -05:00
LotP c4ea0e0df2 Reset PPTC Carriers on invalidation
See merge request ryubing/ryujinx!26
2025-04-24 12:48:22 -05:00
Goodfeat 0ae536a757 Improvements and fixes to issues in the controller input menu
See merge request ryubing/ryujinx!2
2025-04-24 00:16:53 -05:00
LotP 4c9e8f8e5c reset infoStreams when the cache is invalid
See merge request ryubing/ryujinx!23
2025-04-22 21:42:41 -05:00
LotP e33dc6f096 fix all mods always active
See merge request ryubing/ryujinx!22
2025-04-22 20:06:15 -05:00
LotP 3a79b442b0 Fix loading multiple mods with partially matching names
See merge request ryubing/ryujinx!21
2025-04-21 18:50:22 -05:00
Rondo 244c0505d9 Another update for Ukrainian translation
See merge request ryubing/ryujinx!17
2025-04-18 15:47:05 -05:00
WilliamWsyHK e0181d3410 Update translations of zh-tw
See merge request ryubing/ryujinx!9
2025-04-14 15:33:07 -05:00
TheToid 4c7c5ea323 MACOS build fixes
See merge request ryubing/ryujinx!12
2025-04-14 15:21:37 -05:00
yeager 4a6d9c2b3f Swedish update in locales.json (again)
See merge request ryubing/ryujinx!11
2025-04-14 15:17:46 -05:00
Rondo 2c8afa7e6e Update Ukrainian translation
See merge request ryubing/ryujinx!10
2025-04-13 17:05:57 -05:00
GreemDev d98ed30450 fix "regular builds" linking to canary builds 2025-04-13 13:25:23 -05:00
yeager 7c89e87deb Update Swedish translation in locales.json
See merge request ryubing/ryujinx!7
2025-04-13 02:48:00 -05:00
GreemDev 60992e2545 feature: Virtual dual Joy-Con
See merge request ryubing/ryujinx!3
2025-04-07 18:15:14 -05:00
GreemDev adae465b08 Merge branch ryujinx:master into master 2025-03-31 00:22:10 -05:00
Goodfeat 6602693477 feature: add the ability to skip profile select dialog when opening games that use it
the skip behavior is done by passing the user id of the profile you have selected in Options > Manage User Profiles.

See merge request ryubing/ryujinx!9
2025-03-30 22:29:57 -05:00
GreemDev b76e223cc3 Merge branch ryujinx:master into master 2025-03-30 02:14:46 -05:00
GreemDev 2ea9e945ab Move locales.json to repository root under "assets" folder
See merge request ryubing/ryujinx!20
2025-03-30 02:06:04 -05:00
GreemDev a84cc62508 Merge branch ryujinx:master into master 2025-03-30 01:21:41 -05:00
GreemDev 343de5171c Move locales.json to repository root to make it easier to find. 2025-03-30 01:21:02 -05:00
Yeager 5d8451b41a Update Swedish in locales.json 2025-03-29 20:22:23 -05:00
Shinyoyo dfdbb23f0d Updated Simplified Chinese translation. 2025-03-29 03:47:24 -05:00
Hack茶ん 1e6b2ea9ca Update Korean translation 2025-03-28 10:01:12 +00:00
GreemDev 5bf656cb25 Merge !2 into 'master'
See merge request ryubing/ryujinx!2
2025-03-28 02:59:56 +00:00
Tartifless a6ce065f79 sdl2 guid, remove the CRC bytes (4 first characters) and replace with 0000 when creating guid 2025-03-28 02:59:56 +00:00
GreemDev c9e120f8f2 Merge branch 'master' into 'master'
Updated Norwegian translation

See merge request ryubing/ryujinx!13
2025-03-27 23:09:01 +00:00
Daenorth cb486ad66d Update file locales.json 2025-03-27 05:25:02 +00:00
Daenorth 463b5d403c Merge branch ryujinx:master into master 2025-03-25 10:55:17 +00:00
GreemDev 2cbc83e89b feature: Turbo Mode
See merge request ryubing/ryujinx!5
2025-03-25 02:37:22 +00:00
GreemDev 8ad5c73f4c feature: Turbo Mode
Adds an elapsed tick multiplier feature which speeds up games which are built upon delta time.
More information: https://web.archive.org/web/20240713135029/https://github.com/Ryujinx/Ryujinx/pull/6456
2025-03-25 02:37:22 +00:00
GreemDev d7754aeee1 Merge branch 'patch-2' into 'master'
Very small fix for Swedish in locales.json to render the Settings tab line better

See merge request ryubing/ryujinx!12
2025-03-23 18:57:31 +00:00
Yeager 4ef2836df1 Very small fix for Swedish in locales.json to render the Settings tab line better 2025-03-23 17:41:58 +00:00
GreemDev e7d3f39c1b HLE: Damnit Greem, those were supposed to be debug.
OOPSIE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
2025-03-23 04:16:23 -05:00
GreemDev 2f064064ca HLE: Slightly speed up IpcService creation
This is not a crazy speedup, we're talking fractions of a millisecond here (I had to measure in ticks; 10000000 ticks per second)

- TIPC commands are opted-into for registration since they are only used for IUserInterface, but were still attempted to be initialized for every service which spent needless time.

- Directly use GetType() instead of accessing all exported types, and Where()ing for equivalency to GetType(). This causes the logic for registration to be a lot faster.
2025-03-23 04:14:31 -05:00
GreemDev 86c2f261af Graphics: Save shaders to a lowercase title ID folder.
I think this got reverted in the metal revert commit.
2025-03-22 22:39:03 -05:00
Daenorth 497627d09e Merge branch ryujinx:master into master 2025-03-21 11:24:30 +00:00
GreemDev 4ced04948a ryubing/ryujinx!11 2025-03-21 06:26:42 +00:00
Yeager 02d459a9bd Swedish translations for new strings 2025-03-21 06:26:42 +00:00
Daenorth 52fae771ad Merge branch ryujinx:master into master 2025-03-20 10:22:58 +00:00
GreemDev e685168675 Merge branch 'master' into 'master'
Added Xenoblade X DE to RPC and compatlist

See merge request ryubing/ryujinx!7
2025-03-20 08:26:01 +00:00
Daenorth e250d83e2a Added Xenoblade X DE to RPC and compat list 2025-03-20 08:26:00 +00:00
GreemDev d27b4a7615 Merge branch 'fix/xcxde' into 'master'
Stub nn::ssl::sf::ISslServiceForSystem

See merge request ryubing/ryujinx!8
2025-03-20 07:57:03 +00:00
GreemDev d4bf7d3c2b HLE: Implement missing service calls needed for Xenoblade Chronicles X DE 2025-03-20 07:57:03 +00:00
Daenorth c067f85fa3 Edit compatibility.csv 2025-03-20 06:13:27 +00:00
Daenorth 1a705418c5 Edit compatibility.csv 2025-03-20 05:57:17 +00:00
Daenorth 8ca06b69ac Update file TitleIDs.cs 2025-03-20 01:57:45 +00:00
Daenorth 8e666ab19f Update file compatibility.csv 2025-03-20 01:56:27 +00:00
GreemDev c229d458e7 UI: Forgot to restore the updater in one place
I knew something was missing
2025-03-18 19:07:22 -05:00
GreemDev f09ca0f57f UI: Restore in-app changelog functionality 2025-03-18 18:58:52 -05:00
GreemDev f2c5cf8a60 Add gitlab tag creation to stable releases 2025-03-18 18:46:22 -05:00
GreemDev 9742a78c06 attempt 2: give gli execute permission in CI 2025-03-18 18:40:58 -05:00
GreemDev cb33e2c13f Attempt 1 at bringing back Canary changelogs (and Full Changelog at the end of releases) 2025-03-18 18:36:09 -05:00
GreemDev f77fe4a6b2 fix changelog commit url 2025-03-17 21:45:33 -05:00
GreemDev a35d907445 Merge branch 'master' into 'master'
replace shell

See merge request ryubing/ryujinx!6
2025-03-17 05:54:32 +00:00
donut d730b095a4 replace shell 2025-03-17 05:51:20 +00:00
GreemDev 17f3540ac9 create CHANGELOG.md 2025-03-17 03:51:03 +00:00
GreemDev 097adacb3a misc: infra: so I guess rev-parse with no options is useless(?) 2025-03-16 14:25:05 -05:00
GreemDev 078909169d misc: chore: Simplify ReleaseChannels creation 2025-03-16 14:21:17 -05:00
GreemDev 95fdc0ca24 infra: Added table URL for WoA builds (also included for Canary in previous commit) 2025-03-16 14:20:58 -05:00
GreemDev fae60f64a7 infra: Add temporary changelog solution: commit URL in a canary release
This is gonna get better.
2025-03-16 14:20:32 -05:00
GreemDev 24c90a8fde Prevent being cut off from updates for the future.
The release channels are now provided via an API endpoint from ryujinx.app.
2025-03-16 00:54:20 -05:00
GreemDev fa5840927a compat: X-Out Resurfaced: playable 2025-03-15 18:25:41 -05:00
GreemDev 57118e00fb UI: Added the ability to unbind hotkeys via pressing backspace. 2025-03-14 23:52:27 -05:00
GreemDev 11ea020092 UI: Change the github button in the About window to a gitlab one 2025-03-14 23:42:57 -05:00
GreemDev 80ab0f96b9 misc: chore: [ci skip] remove in-repo Amiibo images & JSON 2025-03-14 17:42:11 -05:00
GreemDev 70f3dae146 fix: chore: Remove in-app links to the now gone GitHub, replace those that we can with the GitLab URLs. 2025-03-14 17:37:35 -05:00
GreemDev 4590ffce65 misc: chore: README overhaul 2025-03-14 17:26:33 -05:00
Evan Husted 350b1fc013 CI: misc: The tags are never explicitly made on the release channel repo and yet they're there. Maybe we don't need to make it initially? 2025-03-14 05:22:22 -05:00
Evan Husted eb075af06f CI: chore: some fixups for not having a github source repo anymore 2025-03-14 05:19:43 -05:00
Evan Husted d857106c28 misc: chore: base version bump 2025-03-14 05:13:13 -05:00
Keaton 7664f8cde9 update FFmpeg to 6.1.2 & Windows on ARM support (#702)
As stated in the title, win-arm64 (Windows 11 ARM) has been added to the
workflows, so these builds should automatically compile for this PR and
all other releases going forward.

Also updated the FFmpeg runtimes from 5.0.3 to 6.1.2. macOS (x64/arm64)
is _currently_ excluded from the update until a proper cross-compiling
environment can be set up for these architectures.

Windows 11 ARM users, please test the win-arm64 build for any issues.

---------

Co-authored-by: Evan Husted <greem@greemdev.net>
2025-03-13 18:36:57 -05:00
Hack茶ん ddc00cf2d8 Update Korean translation (#764) 2025-03-13 13:56:47 -05:00
Evan Husted 05b4bd8c61 UI: Use a new repo for amiibo stuff specifically 2025-03-12 14:17:14 -05:00
Milihraim 20111a651c Update Russian (#745) 2025-03-12 00:12:37 -05:00
WilliamWsyHK 659e580f4d Update TChinese translation (#738) 2025-03-11 23:34:57 -05:00
Evan Husted e6339ac950 fix logo in readme 2025-03-11 21:35:25 -05:00
Daniel Nylander 6b402847d2 Updated Swedish in locales.json (#748) 2025-03-11 05:16:33 -05:00
shinyoyo 3b06f4cb78 Updated Zh-CN Simplified Chinese. (#737) 2025-03-11 01:35:19 -05:00
Evan Husted cdf60eecc0 small readme update (test) 2025-03-11 06:06:10 +00:00
Evan Husted 1219f329c1 misc: chore: [ci skip] fully fix changelog urls for stable 2025-03-10 01:24:06 -05:00
Evan Husted d5527f87cb UI: [ci skip] fix changelog urls on new release channel 2025-03-08 21:07:03 -06:00
Evan Husted fc75dbc8b8 Update release.yml 2025-03-08 20:49:21 -06:00
Evan Husted 04361b864a stable release channel repo 2025-03-08 20:45:47 -06:00
rrondo 7271e7050d Ukrainian localization update (#755) 2025-03-07 23:28:25 -06:00
Evan Husted 1ca4484148 UI: Fix overlapping text when window is made too small 2025-03-06 04:31:28 -06:00
Evan Husted 056f56bc70 UI: Fix off-screen compat entry game names 2025-03-06 04:15:02 -06:00
Evan Husted bda699f68e UI: Inline game/autoload dir & motion/rumble/led 2025-03-06 04:12:34 -06:00
Evan Husted 0db85d0aa9 HLE: optional hack: disable IsAnyInternetRequestAccepted 2025-03-05 23:57:48 -06:00
Evan Husted 44632e5d8b misc: ConfigurationFileFormat version 68 2025-03-05 23:03:55 -06:00
Evan Husted 551d2c1134 misc: chore: add/remove event handler as window is opened/closed 2025-03-05 23:01:37 -06:00
Evan Husted 25cc9b24b4 misc: chore: compat database code cleanups 2025-03-05 22:40:55 -06:00
Evan Husted 638c616ab7 misc: Move systems-like classes out of the base of the Ryujinx project and into Ryujinx.Ava.Systems 2025-03-05 22:27:37 -06:00
Evan Husted 109f0fc659 misc: chore: Cleanup unused using directives 2025-03-05 22:21:05 -06:00
Evan Husted dfcb8a7fc0 misc: chore: Use RyujinxControl<T> in more places 2025-03-05 22:18:13 -06:00
Evan Husted d87d3235e9 misc: chore: Move the windows that are shown via ContentDialogs out of Ryujinx.Ava.UI.Windows (they're not windows) 2025-03-05 22:06:20 -06:00
Evan Husted f3a9cecf72 UI: Rename Show Title Bar + Revamp for global settings window 2025-03-05 18:39:42 -06:00
Evan Husted 97a1bbdd74 UI: Fix consistency of checkboxes in system settings 2025-03-05 17:50:40 -06:00
Evan Husted e379fad5da UI: Custom title bar support for Amiibo window 2025-03-05 15:56:43 -06:00
Evan Husted c76f32a4ee UI: Give the cheat manager the custom window title bar treatment 2025-03-05 13:59:51 -06:00
Evan Husted 7bdf013ba6 misc: chore: [ci skip] change the initial dynamic values to a proper object initializer 2025-03-05 02:45:34 -06:00
Evan Husted e07130ecc3 UI: Fix the unformatted title window when not using custom title bar in compat window 2025-03-05 02:35:13 -06:00
Evan Husted dd02c8e25d misc: chore: add helper constructor parameter to StyleableWindow to auto use custom title bar based on configuration 2025-03-05 02:34:34 -06:00
Evan Husted bed3835718 UI: fix ID copying from the Show Game Info popup 2025-03-05 02:23:40 -06:00
Evan Husted 2b06826922 UI: Rework the compatibility list into a Window 2025-03-05 02:08:36 -06:00
Evan Husted a23c6bf547 misc: chore: [ci skip] fix redundant qualified name 2025-03-04 19:07:39 -06:00
Evan Husted 27cdf876a2 misc: chore: make some cleaner extensions for converting to/from ui/hle enums 2025-03-04 18:24:24 -06:00
Evan Husted b0c0e8f7ad misc: chore: Move Fs Integrity Checks getter to ConfigurationState 2025-03-04 18:23:57 -06:00
Evan Husted 2317c06364 misc: small Avalonia project restructure
Moved AppLibrary, Configuration, and PlayReport namespaces to Ryujinx.Systems, add the compat list stuff in the base Ryujinx.Systems namespace.
Moved the compatibility UI stuff to the proper UI view/viewmodel folders.
2025-03-04 18:01:48 -06:00
GabCoolGuy c12a59ecd6 Remove 'About Avalonia' and Replace it with 'About Ryujinx' in MacOS's menu bar (#752)
Video demonstration for non-Mac users:
https://www.youtube.com/watch?v=7Wn_k5AjBuU
2025-03-04 13:23:19 -06:00
Evan Husted 57c22a1f32 misc: chore: [ci skip] Reduce duplicated close button & command space styling for dialogs 2025-03-04 02:57:11 -06:00
Evan Husted f7976753fd misc: chore: move ThreadedRenderer creation logic into IRenderer base (since ThreadedRenderer is a GAL construct anyways) 2025-03-04 00:14:56 -06:00
Evan Husted b45a65fbdc misc: chore: rework HLEConfiguration 2025-03-04 00:08:01 -06:00
Evan Husted c410474d83 misc: chore: Remove MiniCommand 2025-03-02 21:49:58 -06:00
Evan Husted ffdc419417 misc: chore: [ci skip] small Avalonia project restructure
Moved the Views that existed in the Controls namespace into the Ryujinx.Ava.UI.Views.Misc namespace
Moved UpdateWaitWindow to Ryujinx.Ava.UI.Windows
2025-03-02 21:42:25 -06:00
Evan Husted da3f4e1d3a misc: Created generic type RyujinxControl to allow for more unified control view model definitions 2025-03-02 21:24:39 -06:00
Evan Husted 69d79322bb misc: chore: remove old title ID constructor for RendererHost 2025-03-02 21:23:36 -06:00
Evan Husted c3af1dbf1a Stick Visualizer (#579)
![](https://i.imgur.com/iSaXRMr.png)

---------

Co-authored-by: MutantAura <domw0401@gmail.com>
2025-03-02 20:43:31 -06:00
Piplup 10ac381525 compat: Updates (#742)
These are branches i have on my private repo that i been meaning to push
Bluey The Videogame - compatibility/Bluey
Grand Theft Auto: III – The Definitive Edition -
compatibility/gta-definitiveedition
Grand Theft Auto: Vice City – The Definitive Edition -
compatibility/gta-definitiveedition
Grand Theft Auto: San Andreas – The Definitive Edition -
compatibility/gta-definitiveedition
SpongeBob SquarePants: The Cosmic Shake - compatibility/TheCosmicShake

p.s i didn't mess up one of the commit names i swear
2025-03-02 18:39:32 -06:00
Danik2343 e104ee6be3 Update: Russian Language (Some missing strings) (#732) 2025-02-27 16:53:18 -06:00
Nicola e65d1ec6c9 JoyCon to Joy-Con (#729)
Joy-Con is the official name
2025-02-26 20:00:35 -06:00
Evan Husted 534f92506b misc: chore: Add warning logs for invalid ips patch attempts 2025-02-26 02:31:18 -06:00
Daniel Nylander 10d20c1ae3 Update Swedish locale (#720) 2025-02-26 02:02:07 -06:00
Evan Husted e294a79975 UI: dev: [ci skip] Add Avalonia DevTools support to all Windows defined by Ryujinx, accessible via Ctrl + F12 when running in Debug. 2025-02-25 23:12:57 -06:00
Evan Husted ec06a86899 UI: Increase default size for setting windows to include autoload setting & the bottom of the input settings 2025-02-25 22:51:26 -06:00
Vladimir Sokolov 2e4de17472 Custom configuration for each game (#632)
![image](https://github.com/user-attachments/assets/5dd139b4-2004-4c13-85d1-fc3378382adf)

![image](https://github.com/user-attachments/assets/9bcb8524-a403-428f-9f98-e8c03c75f079)

Now you can make a separate configuration (independent file) for each
game. All emulator settings are available except for some UI functionality ones. 
The configuration file can be changed and deleted from a separate menu. The
user configuration menu is available through the context menu on a given application.

---------

Co-authored-by: Evan Husted <greem@greemdev.net>
2025-02-25 21:11:20 -06:00
Piplup 9227cbe5a7 Dynamic RPC: Improve Pokemon Scarlet/Violet (#723)
Updated Pokemon Scarlet and Violet to use multi parser it now displays
if your in a team circle and area of the game

![image](https://github.com/user-attachments/assets/6d8d52c5-65a9-4ac3-af91-cb0c03576ad6)
2025-02-25 17:48:47 -06:00
Evan Husted 332bcdfaf1 UI: Updater: Add support for eventual Windows on ARM updates 2025-02-25 17:34:56 -06:00
FluffyOMC 1c8276197f SSBU DRPC - Stage Editing (#707)
Adds it so the Rich Presence now notices when the player edits a custom
stage!
2025-02-25 15:48:35 -06:00
LotP1 a3596ba858 Reset in-memory JIT cache on game quit + fix Purge PPTC (#709)
Jit cache now fully resets when booting a game multiple times.
This should fix random jit cache crashes.
Also removed some redundant code related to region allocation and fixed
PPTC Purge not fully purging all PPTC files in the backup folder.
2025-02-25 15:34:21 -06:00
Evan Husted 3ffcc72117 UI: Fix compatibility list crashing (missing font) 2025-02-22 23:48:47 -06:00
Evan Husted fe1617ffea Revert the Metal Experiment (#701)
Metal sounded like a good idea to get in the emulator but frankly I
underestimated just how experimental and not ready it was.
From my write up in the Discord:
```
As is, Metal supports only a few games.
The games it does support freeze on first use of not playing them via Vulkan, because shader translation is broken.
So you need to use a dirty hack to not delete all your shaders.
Not to mention it breaks many games via MoltenVK because of changes to the shared GPU code.

Merging Metal seemed like a great idea, because of the few games it does support.
But I don't think it's worth it. Many of the games it breaks via MoltenVK *don't work via Metal*. 
Which effectively makes current Ryubing worse for Mac users than Ryujinx 1.1.1403.

I think what I'm gonna do is revert Metal, and reopen it as a PR. That way, you can still take advantage of the Metal backend as is, but without making other games worse with no solution.
```

For what it's worth, the shader translation part could at least be
"fixed" by always applying a 30ms delay for shader translation to Metal.
That being said, that solution sucks ass.
The MoltenVK regressions are even worse.



I hope this is not a let down to the Mac users. I hope you realize I'm
reverting this because you're actively getting a worse experience with
it in the emulator.
2025-02-22 21:26:46 -06:00
shinyoyo eb6b0e9adc Updated Zh-CN Simplified Chinese. (#703) 2025-02-22 02:16:28 -06:00
Evan Husted 9631bdfe16 docs: compat: Hogwarts Legacy is an Unreal Engine 4 game 2025-02-20 20:56:52 -06:00
Evan Husted 2a84656ffc misc: chore: use new array in LdnGameDataReceivedEventArgs instead of collecting the ldn datas into a list 2025-02-20 19:49:17 -06:00
Evan Husted 6c6580ddcc misc: chore: Move the LDN constants into a SharedConstants class 2025-02-20 19:30:00 -06:00
Evan Husted c47448628c UI: Print LED setting failed on Debug 2025-02-20 19:29:18 -06:00
Evan Husted d0ac83b493 misc: chore: Prevent firmware installation prompt from showing up multiple times during runtime when using --install-firmware 2025-02-20 18:52:45 -06:00
rrondo e0ddbe55c0 Ukrainian localization changes (1.2.82) (#678)
Some changes and new lines for Ukrainian (uk_UA) localization.
2025-02-20 18:11:56 -06:00
FluffyOMC 4a4078865f Add Melatonin to compatibility list (#667)
It's playable, no bugs, and can run pretty easily way above intended
FPS, which shows there's not really any performance issues lol.


![image](https://github.com/user-attachments/assets/63402c9f-2412-4b43-9e5d-42a19436ac55)
2025-02-20 16:09:14 -06:00
Milihraim 3f59bade94 Update Russian Translation (#695) 2025-02-20 14:32:35 -06:00
Evan Husted c2ed0fd5fd UI: --install-firmware startup flag.
Has the normal UI flow, this is just for systems where the file picker doesn't show up.
2025-02-19 23:07:50 -06:00
Evan Husted de16d8fa3e UI: Remove the ability to select Swedish & Norwegian for System language
Switch doesn't natively support these languages, they should only be UI language.
2025-02-19 18:24:24 -06:00
Evan Husted 9b1fb3a27b misc: chore: missed a collection expression usage in avalonia project 2025-02-18 21:35:30 -06:00
Evan Husted b9150a0092 misc: chore: use target-typed new in collection initializers where type is evident 2025-02-18 21:35:11 -06:00
Evan Husted c1002d4826 misc: chore: collection expressions & target typed new in ARMeilleure & Ryujinx.Cpu 2025-02-18 21:34:09 -06:00
Evan Husted b1de7696ee misc: chore: VP9 project cleanup
Target-typed new, remove var usage, use collection expressions, rename many fields & properties to match C# standard
2025-02-18 21:33:07 -06:00
Keaton f91cd05260 Implement VP9 loop filtering (#550)
Unmerged PR from OG Ryujinx (#4367). From @gdkchan:

> The main goal of this change is porting the loop filtering from
libvpx, which should fix the block artifacts on some VP9 videos on games
using NVDEC to decode them. In addition to that, there are two other
changes:
> 
> - The remaining decoder code required to decode a VP9 video (with
headers included) has been added. That was done because it's much better
to test the decoder standalone with a video file. I decided to keep that
code on the emulator, even if some of it is unused, since it makes
standalone testing easier in the future too, and we can include unit
tests with video files.
> - Large refactoring of both new and existing code to conform with our
conding [sic] styles, done by @TSRBerry (thanks!) Some of it has been
automated.
> 
> Since we had no loop filtering before, this change will make video
decoding slower. That may cause frame drop etc if the decoder is not
fast enough in some games. I plan to optimize the decoder more in the
future to make up for that, but if possible I'd prefer to not do it as
part of this PR, but if the perf loss is too severe I might consider.
> 
> This will need to be tested on games that had the block artifacts, it
would be nice to confirm if they match hardware now, and get some
before/after screenshots etc.

Comment from @Bjorn29512:

> Significantly improves the block artifacts in FE: Engage.
> 
> Before:
>
![](https://user-images.githubusercontent.com/110204265/216882414-ec88dbda-7544-4490-8a47-37f074056ae3.png)
> 
> After:
>
![](https://user-images.githubusercontent.com/110204265/216882478-4e81fead-1033-4877-b282-f9cac6d6aa3b.png)

---------

Co-authored-by: gdkchan <gab.dark.100@gmail.com>
Co-authored-by: TSR Berry <20988865+TSRBerry@users.noreply.github.com>
2025-02-18 20:59:36 -06:00
Willians 920933bc9f Small PT-BR update (#688) 2025-02-18 17:29:58 -06:00
Evan Husted 52b0b45d34 misc: chore: null-coalesce led rainbow checking in headless 2025-02-17 16:29:57 -06:00
Evan Husted 12f0dbcc70 metal: Commented Bayonetta & New Pokemon Snap for Metal for more testing, removed Astral Chain 2025-02-17 13:43:28 -06:00
Evan Husted 719be560ec UI: RPC: Hogwarts Legacy asset image 2025-02-17 02:04:18 -06:00
Evan Husted 18238736be Early exit when outdated Windows detected 2025-02-16 23:55:36 -06:00
Willians 5d9e4ad7a4 Add Super Mario Party Jamboree to compatibility list (#673) 2025-02-16 23:22:36 -06:00
Evan Husted adba775f0c docs: compat: FINAL FANTASY is now Playable 2025-02-16 21:27:47 -06:00
Evan Husted 2ffaeb2803 HLE: LDN: Reduce NAT timeout from 5 seconds to 2.5 2025-02-16 17:48:19 -06:00
Willians b16b844760 Update PT-BR Big Translation & Add DKC Returns HD to compatibility list (#666)
Today I had a free day to look at and work on the entire Brazilian
Portuguese language.

Translations that had not been done before have been added
Fixed several translations that didn't make sense
Translated description of functions that were not translated correctly
Words were written as close to the original English
Add Donkey Kong Country Returns HD to compatibility list
2025-02-16 15:39:42 -06:00
Vudjun bc07bc482d Gracefully handle errors in socket creation (#662)
In all other calls, exceptions are handled within the ManagedSocket
class, this can't easily be done here as the exception is thrown from
the constructor, so the exception is handled in ISocket and the correct
error is passed to the application.

This should fix #660
2025-02-16 02:26:37 -06:00
Vudjun 61975ca44d Add logging in socket implementation (#661)
Adds logging to most Socket calls to help with debugging network
issues.

Shouldn't affect any functionality. There's a small chance it could spam
the log in some games.
2025-02-16 01:03:44 -06:00
Evan Husted 66054dd225 UI: RPC: Remove git hash from RPC ryujinx logo hover information 2025-02-16 00:58:25 -06:00
Evan Husted b1f61e5143 misc: chore: [ci skip] Reformat PlayReports.cs 2025-02-15 20:52:03 -06:00
Evan Husted 0d7d0e8092 UI: Add descriptions of what each dynamic RPC formatter actually shows when hovering whether it has support in the game info popup 2025-02-15 20:45:27 -06:00
Evan Husted aa2178dbe5 UI: Button to open screenshots folder in File menu 2025-02-15 20:25:17 -06:00
Evan Husted f92d09711b misc: chore: rewrite PlayReports.Analyzer creation to use Lazy and create the value alongside DiscordIntegrationModule init 2025-02-15 19:02:53 -06:00
Evan Husted 45ee8cd0e8 misc: Play Report Analyzer: Skyward Sword HD rupee count 2025-02-15 19:02:04 -06:00
Evan Husted 395bbd144a misc: chore: Change Analyzer AddSpec logic to log the non-hexadecimal value and ignore the added entry instead of throwing an exception 2025-02-15 19:01:24 -06:00
Evan Husted 744d813b87 misc: i18n: change localization of Ignore Applet to Ignore Controller Applet & redo tooltip 2025-02-15 00:40:18 -06:00
Evan Husted 7d59ada798 misc: chore: rename IgnoreApplet to IgnoreControllerApplet 2025-02-15 00:25:28 -06:00
Evan Husted a4b5304935 UI: Refresh game list when emulated Switch language is changed (to show different logos/names) 2025-02-15 00:20:01 -06:00
Evan Husted 0965ee905d misc: Fix Match System Time not persisting between emulator launches 2025-02-14 22:18:15 -06:00
FluffyOMC 855161b23b Prevent log from showing negative JIT cache sizes (32bit-int overflow) (#664)
![image](https://github.com/user-attachments/assets/5820ce7b-cbfe-4908-8f5e-7ee82040ee1a)
2025-02-14 21:37:19 -06:00
Daenorth 6b55d158b7 Norwegian locale update & update Jackbox 5 & 6 compat (#658) 2025-02-13 22:38:55 -06:00
Daniel Nylander 91f73a4891 Updated Swedish translation (#594) 2025-02-13 19:28:39 -06:00
Evan Husted 883d4d863a i18n: chore: [ci skip] missing closing single quote in translation (not JSON breaking) 2025-02-13 19:16:05 -06:00
Dennis ca5de909a1 Updated German translation (#626) 2025-02-13 19:14:02 -06:00
Willians 5172567b08 Update Brazilian Translation PT-BR (#633)
I updated the Brazilian Portuguese translation, I added the texts that
were not translated.
2025-02-13 19:08:48 -06:00
heihei123456780 6fe4cee7c0 Update zh_CN translation (#650) 2025-02-13 18:16:12 -06:00
Evan Husted 8623452abc docs: new discord invite 2025-02-13 03:23:02 -06:00
Evan Husted 17e8ae1d9a UI: More advanced customization for what happens when Ryujinx loses focus 2025-02-13 01:57:08 -06:00
Evan Husted 7591b07fce infra: Update workflows to ubuntu 24.04 (20.04 will be deprecated soon) 2025-02-12 16:21:03 -06:00
Evan Husted 89b4389ed2 docs: compat: [ci skip] forgot to update time for FUSER 2025-02-12 16:03:26 -06:00
Evan Husted d9ee729199 docs: compat: FUSER is now Ingame 2025-02-12 15:21:19 -06:00
Evan Husted ba0cd13cff misc: chore: fix warning [ci skip] 2025-02-11 22:54:24 -06:00
Evan Husted 501b199e24 UI: setting: Disable Input when Out of Focus 2025-02-11 22:12:05 -06:00
Evan Husted 8aecccadb8 misc: chore: Format AvaHostUIHandler 2025-02-11 21:23:04 -06:00
Evan Husted e23d610f49 UI: Change Update Available button text color to white 2025-02-11 21:18:05 -06:00
Evan Husted f6822f7358 misc: chore: add direct error code tuple to DisplayErrorAppletDialog
for use when i find the list of error codes -> causes
2025-02-11 21:09:55 -06:00
Evan Husted d3f84a1305 misc: chore: Rename UserSelectorDialog to ProfileSelectorDialog 2025-02-11 20:50:06 -06:00
Evan Husted 06d34a5992 misc: chore: optimize UserSelectorDialog closed handler 2025-02-11 20:36:11 -06:00
Evan Husted e8e1dc6619 misc: chore: this isn't even bound to a XAML element, why was this an async void 2025-02-11 20:30:46 -06:00
Evan Husted c5603d4c36 UI: Make about window text bigger and add a separator in the right side 2025-02-11 20:22:29 -06:00
Evan Husted 05b56730d6 docs: compat: remove title ID column from compat entries for homebrew 2025-02-11 20:22:09 -06:00
Evan Husted 43f7b000ca misc: chore: Optimize AboutWindowViewModel resource disposal 2025-02-11 20:08:38 -06:00
Evan Husted ad89cf39b6 UI: Change the Discord invite to link to the rules channel
When next stable comes out the old one will be invalidated
2025-02-11 18:21:12 -06:00
Evan Husted 96c33a0b92 misc: chore: [ci skip] AppletMetadata: Use previously retrieved content path 2025-02-11 12:20:52 -06:00
Evan Husted e0db55df46 UI: When starting games in fullscreen, change ExtendsContentIntoTitleBar to true. 2025-02-11 12:04:34 -06:00
Evan Husted 30fef8e96e misc: chore: Use UpdateCommand instance for the normal Check for Updates button 2025-02-11 00:47:39 -06:00
Evan Husted 9cb5f5689b UI: Show Update Available button in the system accent color 2025-02-11 00:21:58 -06:00
Evan Husted a205ec374b UI: More advanced IsVisible binding for update available button (idk why it's always showing) 2025-02-10 22:42:57 -06:00
themantim486 aab9b58542 compat: "Rustler": Playable (#649) 2025-02-10 22:32:39 -06:00
Evan Husted daa648dc40 UI: Correct visibility for new background update button 2025-02-10 22:25:04 -06:00
Evan Husted 1024aa8757 UI: Change the background updater notification to a persistent button on the status bar when not in a game 2025-02-10 22:13:58 -06:00
Evan Husted 13388e972a UI: RPC: add image asset for Bluey: The Video Game 2025-02-10 20:00:59 -06:00
Evan Husted 1eb78872d8 misc: chore: annoyed I missed this, it's very obvious 2025-02-10 19:51:28 -06:00
Evan Husted fe9fe2a10f UI: Added option to check for updates in the background 2025-02-10 19:28:46 -06:00
Evan Husted 6ab899f621 misc: chore: [ci skip] Use explicit types & target-typed new 2025-02-10 16:44:26 -06:00
FluffyOMC faacec9801 JIT Cache Regions + HLE SoNoSigpipe BSD socket mapping (#615)
Instead of one big 2048MB JIT Cache that'd crash the emulator when maxed
out, we now have it where we add 256MB JIT Cache regions when needed,
helping reduce allocated memory where games don't use the JIT cache for
it, and helping bigger games that DO need JIT cache bigger than 2048MB!

![image](https://github.com/user-attachments/assets/ff17dc48-6028-4377-8c73-746ab21ab83b)
(SSBU goes past the 2048MB JIT Cache limit that would normally crash
Ryujinx ^)

Also I added a BSD socket that Baba is You's networking for downloading
custom levels uses.
2025-02-10 15:53:44 -06:00
Evan Husted 55fdb3f6b2 headless: Default to Vulkan 2025-02-10 15:45:09 -06:00
Evan Husted 1129ab0e8c misc: chore: Remove unused property in ApplicationData 2025-02-10 15:44:58 -06:00
Evan Husted b6b391b2cf misc: chore: [ci skip] Remove unused 'using' directives from solution 2025-02-10 14:34:12 -06:00
Evan Husted f3cf03495d misc: add the ability to ignore UI logs when using trace & debug log levels 2025-02-10 14:25:47 -06:00
Evan Husted 7bce8206d5 misc: chore: small cleanups 2025-02-10 13:59:25 -06:00
Evan Husted efa0cc7554 UI: Show issue labels of games in the tooltip on playability status 2025-02-09 21:15:38 -06:00
Evan Husted 1c0813d09d misc: chore: [ci skip] shorten lines in FormatterSpecBase.Format & consistently format them 2025-02-09 00:50:11 -06:00
Evan Husted 8bec09d7ff Merge remote-tracking branch 'origin/master' 2025-02-09 00:45:54 -06:00
Evan Husted e4b4e94b56 misc: chore: cleanup Specs.cs 2025-02-09 00:45:46 -06:00
Evan Husted 764c9e9d4e misc: chore: unify GameSpec creation 2025-02-09 00:37:54 -06:00
Evan Husted 05e991db87 misc: chore: collapse all NSO emulator formatters into one method 2025-02-09 00:37:35 -06:00
shinyoyo 2cd876b1cb Update Zh-CN Simplified Chinese (#642) 2025-02-08 21:33:20 -06:00
Evan Husted 93a298523f Dynamic Presence support for every NSO emulator 2025-02-08 16:52:07 -06:00
FluffyOMC 253cbb2810 Initial Implementation of SSBU PlayReport usage! (#638)
Currently, this has as many game modes as I could find to implement,
along with a list of all the characters in the game and their code ID.
2025-02-08 16:23:24 -06:00
Evan Husted 9c226dcc7a misc: chore: [ci skip] rename ValueFormatter to SingleValueFormatter and some minor cleanups 2025-02-08 01:34:44 -06:00
Evan Husted 30a534edcd misc: chore: [ci skip] generify Formatter Specs to be able to run formatters of different types at interleaving priorities 2025-02-08 01:26:23 -06:00
Evan Husted 1d88771d1b Play Report Analyzer v4
You can now access the *entire* play report data in any given value formatter.
The input types have been restructured and, notably, not every instance of Value has an ApplicationMetadata on it. It's now on the container type that also contains the matched values and the entire play report.
2025-02-08 00:22:34 -06:00
Evan Husted 4e8157688e UI: See what games do/don't have an image & dynamic RPC support in the Game Info popup 2025-02-07 18:34:11 -06:00
Evan Husted 5085af0050 UI: Changed the color of "Ingame" from yellow to orange to stand out better in light mode 2025-02-07 18:28:32 -06:00
Evan Husted 2c8edaf89e PlayReport: Add Sparse Multi Value formatters 2025-02-07 15:43:50 -06:00
Evan Husted aa8ba8b503 Merge remote-tracking branch 'origin/master' 2025-02-06 22:56:33 -06:00
Evan Husted a4211fec33 UI: Properly space the play time & last play date in the game info popup 2025-02-06 22:56:25 -06:00
Daenorth 54b233dd78 Updated the compat list. (#618) 2025-02-06 04:46:23 -06:00
Evan Husted d1da937fce misc: chore: [ci skip] XMLdocs on new Play Report Analyzer members 2025-02-05 19:51:43 -06:00
Evan Husted 4a8f98126f [ci skip] remove test 2025-02-05 19:45:29 -06:00
Evan Husted e55629a908 misc: chore: [ci skip] Play Report Analyzer: Added Multi Value formatters 2025-02-05 19:42:36 -06:00
Evan Husted c638a7daf8 misc: chore: Move Play Report analyzer into a dedicated namespace and remove the PlayReport name prefix on types 2025-02-05 19:27:44 -06:00
Piplup 5e5e180fea PlayReportAnalyzer: Added Pokemon Scarlet and Violet (#630)
Every base game location excluding buildings are done, DLC locations
will be added at a later point
2025-02-05 18:32:27 -06:00
Hack茶ん 131fe71205 Update Korean translation (#624) 2025-02-05 02:40:37 -06:00
Evan Husted 6af388c623 misc: chore: [ci skip] oops forgot to localize the reset button & confirmation 2025-02-05 02:01:33 -06:00
Evan Husted 45cec4e7cf UI: In-app Configuration resetting 2025-02-05 01:42:27 -06:00
FluffyOMC 479b38f035 Add tooltips to game status (#625) 2025-02-05 00:42:20 -06:00
Evan Husted 3ecc7819cc UI: Fix the app list sort types using the newly changed localization keys 2025-02-04 23:47:24 -06:00
Evan Husted 4b1d94ccd8 misc: chore: [ci skip] use MultiplayerInfoConverter instance instead of constructing for every use 2025-02-04 23:36:36 -06:00
Evan Husted 4ae9f1c0d2 UI: Use Hosted Games & Player Count localization keys in list view too 2025-02-04 23:31:31 -06:00
Evan Husted 717851985e UI: Reorganize Game Info dialog popup + localization 2025-02-04 23:28:37 -06:00
Evan Husted bd08a111a8 UI: Show what each value is in the Game Info dialog, add game icon 2025-02-04 22:47:12 -06:00
Evan Husted 1972a47f39 UI: Game stats button on right click for Grid view users 2025-02-04 19:32:17 -06:00
Evan Husted 222ceb818b misc: chore: Use ApplicationLibrary helpers for getting DLCs & Updates for a game 2025-02-04 18:21:49 -06:00
Evan Husted b0fcc5bee1 misc: chore: Simplify HasCompatibilityEntry
(Totally didn't realize that SelectedApplication is already an ApplicationData)
2025-02-04 18:21:24 -06:00
Evan Husted 820e8f7375 [ci skip] UI: Strip dumped file information out of the DLC name 2025-02-04 18:10:28 -06:00
Evan Husted e8a7d5b0b7 UI: Only show DLC RomFS button under Extract Data when DLCs are available.
Also convert the constructor of DlcSelectViewModel to expect a normal title id and not one already converted to the base ID.
2025-02-04 17:21:54 -06:00
Evan Husted fafb99c702 misc: chore: [ci skip] don't even bother looking up the application; the tag present on the control *is* a valid title ID and can't reasonably change in between the tag being set and playability information being requested.
Even if it does, worst case scenario the compat list that pops up has no results.
2025-02-04 15:57:32 -06:00
Evan Husted df9e6e4812 UI: Added the ability to view Compat information on right click, and on clicking the status itself like the title ID button. 2025-02-04 15:51:27 -06:00
Evan Husted 566f3d079a misc: chore: Play Report analyzer code simplification 2025-02-04 00:56:59 -06:00
Evan Husted d7707d4176 UI: RPC: Only update presence if a value is actually different from the current presence 2025-02-03 23:12:50 -06:00
Evan Husted 7a9b62884a misc: chore: type-specific value accessors on PlayReportValue 2025-02-03 19:56:02 -06:00
Evan Husted de9faf183a misc: chore: [ci skip] wrong element order 2025-02-03 19:45:05 -06:00
Evan Husted 0bf7c5dfa2 misc: chore: [ci skip] AlwaysReturn factory function to go with the AlwaysResets singleton one. 2025-02-03 19:23:47 -06:00
Evan Husted 11bc32d98e UI: RPC: Reset Details when switching between Master Mode and Normal Mode on the title screen. 2025-02-03 19:19:17 -06:00
Evan Husted 063430ea16 misc: chore: Use .Match 2025-02-03 19:18:31 -06:00
Evan Husted 65f08caaa3 misc: chore: .Match helper method on PlayReportAnalyzer.FormattedValue. 2025-02-03 19:18:17 -06:00
Evan Husted f225b18c05 misc: chore: XMLDocs on PlayReportAnalyzer system.
- Change PlayReportValue to a basic class passed normally instead of a struct passed by reference
2025-02-03 18:54:38 -06:00
Evan Husted d8549f687b misc: chore: convert split ThreadStatic fields & property getter/setters into a single property with [field: ThreadStatic] 2025-02-03 17:04:11 -06:00
Evan Husted 5ab50680b4 HLE: Run Play Report event handlers in a dedicated .NET thread 2025-02-03 17:01:44 -06:00
Evan Husted a0edc5c2b0 UI: RPC: Small change to how values are passed to hopefully detect the player pos better 2025-02-03 15:46:39 -06:00
Evan Husted 158ea7b4d6 misc: chore: logged coordinate is a decimal not a whole number 2025-02-03 15:33:12 -06:00
Evan Husted 8bc3de8303 UI: RPC: Add TOTK current world layer to RPC based on logged player y pos 2025-02-03 14:54:34 -06:00
Evan Husted c812106611 UI: Show playability information under game version in List view 2025-02-03 13:49:56 -06:00
shinra-electric 11e4d8f970 Add the JP version of P5R to the list of Metal games (#612) 2025-02-03 01:36:58 -06:00
Evan Husted 774edb7b29 UI: Match System Time is now an active setting which you can toggle on/off. 2025-02-02 23:46:55 -06:00
Evan Husted 55536f5d78 misc: chore: Early exit HandlePlayReport if RPC is not enabled 2025-02-02 22:14:43 -06:00
Evan Husted b2eecd28ce UI: RPC: Value Formatter V3
- Allows the ability to bind a single PlayReportGameSpec to multiple title IDs, like for MK8D
- Allows the ability for the value formatters to tell the caller of the analyzer that they should reset the value, and also added the ability to explicitly not handle a value format.
2025-02-02 22:10:49 -06:00
Evan Husted fe43c32e60 UI: The argument to Play Report value formatters is now a struct containing the current ApplicationMetadata & the BoxedValue that was the only argument previously.
This allows for the title of Mario Kart to be localized when one of the value checkers doesn't match.
2025-02-02 20:47:42 -06:00
Evan Husted 8117e160c2 misc: chore: [ci skip] Move the play report analyzer definition into a PlayReport static class to avoid polluting the Discord integration module 2025-02-02 20:32:01 -06:00
Piplup bf713a80d6 PlayReportAnalyzer: Added Games (#614)
Added Super Mario Odyssey, Super Mario Odyssey (China), Super Mario 3D
World + Bowser's Fury, Mario Kart 8 Deluxe and Mario Kart 8 Deluxe
(China)
2025-02-02 20:29:00 -06:00
Evan Husted b38b5a1e70 docs: compat: Saints Row IV: Playable -> Ingame
Deadlock label added.

Game sometimes just stops loading in loading screens. Game continues like its doing something but you'll be sitting there for minutes wondering why nothing is happening.

Considering the game isn't crashing, this might be an emulator-side mutex issue. I've seen that before.
2025-02-02 16:59:06 -06:00
Evan Husted 2d7700949c UI: Play Report Analysis V2
Support for multiple keys per game, and provide an order of resolution via Priority.

(Currently) functionally identical to before, as only BOTW Master Mode is supported.
2025-02-02 16:07:30 -06:00
Evan Husted ea2287af03 misc: chore: Rewrite play report checker to use a simple loop instead of Gommon Optionals
(I love how a class that's supposed to guard against null values entering your code still allows them thats so cool)
2025-02-02 13:17:31 -06:00
Evan Husted 37af8c70aa UI: RPC: Add the ability for the DiscordIntegrationModule to inspect values in Play Reports and dynamically show different gameplay values, depending on a predefined map of values and formatters.
Currently only BOTW Master Mode is supported.
Open to PRs!
2025-02-02 02:21:33 -06:00
Evan Husted 50cee3fd19 feature: HorizonStatic PlayReportPrinted event 2025-02-02 02:20:14 -06:00
Evan Husted a46aacf2e2 gpu: Switch the 500ms timeout back to 1s
It seemed like it was waiting for 1 second no matter what; might as well have the log & syncpoint map match reality.
2025-02-01 19:21:19 -06:00
Evan Husted ad9d6588e8 misc: chore: Collapse HLE swkbd character validation utils into a single class 2025-02-01 14:11:35 -06:00
Evan Husted 38ef65aae0 misc: chore: Move all GeneratedRegex methods into one static class with static instance accessors. 2025-02-01 14:07:32 -06:00
Evan Husted 9f94aa1c79 misc: chore: gpu: Lower default Syncpoint wait timeout from 1 second to 500ms 2025-02-01 03:30:13 -06:00
Evan Husted 2c9a26c11c misc: chore: Regular Architecture bool properties in RunningPlatform without OS constraint 2025-02-01 03:29:24 -06:00
Evan Husted a4a15a4c80 misc: chore: simplify graphics backend selection logic in RendererHost constructor 2025-02-01 03:28:49 -06:00
Evan Husted cc3b95eee1 misc: chore: More descriptive error for trying to create a Metal EmbeddedWindow on non-ARM Mac 2025-02-01 03:28:26 -06:00
Evan Husted 2ab806f759 UI: [ci skip] Fix ContentDialog symbols being backwards for right-to-left languages 2025-02-01 01:42:12 -06:00
Evan Husted 6d75410bd2 UI: Use the dynamic Ryujinx/Ryujinx Canary for dialog titles 2025-01-30 21:57:03 -06:00
Evan Husted 196b2eaf66 misc: chore: [ci skip] Remove needless fs integrity checks get in aoc extractor 2025-01-30 20:54:08 -06:00
Evan Husted 82fe519766 misc: chore: [ci skip] fix log on AOC extraction failure 2025-01-30 20:52:12 -06:00
Evan Husted ff05e03cc8 misc: chore: Remove unused using directives across entire solution. 2025-01-30 20:27:17 -06:00
Evan Husted e18c6d90c4 misc: chore: Strip extension in GetNameForApplicationId instead of requiring the caller to do it 2025-01-30 20:22:11 -06:00
Evan Husted 9075a3960b misc: chore: Prefix OS, CPU, and RAM lines with the same method name as other system info prints. 2025-01-30 20:18:26 -06:00
Evan Husted 3cf54987d2 misc: chore: More ObservableProperty usage 2025-01-30 20:16:30 -06:00
Evan Husted 9c12f52805 UI: Pretty Atmosphère mod names (#601)
Changes the mods from the Atmosphère folder to show a pretty name
instead of just the name of the folder they're in, because those names
are always just a title ID.

NOTE: The DLC names are from the file names, not retrieved from the
content file itself like the main applications.
2025-01-30 17:41:25 -06:00
Otozinclus 059fc83d4d Add more games to Metal Auto list (#592)
ARMS: Tested every character and every Map, played a cup as well. It
works flawless in my testing. (If it freezes, that is caused by the
Hypervisor, not Metal. You need to disable the Hypervisor for this game)

Luigi's Mansion 2 HD: I tested every world a bit and had no issue. Isaac
said he specifically worked on it as well

Following games were flawless in my testing, but I only tested earlier
parts of the game so far, a late game part might have an issue,
therefore I will further test these in the future:

- Astral Chain
- Bayonetta Origins
- New Pokemon Snap
2025-01-30 17:22:00 -06:00
Evan Husted 04ce7fb764 misc: chore: [ci skip] VSync progression as an extension 2025-01-30 16:54:05 -06:00
Evan Husted 359852b5c0 UI: Change order of VSync mode changing
VSync -> VSync Off -> Custom
is now
VSync -> Custom -> VSync Off

Note that Custom only appears if it's enabled in settings. This has no change if you aren't using custom VSync.
2025-01-30 16:47:40 -06:00
Evan Husted 796674d9cf UI: Allow more freedom changing the Speed value & clamp the visible number to a sane amount of trailing digits 2025-01-30 03:30:50 -06:00
Evan Husted 4efe24a3bc misc: chore: [ci skip] forgot to make that a locale entry 2025-01-30 03:21:42 -06:00
Evan Husted 1a42d1396c UI: Rainbow cycling speed settings
Note: this setting is global, even though it appears in the settings for the individual gamepad. This is simply for consistency; you access all the rainbow stuff in one place.
2025-01-30 03:18:34 -06:00
Evan Husted 11f29361eb misc: chore: [ci skip] Log errors from TaskScheduler.UnobservedTaskException 2025-01-29 21:07:43 -06:00
Evan Husted 71d8cfd232 misc: chore: Pass rainbow color by reference in the event instead of passing around a packed int. 2025-01-29 20:51:55 -06:00
Evan Husted 023bd5f00f UI: Enable Rainbow cycling in the Settings window 2025-01-29 20:27:01 -06:00
Evan Husted 0ed7fd14ba misc: chore: [ci skip] Collapse CheckboxMenuItemStyle into the main Styles.xaml. 2025-01-29 18:59:17 -06:00
Evan Husted a624fe64b9 UI: Scanning for mods on DLC content 2025-01-29 13:33:34 -06:00
Vladimir Sokolov e02ef52069 Added --backend-threading arg for CommandLineState (#599)
Added the `--backend-threading` arg so that you can launch games via
a shortcut with modifications to this setting.
2025-01-29 12:49:36 -06:00
Evan Husted 707c9ef748 misc: chore: slightly improve PTC init log line 2025-01-28 22:25:01 -06:00
Evan Husted 2acc43e968 misc: chore: Use string.Empty in more places where it's snuck back 2025-01-28 22:17:11 -06:00
Evan Husted 191e158289 misc: chore: Use static instances of converters instead of using control resources 2025-01-28 22:11:48 -06:00
Evan Husted a469f3d710 UI: Remove empty StackPanel in UserSelectorDialog 2025-01-28 21:47:29 -06:00
shinyoyo 1b3656bca9 LED Color & LED settings header (zh_CN) (#590) 2025-01-28 21:29:06 -06:00
Evan Husted 502ce98b3a UI: [ci skip] Make cheat window larger by default 2025-01-28 21:27:51 -06:00
LotP1 7085bafa60 PPTC Profiles (#370)
Added functionality that allows ExeFS mods to compile to their own PPTC
Profile and therefore store PTC data between sessions.
The feature calculates the hash of the currently loaded ExeFS mods and
stores the PPTC data in a profile that matches said hash, so you can
have multiple ExeFS loadouts without causing issues. This includes
different versions of the same mod as their hashes will be different.
Using this PR should be seamless as the JIT Sparse PR already laid the
groundwork for PPTC Profiles and this PR just allows ExeFS mods to load
and store their own profiles besides the `default` profile.

 **WARNING!** 
**This will update your PPTC profile version, which means the
PPTC profile will be invalidated if you try to run a PR/Build/Branch
that does not include this change!**
**This is only relevant for the default PPTC Profile, as any other profiles do not exist to older versions!**
2025-01-28 20:36:58 -06:00
Evan Husted 9d28af935d headless: Enable Rainbow cycling if any input configs have UseRainbow enabled 2025-01-28 20:16:41 -06:00
Evan Husted cdf4016c25 Update README.md 2025-01-27 15:04:57 -06:00
Evan Husted 082c718f5d fix canary URL 2025-01-27 15:04:14 -06:00
Josh 31de0bf8c6 Increase NAT discovery timeout to 5000ms (#589)
1000ms was too fast on some slower networks. It would lead to an early
cancellation before device could be found.
2025-01-26 19:40:10 -06:00
Evan Husted f3942968f9 UI: Convert the various options for LED into a popup window similar to motion & rumble config. 2025-01-26 17:18:27 -06:00
Evan Husted ac838aa81d misc: chore: Use collection expressions everywhere else (except VP9) 2025-01-26 15:59:11 -06:00
Evan Husted 0f857400b6 misc: chore: Use collection expressions in Common project 2025-01-26 15:53:31 -06:00
Evan Husted 95f9e548ca misc: chore: Use collection expressions in Shader project 2025-01-26 15:50:50 -06:00
Evan Husted a5dbcb75d0 misc: chore: Use collection expressions in OpenGL project 2025-01-26 15:50:22 -06:00
Evan Husted aa0cb50c5d misc: chore: Use collection expressions in Gpu project 2025-01-26 15:49:22 -06:00
Evan Husted ae90db2040 misc: chore: Use collection expressions in Avalonia project 2025-01-26 15:47:11 -06:00
Evan Husted 46a5cafaa8 misc: chore: Use collection expressions in Memory project 2025-01-26 15:46:58 -06:00
Evan Husted 2853f5b426 misc: chore: Use collection expressions in Generator projects 2025-01-26 15:45:43 -06:00
Evan Husted 45125c16cf misc: chore: Use collection expressions in Input projects 2025-01-26 15:43:58 -06:00
Evan Husted 9f3eac7f26 misc: chore: Use collection expressions in Horizon project 2025-01-26 15:43:27 -06:00
Evan Husted 70b767ef60 misc: chore: Use collection expressions in HLE project 2025-01-26 15:43:02 -06:00
Evan Husted 3c2f283ec7 misc: chore: Use collection expressions in Audio project 2025-01-26 15:41:47 -06:00
Evan Husted 3e12865f51 misc: chore: Use collection expressions in Cpu 2025-01-26 15:41:05 -06:00
Evan Husted ed2590a8ac misc: chore: Use collection expressions in Vulkan project 2025-01-26 15:32:25 -06:00
Evan Husted 9cb3b40ffc misc: chore: Use collection expressions in ARMeilleure 2025-01-26 15:31:44 -06:00
Evan Husted c7db948fb3 misc: chore: Fix object creation everywhere else 2025-01-26 15:28:18 -06:00
Evan Husted 9e1a13b2ee misc: chore: Fix object creation in Audio project 2025-01-26 15:26:51 -06:00
Evan Husted d95f724d17 misc: chore: Fix object creation in Metal 2025-01-26 15:26:11 -06:00
Evan Husted e859bd5aa2 misc: chore: Fix object creation in Horizon generators 2025-01-26 15:26:01 -06:00
Evan Husted ccef0b49eb misc: chore: Fix object creation in Shader project 2025-01-26 15:22:30 -06:00
Evan Husted 7f5a356c3d misc: chore: Fix object creation in Common project 2025-01-26 15:21:47 -06:00
Evan Husted ae92fbf539 misc: chore: Fix object creation in Memory project 2025-01-26 15:20:28 -06:00
Evan Husted 56d373a011 misc: chore: Fix object creation in SPIRV generator 2025-01-26 15:19:53 -06:00
Evan Husted 742083ae3d misc: chore: Fix object creation in Horizon 2025-01-26 15:19:33 -06:00
Evan Husted 5fad450027 misc: chore: Fix object creation in Tests project 2025-01-26 15:19:01 -06:00
Evan Husted 929a16dd26 misc: chore: Fix object creation in Gpu project 2025-01-26 15:18:04 -06:00
Evan Husted 4e47c86f90 misc: chore: Fix object creation in GAL 2025-01-26 15:17:37 -06:00
Evan Husted 15d1528774 misc: chore: Fix object creation in ARMeilleure 2025-01-26 15:17:12 -06:00
Evan Husted 3cdaaa0b69 misc: chore: Fix object creation in Avalonia project 2025-01-26 15:16:50 -06:00
Evan Husted 5f023ca49b misc: chore: Fix object creation in Vulkan project 2025-01-26 15:16:32 -06:00
Evan Husted eae6dba610 misc: chore: Fix object creation in OpenGL project 2025-01-26 15:16:12 -06:00
Evan Husted 94b65aec02 misc: chore: Fix object creation in Cpu project 2025-01-26 15:15:48 -06:00
Evan Husted beab133c8d misc: chore: Fix object creation in HLE project 2025-01-26 15:15:26 -06:00
Evan Husted f1fd5c9366 misc: chore: Link to Ryubing/Ryujinx in markdown docs 2025-01-26 14:28:55 -06:00
Evan Husted 5396327ac1 misc: chore: Replace GreemDev/Ryujinx with Ryubing/Ryujinx in Amiibo.json 2025-01-26 14:22:59 -06:00
Evan Husted 3f12727ef8 input: LED rainbow now updates the LED with the normal gamepad update loop instead of subscribing to an updated event for the rainbow color in SetConfiguration. 2025-01-25 23:13:51 -06:00
Evan Husted 8bfcebebf1 Merge remote-tracking branch 'origin/master' 2025-01-25 22:44:26 -06:00
Evan Husted e3f20abd23 UI: RPC: Maintain game started timestamp for the duration of the AppHost 2025-01-25 22:44:16 -06:00
Daenorth 0c36bcd7d4 Added more titles to RPC (#569)
Added some more titles to the RPC environment

-Brawlhalla
-Minecraft
-Risk
-Stardew Vallet
-Valkyria Chronicles 4
-Super bomberman R
-Arcade archives Super mario bros
-Divinity Original sin 2 DE
-Monopoly
-titan Quest
2025-01-25 22:02:24 -06:00
shinyoyo 050b9a0da4 Updated Zh_CN Simplified Chinese (#578) 2025-01-25 21:59:20 -06:00
Dehunc a1291f1061 Improved Simplified Chinese translation (#568)
Co-authored-by: Cwood <Cwood@DoVirt.org>
2025-01-25 21:59:06 -06:00
Otozinclus f15aa8fba0 Fix LED turning on in input settings, despite TurnOffLed being set to true (#583)
The ColorPicker auotmatically sets the LED to the selected Color
whenever the Input Settings are opened. Therefore it now checks if the
setting is turned off before changing the color.
2025-01-25 17:15:17 -06:00
Evan Husted 250acab7a7 misc: chore: Use explicit types in Tests projects 2025-01-25 14:15:47 -06:00
Evan Husted 93539e7d45 misc: chore: Use explicit types in GAL 2025-01-25 14:14:40 -06:00
Evan Husted 69e0b79bd9 misc: chore: Use explicit types in Horizon project 2025-01-25 14:14:13 -06:00
Evan Husted 5eba42fa06 misc: chore: Use explicit types in HLE project 2025-01-25 14:13:18 -06:00
Evan Husted 58c1ab7989 misc: chore: Use explicit types in OpenGL project 2025-01-25 14:12:37 -06:00
Evan Husted 2d1a4c3ce5 misc: chore: Use explicit types in Vulkan project 2025-01-25 14:12:17 -06:00
Evan Husted e6b393e420 misc: chore: Use explicit types in Generator projects 2025-01-25 14:11:46 -06:00
Evan Husted fe661dc750 misc: chore: Use explicit types in Memory project 2025-01-25 14:09:36 -06:00
Evan Husted ac401034d7 misc: chore: Use explicit types in input projects 2025-01-25 14:09:05 -06:00
Evan Husted 1712d69dcd misc: chore: Use explicit types in Texture & Vic 2025-01-25 14:08:35 -06:00
Evan Husted f2aa6b3a5b misc: chore: Use explicit types in Shader project 2025-01-25 14:07:59 -06:00
Evan Husted 68bbb29be6 misc: chore: Use explicit types in NVDEC projects (except VP9 because there's an open PR and I don't want to cause conflicts) 2025-01-25 14:07:20 -06:00
Evan Husted 76ec047eb7 misc: chore: Use explicit types in Metal project 2025-01-25 14:06:26 -06:00
Evan Husted 1ae349efb1 misc: chore: Use explicit types in GPU, Device, and Host1x projects 2025-01-25 14:05:44 -06:00
Evan Husted 5099548856 misc: chore: Use explicit types in CPU project 2025-01-25 14:04:43 -06:00
Evan Husted a97fd4beb1 misc: chore: Use explicit types in common project 2025-01-25 14:04:12 -06:00
Evan Husted 97188556d8 misc: chore: Use explicit types in audio projects 2025-01-25 14:03:38 -06:00
Evan Husted e0567c5ce9 misc: chore: Use explicit types in ARMeilleure project 2025-01-25 14:01:13 -06:00
Evan Husted be3bd0bcb5 misc: chore: Use explicit types in the Avalonia project 2025-01-25 14:00:23 -06:00
Evan Husted 3b5f6170d1 misc: chore: move Rainbow updating to a separate task started/stopped as needed
update gommon & use the Event class from it to allow easily clearing all handlers when the apphost exits to avoid leftover invalid event handlers in the rainbow event handler list.
More robust config application logic to ensure what needs to happen only happens once
2025-01-24 23:06:59 -06:00
Evan Husted 9b6afa0ea2 misc: chore: Add log line to the other parts of the Updater that represent "up to date" 2025-01-24 17:00:50 -06:00
Evan Husted 3541e282ea Fully disconnect gamepad handler for rainbow color if configuration is set with UseRainbowLed false
Also check if its even enabled before setting the rainbow color
Fixes strobing
2025-01-24 16:52:20 -06:00
Otozinclus 1ce37ec317 Add option to change controller LED color (#572)
This allows the user to change the controller LED while using Ryujinx.
Useful for PS4 and PS5 controllers as an example.

You can also use a spectrum-cycling Rainbow color option, or turn the LED off for DualSense controllers.

---------

Co-authored-by: Evan Husted <greem@greemdev.net>
2025-01-24 14:47:36 -06:00
Evan Husted c06f16c5e6 infra: chore: Raise minimum required Windows 10 version
Inspired by the breakages covered in #409
2025-01-23 17:39:34 -06:00
Evan Husted 7829fd8ee7 misc: chore: OS + CPU arch helpers 2025-01-23 16:58:48 -06:00
Evan Husted 33079422fe misc: chore: code cleanups 2025-01-23 16:47:11 -06:00
Evan Husted f81cb093fc misc: chore: Change references of GreemDev/Ryujinx to Ryubing/Ryujinx 2025-01-23 16:27:49 -06:00
Evan Husted dc0c7a2912 infra: clarify how stable builds are made now 2025-01-23 16:27:25 -06:00
Evan Husted 1fbee5a584 infra: Metal label 2025-01-23 14:39:36 -06:00
Evan Husted c140e9b23c UI: Localize LED color & hide it until it's functional
Also moved IgnoreApplet to the System config section object.
2025-01-23 00:48:42 -06:00
Evan Husted 9c8055440e HLE: TryAdd firmware NCAs 2025-01-22 23:58:11 -06:00
Evan Husted c03cd50fa3 UI: Add the ability to change a DualSense/DualShock 4's LED color.
Not functional yet. This is the UI & persistence side of #572.
2025-01-22 19:53:39 -06:00
Evan Husted 069f630776 docs: compat: boots: ENDER MAGNOLIA: Bloom in the Mist 2025-01-22 18:00:14 -06:00
Evan Husted 13d411e4de misc: chore: also ToLower the titleID for the OpenShaderDirectory button 2025-01-22 08:54:39 -06:00
Evan Husted 9f53b07491 misc: chore: Fix shader cache & CPU cache being in different folders on non-Windows
fixes #565
2025-01-22 08:52:21 -06:00
Evan Husted cd8113dadf misc: chore: Collapse adding a game/autoload dir into a single reusable method. 2025-01-21 18:59:56 -06:00
Evan Husted 9089c4ffe5 misc: chore: Multi/Single file/folder picker extensions (for convenience)
The result of these extensions is an empty Optional when the user hits Cancel on the shown file picker.
2025-01-21 18:59:19 -06:00
Evan Husted fe9d8d05bd UI: Fixed the Amiibo keybind only working when the UI had been updated. 2025-01-21 18:00:51 -06:00
Evan Husted 880a8ae748 misc: chore: Remove duplicated styling blocks in MainMenuBarView in favor of a reusable Avalonia Style. 2025-01-21 17:50:55 -06:00
asfasagag 11531dacb6 UI: Option to automatically Hide UI when game launches (#462)
Quality of life feature
Similar in function to the "Start Games in Fullscreen" toggle
For users who want to run games in windowed/non-fullscreen mode with
menu UI hidden, this eliminates the need to always click "Hide UI"
2025-01-21 17:36:51 -06:00
Evan Husted 3974739ed3 More descriptive classification 2025-01-21 17:35:22 -06:00
Evan Husted 440a3447fb docs: compat: Update South Park: The Fractured but Whole: playable -> boots 2025-01-21 17:10:54 -06:00
Evan Husted 65374ed6cb UI: [ci skip] clarify dirty hacks subtext 2025-01-21 16:57:05 -06:00
Evan Husted 789d6ab959 misc: chore: Improve autoloading DLC/updates logging, deliberately switch to Vulkan if Metal was somehow chosen on a non-mac system, add logger lines in the updater, cleanup enabled logs printing 2025-01-21 14:59:08 -06:00
Evan Husted 182db31343 metal: Added Persona 4 Arena Ultimax to Auto 2025-01-21 14:07:05 -06:00
Evan Husted ea296b134d Use specific Ubuntu version in build script 2025-01-21 14:05:49 -06:00
Evan Husted bf584442b2 misc: chore: remove needless call to string.Format 2025-01-21 14:05:49 -06:00
Otozinclus cb7c294dbf Add more games to metal game list (#558)
Link's awakening I have played through most of the game with 0 issues.

In LEGO City undercover I have played multiple missions and explored the
map, I was unable to spot any issue. Except shadows flickering
sometimes, but that seems to happen on Vulkan and the PC version as well
and is propably normal.

Bayonetta seems to work flawless so far.

In Fast RMX, some tracks have flickering issues, like the second track
of the first cup. This happens on Vulkan as well.

-

Mario Bros. Wonder has following issues:

Overall issues:
- Sometimes there is short white flickering/artifacts, but they happen
on Vulkan as well.

Metal specific issue:
- In 2 underwater levels, a specific location causes a FPS drop not
present on Vulkan. But this is very minor and on all current M chips you
get on average better FPS with Metal (On my M3, there are occasional
drops that are worse with Vulkan), reducing stutter quite noticeably,
which is why I think it should get added to auto regardless.

- Isaac mentioned there is a issue in level 2, where the flowers singing
desync somehow. However, I was after lot of testing unable to replicate
this issue at all. More testing could be useful.

Fix: Fixed 2 typos in the comments
2025-01-21 14:05:41 -06:00
Daenorth eaf1e7efd2 Cleanup in TitleIDs.cs (#546)
Just a little cleanup in TitleID.cs, adding a franchise title to most
franchises + sorting in alphabetical on all games.
2025-01-21 11:20:43 -06:00
Judas Drekonym 471e7ed2e4 Add TitleID sort method (#553)
Adds an additional application list sorting method for the TitleID. A
bit of a niche choice for sorting but I think the TID is a relevant
enough piece of metadata that it should be there. (And I personally
would be using it)

- Using existing TitleId constant in ApplicationSort, implying this was
meant to be in the sorting options at some point?
- Reuses the "DlcManagerTableHeadingTitleIdLabel" locale for fulfilling
the need already, might be better to make a unique one for this in the
long run but this codebase is new to me so I wanted to make the changes
as unobtrusive as possible
- Using app.Id for the comparer seems to work fine, not sure if using
something else like IdString would be better?
2025-01-21 11:06:40 -06:00
Matt Zinkevicius ad3e80b383 Log .NET runtime version (#552)
I was looking into a crash, and found out it was an issue that was fixed
in .NET 9.0.1. Since Ryujinx embeds the runtime into the executable, it
not obvious which runtime a build uses. This logs the .NET runtime
version immediately after the build version.
2025-01-20 19:19:19 -06:00
Evan Husted ed64a63094 UI: Visually merge "Actions" and "Tools" menu bar items into Actions
The contents of the menu item are dependent on whether you're in a game.
No functionality has been removed.
2025-01-20 16:56:05 -06:00
Evan Husted 8df7ba2d56 i18n: Norwegian DLC RomFS dumping translation 2025-01-20 15:55:37 -06:00
LotP1 e743d78115 Add/fix service reported info (#551)
fixes the GetConfig service call, which now returns success correctly
adds support for getting the device serial number (which is fake and
reports as "RYU00000000000")
2025-01-20 14:59:54 -06:00
Evan Husted 04ba762710 UI: Move DLC RomFS dumping under normal RomFS dumping.
Also removed it from DLC manager.
2025-01-20 14:30:28 -06:00
Evan Husted f42b2ed59d misc: chore: more correct last used user checking 2025-01-20 13:33:59 -06:00
Evan Husted d135385cab Leftovers, oops 2025-01-20 09:32:38 -06:00
Evan Husted b360f4e721 UI: Dump DLC RomFS.
You can access this in the Manage DLC screen, it's the new button on each DLC line.

Closes #548
2025-01-20 09:28:58 -06:00
Daenorth a1c0c70ec2 Added missing TitleIDs (#545)
Added the remaining missing TitleIDs in the compat.csv list.
Excluding Homebrew apps.
2025-01-19 21:15:46 -06:00
Daenorth 290ac405ac Updated Ukrainian translation by Rondo (#543)
Co-authored-by: rrondo <46533574+rrondo@users.noreply.github.com>
2025-01-19 21:00:40 -06:00
Evan Husted bbd64fd5f0 misc: chore: Cleanup AppletMetadata usage 2025-01-19 19:40:49 -06:00
Evan Husted 09446fd80e [ci skip] infra: Update copyright year in shortcut plist 2025-01-19 18:57:05 -06:00
Evan Husted 4f014a89cf docs: compat: Donkey Kong Country Returns HD 2025-01-19 18:28:43 -06:00
Evan Husted 6482e566ab UI: Compat: Unload compatibility entries when the window closes. 2025-01-19 17:41:50 -06:00
Evan Husted 7fcd9b792e UI: Compat: Update owned game title IDs when ApplicationLibrary app count updates 2025-01-19 17:41:31 -06:00
Evan Husted e676fd8b17 UI: misc: simplify Intel Mac warning logic 2025-01-19 14:42:15 -06:00
Evan Husted dd16e3cee1 misc: chore: very small cleanup in AvaHostUIHandler 2025-01-19 13:18:40 -06:00
Evan Husted 31e5f74e05 UI: misc: Replace spaces in Title with newlines when using custom title bar (since the Title is in an Avalonia tooltip) 2025-01-19 13:05:20 -06:00
Evan Husted f2f099bddb remove Async suffixes; they're factory methods not actual async methods. 2025-01-19 12:46:32 -06:00
Evan Husted 2616dc57fb misc: chore: RelayCommand helper 2025-01-19 12:44:07 -06:00
Evan Husted 0cdf7cfe21 UI: Open cheat manager in catch-all try 2025-01-18 22:48:06 -06:00
Evan Husted 2ecf999569 misc: chore: change ThemeManager ThemeChanged to a basic Action since both arguments are unused 2025-01-18 22:48:06 -06:00
Daenorth b612fc5155 Updated TitleIDs (#541)
Added more games to the RPC list. Now alphabetical.
2025-01-18 22:19:28 -06:00
Evan Husted 25eb545409 Update bug_report.yml 2025-01-18 20:55:28 -06:00
Jacob 52269964b6 Add the player select applet. (#537)
This introduces the somewhat completed version of the Player Select
Applet, allowing users to select either a user or a guest from the UI.
Note: Selecting the guest more then once currently does not work.

closes https://github.com/Ryubing/Ryujinx/issues/532
2025-01-18 20:40:33 -06:00
Evan Husted ccdddac8fc Fix compile warnings 2025-01-18 19:34:31 -06:00
Daenorth 1bc30bf3ba Update locales.json (#538)
Added a missing translation line
2025-01-18 18:40:51 -06:00
Evan Husted 4868fface8 UI: Intel Mac warning
Upon launch, shows a warning about using an Intel Mac. This will only show once every boot. You can only turn it off by getting a better system.
2025-01-18 15:33:05 -06:00
Evan Husted 6fca4492d0 misc: chore: Remove status update event stuff in Headless 2025-01-18 15:15:08 -06:00
Evan Husted ade2f256e0 misc: chore: remove duplicate graphics debug levels in headless windows 2025-01-18 11:19:38 -06:00
Evan Husted 580b150c9a Revert "infra: Conditionally compile Metal & OpenGL depending on if the target RuntimeIdentifier is mac"
This reverts commit 2f93a0f706.
2025-01-18 10:57:02 -06:00
Evan Husted e6bad52945 Revert "Only selectively compile Metal & fix some compilation issues"
This reverts commit beda3206e0.
2025-01-18 10:56:58 -06:00
Evan Husted beda3206e0 Only selectively compile Metal & fix some compilation issues 2025-01-18 10:52:32 -06:00
Evan Husted 2f93a0f706 infra: Conditionally compile Metal & OpenGL depending on if the target RuntimeIdentifier is mac 2025-01-18 10:38:29 -06:00
Evan Husted 80f44d9547 misc: chore: small cleanup 2025-01-18 10:33:57 -06:00
Evan Husted b08e5db6d8 Headless: Dispose of inputmanager in a catch-all try 2025-01-18 10:30:19 -06:00
Evan Husted 6a291d4116 Headless: Use main UI logo for window icon instead of separate bmp 2025-01-18 10:26:12 -06:00
Evan Husted 6fc827fe67 headless: collapse headless window definition into a "Windows" folder, change GetWindowFlags to an abstract property. 2025-01-18 10:15:24 -06:00
Daniel Nylander 6cd4866d76 Updated sv_SE in locales.json (#513) 2025-01-17 18:04:18 -06:00
WilliamWsyHK 4d7ca5c0f0 Update Chinese translations (#375) 2025-01-17 17:35:34 -06:00
GabCoolGuy a375faecc1 UI: Fix UpdateWaitWindow.axaml windows being too big on windows (#314) 2025-01-17 14:14:19 -06:00
Evan Husted 1728b0f20c WWE 2K18 is not playable. 2025-01-17 11:37:08 -06:00
LotP1 5aa071c59b remove notice for unusual core counts (#531) 2025-01-17 05:50:42 -06:00
Daenorth 1018c9db8b Update Norwegian Translation (#503)
Norwegian translation updated with the Compatibility list addition
2025-01-16 10:02:33 -06:00
Evan Husted 01ccd18726 UI: Meant to use that method in another place [ci-skip] 2025-01-16 09:52:35 -06:00
Evan Husted abfbc6f4bc UI: Prevent desynced RPC when toggling it off/on while in-game 2025-01-16 09:52:01 -06:00
Francesco Saltori 6a4bc02d7a Update Italian translation (#489) 2025-01-16 06:38:36 -06:00
Hack茶ん 814c0526d2 Korean translations for compat list (#502) 2025-01-16 04:57:32 -06:00
Evan Husted a5a4ef38e6 HLE: Stub IHidServer SetGestureOutputRanges (#524)
Lets "Donkey Kong Country Returns HD" get into main gameplay.
2025-01-16 02:39:39 -06:00
Evan Husted c17e3bfcdf genuinely dont know how that was still there, i thought i got rid of UI.Common 2025-01-15 03:01:17 -06:00
Evan Husted 017f46f318 HLE: misc: throw a more descriptive error when the loaded processes doesn't contain _latestPid (likely missing FW) 2025-01-15 03:01:17 -06:00
Keaton fd4d801bfd Various NuGet package updates (#203)
Updates the following packages:

**nuget: bump the avalonia group with 7 updates**

* Bump Avalonia, Avalonia.Controls.DataGrid, Avalonia.Desktop,
Avalonia.Diagnostics, and Avalonia.Markup.Xaml.Loader from 11.0.10 to
11.0.13
* Bump Avalonia.Svg and Avalonia.Svg.Skia from 11.0.0.18 to 11.0.0.19

**nuget: bump non-avalonia packages**

* Bump Concentus from 2.2.0 to 2.2.2
* Bump Microsoft.IdentityModel.JsonWebTokens from 8.1.2 to 8.3.0
* Bump Silk.NET.Vulkan group with 3 updates (2.21.0 to 2.22.0)
* Bump SkiaSharp group with 2 updates (2.88.7 to 2.88.9)
2025-01-13 11:15:05 -06:00
GabCoolGuy f1dee50275 infra: Update to LLVM 17 (#519)
This fixes macos builds not building correctly because of a missing
LLVM 14 package.
2025-01-12 14:57:57 -06:00
shinyoyo c2ae49eb47 Add some missing Simplified Chinese translations (#515) 2025-01-12 12:33:27 -06:00
WilliamWsyHK 47c71966d0 Add compat of Xenoblade 2 JP edition same as global edition (#517) 2025-01-12 12:31:58 -06:00
Evan Husted f9e8f4bc29 docs: compat: Ori and the Will of the Wisps is now ingame, not playable 2025-01-11 06:10:58 -06:00
Evan Husted 7694c8c046 Do not auto release stable 2025-01-11 04:08:11 -06:00
Evan Husted 0dd789e8a5 misc: chore: remove redundant trimming on CompatibilityEntry.GameName init 2025-01-11 01:26:34 -06:00
Evan Husted 4e0aafd005 docs: compat: Trim redundant/duplicate information to save space 2025-01-11 01:18:10 -06:00
Evan Husted c5091f499e docs: compat: The House of the Dead: Remake Playable 2025-01-11 00:38:32 -06:00
Evan Husted 41c8fd8194 misc: chore: lol this field was misspelled 2025-01-10 23:23:53 -06:00
Evan Husted d4a7ee25ea misc: chore: use ObservableProperty on input view models 2025-01-10 23:23:05 -06:00
Evan Husted 3141c560fb misc: chore: remove sender parameter from LdnGameData receieved event 2025-01-10 23:15:55 -06:00
Evan Husted de341b285b misc: use ObservableProperty on HotkeyConfig fields 2025-01-10 23:15:37 -06:00
Evan Husted cc95e80ee9 misc: chore: Move converters into a directory in Helpers. Namespace unchanged 2025-01-10 20:24:53 -06:00
Evan Husted d75ce52bd4 UI: Show play time in one time unit, maxing out at hours. 2025-01-10 20:23:47 -06:00
Evan Husted 4a4ea557de UI: compat: show last updated date on entry hover 2025-01-10 01:43:34 -06:00
Evan Husted 33f42adb11 Merge remote-tracking branch 'origin/master' 2025-01-09 22:09:01 -06:00
LotP1 918ec1bde3 cores rework (#505)
This PR changes the core count to be defined in the device instead of
being a const value.
This is mostly a change for future features I want to implement and
should not impact any functionality.
The console will now log the range of cores requested from the
application, and for now, if the requested range is not 0 to 2 (the 3
cores used for application emulation), it will give an error message
which tells the user to contact me on discord. I'm doing this because
I'm interested in finding applications/games that don't use 3 cores and
the error will be removed in the future once I've gotten enough data.
2025-01-09 21:43:18 -06:00
Evan Husted cca429d46a misc: chore: restore not enable 2025-01-09 21:42:54 -06:00
Evan Husted 845c86f545 misc: chore: cleanup AppletMetadata.CanStart 2025-01-09 21:14:35 -06:00
Evan Husted 27993b789f misc: chore: fix some compile warnings 2025-01-09 20:23:26 -06:00
Evan Husted bdd890cf6f UI: logger function name 2025-01-09 19:48:11 -06:00
Evan Husted c5574b41a1 UI: collapse LoadFromStream into static ctor
pass the index get delegate to the struct instead of the entire header
2025-01-09 19:44:24 -06:00
Evan Husted 292e27f0da UI: dispose CSV reader when done + use explicit types 2025-01-09 19:24:48 -06:00
Evan Husted 606e149bd3 UI: Create a ColumnIndices struct and pass it by reference to the row ctor instead of recomputing the column index for every column on every row 2025-01-09 18:48:15 -06:00
Evan Husted a8c3407d11 missing JP title id 2025-01-09 14:25:16 -06:00
Evan Husted daa8168985 docs: compat: the final title IDs i could find 2025-01-09 14:03:37 -06:00
Vita Chumakova f580521e99 Update game data in the compatibility database (#507)
The entries were matched with the game database from
https://github.com/blawar/titledb/blob/master/US.en.json, allowing to
fill missing title IDs and fix game names.
2025-01-09 13:18:27 -06:00
Evan Husted 2226521f6c docs: compat: remove quotes around everything but game titles 2025-01-08 12:36:26 -06:00
Evan Husted 384416953d docs: compat: list title ID column first 2025-01-08 12:30:13 -06:00
Evan Husted 1343fabe41 docs: compat: some more missing title ids 2025-01-08 12:20:20 -06:00
Evan Husted 1e52af5e29 docs: compat: Multiple big changes:
Sort alphabetically,
Remove title IDs in "issue_title" column,
and remove all entries without a playability status.
2025-01-07 20:17:09 -06:00
Evan Husted 672f5df0f9 docs: compat: Remove issue_number & events_count columns
That's mostly for archival purposes; we don't need it.
2025-01-07 18:49:04 -06:00
Evan Husted 804d9c1efe docs: compat: remove invalid dupe 2025-01-07 06:03:35 -06:00
Evan Husted 9270b35648 no. 2025-01-07 05:53:31 -06:00
Evan Husted 5a6d01db3c docs: compat: trine 4 -> nothing
added Soul Reaver 1 & 2
2025-01-07 05:50:30 -06:00
Evan Husted ef9c1416ec UI: compat: Only use monospaced font for title ID 2025-01-07 04:49:20 -06:00
Evan Husted 5efa7d5dfa UI: compat: remove custom ContentDialog derived type 2025-01-07 04:37:36 -06:00
Evan Husted a82569d615 docs: compat: LEGO Horizon Adventures 2025-01-07 04:28:10 -06:00
Evan Husted ed5832ca73 docs: compat: Add new releases to the end of the file 2025-01-07 04:21:33 -06:00
Evan Husted 574aa9ff9c add a couple missing title IDs 2025-01-07 04:21:08 -06:00
Evan Husted 8a29428de2 docs: compat: update hogwarts legacy compat 2025-01-07 03:57:13 -06:00
Evan Husted f4272b05fa UI: Compat list disclaimer 2025-01-07 03:53:10 -06:00
Evan Husted d8265f7772 Embed compatibility list into executable
instead of downloading

Co-Authored-By: Vita Chumakova <me@ezhevita.dev>
2025-01-07 03:37:07 -06:00
Evan Husted 259526430c UI: Properly space language menu items instead of prepending a space to the language name 2025-01-07 00:36:22 -06:00
Evan Husted b5fafb6394 UI: stop using async voids in MainMenuBarView; use RelayCommands 2025-01-06 23:52:20 -06:00
Evan Husted 323c356d9c UI: Widen compatibility list, and make search box take up all space horizontally 2025-01-06 22:03:39 -06:00
Evan Husted 30b22ce6ba UI: fix nullref 2025-01-06 08:02:37 -06:00
Evan Husted 9acecc9eb2 UI: default OnlyShowOwnedGames in compat list to true 2025-01-06 07:53:27 -06:00
Evan Husted 4193a37a91 these files are a little bit needed 2025-01-06 07:38:11 -06:00
Evan Husted c4cc657b89 UI: Compatibility List Viewer 2025-01-06 07:31:57 -06:00
Evan Husted 9726b0feb0 Use Canary-Releases for AppImage Canary updates 2025-01-06 01:27:37 -06:00
Evan Husted 159ff828a1 give canary appimages the ryujinx-canary name 2025-01-06 01:22:05 -06:00
Evan Husted 6fa2bfc736 fix canary ci 2025-01-06 01:15:39 -06:00
Piplup 2c24df0247 reworked workflows (#497)
this makes `canary.yml` follow the same order of steps as `release.yml`,
adding appimages to the canary versions and i fixed some bugs with the
`build-appimage.sh` mainly fixing linking to the old repo
2025-01-06 01:07:16 -06:00
Evan Husted 13efc3e544 Switch back to nightly.link
I'm pretty sure them not working was due to old links pointing to GreemDev/Ryujinx after the org change
2025-01-06 00:09:48 -06:00
Evan Husted 845dd9a8db vk: regression: potentially fix various random graphical anomalies 2025-01-05 22:25:05 -06:00
Evan Husted b661bdd997 Revert "infra: feat: XML Solution"
This reverts commit cc84041270.
2025-01-05 16:41:08 -06:00
Evan Husted cc84041270 infra: feat: XML Solution 2025-01-05 16:33:44 -06:00
Evan Husted 987ab9be41 Fix part 2 2025-01-05 16:03:34 -06:00
Evan Husted 8a2bc3957a UI: fix: new updates not being autoloaded 2025-01-05 15:45:01 -06:00
Evan Husted 850df38f1e cleaup imports 2025-01-04 06:54:46 -06:00
Emmanuel Hansen c8d598d5ac use UnmanagedCallersOnly for delegates 2025-01-04 06:52:25 -06:00
Evan Husted 3e5b2bda38 UI: RPC: Goat Simulator 3 asset image 2025-01-03 22:25:32 -06:00
Evan Husted 9bb50fc6dd misc: improve unpacking error & add nullability to SelectedIcon 2025-01-03 22:25:32 -06:00
Evan Husted e956864697 misc: Remove needless AsObservableList 2025-01-03 22:25:32 -06:00
WilliamWsyHK f43442f774 Include Hack for XC2 JP Edition (#481)
XC2 has 2 editions, one JP and one global. I own the JP version and
suffered from the soft-lock, meanwhile the current hack only works for
global edition, so PR is simply include JP edition from the hack.
2025-01-01 02:15:14 -06:00
Evan Husted 88d11d3d8d misc: some cleanups and fix compile warnings 2025-01-01 02:14:59 -06:00
Evan Husted 391f57bdd2 misc: Headless: Inherit main input config 2025-01-01 01:55:10 -06:00
Evan Husted fd2b5a7fc1 misc: Remove RendererHost AXAML 2025-01-01 01:55:10 -06:00
Otozinclus 37c165e9fc Only delay shader translation on Metal (#480)
This way the Arbitrary Shader Translation Delay hack will no longer
affect shader loading when using Vulkan.
2025-01-01 00:18:17 -06:00
Daenorth 003a6d322b Update to no_NO Norwegian Translation (#475)
Updated for time resync & auto graphics backend
2025-01-01 00:15:21 -06:00
jozz024 978d2c132b add a keyboard shortcut for opening amiibo .bin files (#461) 2024-12-31 22:45:52 -06:00
Evan Husted 5d63706cea misc: Bake in ValueEqual logic into ReactiveEventArgs
[ci skip]
2024-12-31 22:34:14 -06:00
Evan Husted 732aafd3bb misc: Prevent value change logging when the value is changed to the same thing it was before the value change. 2024-12-31 22:23:08 -06:00
Evan Husted 3fa714bb72 misc: DateTimeOffset Extract extension from Gommon 2024-12-31 21:21:54 -06:00
Evan Husted 7c01633f13 UI: Show the path of the mod on the folder button 2024-12-31 21:15:50 -06:00
Evan Husted 27c5cba10b misc: More Mvvm usage instead of writing out the observable properties 2024-12-31 21:11:57 -06:00
Evan Husted 3525d5ecd4 UI: clean up slider UI for shader translation delay 2024-12-31 20:11:49 -06:00
Evan Husted 6286501550 misc: do not log dirty hack changes if ShowDirtyHacks is disabled 2024-12-31 20:11:44 -06:00
Evan Husted 61ae427a4d misc: Add CommunityToolkit.Mvvm for observable property generation; apply it to MainWindowViewModel for now. 2024-12-31 03:29:08 -06:00
Evan Husted 19d2883a35 UI: Store config migrations in a dictionary and loop through it to do migrations. 2024-12-31 02:51:14 -06:00
Evan Husted 617c03119f misc: clean vsync toggle log 2024-12-31 00:52:39 -06:00
Evan Husted e43d899e1d misc: Use a few static helpers for Avalonia objects 2024-12-31 00:19:23 -06:00
Evan Husted 0cd09ea0c5 misc: Simplify ControlHolder checks in MainWindowViewModel 2024-12-31 00:04:23 -06:00
Evan Husted 4135d74e4d UI: Only allow right click to create a context menu if a game is selected. 2024-12-30 23:50:55 -06:00
Evan Husted bd29f658b1 misc: Forgot about OfType [ci skip] 2024-12-30 23:28:32 -06:00
Evan Husted df150f0788 misc: Significantly reduce duplicated code in ConfigurationState migration logic. 300 lines removed; functionally identical. 2024-12-30 23:14:05 -06:00
Evan Husted e50198b37d Clarify DramSize XMLdoc 2024-12-30 23:11:59 -06:00
Evan Husted f426945fec misc: Rename DirtyHacks to DirtyHack
Rename DirtyHack.ShaderCompilationThreadSleep to ShaderTranslationDelay
Changed EnabledDirtyHack to a struct
rename DirtyHackCollection to DirtyHacks
2024-12-30 22:18:35 -06:00
Evan Husted 172869bfba misc: cleanup applying the current dirty hacks to the config upon loading the json 2024-12-30 22:11:16 -06:00
Evan Husted b6f88514f9 misc: Move BitTricks methods into BitUtils
Cleanup DirtyHackCollection
2024-12-30 22:11:16 -06:00
Hack茶ん e92f52e56c Korean translations for new locale keys (#465) 2024-12-30 21:13:43 -06:00
Evan Husted 318498eab0 misc: prefix ValidationTask with I, it's an interface
Mention in PR comment script that you now need to be logged into GitHub to download artifacts.
2024-12-30 20:57:18 -06:00
Evan Husted a5cde8e006 misc: Update Gommon, apply new extension 2024-12-30 20:37:02 -06:00
Evan Husted d0a344d632 Validation Project v2 (#471)
Original PR had issues in the CI when building.

> Refactor of the Validation System for more ease of use in the future.
The project now builds a standalone executable and executes it before
the main project is built or published.
Since it is now a standalone executable we are also able to use .NET
Core features as we are no longer locked to netstandard.

> The project currently includes 1 task, LocalesValidationTask, that
will check if the locales.json file has any of the following issues:
>   - The json is invalid.
>   - The json has locales with missing languages.
> - The json has locales with langauges that are just duplicates of the
en_US field.

> If the project is built or published locally it will also fix any
missing languages or duplicate fields.

---------

Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
2024-12-30 20:31:27 -06:00
Otozinclus ca66298817 Update Metal Games list (#472)
I tested let's go in most locations and did some battles and it runs
perfectly

Legends Arceus will freeze occasionally on Metal, so it was removed.
2024-12-30 20:28:35 -06:00
Evan Husted 9ae1c4380d UI: Fix crashing when opening an Applet or application with no existing icon 2024-12-30 02:32:44 -06:00
Evan Husted c88518bce2 Revert "Validation Project v2" (#470)
Reverts Ryubing/Ryujinx#444
2024-12-30 02:06:24 -06:00
Evan Husted a3888ed7cf Revert "misc: New Solution Format (.SLNX)"
This reverts commit 7cbbd02973.
2024-12-30 02:05:40 -06:00
Evan Husted 7cbbd02973 misc: New Solution Format (.SLNX) 2024-12-30 02:02:55 -06:00
LotP1 b2e1e553e4 Validation Project v2 (#444)
Refactor of the Validation System for more ease of use in the future.
The project now builds a standalone executable and executes it before
the main project is built or published.
Since it is now a standalone executable we are also able to use .NET
Core features as we are no longer locked to netstandard.

The project currently includes 1 task, LocalesValidationTask, that will
check if the locales.json file has any of the following issues:
The json is invalid.
The json has locales with missing languages.
The json has locales with langauges that are just duplicates of the
en_US field.

If the project is built or published locally it will also fix any
missing languages or duplicate fields.

---------

Co-authored-by: Evan Husted <gr33m11@gmail.com>
Co-authored-by: Evan Husted <greem@greemdev.net>
2024-12-30 01:54:25 -06:00
Marco Carvalho 699e1962b1 Prefer 'Convert.ToHexString' over call chains based on 'BitConverter.ToString' (#428) [ci-skip]
Co-authored-by: Evan Husted <greem@greemdev.net>
2024-12-30 01:53:43 -06:00
WilliamWsyHK e486b902b1 Skip processing application for LDN if it does not have control holder (#460) [ci-skip] 2024-12-30 01:53:06 -06:00
Evan Husted 0ab5b41c4b misc: Move dirty hack related stuff into a separate viewmodel, only show slider when translation delay is enabled. 2024-12-30 01:33:07 -06:00
Otozinclus d10a478cce Shader translation delay hack (#469)
A workaround to avoid a freeze when translating shaders with the Metal
backend, that would happen after changing version or going from Vulkan
to Metal. 

Adds a delay in milliseconds, configurable in the UI behind the Dirty Hacks mechanism.

---------

Co-authored-by: Evan Husted <greem@greemdev.net>
2024-12-30 01:12:51 -06:00
Evan Husted ec1020b165 UI: Dirty hacks clarification [ci skip] 2024-12-30 01:10:40 -06:00
Evan Husted 4082ebad1a Fix PR builds 2024-12-30 00:35:43 -06:00
Evan Husted da8ea06074 misc: Small cleanups 2024-12-30 00:14:55 -06:00
Evan Husted 7f9dccb293 misc: chore: Cleanup DummyHardwareDeviceDriver.cs 2024-12-30 00:09:31 -06:00
Evan Husted 8e4a77aba0 UI: Text in the shader translation slider tooltip 2024-12-30 00:09:19 -06:00
Evan Husted 8fd8a776c9 misc: prevent crashes 2024-12-29 23:39:40 -06:00
Evan Husted eec92c242c misc: Remove shader translation delay dirty hack from UI
it doesn't do anything
2024-12-29 22:55:33 -06:00
Evan Husted 42a739d34c misc: Expose DirtyHacks on GpuContext 2024-12-29 22:21:09 -06:00
Evan Husted f362bef43d misc: Overhaul DirtyHacks saving to support storing a value alongside an off/off flag. 2024-12-29 21:17:01 -06:00
Evan Husted f5ce539de9 misc: Move the rest of Ryujinx.UI.Common into other parts of the project. 2024-12-29 19:28:27 -06:00
Evan Husted 4f699afe7a misc: Move shortcut files into Avalonia project 2024-12-29 19:13:06 -06:00
Evan Husted 6caab1aa37 misc: move Models & Helpers into Common & Avalonia projects 2024-12-29 19:09:28 -06:00
Evan Husted 9baaa2b8f8 misc: Move image assets to Avalonia project 2024-12-29 18:37:37 -06:00
Evan Husted 7f376b4f45 misc: Move SystemInfo into Avalonia project 2024-12-29 18:13:38 -06:00
Evan Husted 32cdccde12 misc: Move UserError to Common project 2024-12-29 18:06:18 -06:00
Evan Husted cbd851d00e misc: Forgot about ReactiveObject 2024-12-29 04:16:08 -06:00
Evan Husted f463ea1c5d misc: Refactor Discord integration to listen on TitleIDs.CurrentApplication changes instead of waiting to be directly told when to change states. 2024-12-29 03:27:05 -06:00
Evan Husted 1dd69912b1 Partial revert, decouple TitleIDs.CurrentApplication from shader cache stuff; as I want that to ALWAYS reflect the current app. 2024-12-29 03:02:56 -06:00
Evan Husted 1fbb0d8e7d metal: also disable vsync for custom refresh rates 2024-12-29 02:21:25 -06:00
Evan Husted 9ee3f1ff36 metal: add PKL Arceus to MetalGreatTitles 2024-12-29 00:28:18 -06:00
Evan Husted d052d74ac4 misc: Remove duplicate prefix in GPU information line in log 2024-12-29 00:27:23 -06:00
Evan Husted df91c4c57a UI: Fix Title updates being not formatted 2024-12-29 00:08:20 -06:00
Evan Husted 2aaaa7872f UI: Improve XC2 hack hover tooltip information 2024-12-28 22:28:40 -06:00
Evan Husted b5999583d6 misc: this is C# XMLdocs not Javadocs 2024-12-28 22:08:37 -06:00
Evan Husted 8b3a945b5f misc: Dirty Hacks
Enable this settings screen via a boolean in Config.json
First one is the xb2 menu softlock fix
2024-12-28 22:04:21 -06:00
Evan Husted 09107b67ff misc: Remove GAL/Configuration duplicate enums 2024-12-28 05:08:21 -06:00
Evan Husted 12b264af44 Headless in Avalonia v2 (#448)
Launch the Ryujinx.exe, first argument --no-gui or nogui, and the rest of the arguments should be your normal headless script. You can include the new option --use-main-config which will provide any arguments that you don't, filled in from your main config made by the UI.

Input config is not inherited at this time.
2024-12-28 03:49:06 -06:00
Evan Husted 0c21b07f19 Update nightly_pr_comment.yml 2024-12-28 03:01:59 -06:00
Evan Husted 18625cf775 Update nightly_pr_comment.yml 2024-12-28 02:45:33 -06:00
heihei123456780 77a9246825 Updated zh-CN translation (#440) 2024-12-28 02:42:25 -06:00
Evan Husted 709eeda94a (try) fix PR build comments 2024-12-28 02:00:46 -06:00
Evan Husted 7d54424048 misc: Use selector fields 2024-12-27 21:31:46 -06:00
Evan Husted 664c63c6a8 metal: Bump SharpMetal to preview 21 2024-12-27 20:47:43 -06:00
Elijah Fronzak 153d1ef06b ru_RU locale update (#450)
Co-authored-by: Evan Husted <greem@greemdev.net>
2024-12-27 18:45:42 -06:00
Daniel Nylander e1e4e5d2d5 Swedish translation (#446)
Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
2024-12-27 17:58:58 -06:00
Evan Husted 44ee4190e6 JAVASCRIPT LOL 2024-12-27 16:11:23 -06:00
Evan Husted 9408452f93 ok that one was my fault 2024-12-27 16:10:03 -06:00
Evan Husted 38833ff60a i dont know why this is failing this is stupid 2024-12-27 16:07:23 -06:00
Evan Husted 1faa72f22f infra: fix big tables in releases 2024-12-27 15:44:20 -06:00
Evan Husted 56e45ae648 misc: Collapse LdnGameDataArray into the main class as an inner class
- privated the constructor; only obtainable by the static helper on the main LdnGameData class.
- constructor logic now in the static helper; constructor just directly sets the data it's given.
2024-12-27 15:33:31 -06:00
Evan Husted 07074272ca Revert "UI: Directly proxy window properties on the view model back to the stored window"
This reverts commit 9754d247b5.
2024-12-27 15:24:57 -06:00
Evan Husted 9eb273a0f7 Org rename (they call me indecisive) 2024-12-27 02:05:37 -06:00
Evan Husted ccddaa77d1 infra: Org 2024-12-27 01:59:29 -06:00
Evan Husted 01c2e67334 lol 2024-12-27 01:41:48 -06:00
Evan Husted 4c646721d6 infra: Testing moving canary to the future home of this fork 2024-12-27 01:38:51 -06:00
Evan Husted d3bc3a1081 UI: Simplify LDN data logic 2024-12-27 01:32:23 -06:00
Evan Husted c69881a0a2 UI: chore: remove direct static MainWindowViewModel reference 2024-12-27 00:47:57 -06:00
Evan Husted 1bc0159139 Once again, I am stupid 2024-12-27 00:41:50 -06:00
Evan Husted 0733b7d0a1 chore: Remove duplicate VSyncMode enum in GAL 2024-12-27 00:38:12 -06:00
Evan Husted 9df1366fa1 I may be stu-- nah. I am here. I am stupid for this one. 2024-12-27 00:00:29 -06:00
Evan Husted c73b5bdf46 metal: wip: allow getting/setting developerHUDProperies 2024-12-26 23:58:55 -06:00
Evan Husted 9754d247b5 UI: Directly proxy window properties on the view model back to the stored window 2024-12-26 23:32:53 -06:00
Evan Husted 267e9f6350 UI: Redirect IME errors to Debug instead of error 2024-12-26 23:13:35 -06:00
Evan Husted d7b3dd12d1 UI: Set title bar icon to the already loaded one 2024-12-26 22:58:49 -06:00
Evan Husted c9b2a6b1f1 metal: Try and see if this lets VSync turn off.
(cherry picked from commit 9558b3771634d144501dedf3f081afc485a49d9d)
2024-12-26 22:46:18 -06:00
Evan Husted 17233d30da misc: give various threads dedicated names
Move all title ID lists into a TitleIDs class in Ryujinx.Common, with helpers.
Unify & simplify Auto graphics backend selection logic
2024-12-26 00:29:00 -06:00
Otozinclus 2bf48f57d2 Add more games to metal list (#447)
Mario Kart 8 Deluxe and Deltarune got tested by Isaac with help from
Peri previosly (His video: https://www.youtube.com/watch?v=GEVre_0ZVUg
)

Captain Toad, Cuphead and Animal Crossing I tested myself (side-by-side
Video comparison: https://youtu.be/auNS9MmZMPI )

Additional information:

Cuphead has flickering issues with certain UI elements on Vulkan via
MoltenVK. Metal fixes those and introduces no new issues, according to
my testing.

Animal Crossing is accurate, except for it having broken backgrounds in
interiors, causing them to appear as white instead of black. This is
caused by a hardware level sampler bug, that isaac never got to find a
workaround for.
However, this issue happens with Vulkan via MoltenVK as well, both Metal
and Vulkan have this issue, therefore Metal shouldn't have any downside
compared to using Vulkan in this game.
2024-12-25 14:19:53 -06:00
Evan Husted 412d4065b8 UI: Abstract applet launch logic for future potential applets
Optimize locale loading (remove always loading english, that was only needed with the old system)
2024-12-25 00:56:01 -06:00
Evan Husted e6644626fc UI: Fix negative space savings in XCI trimmer 2024-12-25 00:06:29 -06:00
Evan Husted 0bacdb8765 Improve locale file parsing error descriptions 2024-12-24 22:19:58 -06:00
Evan Husted 0ca4d6e921 misc: Move StatusBarSeparator into Controls namespace, rename to MiniVerticalSeparator
add bulk property change event method
give each markup extension its own property name
2024-12-24 21:55:12 -06:00
Evan Husted f0aa7eedf6 lol 2024-12-24 21:15:13 -06:00
Evan Husted 41acc4b1f3 UI: misc: Collapse repeated identical Border usages into a helper control. 2024-12-24 21:14:17 -06:00
Evan Husted 7aede70ba9 UI: Make custom title bar window controls extend exactly as long as the menu bar is tall 2024-12-24 21:00:41 -06:00
Evan Husted a0a4f78cff UI: Thin down the borders of the app icon a little bit and trim down the file size significantly. 2024-12-24 20:47:14 -06:00
Evan Husted 16a60fdf12 UI: Rename App to RyujinxApp
Add more NotificationHelper methods
Simplify ID copy logic
2024-12-24 13:39:48 -06:00
Evan Husted 4d7350fc6e UI: Copy Title ID by clicking on it. 2024-12-24 13:23:43 -06:00
Evan Husted b05eab21a2 misc: always log backend when creating embeddedwindow 2024-12-24 01:40:29 -06:00
Evan Husted ff667a5c84 chore: Fix .ctor message source 2024-12-24 01:35:27 -06:00
Evan Husted 2f540dc88c infra: chore: fix/silence compile warnings 2024-12-24 01:23:01 -06:00
Evan Husted 3cb996bf5c UI: Log backend used when Auto is selected 2024-12-24 01:15:23 -06:00
Evan Husted 852823104f EXPERIMENTAL: Metal backend (#441)
This is not a continuation of the Metal backend; this is simply bringing
the branch up to date and merging it as-is behind an experiment.

---------

Co-authored-by: Isaac Marovitz <isaacryu@icloud.com>
Co-authored-by: Samuliak <samuliak77@gmail.com>
Co-authored-by: SamoZ256 <96914946+SamoZ256@users.noreply.github.com>
Co-authored-by: Isaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Co-authored-by: Gabriel A <gab.dark.100@gmail.com>
2024-12-24 00:55:16 -06:00
Daenorth 3094df54dd Update Norwegian Translation (#418)
swiggybobo
2024-12-23 17:03:33 -06:00
Evan Husted 278fe9d4f0 Add buildvalidationtasks project to infra label 2024-12-23 16:16:48 -06:00
GabCoolGuy a560d2efdb UI: Added missing french locales/Translated french locales (#415)
Custom refresh rate locales and fixed a couple others too
2024-12-23 15:43:06 -06:00
asfasagag a270dc721c UI: Option to resize window to 1440p, 2160p (#432)
Minor but useful quality of life addition
2024-12-22 22:49:40 -06:00
Evan Husted 23b0b22400 UI: Ensure last played date & time are always on 2 separate lines, for consistency. 2024-12-22 16:08:12 -06:00
Evan Husted 3dfbf55611 Merge remote-tracking branch 'origin/master' 2024-12-22 16:01:19 -06:00
Evan Husted cb355f504d UI: Rearrange help menu item & merge wiki page link buttons into a "category" button. 2024-12-22 16:01:09 -06:00
Marco Carvalho b5483d8fe0 Prefer generic overload when type is known (#430) 2024-12-22 13:23:35 -06:00
Evan Husted 8259f790d7 misc: Cleanup locale validator 2024-12-22 13:19:10 -06:00
Evan Husted 1ea345faa7 UI: Move Match PC Time to next to the time selector & change label & tooltip to clarify behavior further. 2024-12-22 12:53:48 -06:00
Marco Carvalho 5913ceda40 Avoid zero-length array allocations (#427) 2024-12-22 11:36:05 -06:00
Marco Carvalho decd37ce6d Add missing "yield return" (#424) 2024-12-21 23:28:31 -06:00
Hack茶ん 67ec10feea Korean translation update (#422) 2024-12-21 22:46:57 -06:00
Evan Husted 4c7cb54ec6 misc: I may be stupid 2024-12-21 21:52:04 -06:00
Evan Husted f898a5ecf4 Remove code references to having a flatpak version 2024-12-21 20:06:59 -06:00
Evan Husted 2fac0f4db1 Specify it's date & time 2024-12-21 20:00:16 -06:00
Evan Husted 0f18df982f UI: localize the button & make it smaller 2024-12-21 19:59:16 -06:00
Evan Husted d9fe0da345 UI: Button to set emulator time based on system time in settings, under the time settings.
Partially resolves #355. I think that wanted automatic. If automatic functionality is still desired even with this change then that will be considered.
2024-12-21 19:43:40 -06:00
Evan Husted 1f0fa525a3 UI: some languages did already say Firmware version oddly enough 2024-12-21 19:03:08 -06:00
Evan Husted e15a207656 misc: Improve broken locale.json crash message 2024-12-21 18:58:53 -06:00
Evan Husted 77ef82d92a misc: Cache LocalesJson when loading locale 2024-12-21 18:57:05 -06:00
Evan Husted ba199f4325 UI: Change "System Version" to "Firmware Version" and change 0.0 when firmware is not installed to NaN 2024-12-21 18:34:07 -06:00
Evan Husted 4171913baf misc: One additional usage of Lock & comment why it's not used on the others. 2024-12-21 17:05:55 -06:00
Evan Husted 5b36a9cf9f chore: small cleanups 2024-12-21 17:05:55 -06:00
GabCoolGuy a460eda195 UI: Fixed some light theme colors (#420)
Closes #419
2024-12-21 11:19:29 -06:00
sunshineinabox c77c1acd08 Resolve Image Usage Validation Error (#296)
This was a missed change that would resolve Image Usage validation error
that is created fairly frequently.

``VUID-VkImageViewCreateInfo-pNext-02662(ERROR / SPEC): msgNum:
-55646969 - Validation Error: [ VUID-VkImageViewCreateInfo-pNext-02662 ]
Object 0: handle = 0x260b9d1f6b8, type = VK_OBJECT_TYPE_IMAGE; |
MessageID = 0xfcaee507 | vkCreateImageView():
pCreateInfo->pNext<VkImageViewUsageCreateInfo>.usage
(VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_STORAGE_BIT) must not include
any bits that were not set in VkImageCreateInfo::usage
(VK_IMAGE_USAGE_TRANSFER_SRC_BIT|VK_IMAGE_USAGE_TRANSFER_DST_BIT|VK_IMAGE_USAGE_SAMPLED_BIT|VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT)
of the image. The Vulkan spec states: If the pNext chain includes a
VkImageViewUsageCreateInfo structure, and image was not created with a
VkImageStencilUsageCreateInfo structure included in the pNext chain of
VkImageCreateInfo, its usage member must not include any bits that were
not set in the usage member of the VkImageCreateInfo structure used to
create image
(https://vulkan.lunarg.com/doc/view/1.3.290.0/windows/1.3-extensions/vkspec.html#VUID-VkImageViewCreateInfo-pNext-02662)
    Objects: 1
        [0] 0x260b9d1f6b8, type: 10, name: NULL
``
2024-12-20 16:31:05 -06:00
Evan Husted d68295e57d infra: remove duplicate tables, I think this is ignored entirely anyways due to omitBodyDuringUpdate. 2024-12-20 16:03:03 -06:00
Evan Husted bb3d95722e infra: fix casing in release artifact tables 2024-12-20 15:51:24 -06:00
Evan Husted 2fa3a7bfa1 HLE: rename AmiiboDecrypter to AmiiboDecryptor 2024-12-20 15:44:01 -06:00
Evan Husted 381921390a UI: Only show Amiibo bin scan menu item if the key file exists 2024-12-20 15:41:18 -06:00
Jacobwasbeast 221524d879 Added Support for 532-Byte Amiibo BIN Files (#412)
Added functionality to load 532-byte Amiibo BIN files, commonly used in
Tagmo and similar tools. These files were missing the following pages.
*    133 (85h) PWD
*    134 (86h) PACK RFUI
These pages can be added as null bytes if not present. The system seems
to function correctly without them.
2024-12-20 13:54:27 -06:00
LotP1 9cddf3b66b Unified locales (#391)
Use 1 locales file instead of individual files for each langauge.
This makes it easier to keep track of what is missing.
The PR will automatically fix missing locales and throw an error if
anything is incorrect, by running the emulator. That way the person
adding a new locale or new language can just run the emulator once to
populate all the fields, so they can easily begin translating.
2024-12-20 13:27:11 -06:00
Jacobwasbeast 0adaa4cb96 Adds the ability to read and write to amiibo bin files (#348)
This introduces the ability to read and write game data and model
information from an Amiibo dump file (BIN format). Note that this
functionality requires the presence of a key_retail.bin file. For the
option to appear and function in the UI, ensure that the key_retail.bin
file is located in the <RyujinxData>/system folder.
2024-12-19 22:36:46 -06:00
Marco Carvalho ff6628149d Migrate to .NET 9 (#198) 2024-12-19 18:52:25 -06:00
Evan Husted 8db5a7e98b UI: Fix logo aliasing 2024-12-17 21:20:49 -06:00
GabCoolGuy 8e00cb5232 UI: Add faq, setup and multiplayer guides to the Help dropdown (#383) 2024-12-15 10:45:37 -06:00
Evan Husted 362f62cd39 Revamp README header 2024-12-14 08:41:44 -06:00
Evan Husted 2cd54d0da0 Remove icon padding 2024-12-14 08:03:17 -06:00
Evan Husted b97b8ca8f5 Logo from PR #381 everywhere 2024-12-14 07:27:07 -06:00
Matteo Forlani d7d4225e0d New macOS icon (#381) 2024-12-14 07:23:47 -06:00
Evan Husted a9e0fac9dc fix changelogs in canary release 2024-12-13 19:28:34 -06:00
Daenorth 1b9656e960 Norwegian Translation (#338) 2024-12-13 03:56:20 -06:00
Hack茶ん 8994e7476c Korean Former Maintainers & About description translations (#371) 2024-12-13 03:54:07 -06:00
rrondo b3944a18b7 Some changes to Ukrainian localization (uk_UA.json) (#356)
I made some small corrections and translated the lines that didn’t have
translations.
2024-12-10 11:58:53 -06:00
GabCoolGuy 18c957f90b infra: Add a table to the releases (#363)
This adds a table making it clearer what artifacts are needed for what
platform.

Nogui builds are not provided in the table as per Greem's request.

MAINTAINER EDIT: reasoning for above is due to the Headless in Avalonia
PR; nogui builds are going away.

Tested for both canary and release builds and everything works fine:


[Canary](https://github.com/GabCoolDude/Ryujinx-Canary/releases/tag/1.2.6)
[Release](https://github.com/GabCoolDude/Ryujinx/releases/tag/1.2.2)

For release, the damn appimage messed everything up, but thanks to
macOS, you can still test if it works.
2024-12-10 11:02:18 -06:00
Evan Husted 1a005f96e7 Merge remote-tracking branch 'origin/master' 2024-12-08 13:05:47 -06:00
Evan Husted 072cd2824a misc: chore: Simplify Updater version parsing. 2024-12-08 13:05:35 -06:00
Evan Husted 9da97bc911 misc: chore: Collapse XCIFileTrimmerLog implementations into a single class. 2024-12-08 13:05:09 -06:00
Evan Husted 39252b7267 UI: Update About window with the current status of the project. 2024-12-08 13:04:01 -06:00
Evan Husted ec11bf2af9 i18n: Clean out old translations and reset outdated ones 2024-12-07 08:53:23 -06:00
bangfire 8ae72c1a00 Fix Windows Terminal hide/show functions (#342)
https://stackoverflow.com/a/78577080
2024-12-07 07:17:39 -06:00
Evan Husted 06abba25c1 UI: Adapt accent color to the user's system.
https://amwx.github.io/FluentAvaloniaDocs/pages/FATheme/Accents#using-the-systems-accent-color
2024-12-07 06:22:46 -06:00
Evan Husted de00a71690 UI: Fix missing total DLC count.
Fixes #347.
2024-12-07 05:48:11 -06:00
Evan Husted 315a1819c0 Attempt #2 2024-12-07 05:31:37 -06:00
Evan Husted 4ffb8aef12 Try and fix nullref 2024-12-07 05:21:16 -06:00
Evan Husted 290a6ad5de HLE: extract custom NACP data functionality into a static helper for generic reuse elsewhere, and clarify magic numbers. 2024-12-07 04:30:04 -06:00
Evan Husted eda4f4349b headless: Actually log the command line errors 2024-12-07 04:06:22 -06:00
Evan Husted 5fbcb1f3a7 misc: chore: Cleanups & unused parameter removal 2024-12-07 04:06:22 -06:00
2544 changed files with 91755 additions and 98115 deletions
+25 -20
View File
@@ -16,6 +16,17 @@ tab_width = 4
# New line preferences
end_of_line = lf
insert_final_newline = true
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_conditional_expression_over_return = true:silent
dotnet_style_operator_placement_when_wrapping = beginning_of_line
dotnet_style_explicit_tuple_names = true:suggestion
# Markdown, JSON, YAML, props and csproj files
[*.{md,json,yml,props,csproj}]
@@ -106,7 +117,7 @@ csharp_style_conditional_delegate_call = true:suggestion
csharp_prefer_static_local_function = true:suggestion
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
csharp_style_prefer_readonly_struct = true
csharp_style_prefer_method_group_conversion = true
csharp_style_prefer_method_group_conversion = true:silent
# Code-block preferences
csharp_prefer_braces = true:silent
@@ -177,9 +188,9 @@ csharp_preserve_single_line_statements = false
# Naming rules
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.severity = suggestion
dotnet_naming_rule.interfaces_should_be_prefixed_with_i.severity = suggestion
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.symbols = interface
dotnet_naming_rule.interfaces_should_be_prefixed_with_I.style = IPascalCase
dotnet_naming_rule.interfaces_should_be_prefixed_with_i.style = IPascalCase
dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
@@ -236,28 +247,22 @@ dotnet_naming_style.IPascalCase.required_suffix =
dotnet_naming_style.IPascalCase.word_separator =
dotnet_naming_style.IPascalCase.capitalization = pascal_case
# TODO:
# .NET 8 migration (new warnings are caused by the NET 8 C# compiler and analyzer)
# The following info messages might need to be fixed in the source code instead of hiding the actual message
# Without the following lines, dotnet format would fail
# Disable "Collection initialization can be simplified"
# Other settings
csharp_style_prefer_top_level_statements = true:suggestion
csharp_style_prefer_primary_constructors = false:suggestion
csharp_prefer_system_threading_lock = true:suggestion
# Analyzers
dotnet_diagnostic.CA1069.severity = none # CA1069: Enums values should not be duplicated
# Disable Collection initialization can be simplified
dotnet_diagnostic.IDE0028.severity = none
dotnet_diagnostic.IDE0300.severity = none
dotnet_diagnostic.IDE0301.severity = none
dotnet_diagnostic.IDE0302.severity = none
dotnet_diagnostic.IDE0305.severity = none
# Disable "'new' expression can be simplified"
dotnet_diagnostic.IDE0090.severity = none
# Disable "Use primary constructor"
dotnet_diagnostic.IDE0290.severity = none
# Disable "Member '' does not access instance data and can be marked as static"
dotnet_diagnostic.CA1822.severity = none
# Disable "Change type of field '' from '' to '' for improved performance"
dotnet_diagnostic.CA1859.severity = none
# Disable "Prefer 'static readonly' fields over constant array arguments if the called method is called repeatedly and is not mutating the passed array"
dotnet_diagnostic.CA1861.severity = none
# Disable "Prefer using 'string.Equals(string, StringComparison)' to perform a case-insensitive comparison, but keep in mind that this might cause subtle changes in behavior, so make sure to conduct thorough testing after applying the suggestion, or if culturally sensitive comparison is not required, consider using 'StringComparison.OrdinalIgnoreCase'"
dotnet_diagnostic.CA1862.severity = none
dotnet_diagnostic.CS9113.severity = none # CS9113: Parameter 'value' is unread
dotnet_diagnostic.IDE0130.severity = none # IDE0130: Namespace does not match folder structure
[src/Ryujinx/UI/ViewModels/**.cs]
# Disable "mark members as static" rule for ViewModels
+13 -5
View File
@@ -10,6 +10,10 @@ gpu:
- changed-files:
- any-glob-to-any-file: ['src/Ryujinx.Graphics.*/**', 'src/Spv.Generator/**', 'src/Ryujinx.ShaderTools/**']
input:
- changed-files:
- any-glob-to-any-file: ['src/Ryujinx.Input*/**', 'src/Ryujinx/UI/Views/Input/**']
'graphics-backend:opengl':
- changed-files:
- any-glob-to-any-file: 'src/Ryujinx.Graphics.OpenGL/**'
@@ -20,11 +24,15 @@ gpu:
gui:
- changed-files:
- any-glob-to-any-file: ['src/Ryujinx/**', 'src/Ryujinx.UI.Common/**', 'src/Ryujinx.UI.LocaleGenerator/**']
- any-glob-to-any-file: ['src/Ryujinx/**', 'src/Ryujinx.UI.LocaleGenerator/**']
horizon:
'horizon/hle':
- changed-files:
- any-glob-to-any-file: ['src/Ryujinx.HLE/**', 'src/Ryujinx.Horizon/**']
- any-glob-to-any-file: ['src/Ryujinx.HLE/**', 'src/Ryujinx.HLE.Generators/**', 'src/Ryujinx.Horizon/**']
i18n:
- changed-files:
- any-glob-to-any-file: ['assets/**/*.json', 'src/Ryujinx.UI.LocaleGenerator/**']
kernel:
- changed-files:
@@ -32,7 +40,7 @@ kernel:
infra:
- changed-files:
- any-glob-to-any-file: ['.github/**', 'distribution/**', 'Directory.Packages.props']
- any-glob-to-any-file: ['.forgejo/**', 'distribution/**', 'Directory.Packages.props', 'src/Ryujinx.BuildValidationTasks/**']
documentation:
- changed-files:
@@ -40,4 +48,4 @@ documentation:
ldn:
- changed-files:
- any-glob-to-any-file: 'src/Ryujinx.HLE/HOS/Services/Ldn/**'
- any-glob-to-any-file: ['src/Ryujinx.HLE/HOS/Services/Ldn/**', 'src/Ryujinx/UI/Windows/LdnGamesListWindow.*', 'src/Ryujinx/UI/ViewModels/LdnGamesListViewModel.cs']
+197
View File
@@ -0,0 +1,197 @@
name: Build PR
on:
pull_request:
branches: [ master ]
paths:
- '**'
- '!.forgejo/**'
- '!*.yml'
- '!*.config'
- '!*.md'
- '.forgejo/workflows/*.yml'
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
RELEASE: 0
jobs:
build:
name: ${{ matrix.platform.name }} (${{ matrix.configuration }})
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
timeout-minutes: 45
strategy:
matrix:
configuration: [Release]
platform:
- { name: win-x64, zip_os_name: win_x64 }
#- { name: win-arm64, zip_os_name: win_arm64 }
- { name: linux-x64, zip_os_name: linux_x64 }
- { name: linux-arm64, zip_os_name: linux_arm64 }
#- { name: osx-x64, zip_os_name: osx_x64 }
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Overwrite csc problem matcher
run: echo "::add-matcher::.forgejo/csc.json"
- name: Get version info
id: version_info
run: |
echo "result=$(gli get-next-version -c Stable -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Change config filename
run: sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/PRConfig\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
shell: bash
if: forgejo.event_name == 'pull_request'
- name: 'Cache: ~/.nuget/packages'
uses: actions/cache@v5
with:
path: |
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
- name: Build
run: dotnet build -c "${{ matrix.configuration }}" -p:Version="${{ steps.version_info.outputs.result }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:ExtraDefineConstants=DISABLE_UPDATER
- name: Test
uses: actions/unstable-commands@v1
with:
commands: dotnet test --no-build -c "${{ matrix.configuration }}"
timeout-minutes: 10
retry-codes: 139
if: matrix.platform.name != 'linux-arm64'
- name: Publish Ryujinx
run: dotnet publish -c "${{ matrix.configuration }}" -r "${{ matrix.platform.name }}" -o ./publish -p:Version="${{ steps.version_info.outputs.result }}" -p:DebugType=embedded -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:ExtraDefineConstants=DISABLE_UPDATER src/Ryujinx --self-contained
if: forgejo.event_name == 'pull_request'
- name: Set executable bit
run: |
chmod +x ./publish/Ryujinx ./publish/Ryujinx.sh
if: forgejo.event_name == 'pull_request' && contains(matrix.platform.name, 'linux')
- name: Build AppImage
if: forgejo.event_name == 'pull_request' && contains(matrix.platform.name, 'linux')
run: |
PLATFORM_NAME="${{ matrix.platform.name }}"
sudo apt update && sudo apt install -y zsync desktop-file-utils appstream libfuse2t64
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
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
shell: bash
- name: Upload Ryujinx artifact
uses: actions/upload-artifact@v4
with:
name: ryujinx-${{ matrix.configuration }}-${{ steps.version_info.outputs.result }}+${{ steps.version_info.outputs.git_short_hash }}-${{ matrix.platform.zip_os_name }}
path: publish
if: forgejo.event_name == 'pull_request'
- name: Upload Ryujinx (AppImage) artifact
uses: actions/upload-artifact@v4
if: forgejo.event_name == 'pull_request' && contains(matrix.platform.name, 'linux')
with:
name: ryujinx-${{ matrix.configuration }}-${{ steps.version_info.outputs.result }}+${{ steps.version_info.outputs.git_short_hash }}-${{ matrix.platform.zip_os_name }}-AppImage
path: publish_appimage
build_macos:
name: macOS Universal (${{ matrix.configuration }})
runs-on: ubuntu-latest
timeout-minutes: 45
strategy:
matrix:
configuration: [ Release ]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- name: Setup LLVM 17
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Install rcodesign
run: |
gli ghr -R indygreg/apple-platform-rs -p apple-codesign-*-x86_64-unknown-linux-musl.tar.gz -O apple-codesign.tar.gz
tar -xzvf apple-codesign.tar.gz --wildcards '*/rcodesign' --strip-components=1
rm apple-codesign.tar.gz
sudo mv rcodesign /usr/bin/rcodesign
- name: Get version info
id: version_info
run: |
echo "result=$(gli get-next-version -c Stable -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Change config filename
run: sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/PRConfig\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
shell: bash
if: forgejo.event_name == 'pull_request'
- name: 'Cache: ~/.nuget/packages'
uses: actions/cache@v5
with:
path: |
~/.nuget/packages
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
- name: Publish macOS Ryujinx
run: |
bash distribution/macos/create_macos_pr_build_ava.sh . publish_tmp publish ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.result }}" "${{ steps.version_info.outputs.git_short_hash }}" "${{ matrix.configuration }}" "-p:ExtraDefineConstants=DISABLE_UPDATER"
shell: bash
- name: Upload Ryujinx artifact
uses: actions/upload-artifact@v4
with:
name: ryujinx-${{ matrix.configuration }}-${{ steps.version_info.outputs.result }}+${{ steps.version_info.outputs.git_short_hash }}-macos_universal
path: "publish/*.tar.gz"
if: forgejo.event_name == 'pull_request'
+251
View File
@@ -0,0 +1,251 @@
name: Canary CI
on:
workflow_dispatch:
inputs: {}
push:
branches: [ master ]
paths-ignore:
- '.forgejo/**'
- 'docs/**'
- 'assets/**'
- '*.yml'
- '*.json'
- '*.config'
- '*.md'
concurrency: release
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "canary"
RELEASE: 1
jobs:
release:
name: Release for ${{ matrix.platform.name }}
runs-on: docker
container:
image: ${{ matrix.platform.os }}
strategy:
matrix:
platform:
- { name: win-x64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: win_x64 }
#- { name: win-arm64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: win_arm64 }
- { name: linux-x64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: linux_x64 }
- { name: linux-arm64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: linux_arm64 }
steps:
- uses: actions/checkout@v6
- uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Overwrite csc problem matcher
run: echo "::add-matcher::.forgejo/csc.json"
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Install 7zip
run: |
sudo apt update && sudo apt install -y 7zip
- name: Get version info
id: version_info
run: |
echo "build_version=$(gli get-next-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "prev_build_version=$(gli get-current-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Configure for release
run: |
sed -r --in-place 's/\%\%RYUJINX_BUILD_VERSION\%\%/${{ steps.version_info.outputs.build_version }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_BUILD_GIT_HASH\%\%/${{ steps.version_info.outputs.git_short_hash }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_NAME }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/Config\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place '/^Name=Ryujinx$/s/Name=Ryujinx/Name=Ryujinx-Canary/' distribution/linux/Ryujinx.desktop
shell: bash
- name: Create output dir
run: "mkdir release_output"
- name: Publish
run: |
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained
- name: Packing Windows builds
if: contains(matrix.platform.name, 'win')
run: |
pushd publish
rm libarmeilleure-jitsupport.dylib
7z a ../release_output/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
popd
shell: bash
- name: Packing Linux builds
if: contains(matrix.platform.name, 'linux')
run: |
pushd publish
rm libarmeilleure-jitsupport.dylib
chmod +x Ryujinx.sh Ryujinx
tar -czvf ../release_output/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
popd
shell: bash
- name: Build AppImage (Linux)
if: contains(matrix.platform.name, 'linux')
run: |
BUILD_VERSION="${{ steps.version_info.outputs.build_version }}"
PLATFORM_NAME="${{ matrix.platform.name }}"
sudo apt update && sudo apt install -y zsync desktop-file-utils appstream libfuse2t64
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
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
pushd publish_appimage
mv Ryujinx.AppImage ../release_output/ryujinx-canary-$BUILD_VERSION-$ARCH_NAME.AppImage
popd
shell: bash
- name: Create release
uses: actions/create-release@v1
with:
name: "Canary ${{ steps.version_info.outputs.build_version }}"
body: "**Full Changelog:** [`${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}`](https://git.ryujinx.app/projects/Ryubing/compare/Canary-${{ steps.version_info.outputs.prev_build_version }}...Canary-${{ steps.version_info.outputs.build_version }})"
repository: "Ryubing/Canary"
token: ${{ secrets.RELEASER_TOKEN }}
tag_name: ${{ steps.version_info.outputs.build_version }}
files: |-
release_output/**
macos_release:
name: Release MacOS universal
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Setup LLVM 17
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Install rcodesign
run: |
gli ghr -R indygreg/apple-platform-rs -p apple-codesign-*-x86_64-unknown-linux-musl.tar.gz -O apple-codesign.tar.gz
tar -xzvf apple-codesign.tar.gz --wildcards '*/rcodesign' --strip-components=1
rm apple-codesign.tar.gz
mv rcodesign /usr/bin/rcodesign
- name: Get version info
id: version_info
run: |
echo "build_version=$(gli get-next-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "prev_build_version=$(gli get-current-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Configure for release
run: |
sed -r --in-place 's/\%\%RYUJINX_BUILD_VERSION\%\%/${{ steps.version_info.outputs.build_version }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_BUILD_GIT_HASH\%\%/${{ steps.version_info.outputs.git_short_hash }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_NAME }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_OWNER\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_OWNER }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_REPO\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_REPO }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/Config\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
shell: bash
- name: Publish macOS Ryujinx
run: |
./distribution/macos/create_macos_build_ava.sh . publish_tmp_ava publish_ava ./distribution/macos/entitlements.xml "${{ steps.version_info.outputs.build_version }}" "${{ steps.version_info.outputs.git_short_hash }}" Release 1
- name: Create release
uses: actions/create-release@v1
with:
name: "Canary ${{ steps.version_info.outputs.build_version }}"
body: "**Full Changelog:** [`${{ steps.version_info.outputs.prev_build_version }}...${{ steps.version_info.outputs.build_version }}`](https://git.ryujinx.app/projects/Ryubing/compare/Canary-${{ steps.version_info.outputs.prev_build_version }}...Canary-${{ steps.version_info.outputs.build_version }})"
repository: "Ryubing/Canary"
token: ${{ secrets.RELEASER_TOKEN }}
tag_name: ${{ steps.version_info.outputs.build_version }}
files: |-
publish_ava/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-macos_universal.app.tar.gz
post_ci:
name: Post CI Steps
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
needs:
- macos_release
- release
steps:
- uses: actions/checkout@v4
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Get version info
id: version_info
run: |
echo "build_version=$(gli get-next-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "prev_build_version=$(gli get-current-version -c Canary -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Create tag
run: |
gli create-tag -T ${{ secrets.RELEASER_TOKEN }} -P projects/Ryubing -n Canary-${{ steps.version_info.outputs.build_version }} -r ${{ steps.version_info.outputs.git_short_hash }}
- name: Link to actual source archives for Canary
run: |
gli canary-release -T ${{ secrets.RELEASER_TOKEN }} -P Ryubing/Canary -r ${{ steps.version_info.outputs.build_version }}
- name: Send notification webhook
run: |
gli send-update-message -T ${{ secrets.RELEASER_TOKEN }} -P Ryubing/Canary -t ${{ steps.version_info.outputs.build_version }} -c FF4500 -w ${{ secrets.CANARY_DISCORD_WEBHOOK }} -i https://avatars.githubusercontent.com/u/192939710?s=200&v=4
- name: Notify update server of new builds
run: |
gli refresh-version-cache -T ${{ secrets.UPDATE_SERVER_ADMIN_TOKEN }} -c Canary
- name: Advance to the next version
run: |
gli increment-version -T ${{ secrets.UPDATE_SERVER_ADMIN_TOKEN }} -c Canary
@@ -5,10 +5,6 @@ on:
jobs:
triage:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
@@ -18,11 +14,13 @@ jobs:
with:
# Ensure we pin the source origin as pull_request_target run under forks.
fetch-depth: 0
repository: GreemDev/Ryujinx
repository: projects/Ryubing
ref: master
- name: Update labels based on changes
uses: actions/labeler@v5
uses: actions/labeler@v6
with:
repo-token: ${{ secrets.LABELER_TOKEN }}
configuration-path: .forgejo/labeler.yml
sync-labels: true
dot: true
+246
View File
@@ -0,0 +1,246 @@
name: Stable CI
on:
workflow_dispatch:
inputs:
is_bugfix_release:
description: "Bug fix release: If checked, this will increment the third number for only Stable, and leave the Major version alone for both Stable and Canary."
required: true
type: boolean
concurrency: release
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
DOTNET_CLI_TELEMETRY_OPTOUT: 1
RYUJINX_TARGET_RELEASE_CHANNEL_NAME: "release"
RELEASE: 1
jobs:
release:
name: Release for ${{ matrix.platform.name }}
runs-on: docker
container:
image: ${{ matrix.platform.os }}
strategy:
matrix:
platform:
- { name: win-x64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: win_x64 }
#- { name: win-arm64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: win_arm64 }
- { name: linux-x64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: linux_x64 }
- { name: linux-arm64, os: ghcr.io/catthehacker/ubuntu:act-latest, zip_os_name: linux_arm64 }
steps:
- uses: actions/checkout@v6
- uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Overwrite csc problem matcher
run: echo "::add-matcher::.github/csc.json"
- name: Install 7zip
run: |
sudo apt install -y 7zip
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Get version info
id: version_info
run: |
if [ '${{ inputs.is_bugfix_release }}' == 'false' ]; then
echo "build_version=$(gli get-next-version -m -c Stable -R)" >> $FORGEJO_OUTPUT
else
echo "build_version=$(gli get-next-version -c Stable -R)" >> $FORGEJO_OUTPUT
fi
echo "prev_build_version=$(gli get-current-version -c Stable -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Configure for release
run: |
sed -r --in-place 's/\%\%RYUJINX_BUILD_VERSION\%\%/${{ steps.version_info.outputs.build_version }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_BUILD_GIT_HASH\%\%/${{ steps.version_info.outputs.git_short_hash }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_NAME }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/Config\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
shell: bash
- name: Create output dir
run: "mkdir release_output"
- name: Publish
run: |
dotnet publish -c Release -r "${{ matrix.platform.name }}" -o ./publish -p:Version="${{ steps.version_info.outputs.build_version }}" -p:SourceRevisionId="${{ steps.version_info.outputs.git_short_hash }}" -p:DebugType=embedded src/Ryujinx --self-contained
- name: Packing Windows builds
if: contains(matrix.platform.name, 'win')
run: |
pushd publish
rm libarmeilleure-jitsupport.dylib
7z a ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.zip ../publish
popd
shell: bash
- name: Packing Linux builds
if: contains(matrix.platform.name, 'linux')
run: |
pushd publish
rm libarmeilleure-jitsupport.dylib
chmod +x Ryujinx.sh Ryujinx
tar -czvf ../release_output/ryujinx-${{ steps.version_info.outputs.build_version }}-${{ matrix.platform.zip_os_name }}.tar.gz ../publish
popd
shell: bash
- name: Build AppImage (Linux)
if: contains(matrix.platform.name, 'linux')
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
BUILDDIR=publish OUTDIR=publish_appimage distribution/linux/appimage/build-appimage.sh
pushd publish_appimage
mv Ryujinx.AppImage ../release_output/ryujinx-$BUILD_VERSION-$ARCH_NAME.AppImage
popd
shell: bash
- name: Create release
uses: actions/create-release@v1
with:
name: "${{ steps.version_info.outputs.build_version }}"
repository: "projects/Ryubing"
token: ${{ secrets.RELEASER_TOKEN }}
tag_name: ${{ steps.version_info.outputs.build_version }}
files: |-
release_output/**
macos_release:
name: Release MacOS universal
runs-on: docker
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-dotnet@v5
with:
global-json-file: global.json
- name: Setup LLVM 17
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Install rcodesign
run: |
gli ghr -R indygreg/apple-platform-rs -p apple-codesign-*-x86_64-unknown-linux-musl.tar.gz -O apple-codesign.tar.gz
tar -xzvf apple-codesign.tar.gz --wildcards '*/rcodesign' --strip-components=1
rm apple-codesign.tar.gz
mv rcodesign /usr/bin/rcodesign
- name: Get version info
id: version_info
run: |
if [ '${{ inputs.is_bugfix_release }}' == 'false' ]; then
echo "build_version=$(gli get-next-version -m -c Stable -R)" >> $FORGEJO_OUTPUT
else
echo "build_version=$(gli get-next-version -c Stable -R)" >> $FORGEJO_OUTPUT
fi
echo "prev_build_version=$(gli get-current-version -c Stable -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Configure for release
run: |
sed -r --in-place 's/\%\%RYUJINX_BUILD_VERSION\%\%/${{ steps.version_info.outputs.build_version }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_BUILD_GIT_HASH\%\%/${{ steps.version_info.outputs.git_short_hash }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_TARGET_RELEASE_CHANNEL_NAME\%\%/${{ env.RYUJINX_TARGET_RELEASE_CHANNEL_NAME }}/g;' src/Ryujinx.Common/ReleaseInformation.cs
sed -r --in-place 's/\%\%RYUJINX_CONFIG_FILE_NAME\%\%/Config\.json/g;' src/Ryujinx.Common/ReleaseInformation.cs
shell: bash
- name: Publish macOS Ryujinx
run: |
bash 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: Create release
uses: actions/create-release@v1
with:
name: "${{ steps.version_info.outputs.build_version }}"
repository: "projects/Ryubing"
token: ${{ secrets.RELEASER_TOKEN }}
tag_name: ${{ steps.version_info.outputs.build_version }}
files: |-
publish_ava/ryujinx-canary-${{ steps.version_info.outputs.build_version }}-macos_universal.app.tar.gz
post_ci:
name: Post-CI Steps
runs-on: ubuntu-24.04
needs:
- macos_release
- release
steps:
- uses: actions/checkout@v4
- name: Install GLI
uses: actions/setup-gli@v1
with:
token: ${{ secrets.SETUP_GLI_TOKEN }}
- name: Get version info
id: version_info
run: |
if [ '${{ inputs.is_bugfix_release }}' == 'false' ]; then
echo "build_version=$(gli get-next-version -m -c Stable -R)" >> $FORGEJO_OUTPUT
else
echo "build_version=$(gli get-next-version -c Stable -R)" >> $FORGEJO_OUTPUT
fi
echo "prev_build_version=$(gli get-current-version -c Stable -R)" >> $FORGEJO_OUTPUT
echo "git_short_hash=$(git rev-parse --short "${{ forgejo.sha }}")" >> $FORGEJO_OUTPUT
shell: bash
- name: Send notification webhook
run: |
gli send-update-message -T ${{ secrets.RELEASER_TOKEN }} -P projects/Ryubing -t ${{ steps.version_info.outputs.build_version }} -c 32cd32 -w ${{ secrets.STABLE_DISCORD_WEBHOOK }} -i https://avatars.githubusercontent.com/u/192939710?s=200&v=4
- name: Notify update server of new builds
run: |
gli refresh-version-cache -T ${{ secrets.UPDATE_SERVER_ADMIN_TOKEN }} -c Stable
- name: Advance to the next version
run: |
if [ '${{ inputs.is_bugfix_release }}' == 'false' ]; then
gli advance-version -T ${{ secrets.UPDATE_SERVER_ADMIN_TOKEN }}
else
gli increment-version -T ${{ secrets.UPDATE_SERVER_ADMIN_TOKEN }} -c Stable
fi