diff options
Diffstat (limited to 'src/engine/e_datafile.h')
| -rw-r--r-- | src/engine/e_datafile.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/engine/e_datafile.h b/src/engine/e_datafile.h new file mode 100644 index 00000000..7cc7b209 --- /dev/null +++ b/src/engine/e_datafile.h @@ -0,0 +1,27 @@ +/* copyright (c) 2007 magnus auvinen, see licence.txt for more info */ + +/* raw datafile access */ +typedef struct DATAFILE_t DATAFILE; + +/* read access */ +DATAFILE *datafile_load(const char *filename); +DATAFILE *datafile_load_old(const char *filename); +void *datafile_get_data(DATAFILE *df, int index); +int datafile_get_datasize(DATAFILE *df, int index); +void datafile_unload_data(DATAFILE *df, int index); +void *datafile_get_item(DATAFILE *df, int index, int *type, int *id); +int datafile_get_itemsize(DATAFILE *df, int index); +void datafile_get_type(DATAFILE *df, int type, int *start, int *num); +void *datafile_find_item(DATAFILE *df, int type, int id); +int datafile_num_items(DATAFILE *df); +int datafile_num_data(DATAFILE *df); +void datafile_unload(DATAFILE *df); + +int datafile_crc(const char *filename); + +/* write access */ +typedef struct DATAFILE_OUT_t DATAFILE_OUT; +DATAFILE_OUT *datafile_create(const char *filename); +int datafile_add_data(DATAFILE_OUT *df, int size, void *data); +int datafile_add_item(DATAFILE_OUT *df, int type, int id, int size, void *data); +int datafile_finish(DATAFILE_OUT *df); |