Mercurial > hg > dmlib
changeset 638:b22db2832f3e
Some work on the timeline code.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 15 Apr 2013 07:48:25 +0300 |
parents | 4defddd64ed2 |
children | 62f5861d332b |
files | dmengine.h dmtimeline.c dmtimelinew.c |
diffstat | 3 files changed, 16 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/dmengine.h Mon Apr 15 07:28:34 2013 +0300 +++ b/dmengine.h Mon Apr 15 07:48:25 2013 +0300 @@ -142,6 +142,7 @@ typedef struct { + Uint32 index, layer; char name[DT_MAX_NAME_LENGTH]; Uint8 enabled; Uint32 nevents; @@ -150,9 +151,10 @@ typedef struct { + int index; // Track index + int layer; // Target render layer (0 = engine.screen in software rendering) char *name; // Name of the timeline track BOOL enabled; // Enabled? - int layer; // Target render layer (0 = engine.screen in software rendering) int nevents, nallocated; // Number of events DMTimelineEvent **events; // Events
--- a/dmtimeline.c Mon Apr 15 07:28:34 2013 +0300 +++ b/dmtimeline.c Mon Apr 15 07:48:25 2013 +0300 @@ -196,11 +196,11 @@ if ((*ptrack = track = dmMalloc0(sizeof(DMTimelineTrack))) == NULL) return DMERR_MALLOC; - if (!dmf_read_str(res, &hdr.name, sizeof(hdr.name))) - return DMERR_FREAD; - - hdr.enabled = dmfgetc(res); - if (!dmf_read_le32(res, &hdr.nevents)) + if (!dmf_read_le32(res, &hdr.index) || + !dmf_read_le32(res, &hdr.layer) || + !dmf_read_str(res, &hdr.name, sizeof(hdr.name)) || + !dmf_read_byte(res, &hdr.enabled) || + !dmf_read_le32(res, &hdr.nevents)) return DMERR_FREAD; if (hdr.nevents >= 4096)
--- a/dmtimelinew.c Mon Apr 15 07:28:34 2013 +0300 +++ b/dmtimelinew.c Mon Apr 15 07:48:25 2013 +0300 @@ -72,7 +72,9 @@ { int err; - dmfputc(curve->enabled, res); + if (!dmf_write_byte(res, curve->enabled)) + return DMERR_FWRITE; + if ((err = dmSaveTimelinePoints(res, &(curve->points), EFPT_FLOAT)) != DMERR_OK) return err; @@ -149,14 +151,12 @@ DMFTimelineTrack hdr; strncpy(hdr.name, track->name, sizeof(hdr.name)); - hdr.enabled = track->enabled; - hdr.nevents = track->nevents; - if (!dmf_write_str(res, hdr.name, sizeof(hdr.name))) - return DMERR_FWRITE; - - dmfputc(hdr.enabled, res); - if (!dmf_write_le32(res, hdr.nevents)) + if (!dmf_write_le32(res, track->index) || + !dmf_write_le32(res, track->layer) || + !dmf_write_str(res, hdr.name, sizeof(hdr.name)) || + !dmf_write_byte(res, track->enabled) || + !dmf_write_le32(res, track->nevents)) return DMERR_FWRITE; for (event = 0; event < track->nevents; event++)