wad_printer.c (1032B)
1 #include "libriot/wad.h" 2 3 static void 4 riot_wad_chunk_print(struct riot_wad_chunk *chunk, FILE *f); 5 6 void 7 riot_wad_print(struct riot_wad_ctx *ctx, FILE *f) { 8 assert(ctx); 9 assert(f); 10 11 fprintf(f, "WAD version %u.%u\n", ctx->wad.major, ctx->wad.minor); 12 fprintf(f, "WAD chunks: %u\n", ctx->wad.chunk_count); 13 14 for (u32 i = 0; i < ctx->wad.chunk_count; i++) { 15 struct riot_wad_chunk *chunk = ((struct riot_wad_chunk *)ctx->chunk_pool.ptr) + i; 16 fprintf(f, "\t"); 17 riot_wad_chunk_print(chunk, f); 18 fprintf(f, "\n"); 19 } 20 21 fflush(f); 22 } 23 24 static void 25 riot_wad_chunk_print(struct riot_wad_chunk *chunk, FILE *f) { 26 assert(chunk); 27 assert(f); 28 29 fprintf(f, "WADChunk(path_hash=0x%08lx,data_offset=0x%08lx,compressed_size=%lu,decompressed_size=%lu,compression=%u,duplicated=%u,sub_chunk_count=%u,sub_chunk_start=%u,checksum=0x%08lx)", 30 chunk->path_hash, chunk->data_offset, chunk->compressed_size, 31 chunk->decompressed_size, chunk->compression, chunk->duplicated, 32 chunk->sub_chunk_count, chunk->sub_chunk_start, chunk->checksum); 33 }