* Impl first attempt to LDN
* Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Mac addresses are now randomly assigned on the server. (fixes joining lobbies)
- Fixed the "connected" handler for stations to actually find a
- Added info retrieval when connected to a station.
- Users that disconnect are now removed from rooms they were in. (still need to broadcast tho)
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
* We may just be "initialized". Ignore this for now.
* Lots of WIP
* Add Disconnect packet
* Improve signalling of internal events.
* Fix scan.
* Fix some more stupid things.
* Enable NoDelay on all sockets.
* Add station accept policy, disconnect function.
* Limit max number of games.
* Split out networking stuff from HLE, so it can be swapped.
* Update logging calls.
* Missed a spot.
* Call SignalDisconnect instead of SetState
* Add comment to GetNetworkInfo
* Update configuration + UI
Now has its own tab, more options.
* Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
* some cleanup
* More fix
* Correctly handle errors when connecting.
* Disable *Private call and clean symbols
* Structs cleanup
* Big cleanup
* Fix InvalidHandle (in MK8D and other games)
* Add Reject and Private Network support (v1)
RyuLdn Version bumped to 1.
* Add Initialize Packet
Allows users to keep Mac Addresses assigned by the server.
* Add SetWirelessControllerRestriction and some cleanup
* LDN-2 Initial Rebase
Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Fixed the "connected" handler for stations to actually find a
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
We may just be "initialized". Ignore this for now.
Lots of WIP
Implement scan filter.
Improve signalling of internal events.
Fix scan.
Fix 0 width data, scan reply end delay removed.
Fix some more stupid things.
Enable NoDelay on all sockets.
Add station accept policy, disconnect function.
Limit max number of games.
Split out networking stuff from HLE, so it can be swapped.
Update logging calls.
Missed a spot.
SetAdvertiseData when open, don't return games that have accept policy 1
Update configuration + UI
Now has its own tab, more options.
Don't Keepalive, it causes problems.
Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
some cleanup
More fix
Correctly handle errors when connecting.
Disable *Private call and clean symbols
Structs cleanup
Big cleanup
Fix InvalidHandle (in MK8D and other games)
Add Reject and Private Network support (v1)
Disable TcpNoDelay option on linux.
Add SetWirelessControllerRestriction and some cleanup
Misc cleanup, implement broadcast flag.
* Misc Changes
* Fix GetNetworkInfo
* Fix some small issues
* Implement GetNetworkInfoLatestUpdate
* Hotfix when LocalCommunicationId = 0xFFFFFFFFFFFFFFFF
* Fix ARMS Scan (and other games using wrong LocalCommunicationId
* Fix latest update when host leaves
* Revert "Fix ARMS Scan (and other games using wrong LocalCommunicationId"
This reverts commit 519c283d3993e2fdfafb8ac6b4e0a98231f6fb75.
* Fix the localCommunicationId = -1
* Don't set Connect flag for nodes already in the room before joining.
* Make IUserLocalCommunicationService disposable
* Don't dispose if there's no client.
* LDN-2-2 Rebase
Make this work.
- Endianness swap on all IPs.
- Use local network IP for connections, rather than 127.0.0.1. This is to be changed when tunnelling or whatever.
- Fixed the "connected" handler for stations to actually find a
- The communication service does a bit better with being closed now.
- Some locking around the game instance dictionary.
We may just be "initialized". Ignore this for now.
Put sockets behind an interface, so that they can be swapped for something proxyable
Lots of WIP
Implement scan filter.
Improve signalling of internal events.
Fix scan.
Fix 0 width data, scan reply end delay removed.
Fix some more stupid things.
Enable NoDelay on all sockets.
Add station accept policy, disconnect function.
Limit max number of games.
Split out networking stuff from HLE, so it can be swapped.
Update logging calls.
Missed a spot.
SetAdvertiseData when open, don't return games that have accept policy 1
Update configuration + UI
Now has its own tab, more options.
Don't Keepalive, it causes problems.
Refactoring IUserLocalCommunicationService
( Expected new issues :'( )
some cleanup
More fix
Correctly handle errors when connecting.
Disable *Private call and clean symbols
Structs cleanup
Big cleanup
Fix InvalidHandle (in MK8D and other games)
Add Reject and Private Network support (v1)
Disable TcpNoDelay option on linux.
Add SetWirelessControllerRestriction and some cleanup
Misc cleanup, implement broadcast flag.
Misc Changes
Fix GetNetworkInfo
Fix some small issues
Disable LAN by default til the config is added.
Fix Splatoon 2
- Stub nfp IUser::StartDetection / IUser::StopDetection.
- Stub ntc IEnsureNetworkClockAvailabilityService and needed calls.
Cleanup previous fixes
Stub IAudioInManager/IAudioIn for Splatoon 2 LAN
Add LAN settings to multiplayer tab
LAN Play > LAN Mode
Implement GetNetworkInfoLatestUpdate
Hotfix when LocalCommunicationId = 0xFFFFFFFFFFFFFFFF
Fix ARMS Scan (and other games using wrong LocalCommunicationId
Fix latest update when host leaves
Revert "Fix ARMS Scan (and other games using wrong LocalCommunicationId"
This reverts commit 519c283d3993e2fdfafb8ac6b4e0a98231f6fb75.
Fix the localCommunicationId = -1
Don't set Connect flag for nodes already in the room before joining.
Make IUserLocalCommunicationService disposable
Fix crash when using LAN mode on linux.
Actually use that call
Don't dispose if there's no client.
Fix the settings window crash
Fix configurationFileUpdated
* Make LDN compatible with Ryujinx/Ryujinx#3805
* Ava: Add Ldn options to SettingsNetworkTab
* Ava: Add update events for multiplayer options
* Apply formatting
* Remove LdnHelper
* ldn: Fix hardcoded /24 subnet mask
* Fix naming rule violations
* Add missing summary doc tag
* Remove NetCoreServer dependency
* Address code style issues and typos
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Call CloseStation/CloseAccessPoint to reduce code duplication
* Fix typo
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* Fix missing trailing commas
* Extract AddressList from AddressEntry
* Use AcceptPolicy as a type for LdnNetworkInfo.StationAcceptPolicy
* Add Flags attribute to ScanFilterFlag
* Rename struct members for LdnNetworkInfo
* Remove extra line
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Extract NetworkErrorMessage from NetworkError
* Fix missing trailing commas
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
Co-authored-by: gdkchan <gab.dark.100@gmail.com>
* dotnet format style --severity info
Some changes were manually reverted.
* dotnet format analyzers --serverity info
Some changes have been minimally adapted.
* Restore a few unused methods and variables
* Silence dotnet format IDE0060 warnings
* Silence dotnet format IDE0052 warnings
* Address or silence dotnet format IDE1006 warnings
* Address dotnet format CA1816 warnings
* Address or silence dotnet format CA2208 warnings
* Address or silence dotnet format CA1806 and a few CA1854 warnings
* Address dotnet format CA2211 warnings
* Address dotnet format CA1822 warnings
* Address or silence dotnet format CA1069 warnings
* Make dotnet format succeed in style mode
* Address or silence dotnet format CA2211 warnings
* Address review comments
* Address dotnet format CA2208 warnings properly
* Make ProcessResult readonly
* Address most dotnet format whitespace warnings
* Apply dotnet format whitespace formatting
A few of them have been manually reverted and the corresponding warning was silenced
* Add previously silenced warnings back
I have no clue how these disappeared
* Revert formatting changes for while and for-loops
* Format if-blocks correctly
* Run dotnet format style after rebase
* Run dotnet format whitespace after rebase
* Run dotnet format style after rebase
* Run dotnet format analyzers after rebase
* Run dotnet format after rebase and remove unused usings
- analyzers
- style
- whitespace
* Disable 'prefer switch expression' rule
* Add comments to disabled warnings
* Fix a few disabled warnings
* Fix naming rule violation, Convert shader properties to auto-property and convert values to const
* Simplify properties and array initialization, Use const when possible, Remove trailing commas
* Start working on disabled warnings
* Fix and silence a few dotnet-format warnings again
* Run dotnet format after rebase
* Use using declaration instead of block syntax
* Address IDE0251 warnings
* Address a few disabled IDE0060 warnings
* Silence IDE0060 in .editorconfig
* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"
This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.
* dotnet format whitespace after rebase
* First dotnet format pass
* Fix naming rule violations
* Fix typo
* Add trailing commas, use targeted new and use array initializer
* Fix build issues
* Fix remaining build issues
* Remove SuppressMessage for CA1069 where possible
* Address dotnet format issues
* Address formatting issues
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Add GetHashCode implementation for RenderingSurfaceInfo
* Explicitly silence CA1822 for every affected method in Syscall
* Address formatting issues in Demangler.cs
* Address review feedback
Co-authored-by: Ac_K <acoustik666@gmail.com>
* Revert marking service methods as static
* Next dotnet format pass
* Address review feedback
---------
Co-authored-by: Ac_K <acoustik666@gmail.com>
Nintendo controllers notoriously have the A/B and X/Y buttons swapped, compared to the standard.
In order to combat this, when setting the default controller layout, Ryujinx checks whether the controller name contains "Nintendo", and swaps the mapping accordingly.
However, the reason the mapping is inverted in the first place is because SDL has `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` set to 1 by default. By setting it to 0, the mapping will be based on the buttons' position instead.
So, by doing it (and removing the `isNintendoStyle` variable), we get the following advantages:
- The mapping will be the same on all controllers, removing the need to adjust custom mappings depending on what controller is used
- Users who already set `SDL_HINT_GAMECONTROLLER_USE_BUTTON_LABELS` to 0 globally for other games/applications (like me) won't have a wrong default mapping
- Checking whether the controller name contains "Nintendo" is ugly
Disadvantages:
- Breaks the controller configuration for existing users who are using a Nintendo controller
* dotnet format style --severity info
Some changes were manually reverted.
* dotnet format analyzers --serverity info
Some changes have been minimally adapted.
* Restore a few unused methods and variables
* Address dotnet format CA1816 warnings
* Address or silence dotnet format CA2208 warnings
* Address or silence dotnet format CA1806 and a few CA1854 warnings
* Address dotnet format CA1822 warnings
* Make dotnet format succeed in style mode
* Address dotnet format CA2208 warnings properly
* Address most dotnet format whitespace warnings
* Apply dotnet format whitespace formatting
A few of them have been manually reverted and the corresponding warning was silenced
* Format if-blocks correctly
* Another rebase, another dotnet format run
* Run dotnet format whitespace after rebase
* Run dotnet format after rebase and remove unused usings
- analyzers
- style
- whitespace
* Add comments to disabled warnings
* Simplify properties and array initialization, Use const when possible, Remove trailing commas
* Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas"
This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e.
* dotnet format whitespace after rebase
* First dotnet format pass
* Fix build issues
* Apply suggestions from code review
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Second dotnet format pass
* Update src/Ryujinx/Modules/Updater/Updater.cs
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* Add trailing commas and improve formatting
* Fix formatting and naming issues
* Rename nvStutterWorkaround to nvidiaStutterWorkaround
* Use using declarations and extend resource lifetimes
* Fix GTK issues
* Add formatting for generated files
* Add trailing commas
---------
Co-authored-by: Ac_K <Acoustik666@gmail.com>
* fix crash when Vulkan isn't available
* add VulkanRenderer.GetPhysicalDevices() overload that provides its own Vk API object and logs on failure
* adjustments per AcK77
* Fix the issue of unequal check for amiibo file date due to the lack of sub-second units in the header, causing slow opening of the amiibo interface.
* Supplement the unrepaired.
* Ava UI: Expose games build ID for cheat management
* Fix bad merge
* Change integrity check level to error on invalid
* Add support for GDK
* Remove whitespace
* Add BID identifier
* PR Comments fix
* Restore title id in cheats GTK window
* use halign center instead of margin_left
* Merge
* fix after merge
* PR comments fix - design AVA
* PR fix - Move GetApplicationBuildId to ApplicationData class
* PR comment fix - Add empty line before method
* Align with PR #4755
* PR comments fix
* Change BuildId label to support translation
* Comments fix
* Remove unused BuildIdLabel property
* Fix case sensitivity for mod subdirectories
* Small refactoring of ModLoader
* Don't share instruction list between all cheats
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
---------
Co-authored-by: riperiperi <rhy3756547@hotmail.com>
* Add hide-cursor command line argument
* gtk: Adjust SettingsWindow for hide cursor options
* ava: Adjust SettingsWindow for hide cursor options
* ava: Add override check for HideCursor arg
* Remove copy&paste sins
* ava: Leave a little more room between the options
* gtk: Fix hide cursor issues
* ava: Only hide cursor if it's within the embedded window