- cgm_vscale(&dir, fmag);
- cgm_vadd(&spr->mass[0]->f, &dir);
- cgm_vsub(&spr->mass[1]->f, &dir);
+ spr->mass[0]->f.x += dir.x * fmag / spr->mass[0]->m;
+ spr->mass[0]->f.y += dir.y * fmag / spr->mass[0]->m;
+ spr->mass[0]->f.z += dir.z * fmag / spr->mass[0]->m;
+
+ spr->mass[1]->f.x -= dir.x * fmag / spr->mass[1]->m;
+ spr->mass[1]->f.y -= dir.y * fmag / spr->mass[1]->m;
+ spr->mass[1]->f.z -= dir.z * fmag / spr->mass[1]->m;