diff options
| author | johannes <johannes.herman@gmail.com> | 2024-02-07 15:09:19 +0100 |
|---|---|---|
| committer | johannes <johannes.herman@gmail.com> | 2024-02-07 15:09:19 +0100 |
| commit | 116de038d3d024232d3640f499a8fb21f1c557fd (patch) | |
| tree | 7c0390a03e79d6359d1109f94915b1acb5478ae4 | |
| parent | d67c36c7b8457a78f2a0080fd79b062f6c9142c7 (diff) | |
finished writedemotick
| -rw-r--r-- | src/demo.c | 37 |
1 files changed, 23 insertions, 14 deletions
@@ -113,9 +113,13 @@ int readdemotick(FILE *fp, char chunkhead, demotick *tick, unsigned char ver) else { if ((chunkhead & CHUNK_TICK_DELTA_V3_MASK) != 0) + { tick->delta = (chunkhead & CHUNK_TICK_DELTA_V3_MASK); + tick->innline = 1; + } else { + tick->innline = 0; unsigned char tickdelta[4]; fread(tickdelta, 1, 4, fp); tick->delta = frombigendian(tickdelta); @@ -369,28 +373,33 @@ int writedemomap(FILE *fp, demomap *dm, int mapsize, unsigned char ver) return 1; } +// TODO add erro checking int writedemotick(FILE *fp, demotick *tick, unsigned char ver) { unsigned char header = CHUNK_TICK_MASK; header |= tick->keyframe << 6; if (ver >= 5) - { header |= tick->innline << 5; - if (tick->innline) - { - header |= tick->delta; - fwrite(&header, 1, 1, fp); - } - else - { - fwrite(&header, 1, 1, fp); - unsigned char intbuf[4]; - tobigendian(tick->delta, intbuf); - fwrite(intbuf, 4, 1, fp); - } + + if (tick->innline) + { + header |= tick->delta; + fwrite(&header, 1, 1, fp); + } + else + { + fwrite(&header, 1, 1, fp); + unsigned char intbuf[4]; + tobigendian(tick->delta, intbuf); + fwrite(intbuf, 4, 1, fp); } + // printf("%2X\n", header); - printf("%2X\n", header); + return 1; +} +int writedemosnap(FILE *fp, demosnap *snap, unsigned char ver) +{ + return 1; } |
