]> git.tdb.fi Git - ext/subsurface.git/blobdiff - equipment.c
Clean up reference tank information table
[ext/subsurface.git] / equipment.c
index 9c2b4054f31a3b668c2bf4507c5c4de915f55740..f14733f19182db2ac5a81f2a3972b9e61297f223 100644 (file)
@@ -450,35 +450,34 @@ static void record_cylinder_changes(cylinder_t *cyl, struct cylinder_widget *cyl
  */
 static struct tank_info {
        const char *name;
-       int size;       /* cuft if < 1000, otherwise mliter */
-       int psi;        /* If zero, size is in mliter */
+       int cuft, ml, psi, bar;
 } tank_info[100] = {
        /* Need an empty entry for the no-cylinder case */
-       { "", 0, 0 },
+       { "", },
 
        /* Size-only metric cylinders */
-       { "10.0 l", 10000 },
-       { "11.1 l", 11100 },
+       { "10.0 l", .ml = 10000 },
+       { "11.1 l", .ml = 11100 },
 
        /* Most common AL cylinders */
-       { "AL50",   50, 3000 },
-       { "AL63",   63, 3000 },
-       { "AL72",   72, 3000 },
-       { "AL80",   80, 3000 },
-       { "AL100", 100, 3300 },
+       { "AL50",  .cuft =  50, .psi = 3000 },
+       { "AL63",  .cuft =  63, .psi = 3000 },
+       { "AL72",  .cuft =  72, .psi = 3000 },
+       { "AL80",  .cuft =  80, .psi = 3000 },
+       { "AL100", .cuft = 100, .psi = 3300 },
 
        /* Somewhat common LP steel cylinders */
-       { "LP85",   85, 2640 },
-       { "LP95",   95, 2640 },
-       { "LP108", 108, 2640 },
-       { "LP121", 121, 2640 },
+       { "LP85",  .cuft =  85, 2640 },
+       { "LP95",  .cuft =  95, 2640 },
+       { "LP108", .cuft = 108, 2640 },
+       { "LP121", .cuft = 121, 2640 },
 
        /* Somewhat common HP steel cylinders */
-       { "HP65",   65, 3442 },
-       { "HP80",   80, 3442 },
-       { "HP100", 100, 3442 },
-       { "HP119", 119, 3442 },
-       { "HP130", 130, 3442 },
+       { "HP65",  .cuft =  65, .psi = 3442 },
+       { "HP80",  .cuft =  80, .psi = 3442 },
+       { "HP100", .cuft = 100, .psi = 3442 },
+       { "HP119", .cuft = 119, .psi = 3442 },
+       { "HP130", .cuft = 130, .psi = 3442 },
 
        /* We'll fill in more from the dive log dynamically */
        { NULL, }
@@ -490,20 +489,26 @@ static void fill_tank_list(GtkListStore *store)
        struct tank_info *info = tank_info;
 
        while (info->name) {
-               int size = info->size;
+               int ml = info->ml;
+               int cuft = info->cuft;
                int psi = info->psi;
-               int mbar = 0, ml = size;
+               int mbar;
+               double bar = info->bar;
 
                /* Is it in cuft and psi? */
                if (psi) {
-                       double bar = psi_to_bar(psi);
-                       double airvolume = cuft_to_l(size) * 1000.0;
-                       double atm = bar_to_atm(bar);
+                       bar = psi_to_bar(psi);
 
-                       ml = airvolume / atm + 0.5;
-                       mbar = bar*1000 + 0.5;
+                       if (cuft) {
+                               double airvolume = cuft_to_l(cuft) * 1000.0;
+                               double atm = bar_to_atm(bar);
+
+                               ml = airvolume / atm + 0.5;
+                       }
                }
 
+               mbar = bar * 1000 + 0.5;
+
                gtk_list_store_append(store, &iter);
                gtk_list_store_set(store, &iter,
                        0, info->name,