Initial CC work
This commit is contained in:
parent
0109e55281
commit
2ea1cda886
291
RecodeItGUI/GUI/Main.Designer.cs
generated
291
RecodeItGUI/GUI/Main.Designer.cs
generated
@ -31,6 +31,7 @@ partial class ReCodeItForm
|
|||||||
TabPageRemapper = new TabPage();
|
TabPageRemapper = new TabPage();
|
||||||
RemapTreeView = new TreeView();
|
RemapTreeView = new TreeView();
|
||||||
groupBox1 = new GroupBox();
|
groupBox1 = new GroupBox();
|
||||||
|
LoadedMappingFilePath = new TextBox();
|
||||||
RemapperUseForceRename = new CheckBox();
|
RemapperUseForceRename = new CheckBox();
|
||||||
RemapperUnseal = new CheckBox();
|
RemapperUnseal = new CheckBox();
|
||||||
RemapperPublicicize = new CheckBox();
|
RemapperPublicicize = new CheckBox();
|
||||||
@ -38,13 +39,11 @@ partial class ReCodeItForm
|
|||||||
TargetAssemblyPath = new TextBox();
|
TargetAssemblyPath = new TextBox();
|
||||||
RenamePropertiesCheckbox = new CheckBox();
|
RenamePropertiesCheckbox = new CheckBox();
|
||||||
OutputDirectoryButton = new Button();
|
OutputDirectoryButton = new Button();
|
||||||
EditRemapButton = new Button();
|
|
||||||
PickAssemblyPathButton = new Button();
|
PickAssemblyPathButton = new Button();
|
||||||
ConstuctorCountUpDown = new NumericUpDown();
|
ConstuctorCountUpDown = new NumericUpDown();
|
||||||
RenameFieldsCheckbox = new CheckBox();
|
RenameFieldsCheckbox = new CheckBox();
|
||||||
ConstructorCountEnabled = new CheckBox();
|
ConstructorCountEnabled = new CheckBox();
|
||||||
LoadMappingFileButton = new Button();
|
LoadMappingFileButton = new Button();
|
||||||
SaveMappingFileButton = new Button();
|
|
||||||
RunRemapButton = new Button();
|
RunRemapButton = new Button();
|
||||||
Inclusions = new TabControl();
|
Inclusions = new TabControl();
|
||||||
tabPage1 = new TabPage();
|
tabPage1 = new TabPage();
|
||||||
@ -142,20 +141,23 @@ partial class ReCodeItForm
|
|||||||
tabPage5 = new TabPage();
|
tabPage5 = new TabPage();
|
||||||
groupBox4 = new GroupBox();
|
groupBox4 = new GroupBox();
|
||||||
CrossPatchRunButton = new Button();
|
CrossPatchRunButton = new Button();
|
||||||
CrossMapperProjectBuildPath = new TextBox();
|
|
||||||
CrossPatchingProjectBuildDirButton = new Button();
|
|
||||||
CrossMapperProjTargetAssembly = new TextBox();
|
|
||||||
CrossMappingOutputChooseButton = new Button();
|
|
||||||
groupBox3 = new GroupBox();
|
groupBox3 = new GroupBox();
|
||||||
|
CrossCompilerNewProjectButton = new Button();
|
||||||
CrossPatchRemapOutputButton = new Button();
|
CrossPatchRemapOutputButton = new Button();
|
||||||
CrossMapperReferencePath = new TextBox();
|
CrossMapperReferencePath = new TextBox();
|
||||||
CrossPatchRemapButton = new Button();
|
|
||||||
CrossMapperOriginalAssembly = new TextBox();
|
CrossMapperOriginalAssembly = new TextBox();
|
||||||
|
CrossMapperProjectBuildPath = new TextBox();
|
||||||
|
CrossPatchingProjectBuildDirButton = new Button();
|
||||||
CrossPatchingOrigAssemblyButton = new Button();
|
CrossPatchingOrigAssemblyButton = new Button();
|
||||||
|
CrossMapperProjTargetAssembly = new TextBox();
|
||||||
|
CrossMappingOutputChooseButton = new Button();
|
||||||
|
CrossPatchRemapButton = new Button();
|
||||||
SettingsTab = new TabPage();
|
SettingsTab = new TabPage();
|
||||||
groupBox2 = new GroupBox();
|
groupBox2 = new GroupBox();
|
||||||
SilentModeCheckbox = new CheckBox();
|
SilentModeCheckbox = new CheckBox();
|
||||||
DebugLoggingCheckbox = new CheckBox();
|
DebugLoggingCheckbox = new CheckBox();
|
||||||
|
CrossCompilerProjectComboBox = new ComboBox();
|
||||||
|
label1 = new Label();
|
||||||
TabPageRemapper.SuspendLayout();
|
TabPageRemapper.SuspendLayout();
|
||||||
groupBox1.SuspendLayout();
|
groupBox1.SuspendLayout();
|
||||||
((System.ComponentModel.ISupportInitialize)ConstuctorCountUpDown).BeginInit();
|
((System.ComponentModel.ISupportInitialize)ConstuctorCountUpDown).BeginInit();
|
||||||
@ -201,6 +203,7 @@ partial class ReCodeItForm
|
|||||||
//
|
//
|
||||||
// groupBox1
|
// groupBox1
|
||||||
//
|
//
|
||||||
|
groupBox1.Controls.Add(LoadedMappingFilePath);
|
||||||
groupBox1.Controls.Add(RemapperUseForceRename);
|
groupBox1.Controls.Add(RemapperUseForceRename);
|
||||||
groupBox1.Controls.Add(RemapperUnseal);
|
groupBox1.Controls.Add(RemapperUnseal);
|
||||||
groupBox1.Controls.Add(RemapperPublicicize);
|
groupBox1.Controls.Add(RemapperPublicicize);
|
||||||
@ -208,13 +211,11 @@ partial class ReCodeItForm
|
|||||||
groupBox1.Controls.Add(TargetAssemblyPath);
|
groupBox1.Controls.Add(TargetAssemblyPath);
|
||||||
groupBox1.Controls.Add(RenamePropertiesCheckbox);
|
groupBox1.Controls.Add(RenamePropertiesCheckbox);
|
||||||
groupBox1.Controls.Add(OutputDirectoryButton);
|
groupBox1.Controls.Add(OutputDirectoryButton);
|
||||||
groupBox1.Controls.Add(EditRemapButton);
|
|
||||||
groupBox1.Controls.Add(PickAssemblyPathButton);
|
groupBox1.Controls.Add(PickAssemblyPathButton);
|
||||||
groupBox1.Controls.Add(ConstuctorCountUpDown);
|
groupBox1.Controls.Add(ConstuctorCountUpDown);
|
||||||
groupBox1.Controls.Add(RenameFieldsCheckbox);
|
groupBox1.Controls.Add(RenameFieldsCheckbox);
|
||||||
groupBox1.Controls.Add(ConstructorCountEnabled);
|
groupBox1.Controls.Add(ConstructorCountEnabled);
|
||||||
groupBox1.Controls.Add(LoadMappingFileButton);
|
groupBox1.Controls.Add(LoadMappingFileButton);
|
||||||
groupBox1.Controls.Add(SaveMappingFileButton);
|
|
||||||
groupBox1.Controls.Add(RunRemapButton);
|
groupBox1.Controls.Add(RunRemapButton);
|
||||||
groupBox1.Controls.Add(Inclusions);
|
groupBox1.Controls.Add(Inclusions);
|
||||||
groupBox1.Controls.Add(NewTypeName);
|
groupBox1.Controls.Add(NewTypeName);
|
||||||
@ -248,12 +249,22 @@ partial class ReCodeItForm
|
|||||||
groupBox1.TabStop = false;
|
groupBox1.TabStop = false;
|
||||||
groupBox1.Text = "Remap Editor";
|
groupBox1.Text = "Remap Editor";
|
||||||
//
|
//
|
||||||
|
// LoadedMappingFilePath
|
||||||
|
//
|
||||||
|
LoadedMappingFilePath.BackColor = SystemColors.ScrollBar;
|
||||||
|
LoadedMappingFilePath.Location = new Point(448, 514);
|
||||||
|
LoadedMappingFilePath.Name = "LoadedMappingFilePath";
|
||||||
|
LoadedMappingFilePath.PlaceholderText = "Loaded Mapping File";
|
||||||
|
LoadedMappingFilePath.ReadOnly = true;
|
||||||
|
LoadedMappingFilePath.Size = new Size(297, 31);
|
||||||
|
LoadedMappingFilePath.TabIndex = 38;
|
||||||
|
//
|
||||||
// RemapperUseForceRename
|
// RemapperUseForceRename
|
||||||
//
|
//
|
||||||
RemapperUseForceRename.AutoSize = true;
|
RemapperUseForceRename.AutoSize = true;
|
||||||
RemapperUseForceRename.Checked = true;
|
RemapperUseForceRename.Checked = true;
|
||||||
RemapperUseForceRename.CheckState = CheckState.Checked;
|
RemapperUseForceRename.CheckState = CheckState.Checked;
|
||||||
RemapperUseForceRename.Location = new Point(580, 194);
|
RemapperUseForceRename.Location = new Point(577, 190);
|
||||||
RemapperUseForceRename.Name = "RemapperUseForceRename";
|
RemapperUseForceRename.Name = "RemapperUseForceRename";
|
||||||
RemapperUseForceRename.Size = new Size(149, 29);
|
RemapperUseForceRename.Size = new Size(149, 29);
|
||||||
RemapperUseForceRename.TabIndex = 37;
|
RemapperUseForceRename.TabIndex = 37;
|
||||||
@ -265,7 +276,7 @@ partial class ReCodeItForm
|
|||||||
RemapperUnseal.AutoSize = true;
|
RemapperUnseal.AutoSize = true;
|
||||||
RemapperUnseal.Checked = true;
|
RemapperUnseal.Checked = true;
|
||||||
RemapperUnseal.CheckState = CheckState.Checked;
|
RemapperUnseal.CheckState = CheckState.Checked;
|
||||||
RemapperUnseal.Location = new Point(580, 334);
|
RemapperUnseal.Location = new Point(577, 330);
|
||||||
RemapperUnseal.Name = "RemapperUnseal";
|
RemapperUnseal.Name = "RemapperUnseal";
|
||||||
RemapperUnseal.Size = new Size(90, 29);
|
RemapperUnseal.Size = new Size(90, 29);
|
||||||
RemapperUnseal.TabIndex = 36;
|
RemapperUnseal.TabIndex = 36;
|
||||||
@ -277,7 +288,7 @@ partial class ReCodeItForm
|
|||||||
RemapperPublicicize.AutoSize = true;
|
RemapperPublicicize.AutoSize = true;
|
||||||
RemapperPublicicize.Checked = true;
|
RemapperPublicicize.Checked = true;
|
||||||
RemapperPublicicize.CheckState = CheckState.Checked;
|
RemapperPublicicize.CheckState = CheckState.Checked;
|
||||||
RemapperPublicicize.Location = new Point(580, 299);
|
RemapperPublicicize.Location = new Point(577, 295);
|
||||||
RemapperPublicicize.Name = "RemapperPublicicize";
|
RemapperPublicicize.Name = "RemapperPublicicize";
|
||||||
RemapperPublicicize.Size = new Size(106, 29);
|
RemapperPublicicize.Size = new Size(106, 29);
|
||||||
RemapperPublicicize.TabIndex = 35;
|
RemapperPublicicize.TabIndex = 35;
|
||||||
@ -287,7 +298,7 @@ partial class ReCodeItForm
|
|||||||
// RemapperOutputDirectoryPath
|
// RemapperOutputDirectoryPath
|
||||||
//
|
//
|
||||||
RemapperOutputDirectoryPath.BackColor = SystemColors.ScrollBar;
|
RemapperOutputDirectoryPath.BackColor = SystemColors.ScrollBar;
|
||||||
RemapperOutputDirectoryPath.Location = new Point(10, 106);
|
RemapperOutputDirectoryPath.Location = new Point(10, 70);
|
||||||
RemapperOutputDirectoryPath.Name = "RemapperOutputDirectoryPath";
|
RemapperOutputDirectoryPath.Name = "RemapperOutputDirectoryPath";
|
||||||
RemapperOutputDirectoryPath.PlaceholderText = "Output Directory";
|
RemapperOutputDirectoryPath.PlaceholderText = "Output Directory";
|
||||||
RemapperOutputDirectoryPath.ReadOnly = true;
|
RemapperOutputDirectoryPath.ReadOnly = true;
|
||||||
@ -297,7 +308,7 @@ partial class ReCodeItForm
|
|||||||
// TargetAssemblyPath
|
// TargetAssemblyPath
|
||||||
//
|
//
|
||||||
TargetAssemblyPath.BackColor = SystemColors.ScrollBar;
|
TargetAssemblyPath.BackColor = SystemColors.ScrollBar;
|
||||||
TargetAssemblyPath.Location = new Point(10, 69);
|
TargetAssemblyPath.Location = new Point(10, 33);
|
||||||
TargetAssemblyPath.Name = "TargetAssemblyPath";
|
TargetAssemblyPath.Name = "TargetAssemblyPath";
|
||||||
TargetAssemblyPath.PlaceholderText = "Target Assembly";
|
TargetAssemblyPath.PlaceholderText = "Target Assembly";
|
||||||
TargetAssemblyPath.ReadOnly = true;
|
TargetAssemblyPath.ReadOnly = true;
|
||||||
@ -309,7 +320,7 @@ partial class ReCodeItForm
|
|||||||
RenamePropertiesCheckbox.AutoSize = true;
|
RenamePropertiesCheckbox.AutoSize = true;
|
||||||
RenamePropertiesCheckbox.Checked = true;
|
RenamePropertiesCheckbox.Checked = true;
|
||||||
RenamePropertiesCheckbox.CheckState = CheckState.Checked;
|
RenamePropertiesCheckbox.CheckState = CheckState.Checked;
|
||||||
RenamePropertiesCheckbox.Location = new Point(580, 264);
|
RenamePropertiesCheckbox.Location = new Point(577, 260);
|
||||||
RenamePropertiesCheckbox.Name = "RenamePropertiesCheckbox";
|
RenamePropertiesCheckbox.Name = "RenamePropertiesCheckbox";
|
||||||
RenamePropertiesCheckbox.Size = new Size(186, 29);
|
RenamePropertiesCheckbox.Size = new Size(186, 29);
|
||||||
RenamePropertiesCheckbox.TabIndex = 28;
|
RenamePropertiesCheckbox.TabIndex = 28;
|
||||||
@ -318,7 +329,7 @@ partial class ReCodeItForm
|
|||||||
//
|
//
|
||||||
// OutputDirectoryButton
|
// OutputDirectoryButton
|
||||||
//
|
//
|
||||||
OutputDirectoryButton.Location = new Point(312, 104);
|
OutputDirectoryButton.Location = new Point(312, 68);
|
||||||
OutputDirectoryButton.Name = "OutputDirectoryButton";
|
OutputDirectoryButton.Name = "OutputDirectoryButton";
|
||||||
OutputDirectoryButton.Size = new Size(112, 34);
|
OutputDirectoryButton.Size = new Size(112, 34);
|
||||||
OutputDirectoryButton.TabIndex = 32;
|
OutputDirectoryButton.TabIndex = 32;
|
||||||
@ -326,20 +337,9 @@ partial class ReCodeItForm
|
|||||||
OutputDirectoryButton.UseVisualStyleBackColor = true;
|
OutputDirectoryButton.UseVisualStyleBackColor = true;
|
||||||
OutputDirectoryButton.Click += OutputDirectoryButton_Click_1;
|
OutputDirectoryButton.Click += OutputDirectoryButton_Click_1;
|
||||||
//
|
//
|
||||||
// EditRemapButton
|
|
||||||
//
|
|
||||||
EditRemapButton.BackColor = SystemColors.ButtonShadow;
|
|
||||||
EditRemapButton.Location = new Point(580, 114);
|
|
||||||
EditRemapButton.Name = "EditRemapButton";
|
|
||||||
EditRemapButton.Size = new Size(168, 34);
|
|
||||||
EditRemapButton.TabIndex = 21;
|
|
||||||
EditRemapButton.Text = "Edit Remap";
|
|
||||||
EditRemapButton.UseVisualStyleBackColor = false;
|
|
||||||
EditRemapButton.Click += EditRemapButton_Click;
|
|
||||||
//
|
|
||||||
// PickAssemblyPathButton
|
// PickAssemblyPathButton
|
||||||
//
|
//
|
||||||
PickAssemblyPathButton.Location = new Point(313, 66);
|
PickAssemblyPathButton.Location = new Point(313, 30);
|
||||||
PickAssemblyPathButton.Name = "PickAssemblyPathButton";
|
PickAssemblyPathButton.Name = "PickAssemblyPathButton";
|
||||||
PickAssemblyPathButton.Size = new Size(112, 34);
|
PickAssemblyPathButton.Size = new Size(112, 34);
|
||||||
PickAssemblyPathButton.TabIndex = 31;
|
PickAssemblyPathButton.TabIndex = 31;
|
||||||
@ -350,7 +350,7 @@ partial class ReCodeItForm
|
|||||||
// ConstuctorCountUpDown
|
// ConstuctorCountUpDown
|
||||||
//
|
//
|
||||||
ConstuctorCountUpDown.BackColor = SystemColors.ScrollBar;
|
ConstuctorCountUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
ConstuctorCountUpDown.Location = new Point(224, 295);
|
ConstuctorCountUpDown.Location = new Point(224, 259);
|
||||||
ConstuctorCountUpDown.Name = "ConstuctorCountUpDown";
|
ConstuctorCountUpDown.Name = "ConstuctorCountUpDown";
|
||||||
ConstuctorCountUpDown.Size = new Size(55, 31);
|
ConstuctorCountUpDown.Size = new Size(55, 31);
|
||||||
ConstuctorCountUpDown.TabIndex = 19;
|
ConstuctorCountUpDown.TabIndex = 19;
|
||||||
@ -360,7 +360,7 @@ partial class ReCodeItForm
|
|||||||
RenameFieldsCheckbox.AutoSize = true;
|
RenameFieldsCheckbox.AutoSize = true;
|
||||||
RenameFieldsCheckbox.Checked = true;
|
RenameFieldsCheckbox.Checked = true;
|
||||||
RenameFieldsCheckbox.CheckState = CheckState.Checked;
|
RenameFieldsCheckbox.CheckState = CheckState.Checked;
|
||||||
RenameFieldsCheckbox.Location = new Point(580, 229);
|
RenameFieldsCheckbox.Location = new Point(577, 225);
|
||||||
RenameFieldsCheckbox.Name = "RenameFieldsCheckbox";
|
RenameFieldsCheckbox.Name = "RenameFieldsCheckbox";
|
||||||
RenameFieldsCheckbox.Size = new Size(151, 29);
|
RenameFieldsCheckbox.Size = new Size(151, 29);
|
||||||
RenameFieldsCheckbox.TabIndex = 26;
|
RenameFieldsCheckbox.TabIndex = 26;
|
||||||
@ -370,7 +370,7 @@ partial class ReCodeItForm
|
|||||||
// ConstructorCountEnabled
|
// ConstructorCountEnabled
|
||||||
//
|
//
|
||||||
ConstructorCountEnabled.AutoSize = true;
|
ConstructorCountEnabled.AutoSize = true;
|
||||||
ConstructorCountEnabled.Location = new Point(287, 301);
|
ConstructorCountEnabled.Location = new Point(287, 265);
|
||||||
ConstructorCountEnabled.Name = "ConstructorCountEnabled";
|
ConstructorCountEnabled.Name = "ConstructorCountEnabled";
|
||||||
ConstructorCountEnabled.Size = new Size(238, 29);
|
ConstructorCountEnabled.Size = new Size(238, 29);
|
||||||
ConstructorCountEnabled.TabIndex = 20;
|
ConstructorCountEnabled.TabIndex = 20;
|
||||||
@ -380,7 +380,7 @@ partial class ReCodeItForm
|
|||||||
// LoadMappingFileButton
|
// LoadMappingFileButton
|
||||||
//
|
//
|
||||||
LoadMappingFileButton.BackColor = SystemColors.ButtonShadow;
|
LoadMappingFileButton.BackColor = SystemColors.ButtonShadow;
|
||||||
LoadMappingFileButton.Location = new Point(180, 28);
|
LoadMappingFileButton.Location = new Point(577, 30);
|
||||||
LoadMappingFileButton.Name = "LoadMappingFileButton";
|
LoadMappingFileButton.Name = "LoadMappingFileButton";
|
||||||
LoadMappingFileButton.Size = new Size(168, 34);
|
LoadMappingFileButton.Size = new Size(168, 34);
|
||||||
LoadMappingFileButton.TabIndex = 18;
|
LoadMappingFileButton.TabIndex = 18;
|
||||||
@ -388,21 +388,10 @@ partial class ReCodeItForm
|
|||||||
LoadMappingFileButton.UseVisualStyleBackColor = false;
|
LoadMappingFileButton.UseVisualStyleBackColor = false;
|
||||||
LoadMappingFileButton.Click += LoadMappingFileButton_Click;
|
LoadMappingFileButton.Click += LoadMappingFileButton_Click;
|
||||||
//
|
//
|
||||||
// SaveMappingFileButton
|
|
||||||
//
|
|
||||||
SaveMappingFileButton.BackColor = SystemColors.ButtonShadow;
|
|
||||||
SaveMappingFileButton.Location = new Point(6, 28);
|
|
||||||
SaveMappingFileButton.Name = "SaveMappingFileButton";
|
|
||||||
SaveMappingFileButton.Size = new Size(168, 34);
|
|
||||||
SaveMappingFileButton.TabIndex = 17;
|
|
||||||
SaveMappingFileButton.Text = "Save Mapping File";
|
|
||||||
SaveMappingFileButton.UseVisualStyleBackColor = false;
|
|
||||||
SaveMappingFileButton.Click += SaveMappingFileButton_Click;
|
|
||||||
//
|
|
||||||
// RunRemapButton
|
// RunRemapButton
|
||||||
//
|
//
|
||||||
RunRemapButton.BackColor = SystemColors.ButtonShadow;
|
RunRemapButton.BackColor = SystemColors.ButtonShadow;
|
||||||
RunRemapButton.Location = new Point(580, 154);
|
RunRemapButton.Location = new Point(577, 150);
|
||||||
RunRemapButton.Name = "RunRemapButton";
|
RunRemapButton.Name = "RunRemapButton";
|
||||||
RunRemapButton.Size = new Size(168, 34);
|
RunRemapButton.Size = new Size(168, 34);
|
||||||
RunRemapButton.TabIndex = 16;
|
RunRemapButton.TabIndex = 16;
|
||||||
@ -822,7 +811,7 @@ partial class ReCodeItForm
|
|||||||
// NewTypeName
|
// NewTypeName
|
||||||
//
|
//
|
||||||
NewTypeName.BackColor = SystemColors.ScrollBar;
|
NewTypeName.BackColor = SystemColors.ScrollBar;
|
||||||
NewTypeName.Location = new Point(10, 147);
|
NewTypeName.Location = new Point(10, 111);
|
||||||
NewTypeName.Name = "NewTypeName";
|
NewTypeName.Name = "NewTypeName";
|
||||||
NewTypeName.PlaceholderText = "New Name";
|
NewTypeName.PlaceholderText = "New Name";
|
||||||
NewTypeName.Size = new Size(208, 31);
|
NewTypeName.Size = new Size(208, 31);
|
||||||
@ -831,7 +820,7 @@ partial class ReCodeItForm
|
|||||||
// PropertyCountEnabled
|
// PropertyCountEnabled
|
||||||
//
|
//
|
||||||
PropertyCountEnabled.AutoSize = true;
|
PropertyCountEnabled.AutoSize = true;
|
||||||
PropertyCountEnabled.Location = new Point(287, 408);
|
PropertyCountEnabled.Location = new Point(287, 372);
|
||||||
PropertyCountEnabled.Name = "PropertyCountEnabled";
|
PropertyCountEnabled.Name = "PropertyCountEnabled";
|
||||||
PropertyCountEnabled.Size = new Size(159, 29);
|
PropertyCountEnabled.Size = new Size(159, 29);
|
||||||
PropertyCountEnabled.TabIndex = 11;
|
PropertyCountEnabled.TabIndex = 11;
|
||||||
@ -841,7 +830,7 @@ partial class ReCodeItForm
|
|||||||
// IsInterfaceUpDown
|
// IsInterfaceUpDown
|
||||||
//
|
//
|
||||||
IsInterfaceUpDown.BackColor = SystemColors.ScrollBar;
|
IsInterfaceUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsInterfaceUpDown.Location = new Point(10, 300);
|
IsInterfaceUpDown.Location = new Point(10, 264);
|
||||||
IsInterfaceUpDown.Name = "IsInterfaceUpDown";
|
IsInterfaceUpDown.Name = "IsInterfaceUpDown";
|
||||||
IsInterfaceUpDown.Size = new Size(208, 31);
|
IsInterfaceUpDown.Size = new Size(208, 31);
|
||||||
IsInterfaceUpDown.Sorted = true;
|
IsInterfaceUpDown.Sorted = true;
|
||||||
@ -851,7 +840,7 @@ partial class ReCodeItForm
|
|||||||
// NestedTypeCountEnabled
|
// NestedTypeCountEnabled
|
||||||
//
|
//
|
||||||
NestedTypeCountEnabled.AutoSize = true;
|
NestedTypeCountEnabled.AutoSize = true;
|
||||||
NestedTypeCountEnabled.Location = new Point(287, 443);
|
NestedTypeCountEnabled.Location = new Point(287, 407);
|
||||||
NestedTypeCountEnabled.Name = "NestedTypeCountEnabled";
|
NestedTypeCountEnabled.Name = "NestedTypeCountEnabled";
|
||||||
NestedTypeCountEnabled.Size = new Size(276, 29);
|
NestedTypeCountEnabled.Size = new Size(276, 29);
|
||||||
NestedTypeCountEnabled.TabIndex = 12;
|
NestedTypeCountEnabled.TabIndex = 12;
|
||||||
@ -861,7 +850,7 @@ partial class ReCodeItForm
|
|||||||
// PropertyCountUpDown
|
// PropertyCountUpDown
|
||||||
//
|
//
|
||||||
PropertyCountUpDown.BackColor = SystemColors.ScrollBar;
|
PropertyCountUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
PropertyCountUpDown.Location = new Point(224, 408);
|
PropertyCountUpDown.Location = new Point(224, 372);
|
||||||
PropertyCountUpDown.Name = "PropertyCountUpDown";
|
PropertyCountUpDown.Name = "PropertyCountUpDown";
|
||||||
PropertyCountUpDown.Size = new Size(55, 31);
|
PropertyCountUpDown.Size = new Size(55, 31);
|
||||||
PropertyCountUpDown.TabIndex = 5;
|
PropertyCountUpDown.TabIndex = 5;
|
||||||
@ -869,7 +858,7 @@ partial class ReCodeItForm
|
|||||||
// RemoveRemapButton
|
// RemoveRemapButton
|
||||||
//
|
//
|
||||||
RemoveRemapButton.BackColor = SystemColors.ButtonShadow;
|
RemoveRemapButton.BackColor = SystemColors.ButtonShadow;
|
||||||
RemoveRemapButton.Location = new Point(580, 74);
|
RemoveRemapButton.Location = new Point(577, 111);
|
||||||
RemoveRemapButton.Name = "RemoveRemapButton";
|
RemoveRemapButton.Name = "RemoveRemapButton";
|
||||||
RemoveRemapButton.Size = new Size(168, 34);
|
RemoveRemapButton.Size = new Size(168, 34);
|
||||||
RemoveRemapButton.TabIndex = 2;
|
RemoveRemapButton.TabIndex = 2;
|
||||||
@ -880,7 +869,7 @@ partial class ReCodeItForm
|
|||||||
// FieldCountUpDown
|
// FieldCountUpDown
|
||||||
//
|
//
|
||||||
FieldCountUpDown.BackColor = SystemColors.ScrollBar;
|
FieldCountUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
FieldCountUpDown.Location = new Point(224, 370);
|
FieldCountUpDown.Location = new Point(224, 334);
|
||||||
FieldCountUpDown.Name = "FieldCountUpDown";
|
FieldCountUpDown.Name = "FieldCountUpDown";
|
||||||
FieldCountUpDown.Size = new Size(55, 31);
|
FieldCountUpDown.Size = new Size(55, 31);
|
||||||
FieldCountUpDown.TabIndex = 3;
|
FieldCountUpDown.TabIndex = 3;
|
||||||
@ -888,7 +877,7 @@ partial class ReCodeItForm
|
|||||||
// IsPublicUpDown
|
// IsPublicUpDown
|
||||||
//
|
//
|
||||||
IsPublicUpDown.BackColor = SystemColors.ScrollBar;
|
IsPublicUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsPublicUpDown.Location = new Point(10, 224);
|
IsPublicUpDown.Location = new Point(10, 188);
|
||||||
IsPublicUpDown.Name = "IsPublicUpDown";
|
IsPublicUpDown.Name = "IsPublicUpDown";
|
||||||
IsPublicUpDown.Size = new Size(208, 31);
|
IsPublicUpDown.Size = new Size(208, 31);
|
||||||
IsPublicUpDown.Sorted = true;
|
IsPublicUpDown.Sorted = true;
|
||||||
@ -898,7 +887,7 @@ partial class ReCodeItForm
|
|||||||
// FieldCountEnabled
|
// FieldCountEnabled
|
||||||
//
|
//
|
||||||
FieldCountEnabled.AutoSize = true;
|
FieldCountEnabled.AutoSize = true;
|
||||||
FieldCountEnabled.Location = new Point(287, 373);
|
FieldCountEnabled.Location = new Point(287, 337);
|
||||||
FieldCountEnabled.Name = "FieldCountEnabled";
|
FieldCountEnabled.Name = "FieldCountEnabled";
|
||||||
FieldCountEnabled.Size = new Size(128, 29);
|
FieldCountEnabled.Size = new Size(128, 29);
|
||||||
FieldCountEnabled.TabIndex = 13;
|
FieldCountEnabled.TabIndex = 13;
|
||||||
@ -908,7 +897,7 @@ partial class ReCodeItForm
|
|||||||
// NestedTypeParentName
|
// NestedTypeParentName
|
||||||
//
|
//
|
||||||
NestedTypeParentName.BackColor = SystemColors.ScrollBar;
|
NestedTypeParentName.BackColor = SystemColors.ScrollBar;
|
||||||
NestedTypeParentName.Location = new Point(224, 262);
|
NestedTypeParentName.Location = new Point(224, 226);
|
||||||
NestedTypeParentName.Name = "NestedTypeParentName";
|
NestedTypeParentName.Name = "NestedTypeParentName";
|
||||||
NestedTypeParentName.PlaceholderText = "Nested Type Parent Name";
|
NestedTypeParentName.PlaceholderText = "Nested Type Parent Name";
|
||||||
NestedTypeParentName.Size = new Size(208, 31);
|
NestedTypeParentName.Size = new Size(208, 31);
|
||||||
@ -917,7 +906,7 @@ partial class ReCodeItForm
|
|||||||
// MethodCountUpDown
|
// MethodCountUpDown
|
||||||
//
|
//
|
||||||
MethodCountUpDown.BackColor = SystemColors.ScrollBar;
|
MethodCountUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
MethodCountUpDown.Location = new Point(224, 332);
|
MethodCountUpDown.Location = new Point(224, 296);
|
||||||
MethodCountUpDown.Name = "MethodCountUpDown";
|
MethodCountUpDown.Name = "MethodCountUpDown";
|
||||||
MethodCountUpDown.Size = new Size(55, 31);
|
MethodCountUpDown.Size = new Size(55, 31);
|
||||||
MethodCountUpDown.TabIndex = 6;
|
MethodCountUpDown.TabIndex = 6;
|
||||||
@ -925,7 +914,7 @@ partial class ReCodeItForm
|
|||||||
// IsAbstractUpDown
|
// IsAbstractUpDown
|
||||||
//
|
//
|
||||||
IsAbstractUpDown.BackColor = SystemColors.ScrollBar;
|
IsAbstractUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsAbstractUpDown.Location = new Point(10, 261);
|
IsAbstractUpDown.Location = new Point(10, 225);
|
||||||
IsAbstractUpDown.Name = "IsAbstractUpDown";
|
IsAbstractUpDown.Name = "IsAbstractUpDown";
|
||||||
IsAbstractUpDown.Size = new Size(208, 31);
|
IsAbstractUpDown.Size = new Size(208, 31);
|
||||||
IsAbstractUpDown.Sorted = true;
|
IsAbstractUpDown.Sorted = true;
|
||||||
@ -935,7 +924,7 @@ partial class ReCodeItForm
|
|||||||
// BaseClassIncludeTextFIeld
|
// BaseClassIncludeTextFIeld
|
||||||
//
|
//
|
||||||
BaseClassIncludeTextFIeld.BackColor = SystemColors.ScrollBar;
|
BaseClassIncludeTextFIeld.BackColor = SystemColors.ScrollBar;
|
||||||
BaseClassIncludeTextFIeld.Location = new Point(224, 184);
|
BaseClassIncludeTextFIeld.Location = new Point(224, 148);
|
||||||
BaseClassIncludeTextFIeld.Name = "BaseClassIncludeTextFIeld";
|
BaseClassIncludeTextFIeld.Name = "BaseClassIncludeTextFIeld";
|
||||||
BaseClassIncludeTextFIeld.PlaceholderText = "Include Base Class";
|
BaseClassIncludeTextFIeld.PlaceholderText = "Include Base Class";
|
||||||
BaseClassIncludeTextFIeld.Size = new Size(208, 31);
|
BaseClassIncludeTextFIeld.Size = new Size(208, 31);
|
||||||
@ -944,7 +933,7 @@ partial class ReCodeItForm
|
|||||||
// OriginalTypeName
|
// OriginalTypeName
|
||||||
//
|
//
|
||||||
OriginalTypeName.BackColor = SystemColors.ScrollBar;
|
OriginalTypeName.BackColor = SystemColors.ScrollBar;
|
||||||
OriginalTypeName.Location = new Point(224, 147);
|
OriginalTypeName.Location = new Point(224, 111);
|
||||||
OriginalTypeName.Name = "OriginalTypeName";
|
OriginalTypeName.Name = "OriginalTypeName";
|
||||||
OriginalTypeName.PlaceholderText = "Original Name";
|
OriginalTypeName.PlaceholderText = "Original Name";
|
||||||
OriginalTypeName.Size = new Size(208, 31);
|
OriginalTypeName.Size = new Size(208, 31);
|
||||||
@ -953,7 +942,7 @@ partial class ReCodeItForm
|
|||||||
// HasGenericParametersUpDown
|
// HasGenericParametersUpDown
|
||||||
//
|
//
|
||||||
HasGenericParametersUpDown.BackColor = SystemColors.ScrollBar;
|
HasGenericParametersUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
HasGenericParametersUpDown.Location = new Point(10, 483);
|
HasGenericParametersUpDown.Location = new Point(10, 447);
|
||||||
HasGenericParametersUpDown.Name = "HasGenericParametersUpDown";
|
HasGenericParametersUpDown.Name = "HasGenericParametersUpDown";
|
||||||
HasGenericParametersUpDown.Size = new Size(208, 31);
|
HasGenericParametersUpDown.Size = new Size(208, 31);
|
||||||
HasGenericParametersUpDown.Sorted = true;
|
HasGenericParametersUpDown.Sorted = true;
|
||||||
@ -963,7 +952,7 @@ partial class ReCodeItForm
|
|||||||
// IsEnumUpDown
|
// IsEnumUpDown
|
||||||
//
|
//
|
||||||
IsEnumUpDown.BackColor = SystemColors.ScrollBar;
|
IsEnumUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsEnumUpDown.Location = new Point(10, 372);
|
IsEnumUpDown.Location = new Point(10, 336);
|
||||||
IsEnumUpDown.Name = "IsEnumUpDown";
|
IsEnumUpDown.Name = "IsEnumUpDown";
|
||||||
IsEnumUpDown.Size = new Size(208, 31);
|
IsEnumUpDown.Size = new Size(208, 31);
|
||||||
IsEnumUpDown.Sorted = true;
|
IsEnumUpDown.Sorted = true;
|
||||||
@ -973,7 +962,7 @@ partial class ReCodeItForm
|
|||||||
// NestedTypeCountUpDown
|
// NestedTypeCountUpDown
|
||||||
//
|
//
|
||||||
NestedTypeCountUpDown.BackColor = SystemColors.ScrollBar;
|
NestedTypeCountUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
NestedTypeCountUpDown.Location = new Point(224, 446);
|
NestedTypeCountUpDown.Location = new Point(224, 410);
|
||||||
NestedTypeCountUpDown.Name = "NestedTypeCountUpDown";
|
NestedTypeCountUpDown.Name = "NestedTypeCountUpDown";
|
||||||
NestedTypeCountUpDown.Size = new Size(55, 31);
|
NestedTypeCountUpDown.Size = new Size(55, 31);
|
||||||
NestedTypeCountUpDown.TabIndex = 4;
|
NestedTypeCountUpDown.TabIndex = 4;
|
||||||
@ -981,18 +970,18 @@ partial class ReCodeItForm
|
|||||||
// SaveRemapButton
|
// SaveRemapButton
|
||||||
//
|
//
|
||||||
SaveRemapButton.BackColor = SystemColors.ButtonShadow;
|
SaveRemapButton.BackColor = SystemColors.ButtonShadow;
|
||||||
SaveRemapButton.Location = new Point(580, 33);
|
SaveRemapButton.Location = new Point(577, 70);
|
||||||
SaveRemapButton.Name = "SaveRemapButton";
|
SaveRemapButton.Name = "SaveRemapButton";
|
||||||
SaveRemapButton.Size = new Size(168, 34);
|
SaveRemapButton.Size = new Size(168, 34);
|
||||||
SaveRemapButton.TabIndex = 4;
|
SaveRemapButton.TabIndex = 4;
|
||||||
SaveRemapButton.Text = "Save Remap";
|
SaveRemapButton.Text = "Add Remap";
|
||||||
SaveRemapButton.UseVisualStyleBackColor = false;
|
SaveRemapButton.UseVisualStyleBackColor = false;
|
||||||
SaveRemapButton.Click += AddRemapButton_Click;
|
SaveRemapButton.Click += AddRemapButton_Click;
|
||||||
//
|
//
|
||||||
// IsDerivedUpDown
|
// IsDerivedUpDown
|
||||||
//
|
//
|
||||||
IsDerivedUpDown.BackColor = SystemColors.ScrollBar;
|
IsDerivedUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsDerivedUpDown.Location = new Point(10, 446);
|
IsDerivedUpDown.Location = new Point(10, 410);
|
||||||
IsDerivedUpDown.Name = "IsDerivedUpDown";
|
IsDerivedUpDown.Name = "IsDerivedUpDown";
|
||||||
IsDerivedUpDown.Size = new Size(208, 31);
|
IsDerivedUpDown.Size = new Size(208, 31);
|
||||||
IsDerivedUpDown.Sorted = true;
|
IsDerivedUpDown.Sorted = true;
|
||||||
@ -1002,7 +991,7 @@ partial class ReCodeItForm
|
|||||||
// IsNestedUpDown
|
// IsNestedUpDown
|
||||||
//
|
//
|
||||||
IsNestedUpDown.BackColor = SystemColors.ScrollBar;
|
IsNestedUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsNestedUpDown.Location = new Point(10, 185);
|
IsNestedUpDown.Location = new Point(10, 149);
|
||||||
IsNestedUpDown.Name = "IsNestedUpDown";
|
IsNestedUpDown.Name = "IsNestedUpDown";
|
||||||
IsNestedUpDown.Size = new Size(208, 31);
|
IsNestedUpDown.Size = new Size(208, 31);
|
||||||
IsNestedUpDown.Sorted = true;
|
IsNestedUpDown.Sorted = true;
|
||||||
@ -1012,7 +1001,7 @@ partial class ReCodeItForm
|
|||||||
// HasAttributeUpDown
|
// HasAttributeUpDown
|
||||||
//
|
//
|
||||||
HasAttributeUpDown.BackColor = SystemColors.ScrollBar;
|
HasAttributeUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
HasAttributeUpDown.Location = new Point(10, 409);
|
HasAttributeUpDown.Location = new Point(10, 373);
|
||||||
HasAttributeUpDown.Name = "HasAttributeUpDown";
|
HasAttributeUpDown.Name = "HasAttributeUpDown";
|
||||||
HasAttributeUpDown.Size = new Size(208, 31);
|
HasAttributeUpDown.Size = new Size(208, 31);
|
||||||
HasAttributeUpDown.Sorted = true;
|
HasAttributeUpDown.Sorted = true;
|
||||||
@ -1022,7 +1011,7 @@ partial class ReCodeItForm
|
|||||||
// BaseClassExcludeTextField
|
// BaseClassExcludeTextField
|
||||||
//
|
//
|
||||||
BaseClassExcludeTextField.BackColor = SystemColors.ScrollBar;
|
BaseClassExcludeTextField.BackColor = SystemColors.ScrollBar;
|
||||||
BaseClassExcludeTextField.Location = new Point(224, 224);
|
BaseClassExcludeTextField.Location = new Point(224, 188);
|
||||||
BaseClassExcludeTextField.Name = "BaseClassExcludeTextField";
|
BaseClassExcludeTextField.Name = "BaseClassExcludeTextField";
|
||||||
BaseClassExcludeTextField.PlaceholderText = "Exclude Base Class";
|
BaseClassExcludeTextField.PlaceholderText = "Exclude Base Class";
|
||||||
BaseClassExcludeTextField.Size = new Size(208, 31);
|
BaseClassExcludeTextField.Size = new Size(208, 31);
|
||||||
@ -1031,7 +1020,7 @@ partial class ReCodeItForm
|
|||||||
// MethodCountEnabled
|
// MethodCountEnabled
|
||||||
//
|
//
|
||||||
MethodCountEnabled.AutoSize = true;
|
MethodCountEnabled.AutoSize = true;
|
||||||
MethodCountEnabled.Location = new Point(287, 338);
|
MethodCountEnabled.Location = new Point(287, 302);
|
||||||
MethodCountEnabled.Name = "MethodCountEnabled";
|
MethodCountEnabled.Name = "MethodCountEnabled";
|
||||||
MethodCountEnabled.Size = new Size(154, 29);
|
MethodCountEnabled.Size = new Size(154, 29);
|
||||||
MethodCountEnabled.TabIndex = 14;
|
MethodCountEnabled.TabIndex = 14;
|
||||||
@ -1041,7 +1030,7 @@ partial class ReCodeItForm
|
|||||||
// IsSealedUpDown
|
// IsSealedUpDown
|
||||||
//
|
//
|
||||||
IsSealedUpDown.BackColor = SystemColors.ScrollBar;
|
IsSealedUpDown.BackColor = SystemColors.ScrollBar;
|
||||||
IsSealedUpDown.Location = new Point(10, 335);
|
IsSealedUpDown.Location = new Point(10, 299);
|
||||||
IsSealedUpDown.Name = "IsSealedUpDown";
|
IsSealedUpDown.Name = "IsSealedUpDown";
|
||||||
IsSealedUpDown.Size = new Size(208, 31);
|
IsSealedUpDown.Size = new Size(208, 31);
|
||||||
IsSealedUpDown.Sorted = true;
|
IsSealedUpDown.Sorted = true;
|
||||||
@ -1408,90 +1397,65 @@ partial class ReCodeItForm
|
|||||||
//
|
//
|
||||||
tabPage5.BackColor = SystemColors.ControlDarkDark;
|
tabPage5.BackColor = SystemColors.ControlDarkDark;
|
||||||
tabPage5.Controls.Add(groupBox4);
|
tabPage5.Controls.Add(groupBox4);
|
||||||
tabPage5.Controls.Add(groupBox3);
|
|
||||||
tabPage5.Location = new Point(4, 34);
|
tabPage5.Location = new Point(4, 34);
|
||||||
tabPage5.Name = "tabPage5";
|
tabPage5.Name = "tabPage5";
|
||||||
tabPage5.Padding = new Padding(3);
|
tabPage5.Padding = new Padding(3);
|
||||||
tabPage5.Size = new Size(1336, 953);
|
tabPage5.Size = new Size(1336, 953);
|
||||||
tabPage5.TabIndex = 4;
|
tabPage5.TabIndex = 4;
|
||||||
tabPage5.Text = "Cross Patching";
|
tabPage5.Text = "Cross Compiler";
|
||||||
tabPage5.Click += tabPage5_Click;
|
tabPage5.Click += tabPage5_Click;
|
||||||
//
|
//
|
||||||
// groupBox4
|
// groupBox4
|
||||||
//
|
//
|
||||||
groupBox4.Controls.Add(CrossPatchRunButton);
|
groupBox4.Controls.Add(CrossPatchRunButton);
|
||||||
groupBox4.Controls.Add(CrossMapperProjectBuildPath);
|
groupBox4.Controls.Add(groupBox3);
|
||||||
groupBox4.Controls.Add(CrossPatchingProjectBuildDirButton);
|
groupBox4.Controls.Add(CrossPatchRemapButton);
|
||||||
groupBox4.Controls.Add(CrossMapperProjTargetAssembly);
|
groupBox4.Location = new Point(13, 18);
|
||||||
groupBox4.Controls.Add(CrossMappingOutputChooseButton);
|
|
||||||
groupBox4.Location = new Point(13, 174);
|
|
||||||
groupBox4.Name = "groupBox4";
|
groupBox4.Name = "groupBox4";
|
||||||
groupBox4.Size = new Size(631, 151);
|
groupBox4.Size = new Size(1273, 901);
|
||||||
groupBox4.TabIndex = 22;
|
groupBox4.TabIndex = 22;
|
||||||
groupBox4.TabStop = false;
|
groupBox4.TabStop = false;
|
||||||
groupBox4.Text = "Reverse Patch";
|
groupBox4.Text = "Cross Compiler";
|
||||||
//
|
//
|
||||||
// CrossPatchRunButton
|
// CrossPatchRunButton
|
||||||
//
|
//
|
||||||
CrossPatchRunButton.Location = new Point(475, 104);
|
CrossPatchRunButton.Location = new Point(349, 323);
|
||||||
CrossPatchRunButton.Name = "CrossPatchRunButton";
|
CrossPatchRunButton.Name = "CrossPatchRunButton";
|
||||||
CrossPatchRunButton.Size = new Size(150, 34);
|
CrossPatchRunButton.Size = new Size(150, 34);
|
||||||
CrossPatchRunButton.TabIndex = 24;
|
CrossPatchRunButton.TabIndex = 24;
|
||||||
CrossPatchRunButton.Text = "Reverse Patch";
|
CrossPatchRunButton.Text = "Compile Project";
|
||||||
CrossPatchRunButton.UseVisualStyleBackColor = true;
|
CrossPatchRunButton.UseVisualStyleBackColor = true;
|
||||||
CrossPatchRunButton.Click += CrossPatchRunButton_Click;
|
CrossPatchRunButton.Click += CrossPatchRunButton_Click;
|
||||||
//
|
//
|
||||||
// CrossMapperProjectBuildPath
|
|
||||||
//
|
|
||||||
CrossMapperProjectBuildPath.Location = new Point(6, 30);
|
|
||||||
CrossMapperProjectBuildPath.Name = "CrossMapperProjectBuildPath";
|
|
||||||
CrossMapperProjectBuildPath.PlaceholderText = "Input Assembly that was built against the remap assembly";
|
|
||||||
CrossMapperProjectBuildPath.ReadOnly = true;
|
|
||||||
CrossMapperProjectBuildPath.Size = new Size(501, 31);
|
|
||||||
CrossMapperProjectBuildPath.TabIndex = 15;
|
|
||||||
//
|
|
||||||
// CrossPatchingProjectBuildDirButton
|
|
||||||
//
|
|
||||||
CrossPatchingProjectBuildDirButton.Location = new Point(513, 27);
|
|
||||||
CrossPatchingProjectBuildDirButton.Name = "CrossPatchingProjectBuildDirButton";
|
|
||||||
CrossPatchingProjectBuildDirButton.Size = new Size(112, 34);
|
|
||||||
CrossPatchingProjectBuildDirButton.TabIndex = 20;
|
|
||||||
CrossPatchingProjectBuildDirButton.Text = "Choose";
|
|
||||||
CrossPatchingProjectBuildDirButton.UseVisualStyleBackColor = true;
|
|
||||||
CrossPatchingProjectBuildDirButton.Click += CrossPatchingProjectBuildDirButton_Click;
|
|
||||||
//
|
|
||||||
// CrossMapperProjTargetAssembly
|
|
||||||
//
|
|
||||||
CrossMapperProjTargetAssembly.Location = new Point(6, 67);
|
|
||||||
CrossMapperProjTargetAssembly.Name = "CrossMapperProjTargetAssembly";
|
|
||||||
CrossMapperProjTargetAssembly.PlaceholderText = "Output directory";
|
|
||||||
CrossMapperProjTargetAssembly.ReadOnly = true;
|
|
||||||
CrossMapperProjTargetAssembly.Size = new Size(501, 31);
|
|
||||||
CrossMapperProjTargetAssembly.TabIndex = 19;
|
|
||||||
//
|
|
||||||
// CrossMappingOutputChooseButton
|
|
||||||
//
|
|
||||||
CrossMappingOutputChooseButton.Location = new Point(513, 66);
|
|
||||||
CrossMappingOutputChooseButton.Name = "CrossMappingOutputChooseButton";
|
|
||||||
CrossMappingOutputChooseButton.Size = new Size(112, 34);
|
|
||||||
CrossMappingOutputChooseButton.TabIndex = 17;
|
|
||||||
CrossMappingOutputChooseButton.Text = "Choose";
|
|
||||||
CrossMappingOutputChooseButton.UseVisualStyleBackColor = true;
|
|
||||||
CrossMappingOutputChooseButton.Click += CrossMappingOutputChooseButton_Click;
|
|
||||||
//
|
|
||||||
// groupBox3
|
// groupBox3
|
||||||
//
|
//
|
||||||
|
groupBox3.Controls.Add(label1);
|
||||||
|
groupBox3.Controls.Add(CrossCompilerProjectComboBox);
|
||||||
|
groupBox3.Controls.Add(CrossCompilerNewProjectButton);
|
||||||
groupBox3.Controls.Add(CrossPatchRemapOutputButton);
|
groupBox3.Controls.Add(CrossPatchRemapOutputButton);
|
||||||
groupBox3.Controls.Add(CrossMapperReferencePath);
|
groupBox3.Controls.Add(CrossMapperReferencePath);
|
||||||
groupBox3.Controls.Add(CrossPatchRemapButton);
|
|
||||||
groupBox3.Controls.Add(CrossMapperOriginalAssembly);
|
groupBox3.Controls.Add(CrossMapperOriginalAssembly);
|
||||||
|
groupBox3.Controls.Add(CrossMapperProjectBuildPath);
|
||||||
|
groupBox3.Controls.Add(CrossPatchingProjectBuildDirButton);
|
||||||
groupBox3.Controls.Add(CrossPatchingOrigAssemblyButton);
|
groupBox3.Controls.Add(CrossPatchingOrigAssemblyButton);
|
||||||
groupBox3.Location = new Point(13, 6);
|
groupBox3.Controls.Add(CrossMapperProjTargetAssembly);
|
||||||
|
groupBox3.Controls.Add(CrossMappingOutputChooseButton);
|
||||||
|
groupBox3.Location = new Point(6, 30);
|
||||||
groupBox3.Name = "groupBox3";
|
groupBox3.Name = "groupBox3";
|
||||||
groupBox3.Size = new Size(631, 162);
|
groupBox3.Size = new Size(631, 287);
|
||||||
groupBox3.TabIndex = 21;
|
groupBox3.TabIndex = 21;
|
||||||
groupBox3.TabStop = false;
|
groupBox3.TabStop = false;
|
||||||
groupBox3.Text = "Remap";
|
groupBox3.Text = "ReCodeIt Proj Settings";
|
||||||
|
//
|
||||||
|
// CrossCompilerNewProjectButton
|
||||||
|
//
|
||||||
|
CrossCompilerNewProjectButton.Location = new Point(475, 238);
|
||||||
|
CrossCompilerNewProjectButton.Name = "CrossCompilerNewProjectButton";
|
||||||
|
CrossCompilerNewProjectButton.Size = new Size(150, 34);
|
||||||
|
CrossCompilerNewProjectButton.TabIndex = 25;
|
||||||
|
CrossCompilerNewProjectButton.Text = "Create New";
|
||||||
|
CrossCompilerNewProjectButton.UseVisualStyleBackColor = true;
|
||||||
|
CrossCompilerNewProjectButton.Click += CrossCompilerNewProjectButton_Click;
|
||||||
//
|
//
|
||||||
// CrossPatchRemapOutputButton
|
// CrossPatchRemapOutputButton
|
||||||
//
|
//
|
||||||
@ -1512,16 +1476,6 @@ partial class ReCodeItForm
|
|||||||
CrossMapperReferencePath.Size = new Size(501, 31);
|
CrossMapperReferencePath.Size = new Size(501, 31);
|
||||||
CrossMapperReferencePath.TabIndex = 14;
|
CrossMapperReferencePath.TabIndex = 14;
|
||||||
//
|
//
|
||||||
// CrossPatchRemapButton
|
|
||||||
//
|
|
||||||
CrossPatchRemapButton.Location = new Point(513, 115);
|
|
||||||
CrossPatchRemapButton.Name = "CrossPatchRemapButton";
|
|
||||||
CrossPatchRemapButton.Size = new Size(112, 34);
|
|
||||||
CrossPatchRemapButton.TabIndex = 21;
|
|
||||||
CrossPatchRemapButton.Text = "Remap";
|
|
||||||
CrossPatchRemapButton.UseVisualStyleBackColor = true;
|
|
||||||
CrossPatchRemapButton.Click += CrossPatchRemapButton_Click;
|
|
||||||
//
|
|
||||||
// CrossMapperOriginalAssembly
|
// CrossMapperOriginalAssembly
|
||||||
//
|
//
|
||||||
CrossMapperOriginalAssembly.Location = new Point(6, 39);
|
CrossMapperOriginalAssembly.Location = new Point(6, 39);
|
||||||
@ -1531,6 +1485,25 @@ partial class ReCodeItForm
|
|||||||
CrossMapperOriginalAssembly.Size = new Size(501, 31);
|
CrossMapperOriginalAssembly.Size = new Size(501, 31);
|
||||||
CrossMapperOriginalAssembly.TabIndex = 13;
|
CrossMapperOriginalAssembly.TabIndex = 13;
|
||||||
//
|
//
|
||||||
|
// CrossMapperProjectBuildPath
|
||||||
|
//
|
||||||
|
CrossMapperProjectBuildPath.Location = new Point(6, 114);
|
||||||
|
CrossMapperProjectBuildPath.Name = "CrossMapperProjectBuildPath";
|
||||||
|
CrossMapperProjectBuildPath.PlaceholderText = "Visual studio solution directory";
|
||||||
|
CrossMapperProjectBuildPath.ReadOnly = true;
|
||||||
|
CrossMapperProjectBuildPath.Size = new Size(501, 31);
|
||||||
|
CrossMapperProjectBuildPath.TabIndex = 15;
|
||||||
|
//
|
||||||
|
// CrossPatchingProjectBuildDirButton
|
||||||
|
//
|
||||||
|
CrossPatchingProjectBuildDirButton.Location = new Point(513, 111);
|
||||||
|
CrossPatchingProjectBuildDirButton.Name = "CrossPatchingProjectBuildDirButton";
|
||||||
|
CrossPatchingProjectBuildDirButton.Size = new Size(112, 34);
|
||||||
|
CrossPatchingProjectBuildDirButton.TabIndex = 20;
|
||||||
|
CrossPatchingProjectBuildDirButton.Text = "Choose";
|
||||||
|
CrossPatchingProjectBuildDirButton.UseVisualStyleBackColor = true;
|
||||||
|
CrossPatchingProjectBuildDirButton.Click += CrossPatchingProjectBuildDirButton_Click;
|
||||||
|
//
|
||||||
// CrossPatchingOrigAssemblyButton
|
// CrossPatchingOrigAssemblyButton
|
||||||
//
|
//
|
||||||
CrossPatchingOrigAssemblyButton.Location = new Point(513, 37);
|
CrossPatchingOrigAssemblyButton.Location = new Point(513, 37);
|
||||||
@ -1541,6 +1514,35 @@ partial class ReCodeItForm
|
|||||||
CrossPatchingOrigAssemblyButton.UseVisualStyleBackColor = true;
|
CrossPatchingOrigAssemblyButton.UseVisualStyleBackColor = true;
|
||||||
CrossPatchingOrigAssemblyButton.Click += CrossPatchingOrigAssemblyButton_Click;
|
CrossPatchingOrigAssemblyButton.Click += CrossPatchingOrigAssemblyButton_Click;
|
||||||
//
|
//
|
||||||
|
// CrossMapperProjTargetAssembly
|
||||||
|
//
|
||||||
|
CrossMapperProjTargetAssembly.Location = new Point(6, 151);
|
||||||
|
CrossMapperProjTargetAssembly.Name = "CrossMapperProjTargetAssembly";
|
||||||
|
CrossMapperProjTargetAssembly.PlaceholderText = "Build Directory";
|
||||||
|
CrossMapperProjTargetAssembly.ReadOnly = true;
|
||||||
|
CrossMapperProjTargetAssembly.Size = new Size(501, 31);
|
||||||
|
CrossMapperProjTargetAssembly.TabIndex = 19;
|
||||||
|
//
|
||||||
|
// CrossMappingOutputChooseButton
|
||||||
|
//
|
||||||
|
CrossMappingOutputChooseButton.Location = new Point(513, 150);
|
||||||
|
CrossMappingOutputChooseButton.Name = "CrossMappingOutputChooseButton";
|
||||||
|
CrossMappingOutputChooseButton.Size = new Size(112, 34);
|
||||||
|
CrossMappingOutputChooseButton.TabIndex = 17;
|
||||||
|
CrossMappingOutputChooseButton.Text = "Choose";
|
||||||
|
CrossMappingOutputChooseButton.UseVisualStyleBackColor = true;
|
||||||
|
CrossMappingOutputChooseButton.Click += CrossMappingOutputChooseButton_Click;
|
||||||
|
//
|
||||||
|
// CrossPatchRemapButton
|
||||||
|
//
|
||||||
|
CrossPatchRemapButton.Location = new Point(12, 323);
|
||||||
|
CrossPatchRemapButton.Name = "CrossPatchRemapButton";
|
||||||
|
CrossPatchRemapButton.Size = new Size(316, 34);
|
||||||
|
CrossPatchRemapButton.TabIndex = 21;
|
||||||
|
CrossPatchRemapButton.Text = "Generate Remapped Reference";
|
||||||
|
CrossPatchRemapButton.UseVisualStyleBackColor = true;
|
||||||
|
CrossPatchRemapButton.Click += CrossPatchRemapButton_Click;
|
||||||
|
//
|
||||||
// SettingsTab
|
// SettingsTab
|
||||||
//
|
//
|
||||||
SettingsTab.BackColor = SystemColors.ControlDarkDark;
|
SettingsTab.BackColor = SystemColors.ControlDarkDark;
|
||||||
@ -1586,6 +1588,24 @@ partial class ReCodeItForm
|
|||||||
DebugLoggingCheckbox.UseVisualStyleBackColor = true;
|
DebugLoggingCheckbox.UseVisualStyleBackColor = true;
|
||||||
DebugLoggingCheckbox.CheckedChanged += DebugLoggingCheckbox_CheckedChanged;
|
DebugLoggingCheckbox.CheckedChanged += DebugLoggingCheckbox_CheckedChanged;
|
||||||
//
|
//
|
||||||
|
// CrossCompilerProjectComboBox
|
||||||
|
//
|
||||||
|
CrossCompilerProjectComboBox.FormattingEnabled = true;
|
||||||
|
CrossCompilerProjectComboBox.Location = new Point(6, 238);
|
||||||
|
CrossCompilerProjectComboBox.Name = "CrossCompilerProjectComboBox";
|
||||||
|
CrossCompilerProjectComboBox.Size = new Size(194, 33);
|
||||||
|
CrossCompilerProjectComboBox.TabIndex = 26;
|
||||||
|
CrossCompilerProjectComboBox.SelectedIndexChanged += CrossCompilerProjectComboBox_SelectedIndexChanged;
|
||||||
|
//
|
||||||
|
// label1
|
||||||
|
//
|
||||||
|
label1.AutoSize = true;
|
||||||
|
label1.Location = new Point(206, 243);
|
||||||
|
label1.Name = "label1";
|
||||||
|
label1.Size = new Size(150, 25);
|
||||||
|
label1.TabIndex = 27;
|
||||||
|
label1.Text = "Available Projects";
|
||||||
|
//
|
||||||
// ReCodeItForm
|
// ReCodeItForm
|
||||||
//
|
//
|
||||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||||
@ -1620,7 +1640,6 @@ partial class ReCodeItForm
|
|||||||
((System.ComponentModel.ISupportInitialize)AutoMapperRequiredMatchesUpDown).EndInit();
|
((System.ComponentModel.ISupportInitialize)AutoMapperRequiredMatchesUpDown).EndInit();
|
||||||
tabPage5.ResumeLayout(false);
|
tabPage5.ResumeLayout(false);
|
||||||
groupBox4.ResumeLayout(false);
|
groupBox4.ResumeLayout(false);
|
||||||
groupBox4.PerformLayout();
|
|
||||||
groupBox3.ResumeLayout(false);
|
groupBox3.ResumeLayout(false);
|
||||||
groupBox3.PerformLayout();
|
groupBox3.PerformLayout();
|
||||||
SettingsTab.ResumeLayout(false);
|
SettingsTab.ResumeLayout(false);
|
||||||
@ -1695,7 +1714,6 @@ partial class ReCodeItForm
|
|||||||
private CheckBox NestedTypeCountEnabled;
|
private CheckBox NestedTypeCountEnabled;
|
||||||
private DomainUpDown IsInterfaceUpDown;
|
private DomainUpDown IsInterfaceUpDown;
|
||||||
private TreeView RemapTreeView;
|
private TreeView RemapTreeView;
|
||||||
private Button SaveMappingFileButton;
|
|
||||||
private Button RunRemapButton;
|
private Button RunRemapButton;
|
||||||
private Button LoadMappingFileButton;
|
private Button LoadMappingFileButton;
|
||||||
private NumericUpDown ConstuctorCountUpDown;
|
private NumericUpDown ConstuctorCountUpDown;
|
||||||
@ -1706,7 +1724,6 @@ partial class ReCodeItForm
|
|||||||
private GroupBox groupBox2;
|
private GroupBox groupBox2;
|
||||||
private CheckBox SilentModeCheckbox;
|
private CheckBox SilentModeCheckbox;
|
||||||
private CheckBox DebugLoggingCheckbox;
|
private CheckBox DebugLoggingCheckbox;
|
||||||
private Button EditRemapButton;
|
|
||||||
private TabPage AutoMapperTab;
|
private TabPage AutoMapperTab;
|
||||||
private TextBox AutoMapperTypesToIgnoreTextField;
|
private TextBox AutoMapperTypesToIgnoreTextField;
|
||||||
private Button AutoMapperExcludeTypesRemoveButton;
|
private Button AutoMapperExcludeTypesRemoveButton;
|
||||||
@ -1767,4 +1784,8 @@ partial class ReCodeItForm
|
|||||||
private Button CrossPatchRemapOutputButton;
|
private Button CrossPatchRemapOutputButton;
|
||||||
private Button CrossPatchRunButton;
|
private Button CrossPatchRunButton;
|
||||||
private GroupBox groupBox4;
|
private GroupBox groupBox4;
|
||||||
|
private TextBox LoadedMappingFilePath;
|
||||||
|
private Button CrossCompilerNewProjectButton;
|
||||||
|
private ComboBox CrossCompilerProjectComboBox;
|
||||||
|
private Label label1;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
|
using ReCodeIt.AutoMapper;
|
||||||
|
using ReCodeIt.CrossPatcher;
|
||||||
using ReCodeIt.Enums;
|
using ReCodeIt.Enums;
|
||||||
using ReCodeIt.Models;
|
using ReCodeIt.Models;
|
||||||
using ReCodeIt.ReMapper;
|
using ReCodeIt.ReMapper;
|
||||||
using ReCodeIt.Utils;
|
using ReCodeIt.Utils;
|
||||||
using ReCodeItLib.AutoMapper;
|
|
||||||
|
|
||||||
namespace ReCodeIt.GUI;
|
namespace ReCodeIt.GUI;
|
||||||
|
|
||||||
@ -11,6 +12,8 @@ public partial class ReCodeItForm : Form
|
|||||||
public static ReCodeItRemapper Remapper { get; private set; } = new();
|
public static ReCodeItRemapper Remapper { get; private set; } = new();
|
||||||
public static ReCodeItAutoMapper AutoMapper { get; private set; } = new();
|
public static ReCodeItAutoMapper AutoMapper { get; private set; } = new();
|
||||||
|
|
||||||
|
public static ReCodeItCrossCompiler CrossPatcher { get; private set; } = new();
|
||||||
|
|
||||||
private RemapModel CurrentRemap { get; set; }
|
private RemapModel CurrentRemap { get; set; }
|
||||||
|
|
||||||
private int _selectedRemapTreeIndex = 0;
|
private int _selectedRemapTreeIndex = 0;
|
||||||
@ -19,6 +22,7 @@ public partial class ReCodeItForm : Form
|
|||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
DataProvider.LoadMappingFile(DataProvider.Settings.Remapper.MappingPath);
|
DataProvider.LoadMappingFile(DataProvider.Settings.Remapper.MappingPath);
|
||||||
|
LoadedMappingFilePath.Text = DataProvider.Settings.Remapper.MappingPath;
|
||||||
PopulateDomainUpDowns();
|
PopulateDomainUpDowns();
|
||||||
RefreshSettingsPage();
|
RefreshSettingsPage();
|
||||||
RefreshAutoMapperPage();
|
RefreshAutoMapperPage();
|
||||||
@ -97,7 +101,7 @@ public partial class ReCodeItForm : Form
|
|||||||
};
|
};
|
||||||
|
|
||||||
var existingRemap = DataProvider.Remaps
|
var existingRemap = DataProvider.Remaps
|
||||||
.Where(remap => remap.NewTypeName == NewTypeName.Text)
|
.Where(remap => remap.NewTypeName == newRemap.NewTypeName)
|
||||||
.FirstOrDefault();
|
.FirstOrDefault();
|
||||||
|
|
||||||
// Handle overwriting an existing remap
|
// Handle overwriting an existing remap
|
||||||
@ -111,6 +115,8 @@ public partial class ReCodeItForm : Form
|
|||||||
DataProvider.Remaps.Insert(index, newRemap);
|
DataProvider.Remaps.Insert(index, newRemap);
|
||||||
RemapTreeView.Nodes.Insert(index, GUIHelpers.GenerateTreeNode(newRemap, this));
|
RemapTreeView.Nodes.Insert(index, GUIHelpers.GenerateTreeNode(newRemap, this));
|
||||||
|
|
||||||
|
DataProvider.SaveMapping();
|
||||||
|
|
||||||
CurrentRemap = existingRemap;
|
CurrentRemap = existingRemap;
|
||||||
|
|
||||||
ResetAll();
|
ResetAll();
|
||||||
@ -120,6 +126,7 @@ public partial class ReCodeItForm : Form
|
|||||||
CurrentRemap = newRemap;
|
CurrentRemap = newRemap;
|
||||||
RemapTreeView.Nodes.Add(GUIHelpers.GenerateTreeNode(newRemap, this));
|
RemapTreeView.Nodes.Add(GUIHelpers.GenerateTreeNode(newRemap, this));
|
||||||
DataProvider.Remaps.Add(newRemap);
|
DataProvider.Remaps.Add(newRemap);
|
||||||
|
DataProvider.SaveMapping();
|
||||||
|
|
||||||
ResetAll();
|
ResetAll();
|
||||||
}
|
}
|
||||||
@ -128,11 +135,13 @@ public partial class ReCodeItForm : Form
|
|||||||
{
|
{
|
||||||
DataProvider.Remaps?.RemoveAt(RemapTreeView.SelectedNode.Index);
|
DataProvider.Remaps?.RemoveAt(RemapTreeView.SelectedNode.Index);
|
||||||
RemapTreeView.SelectedNode?.Remove();
|
RemapTreeView.SelectedNode?.Remove();
|
||||||
|
DataProvider.SaveMapping();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EditRemapButton_Click(object sender, EventArgs e)
|
private void EditRemapButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
EditSelectedRemap(this, null);
|
EditSelectedRemap(this, null);
|
||||||
|
DataProvider.SaveMapping();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RunRemapButton_Click(object sender, EventArgs e)
|
private void RunRemapButton_Click(object sender, EventArgs e)
|
||||||
@ -147,7 +156,9 @@ public partial class ReCodeItForm : Form
|
|||||||
|
|
||||||
Console.Clear();
|
Console.Clear();
|
||||||
|
|
||||||
Remapper.InitializeRemap();
|
var settings = DataProvider.Settings;
|
||||||
|
|
||||||
|
Remapper.InitializeRemap(settings.Remapper.AssemblyPath, settings.Remapper.OutputPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveMappingFileButton_Click(object sender, EventArgs e)
|
private void SaveMappingFileButton_Click(object sender, EventArgs e)
|
||||||
@ -159,7 +170,7 @@ public partial class ReCodeItForm : Form
|
|||||||
MessageBoxIcon.Exclamation,
|
MessageBoxIcon.Exclamation,
|
||||||
MessageBoxDefaultButton.Button2) == DialogResult.Yes)
|
MessageBoxDefaultButton.Button2) == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
DataProvider.SaveMapping(DataProvider.Settings.Remapper.MappingPath);
|
DataProvider.SaveMapping();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,6 +182,10 @@ public partial class ReCodeItForm : Form
|
|||||||
if (result == string.Empty) { return; }
|
if (result == string.Empty) { return; }
|
||||||
|
|
||||||
DataProvider.LoadMappingFile(result);
|
DataProvider.LoadMappingFile(result);
|
||||||
|
DataProvider.Settings.Remapper.MappingPath = result;
|
||||||
|
DataProvider.SaveAppSettings();
|
||||||
|
|
||||||
|
LoadedMappingFilePath.Text = result;
|
||||||
|
|
||||||
RemapTreeView.Nodes.Clear();
|
RemapTreeView.Nodes.Clear();
|
||||||
|
|
||||||
@ -395,26 +410,6 @@ public partial class ReCodeItForm : Form
|
|||||||
RemapperUnseal.Checked = DataProvider.Settings.Remapper.MappingSettings.Unseal;
|
RemapperUnseal.Checked = DataProvider.Settings.Remapper.MappingSettings.Unseal;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region SETTINGS_BUTTONS
|
|
||||||
|
|
||||||
private void MappingChooseButton_Click(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
var fDialog = new OpenFileDialog
|
|
||||||
{
|
|
||||||
Title = "Select a mapping file",
|
|
||||||
Filter = "JSON Files (*.json)|*.json|JSONC Files (*.jsonc)|*.jsonc|All Files (*.*)|*.*",
|
|
||||||
Multiselect = false
|
|
||||||
};
|
|
||||||
|
|
||||||
if (fDialog.ShowDialog() == DialogResult.OK)
|
|
||||||
{
|
|
||||||
DataProvider.LoadMappingFile(fDialog.FileName);
|
|
||||||
MappingPathTextBox.Text = fDialog.FileName;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion SETTINGS_BUTTONS
|
|
||||||
|
|
||||||
#region CHECKBOXES
|
#region CHECKBOXES
|
||||||
|
|
||||||
private void DebugLoggingCheckbox_CheckedChanged(object sender, EventArgs e)
|
private void DebugLoggingCheckbox_CheckedChanged(object sender, EventArgs e)
|
||||||
@ -639,7 +634,7 @@ public partial class ReCodeItForm : Form
|
|||||||
|
|
||||||
#endregion AUTOMAPPER
|
#endregion AUTOMAPPER
|
||||||
|
|
||||||
#region CROSSPATCHER
|
#region CROSS_COMPILER
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Remapper Input
|
/// Remapper Input
|
||||||
@ -653,7 +648,7 @@ public partial class ReCodeItForm : Form
|
|||||||
|
|
||||||
if (result != string.Empty)
|
if (result != string.Empty)
|
||||||
{
|
{
|
||||||
DataProvider.Settings.CrossPatching.OriginalAssemblyPath = result;
|
DataProvider.Settings.CrossCompiler.OriginalAssemblyPath = result;
|
||||||
CrossMapperOriginalAssembly.Text = result;
|
CrossMapperOriginalAssembly.Text = result;
|
||||||
DataProvider.SaveAppSettings();
|
DataProvider.SaveAppSettings();
|
||||||
}
|
}
|
||||||
@ -671,7 +666,7 @@ public partial class ReCodeItForm : Form
|
|||||||
|
|
||||||
if (result != string.Empty)
|
if (result != string.Empty)
|
||||||
{
|
{
|
||||||
DataProvider.Settings.CrossPatching.RemappedOutput = result;
|
DataProvider.Settings.CrossCompiler.RemappedOutput = result;
|
||||||
CrossMapperReferencePath.Text = result;
|
CrossMapperReferencePath.Text = result;
|
||||||
DataProvider.SaveAppSettings();
|
DataProvider.SaveAppSettings();
|
||||||
}
|
}
|
||||||
@ -684,12 +679,11 @@ public partial class ReCodeItForm : Form
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void CrossPatchingProjectBuildDirButton_Click(object sender, EventArgs e)
|
private void CrossPatchingProjectBuildDirButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var result = GUIHelpers.OpenFileDialog("Select the assembly that referenced the remapped dll",
|
var result = GUIHelpers.OpenFolderDialog("Select your visual studio solution directory");
|
||||||
"DLL Files (*.dll)|*.dll|All Files (*.*)|*.*");
|
|
||||||
|
|
||||||
if (result != string.Empty)
|
if (result != string.Empty)
|
||||||
{
|
{
|
||||||
DataProvider.Settings.CrossPatching.ReversePatchInputPath = result;
|
DataProvider.Settings.CrossCompiler.VisualStudioSolutionDirectory = result;
|
||||||
CrossMapperProjectBuildPath.Text = result;
|
CrossMapperProjectBuildPath.Text = result;
|
||||||
DataProvider.SaveAppSettings();
|
DataProvider.SaveAppSettings();
|
||||||
}
|
}
|
||||||
@ -702,12 +696,11 @@ public partial class ReCodeItForm : Form
|
|||||||
/// <param name="e"></param>
|
/// <param name="e"></param>
|
||||||
private void CrossMappingOutputChooseButton_Click(object sender, EventArgs e)
|
private void CrossMappingOutputChooseButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var result = GUIHelpers.OpenFileDialog("Output location of the final unmapped dll",
|
var result = GUIHelpers.OpenFolderDialog("Select your final build directory");
|
||||||
"DLL Files (*.dll)|*.dll|All Files (*.*)|*.*");
|
|
||||||
|
|
||||||
if (result != string.Empty)
|
if (result != string.Empty)
|
||||||
{
|
{
|
||||||
DataProvider.Settings.CrossPatching.ReversePatchOutputPath = result;
|
DataProvider.Settings.CrossCompiler.BuildDirectory = result;
|
||||||
CrossMapperProjTargetAssembly.Text = result;
|
CrossMapperProjTargetAssembly.Text = result;
|
||||||
DataProvider.SaveAppSettings();
|
DataProvider.SaveAppSettings();
|
||||||
}
|
}
|
||||||
@ -715,21 +708,32 @@ public partial class ReCodeItForm : Form
|
|||||||
|
|
||||||
private void CrossPatchRemapButton_Click(object sender, EventArgs e)
|
private void CrossPatchRemapButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
CrossPatcher.StartRemap();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CrossPatchRunButton_Click(object sender, EventArgs e)
|
private void CrossPatchRunButton_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
CrossPatcher.StartCrossCompile();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshCrossPatchPage()
|
private void RefreshCrossPatchPage()
|
||||||
{
|
{
|
||||||
CrossMapperOriginalAssembly.Text = DataProvider.Settings.CrossPatching.OriginalAssemblyPath;
|
CrossMapperOriginalAssembly.Text = DataProvider.Settings.CrossCompiler.OriginalAssemblyPath;
|
||||||
CrossMapperReferencePath.Text = DataProvider.Settings.CrossPatching.RemappedOutput;
|
CrossMapperReferencePath.Text = DataProvider.Settings.CrossCompiler.RemappedOutput;
|
||||||
CrossMapperProjectBuildPath.Text = DataProvider.Settings.CrossPatching.ReversePatchInputPath;
|
CrossMapperProjectBuildPath.Text = DataProvider.Settings.CrossCompiler.VisualStudioSolutionDirectory;
|
||||||
CrossMapperProjTargetAssembly.Text = DataProvider.Settings.CrossPatching.ReversePatchOutputPath;
|
CrossMapperProjTargetAssembly.Text = DataProvider.Settings.CrossCompiler.BuildDirectory;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion CROSSPATCHER
|
private void CrossCompilerNewProjectButton_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
CrossPatcher.CreateProject();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CrossCompilerProjectComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion CROSS_COMPILER
|
||||||
|
|
||||||
// Reset All UI elements to default
|
// Reset All UI elements to default
|
||||||
private void ResetAll()
|
private void ResetAll()
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
using Mono.Cecil;
|
using Mono.Cecil;
|
||||||
|
|
||||||
namespace ReCodeItLib.AutoMapper;
|
namespace ReCodeIt.AutoMapper;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Represents a match of a field name to obfuscated class
|
/// Represents a match of a field name to obfuscated class
|
||||||
|
@ -3,9 +3,9 @@ using Mono.Collections.Generic;
|
|||||||
using ReCodeIt.Models;
|
using ReCodeIt.Models;
|
||||||
using ReCodeIt.ReMapper;
|
using ReCodeIt.ReMapper;
|
||||||
using ReCodeIt.Utils;
|
using ReCodeIt.Utils;
|
||||||
using ReCodeItLib.Utils;
|
using ReCodeIt.Utils;
|
||||||
|
|
||||||
namespace ReCodeItLib.AutoMapper;
|
namespace ReCodeIt.AutoMapper;
|
||||||
|
|
||||||
public class ReCodeItAutoMapper
|
public class ReCodeItAutoMapper
|
||||||
{
|
{
|
||||||
|
177
RecodeItLib/CrossCompiler/ReCodeItCrossCompiler.cs
Normal file
177
RecodeItLib/CrossCompiler/ReCodeItCrossCompiler.cs
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
using ReCodeIt.Models;
|
||||||
|
using ReCodeIt.ReMapper;
|
||||||
|
using ReCodeIt.Utils;
|
||||||
|
|
||||||
|
namespace ReCodeIt.CrossPatcher;
|
||||||
|
|
||||||
|
public class ReCodeItCrossCompiler
|
||||||
|
{
|
||||||
|
public ReCodeItCrossCompiler()
|
||||||
|
{
|
||||||
|
Remapper = new(this);
|
||||||
|
FindProjects();
|
||||||
|
}
|
||||||
|
|
||||||
|
private ReCodeItRemapper Remapper { get; }
|
||||||
|
private CrossCompilerSettings Settings => DataProvider.Settings.CrossCompiler;
|
||||||
|
public List<string> ProjectPaths { get; private set; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Key: Remapped name, value: old name
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> ChangedTypes { get; set; } = [];
|
||||||
|
|
||||||
|
private CrossCompilerProjectModel Cache;
|
||||||
|
|
||||||
|
private static HashSet<string> CopyIgnoreDirectories { get; } =
|
||||||
|
[
|
||||||
|
".vs",
|
||||||
|
".git"
|
||||||
|
];
|
||||||
|
|
||||||
|
public void CreateProject()
|
||||||
|
{
|
||||||
|
Logger.Log("-----------------------------------------------", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Generating Cross Compiler project", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original Assembly Path {Settings.OriginalAssemblyPath}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Remapped Assembly Path: {Settings.RemappedOutput}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Visual Studio Solution Directory: {Settings.VisualStudioSolutionDirectory}", ConsoleColor.Yellow);
|
||||||
|
|
||||||
|
// Build the cache model
|
||||||
|
Cache = new CrossCompilerProjectModel
|
||||||
|
{
|
||||||
|
OriginalAssemblyPath = Settings.OriginalAssemblyPath,
|
||||||
|
RemappedAssemblyPath = Settings.RemappedOutput,
|
||||||
|
VisualStudioSolutionDirectory = Settings.VisualStudioSolutionDirectory,
|
||||||
|
OriginalAssemblyHash = HashUtil.GetFileHash(Settings.OriginalAssemblyPath),
|
||||||
|
RemappedAssemblyHash = "",
|
||||||
|
ChangedTypes = [],
|
||||||
|
RemapModels = []
|
||||||
|
};
|
||||||
|
|
||||||
|
// Now copy over the visual studio project
|
||||||
|
CopyVisualStudioProject(Cache);
|
||||||
|
|
||||||
|
// Now save the cache object inside the copied directory
|
||||||
|
DataProvider.SaveCrossCompilerProjectModel(Cache);
|
||||||
|
|
||||||
|
Logger.Log($"Found Solution: {Cache.SolutionPath}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original Assembly Checksum: {Cache.OriginalAssemblyHash}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Project Generated to: {Cache.ReCodeItProjectDir}", ConsoleColor.Green);
|
||||||
|
Logger.Log("-----------------------------------------------", ConsoleColor.Yellow);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartRemap()
|
||||||
|
{
|
||||||
|
ChangedTypes.Clear();
|
||||||
|
Remapper.InitializeRemap(Settings.OriginalAssemblyPath, Settings.RemappedOutput, true);
|
||||||
|
|
||||||
|
if (Cache == null)
|
||||||
|
{
|
||||||
|
Logger.Log("ERROR: No Cross Compiler Project is loaded, create or load one first.", ConsoleColor.Red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Cache.ReCodeItProjectDir == string.Empty)
|
||||||
|
{
|
||||||
|
Logger.Log("ERROR: No ReCodeIt Project directory is set. (Project Creation Failed)", ConsoleColor.Red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Logger.Log("-----------------------------------------------", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Cross patch remap result", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Changed {ChangedTypes.Count} types", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original assembly path: {Cache.OriginalAssemblyPath}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original assembly hash: {Cache.OriginalAssemblyHash}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original patched assembly path: {Cache.RemappedAssemblyPath}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log($"Original patched assembly hash: {Cache.RemappedAssemblyHash}", ConsoleColor.Yellow);
|
||||||
|
Logger.Log("-----------------------------------------------", ConsoleColor.Yellow);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void StartCrossCompile()
|
||||||
|
{
|
||||||
|
//CopyVisualStudioProject();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CopyVisualStudioProject(CrossCompilerProjectModel cache)
|
||||||
|
{
|
||||||
|
var solutionDirPath = Settings.VisualStudioSolutionDirectory;
|
||||||
|
var solutionFiles = Directory.GetFiles(solutionDirPath, "*.sln", SearchOption.AllDirectories);
|
||||||
|
var solutionFile = string.Empty;
|
||||||
|
|
||||||
|
if (solutionFiles.Length > 1)
|
||||||
|
{
|
||||||
|
Logger.Log("ERROR More than one solution in a directory is not supported, Why tho?", ConsoleColor.Red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var file in solutionFiles)
|
||||||
|
{
|
||||||
|
solutionFile = file;
|
||||||
|
}
|
||||||
|
|
||||||
|
var solutionName = Path.GetFileNameWithoutExtension(solutionFile);
|
||||||
|
var destination = Path.Combine(DataProvider.ProjectPath, solutionName);
|
||||||
|
|
||||||
|
cache.ReCodeItProjectDir = destination;
|
||||||
|
cache.SolutionPath = solutionFile;
|
||||||
|
|
||||||
|
Logger.Log($"Copying solution: {solutionName} to {destination}", ConsoleColor.Yellow);
|
||||||
|
|
||||||
|
CopyProjectRecursive(solutionDirPath, destination);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void CopyProjectRecursive(string sourceDirPath, string destinationDirPath)
|
||||||
|
{
|
||||||
|
DirectoryInfo sourceDir = new DirectoryInfo(sourceDirPath);
|
||||||
|
|
||||||
|
if (!sourceDir.Exists)
|
||||||
|
{
|
||||||
|
throw new DirectoryNotFoundException(
|
||||||
|
"Solution directory does not exist or could not be found: "
|
||||||
|
+ sourceDirPath);
|
||||||
|
}
|
||||||
|
|
||||||
|
DirectoryInfo[] dirs = sourceDir.GetDirectories();
|
||||||
|
|
||||||
|
// If the destination directory doesn't exist, create it.
|
||||||
|
Directory.CreateDirectory(destinationDirPath);
|
||||||
|
|
||||||
|
// Get the files in the directory and copy them to the new location.
|
||||||
|
FileInfo[] files = sourceDir.GetFiles();
|
||||||
|
|
||||||
|
foreach (FileInfo file in files)
|
||||||
|
{
|
||||||
|
string tempPath = Path.Combine(destinationDirPath, file.Name);
|
||||||
|
file.CopyTo(tempPath, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (DirectoryInfo subdir in dirs)
|
||||||
|
{
|
||||||
|
if (CopyIgnoreDirectories.Contains(subdir.Name)) { continue; }
|
||||||
|
|
||||||
|
string tempPath = Path.Combine(destinationDirPath, subdir.Name);
|
||||||
|
CopyProjectRecursive(subdir.FullName, tempPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void FindProjects()
|
||||||
|
{
|
||||||
|
DirectoryInfo sourceDir = new DirectoryInfo(DataProvider.ProjectPath);
|
||||||
|
|
||||||
|
// Only search top level directories here
|
||||||
|
foreach (var directory in sourceDir.GetDirectories())
|
||||||
|
{
|
||||||
|
var files = directory.GetFiles();
|
||||||
|
|
||||||
|
foreach (var file in files)
|
||||||
|
{
|
||||||
|
if (file.Name == "ReCodeItProj.json")
|
||||||
|
{
|
||||||
|
ProjectPaths.Add(file.FullName);
|
||||||
|
Logger.Log($"Found ReCodeIt Project at {file.FullName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
namespace ReCodeItLib.DeMangler;
|
namespace ReCodeIt.DeMangler;
|
||||||
|
|
||||||
internal class ReCodeItDeMangler
|
internal class ReCodeItDeMangler
|
||||||
{
|
{
|
||||||
|
@ -8,7 +8,7 @@ public class Settings
|
|||||||
public AppSettings AppSettings { get; set; }
|
public AppSettings AppSettings { get; set; }
|
||||||
public RemapperSettings Remapper { get; set; }
|
public RemapperSettings Remapper { get; set; }
|
||||||
public AutoMapperSettings AutoMapper { get; set; }
|
public AutoMapperSettings AutoMapper { get; set; }
|
||||||
public CrossPatchingSettings CrossPatching { get; set; }
|
public CrossCompilerSettings CrossCompiler { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -100,9 +100,9 @@ public class AutoMapperSettings
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// These are settings for the cross patching module
|
/// These are settings for the cross compiler module
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CrossPatchingSettings
|
public class CrossCompilerSettings
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The path to the original assembly to use as a reference, for unity games its
|
/// The path to the original assembly to use as a reference, for unity games its
|
||||||
@ -116,14 +116,14 @@ public class CrossPatchingSettings
|
|||||||
public string RemappedOutput { get; set; }
|
public string RemappedOutput { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The input path of the assembly referenced by the remapped dll
|
/// The path to the solution directory of the project
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ReversePatchInputPath { get; set; }
|
public string VisualStudioSolutionDirectory { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Where should the de-patched dll be placed? (This is the one you test/distribute with)
|
/// Where should the de-patched dll be placed? (This is the one you test/distribute with)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ReversePatchOutputPath { get; set; }
|
public string BuildDirectory { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
28
RecodeItLib/Models/CrossCompilerProjectModel.cs
Normal file
28
RecodeItLib/Models/CrossCompilerProjectModel.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
namespace ReCodeIt.Models;
|
||||||
|
|
||||||
|
public class CrossCompilerProjectModel
|
||||||
|
{
|
||||||
|
public string OriginalAssemblyPath { get; set; }
|
||||||
|
|
||||||
|
public string OriginalAssemblyHash { get; set; }
|
||||||
|
|
||||||
|
public string VisualStudioSolutionDirectory { get; set; }
|
||||||
|
|
||||||
|
public string SolutionPath { get; set; }
|
||||||
|
|
||||||
|
public string ReCodeItProjectDir { get; set; }
|
||||||
|
|
||||||
|
public string RemappedAssemblyPath { get; set; }
|
||||||
|
|
||||||
|
public string RemappedAssemblyHash { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Key: Remapped name, value: old name
|
||||||
|
/// </summary>
|
||||||
|
public Dictionary<string, string> ChangedTypes { get; set; } = [];
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Remap models used on this project
|
||||||
|
/// </summary>
|
||||||
|
public List<RemapModel> RemapModels { get; set; } = [];
|
||||||
|
}
|
@ -1,50 +0,0 @@
|
|||||||
using Mono.Cecil;
|
|
||||||
using Mono.Collections.Generic;
|
|
||||||
|
|
||||||
namespace ReCodeItLib.Models;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// This is a database of type, field, property etc info collected into one place for an assembly.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="assembly"></param>
|
|
||||||
internal class TypeDatabaseModel
|
|
||||||
{
|
|
||||||
public TypeDatabaseModel(ModuleDefinition moduleDefinition)
|
|
||||||
{
|
|
||||||
ModuleDefinition = moduleDefinition;
|
|
||||||
|
|
||||||
GetAllTypes(ModuleDefinition.Types);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ModuleDefinition ModuleDefinition { get; private set; }
|
|
||||||
|
|
||||||
public List<TypeDefinition> Types { get; private set; } = [];
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Key, the type definition the property belongs too
|
|
||||||
/// </summary>
|
|
||||||
public Dictionary<TypeDefinition, PropertyDefinition> Properties { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Key, the type definition the method belongs too
|
|
||||||
/// </summary>
|
|
||||||
public Dictionary<TypeDefinition, MethodDefinition> Methods { get; private set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Key, the type definition the field belongs too
|
|
||||||
/// </summary>
|
|
||||||
public Dictionary<TypeDefinition, FieldDefinition> Fields { get; private set; }
|
|
||||||
|
|
||||||
private void GetAllTypes(Collection<TypeDefinition> types)
|
|
||||||
{
|
|
||||||
foreach (var type in types)
|
|
||||||
{
|
|
||||||
if (type.HasNestedTypes)
|
|
||||||
{
|
|
||||||
GetAllTypes(type.NestedTypes);
|
|
||||||
}
|
|
||||||
|
|
||||||
Types.Add(type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -12,8 +12,4 @@
|
|||||||
<PackageReference Include="morelinq" Version="4.2.0" />
|
<PackageReference Include="morelinq" Version="4.2.0" />
|
||||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<Folder Include="CrossMapper\" />
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Mono.Cecil;
|
using Mono.Cecil;
|
||||||
|
using ReCodeIt.CrossPatcher;
|
||||||
using ReCodeIt.Enums;
|
using ReCodeIt.Enums;
|
||||||
using ReCodeIt.Models;
|
using ReCodeIt.Models;
|
||||||
using ReCodeIt.ReMapper.Search;
|
using ReCodeIt.ReMapper.Search;
|
||||||
@ -9,6 +10,16 @@ namespace ReCodeIt.ReMapper;
|
|||||||
|
|
||||||
public class ReCodeItRemapper
|
public class ReCodeItRemapper
|
||||||
{
|
{
|
||||||
|
public ReCodeItRemapper(ReCodeItCrossCompiler compiler)
|
||||||
|
{
|
||||||
|
_compiler = compiler;
|
||||||
|
}
|
||||||
|
|
||||||
|
public ReCodeItRemapper()
|
||||||
|
{ }
|
||||||
|
|
||||||
|
private readonly ReCodeItCrossCompiler _compiler;
|
||||||
|
|
||||||
public static bool IsRunning { get; private set; } = false;
|
public static bool IsRunning { get; private set; } = false;
|
||||||
|
|
||||||
public delegate void OnCompleteHandler(object sender, EventArgs e);
|
public delegate void OnCompleteHandler(object sender, EventArgs e);
|
||||||
@ -19,12 +30,20 @@ public class ReCodeItRemapper
|
|||||||
|
|
||||||
private RemapperSettings Settings => DataProvider.Settings.Remapper;
|
private RemapperSettings Settings => DataProvider.Settings.Remapper;
|
||||||
|
|
||||||
|
private string OutPath { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
private bool CrossMapMode { get; set; } = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Start the remapping process
|
/// Start the remapping process
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void InitializeRemap()
|
public void InitializeRemap(string assemblyPath, string outPath, bool crossMapMode = false)
|
||||||
{
|
{
|
||||||
DataProvider.LoadAssemblyDefinition(Settings.AssemblyPath);
|
DataProvider.LoadAssemblyDefinition(assemblyPath);
|
||||||
|
|
||||||
|
CrossMapMode = crossMapMode;
|
||||||
|
|
||||||
|
OutPath = outPath;
|
||||||
|
|
||||||
IsRunning = true;
|
IsRunning = true;
|
||||||
DisplayBasicModuleInformation();
|
DisplayBasicModuleInformation();
|
||||||
@ -155,6 +174,13 @@ public class ReCodeItRemapper
|
|||||||
remap.OriginalTypeName = type.Name;
|
remap.OriginalTypeName = type.Name;
|
||||||
remap.FailureReason = EFailureReason.None;
|
remap.FailureReason = EFailureReason.None;
|
||||||
remap.Succeeded = true;
|
remap.Succeeded = true;
|
||||||
|
|
||||||
|
if (CrossMapMode)
|
||||||
|
{
|
||||||
|
// Store the original types for caching
|
||||||
|
_compiler.ChangedTypes.Add(remap.NewTypeName, type.Name);
|
||||||
|
}
|
||||||
|
|
||||||
type.Name = remap.NewTypeName;
|
type.Name = remap.NewTypeName;
|
||||||
|
|
||||||
Logger.Log("-----------------------------------------------", ConsoleColor.Green);
|
Logger.Log("-----------------------------------------------", ConsoleColor.Green);
|
||||||
@ -186,6 +212,7 @@ public class ReCodeItRemapper
|
|||||||
Logger.Log($"Renaming {remap.NewTypeName} failed with reason {remap.FailureReason}", ConsoleColor.Red);
|
Logger.Log($"Renaming {remap.NewTypeName} failed with reason {remap.FailureReason}", ConsoleColor.Red);
|
||||||
Logger.Log("-----------------------------------------------", ConsoleColor.Red);
|
Logger.Log("-----------------------------------------------", ConsoleColor.Red);
|
||||||
failures++;
|
failures++;
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
changes++;
|
changes++;
|
||||||
@ -226,7 +253,12 @@ public class ReCodeItRemapper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
highestScore.ReMap.OriginalTypeName = highestScore.Definition.Name;
|
// highestScore.ReMap.OriginalTypeName = highestScore.Definition.Name;
|
||||||
|
|
||||||
|
if (CrossMapMode)
|
||||||
|
{// Store the original types for caching
|
||||||
|
_compiler.ChangedTypes.Add(highestScore.ProposedNewName, highestScore.Definition.Name);
|
||||||
|
}
|
||||||
|
|
||||||
// Rename type and all associated type members
|
// Rename type and all associated type members
|
||||||
RenameHelper.RenameAll(highestScore);
|
RenameHelper.RenameAll(highestScore);
|
||||||
@ -239,7 +271,7 @@ public class ReCodeItRemapper
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void WriteAssembly()
|
private void WriteAssembly()
|
||||||
{
|
{
|
||||||
var path = DataProvider.WriteAssemblyDefinition(Settings.OutputPath);
|
var path = DataProvider.WriteAssemblyDefinition(OutPath);
|
||||||
|
|
||||||
Logger.Log("-----------------------------------------------", ConsoleColor.Green);
|
Logger.Log("-----------------------------------------------", ConsoleColor.Green);
|
||||||
Logger.Log($"Complete: Assembly written to `{path}`", ConsoleColor.Green);
|
Logger.Log($"Complete: Assembly written to `{path}`", ConsoleColor.Green);
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
using Mono.Collections.Generic;
|
using Mono.Collections.Generic;
|
||||||
using ReCodeIt.Models;
|
using ReCodeIt.Models;
|
||||||
using ReCodeIt.Utils;
|
using ReCodeIt.Utils;
|
||||||
using ReCodeItLib.Utils;
|
using ReCodeIt.Utils;
|
||||||
|
|
||||||
namespace ReCodeIt.ReMapper;
|
namespace ReCodeIt.ReMapper;
|
||||||
|
|
||||||
@ -14,7 +14,7 @@ internal static class RenameHelper
|
|||||||
/// Only used by the manual remapper, should probably be removed
|
/// Only used by the manual remapper, should probably be removed
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="score"></param>
|
/// <param name="score"></param>
|
||||||
public static void RenameAll(ScoringModel score)
|
public static void RenameAll(ScoringModel score, bool direct = false)
|
||||||
{
|
{
|
||||||
var types = DataProvider.ModuleDefinition.Types;
|
var types = DataProvider.ModuleDefinition.Types;
|
||||||
|
|
||||||
@ -22,7 +22,10 @@ internal static class RenameHelper
|
|||||||
RenameAllFields(score.Definition.Name, score.ReMap.NewTypeName, types);
|
RenameAllFields(score.Definition.Name, score.ReMap.NewTypeName, types);
|
||||||
RenameAllProperties(score.Definition.Name, score.ReMap.NewTypeName, types);
|
RenameAllProperties(score.Definition.Name, score.ReMap.NewTypeName, types);
|
||||||
|
|
||||||
score.Definition.Name = score.ProposedNewName;
|
if (!direct)
|
||||||
|
{
|
||||||
|
RenameType(types, score);
|
||||||
|
}
|
||||||
|
|
||||||
Logger.Log($"{score.Definition.Name} Renamed.", ConsoleColor.Green);
|
Logger.Log($"{score.Definition.Name} Renamed.", ConsoleColor.Green);
|
||||||
}
|
}
|
||||||
@ -33,11 +36,12 @@ internal static class RenameHelper
|
|||||||
/// <param name="score"></param>
|
/// <param name="score"></param>
|
||||||
public static void RenameAllDirect(RemapModel remap, TypeDefinition type)
|
public static void RenameAllDirect(RemapModel remap, TypeDefinition type)
|
||||||
{
|
{
|
||||||
var directRename = new ScoringModel();
|
var directRename = new ScoringModel
|
||||||
directRename.Definition = type;
|
{
|
||||||
directRename.ReMap = remap;
|
Definition = type,
|
||||||
|
ReMap = remap
|
||||||
RenameAll(directRename);
|
};
|
||||||
|
RenameAll(directRename, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -146,4 +150,25 @@ internal static class RenameHelper
|
|||||||
{
|
{
|
||||||
return propertyCount > 0 ? $"{newName}_{propertyCount}" : newName;
|
return propertyCount > 0 ? $"{newName}_{propertyCount}" : newName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void RenameType(Collection<TypeDefinition> typesToCheck, ScoringModel score)
|
||||||
|
{
|
||||||
|
foreach (var type in typesToCheck)
|
||||||
|
{
|
||||||
|
if (type.HasNestedTypes)
|
||||||
|
{
|
||||||
|
RenameType(type.NestedTypes, score);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (score.Definition.Name == null) { continue; }
|
||||||
|
|
||||||
|
if (type.FullName == score.Definition.Name)
|
||||||
|
{
|
||||||
|
var oldName = type.FullName.ToString();
|
||||||
|
type.Name = score.ProposedNewName;
|
||||||
|
|
||||||
|
Logger.Log($"Renamed Type {oldName} to {type.FullName}");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
@ -8,8 +8,16 @@ public static class DataProvider
|
|||||||
{
|
{
|
||||||
static DataProvider()
|
static DataProvider()
|
||||||
{
|
{
|
||||||
|
if (!Directory.Exists(ProjectPath))
|
||||||
|
{
|
||||||
|
Directory.CreateDirectory(ProjectPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static readonly string DataPath = Path.Combine(AppContext.BaseDirectory, "Data");
|
||||||
|
|
||||||
|
public static readonly string ProjectPath = Path.Combine(AppContext.BaseDirectory, "Projects");
|
||||||
|
|
||||||
public static List<RemapModel> Remaps { get; private set; } = [];
|
public static List<RemapModel> Remaps { get; private set; } = [];
|
||||||
|
|
||||||
public static Dictionary<string, HashSet<ScoringModel>> ScoringModels { get; set; } = [];
|
public static Dictionary<string, HashSet<ScoringModel>> ScoringModels { get; set; } = [];
|
||||||
@ -26,7 +34,7 @@ public static class DataProvider
|
|||||||
|
|
||||||
public static void LoadAppSettings()
|
public static void LoadAppSettings()
|
||||||
{
|
{
|
||||||
var settingsPath = Path.Combine(AppContext.BaseDirectory, "Data", "Settings.jsonc");
|
var settingsPath = Path.Combine(DataPath, "Settings.jsonc");
|
||||||
|
|
||||||
if (!File.Exists(settingsPath))
|
if (!File.Exists(settingsPath))
|
||||||
{
|
{
|
||||||
@ -51,7 +59,7 @@ public static class DataProvider
|
|||||||
|
|
||||||
if (!File.Exists(settingsPath))
|
if (!File.Exists(settingsPath))
|
||||||
{
|
{
|
||||||
throw new FileNotFoundException($"path `{settingsPath}` does not exist...");
|
Logger.Log($"path `{settingsPath}` does not exist...", ConsoleColor.Red);
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonSerializerSettings settings = new()
|
JsonSerializerSettings settings = new()
|
||||||
@ -62,6 +70,8 @@ public static class DataProvider
|
|||||||
var jsonText = JsonConvert.SerializeObject(Settings, settings);
|
var jsonText = JsonConvert.SerializeObject(Settings, settings);
|
||||||
|
|
||||||
File.WriteAllText(settingsPath, jsonText);
|
File.WriteAllText(settingsPath, jsonText);
|
||||||
|
|
||||||
|
Logger.Log($"App settings saved to {settingsPath}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void LoadMappingFile(string path)
|
public static void LoadMappingFile(string path)
|
||||||
@ -73,11 +83,12 @@ public static class DataProvider
|
|||||||
|
|
||||||
var jsonText = File.ReadAllText(path);
|
var jsonText = File.ReadAllText(path);
|
||||||
|
|
||||||
Remaps = [];
|
|
||||||
ScoringModels = [];
|
ScoringModels = [];
|
||||||
|
|
||||||
Remaps = JsonConvert.DeserializeObject<List<RemapModel>>(jsonText);
|
Remaps = JsonConvert.DeserializeObject<List<RemapModel>>(jsonText);
|
||||||
|
|
||||||
|
if (Remaps == null) { Remaps = []; }
|
||||||
|
|
||||||
var properties = typeof(SearchParams).GetProperties();
|
var properties = typeof(SearchParams).GetProperties();
|
||||||
|
|
||||||
foreach (var remap in Remaps)
|
foreach (var remap in Remaps)
|
||||||
@ -94,7 +105,7 @@ public static class DataProvider
|
|||||||
Logger.Log($"Mapping file loaded from '{path}' containing {Remaps.Count} remaps");
|
Logger.Log($"Mapping file loaded from '{path}' containing {Remaps.Count} remaps");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void SaveMapping(string path)
|
public static void SaveMapping()
|
||||||
{
|
{
|
||||||
JsonSerializerSettings settings = new()
|
JsonSerializerSettings settings = new()
|
||||||
{
|
{
|
||||||
@ -102,9 +113,12 @@ public static class DataProvider
|
|||||||
Formatting = Formatting.Indented
|
Formatting = Formatting.Indented
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var path = Settings.Remapper.MappingPath;
|
||||||
|
|
||||||
var jsonText = JsonConvert.SerializeObject(Remaps, settings);
|
var jsonText = JsonConvert.SerializeObject(Remaps, settings);
|
||||||
|
|
||||||
File.WriteAllText(path, jsonText);
|
File.WriteAllText(path, jsonText);
|
||||||
|
Logger.Log($"Mapping File Saved To {path}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UpdateMapping(string path)
|
public static void UpdateMapping(string path)
|
||||||
@ -144,6 +158,38 @@ public static class DataProvider
|
|||||||
Logger.Log($"Mapping file saved to {path}");
|
Logger.Log($"Mapping file saved to {path}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void SaveCrossCompilerProjectModel(CrossCompilerProjectModel model)
|
||||||
|
{
|
||||||
|
var path = Path.Combine(model.ReCodeItProjectDir, "ReCodeItProj.json");
|
||||||
|
|
||||||
|
JsonSerializerSettings settings = new()
|
||||||
|
{
|
||||||
|
Formatting = Formatting.Indented
|
||||||
|
};
|
||||||
|
|
||||||
|
var jsonText = JsonConvert.SerializeObject(model, settings);
|
||||||
|
|
||||||
|
File.WriteAllText(path, jsonText);
|
||||||
|
|
||||||
|
Logger.Log($"Cross Compiler project json generated to {path}", ConsoleColor.Green);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static CrossCompilerProjectModel LoadCrossCompilerCacheModel(string path)
|
||||||
|
{
|
||||||
|
if (!File.Exists(path))
|
||||||
|
{
|
||||||
|
Logger.Log($"Error loading cache model from `{path}`", ConsoleColor.Red);
|
||||||
|
}
|
||||||
|
|
||||||
|
var jsonText = File.ReadAllText(path);
|
||||||
|
|
||||||
|
var model = JsonConvert.DeserializeObject<CrossCompilerProjectModel>(jsonText);
|
||||||
|
|
||||||
|
Logger.Log($"Loaded Cross Compiler Project: {model?.RemappedAssemblyPath}");
|
||||||
|
|
||||||
|
return model!;
|
||||||
|
}
|
||||||
|
|
||||||
public static void LoadAssemblyDefinition(string path)
|
public static void LoadAssemblyDefinition(string path)
|
||||||
{
|
{
|
||||||
AssemblyDefinition = null;
|
AssemblyDefinition = null;
|
||||||
@ -180,17 +226,20 @@ public static class DataProvider
|
|||||||
Logger.Log($"Module {fileName} not found in assembly {fileName}");
|
Logger.Log($"Module {fileName} not found in assembly {fileName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string WriteAssemblyDefinition(string path)
|
public static string WriteAssemblyDefinition(string path, string filename = "")
|
||||||
{
|
{
|
||||||
var filename = Path.GetFileNameWithoutExtension(path);
|
filename = filename != string.Empty
|
||||||
var strippedPath = Path.GetDirectoryName(filename);
|
? filename
|
||||||
|
: Path.GetFileNameWithoutExtension(path) + "-Remapped.dll";
|
||||||
|
|
||||||
filename = $"{filename}-Remapped.dll";
|
var strippedPath = Path.GetDirectoryName(path);
|
||||||
|
|
||||||
var remappedPath = Path.Combine(strippedPath, filename);
|
var remappedPath = Path.Combine(strippedPath!, filename);
|
||||||
|
|
||||||
AssemblyDefinition.Write(remappedPath);
|
AssemblyDefinition.Write(remappedPath);
|
||||||
|
|
||||||
|
Logger.Log($"Writing Assembly {filename} to path {remappedPath}");
|
||||||
|
|
||||||
return remappedPath;
|
return remappedPath;
|
||||||
}
|
}
|
||||||
}
|
}
|
22
RecodeItLib/Utils/HashUtil.cs
Normal file
22
RecodeItLib/Utils/HashUtil.cs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
using System.Security.Cryptography;
|
||||||
|
|
||||||
|
namespace ReCodeIt.Utils;
|
||||||
|
|
||||||
|
internal static class HashUtil
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Create a file hash from an inputed file
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="filePath"></param>
|
||||||
|
/// <returns>A file hash</returns>
|
||||||
|
public static string GetFileHash(string filePath)
|
||||||
|
{
|
||||||
|
using var sha256 = SHA256.Create();
|
||||||
|
using var stream = File.OpenRead(filePath);
|
||||||
|
|
||||||
|
byte[] hashBytes = sha256.ComputeHash(stream);
|
||||||
|
|
||||||
|
var hash = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant();
|
||||||
|
return hash;
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace ReCodeItLib.Utils;
|
namespace ReCodeIt.Utils;
|
||||||
|
|
||||||
internal static class StringExtentions
|
internal static class StringExtentions
|
||||||
{
|
{
|
||||||
|
@ -65,10 +65,10 @@
|
|||||||
"MethodParamaterBlackList": [ // method parameter names to ignore in the automap, these are case sanitized so case does not matter
|
"MethodParamaterBlackList": [ // method parameter names to ignore in the automap, these are case sanitized so case does not matter
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"CrossPatching": {
|
"CrossCompiler": {
|
||||||
"OriginalAssemblyPath": "G:\\3.8.0 - Dev\\EscapeFromTarkov_Data\\Managed\\Assembly-CSharp.dll", // INPUT: The path to the original assembly to use as a reference, for unity games its 'Assembly-CSharp.dll' from the games Data/Managed Folder
|
"OriginalAssemblyPath": "G:\\3.8.0 - Dev\\EscapeFromTarkov_Data\\Managed\\Assembly-CSharp.dll", // INPUT: The path to the original assembly to use as a reference, for unity games its 'Assembly-CSharp.dll' from the games Data/Managed Folder
|
||||||
"RemappedOutput": "G:\\development\\SPT-MODS\\StashSearch\\dependencies\\Assembly-CSharp.dll", // OUTPUT: The output path of the remapped assembly
|
"RemappedOutput": "G:\\development\\SPT-MODS\\StashSearch\\dependencies\\Assembly-CSharp.dll", // OUTPUT: The output path of the remapped assembly
|
||||||
"ReversePatchInputPath": "G:\\development\\SPT-MODS\\StashSearch\\StashSearch\\bin\\Debug\\net472\\StashSearch.dll", // INPUT: The input path of the assembly referenced by the remapped dll
|
"VisualStudioSolutionDirectory": "G:\\development\\SPT-MODS\\StashSearch", // INPUT: This is your solution directory of the project
|
||||||
"ReversePatchOutputPath": "G:\\3.8.0 - Dev\\BepInEx\\Plugins\\StashSearch\\StashSearch.dll" // OUTPUT/TEST/PROD: Where should the de-patched dll be placed? (This is the one you test/distribute with)
|
"BuildDirectory": "G:\\development\\SPT-MODS\\StashSearch\\Build" // OUTPUT/TEST/PROD: This is the final build location of your dll
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user