The quad global gets pulled into the frozen structure.
[super-star-trek.git] / ai.c
diff --git a/ai.c b/ai.c
index e34eabcfd58a0e6cb242f61fbae5ef7314deeade..6b173b5eb1ca3c8752010ba4ea1cefbf76f19398 100644 (file)
--- a/ai.c
+++ b/ai.c
@@ -187,7 +187,7 @@ static void movebaddy(int comx, int comy, int loccom, int ienm) {
        if (my != 0) my = my*motion < 0 ? -1 : 1;\r
        nextx = comx;\r
        nexty = comy;\r
        if (my != 0) my = my*motion < 0 ? -1 : 1;\r
        nextx = comx;\r
        nexty = comy;\r
-       quad[comx][comy] = IHDOT;\r
+       frozen.quad[comx][comy] = IHDOT;\r
        /* main move loop */\r
        for (ll = 1; ll <= nsteps; ll++) {\r
 #ifdef DEBUG\r
        /* main move loop */\r
        for (ll = 1; ll <= nsteps; ll++) {\r
 #ifdef DEBUG\r
@@ -218,9 +218,9 @@ static void movebaddy(int comx, int comy, int loccom, int ienm) {
                                looky = nexty + krawly;\r
                                krawly = -krawly;\r
                        }\r
                                looky = nexty + krawly;\r
                                krawly = -krawly;\r
                        }\r
-                       else if (quad[lookx][looky] != IHDOT) {\r
+                       else if (frozen.quad[lookx][looky] != IHDOT) {\r
                                /* See if we should ram ship */\r
                                /* See if we should ram ship */\r
-                               if (quad[lookx][looky] == ship &&\r
+                               if (frozen.quad[lookx][looky] == ship &&\r
                                        (ienm == IHC || ienm == IHS)) {\r
                                        ram(1, ienm, comx, comy);\r
                                        return;\r
                                        (ienm == IHC || ienm == IHS)) {\r
                                        ram(1, ienm, comx, comy);\r
                                        return;\r
@@ -250,7 +250,7 @@ static void movebaddy(int comx, int comy, int loccom, int ienm) {
                else break; /* done early */\r
        }\r
        /* Put commander in place within same quadrant */\r
                else break; /* done early */\r
        }\r
        /* Put commander in place within same quadrant */\r
-       quad[nextx][nexty] = ienm;\r
+       frozen.quad[nextx][nexty] = ienm;\r
        if (nextx != comx || nexty != comy) {\r
                /* it moved */\r
                kx[loccom] = nextx;\r
        if (nextx != comx || nexty != comy) {\r
                /* it moved */\r
                kx[loccom] = nextx;\r
@@ -280,7 +280,7 @@ void movcom(void) {
        if (comhere) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
        if (comhere) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
-               if (quad[ix][iy] == IHC) {\r
+               if (frozen.quad[ix][iy] == IHC) {\r
                        movebaddy(ix, iy, i, IHC);\r
                        break;\r
                }\r
                        movebaddy(ix, iy, i, IHC);\r
                        break;\r
                }\r
@@ -288,7 +288,7 @@ void movcom(void) {
        if (ishere) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
        if (ishere) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
-               if (quad[ix][iy] == IHS) {\r
+               if (frozen.quad[ix][iy] == IHS) {\r
                        movebaddy(ix, iy, i, IHS);\r
                        break;\r
                }\r
                        movebaddy(ix, iy, i, IHS);\r
                        break;\r
                }\r
@@ -299,8 +299,8 @@ void movcom(void) {
        if (skill > 3) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
        if (skill > 3) for (i = 1; i <= nenhere; i++) {\r
                ix = kx[i];\r
                iy = ky[i];\r
-               if (quad[ix][iy] == IHK || quad[ix][iy] == IHR)\r
-                       movebaddy(ix, iy, i, quad[ix][iy]);\r
+               if (frozen.quad[ix][iy] == IHK || frozen.quad[ix][iy] == IHR)\r
+                       movebaddy(ix, iy, i, frozen.quad[ix][iy]);\r
        }\r
 \r
        sortkl();\r
        }\r
 \r
        sortkl();\r
@@ -331,8 +331,8 @@ static int checkdest(int iqx, int iqy, int flag, int *ipage) {
                ientesc=0;\r
                future[FSCDBAS]=1e30;\r
                for (i = 1; i <= nenhere; i++) \r
                ientesc=0;\r
                future[FSCDBAS]=1e30;\r
                for (i = 1; i <= nenhere; i++) \r
-                       if (quad[kx[i]][ky[i]] == IHS) break;\r
-               quad[kx[i]][ky[i]] = IHDOT;\r
+                       if (frozen.quad[kx[i]][ky[i]] == IHS) break;\r
+               frozen.quad[kx[i]][ky[i]] = IHDOT;\r
                kx[i] = kx[nenhere];\r
                ky[i] = ky[nenhere];\r
                kdist[i] = kdist[nenhere];\r
                kx[i] = kx[nenhere];\r
                ky[i] = ky[nenhere];\r
                kdist[i] = kdist[nenhere];\r
@@ -572,15 +572,15 @@ void movetho(void) {
        }\r
 \r
        /* Do nothing if we are blocked */\r
        }\r
 \r
        /* Do nothing if we are blocked */\r
-       if (quad[idx][idy]!= IHDOT && quad[idx][idy]!= IHWEB) return;\r
-       quad[ithx][ithy] = IHWEB;\r
+       if (frozen.quad[idx][idy]!= IHDOT && frozen.quad[idx][idy]!= IHWEB) return;\r
+       frozen.quad[ithx][ithy] = IHWEB;\r
 \r
        if (ithx != idx) {\r
                /* move in x axis */\r
                im = fabs((double)idx - ithx)/((double)idx - ithx);\r
                while (ithx != idx) {\r
                        ithx += im;\r
 \r
        if (ithx != idx) {\r
                /* move in x axis */\r
                im = fabs((double)idx - ithx)/((double)idx - ithx);\r
                while (ithx != idx) {\r
                        ithx += im;\r
-                       if (quad[ithx][ithy]==IHDOT) quad[ithx][ithy] = IHWEB;\r
+                       if (frozen.quad[ithx][ithy]==IHDOT) frozen.quad[ithx][ithy] = IHWEB;\r
                }\r
        }\r
        else if (ithy != idy) {\r
                }\r
        }\r
        else if (ithy != idy) {\r
@@ -588,20 +588,20 @@ void movetho(void) {
                im = fabs((double)idy - ithy)/((double)idy - ithy);\r
                while (ithy != idy) {\r
                        ithy += im;\r
                im = fabs((double)idy - ithy)/((double)idy - ithy);\r
                while (ithy != idy) {\r
                        ithy += im;\r
-                       if (quad[ithx][ithy]==IHDOT) quad[ithx][ithy] = IHWEB;\r
+                       if (frozen.quad[ithx][ithy]==IHDOT) frozen.quad[ithx][ithy] = IHWEB;\r
                }\r
        }\r
                }\r
        }\r
-       quad[ithx][ithy] = IHT;\r
+       frozen.quad[ithx][ithy] = IHT;\r
 \r
        /* check to see if all holes plugged */\r
        for (i = 1; i < 11; i++) {\r
 \r
        /* check to see if all holes plugged */\r
        for (i = 1; i < 11; i++) {\r
-               if (quad[1][i]!=IHWEB && quad[1][i]!=IHT) return;\r
-               if (quad[10][i]!=IHWEB && quad[10][i]!=IHT) return;\r
-               if (quad[i][1]!=IHWEB && quad[i][1]!=IHT) return;\r
-               if (quad[i][10]!=IHWEB && quad[i][10]!=IHT) return;\r
+               if (frozen.quad[1][i]!=IHWEB && frozen.quad[1][i]!=IHT) return;\r
+               if (frozen.quad[10][i]!=IHWEB && frozen.quad[10][i]!=IHT) return;\r
+               if (frozen.quad[i][1]!=IHWEB && frozen.quad[i][1]!=IHT) return;\r
+               if (frozen.quad[i][10]!=IHWEB && frozen.quad[i][10]!=IHT) return;\r
        }\r
        /* All plugged up -- Tholian splits */\r
        }\r
        /* All plugged up -- Tholian splits */\r
-       quad[ithx][ithy]=IHWEB;\r
+       frozen.quad[ithx][ithy]=IHWEB;\r
        dropin(IHBLANK, &dum, &my);\r
        crmena(1,IHT, 2, ithx, ithy);\r
        prout(" completes web.");\r
        dropin(IHBLANK, &dum, &my);\r
        crmena(1,IHT, 2, ithx, ithy);\r
        prout(" completes web.");\r