mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Use get_cylinder_index in per_cylinder_mean_depth
Use get_cylinder_index that handles SAMPLE_EVENT_GASCHANGE and SAMPLE_EVENT_GASCHANGE2. This also removes the need for a special case where get_gasidx returns -1, because get_cylinder_index always returns the "closest" gas that it finds. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
51345e4ad8
commit
f6b29d093f
3 changed files with 3 additions and 6 deletions
6
dive.c
6
dive.c
|
@ -361,11 +361,7 @@ void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *me
|
|||
int time = sample->time.seconds;
|
||||
int depth = sample->depth.mm;
|
||||
if (ev && time >= ev->time.seconds) {
|
||||
int o2 = (ev->value & 0xFFFF) * 10;
|
||||
int he = (ev->value >> 16) * 10;
|
||||
int tank = get_gasidx(dive, o2, he);
|
||||
if (tank >= 0)
|
||||
idx = tank; // should never happen unless the input file is inconsistent
|
||||
idx = get_cylinder_index(dive, ev);
|
||||
ev = get_next_event(ev->next, "gaschange");
|
||||
}
|
||||
/* We ignore segments at the surface */
|
||||
|
|
1
dive.h
1
dive.h
|
@ -662,6 +662,7 @@ extern void fill_default_cylinder(cylinder_t *cyl);
|
|||
extern void add_gas_switch_event(struct dive *dive, struct divecomputer *dc, int time, int idx);
|
||||
extern void add_event(struct divecomputer *dc, int time, int type, int flags, int value, const char *name);
|
||||
extern void per_cylinder_mean_depth(struct dive *dive, struct divecomputer *dc, int *mean, int *duration);
|
||||
extern int get_cylinder_index(struct dive *dive, struct event *ev);
|
||||
|
||||
/* UI related protopypes */
|
||||
|
||||
|
|
|
@ -553,7 +553,7 @@ static void fill_missing_tank_pressures(struct dive *dive, struct plot_info *pi,
|
|||
}
|
||||
}
|
||||
|
||||
static int get_cylinder_index(struct dive *dive, struct event *ev)
|
||||
int get_cylinder_index(struct dive *dive, struct event *ev)
|
||||
{
|
||||
int i;
|
||||
int best = 0, score = INT_MAX;
|
||||
|
|
Loading…
Reference in a new issue