aboutsummaryrefslogtreecommitdiff
path: root/dat.h
diff options
context:
space:
mode:
Diffstat (limited to 'dat.h')
-rw-r--r--dat.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/dat.h b/dat.h
index 9a27f17..67fcf3b 100644
--- a/dat.h
+++ b/dat.h
@@ -57,6 +57,8 @@ enum {
typedef struct VModel VModel;
typedef struct Sprite Sprite;
+typedef struct Keymap Keymap;
+typedef struct Scene Scene;
typedef struct Particle Particle;
typedef struct Bullet Bullet;
typedef struct Ship Ship;
@@ -99,6 +101,22 @@ struct Sprite
void (*draw)(Sprite*, Image*, Point);
};
+struct Keymap
+{
+ Rune key;
+ KeyOp op;
+};
+
+struct Scene
+{
+ char *title;
+ int state;
+
+ Scene *(*δ)(Scene*);
+ void (*step)(Scene*);
+ void (*draw)(Scene*);
+};
+
struct Particle
{
Point2 p, v;