// timers for rock generation.
static float rtimers[4];
-uint32_t nrocks = I_ROCKS;
+uint32_t nrocks = NORMAL_I_ROCKS;
+uint32_t initial_rocks = NORMAL_I_ROCKS;
+uint32_t final_rocks = NORMAL_F_ROCKS;
float nrocks_timer = 0;
-float nrocks_inc_ticks = 2*60*20/(F_ROCKS-I_ROCKS);
+float nrocks_inc_ticks = 2*60*20/(NORMAL_F_ROCKS-NORMAL_I_ROCKS);
// constants for rock generation.
#define KH (32*20) // 32 s for a speed=1 rock to cross the screen horizontally.
void
reset_rocks(void)
{
- nrocks = I_ROCKS;
+ nrocks = initial_rocks;
+ nrocks_inc_ticks = 2*60*20/(final_rocks-initial_rocks);
nrocks_timer = 0;
}
snprintf(a, ROCK_LEN, "sprites/rock%02d.png", i);
load_sprite(SPRITE(&prototypes[i]), a);
prototypes[i].sprite_type = ROCK;
- prototypes[i].flags = ALL_FLAGS;
+ prototypes[i].flags = MOVE|DRAW|COLLIDE;
}
memset(rocks, 0, MAXROCKS*sizeof(struct rock));
float rmin[4];
float rmax[4];
- if(nrocks < F_ROCKS) {
+ if(nrocks < final_rocks) {
nrocks_timer += t_frame;
if(nrocks_timer >= nrocks_inc_ticks) {
nrocks_timer -= nrocks_inc_ticks;
n *= 15;
r->dx += 54.0*dx/n;
r->dy += 54.0*dy/n;
- r->flags &= ~COLLIDE_FLAG;
}
}
}