void move_car(struct _car *car,int keys,SDL_Surface *fun)
{
- int c,r,g,b;
+ Uint32 c,r,g,b;
/* reset flags */
car->lapflag=0;
/* get the pixel color under the center of car in the function map */
c=getpixel(fun,car->x,car->y);
/* red layer (checkpoints) */
- r=(c )&0xff;
+ r=(c>>RSHIFT)&0xff;
/* green layer (road quality) */
- g=(c>>8 )&0xff;
- /* blue layer (unused) */
- b=(c>>16)&0xff;
+ g=(c>>GSHIFT)&0xff;
+ /* blue layer (grip) */
+ b=(c>>BSHIFT)&0xff;
if (keys & 8) /* up */
car->speed+=0.01*2*COEFF;