prosperon/source/engine/timer.h
2023-11-29 23:31:41 +00:00

30 lines
784 B
C

#ifndef TIMER
#define TIMER
struct timer {
int timerid;
int on;
double interval; // Time of timer
int repeat;
double remain_time; // How much time until the timer executes
void (*cb)(void *data);
void *data;
int owndata;
int next;
int app; /* True if this timer is an "app" timer, and should always update; otherwise, only update with game time */
};
int timer_make(double interval, void (*callback)(void *param), void *param, int own, int app);
struct timer *id2timer(int id);
void timer_remove(int id);
void timer_start(struct timer *t);
void timer_pause(struct timer *t);
void timer_stop(struct timer *t);
void timer_update(double dt, double scale);
void timerr_settime(struct timer *t, double interval);
void timers_free();
#endif