C++: Output *__TypeInfo double-indirected to avoid having to call init_il2cpp() repeatedly

This commit is contained in:
Katy Coe
2020-09-09 17:49:05 +02:00
parent d81cf7fef6
commit 2c5e34c724
2 changed files with 9 additions and 6 deletions

View File

@@ -314,6 +314,7 @@ void Run()
<ClInclude Include="appdata\il2cpp-api-functions.h" />
<ClInclude Include="appdata\il2cpp-api-functions-ptr.h" />
<ClInclude Include="appdata\il2cpp-functions.h" />
<ClInclude Include="appdata\il2cpp-metadata-version.h" />
<ClInclude Include="appdata\il2cpp-types-ptr.h" />
<ClInclude Include="appdata\il2cpp-types.h" />
<ClInclude Include="framework\helpers.h" />
@@ -1180,7 +1181,7 @@ namespace app {
#undef DO_APP_FUNC
// TypeInfo pointers
#define DO_TYPEDEF(a, n) extern n ## __Class* n ## __TypeInfo
#define DO_TYPEDEF(a, n) extern n ## __Class** n ## __TypeInfo
namespace app {
#include "il2cpp-types-ptr.h"
}
@@ -1209,7 +1210,7 @@ namespace app {
#undef DO_APP_FUNC
// TypeInfo pointers
#define DO_TYPEDEF(a, n) n ## __Class* n ## __TypeInfo
#define DO_TYPEDEF(a, n) n ## __Class** n ## __TypeInfo
namespace app {
#include "il2cpp-types-ptr.h"
}
@@ -1234,7 +1235,7 @@ void init_il2cpp()
#undef DO_APP_FUNC
// Define TypeInfo variables
#define DO_TYPEDEF(a, n) n ## __TypeInfo = *(n ## __Class**) (baseAddress + a);
#define DO_TYPEDEF(a, n) n ## __TypeInfo = (n ## __Class**) (baseAddress + a);
#include "il2cpp-types-ptr.h"
#undef DO_TYPEDEF
}</value>
@@ -1303,6 +1304,9 @@ void Run();</value>
&lt;ClInclude Include="appdata\il2cpp-functions.h"&gt;
&lt;Filter&gt;appdata&lt;/Filter&gt;
&lt;/ClInclude&gt;
&lt;ClInclude Include="appdata\il2cpp-metadata-version.h"&gt;
&lt;Filter&gt;appdata&lt;/Filter&gt;
&lt;/ClInclude&gt;
&lt;ClInclude Include="appdata\il2cpp-types.h"&gt;
&lt;Filter&gt;appdata&lt;/Filter&gt;
&lt;/ClInclude&gt;