brzeszczot

brzeszczot.git
git clone git://git.lenczewski.org/brzeszczot.git
Log | Files | Refs

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 }