about summary refs log tree commit diff
path: root/src/tools/map_resave.c
blob: 91ed09a15171df935f33e5dc5abf197c6a630dbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <engine/datafile.h>

int main(int argc, char **argv)
{
	int i, id, type, size;
	void *ptr;
	DATAFILE *df;
	DATAFILE_OUT *df_out;

	if(argc != 3)
		return -1;

	df = datafile_load(argv[1]);
	df_out = datafile_create(argv[2]);

	/* add all items */
	for(i = 0; i < datafile_num_items(df); i++)
	{
		ptr = datafile_get_item(df, i, &type, &id);
		size = datafile_get_itemsize(df, i);
		datafile_add_item(df_out, type, id, size, ptr);
	}

	/* add all data */
	for(i = 0; i < datafile_num_data(df); i++)
	{
		ptr = datafile_get_data(df, i);
		size = datafile_get_datasize(df, i);
		datafile_add_data(df_out, size, ptr);
	}

	datafile_unload(df);
	datafile_finish(df_out);
	return 0;
}