Since this project has been detached from the original fork, it makes sense to introduce a major code clean up. Further, to avoid confusion in API and feature differences between this tool and the original Il2CppAssemblyUnhollower, it makes sense to rename the project altogether and restart the versioning.
After some deliberation between BepInEx core and plugin developers, Il2CppInterop was chosen as the new name for the project. The name reflects the project's purpose as a collection of general-purpose tools for interoperability between .NET and Il2Cpp.
TODOs:
[x] Rename and retarget all projects
[x] Remove obsolete projects (BaseLib and PdbGen)
[x] Add a project for automatically generating C# struct wrappers from libil2cpp
Can we turn it into a source generator?
[x] Add support for CoreCLR-compatible wrapper generation
[x] Remove Generator's dependency on Runtime library and the BCL
Added initial hack for this, but should be done via source generator
[x] Remove all obsoleted functions and classes
[x] Clean up CLI (add subcommands for each output type, clean up argument names)
[x] New API interface
[x] Generate interop assemblies
[x] Generate deobfuscation maps
[x] Analyse deobfuscation performance
[x] Generate C# struct wrappers for libil2cpp
[x] Add proper initializer and logger support (maybe using IBuilder-like API)
[x] Move BepInEx Harmony Il2Cpp backend to this project
Since this project has been detached from the original fork, it makes sense to introduce a major code clean up. Further, to avoid confusion in API and feature differences between this tool and the original Il2CppAssemblyUnhollower, it makes sense to rename the project altogether and restart the versioning.
After some deliberation between BepInEx core and plugin developers, Il2CppInterop was chosen as the new name for the project. The name reflects the project's purpose as a collection of general-purpose tools for interoperability between .NET and Il2Cpp.
TODOs:
IBuilder
-like API)