From 0ab2ddca4c0e10683537a8bc2df23af3675462af Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sun, 6 Sep 2020 15:50:06 +0300 Subject: [PATCH] - fixed: additional command line was not stored on macOS Replaced explicit save of configuration file, which doesn't work after recent backend refactoring, with passing of CVARs we need to store to a new GZDoom process https://forum.zdoom.org/viewtopic.php?t=69790 --- src/common/platform/posix/osx/iwadpicker_cocoa.mm | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/common/platform/posix/osx/iwadpicker_cocoa.mm b/src/common/platform/posix/osx/iwadpicker_cocoa.mm index 9f4978b50..d751a1edd 100644 --- a/src/common/platform/posix/osx/iwadpicker_cocoa.mm +++ b/src/common/platform/posix/osx/iwadpicker_cocoa.mm @@ -384,13 +384,6 @@ static void RestartWithParameters(const WadStuff& wad, NSString* parameters) { assert(nil != parameters); - defaultiwad = wad.Name; - - GameConfig->ArchiveGlobalData(); - GameConfig->WriteConfigFile(); - delete GameConfig; - GameConfig = nullptr; - NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; @try @@ -403,6 +396,9 @@ static void RestartWithParameters(const WadStuff& wad, NSString* parameters) [arguments addObject:executablePath]; [arguments addObject:@"-iwad"]; [arguments addObject:[NSString stringWithUTF8String:wad.Path]]; + [arguments addObject:@"+defaultiwad"]; + [arguments addObject:[NSString stringWithUTF8String:wad.Name]]; + [arguments addObject:[NSString stringWithFormat:@"+osx_additional_parameters \"%@\"", parameters]]; for (int i = 1, count = Args->NumArgs(); i < count; ++i) { @@ -445,11 +441,10 @@ int I_PickIWad_Cocoa (WadStuff *wads, int numwads, bool showwin, int defaultiwad IWADPicker *picker = [IWADPicker alloc]; int ret = [picker pickIWad:wads num:numwads showWindow:showwin defaultWad:defaultiwad]; - NSString* parametersToAppend = [picker commandLineParameters]; - osx_additional_parameters = [parametersToAppend UTF8String]; - if (ret >= 0) { + NSString* parametersToAppend = [picker commandLineParameters]; + if (0 != [parametersToAppend length]) { RestartWithParameters(wads[ret], parametersToAppend);