+#define COLLIDES(sprite) ((sprite)->flags & COLLIDE)
+
+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 reset_sprites(void);
+void add_sprite(Sprite *s);
+void move_sprite(Sprite *s);
+void move_sprites(void);
+
+Sprite * pixel_collides(float x, float y);
+void load_sprite(Sprite *sprite, char *filename);
+
+float sprite_mass(Sprite *s);
+void bounce(Sprite *a, Sprite *b);