]> git.pond.sub.org Git - empserver/commitdiff
(PRI_SMAINT, PRI_PMAINT, PRI_LMAINT, PRI_SBUILD, PRI_PBUILD,
authorMarkus Armbruster <armbru@pond.sub.org>
Thu, 19 Aug 2004 16:59:36 +0000 (16:59 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Thu, 19 Aug 2004 16:59:36 +0000 (16:59 +0000)
PRI_LBUILD): Turn macros into enumeration constants.  Value
SCT_MAXDEF+1 was previously unused; use it.
(PRI_MAX): New; replacing the horrible SCT_MAXDEF+8.

(show_sect_build): Simply examine all sector types, don't skip the
first five.  The code ignores them just fine.

(show_sect_build, show_sect_stats, show_sect_capab): Don't try to show
sector types beyond SCT_MAXDEF.  The table has some empty extra slots,
for whatever reasons; no use examining them.

include/nat.h
src/lib/commands/add.c
src/lib/commands/budg.c
src/lib/subs/show.c
src/lib/update/main.c
src/util/files.c

index 5b94b89f47296ab47165bfc785f388203cfdbf3b..1ff81663213e0f22631085403e4f0bce2c612a94 100644 (file)
 
 #define        MAXNOR          50      /* max # realms */
 
+enum {                         /* Priorities */
+    /* sector types are also priorities */
+    PRI_SMAINT = SCT_MAXDEF+1, /* ship maintenance */
+    PRI_PMAINT,                        /* plane maintenance */
+    PRI_LMAINT,                        /* land unit maintenance */
+    PRI_SBUILD,                        /* ship building */
+    PRI_PBUILD,                        /* plane building */
+    PRI_LBUILD,                        /* land building */
+    PRI_MAX = PRI_LBUILD
+};
+
 struct boundstr {
     short b_xl, b_xh;          /* horizontal bounds */
     short b_yl, b_yh;          /* vertical bounds */
@@ -75,20 +86,12 @@ struct natstr {
     struct boundstr nat_b[MAXNOR];     /* realm bounds */
     short nat_relate[MAXNOC];
     short nat_contact[MAXNOC];
-    short nat_rejects[(MAXNOC + 3) / 4];       /* four bits for each country */
-    s_char nat_priorities[SCT_MAXDEF + 8];     /* priority for each SCT_MAXDEF+8 */
+    short nat_rejects[(MAXNOC + 3) / 4]; /* four bits for each country */
+    s_char nat_priorities[PRI_MAX+1]; /* budget priority */
     long nat_flags;            /* nation flags */
     char nat_spare[15];
 };
 
-       /* Priorities */
-#define        PRI_SMAINT      SCT_MAXDEF+2
-#define PRI_PMAINT     SCT_MAXDEF+3
-#define PRI_LMAINT     SCT_MAXDEF+4
-#define PRI_SBUILD     SCT_MAXDEF+5
-#define PRI_PBUILD     SCT_MAXDEF+6
-#define PRI_LBUILD     SCT_MAXDEF+7
-
        /* nation status types */
 #define STAT_INUSE     bit(0)  /* cnum in use */
 #define STAT_SANCT     bit(1)  /* country in sanctuary */
index ea6d0926ec34cbfe4e9f7525b2fc00a8bef6cdf8..5ff45b30ce59e23e3ede64fb4eeb52e31a40aceb 100644 (file)
@@ -230,7 +230,7 @@ add(void)
     } else
        pr("No special initializations done...\n");
 
-    for (i = 0; i < SCT_MAXDEF + 8; i++)
+    for (i = 0; i <= PRI_MAX; i++)
        natp->nat_priorities[i] = -1;
     natp->nat_flags =
        NF_FLASH | NF_BEEP | NF_COASTWATCH | NF_SONAR | NF_TECHLISTS;
index 36908dabccf42a3b7216a264ea0eeecc1e8b43cc..24d5da0fcda6191c04a1b4ecde10bea2f6d749cc 100644 (file)
@@ -65,7 +65,7 @@ budg(void)
 {
     s_char stype = 0, *pq;
     int priority, x;
-    long p_sect[SCT_MAXDEF + 1][2];
+    long p_sect[SCT_MAXDEF+1][2];
     int taxes = 0, bars = 0, mil = 0;
     int Ncivs = 0, Nuws = 0, Nbars = 0;
     int n, etu;
@@ -108,11 +108,11 @@ budg(void)
     if (pq != (s_char *)0) {
        if (isdigit(*pq)) {
            priority = (atoi(pq) < 0 ? -1 * atoi(pq) : atoi(pq));
-           if (priority >= SCT_MAXDEF + 8) {
-               pr("Priorities must be less than %d!\n", SCT_MAXDEF + 8);
+           if (priority > PRI_MAX) {
+               pr("Priorities must be less than %d!\n", PRI_MAX + 1);
                return RET_FAIL;
            }
-           for (x = 0; x < SCT_MAXDEF + 8; x++)
+           for (x = 0; x <= PRI_MAX; x++)
                if (priority && (np->nat_priorities[x] == priority)) {
                    pr("Priorities must be unique!\n");
                    return RET_FAIL;
@@ -158,7 +158,7 @@ budg(void)
            }
        }
        if (which == -1) {
-           for (x = 0; x < SCT_MAXDEF + 8; x++) {
+           for (x = 0; x <= PRI_MAX; x++) {
                np->nat_priorities[x] = -1;
            }
        } else {
@@ -175,7 +175,7 @@ budg(void)
 
     income = taxes + bars;
     pr("Sector Type\t\tAbbr\tProduction\tPriority\t    Cost\n");
-    for (x = 0; x < SCT_MAXDEF + 1; x++) {
+    for (x = 0; x <= SCT_MAXDEF; x++) {
        if (!p_sect[x][1] && np->nat_priorities[x] == -1)
            continue;
        if (!pchr[dchr[x].d_prd].p_cost &&
@@ -355,8 +355,8 @@ calc_all(long int (*p_sect)[2], int *taxes, int *Ncivs, int *Nuws,
 
     *mil += (int)upd_slmilcosts(np->nat_cnum, etu);
 
-    for (y = 1; y < SCT_MAXDEF + 8; y++) {
-       for (z = 0; z < SCT_MAXDEF + 8; z++)
+    for (y = 1; y <= PRI_MAX; y++) {
+       for (z = 0; z <= PRI_MAX; z++)
            if (np->nat_priorities[z] == y)
                switch (z) {
                case PRI_SMAINT:
index 9caccd8d7f46de7473fbe8261ba9cf3b9e9def62..fa8cd3d78508ac68e24824f138242e0d2590c514 100644 (file)
@@ -624,7 +624,7 @@ show_sect_build(int foo)
 {
     register int x, first = 1;
 
-    for (x = 5; x < SCT_MAXDEF + 2; x++) {
+    for (x = 0; x <= SCT_MAXDEF; x++) {
        if (dchr[x].d_mnem == 0)
            continue;
        if ((dchr[x].d_cost > 0) || (dchr[x].d_build != 1) ||
@@ -658,7 +658,7 @@ show_sect_stats(int foo)
     natp = getnatp(player->cnum);
     /* We fake this */
     sect.sct_effic = 100;
-    for (x = 0; x < SCT_MAXDEF + 2; x++) {
+    for (x = 0; x <= SCT_MAXDEF; x++) {
        if (dchr[x].d_mnem == 0)
            continue;
        if (first) {
@@ -686,7 +686,7 @@ show_sect_capab(int foo)
     register int x, first = 1, i, j;
     char *tmpstr;
 
-    for (x = 0; x < SCT_MAXDEF + 2; x++) {
+    for (x = 0; x <= SCT_MAXDEF; x++) {
        if ((dchr[x].d_mnem == 0) || (dchr[x].d_prd == 0))
            continue;
        if (first) {
index 4592ef343dc43c1b4109e9c73e5c5925f0f40197..7961b9207d7750ab56e204ca1b7b25f6265793a9 100644 (file)
@@ -112,7 +112,7 @@ update_main(void *unused)
     logerror("producing for countries...");
     for (x = 0; x < MAXNOC; x++) {
        int y, z, sb = 0, sm = 0, pb = 0, pm = 0, lm = 0, lb = 0;
-       long p_sect[SCT_MAXDEF + 1][2];
+       long p_sect[SCT_MAXDEF+1][2];
 
        memset(p_sect, 0, sizeof(p_sect));
        mil_dbl_pay = 0;
@@ -126,8 +126,8 @@ update_main(void *unused)
        }
        np->nat_money += (int)(np->nat_reserve * money_res * etu);
 
-       for (y = 1; y < SCT_MAXDEF + 8; y++) {
-           for (z = 0; z < SCT_MAXDEF + 8; z++) {
+       for (y = 1; y <= PRI_MAX; y++) {
+           for (z = 0; z <= PRI_MAX; z++) {
                if (np->nat_priorities[z] == y) {
                    do_prod(z, etu, x, bp, p_sect,
                            &sb, &sm, &pb, &pm, &lb, &lm);
index 15c692eb716c2ad5936d21370692835cd8424981..9faa4009daecf9f18a99a6d7912a24d9b1a0c1bb 100644 (file)
@@ -138,8 +138,8 @@ main(int argc, char *argv[])
     nat.nat_money = 123456789;
     nat.nat_cnum = 0;
     nat.nat_flags |= NF_FLASH;
-    for (x = 0; x < SCT_MAXDEF + 8; x++)
-       nat.nat_priorities[x] = -1;
+    for (i = 0; i <= PRI_MAX; i++)
+       nat.nat_priorities[i] = -1;
     putnat((&nat));
     printf("All praise to %s!\n", nat.nat_cnam);
     memset(&nat, 0, sizeof(nat));