X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fdemosys.h;h=717ac4ec03cc15c3463d669391325e5a52916615;hb=295b86a1a8efdfe4fb0d9dba6152eb956441603c;hp=abbc1548ff61309d45e38dcf7ffa947febda644f;hpb=313480bbe9994a200ed9a4355d97a033bf0d6151;p=andemo diff --git a/src/demosys.h b/src/demosys.h index abbc154..717ac4e 100644 --- a/src/demosys.h +++ b/src/demosys.h @@ -25,16 +25,24 @@ struct demoscreen { float vis; }; -/* global demo state */ -int dsys_running; /* run/stop state */ -int dsys_eof; /* end of demo flag, seek back to reset */ -long dsys_time; /* demo time in milliseconds */ - #define MAX_DSYS_SCREENS 64 -struct demoscreen *dsys_screens[MAX_DSYS_SCREENS]; -int dsys_num_screens; -struct demoscreen *dsys_act[MAX_DSYS_SCREENS]; -int dsys_num_act; +struct demosystem { + int running; /* run/stop state */ + int eof; /* end of demo flag, seek back to reset */ + long tmsec; + + struct demoscreen *screens[MAX_DSYS_SCREENS]; + int num_screens; + struct demoscreen *act[MAX_DSYS_SCREENS]; + int num_act; + + void *trackmap; + struct anm_track *track; + float *value; /* values for each track, stored on update */ + int num_tracks; +}; + +struct demosystem dsys; int dsys_init(const char *fname); @@ -55,4 +63,9 @@ void dsys_run_screen(struct demoscreen *scr); int dsys_add_screen(struct demoscreen *scr); +/* demo event tracks */ +int dsys_add_track(const char *name); +int dsys_find_track(const char *name); +float dsys_value(const char *name); + #endif /* DEMOSYS_H_ */