summaryrefslogtreecommitdiff
path: root/inc/demo.h
diff options
context:
space:
mode:
authorjohannes <johannes.herman@gmail.com>2024-01-31 10:01:01 +0100
committerjohannes <johannes.herman@gmail.com>2024-01-31 10:01:01 +0100
commit1bdee2153953e23bf71f7a5e83145bb4d67db567 (patch)
tree878890b78170f9e72e09d89e92631b9b6f060fa1 /inc/demo.h
initial init, huffman and demoheader
Diffstat (limited to 'inc/demo.h')
-rw-r--r--inc/demo.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/inc/demo.h b/inc/demo.h
new file mode 100644
index 0000000..154a333
--- /dev/null
+++ b/inc/demo.h
@@ -0,0 +1,34 @@
+#ifndef DEMO_H
+#define DEMO_H
+
+#include <stdio.h>
+
+/* demoheader struct */
+typedef struct
+{
+ unsigned char version;
+ char netversion[64];
+ char mapname[64];
+ unsigned char mapsize[4]; // Big endian int
+ unsigned char mapcrc[4]; // Big endian int
+ char type[8];
+ unsigned char length[4]; // Big endian int
+ char timestamp[20];
+} demoheader;
+
+/* demotimeline struct, only contains the raw data */
+typedef struct
+{
+ char data[260];
+} demotimeline;
+
+/* Read demo header from demofile into given demoheader */
+/* Returns a positive number on success, negative on fail */
+int readdemoheader(FILE *demofile, demoheader *demoheader);
+
+/* Read demo timeline from demofile into given demoheader */
+/* Returns a positive number on success, negative on fail */
+/* Must have read the header from demofile beforehand */
+int readdemotimeline(FILE *demofile, demotimeline *demotimeline);
+
+#endif // DEMO_H \ No newline at end of file