Commit Graph

778 Commits

Author SHA1 Message Date
Katy Coe
cd75d5e877 C++: Add 'Sleep' as a reserved keyword 2020-07-24 17:40:30 +02:00
Katy Coe
d09d53cc67 Tests: Target MSVC for C++ projects 2020-07-24 17:24:37 +02:00
Katy Coe
44a5fe009a C++: Output il2cpp-api-functions.h with unavailable exports elided 2020-07-24 17:20:37 +02:00
Katy Coe
9966af0e73 AppModel: Prefer the latest Unity header versions instead of the earliest 2020-07-24 17:01:55 +02:00
Katy Coe
8bb40d98b2 Unity: Try really hard to find the best IL2CPP API header match for the binary 2020-07-24 17:01:13 +02:00
Katy Coe
e0a6c8746e AppModel: Only populate API exports existing in both the binary and selected API header 2020-07-24 16:32:34 +02:00
Katy Coe
336648e8bf C++: Enums with default underlying type did not respect 32/64-bit architecture size 2020-07-24 16:23:36 +02:00
Katy Coe
7e9c6b1ee0 AppModel: Implement APIExports with CppFnPtrType 2020-07-23 02:28:18 +02:00
Katy Coe
deeb8daa97 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
2020-07-22 19:01:33 +02:00
Katy Coe
53909c539c C++: Improve parsing of #defines, #ifdefs, #ifs, function pointers 2020-07-21 16:20:44 +02:00
Katy Coe
3fd97649e6 IL2CPP: Ignore API exports starting "il2cpp_z_" 2020-07-21 16:19:47 +02:00
Katy Coe
2f3b0d7276 AppModel/IDA: Typed MethodInvokers for 5.3.0-5.6.7 don't use Il2CppMethodPointer 2020-07-20 22:48:40 +02:00
Katy Coe
a4d3ae8dc9 Tests: Update expected results 2020-07-20 20:19:33 +02:00
Katy Coe
64fbee92b0 Tests: Fix copy il2cpp-types.h from wrong location in update-expected-results.ps1 2020-07-20 20:18:45 +02:00
Katy Coe
83e94ebf28 Unity: Fix missing VirtualInvokeData for 5.3.6-5.4.6 2020-07-20 18:56:32 +02:00
Katy Coe
e37de64839 AppModel/C++: Fix regression in handling of C# primitive pointer types 2020-07-20 18:15:41 +02:00
Katy Coe
58309b9943 Tests: Provide more detailed mismatch reporting in TestRunner 2020-07-20 17:12:55 +02:00
Katy Coe
4d45d99a8c Include Il2CppAPIHeaders\* as embedded resources 2020-07-20 17:09:46 +02:00
Katy Coe
ccb401bb12 IL2CPP: Add Binary.GetAPIExports() 2020-07-20 17:09:19 +02:00
Katy Coe
8cd2d4ff4a Unity: Add version range CompareTo, Intersect and handle no version upper bound 2020-07-20 17:06:25 +02:00
Katy Coe
63137e8859 FileFormatReader: Add TryMapVATR 2020-07-20 17:05:21 +02:00
Katy Coe
ea91c2b4ec Extract assembly resource management from UnityHeader to ResourceHelper 2020-07-20 07:05:20 +02:00
Katy Coe
964685e44a Extract Unity version range management from UnityHeader to UnityVersionRange 2020-07-20 06:39:29 +02:00
Katy Coe
e7d3600f67 Include all Unity il2cpp-api-functions.h versions 2020-07-19 21:27:29 +02:00
Katy Coe
4cb7f50f13 Update Unity header generation support to latest 2020-07-19 21:26:52 +02:00
Katy Coe
9e4c4ca7be Update UX and README.md 2020-07-19 16:57:42 +02:00
Katy Coe
386a666fff C++: Output DLL injection boilerplate project 2020-07-19 15:44:26 +02:00
Katy Coe
071b1efa67 C++: Generate Il2CppClass definitions for enum and array types 2020-07-19 15:43:50 +02:00
Katy Coe
f7d2dd6e2d C++: Output method pointers and signatures 2020-07-18 21:47:33 +02:00
Katy Coe
81f12b3e5b AppModel: Fix crash bug when building multiple times 2020-07-18 21:23:34 +02:00
Katy Coe
6d50ab7546 C++: Output Il2CppClass* (TypeInfo) pointers 2020-07-18 21:23:23 +02:00
Katy Coe
7124149fef C++: Output IL2CPP API function pointers 2020-07-18 19:47:45 +02:00
Katy Coe
a2f6c3c5b6 PE: Fix offset bug in export table generation 2020-07-18 19:45:34 +02:00
Katy Coe
632d1d2d9b C++: Generate output in a folder 2020-07-18 19:18:08 +02:00
Katy Coe
e74663a2ba MachO: Add ability to fetch exports with GetExports() 2020-07-18 19:05:15 +02:00
Katy Coe
67b979cd05 ELF: Add ability to fetch exports with GetExports() 2020-07-18 16:07:59 +02:00
Katy Coe
7209fa74a5 IL2CPP: Remove unused Metadata.MetadataUsages property 2020-07-18 05:05:35 +02:00
Katy Coe
43085eb6f2 Tests: Update expected results 2020-07-18 04:56:32 +02:00
Katy Coe
f5e5037a9b AppModel: Add AppType.Name 2020-07-18 03:54:54 +02:00
Katy Coe
307cf29dcd C++: Re-factor custom attribute generator signature handling 2020-07-18 03:33:33 +02:00
Katy Coe
2b1aff5bd1 C++: Preserve function name in CppFnPtrType.FromSignature 2020-07-18 03:32:23 +02:00
Katy Coe
d1501db903 IDA: Produced typed RuntimeInvoker methods 2020-07-17 04:29:38 +02:00
Katy Coe
fc313de0b2 IDA: Produce typed CustomAttributesCacheGenerator methods 2020-07-17 03:23:15 +02:00
Katy Coe
bbfd370f49 AppModel: Add custom attribute generators 2020-07-16 17:16:23 +02:00
Katy Coe
8bcdadd7b4 IDA: Tidy up output ordering and titling 2020-07-16 14:43:04 +02:00
Katy Coe
0808fe966a AppModel: IDA output integration; item groups 2020-07-16 12:37:39 +02:00
Katy Coe
f41fd74baa AppModel: Include string literals for il2cpp versions < 19 2020-07-14 17:00:12 +02:00
Katy Coe
ef043383fc AppModel: Handle .NET unmapped pointer type definitions 2020-07-14 16:56:30 +02:00
Katy Coe
b9612676ed AppModel: Include string literals in model 2020-07-13 20:23:07 +02:00
Katy Coe
6e796a200f AppModel: Generate composite type mappings 2020-07-13 19:52:04 +02:00