@@ -8,7 +8,7 @@ namespace REX::W32
88
99 struct RTTIClassHierarchyDescriptor ;
1010
11- struct RTTIBaseClassDescriptor2
11+ struct RTTIBaseClassDescriptor
1212 {
1313 enum class Attribute : std::uint32_t
1414 {
@@ -29,22 +29,16 @@ namespace REX::W32
2929 std::int32_t pDisp; // 0x04
3030 std::int32_t vDisp; // 0x08
3131 };
32- static_assert (sizeof (PMD) == 0xC );
32+ static_assert (sizeof (PMD) == 0x0C );
3333
3434 // members
35- RTTITypeDescriptor* typeDescriptor; // 0x00
36- std::uint32_t numContainedBases; // 0x08
37- PMD where; // 0x0C
38- TEnumSet<Attribute> attributes; // 0x18
39- const RTTIClassHierarchyDescriptor* classDescriptor; // 0x1C
35+ std:: uint32_t typeDescriptor; // 0x00
36+ std::uint32_t numContainedBases; // 0x04
37+ PMD where; // 0x08
38+ TEnumSet<Attribute> attributes; // 0x14
39+ std:: uint32_t classDescriptor; // 0x18
4040 };
41- static_assert (sizeof (RTTIBaseClassDescriptor2) == 0x28 );
42-
43- struct RTTIBaseClassArray
44- {
45- const RTTIBaseClassDescriptor2* arrayOfBaseClassDescriptors[];
46- };
47- static_assert (sizeof (RTTIBaseClassArray) == 0x8 );
41+ static_assert (sizeof (RTTIBaseClassDescriptor) == 0x1C );
4842
4943 struct RTTIClassHierarchyDescriptor
5044 {
@@ -57,28 +51,22 @@ namespace REX::W32
5751 };
5852
5953 // members
60- std::uint32_t signature; // 0x00
61- TEnumSet<Attribute> attributes; // 0x04
62- std::uint32_t numBaseClasses; // 0x08
63- const RTTIBaseClassDescriptor2* baseClassArray; // 0x10
54+ std::uint32_t signature; // 0x00
55+ TEnumSet<Attribute> attributes; // 0x04
56+ std::uint32_t numBaseClasses; // 0x08
57+ std:: uint32_t baseClassArray; // 0x0C
6458 };
65- static_assert (sizeof (RTTIClassHierarchyDescriptor) == 0x18 );
59+ static_assert (sizeof (RTTIClassHierarchyDescriptor) == 0x10 );
6660
6761 struct RTTICompleteObjectLocator
6862 {
69- enum class Signature : std::uint32_t
70- {
71- x86 = 0 ,
72- x64 = 1
73- };
74-
7563 // members
76- Signature signature; // 0x00
64+ std:: uint32_t signature; // 0x00
7765 std::uint32_t offset; // 0x04
78- std::uint32_t ctorDispOffset; // 0x08
79- RTTITypeDescriptor* typeDescriptor; // 0x10
80- const RTTIClassHierarchyDescriptor* classDescriptor; // 0x18
81- const RTTICompleteObjectLocator* self; // 0x20
66+ std::uint32_t cdOffset; // 0x08
67+ std:: uint32_t typeDescriptor; // 0x0C
68+ std:: uint32_t classDescriptor; // 0x10
69+ std:: uint32_t self; // 0x14
8270 };
83- static_assert (sizeof (RTTICompleteObjectLocator) == 0x28 );
71+ static_assert (sizeof (RTTICompleteObjectLocator) == 0x18 );
8472}
0 commit comments