diff --git a/Il2CppInspector.Common/Cpp/CppDeclarationGenerator.cs b/Il2CppInspector.Common/Cpp/CppDeclarationGenerator.cs index c84188e..cb6b9c3 100644 --- a/Il2CppInspector.Common/Cpp/CppDeclarationGenerator.cs +++ b/Il2CppInspector.Common/Cpp/CppDeclarationGenerator.cs @@ -24,7 +24,7 @@ namespace Il2CppInspector.Cpp private CppTypeCollection types => appModel.CppTypeCollection; // Word size (32/64-bit) for this generator - public int WordSize => appModel.WordSize; + public int WordSize => appModel.WordSizeBits; // Version number and header file to generate structures for public UnityVersion UnityVersion => appModel.UnityVersion; diff --git a/Il2CppInspector.Common/IL2CPP/Il2CppInspector.cs b/Il2CppInspector.Common/IL2CPP/Il2CppInspector.cs index e7578ce..2f09665 100644 --- a/Il2CppInspector.Common/IL2CPP/Il2CppInspector.cs +++ b/Il2CppInspector.Common/IL2CPP/Il2CppInspector.cs @@ -274,6 +274,7 @@ namespace Il2CppInspector } // Get sorted list of function pointers from all sources + // TODO: This does not include IL2CPP API functions var sortedFunctionPointers = (Version <= 24.1)? Binary.GlobalMethodPointers.ToList() : Binary.ModuleMethodPointers.SelectMany(module => module.Value).ToList(); diff --git a/Il2CppInspector.Common/Model/AppModel.cs b/Il2CppInspector.Common/Model/AppModel.cs index 4d0ceb6..42b9938 100644 --- a/Il2CppInspector.Common/Model/AppModel.cs +++ b/Il2CppInspector.Common/Model/AppModel.cs @@ -76,7 +76,10 @@ namespace Il2CppInspector.Model // Convenience properties // The word size of the binary in bits - public int WordSize => Image.Bits; + public int WordSizeBits => Image.Bits; + + // The word size of the binary in bytes + public int WordSizeBytes => WordSizeBits / 8; // The binary image public IFileFormatReader Image => Package.BinaryImage; @@ -317,7 +320,7 @@ namespace Il2CppInspector.Model // Il2CppMethodPointer methodPtr; // const MethodInfo* method; var offsetIntoVTable = offset - GetVTableOffset(); - var vidSize = WordSize == 32? 8 : 16; + var vidSize = WordSizeBits == 32? 8 : 16; return offsetIntoVTable / vidSize; } } diff --git a/Il2CppInspector.Common/Outputs/CppScaffolding.cs b/Il2CppInspector.Common/Outputs/CppScaffolding.cs index b02eb66..b1bdce1 100644 --- a/Il2CppInspector.Common/Outputs/CppScaffolding.cs +++ b/Il2CppInspector.Common/Outputs/CppScaffolding.cs @@ -53,7 +53,7 @@ typedef size_t uintptr_t; "); writeSectionHeader("IL2CPP internal types"); - writeCode(model.UnityHeaders.GetTypeHeaderText(model.WordSize)); + writeCode(model.UnityHeaders.GetTypeHeaderText(model.WordSizeBits)); // Stop MSVC complaining about out-of-bounds enum values if (model.TargetCompiler == CppCompilerType.MSVC)