#define SUPERTUX_TIMER_H
/* Timer type */
-typedef struct timer_type
- {
- unsigned int period;
- unsigned int time;
- }
-timer_type;
+struct timer_type
+{
+ unsigned int period;
+ unsigned int time;
+ unsigned int (*get_ticks) (void);
+};
-unsigned int st_pause_ticks;
-unsigned int st_pause_count;
+extern unsigned int st_pause_ticks, st_pause_count;
unsigned int st_get_ticks(void);
void st_pause_ticks_init(void);
void st_pause_ticks_start(void);
void st_pause_ticks_stop(void);
-void timer_init(timer_type* ptimer);
+void timer_init(timer_type* ptimer, bool st_ticks);
void timer_start(timer_type* ptimer, unsigned int period);
void timer_stop(timer_type* ptimer);
/*======================================================================
======================================================================*/
int timer_get_left(timer_type* ptimer);
int timer_get_gone(timer_type* ptimer);
+void timer_fwrite(timer_type* ptimer, FILE* fi);
+void timer_fread(timer_type* ptimer, FILE* fi);
#endif /*SUPERTUX_TIMER_H*/