updated readme
[andemo] / src / demosys.h
index abbc154..11ec714 100644 (file)
@@ -21,20 +21,37 @@ struct demoscreen {
        void (*motion)(int x, int y);
 
        struct anm_track track;
-       int active, prio;
+       long start_time;
+       int prio;
        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 */
+struct demoevent {
+       char *name;
+       struct anm_track track;
+       float value;
+       struct demoscreen *scr;
+};
 
 #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;
+
+       struct demoscreen *scr_override;
+
+       void *trackmap;
+       struct demoevent *ev;
+       int num_ev;
+};
+
+struct demosystem dsys;
 
 
 int dsys_init(const char *fname);
@@ -55,4 +72,9 @@ void dsys_run_screen(struct demoscreen *scr);
 
 int dsys_add_screen(struct demoscreen *scr);
 
+/* demo event tracks */
+int dsys_add_event(const char *name);
+int dsys_find_event(const char *name);
+float dsys_value(const char *name);
+
 #endif /* DEMOSYS_H_ */