diff options
Diffstat (limited to 'src/atragmx.c')
| -rw-r--r-- | src/atragmx.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/atragmx.c b/src/atragmx.c index ff684c3..c9cebae 100644 --- a/src/atragmx.c +++ b/src/atragmx.c @@ -128,17 +128,28 @@ ATragMXSolution *ATragMXCalcSolution(ATragMXContext *ctx, ace_config *ace) { // calculate magnitude of bullet.velocity bullet.speed = hypot(bullet.velocity[0], hypot(bullet.velocity[1], bullet.velocity[2])); + memcpy(local_solution.true_velocity, (double[3]){bullet.velocity[0] - wind1[0], bullet.velocity[1] - wind1[1], bullet.velocity[2] - wind1[2]}, sizeof(local_solution.true_velocity)); + local_solution.true_speed = hypot(local_solution.true_velocity[0], hypot(local_solution.true_velocity[1], local_solution.true_velocity[2])); - if (ace->ballistics->enabled) - + if (ace->ballistics->enabled) { + double data = retard(ctx->gun.drag_model, + ctx->gun.ballistic_coef, + ctx->gun.muzzle_velocity, + ctx->atmosphere.temperature); + memcpy(bullet.accel, + (double[3]){bullet.accel[0] != 0 ? -data : 0, + bullet.accel[1] != 0 ? -data : 0, + bullet.accel[2] != 0 ? -data : 0}, + + } } return sln; |
