static void reshape_planet(struct planet *p)
{
- p->size = pow(p->mass / 100, 1 / 3.0);
+ p->radius = pow(p->mass / 100, 1 / 3.0);
}
void init_planet(struct planet *p)
const struct camera *cam)
{
struct vector pos;
- int size = p->size * cam->zoom;
+ int radius = p->radius * cam->zoom;
int x, x_start, y, x_end, y_end;
vector_sub(&p->pos, &cam->pos, &pos);
pos.x += screen->w / 2;
pos.y += screen->h / 2;
- x_start = MAX(pos.x - size, 0);
- y = MAX(pos.y - size, 0);
+ x_start = MAX(pos.x - radius, 0);
+ y = MAX(pos.y - radius, 0);
- x_end = MIN(pos.x + size + 1, screen->w);
- y_end = MIN(pos.y + size + 1, screen->h);
+ x_end = MIN(pos.x + radius + 1, screen->w);
+ y_end = MIN(pos.y + radius + 1, screen->h);
for (; y < y_end; y++)
for (x = x_start; x < x_end; x++)
dist = vector_abs(&distance);
/* Return true in case of a collision */
- if (dist < (a->size + b->size))
+ if (dist < (a->radius + b->radius))
return 1;
vector_div(&distance, dist, &distance);
void print_planet(const struct planet *p)
{
- printf("pos: (%f,%f), speed: (%f,%f), mass: %f, size %f\n",
- p->pos.x, p->pos.y, p->speed.x, p->speed.y, p->mass, p->size);
+ printf("pos: (%f,%f), speed: (%f,%f), mass: %f, radius %f\n",
+ p->pos.x, p->pos.y, p->speed.x, p->speed.y, p->mass, p->radius);
}