JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
renamed *_SPRITE to *, made rocks bounce off each other.
[vor.git] / sprite.h
index 953d303..0c04cac 100644 (file)
--- a/sprite.h
+++ b/sprite.h
@@ -8,9 +8,9 @@ typedef struct sprite Sprite;
 
 #define SPRITE(x) ((Sprite *) (x))
 
-#define BASE_SPRITE 0
-#define SHIP_SPRITE 1
-#define ROCK_SPRITE 2
+#define BASE 0
+#define SHIP 1
+#define ROCK 2
 #define N_TYPES 3
 
 struct sprite {
@@ -22,10 +22,14 @@ struct sprite {
        int w, h;
        int mask_w;
        uint32_t *mask;
+       uint32_t area;
 };
 
 Sprite *free_sprites[N_TYPES];  // lists of free sprites, by type.
 
+void do_collision(Sprite *a, Sprite *b);
+void collisions(void);
+
 void init_sprites(void);
 void add_sprite(Sprite *s);
 void move_sprite(Sprite *s);
@@ -50,6 +54,7 @@ struct ship {
        int w, h;
        int mask_w;
        uint32_t *mask;
+       uint32_t area;
        // SHIP extras
        int lives;
        int jets;
@@ -65,6 +70,7 @@ struct rock {
        int w, h;
        int mask_w;
        uint32_t *mask;
+       uint32_t area;
        // ROCK extras
        int type;
 };