# Patcher Allows for generating and applying patches to software. Currently used for downgrading EFT. ## Requirements - .net 6 ## Development Stuff - VS 2022 w/ Avalonia Extension ## PatchClient Parameters The patch client only has one parameter at this time (`autoclose`) which can be passed to the patch client like this: (this parameter is not case sensitive) `patcher.exe autoclose` - AutoClose: Whether or not the patch client should automatically close and return an exit code. ## PatchGenerator Parameters Parameters are passed as strings like `param::value`: Example: (parameters are not case sensitive) `"TargetFolderPath::C:\path\to\folder"` - OutputFolderName: The folder to save the generated patches to. - SourceFolderPath: The source folder for (the files expected to be patched). - TargetFolderPath: The target folder (the expected result of patching). - AutoZip: Whether or not the patch generator should automatically compress the patches after generation. - AutoClose: Whether or not the patch generator should automatically close and return an exit code. ## Exit Codes ```cs public enum PatcherExitCode { ProgramClosed = 0, // program was closed by user Success = 10, // patching or patch generation succeeded EftExeNotFound = 11, // EFT exe was not found during patching (patch client only) NoPatchFolder = 12, // no patch folder was found during patching (patch client only) MissingFile = 13, // a matching file could not be found during patching (patch client only) MissingDir = 14 // a directory could not be found during patch generation (source/target/output) (patch generator only) PatchFailed = 15 // a patch file failed (patch client only) } ```