mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 13:10:19 +00:00
2c33603256
This also initializes the N2 tissue saturations to correct numbers (setting them to zero was clearly silly). With this commit we walk back in the dive_table until we find a surface intervall that's longer than 48h. Or a dive that comes after the last one we looked at; that would indicate that this is a divelist that contains dives from multiple divers or dives that for other reasons are not ordered. In a sane environment one would assume that the dives that need to be taken into account when doing deco calculations are organized as one trip in the XML file and so this logic should work. One major downside of the current implementation is that we recalculate everything whenever the plot_info is recreated - which happens quite frequently, for example when resizing the window or even when we go into loup mode. While this isn't all that compute intensive, this is an utter waste and we should at least cache the saturation inherited from previous dives (and clear that number when the selected dive changes). We don't want to cache all of it as the recreation of the plot_info may be triggered by the user changing equipment (and most importantly, gasmix) information. In that case the deco data for this dive does indeed have to be recreated. But without changing the current dive the saturation after the last surface intervall should stay the same. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
19 lines
610 B
C
19 lines
610 B
C
#ifndef DIVELIST_H
|
|
#define DIVELIST_H
|
|
|
|
struct dive;
|
|
|
|
extern void dive_list_update_dives(void);
|
|
extern void update_dive_list_col_visibility(void);
|
|
extern void update_dive_list_units(void);
|
|
extern void flush_divelist(struct dive *);
|
|
extern void update_cylinder_related_info(struct dive *);
|
|
extern void mark_divelist_changed(int);
|
|
extern int unsaved_changes(void);
|
|
extern void remove_autogen_trips(void);
|
|
extern void remember_tree_state(void);
|
|
extern void restore_tree_state(void);
|
|
extern void select_next_dive(void);
|
|
extern void select_prev_dive(void);
|
|
extern void init_decompression(struct dive * dive);
|
|
#endif
|