improve display of .dat tables
This commit is contained in:
parent
7c3eb42da3
commit
750feb7167
59
quest_info.c
59
quest_info.c
|
@ -160,47 +160,56 @@ void display_info(uint8_t *bin_data, size_t bin_length, uint8_t *dat_data, size_
|
||||||
|
|
||||||
int table_index = 0;
|
int table_index = 0;
|
||||||
uint32_t offset = 0;
|
uint32_t offset = 0;
|
||||||
|
printf("Idx Size Table Type Area Count\n");
|
||||||
while (offset < decompressed_dat_length) {
|
while (offset < decompressed_dat_length) {
|
||||||
QUEST_DAT_TABLE_HEADER *table_header = (QUEST_DAT_TABLE_HEADER*)(decompressed_dat_data + offset);
|
QUEST_DAT_TABLE_HEADER *table_header = (QUEST_DAT_TABLE_HEADER*)(decompressed_dat_data + offset);
|
||||||
|
|
||||||
printf("Table index %d - ", table_index);
|
|
||||||
switch (table_header->type) {
|
switch (table_header->type) {
|
||||||
case 1:
|
case 1:
|
||||||
printf("Object\n");
|
printf("%3d %5d %-21s %-30s %5d",
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_index,
|
||||||
printf("area: %s (%d)\n", get_area_string(table_header->area, bin_header->episode), table_header->area);
|
table_header->table_body_size,
|
||||||
printf("object count: %d\n", table_header->table_body_size / 68);
|
"Object",
|
||||||
|
get_area_string(table_header->area, bin_header->episode),
|
||||||
|
table_header->table_body_size / 68);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
printf("NPC\n");
|
printf("%3d %5d %-21s %-30s %5d",
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_index,
|
||||||
printf("area: %s (%d)\n", get_area_string(table_header->area, bin_header->episode), table_header->area);
|
table_header->table_body_size,
|
||||||
printf("npc count: %d\n", table_header->table_body_size / 72);
|
"NPC",
|
||||||
|
get_area_string(table_header->area, bin_header->episode),
|
||||||
|
table_header->table_body_size / 72);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
printf("Wave\n");
|
printf("%3d %5d %-21s %-30s",
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_index,
|
||||||
printf("area: %s (%d)\n", get_area_string(table_header->area, bin_header->episode), table_header->area);
|
table_header->table_body_size,
|
||||||
|
"Wave",
|
||||||
|
get_area_string(table_header->area, bin_header->episode));
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
printf("Challenge Mode Spawn Points\n");
|
printf("%3d %5d %-21s %-30s",
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_index,
|
||||||
printf("area: %s (%d)\n", get_area_string(table_header->area, bin_header->episode), table_header->area);
|
table_header->table_body_size,
|
||||||
|
"Challenge Mode Spawns",
|
||||||
|
get_area_string(table_header->area, bin_header->episode));
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
printf("Challenge Mode (?)\n");
|
printf("%3d %5d %21s %30s",
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_index,
|
||||||
printf("area: %s (%d)\n", get_area_string(table_header->area, bin_header->episode), table_header->area);
|
table_header->table_body_size,
|
||||||
|
"Challenge Mode (?)",
|
||||||
|
get_area_string(table_header->area, bin_header->episode));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (table_header->type == 0 && table_header->table_size == 0 && table_header->area == 0 && table_header->table_body_size == 0)
|
if (table_header->type == 0 && table_header->table_size == 0 && table_header->area == 0 && table_header->table_body_size == 0)
|
||||||
printf("EOF marker\n");
|
printf("%3d %5d %-21s", table_index, 0, "EOF marker");
|
||||||
else {
|
else
|
||||||
printf("Unknown\n");
|
printf("%3d %5d Unknown (%d)",
|
||||||
printf("type: %d\n", table_header->type);
|
table_index,
|
||||||
printf("table_body_size: %d\n", table_header->table_body_size);
|
table_header->table_body_size,
|
||||||
printf("area: %d\n", table_header->area);
|
table_header->type);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
Loading…
Reference in a new issue