Unity/C++: Significant re-factoring of Unity header management (see description)
Extract resource handling to UnityResource Add API header resource helpers Fix UnityVersion ToString() when Min == Max Replace fixed list of Il2Cpp header reserved names with parsed names from actual selected headers (solves TypeInfo/MemberInfo problems in 5.3.0-5.3.4 (metadata v16-20)) Use CppDeclarationGenerator when initializing CppTypeCollection to ensure all Il2Cpp header symbols are reserved Process API headers in CppTypeCollection.FromUnityHeaders Move #define IS_32BIT handling to UnityHeaders Update tests
This commit is contained in:
@@ -37,7 +37,7 @@ namespace Il2CppInspector.Outputs
|
||||
|
||||
writeHeader();
|
||||
writeSectionHeader("IL2CPP internal types");
|
||||
writeCode(model.UnityHeaderText);
|
||||
writeCode(model.UnityHeaders.GetTypeHeaderText(model.WordSize));
|
||||
|
||||
writeCode("namespace app {");
|
||||
writeLine("");
|
||||
@@ -133,15 +133,10 @@ namespace Il2CppInspector.Outputs
|
||||
|
||||
private void writeHeader() {
|
||||
writeLine("// Generated C++ file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty");
|
||||
writeLine("// Target Unity version: " + model.UnityHeader);
|
||||
writeLine("// Target Unity version: " + model.UnityHeaders);
|
||||
writeLine("");
|
||||
}
|
||||
|
||||
private void writeUnityHeaders() {
|
||||
var prefix = (model.Package.BinaryImage.Bits == 32) ? "#define IS_32BIT\n" : "";
|
||||
writeCode(prefix + model.UnityHeader.GetHeaderText());
|
||||
}
|
||||
|
||||
private void writeTypesForGroup(string header, string group) {
|
||||
writeSectionHeader(header);
|
||||
foreach (var cppType in model.GetDependencyOrderedCppTypeGroup(group))
|
||||
|
||||
@@ -27,7 +27,7 @@ namespace Il2CppInspector.Outputs
|
||||
writer = new StreamWriter(fs, Encoding.UTF8);
|
||||
|
||||
writeLine("# Generated script file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty");
|
||||
writeLine("# Target Unity version: " + model.UnityHeader);
|
||||
writeLine("# Target Unity version: " + model.UnityHeaders);
|
||||
writeLine("print('Generated script file by Il2CppInspector - http://www.djkaty.com - https://github.com/djkaty')");
|
||||
writeSectionHeader("Preamble");
|
||||
writePreamble();
|
||||
@@ -84,7 +84,7 @@ typedef __int64 int64_t;
|
||||
|
||||
private void writeTypes() {
|
||||
writeSectionHeader("IL2CPP internal types");
|
||||
writeDecls(model.UnityHeaderText);
|
||||
writeDecls(model.UnityHeaders.GetTypeHeaderText(model.WordSize));
|
||||
|
||||
writeSectionHeader("Application types from method calls");
|
||||
writeTypes(model.GetDependencyOrderedCppTypeGroup("types_from_methods"));
|
||||
|
||||
Reference in New Issue
Block a user