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

View File

@ -62,6 +62,7 @@
4E80AA0A2CD6FAA800029585 /* Exceptions for "MeloNX" folder in "Embed Libraries" phase from "MeloNX" target */ = {
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
attributesByRelativePath = {
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libMoltenVK.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libavcodec.dylib" = (CodeSignOnCopy, );
"Dependencies/Dynamic Libraries/libavutil.dylib" = (CodeSignOnCopy, );
@ -81,6 +82,7 @@
"Dependencies/Dynamic Libraries/libavcodec.dylib",
"Dependencies/Dynamic Libraries/libavutil.dylib",
"Dependencies/Dynamic Libraries/libMoltenVK.dylib",
"Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib",
Dependencies/XCFrameworks/libavcodec.xcframework,
Dependencies/XCFrameworks/libavfilter.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",
);
MARKETING_VERSION = 1.0;
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",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.benlawrence.MeloNX;

View File

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

View File

@ -32,6 +32,9 @@ namespace Ryujinx.Headless.SDL2
// 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.")]
public string InputProfile1Name { get; set; }

View File

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