From ee02dee9828f3440933d21f1f53649646c9af2d2 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sun, 6 Sep 2020 15:26:20 -0400 Subject: [PATCH] I figured out bgx enough to add some options. --- Ample/Base.lproj/LaunchWindow.xib | 90 ++++++++++++++++++++++++++----- Ample/LaunchWindowController.m | 42 +++++++++++++-- 2 files changed, 115 insertions(+), 17 deletions(-) diff --git a/Ample/Base.lproj/LaunchWindow.xib b/Ample/Base.lproj/LaunchWindow.xib index 2d6f298..8dc1284 100644 --- a/Ample/Base.lproj/LaunchWindow.xib +++ b/Ample/Base.lproj/LaunchWindow.xib @@ -118,23 +118,12 @@ DQ - - + @@ -262,6 +251,83 @@ DQ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Ample/LaunchWindowController.m b/Ample/LaunchWindowController.m index b5dbba5..be039ed 100644 --- a/Ample/LaunchWindowController.m +++ b/Ample/LaunchWindowController.m @@ -47,6 +47,11 @@ static NSString *kContextMachine = @"kContextMachine"; @property NSInteger mameSpeed; +@property BOOL mameBGFX; +@property NSInteger mameBackend; +@property NSInteger mameEffects; + + @end @@ -58,6 +63,7 @@ static NSString *kContextMachine = @"kContextMachine"; -(void)windowWillLoad { [self setMameSpeed: 1]; + [self setMameBGFX: YES]; } - (void)windowDidLoad { @@ -78,6 +84,7 @@ static NSString *kContextMachine = @"kContextMachine"; @"mameAVI", @"mameAVIPath", @"mameWAV", @"mameWAVPath", @"mameVGM", @"mameVGMPath", + @"mameBGFX", @"mameBackend", @"mameEffects", ]; for (NSString *key in keys) { @@ -249,12 +256,37 @@ static NSString * JoinArguments(NSArray *argv) { [argv addObject: @"-aspect"]; [argv addObject: aspect]; - - if (_mameNoBlur) { - [argv addObject: @"-video"]; - [argv addObject: @"soft"]; - } + } + + if (_mameBGFX) { + if (_mameBackend) { + static NSString *Names[] = { + @"-", + @"metal", + @"opengl", + }; + [argv addObject: @"-bgfx_backend"]; + [argv addObject: Names[_mameBackend]]; + } + if (_mameEffects) { + static NSString *Names[] = { + @"-", + @"unfiltered", + @"hlsl", + @"crt-geom", + @"crt-geom-deluxe", + }; + [argv addObject: @"-bgfx_screen_chains"]; + [argv addObject: Names[_mameEffects]]; + } + + } else { + [argv addObject: @"-video"]; + [argv addObject: @"soft"]; + } + + // -speed n // -scale n