X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=shape.c;h=f45715866b11a44473c9a788f4a61fe591286e7d;hp=867610e8541993ae7b1a208e1487263b3cdcd721;hb=3ef599c7104a20c4f5268dbefb6590aa3e285663;hpb=b7de8607ee49edb99979968d5149665bf5590087 diff --git a/shape.c b/shape.c index 867610e..f457158 100644 --- a/shape.c +++ b/shape.c @@ -1,4 +1,5 @@ #include +#include "common.h" #include "shape.h" void @@ -13,6 +14,7 @@ get_shape(SDL_Surface *img, struct shape *s) exit(1); } + s->area = 0; s->w = img->w; s->h = img->h; s->mw = ((img->w+31)>>5); s->mask = malloc(4*s->mw*s->h); @@ -29,7 +31,7 @@ get_shape(SDL_Surface *img, struct shape *s) bit = 0; for(x=0; xw; x++) { if(!bit) { bits = 0; bit = 0x80000000; } - if(*px++ != transp) bits |= bit; + if(*px++ != transp) { bits |= bit; s->area++; } bit >>= 1; if(!bit || x == img->w - 1) { *(p++) = bits; } } @@ -38,18 +40,6 @@ get_shape(SDL_Surface *img, struct shape *s) SDL_UnlockSurface(img); } -#ifndef max -#define max(a, b) ((a) > (b) ? (a) : (b)) -#endif - -#ifndef min -#define min(a, b) ((a) < (b) ? (a) : (b)) -#endif - -#ifndef abs -#define abs(a) ((a)<=0 ? -(a) : (a)) -#endif - int line_collide(int xov, struct shape *r, uint32_t *rbits, struct shape *s, uint32_t *sbits) {