The quad global gets pulled into the frozen structure.
[super-star-trek.git] / setup.c
diff --git a/setup.c b/setup.c
index 6484243bb9879f24d3faac343f9eb8c3124814b6..5c3174878314156308b9fc8e53236dbca1836fac 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -38,7 +38,6 @@ void freeze(int boss) {
        }\r
        fwrite(&state, sizeof(state), 1, fp);\r
        fwrite(&snapsht, sizeof(snapsht), 1, fp);\r
-       fwrite(quad, sizeof(quad), 1, fp);\r
        fwrite(kx, sizeof(kx), 1, fp);\r
        fwrite(ky, sizeof(ky), 1, fp);\r
        fwrite(starch, sizeof(starch), 1, fp);\r
@@ -82,7 +81,6 @@ void thaw(void) {
        }\r
        fread(&state, sizeof(state), 1, fp);\r
        fread(&snapsht, sizeof(snapsht), 1, fp);\r
-       fread(quad, sizeof(quad), 1, fp);\r
        fread(kx, sizeof(kx), 1, fp);\r
        fread(ky, sizeof(ky), 1, fp);\r
        fread(starch, sizeof(starch), 1, fp);\r
@@ -161,13 +159,13 @@ void abandn(void) {
                }\r
                for (;;) {\r
                        /* position next to base by trial and error */\r
-                       quad[sectx][secty] = IHDOT;\r
+                       frozen.quad[sectx][secty] = IHDOT;\r
                        for (l = 1; l <= 10; l++) {\r
                                sectx = 3.0*Rand() - 1.0 + basex;\r
                                secty = 3.0*Rand() - 1.0 + basey;\r
                                if (sectx >= 1 && sectx <= 10 &&\r
                                        secty >= 1 && secty <= 10 &&\r
-                                       quad[sectx][secty] == IHDOT) break;\r
+                                       frozen.quad[sectx][secty] == IHDOT) break;\r
                        }\r
                        if (l < 11) break; /* found a spot */\r
                        sectx=5;\r
@@ -176,7 +174,7 @@ void abandn(void) {
                }\r
        }\r
        /* Get new commission */\r
-       quad[sectx][secty] = ship = IHF;\r
+       frozen.quad[sectx][secty] = ship = IHF;\r
        prout("Starfleet puts you in command of another ship,");\r
        prout("the Faerie Queene, which is antiquated but,");\r
        prout("still useable.");\r
@@ -498,8 +496,8 @@ int choose(void) {
 \r
 void dropin(int iquad, int *ix, int *iy) {\r
        do iran10(ix, iy);\r
-       while (quad[*ix][*iy] != IHDOT);\r
-       quad[*ix][*iy] = iquad;\r
+       while (frozen.quad[*ix][*iy] != IHDOT);\r
+       frozen.quad[*ix][*iy] = iquad;\r
 }\r
 \r
 void newcnd(void) {\r
@@ -538,7 +536,7 @@ void newqad(int shutup) {
        }\r
        // Clear quadrant\r
        for (i=1; i <= 10; i++)\r
-               for (j=1; j <= 10; j++) quad[i][j] = IHDOT;\r
+               for (j=1; j <= 10; j++) frozen.quad[i][j] = IHDOT;\r
        // cope with supernova\r
        if (quadnum > 999) {\r
                return;\r
@@ -549,7 +547,7 @@ void newqad(int shutup) {
        nenhere = klhere + irhere;\r
 \r
        // Position Starship\r
-       quad[sectx][secty] = ship;\r
+       frozen.quad[sectx][secty] = ship;\r
 \r
        // Decide if quadrant needs a Tholian\r
        if ((skill < 3 && Rand() <= 0.02) ||   /* Lighten up if skill is low */\r
@@ -562,14 +560,14 @@ void newqad(int shutup) {
                do {\r
                        ithx = Rand() > 0.5 ? 10 : 1;\r
                        ithy = Rand() > 0.5 ? 10 : 1;\r
-               } while (quad[ithx][ithy] != IHDOT);\r
-               quad[ithx][ithy] = IHT;\r
+               } while (frozen.quad[ithx][ithy] != IHDOT);\r
+               frozen.quad[ithx][ithy] = IHT;\r
                ithere = 1;\r
                /* Reserve unocupied corners */\r
-               if (quad[1][1]==IHDOT) quad[1][1] = 'X';\r
-               if (quad[1][10]==IHDOT) quad[1][10] = 'X';\r
-               if (quad[10][1]==IHDOT) quad[10][1] = 'X';\r
-               if (quad[10][10]==IHDOT) quad[10][10] = 'X';\r
+               if (frozen.quad[1][1]==IHDOT) frozen.quad[1][1] = 'X';\r
+               if (frozen.quad[1][10]==IHDOT) frozen.quad[1][10] = 'X';\r
+               if (frozen.quad[10][1]==IHDOT) frozen.quad[10][1] = 'X';\r
+               if (frozen.quad[10][10]==IHDOT) frozen.quad[10][10] = 'X';\r
        }\r
 \r
        if (quadnum >= 100) {\r
@@ -587,14 +585,14 @@ void newqad(int shutup) {
                        if (state.cx[i]==quadx && state.cy[i]==quady) break;\r
                        \r
                if (i <= state.remcom) {\r
-                       quad[ix][iy] = IHC;\r
+                       frozen.quad[ix][iy] = IHC;\r
                        kpower[klhere] = 950.0+400.0*Rand()+50.0*skill;\r
                        comhere = 1;\r
                }\r
 \r
                // If we need a super-commander, promote a Klingon\r
                if (quadx == state.isx && quady == state.isy) {\r
-                       quad[kx[1]][ky[1]] = IHS;\r
+                       frozen.quad[kx[1]][ky[1]] = IHS;\r
                        kpower[1] = 1175.0 + 400.0*Rand() + 125.0*skill;\r
                        iscate = 1;\r
                        ishere = 1;\r
@@ -661,10 +659,10 @@ void newqad(int shutup) {
 \r
        // Take out X's in corners if Tholian present\r
        if (ithere) {\r
-               if (quad[1][1]=='X') quad[1][1] = IHDOT;\r
-               if (quad[1][10]=='X') quad[1][10] = IHDOT;\r
-               if (quad[10][1]=='X') quad[10][1] = IHDOT;\r
-               if (quad[10][10]=='X') quad[10][10] = IHDOT;\r
+               if (frozen.quad[1][1]=='X') frozen.quad[1][1] = IHDOT;\r
+               if (frozen.quad[1][10]=='X') frozen.quad[1][10] = IHDOT;\r
+               if (frozen.quad[10][1]=='X') frozen.quad[10][1] = IHDOT;\r
+               if (frozen.quad[10][10]=='X') frozen.quad[10][10] = IHDOT;\r
        }               \r
 }\r
 \r