uint32_t area;
};
-#define MOVE_FLAG 1
-#define DRAW_FLAG 2
-#define COLLIDE_FLAG 4
-#define ALL_FLAGS (~0)
+// flags
+#define MOVE 1
+#define DRAW 2
+#define COLLIDE 4
-#define COLLIDES(sprite) ((sprite)->flags & COLLIDE_FLAG)
+#define COLLIDES(sprite) ((sprite)->flags & COLLIDE)
Sprite *free_sprites[N_TYPES]; // lists of free sprites, by type.
void move_sprite(Sprite *s);
void move_sprites(void);
-Sprite *collides(Sprite *s);
-int pixel_collides(float x, float y);
+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);
draw_sprite(Sprite *s)
{
SDL_Rect dest;
- if(s->flags & DRAW_FLAG) {
+ if(s->flags & DRAW) {
dest.x = s->x; dest.y = s->y;
SDL_BlitSurface(s->image, NULL, surf_screen, &dest);
}