blob: a3065ee208df2c155cc2df7022b366aa79ba3eea (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
typedef struct GameState GameState;
typedef struct Derivative Derivative;
typedef struct Stats Stats;
typedef struct Sprite Sprite;
struct Stats
{
double cur;
double total;
double min, avg, max;
uvlong nupdates;
void (*update)(Stats*, double);
};
struct GameState
{
double x, v;
Stats stats;
};
struct Derivative
{
double dx, dv;
};
struct Sprite
{
Image *sheet;
Point sp;
Rectangle r;
int nframes;
int curframe;
ulong period;
ulong elapsed;
void (*step)(Sprite*, ulong);
void (*draw)(Sprite*, Image*, Point);
};
|