about summary refs log tree commit diff
path: root/src/engine/e_datafile.h
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-15 10:24:49 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2007-12-15 10:24:49 +0000
commita2566b3ebd93e0bbc55a920a7be08054a9377f11 (patch)
tree44a4612805d894168fe4b3b4c065fccc1a1686e9 /src/engine/e_datafile.h
parentac9873056aa1fe529b098f19ff31e9ffa0e016a2 (diff)
downloadzcatch-a2566b3ebd93e0bbc55a920a7be08054a9377f11.tar.gz
zcatch-a2566b3ebd93e0bbc55a920a7be08054a9377f11.zip
cleaned up code structure a bit
Diffstat (limited to 'src/engine/e_datafile.h')
-rw-r--r--src/engine/e_datafile.h27
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);