Commit graph

133 commits

Author SHA1 Message Date
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
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
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
d4bf7d3c2b HLE: Implement missing service calls needed for Xenoblade Chronicles X DE 2025-03-20 07:57:03 +00: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
Evan Husted
0db85d0aa9 HLE: optional hack: disable IsAnyInternetRequestAccepted 2025-03-05 23:57:48 -06:00
Evan Husted
109f0fc659 misc: chore: Cleanup unused using directives 2025-03-05 22:21:05 -06:00
Evan Husted
b45a65fbdc misc: chore: rework HLEConfiguration 2025-03-04 00:08:01 -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
2ffaeb2803 HLE: LDN: Reduce NAT timeout from 5 seconds to 2.5 2025-02-16 17:48:19 -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
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
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
ff05e03cc8 misc: chore: Remove unused using directives across entire solution. 2025-01-30 20:27:17 -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
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
70b767ef60 misc: chore: Use collection expressions in HLE project 2025-01-26 15:43:02 -06:00
Evan Husted
beab133c8d misc: chore: Fix object creation in HLE project 2025-01-26 15:15:26 -06:00
Evan Husted
5eba42fa06 misc: chore: Use explicit types in HLE project 2025-01-25 14:13:18 -06:00
Evan Husted
f81cb093fc misc: chore: Change references of GreemDev/Ryujinx to Ryubing/Ryujinx 2025-01-23 16:27:49 -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
f42b2ed59d misc: chore: more correct last used user checking 2025-01-20 13:33:59 -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
a5a4ef38e6
HLE: Stub IHidServer SetGestureOutputRanges (#524)
Lets "Donkey Kong Country Returns HD" get into main gameplay.
2025-01-16 02:39:39 -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
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
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
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
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
cbd851d00e misc: Forgot about ReactiveObject 2024-12-29 04:16:08 -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
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
0733b7d0a1 chore: Remove duplicate VSyncMode enum in GAL 2024-12-27 00:38:12 -06:00
Marco Carvalho
b5483d8fe0
Prefer generic overload when type is known (#430) 2024-12-22 13:23:35 -06:00
Marco Carvalho
5913ceda40
Avoid zero-length array allocations (#427) 2024-12-22 11:36:05 -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
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
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
Luke Warner
baad1e313f
Stub Ldn.Lp2p.ISfService: 776 (DestroyGroup) (#353)
This prevents a crash in Mario Kart Live: Home Circuit that would occur
after exiting the kart pairing screen.
2024-12-06 14:43:31 -06:00
Evan Husted
1d0152b961 UI: Move Shader Compilation hint, graphics backend, and GPU manufacturer to the right side of the status bar, next to firmware version.
Removed the "Game:" prefix in front of FPS.
2024-12-04 03:37:21 -06:00