mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Sanitize and fix cylinder pressure overview
Doing per-dive cylinder start/end pressures is insane, when we can have up to eight cylinders. The cylinder start/end pressure cannot be per dive, it needs to be per cylinder. This makes the save format cleaner too, we have all the cylinder data in just one place. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
0f832f15d1
commit
5f79a804b9
5 changed files with 40 additions and 29 deletions
|
|
@ -106,6 +106,9 @@ static int get_cylinder_pressure_range(struct dive *dive, double *scalex, double
|
|||
struct sample *sample = dive->sample + i;
|
||||
double bar;
|
||||
|
||||
/* FIXME! We only track cylinder 0 right now */
|
||||
if (sample->cylinderindex)
|
||||
continue;
|
||||
if (!sample->cylinderpressure.mbar)
|
||||
continue;
|
||||
bar = sample->cylinderpressure.mbar;
|
||||
|
|
@ -131,7 +134,7 @@ static void plot_cylinder_pressure(struct dive *dive, cairo_t *cr,
|
|||
|
||||
cairo_set_source_rgba(cr, 0.2, 1.0, 0.2, 0.80);
|
||||
|
||||
cairo_move_to(cr, SCALE(0, dive->beginning_pressure.mbar));
|
||||
cairo_move_to(cr, SCALE(0, dive->cylinder[0].start.mbar));
|
||||
for (i = 1; i < dive->samples; i++) {
|
||||
int sec, mbar;
|
||||
struct sample *sample = dive->sample + i;
|
||||
|
|
@ -142,7 +145,7 @@ static void plot_cylinder_pressure(struct dive *dive, cairo_t *cr,
|
|||
continue;
|
||||
cairo_line_to(cr, SCALE(sec, mbar));
|
||||
}
|
||||
cairo_line_to(cr, SCALE(dive->duration.seconds, dive->end_pressure.mbar));
|
||||
cairo_line_to(cr, SCALE(dive->duration.seconds, dive->cylinder[0].end.mbar));
|
||||
cairo_stroke(cr);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue