]> git.pond.sub.org Git - empserver/blobdiff - src/lib/subs/show.c
config: Make work to build sectors configurable
[empserver] / src / lib / subs / show.c
index 29acdfa2abbf17d63ba17c6961f99ef09d063fc3..da86bd34a5e73edd5ec51874aef53c55e0c5669b 100644 (file)
@@ -198,8 +198,8 @@ show_nuke_build(int tlev)
     for (i = 0; i < n; i++) {
        np = &nchr[chridx[i].type];
        pr("%-13.13s %3d %3d %4d %4d %5d %4d %3.0f $%6d\n",
-          np->n_name, np->n_lcm, np->n_hcm, np->n_oil,
-          np->n_rad, np->n_bwork, np->n_tech,
+          np->n_name, np->n_mat[I_LCM], np->n_mat[I_HCM],
+          np->n_mat[I_OIL], np->n_mat[I_RAD], np->n_bwork, np->n_tech,
           drnuke_const > MIN_DRNUKE_CONST ?
                ceil(np->n_tech * drnuke_const) : 0.0,
           np->n_cost);
@@ -240,7 +240,7 @@ show_ship_build(int tlev)
     for (i = 0; i < n; i++) {
        mp = &mchr[chridx[i].type];
        pr("%-25.25s %3d %3d %5d %4d $%d\n",
-          mp->m_name, mp->m_lcm, mp->m_hcm,
+          mp->m_name, mp->m_mat[I_LCM], mp->m_mat[I_HCM],
           mp->m_bwork, mp->m_tech, mp->m_cost);
     }
 }
@@ -331,8 +331,8 @@ show_plane_build(int tlev)
     for (i = 0; i < n; i++) {
        pp = &plchr[chridx[i].type];
        pr("%-25.25s %3d %3d %4d %5d %4d $%d\n",
-          pp->pl_name, pp->pl_lcm,
-          pp->pl_hcm, pp->pl_crew,
+          pp->pl_name, pp->pl_mat[I_LCM],
+          pp->pl_mat[I_HCM], pp->pl_mat[I_MILIT],
           pp->pl_bwork, pp->pl_tech, pp->pl_cost);
     }
 }
@@ -349,9 +349,9 @@ show_land_build(int tlev)
     for (i = 0; i < n; i++) {
        lp = &lchr[chridx[i].type];
        pr("%-25.25s %3d %3d %4d %5d %4d $%d\n",
-          lp->l_name, lp->l_lcm,
-          lp->l_hcm,
-          lp->l_gun,
+          lp->l_name, lp->l_mat[I_LCM],
+          lp->l_mat[I_HCM],
+          lp->l_mat[I_GUN],
           lp->l_bwork, lp->l_tech, lp->l_cost);
     }
 }
@@ -402,29 +402,24 @@ show_sect_build(int foo)
 {
     int i, first;
 
-    pr("                        desig   build 100%% eff  maint\n"
-       "sector type                 $   lcm  hcm     $      $\n");
+    pr("                         build 100%% efficiency  maint\n"
+       "sector type               lcm  hcm avail     $      $\n");
     for (i = 0; dchr[i].d_name; i++) {
        if (dchr[i].d_mnem == 0)
            continue;
        if (dchr[i].d_mob0 < 0)
            continue;
-       if (dchr[i].d_cost <= 0 && dchr[i].d_build == 1
-           && dchr[i].d_lcms == 0 && dchr[i].d_hcms == 0
+       if (dchr[i].d_cost == 100
+           && !dchr[i].d_mat[I_LCM] && !dchr[i].d_mat[I_HCM]
            && dchr[i].d_maint == 0)
            continue;           /* the usual, skip */
-       pr("%c %-21.21s", dchr[i].d_mnem, dchr[i].d_name);
-       if (dchr[i].d_cost < 0)
-           pr(" can't");
-       else
-           pr(" %5d", dchr[i].d_cost);
-       pr(" %5d%5d %5d  %5d\n",
-          100 * dchr[i].d_lcms,
-          100 * dchr[i].d_hcms,
-          100 * dchr[i].d_build,
+       pr("%c %-21.21s  %4d %4d %5d %5d  %5d\n",
+          dchr[i].d_mnem, dchr[i].d_name,
+          dchr[i].d_mat[I_LCM], dchr[i].d_mat[I_HCM],
+          dchr[i].d_bwork, dchr[i].d_cost,
           dchr[i].d_maint * etu_per_update);
     }
-    pr("any other                   0     0    0   100      0\n");
+    pr("any other                   0    0   100   100      0\n");
 
     first = 1;
     for (i = 0; intrchr[i].in_name; i++) {
@@ -470,14 +465,20 @@ show_sect_capab(int foo)
 {
     int i;
 
-    pr("  sector type             product  p.e.\n");
+    pr("  sector type             product  p.e.  capabilities\n");
 
     for (i = 0; dchr[i].d_name; i++) {
-       if (dchr[i].d_mnem == 0 || dchr[i].d_prd < 0)
+       if (dchr[i].d_mnem == 0 || (dchr[i].d_prd < 0 && !dchr[i].d_flags))
            continue;
-       pr("%c %-23s %-7s %4d%%\n",
-          dchr[i].d_mnem, dchr[i].d_name, pchr[dchr[i].d_prd].p_sname,
-          dchr[i].d_peffic);
+       pr("%c %-23s ",
+          dchr[i].d_mnem, dchr[i].d_name);
+       if (dchr[i].d_prd >= 0)
+           pr("%-7s %4d%% ",
+              pchr[dchr[i].d_prd].p_sname, dchr[i].d_peffic);
+       else
+           pr("              ");
+       show_capab(dchr[i].d_flags, sect_chr_flags);
+       pr("\n");
     }
 }
 
@@ -486,12 +487,14 @@ show_item(int tlev)
 {
     struct ichrstr *ip;
 
-    pr("item value sell lbs    packing     melt  item\n");
-    pr("mnem                in no wh ur bk deno  name\n");
+    pr("item power value sell lbs    packing     melt  item\n");
+    pr("mnem                      in no wh ur bk deno  name\n");
 
     for (ip = ichr; ip->i_name; ip++) {
-       pr("   %c %5d %4s %3d %2d %2d %2d %2d %2d %4d  %s\n",
-          ip->i_mnem, ip->i_value, ip->i_sell ? "yes" : "no", ip->i_lbs,
+       pr("  %c  %5d %5d %4s %3d %2d %2d %2d %2d %2d %4d  %s\n",
+          ip->i_mnem, ip->i_power,
+          ip->i_value, ip->i_sell ? "yes" : "no",
+          ip->i_lbs,
           ip->i_pkg[IPKG], ip->i_pkg[NPKG], ip->i_pkg[WPKG],
           ip->i_pkg[UPKG], ip->i_pkg[BPKG],
           ip->i_melt_denom, ip->i_name);