From 6193da689974015faf630b85aeefc6c62daa2b1c Mon Sep 17 00:00:00 2001 From: Gustas <37534529+PunkPun@users.noreply.github.com> Date: Fri, 3 Jan 2025 19:19:25 +0200 Subject: [PATCH] Allow passing map author as an argument --- OpenRA.Mods.Cnc/UtilityCommands/ImportGen1MapCommand.cs | 6 +++++- OpenRA.Mods.Cnc/UtilityCommands/ImportGen2MapCommand.cs | 6 +++++- OpenRA.Mods.Cnc/UtilityCommands/ImportRedAlertMapCommand.cs | 2 +- .../UtilityCommands/ImportTiberianDawnMapCommand.cs | 2 +- .../UtilityCommands/ImportTiberianSunMapCommand.cs | 2 +- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/OpenRA.Mods.Cnc/UtilityCommands/ImportGen1MapCommand.cs b/OpenRA.Mods.Cnc/UtilityCommands/ImportGen1MapCommand.cs index c9927d5ed3..02e0760370 100644 --- a/OpenRA.Mods.Cnc/UtilityCommands/ImportGen1MapCommand.cs +++ b/OpenRA.Mods.Cnc/UtilityCommands/ImportGen1MapCommand.cs @@ -51,6 +51,10 @@ namespace OpenRA.Mods.Cnc.UtilityCommands Game.ModData = ModData = utility.ModData; var filename = args[1]; + var author = args.Length > 2 + ? args[2] + : "Westwood Studios"; + using (var stream = File.OpenRead(filename)) { var file = new IniFile(stream); @@ -73,7 +77,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands Map = new Map(ModData, terrainInfo, MapSize, MapSize) { Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)), - Author = "Westwood Studios", + Author = author, RequiresMod = ModData.Manifest.Id }; diff --git a/OpenRA.Mods.Cnc/UtilityCommands/ImportGen2MapCommand.cs b/OpenRA.Mods.Cnc/UtilityCommands/ImportGen2MapCommand.cs index ce07d84a65..16300f51fe 100644 --- a/OpenRA.Mods.Cnc/UtilityCommands/ImportGen2MapCommand.cs +++ b/OpenRA.Mods.Cnc/UtilityCommands/ImportGen2MapCommand.cs @@ -59,6 +59,10 @@ namespace OpenRA.Mods.Cnc.UtilityCommands Game.ModData = utility.ModData; var filename = args[1]; + var author = args.Length > 2 + ? args[2] + : "Westwood Studios"; + var file = new IniFile(File.Open(args[1], FileMode.Open)); var basic = file.GetSection("Basic"); var mapSection = file.GetSection("Map"); @@ -75,7 +79,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands var map = new Map(Game.ModData, terrainInfo, mapCanvasSize.Width, mapCanvasSize.Height) { Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)), - Author = "Westwood Studios", + Author = author, RequiresMod = utility.ModData.Manifest.Id }; diff --git a/OpenRA.Mods.Cnc/UtilityCommands/ImportRedAlertMapCommand.cs b/OpenRA.Mods.Cnc/UtilityCommands/ImportRedAlertMapCommand.cs index e302263a76..070c4aa26d 100644 --- a/OpenRA.Mods.Cnc/UtilityCommands/ImportRedAlertMapCommand.cs +++ b/OpenRA.Mods.Cnc/UtilityCommands/ImportRedAlertMapCommand.cs @@ -28,7 +28,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands string IUtilityCommand.Name => "--import-ra-map"; bool IUtilityCommand.ValidateArguments(string[] args) { return ValidateArguments(args); } - [Desc("FILENAME", "Convert a legacy Red Alert INI/MPR map to the OpenRA format.")] + [Desc("FILENAME [AUTHOR]", "Convert a legacy Red Alert INI/MPR map to the OpenRA format.")] void IUtilityCommand.Run(Utility utility, string[] args) { Run(utility, args); } public override void ValidateMapFormat(int format) diff --git a/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianDawnMapCommand.cs b/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianDawnMapCommand.cs index e16dce63df..24d85d68af 100644 --- a/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianDawnMapCommand.cs +++ b/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianDawnMapCommand.cs @@ -26,7 +26,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands string IUtilityCommand.Name => "--import-td-map"; bool IUtilityCommand.ValidateArguments(string[] args) { return ValidateArguments(args); } - [Desc("FILENAME", "Convert a legacy Tiberian Dawn INI/MPR map to the OpenRA format.")] + [Desc("FILENAME [AUTHOR]", "Convert a legacy Tiberian Dawn INI/MPR map to the OpenRA format.")] void IUtilityCommand.Run(Utility utility, string[] args) { Run(utility, args); } public override void ValidateMapFormat(int format) diff --git a/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianSunMapCommand.cs b/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianSunMapCommand.cs index c135eef675..a756ffad58 100644 --- a/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianSunMapCommand.cs +++ b/OpenRA.Mods.Cnc/UtilityCommands/ImportTiberianSunMapCommand.cs @@ -21,7 +21,7 @@ namespace OpenRA.Mods.Cnc.UtilityCommands bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } - [Desc("FILENAME", "Convert a Tiberian Sun map to the OpenRA format.")] + [Desc("FILENAME [AUTHOR]", "Convert a Tiberian Sun map to the OpenRA format.")] void IUtilityCommand.Run(Utility utility, string[] args) { Run(utility, args);