CLI/GUI: Add shim DLL output support

This commit is contained in:
Katy Coe
2021-01-10 11:38:45 +01:00
parent a34ff5cc44
commit 7961fc6dab
4 changed files with 41 additions and 4 deletions

View File

@@ -71,7 +71,7 @@
<LineBreak/>
<Hyperlink NavigateUri="https://github.com/djkaty/Il2CppInspector" RequestNavigate="Hyperlink_OnRequestNavigate">Il2CppInspector on GitHub</Hyperlink><LineBreak/>
<Hyperlink NavigateUri="http://www.djkaty.com" RequestNavigate="Hyperlink_OnRequestNavigate">www.djkaty.com</Hyperlink><LineBreak/>
&#169; Katy Coe 2017-2020
&#169; Katy Coe 2017-2021
</TextBlock>
<!-- Image details view -->
@@ -345,6 +345,12 @@
<Separator Margin="5,15,5,15"/>
<!-- Assembly shim DLLs -->
<RadioButton GroupName="grpOutputType" Name="rdoOutputDll" VerticalContentAlignment="Center" FontSize="18" Foreground="{StaticResource MicrosoftGreen}">.NET assembly shim DLLs</RadioButton>
<TextBlock TextWrapping="WrapWithOverflow">No configuration required for assembly shims</TextBlock>
<Separator Margin="5,15,5,15"/>
<!-- Python script -->
<RadioButton GroupName="grpOutputType" Name="rdoOutputPy" VerticalContentAlignment="Center" FontSize="18" Foreground="{StaticResource MicrosoftGreen}">Python script for disassemblers</RadioButton>
<DockPanel>

View File

@@ -563,6 +563,26 @@ namespace Il2CppInspectorGUI
new JSONMetadata(model).Write(jsonOutFile);
});
break;
// .NET assembly shim DLLs
case { rdoOutputDll: var r } when r.IsChecked == true:
var dllSaveFolderDialog = new VistaFolderBrowserDialog {
Description = "Select save location",
UseDescriptionForTitle = true
};
if (dllSaveFolderDialog.ShowDialog() == false)
return;
var dllOutPath = dllSaveFolderDialog.SelectedPath;
areaBusyIndicator.Visibility = Visibility.Visible;
await Task.Run(() => {
OnStatusUpdate(this, "Generating .NET assembly shim DLLs");
new AssemblyShims(model.TypeModel).Write(dllOutPath, OnStatusUpdate);
});
break;
}
areaBusyIndicator.Visibility = Visibility.Hidden;