Get class member list. Not sure what the 5 uints are yet;
This commit is contained in:
@ -202,7 +202,7 @@ static void ParseBuffer(BinaryReader& reader)
|
|||||||
uint32 type_block_size = reader.read<uint32>(0); // 0x02f4
|
uint32 type_block_size = reader.read<uint32>(0); // 0x02f4
|
||||||
std::string typelist = reader.read_string();
|
std::string typelist = reader.read_string();
|
||||||
uint32 type_count = reader.read<uint32>(0); // 0x1A?std::vector<type_info_t> types;
|
uint32 type_count = reader.read<uint32>(0); // 0x1A?std::vector<type_info_t> types;
|
||||||
printf("\nType List (%u total types)...\n", type_count);
|
printf("\n======\nType List (%u total types)...\n", type_count);
|
||||||
|
|
||||||
std::vector<type_info_t> types;
|
std::vector<type_info_t> types;
|
||||||
for (uint32 i = 0; i < type_count; ++i) {
|
for (uint32 i = 0; i < type_count; ++i) {
|
||||||
@ -223,12 +223,12 @@ static void ParseBuffer(BinaryReader& reader)
|
|||||||
std::string classlist = reader.read_string();
|
std::string classlist = reader.read_string();
|
||||||
uint32 class_count = reader.read<uint32>(0);
|
uint32 class_count = reader.read<uint32>(0);
|
||||||
|
|
||||||
printf("\nClass List (%u total classes)...\n", class_count);
|
printf("\n======\nClass List (%u total classes)...\n", class_count);
|
||||||
for (uint32 i = 0; i < class_count; ++i) {
|
for (uint32 i = 0; i < class_count; ++i) {
|
||||||
uint32 class_size = reader.read<uint32>(0); // to skip to end of this class
|
uint32 class_size = reader.read<uint32>(0); // to skip to end of this class
|
||||||
std::string class_id = reader.read_string(); // "Class"
|
std::string class_id = reader.read_string(); // "Class"
|
||||||
std::string class_name = reader.read_string();
|
std::string class_name = reader.read_string();
|
||||||
printf("> Class: %s\n:", class_name.c_str());
|
printf("\n> Class: %s\n:", class_name.c_str());
|
||||||
|
|
||||||
uint32 some_count = reader.read<uint32>(0);
|
uint32 some_count = reader.read<uint32>(0);
|
||||||
std::string ver_str = reader.read_string(); // "Version"
|
std::string ver_str = reader.read_string(); // "Version"
|
||||||
@ -243,7 +243,7 @@ static void ParseBuffer(BinaryReader& reader)
|
|||||||
|
|
||||||
for (uint32 mi = 0; mi < mem_count; ++mi) {
|
for (uint32 mi = 0; mi < mem_count; ++mi) {
|
||||||
uint32 type_idx = reader.read<uint32>(0); // 0x02 ?
|
uint32 type_idx = reader.read<uint32>(0); // 0x02 ?
|
||||||
type_info_t const& type = types[mi];
|
type_info_t const& type = types[type_idx];
|
||||||
|
|
||||||
std::string mem_name = reader.read_string();
|
std::string mem_name = reader.read_string();
|
||||||
printf(">> %s : %s;\n", mem_name.c_str(), type.name.c_str());
|
printf(">> %s : %s;\n", mem_name.c_str(), type.name.c_str());
|
||||||
@ -257,12 +257,19 @@ static void ParseBuffer(BinaryReader& reader)
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
uint32 const STOP_VALUE = 0x80'00'00'00;
|
uint32 const STOP_VALUE = 0x80'00'00'00;
|
||||||
uint32 val = reader.read<uint32>(STOP_VALUE);
|
uint32 val = reader.read<uint32>(STOP_VALUE);
|
||||||
while (val != STOP_VALUE) {
|
while (val != STOP_VALUE) {
|
||||||
val = reader.read<uint32>(STOP_VALUE);
|
val = reader.read<uint32>(STOP_VALUE);
|
||||||
}
|
}
|
||||||
reader.skip(8); // usually (0, 0), or (0, -1)
|
*/
|
||||||
|
|
||||||
|
uint32 v0 = reader.read<uint32>(0);
|
||||||
|
uint32 v1 = reader.read<uint32>(0);
|
||||||
|
uint32 v2 = reader.read<uint32>(0);
|
||||||
|
uint32 v3 = reader.read<uint32>(0);
|
||||||
|
uint32 v4 = reader.read<uint32>(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user