diff options
| author | hybrid <hybrid@hybridlabs.pro> | 2026-08-10 06:04:25 +0300 |
|---|---|---|
| committer | hybrid <hybrid@hybridlabs.pro> | 2026-08-10 06:04:25 +0300 |
| commit | 7ad9c60cdb981d51756755dca4603e77611a0f61 (patch) | |
| tree | 70eb226e794015f6207eb821c5b8776f14584837 /src/atragmx.c | |
| parent | 1d1796c97867ada2211a39b313ef6398297c7b8f (diff) | |
| download | a3catragmx-7ad9c60cdb981d51756755dca4603e77611a0f61.tar.gz a3catragmx-7ad9c60cdb981d51756755dca4603e77611a0f61.tar.bz2 a3catragmx-7ad9c60cdb981d51756755dca4603e77611a0f61.zip | |
upd: tmp
Diffstat (limited to 'src/atragmx.c')
| -rw-r--r-- | src/atragmx.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/atragmx.c b/src/atragmx.c index c797505..1b39dbc 100644 --- a/src/atragmx.c +++ b/src/atragmx.c @@ -70,11 +70,12 @@ ATragMXSolution *ATragMXCalcSolution(ATragMXContext *ctx, ace_config *ace) { } ctx_range = { .n = 0, .range_factor = ctx->store_range_card ? 1.0936133 : 1, - .range_card.records = (size_t) (rangeCardEndRange / rangeCardIncrement), - .range_card.card = calloc(ctx_range.range_card.records, - sizeof(RangeCardRecord)), + .range_card.records = (size_t) (rangeCardEndRange / rangeCardIncrement), + .range_card.card = NULL, }; - + + ctx_range.range_card.card = calloc(ctx_range.range_card.records, + sizeof(RangeCardRecord)); Vec3 wind1 = { .x = cos(270 - ctx->atmosphere.wind_dir * 30) @@ -240,25 +241,25 @@ ATragMXSolution *ATragMXCalcSolution(ATragMXContext *ctx, ace_config *ace) { if (ctx_range.n < ctx_range.range_card.records) { - ctx_range.range_card.card->n = ctx_range.n; - ctx_range.range_card.card->range = ctx_range.range; + (ctx_range.range_card.card+ctx_range.n)->n = ctx_range.n; + (ctx_range.range_card.card+ctx_range.n)->range = ctx_range.range; - ctx_range.range_card.card->elevation + (ctx_range.range_card.card+ctx_range.n)->elevation = local_solution.elevation; - ctx_range.range_card.card->windage.w1 + (ctx_range.range_card.card+ctx_range.n)->windage.w1 = local_solution.windage.w1 * 60.0; - ctx_range.range_card.card->windage.w2 + (ctx_range.range_card.card+ctx_range.n)->windage.w2 = local_solution.windage.w2 * 60.0; - ctx_range.range_card.card->lead = sln->lead; + (ctx_range.range_card.card+ctx_range.n)->lead = sln->lead; - ctx_range.range_card.card->time_of_flight + (ctx_range.range_card.card+ctx_range.n)->time_of_flight = local_solution.time_of_flight; - ctx_range.range_card.card->bullet_speed = bullet.speed; - ctx_range.range_card.card->kinetic_energy = kinetic_energy; + (ctx_range.range_card.card+ctx_range.n)->bullet_speed = bullet.speed; + (ctx_range.range_card.card+ctx_range.n)->kinetic_energy = kinetic_energy; } ctx_range.n++; } @@ -312,6 +313,7 @@ ATragMXSolution *ATragMXCalcSolution(ATragMXContext *ctx, ace_config *ace) { sln->coriolis_vdrift = local_solution.v_coriolis * 60.0; sln->coriolis_hdrift = local_solution.h_coriolis * 60.0; sln->spin_drift = local_solution.spin_drift * 60.0; - + sln->range_card = &ctx_range.range_card; + return sln; } |
