diff options
author | aszlig <aszlig@nix.build> | 2018-07-17 06:39:10 +0200 |
---|---|---|
committer | aszlig <aszlig@nix.build> | 2018-07-19 06:35:16 +0200 |
commit | 7aa950748713fa296ea36387e8de1ba35b4196c6 (patch) | |
tree | 85f1868c04f26dad0f03042101149fb4e76a3eb5 /pkgs | |
parent | 19408db5a4eaa309d3f84f6a2d056c5b8b7c8fcb (diff) |
monogame-patcher: Improve values for replace-call
Using an IEnumerable for the search and replace arguments isn't really a very good idea, because it makes command line usage very annoying and messes up the usage description. I originally made this an IEnumerable because I wanted to have a way to specify multiple replacements, but we can simply run the patcher twice or more times. Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/games/build-support/monogame-patcher/src/options.cs | 8 | ||||
-rw-r--r-- | pkgs/games/build-support/monogame-patcher/src/patcher.cs | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/pkgs/games/build-support/monogame-patcher/src/options.cs b/pkgs/games/build-support/monogame-patcher/src/options.cs index ebe1f75b..32a8403e 100644 --- a/pkgs/games/build-support/monogame-patcher/src/options.cs +++ b/pkgs/games/build-support/monogame-patcher/src/options.cs @@ -19,10 +19,12 @@ class FixFileStreamsCmd : GenericOptions { [Verb("replace-call", HelpText="Replace calls to types.")] class ReplaceCallCmd : GenericOptions { - [Value(0, Min=2, Max=2, HelpText="Call to replace.")] - public IEnumerable<string> replaceCall { get; set; } + [Value(0, Required=true, HelpText="Method call to replace.")] + public string replaceMethod { get; set; } + + [Value(1, Required=true, HelpText="The replacement method.")] + public string replacementMethod { get; set; } [Value(2, Required=true, MetaName = "type", HelpText = "Types to patch.")] public IEnumerable<string> typesToPatch { get; set; } - }; diff --git a/pkgs/games/build-support/monogame-patcher/src/patcher.cs b/pkgs/games/build-support/monogame-patcher/src/patcher.cs index c9046f0a..cac60250 100644 --- a/pkgs/games/build-support/monogame-patcher/src/patcher.cs +++ b/pkgs/games/build-support/monogame-patcher/src/patcher.cs @@ -97,8 +97,8 @@ class ReplaceCall : Command { private MethodReference replace; public ReplaceCall(ReplaceCallCmd options) : base(options) { - this.search = options.replaceCall.ToList()[0]; - this.replace = this.find_method_ref(options.replaceCall.ToList()[1]); + this.search = options.replaceMethod; + this.replace = this.find_method_ref(options.replacementMethod); var filtered = this.module.Types .Where(p => options.typesToPatch.Contains(p.Name)); |