]> git.itanic.dy.fi Git - sdl-planets/commitdiff
merge_planets: Don't move the heavier planet when they are merged
authorTimo Kokkonen <kaapeli@itanic.dy.fi>
Sun, 7 Mar 2010 12:06:46 +0000 (14:06 +0200)
committerTimo Kokkonen <kaapeli@itanic.dy.fi>
Sun, 7 Mar 2010 12:06:46 +0000 (14:06 +0200)
Signed-off-by: Timo Kokkonen <kaapeli@itanic.dy.fi>
planet.c

index c25a2860838d69b77fc53c7957761c7f370ee49d..d268829ff7366c906994eea472a138b46a2d93d9 100644 (file)
--- a/planet.c
+++ b/planet.c
@@ -93,11 +93,10 @@ static void _merge_planets(struct planet *a, struct planet *b)
        vector_scale(&b->speed, b->mass, &pb);
        vector_add(&pa, &pb, &p);
 
-       vector_scale(&a->pos, a->mass, &a->pos);
-       vector_scale(&b->pos, b->mass, &b->pos);
+       if (a->mass < b->mass)
+               a->pos = b->pos;
 
        a->mass += b->mass;
-       vector_div(&a->pos, a->mass, &a->pos);
        reshape_planet(a);
        vector_div(&p, a->mass, &a->speed);
 }