(shiprepair, planerepair, landrepair): Simplify materials code. No

functional changes.
This commit is contained in:
Markus Armbruster 2006-05-14 18:26:25 +00:00
parent 4ae17ff922
commit 568766dce6
3 changed files with 30 additions and 40 deletions

View file

@ -283,37 +283,33 @@ landrepair(struct lndstr *land, struct natstr *np, int *bp, int etus)
mvec[I_GUN] = gun_needed = 0; mvec[I_GUN] = gun_needed = 0;
mvec[I_MILIT] = mil_needed = 0; mvec[I_MILIT] = mil_needed = 0;
mvec[I_SHELL] = shell_needed = 0; mvec[I_SHELL] = shell_needed = 0;
get_materials(sp, bp, mvec, 0); get_materials(sp, bp, mvec, 0);
if (mvec[I_MILIT] >= mil_needed)
buildp = leftp; buildp = leftp;
else if (mvec[I_MILIT] < mil_needed)
buildp = ((float)mvec[I_MILIT] / (float)lp->l_mil); buildp = MIN(buildp, (float)mvec[I_MILIT] / (float)lp->l_mil);
if (mvec[I_LCM] < lcm_needed) 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) 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) 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) 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); build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec)); memset(mvec, 0, sizeof(mvec));
mvec[I_LCM] = lcm_needed = roundavg(lp->l_lcm * buildp); mvec[I_LCM] = roundavg(lp->l_lcm * buildp);
mvec[I_HCM] = hcm_needed = roundavg(lp->l_hcm * buildp); mvec[I_HCM] = roundavg(lp->l_hcm * buildp);
/* /*
mvec[I_GUN] = gun_needed = roundavg(lp->l_gun * buildp); mvec[I_GUN] = roundavg(lp->l_gun * buildp);
mvec[I_MILIT] = mil_needed = roundavg(lp->l_mil * buildp); mvec[I_MILIT] = roundavg(lp->l_mil * buildp);
mvec[I_SHELL] = shell_needed = roundavg(lp->l_shell *buildp); mvec[I_SHELL] = roundavg(lp->l_shell *buildp);
*/ */
mvec[I_GUN] = gun_needed = 0; mvec[I_GUN] = 0;
mvec[I_MILIT] = mil_needed = 0; mvec[I_MILIT] = 0;
mvec[I_SHELL] = shell_needed = 0; mvec[I_SHELL] = 0;
mil_dbl_pay += mil_needed; mil_dbl_pay += mvec[I_MILIT];
get_materials(sp, bp, mvec, 1); get_materials(sp, bp, mvec, 1);
if ((sp->sct_type != SCT_HEADQ) && (sp->sct_type != SCT_FORTR)) if ((sp->sct_type != SCT_HEADQ) && (sp->sct_type != SCT_FORTR))

View 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_MILIT] = mil_needed = ldround(pcp->pl_crew * leftp, 1);
mvec[I_LCM] = lcm_needed = ldround(pcp->pl_lcm * leftp, 1); mvec[I_LCM] = lcm_needed = ldround(pcp->pl_lcm * leftp, 1);
mvec[I_HCM] = hcm_needed = ldround(pcp->pl_hcm * leftp, 1); mvec[I_HCM] = hcm_needed = ldround(pcp->pl_hcm * leftp, 1);
get_materials(sp, bp, mvec, 0); get_materials(sp, bp, mvec, 0);
if (mvec[I_MILIT] >= mil_needed)
buildp = leftp; buildp = leftp;
else if (mvec[I_MILIT] < mil_needed)
buildp = ((float)mvec[I_MILIT] / (float)pcp->pl_crew); buildp = MIN(buildp, (float)mvec[I_MILIT] / (float)pcp->pl_crew);
if (mvec[I_LCM] < lcm_needed) 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) 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); build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec)); memset(mvec, 0, sizeof(mvec));
mvec[I_MILIT] = mil_needed = roundavg(pcp->pl_crew * buildp); mvec[I_MILIT] = roundavg(pcp->pl_crew * buildp);
mvec[I_LCM] = lcm_needed = roundavg(pcp->pl_lcm * buildp); mvec[I_LCM] = roundavg(pcp->pl_lcm * buildp);
mvec[I_HCM] = hcm_needed = roundavg(pcp->pl_hcm * buildp); mvec[I_HCM] = roundavg(pcp->pl_hcm * buildp);
get_materials(sp, bp, mvec, 1); get_materials(sp, bp, mvec, 1);
if (carrier) if (carrier)

View file

@ -348,21 +348,18 @@ shiprepair(struct shpstr *ship, struct natstr *np, int *bp, int etus)
memset(mvec, 0, sizeof(mvec)); memset(mvec, 0, sizeof(mvec));
mvec[I_LCM] = lcm_needed = ldround(mp->m_lcm * leftp, 1); mvec[I_LCM] = lcm_needed = ldround(mp->m_lcm * leftp, 1);
mvec[I_HCM] = hcm_needed = ldround(mp->m_hcm * leftp, 1); mvec[I_HCM] = hcm_needed = ldround(mp->m_hcm * leftp, 1);
get_materials(sp, bp, mvec, 0); get_materials(sp, bp, mvec, 0);
if (mvec[I_LCM] >= lcm_needed)
buildp = leftp; buildp = leftp;
else if (mvec[I_LCM] < lcm_needed)
buildp = ((float)mvec[I_LCM] / (float)mp->m_lcm); buildp = MIN(buildp, (float)mvec[I_LCM] / (float)mp->m_lcm);
if (mvec[I_HCM] < hcm_needed) 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); build = ldround(buildp * 100.0, 1);
memset(mvec, 0, sizeof(mvec)); memset(mvec, 0, sizeof(mvec));
mvec[I_LCM] = lcm_needed = roundavg(mp->m_lcm * buildp); mvec[I_LCM] = roundavg(mp->m_lcm * buildp);
mvec[I_HCM] = hcm_needed = roundavg(mp->m_hcm * buildp); mvec[I_HCM] = roundavg(mp->m_hcm * buildp);
get_materials(sp, bp, mvec, 1); get_materials(sp, bp, mvec, 1);
if (sp->sct_type != SCT_HARBR) if (sp->sct_type != SCT_HARBR)