X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=main.c;h=276cf3a29c132bd2f589ccdbd1ad8bb04aa4b131;hp=c90a793594119357ef5881b7692c536c916e8236;hb=adaa8776a400d807bc859d6669e282010fef3b10;hpb=8332fa82bd3726436a1c3165484ed8207ed23ede diff --git a/main.c b/main.c index c90a793..276cf3a 100644 --- a/main.c +++ b/main.c @@ -270,11 +270,11 @@ move_dot(struct dot *d) d->active = 0; else { hit = pixel_collides(d->x, d->y); - if(hit && hit->type != SHIP) { + if(hit) if(hit->type != SHIP) { d->active = 0; mass = sprite_mass(hit); - hit->dx += DOT_MASS_UNIT * d->mass * d->dx / mass; - hit->dy += DOT_MASS_UNIT * d->mass * d->dy / mass; + hit->dx += DOT_MASS_UNIT * d->mass * (d->dx - hit->dx) / mass; + hit->dy += DOT_MASS_UNIT * d->mass * (d->dy - hit->dy) / mass; } } } @@ -619,8 +619,8 @@ gameloop() { for(;;) { ms_frame = SDL_GetTicks() - ms_end; ms_end += ms_frame; - if(ms_frame > 1000) { - ms_frame = 1000; + if(ms_frame > 100) { + ms_frame = 100; } t_frame = gamespeed * ms_frame / 50; frames++; @@ -770,7 +770,7 @@ main(int argc, char **argv) { frames = 0; gameloop(); end = SDL_GetTicks(); - // printf("%ld frames in %ld ms, %.2f fps.\n", frames, end-start, frames * 1000.0 / (end-start)); + printf("%ld frames in %ld ms, %.2f fps.\n", frames, end-start, frames * 1000.0 / (end-start)); return 0; }