1
0
forked from MeloNX/MeloNX

Testing stuff

This commit is contained in:
Ben Lawrence 2024-11-29 20:38:32 +13:00
parent b207a76e4f
commit df4d163655
4 changed files with 36 additions and 17 deletions
src
MeloNX
MeloNX.xcodeproj
MeloNX/Core/Swift
Ryujinx.Headless.SDL2

@ -62,6 +62,7 @@
4E80AA0A2CD6FAA800029585 /* Exceptions for "MeloNX" folder in "Embed Libraries" phase from "MeloNX" target */ = { 4E80AA0A2CD6FAA800029585 /* Exceptions for "MeloNX" folder in "Embed Libraries" phase from "MeloNX" target */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet; isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
attributesByRelativePath = { attributesByRelativePath = {
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libMoltenVK.dylib" = (CodeSignOnCopy, ); "Dependencies/Dynamic Libraries/libMoltenVK.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libavcodec.dylib" = (CodeSignOnCopy, ); "Dependencies/Dynamic Libraries/libavcodec.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libavutil.dylib" = (CodeSignOnCopy, ); "Dependencies/Dynamic Libraries/libavutil.dylib" = (CodeSignOnCopy, );
@ -81,6 +82,7 @@
"Dependencies/Dynamic Libraries/libavcodec.dylib", "Dependencies/Dynamic Libraries/libavcodec.dylib",
"Dependencies/Dynamic Libraries/libavutil.dylib", "Dependencies/Dynamic Libraries/libavutil.dylib",
"Dependencies/Dynamic Libraries/libMoltenVK.dylib", "Dependencies/Dynamic Libraries/libMoltenVK.dylib",
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib",
Dependencies/XCFrameworks/libavcodec.xcframework, Dependencies/XCFrameworks/libavcodec.xcframework,
Dependencies/XCFrameworks/libavfilter.xcframework, Dependencies/XCFrameworks/libavfilter.xcframework,
Dependencies/XCFrameworks/libavformat.xcframework, Dependencies/XCFrameworks/libavformat.xcframework,
@ -558,6 +560,11 @@
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.benlawrence.MeloNX; PRODUCT_BUNDLE_IDENTIFIER = com.benlawrence.MeloNX;
@ -654,6 +661,11 @@
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
"$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries",
); );
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.benlawrence.MeloNX; PRODUCT_BUNDLE_IDENTIFIER = com.benlawrence.MeloNX;

@ -159,7 +159,7 @@ class Ryujinx {
// Adding default args directly into additionalArgs // Adding default args directly into additionalArgs
if config.nintendoinput { if config.nintendoinput {
args.append("--correct-ons-controller") // args.append("--correct-ons-controller")
} }
if config.ryuLDN { if config.ryuLDN {

@ -32,6 +32,9 @@ namespace Ryujinx.Headless.SDL2
// Input // Input
[Option("correct-ons-controller", Required = false, Default = false, HelpText="Makes the on-screen controller (iOS) buttons correspond to what they show.")]
public bool OnScreenCorrespond { get; set; }
[Option("input-profile-1", Required = false, HelpText = "Set the input profile in use for Player 1.")] [Option("input-profile-1", Required = false, HelpText = "Set the input profile in use for Player 1.")]
public string InputProfile1Name { get; set; } public string InputProfile1Name { get; set; }

@ -135,8 +135,11 @@ namespace Ryujinx.Headless.SDL2
MVKInitialization.InitializeResolver(); MVKInitialization.InitializeResolver();
} }
Parser.Default.ParseArguments<Options>(args) var result = Parser.Default.ParseArguments<Options>(args)
.WithParsed(Load) .WithParsed(options =>
{
Load(options);
})
.WithNotParsed(errors => errors.Output()); .WithNotParsed(errors => errors.Output());
} }
@ -172,7 +175,7 @@ namespace Ryujinx.Headless.SDL2
return ptr; return ptr;
} }
private static InputConfig HandlePlayerConfiguration(string inputProfileName, string inputId, PlayerIndex index) private static InputConfig HandlePlayerConfiguration(string inputProfileName, string inputId, PlayerIndex index, Options option)
{ {
if (inputId == null) if (inputId == null)
{ {
@ -273,7 +276,8 @@ namespace Ryujinx.Headless.SDL2
} }
else else
{ {
bool isNintendoStyle = gamepadName.Contains("Nintendo"); bool isAppleController = gamepadName.Contains("Apple") ? option.OnScreenCorrespond: false;
bool isNintendoStyle = gamepadName.Contains("Nintendo") || isAppleController;
config = new StandardControllerInputConfig config = new StandardControllerInputConfig
{ {
@ -469,9 +473,9 @@ namespace Ryujinx.Headless.SDL2
_enableKeyboard = option.EnableKeyboard; _enableKeyboard = option.EnableKeyboard;
_enableMouse = option.EnableMouse; _enableMouse = option.EnableMouse;
static void LoadPlayerConfiguration(string inputProfileName, string inputId, PlayerIndex index) static void LoadPlayerConfiguration(string inputProfileName, string inputId, PlayerIndex index, Options option)
{ {
InputConfig inputConfig = HandlePlayerConfiguration(inputProfileName, inputId, index); InputConfig inputConfig = HandlePlayerConfiguration(inputProfileName, inputId, index, option);
if (inputConfig != null) if (inputConfig != null)
{ {
@ -479,15 +483,15 @@ namespace Ryujinx.Headless.SDL2
} }
} }
LoadPlayerConfiguration(option.InputProfile1Name, option.InputId1, PlayerIndex.Player1); LoadPlayerConfiguration(option.InputProfile1Name, option.InputId1, PlayerIndex.Player1, option);
LoadPlayerConfiguration(option.InputProfile2Name, option.InputId2, PlayerIndex.Player2); LoadPlayerConfiguration(option.InputProfile2Name, option.InputId2, PlayerIndex.Player2, option);
LoadPlayerConfiguration(option.InputProfile3Name, option.InputId3, PlayerIndex.Player3); LoadPlayerConfiguration(option.InputProfile3Name, option.InputId3, PlayerIndex.Player3, option);
LoadPlayerConfiguration(option.InputProfile4Name, option.InputId4, PlayerIndex.Player4); LoadPlayerConfiguration(option.InputProfile4Name, option.InputId4, PlayerIndex.Player4, option);
LoadPlayerConfiguration(option.InputProfile5Name, option.InputId5, PlayerIndex.Player5); LoadPlayerConfiguration(option.InputProfile5Name, option.InputId5, PlayerIndex.Player5, option);
LoadPlayerConfiguration(option.InputProfile6Name, option.InputId6, PlayerIndex.Player6); LoadPlayerConfiguration(option.InputProfile6Name, option.InputId6, PlayerIndex.Player6, option);
LoadPlayerConfiguration(option.InputProfile7Name, option.InputId7, PlayerIndex.Player7); LoadPlayerConfiguration(option.InputProfile7Name, option.InputId7, PlayerIndex.Player7, option);
LoadPlayerConfiguration(option.InputProfile8Name, option.InputId8, PlayerIndex.Player8); LoadPlayerConfiguration(option.InputProfile8Name, option.InputId8, PlayerIndex.Player8, option);
LoadPlayerConfiguration(option.InputProfileHandheldName, option.InputIdHandheld, PlayerIndex.Handheld); LoadPlayerConfiguration(option.InputProfileHandheldName, option.InputIdHandheld, PlayerIndex.Handheld, option);
if (_inputConfiguration.Count == 0) if (_inputConfiguration.Count == 0)
{ {
@ -648,7 +652,7 @@ namespace Ryujinx.Headless.SDL2
options.AudioVolume, options.AudioVolume,
options.UseHypervisor ?? true, options.UseHypervisor ?? true,
options.MultiplayerLanInterfaceId, options.MultiplayerLanInterfaceId,
Common.Configuration.Multiplayer.MultiplayerMode.Disabled, Common.Configuration.Multiplayer.MultiplayerMode.LdnRyu,
false, false,
"", "",
"", "",