if(speedfactor < 1)
return explosion_f;
- float m;
-
#if 0
+ float m;
// find m so that
// speedfactor * (1 + e) * m / (1 + m) == 1
m = 1 / ((1 + 0) * speedfactor - 1);
v = explosion_calcpush(explosion_f * speedfactor, m, target_v, 1, 0);
// the factor we then get is:
// 1
- print(sprintf("MASS: %f\nv: %v -> %v\nENERGY BEFORE == %f + %f = %f\nENERGY AFTER >= %f\n",
+ printf("MASS: %f\nv: %v -> %v\nENERGY BEFORE == %f + %f = %f\nENERGY AFTER >= %f\n",
m,
target_v, target_v + v,
target_v * target_v, m * explosion_f * speedfactor * explosion_f * speedfactor, target_v * target_v + m * explosion_f * speedfactor * explosion_f * speedfactor,
- (target_v + v) * (target_v + v)));
+ (target_v + v) * (target_v + v));
return v;
#endif
- return explosion_f * explosion_calcpush_getmultiplier(explosion_f * speedfactor, target_v) * (1.0 / speedfactor);
+ return explosion_f * explosion_calcpush_getmultiplier(explosion_f * speedfactor, target_v);
}