]> git.pond.sub.org Git - empserver/commitdiff
(shiprepair, planerepair, landrepair): Simplify materials code. No
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 14 May 2006 18:26:25 +0000 (18:26 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sun, 14 May 2006 18:26:25 +0000 (18:26 +0000)
functional changes.

src/lib/update/land.c
src/lib/update/plane.c
src/lib/update/ship.c

index 49649ae48705c6cef8cca58f696df620d9cad9cd..b4b4a3d250464c9d28c348e1e194e2d70265f910 100644 (file)
@@ -283,37 +283,33 @@ landrepair(struct lndstr *land, struct natstr *np, int *bp, int etus)
     mvec[I_GUN] = gun_needed = 0;
     mvec[I_MILIT] = mil_needed = 0;
     mvec[I_SHELL] = shell_needed = 0;
-
     get_materials(sp, bp, mvec, 0);
 
-    if (mvec[I_MILIT] >= mil_needed)
-       buildp = leftp;
-    else
-       buildp = ((float)mvec[I_MILIT] / (float)lp->l_mil);
+    buildp = leftp;
+    if (mvec[I_MILIT] < mil_needed)
+       buildp = MIN(buildp, (float)mvec[I_MILIT] / (float)lp->l_mil);
     if (mvec[I_LCM] < lcm_needed)
-       buildp = MIN(buildp, ((float)mvec[I_LCM] / (float)lp->l_lcm));
+       buildp = MIN(buildp, (float)mvec[I_LCM] / (float)lp->l_lcm);
     if (mvec[I_HCM] < hcm_needed)
-       buildp = MIN(buildp, ((float)mvec[I_HCM] / (float)lp->l_hcm));
+       buildp = MIN(buildp, (float)mvec[I_HCM] / (float)lp->l_hcm);
     if (mvec[I_GUN] < gun_needed)
-       buildp = MIN(buildp, ((float)mvec[I_GUN] / (float)lp->l_gun));
+       buildp = MIN(buildp, (float)mvec[I_GUN] / (float)lp->l_gun);
     if (mvec[I_SHELL] < shell_needed)
-       buildp = MIN(buildp, ((float)mvec[I_SHELL] / (float)lp->l_shell));
+       buildp = MIN(buildp, (float)mvec[I_SHELL] / (float)lp->l_shell);
 
     build = ldround(buildp * 100.0, 1);
-
     memset(mvec, 0, sizeof(mvec));
-    mvec[I_LCM] = lcm_needed = roundavg(lp->l_lcm * buildp);
-    mvec[I_HCM] = hcm_needed = roundavg(lp->l_hcm * buildp);
+    mvec[I_LCM] = roundavg(lp->l_lcm * buildp);
+    mvec[I_HCM] = roundavg(lp->l_hcm * buildp);
 /*
-        mvec[I_GUN] = gun_needed = roundavg(lp->l_gun * buildp);
-        mvec[I_MILIT] = mil_needed = roundavg(lp->l_mil * buildp);
-        mvec[I_SHELL] = shell_needed = roundavg(lp->l_shell *buildp);
+        mvec[I_GUN] = roundavg(lp->l_gun * buildp);
+        mvec[I_MILIT] = roundavg(lp->l_mil * buildp);
+        mvec[I_SHELL] = roundavg(lp->l_shell *buildp);
  */
-    mvec[I_GUN] = gun_needed = 0;
-    mvec[I_MILIT] = mil_needed = 0;
-    mvec[I_SHELL] = shell_needed = 0;
-    mil_dbl_pay += mil_needed;
-
+    mvec[I_GUN] = 0;
+    mvec[I_MILIT] = 0;
+    mvec[I_SHELL] = 0;
+    mil_dbl_pay += mvec[I_MILIT];
     get_materials(sp, bp, mvec, 1);
 
     if ((sp->sct_type != SCT_HEADQ) && (sp->sct_type != SCT_FORTR))
index de6031a96ffd00dec7b529a196beb6c1596adb50..c01fd01e2d2e47e8bc9a6f968cab63e69b897ab0 100644 (file)
@@ -190,24 +190,21 @@ planerepair(struct plnstr *pp, struct natstr *np, int *bp, int etus)
     mvec[I_MILIT] = mil_needed = ldround(pcp->pl_crew * leftp, 1);
     mvec[I_LCM] = lcm_needed = ldround(pcp->pl_lcm * leftp, 1);
     mvec[I_HCM] = hcm_needed = ldround(pcp->pl_hcm * leftp, 1);
-
     get_materials(sp, bp, mvec, 0);
 
-    if (mvec[I_MILIT] >= mil_needed)
-       buildp = leftp;
-    else
-       buildp = ((float)mvec[I_MILIT] / (float)pcp->pl_crew);
+    buildp = leftp;
+    if (mvec[I_MILIT] < mil_needed)
+       buildp = MIN(buildp, (float)mvec[I_MILIT] / (float)pcp->pl_crew);
     if (mvec[I_LCM] < lcm_needed)
-       buildp = MIN(buildp, ((float)mvec[I_LCM] / (float)pcp->pl_lcm));
+       buildp = MIN(buildp, (float)mvec[I_LCM] / (float)pcp->pl_lcm);
     if (mvec[I_HCM] < hcm_needed)
-       buildp = MIN(buildp, ((float)mvec[I_HCM] / (float)pcp->pl_hcm));
+       buildp = MIN(buildp, (float)mvec[I_HCM] / (float)pcp->pl_hcm);
 
     build = ldround(buildp * 100.0, 1);
     memset(mvec, 0, sizeof(mvec));
-    mvec[I_MILIT] = mil_needed = roundavg(pcp->pl_crew * buildp);
-    mvec[I_LCM] = lcm_needed = roundavg(pcp->pl_lcm * buildp);
-    mvec[I_HCM] = hcm_needed = roundavg(pcp->pl_hcm * buildp);
-
+    mvec[I_MILIT] = roundavg(pcp->pl_crew * buildp);
+    mvec[I_LCM] = roundavg(pcp->pl_lcm * buildp);
+    mvec[I_HCM] = roundavg(pcp->pl_hcm * buildp);
     get_materials(sp, bp, mvec, 1);
 
     if (carrier)
index 70c3e42548be2a4905e91596918d4fa76a49e47c..3f3a1755ea1974b27ec07c347a46ee2f622a78c8 100644 (file)
@@ -348,21 +348,18 @@ shiprepair(struct shpstr *ship, struct natstr *np, int *bp, int etus)
     memset(mvec, 0, sizeof(mvec));
     mvec[I_LCM] = lcm_needed = ldround(mp->m_lcm * leftp, 1);
     mvec[I_HCM] = hcm_needed = ldround(mp->m_hcm * leftp, 1);
-
     get_materials(sp, bp, mvec, 0);
 
-    if (mvec[I_LCM] >= lcm_needed)
-       buildp = leftp;
-    else
-       buildp = ((float)mvec[I_LCM] / (float)mp->m_lcm);
+    buildp = leftp;
+    if (mvec[I_LCM] < lcm_needed)
+       buildp = MIN(buildp, (float)mvec[I_LCM] / (float)mp->m_lcm);
     if (mvec[I_HCM] < hcm_needed)
-       buildp = MIN(buildp, ((float)mvec[I_HCM] / (float)mp->m_hcm));
+       buildp = MIN(buildp, (float)mvec[I_HCM] / (float)mp->m_hcm);
 
     build = ldround(buildp * 100.0, 1);
     memset(mvec, 0, sizeof(mvec));
-    mvec[I_LCM] = lcm_needed = roundavg(mp->m_lcm * buildp);
-    mvec[I_HCM] = hcm_needed = roundavg(mp->m_hcm * buildp);
-
+    mvec[I_LCM] = roundavg(mp->m_lcm * buildp);
+    mvec[I_HCM] = roundavg(mp->m_hcm * buildp);
     get_materials(sp, bp, mvec, 1);
 
     if (sp->sct_type != SCT_HARBR)