mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Core: pass dive, cylinder-id to fill_default_cylinder
The fill_default_cylinder() function calculated the MOD based on the currently displayed dive. This does not seem to make sense: - When importing dives, why would we care about the altitude and salinity of the currently displayed dive, possibly from a different trip. - The planner is supposed to be thread-safe and should not touch global variables. Of course this means that the importing-functions have to fill out altitude and salinity before creating the default cylinder, but this is their problem. For a freshly created dive they will get the default values, which still seems less random than the values from the displayed dive. Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
6ce4aeb04e
commit
00944f7a02
7 changed files with 11 additions and 10 deletions
|
@ -178,9 +178,10 @@ static int tissue_at_end(struct deco_state *ds, struct dive *dive, struct deco_s
|
|||
|
||||
|
||||
/* if a default cylinder is set, use that */
|
||||
void fill_default_cylinder(cylinder_t *cyl)
|
||||
void fill_default_cylinder(struct dive *dive, int idx)
|
||||
{
|
||||
const char *cyl_name = prefs.default_cylinder;
|
||||
cylinder_t *cyl = &dive->cylinder[idx];
|
||||
struct tank_info_t *ti = tank_info;
|
||||
pressure_t pO2 = {.mbar = 1600};
|
||||
|
||||
|
@ -204,7 +205,7 @@ void fill_default_cylinder(cylinder_t *cyl)
|
|||
cyl->type.size.mliter = lrint(cuft_to_l(ti->cuft) * 1000 / bar_to_atm(psi_to_bar(ti->psi)));
|
||||
}
|
||||
// MOD of air
|
||||
cyl->depth = gas_mod(cyl->gasmix, pO2, &displayed_dive, 1);
|
||||
cyl->depth = gas_mod(cyl->gasmix, pO2, dive, 1);
|
||||
}
|
||||
|
||||
/* calculate the new end pressure of the cylinder, based on its current end pressure and the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue