diff options
author | Iru Cai <mytbk920423@gmail.com> | 2018-09-29 22:19:33 +0800 |
---|---|---|
committer | Iru Cai <mytbk920423@gmail.com> | 2018-09-29 22:19:33 +0800 |
commit | 795f5da2fb3e361fe1f349fdb9a6cb593a26babc (patch) | |
tree | 252345c187f9fa11624d1cbaa03965a6d71bc8e7 /csrc/test/dump_data.c | |
parent | 61c80f9a54ba499b5897a43990b46cf9a67e60c0 (diff) | |
download | rich4-795f5da2fb3e361fe1f349fdb9a6cb593a26babc.tar.xz |
remove dump_* and use dump_data, add runtest.sh
Diffstat (limited to 'csrc/test/dump_data.c')
-rw-r--r-- | csrc/test/dump_data.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/csrc/test/dump_data.c b/csrc/test/dump_data.c new file mode 100644 index 0000000..2f19dd8 --- /dev/null +++ b/csrc/test/dump_data.c @@ -0,0 +1,42 @@ +/* gcc -m32 -DMKF_INFO=1 -I.. dump_data.c ../mkf.c ../mkf_decompress.c -o dump_data */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include "mkf.h" + +struct mkf +{ + FILE *handle; + void *data; +}; +int pixel_fmt = 1; +extern struct mkf mkf_stdata[]; +int mkf_nchunks(int idx); + +int main(int argc, char *argv[]) +{ + int mkf = load_mkf("Data.mkf"); + FILE *fp = mkf_stdata[mkf].handle; + int nchunks = mkf_nchunks(mkf); + int dump_smp = 1; + if (argc >= 2 && strcmp(argv[1], "--no-smp-spr") == 0) + dump_smp = 0; + + for (int i = 0; i < nchunks; i++) { + int sz; + char *data = read_mkf(mkf, i, NULL, &sz); + if ((strcmp(data, "SMP") == 0 || strcmp(data, "SPR") == 0) + && !dump_smp) { + free(data); + continue; + } + char fn[16]; + sprintf(fn, "%03d.data", i); + FILE *fp = fopen(fn, "wb"); + fwrite(data, 1, sz, fp); + fclose(fp); + free(data); + } + unload_mkf(mkf); +} |