From 05b131b33ff121820f418682e4cb377a984a8129 Mon Sep 17 00:00:00 2001 From: June Date: Wed, 25 Dec 2024 03:37:37 +0900 Subject: [PATCH] maintenence --- src/MeloNX/MeloNX.xcodeproj/project.pbxproj | 194 +++++++++++++++++- .../UserInterfaceState.xcuserstate | Bin 0 -> 55226 bytes .../xcschemes/xcschememanagement.plist | 24 +++ src/MeloNX/MeloNX/MeloNX.entitlements | 4 + .../Ryujinx.Headless.SDL2.csproj | 7 +- 5 files changed, 224 insertions(+), 5 deletions(-) create mode 100644 src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/june.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 src/MeloNX/MeloNX.xcodeproj/xcuserdata/june.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/src/MeloNX/MeloNX.xcodeproj/project.pbxproj b/src/MeloNX/MeloNX.xcodeproj/project.pbxproj index b7ed4fa70..ea39e22de 100644 --- a/src/MeloNX/MeloNX.xcodeproj/project.pbxproj +++ b/src/MeloNX/MeloNX.xcodeproj/project.pbxproj @@ -6,6 +6,23 @@ objectVersion = 73; objects = { +/* Begin PBXAggregateTarget section */ + BD43C6212D1B248D003BBC42 /* com.Stossy11.MeloNX.RyujinxAg */ = { + isa = PBXAggregateTarget; + buildConfigurationList = BD43C6222D1B248D003BBC42 /* Build configuration list for PBXAggregateTarget "com.Stossy11.MeloNX.RyujinxAg" */; + buildPhases = ( + BD43C62A2D1B252F003BBC42 /* ShellScript */, + ); + dependencies = ( + BD43C6262D1B249E003BBC42 /* PBXTargetDependency */, + ); + name = com.Stossy11.MeloNX.RyujinxAg; + packageProductDependencies = ( + ); + productName = com.Stossy11.MeloNX.RyujinxAg; + }; +/* End PBXAggregateTarget section */ + /* Begin PBXBuildFile section */ 4E0DED342D05695D00FEF007 /* SwiftUIJoystick in Frameworks */ = {isa = PBXBuildFile; productRef = 4E0DED332D05695D00FEF007 /* SwiftUIJoystick */; }; 4E4854022D138D7600A446A6 /* GameController.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4E80AA622CD7122800029585 /* GameController.framework */; }; @@ -27,6 +44,20 @@ remoteGlobalIDString = 4E80A98C2CD6F54500029585; remoteInfo = MeloNX; }; + BD43C6252D1B249E003BBC42 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4E80A9852CD6F54500029585 /* Project object */; + proxyType = 1; + remoteGlobalIDString = BD43C61D2D1B23AB003BBC42; + remoteInfo = Ryujinx; + }; + BD43C62D2D1B25DE003BBC42 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 4E80A9852CD6F54500029585 /* Project object */; + proxyType = 1; + remoteGlobalIDString = BD43C6212D1B248D003BBC42; + remoteInfo = com.Stossy11.MeloNX.RyujinxAg; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -47,6 +78,7 @@ 4E80A99D2CD6F54700029585 /* MeloNXTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MeloNXTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4E80A9A72CD6F54700029585 /* MeloNXUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MeloNXUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 4E80AA622CD7122800029585 /* GameController.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameController.framework; path = System/Library/Frameworks/GameController.framework; sourceTree = SDKROOT; }; + BD43C6282D1B2514003BBC42 /* Ryujinx.Headless.SDL2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = Ryujinx.Headless.SDL2.dylib; path = "MeloNX/Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ @@ -139,10 +171,17 @@ Dependencies/XCFrameworks/SDL2.xcframework, ); }; + BD43C6122D1B1769003BBC42 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */ = { + isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet; + buildPhase = 4E80A9892CD6F54500029585 /* Sources */; + membershipExceptions = ( + "Core/Headers/Ryujinx-Header.h", + ); + }; /* End PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ - 4E80A98F2CD6F54500029585 /* MeloNX */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (4E80AA1D2CD7015100029585 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, 4E9A82F32CF87822006D7086 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = MeloNX; sourceTree = ""; }; + 4E80A98F2CD6F54500029585 /* MeloNX */ = {isa = PBXFileSystemSynchronizedRootGroup; exceptions = (4E80AA1D2CD7015100029585 /* PBXFileSystemSynchronizedBuildFileExceptionSet */, BD43C6122D1B1769003BBC42 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */, 4E9A82F32CF87822006D7086 /* PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet */, ); explicitFileTypes = {}; explicitFolders = (); path = MeloNX; sourceTree = ""; }; 4E80A9A02CD6F54700029585 /* MeloNXTests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = MeloNXTests; sourceTree = ""; }; 4E80A9AA2CD6F54700029585 /* MeloNXUITests */ = {isa = PBXFileSystemSynchronizedRootGroup; explicitFileTypes = {}; explicitFolders = (); path = MeloNXUITests; sourceTree = ""; }; /* End PBXFileSystemSynchronizedRootGroup section */ @@ -178,6 +217,7 @@ 4E80A9842CD6F54500029585 = { isa = PBXGroup; children = ( + BD43C6282D1B2514003BBC42 /* Ryujinx.Headless.SDL2.dylib */, 4E80A98F2CD6F54500029585 /* MeloNX */, 4E80A9A02CD6F54700029585 /* MeloNXTests */, 4E80A9AA2CD6F54700029585 /* MeloNXUITests */, @@ -206,6 +246,25 @@ }; /* End PBXGroup section */ +/* Begin PBXLegacyTarget section */ + BD43C61D2D1B23AB003BBC42 /* Ryujinx */ = { + isa = PBXLegacyTarget; + buildArgumentsString = "publish -c Release -r ios-arm64 -p:ExtraDefineConstants=DISABLE_UPDATER src/Ryujinx.Headless.SDL2 --self-contained true"; + buildConfigurationList = BD43C61E2D1B23AB003BBC42 /* Build configuration list for PBXLegacyTarget "Ryujinx" */; + buildPhases = ( + ); + buildToolPath = "$(HOME)/.dotnet/dotnet"; + buildWorkingDirectory = "$(SRCROOT)/../.."; + dependencies = ( + ); + name = Ryujinx; + packageProductDependencies = ( + ); + passBuildSettingsInEnvironment = 0; + productName = Ryujinx; + }; +/* End PBXLegacyTarget section */ + /* Begin PBXNativeTarget section */ 4E80A98C2CD6F54500029585 /* MeloNX */ = { isa = PBXNativeTarget; @@ -219,6 +278,7 @@ buildRules = ( ); dependencies = ( + BD43C62E2D1B25DE003BBC42 /* PBXTargetDependency */, ); fileSystemSynchronizedGroups = ( 4E80A98F2CD6F54500029585 /* MeloNX */, @@ -299,6 +359,12 @@ CreatedOnToolsVersion = 16.1; TestTargetID = 4E80A98C2CD6F54500029585; }; + BD43C61D2D1B23AB003BBC42 = { + CreatedOnToolsVersion = 16.2; + }; + BD43C6212D1B248D003BBC42 = { + CreatedOnToolsVersion = 16.2; + }; }; }; buildConfigurationList = 4E80A9882CD6F54500029585 /* Build configuration list for PBXProject "MeloNX" */; @@ -322,6 +388,8 @@ 4E80A98C2CD6F54500029585 /* MeloNX */, 4E80A99C2CD6F54700029585 /* MeloNXTests */, 4E80A9A62CD6F54700029585 /* MeloNXUITests */, + BD43C61D2D1B23AB003BBC42 /* Ryujinx */, + BD43C6212D1B248D003BBC42 /* com.Stossy11.MeloNX.RyujinxAg */, ); }; /* End PBXProject section */ @@ -350,6 +418,28 @@ }; /* End PBXResourcesBuildPhase section */ +/* Begin PBXShellScriptBuildPhase section */ + BD43C62A2D1B252F003BBC42 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "$(SRCROOT)/../../src/Ryujinx.Headless.SDL2/bin/Release/net8.0/ios-arm64/native/Ryujinx.Headless.SDL2.dylib", + ); + outputFileListPaths = ( + ); + outputPaths = ( + "$(SRCROOT)/MeloNX/Dependencies/Dynamic Libraries/Ryujinx.Headless.SDL2.dylib", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "cd ../..\nmv src/Ryujinx.Headless.SDL2/bin/Release/net8.0/ios-arm64/native/Ryujinx.Headless.SDL2.dylib src/MeloNX/MeloNX/Dependencies/Dynamic\\ Libraries/Ryujinx.Headless.SDL2.dylib\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 4E80A9892CD6F54500029585 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -385,6 +475,16 @@ target = 4E80A98C2CD6F54500029585 /* MeloNX */; targetProxy = 4E80A9A82CD6F54700029585 /* PBXContainerItemProxy */; }; + BD43C6262D1B249E003BBC42 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BD43C61D2D1B23AB003BBC42 /* Ryujinx */; + targetProxy = BD43C6252D1B249E003BBC42 /* PBXContainerItemProxy */; + }; + BD43C62E2D1B25DE003BBC42 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BD43C6212D1B248D003BBC42 /* com.Stossy11.MeloNX.RyujinxAg */; + targetProxy = BD43C62D2D1B25DE003BBC42 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -393,6 +493,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_OPTIMIZATION = time; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; @@ -423,17 +524,20 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; + EAGER_LINKING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; + GCC_FAST_MATH = YES; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); + GCC_UNROLL_LOOPS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -441,12 +545,14 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 18.1; + LLVM_LTO = YES_THIN; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = NO; SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_ENFORCE_EXCLUSIVE_ACCESS = "debug-only"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; @@ -456,6 +562,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_OPTIMIZATION = time; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; @@ -486,12 +593,15 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + EAGER_LINKING = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_FAST_MATH = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 3; + GCC_OPTIMIZATION_LEVEL = fast; + GCC_UNROLL_LOOPS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -499,12 +609,15 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 18.1; + LLVM_LTO = YES_THIN; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_DISABLE_SAFETY_CHECKS = YES; + SWIFT_ENFORCE_EXCLUSIVE_ACCESS = "debug-only"; VALIDATE_PRODUCT = YES; }; name = Release; @@ -529,7 +642,9 @@ "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", + "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", ); + GCC_OPTIMIZATION_LEVEL = fast; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MeloNX/Info.plist; INFOPLIST_KEY_GCSupportsGameMode = YES; @@ -673,6 +788,10 @@ "$(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 = 0.0.8; PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX; @@ -704,8 +823,9 @@ "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", + "$(PROJECT_DIR)/MeloNX/Dependencies/Dynamic\\ Libraries", ); - GCC_OPTIMIZATION_LEVEL = 3; + GCC_OPTIMIZATION_LEVEL = fast; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = MeloNX/Info.plist; INFOPLIST_KEY_GCSupportsGameMode = YES; @@ -849,6 +969,10 @@ "$(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 = 0.0.8; PRODUCT_BUNDLE_IDENTIFIER = com.stossy11.MeloNX; @@ -932,6 +1056,52 @@ }; name = Release; }; + BD43C61F2D1B23AB003BBC42 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEBUGGING_SYMBOLS = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 95J8WZ4TN8; + GCC_GENERATE_DEBUGGING_SYMBOLS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + ONLY_ACTIVE_ARCH = YES; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + BD43C6202D1B23AB003BBC42 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 95J8WZ4TN8; + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + BD43C6232D1B248D003BBC42 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 95J8WZ4TN8; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + BD43C6242D1B248D003BBC42 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 95J8WZ4TN8; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -971,6 +1141,24 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + BD43C61E2D1B23AB003BBC42 /* Build configuration list for PBXLegacyTarget "Ryujinx" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BD43C61F2D1B23AB003BBC42 /* Debug */, + BD43C6202D1B23AB003BBC42 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BD43C6222D1B248D003BBC42 /* Build configuration list for PBXAggregateTarget "com.Stossy11.MeloNX.RyujinxAg" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BD43C6232D1B248D003BBC42 /* Debug */, + BD43C6242D1B248D003BBC42 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCRemoteSwiftPackageReference section */ diff --git a/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/june.xcuserdatad/UserInterfaceState.xcuserstate b/src/MeloNX/MeloNX.xcodeproj/project.xcworkspace/xcuserdata/june.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..337a1297bf64c623c3bf88fa0e8a00ec87eaee7d GIT binary patch literal 55226 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 + + + + SchemeUserState + + MeloNX.xcscheme_^#shared#^_ + + orderHint + 0 + + Ryujinx.xcscheme_^#shared#^_ + + orderHint + 3 + + com.Stossy11.MeloNX.RyujinxAg.xcscheme_^#shared#^_ + + orderHint + 4 + + + + diff --git a/src/MeloNX/MeloNX/MeloNX.entitlements b/src/MeloNX/MeloNX/MeloNX.entitlements index 99f471672..aff1d9915 100644 --- a/src/MeloNX/MeloNX/MeloNX.entitlements +++ b/src/MeloNX/MeloNX/MeloNX.entitlements @@ -2,6 +2,10 @@ + com.apple.developer.kernel.extended-virtual-addressing + + com.apple.developer.kernel.increased-debugging-memory-limit + com.apple.developer.kernel.increased-memory-limit diff --git a/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj b/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj index 25831c6de..059ba0d68 100644 --- a/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj +++ b/src/Ryujinx.Headless.SDL2/Ryujinx.Headless.SDL2.csproj @@ -11,8 +11,10 @@ true true + -flto -Ofast -funroll-loops true false + Speed @@ -46,7 +48,8 @@ - + + - +