Fix utility to use Platform.SupportDir (#1067); drop the --SupportDir arg and the path passed to --settings-value; Update OSX launcher to match.

This commit is contained in:
Paul Chote
2011-07-23 00:34:31 +12:00
parent ac9a5efd8e
commit 9ec229bef7
5 changed files with 9 additions and 15 deletions

View File

@@ -74,7 +74,6 @@ extern char **environ;
NSMutableArray *taskArgs = [NSMutableArray arrayWithObjects:@"OpenRA.Utility.exe", NSMutableArray *taskArgs = [NSMutableArray arrayWithObjects:@"OpenRA.Utility.exe",
@"--settings-value", @"--settings-value",
[@"~/Library/Application Support/OpenRA" stringByExpandingTildeInPath],
@"Graphics.Mode", nil]; @"Graphics.Mode", nil];
[task setCurrentDirectoryPath:gamePath]; [task setCurrentDirectoryPath:gamePath];
@@ -91,7 +90,7 @@ extern char **environ;
defaultButton:@"Quit" defaultButton:@"Quit"
alternateButton:nil alternateButton:nil
otherButton:nil otherButton:nil
informativeTextWithFormat:@"OpenRA.Utility.exe returned an error and cannot continue."]; informativeTextWithFormat:@"OpenRA.Utility returned an error and cannot continue.\n\nA log has been saved to ~/Library/Application Support/OpenRA/Logs/utility.log"];
[alert runModal]; [alert runModal];
[[NSApplication sharedApplication] terminate:self]; [[NSApplication sharedApplication] terminate:self];
@@ -115,7 +114,6 @@ extern char **environ;
gamePath, gamePath,
monoPath, monoPath,
[NSString stringWithFormat:@"UtilityPath=%@", [[NSBundle mainBundle] executablePath]], [NSString stringWithFormat:@"UtilityPath=%@", [[NSBundle mainBundle] executablePath]],
[NSString stringWithFormat:@"SupportDir=%@",[@"~/Library/Application Support/OpenRA" stringByExpandingTildeInPath]],
nil]; nil];
FSRef appRef; FSRef appRef;
CFURLGetFSRef((CFURLRef)[NSURL URLWithString:[[[NSBundle mainBundle] executablePath] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]], &appRef); CFURLGetFSRef((CFURLRef)[NSURL URLWithString:[[[NSBundle mainBundle] executablePath] stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding]], &appRef);

View File

@@ -13,7 +13,7 @@ int main(int argc, char *argv[])
{ {
/* When launching a mod, the arguments are of the form /* When launching a mod, the arguments are of the form
* --launch <game dir> <mono path> <utility path> <support dir option> <mod option> */ * --launch <game dir> <mono path> <utility path> <support dir option> <mod option> */
if (argc >= 7 && strcmp(argv[1], "--launch") == 0) if (argc >= 6 && strcmp(argv[1], "--launch") == 0)
{ {
/* Change into the game dir */ /* Change into the game dir */
chdir(argv[3]); chdir(argv[3]);
@@ -24,7 +24,6 @@ int main(int argc, char *argv[])
"--debug", "--debug",
"OpenRA.Game.exe", "OpenRA.Game.exe",
argv[5], argv[5],
argv[6],
NULL NULL
}; };

View File

@@ -39,16 +39,15 @@ namespace OpenRA.Utility
public static void Settings(string[] args) public static void Settings(string[] args)
{ {
if (args.Length < 3) if (args.Length < 2)
{ {
Console.WriteLine("Error: Invalid syntax"); Console.WriteLine("Error: Invalid syntax");
return; return;
} }
var section = args[2].Split('.')[0]; var section = args[1].Split('.')[0];
var field = args[2].Split('.')[1]; var field = args[1].Split('.')[1];
string expandedPath = args[1].Replace("~", Environment.GetFolderPath(Environment.SpecialFolder.Personal)); var settings = new Settings(Platform.SupportDir + "settings.yaml", Arguments.Empty);
var settings = new Settings(Path.Combine(expandedPath,"settings.yaml"), Arguments.Empty);
var result = settings.Sections[section].GetType().GetField(field).GetValue(settings.Sections[section]); var result = settings.Sections[section].GetType().GetField(field).GetValue(settings.Sections[section]);
Console.WriteLine(result); Console.WriteLine(result);
} }

View File

@@ -30,9 +30,7 @@ namespace OpenRA.Utility
if (args.Length == 0) { PrintUsage(); return; } if (args.Length == 0) { PrintUsage(); return; }
var supportDir = GetNamedArg(args, "--SupportDir"); Log.LogPath = Platform.SupportDir + "Logs" + Path.DirectorySeparatorChar;
if (supportDir != null)
Log.LogPath = Path.Combine(supportDir.Replace("\"", ""), "Logs");
try try
{ {
@@ -57,7 +55,7 @@ namespace OpenRA.Utility
{ {
Console.WriteLine("Usage: OpenRA.Utility.exe [OPTION] [ARGS]"); Console.WriteLine("Usage: OpenRA.Utility.exe [OPTION] [ARGS]");
Console.WriteLine(); Console.WriteLine();
Console.WriteLine(" --settings-value SUPPORTDIR KEY Get value of KEY in SUPPORTDIR/settings.yaml"); Console.WriteLine(" --settings-value KEY Get value of KEY from settings.yaml");
Console.WriteLine(" --shp PNGFILE FRAMEWIDTH Convert a PNG containing one or more frames to a SHP"); Console.WriteLine(" --shp PNGFILE FRAMEWIDTH Convert a PNG containing one or more frames to a SHP");
Console.WriteLine(" --png SHPFILE PALETTE Convert a SHP to a PNG containing all of its frames"); Console.WriteLine(" --png SHPFILE PALETTE Convert a SHP to a PNG containing all of its frames");
} }