Another step in coalescing all the globals.
[super-star-trek.git] / moving.c
index 24c9643e6187cc3e054a4b94ece8d303443b1ff3..0f53518da8b334475627d6881e59ddeb999ced82 100644 (file)
--- a/moving.c
+++ b/moving.c
@@ -24,11 +24,11 @@ void move(void) {
        deltax /= bigger;\r
 \r
        /* If tractor beam is to occur, don't move full distance */\r
-       if (state.date+Time >= future[FTBEAM]) {\r
+       if (state.date+Time >= frozen.future[FTBEAM]) {\r
                trbeam = 1;\r
                condit = IHRED;\r
-               dist = dist*(future[FTBEAM]-state.date)/Time + 0.1;\r
-               Time = future[FTBEAM] - state.date + 1e-5;\r
+               dist = dist*(frozen.future[FTBEAM]-state.date)/Time + 0.1;\r
+               Time = frozen.future[FTBEAM] - state.date + 1e-5;\r
        }\r
        /* Move within the quadrant */\r
        frozen.quad[sectx][secty] = IHDOT;\r
@@ -46,9 +46,9 @@ void move(void) {
                                if (nenhere != 0 && iattak != 2) {\r
                                        newcnd();\r
                                        for (l = 1; l <= nenhere; l++) {\r
-                                               finald = sqrt((ix-kx[l])*(double)(ix-kx[l]) +\r
-                                                                         (iy-ky[l])*(double)(iy-ky[l]));\r
-                                               kavgd[l] = 0.5 * (finald+kdist[l]);\r
+                                               finald = sqrt((ix-frozen.kx[l])*(double)(ix-frozen.kx[l]) +\r
+                                                                         (iy-frozen.ky[l])*(double)(iy-frozen.ky[l]));\r
+                                               frozen.kavgd[l] = 0.5 * (finald+frozen.kdist[l]);\r
                                        }\r
                                        if (state.galaxy[quadx][quady] != 1000) attack(0);\r
                                        if (alldone) return;\r
@@ -173,15 +173,15 @@ label100:
        frozen.quad[sectx][secty] = ship;\r
        if (nenhere) {\r
                for (l = 1; l <= nenhere; l++) {\r
-                       finald = sqrt((ix-kx[l])*(double)(ix-kx[l]) +\r
-                                                 (iy-ky[l])*(double)(iy-ky[l]));\r
-                       kavgd[l] = 0.5 * (finald+kdist[l]);\r
-                       kdist[l] = finald;\r
+                       finald = sqrt((ix-frozen.kx[l])*(double)(ix-frozen.kx[l]) +\r
+                                                 (iy-frozen.ky[l])*(double)(iy-frozen.ky[l]));\r
+                       frozen.kavgd[l] = 0.5 * (finald+frozen.kdist[l]);\r
+                       frozen.kdist[l] = finald;\r
                }\r
                sortkl();\r
                if (state.galaxy[quadx][quady] != 1000 && iattak == 0)\r
                        attack(0);\r
-               for (l = 1 ; l <= nenhere; l++) kavgd[l] = kdist[l];\r
+               for (l = 1 ; l <= nenhere; l++) frozen.kavgd[l] = frozen.kdist[l];\r
        }\r
        newcnd();\r
        iattak = 0;\r
@@ -210,7 +210,7 @@ void dock(void) {
        torps = intorps;\r
        lsupres = inlsr;\r
        if (stdamtim != 1e30 &&\r
-               (future[FCDBAS] < 1e30 || isatb == 1) && iseenit == 0) {\r
+               (frozen.future[FCDBAS] < 1e30 || isatb == 1) && iseenit == 0) {\r
                /* get attack report from base */\r
                prout("Lt. Uhura- \"Captain, an important message from the starbase:\"");\r
                attakreport();\r
@@ -247,7 +247,7 @@ static void getcd(int isprobe, int akey) {
                return;\r
        }\r
        while (automatic == -1) {\r
-               if (damage[DCOMPTR]) {\r
+               if (frozen.damage[DCOMPTR]) {\r
                        if (isprobe)\r
                                prout("Computer damaged; manual navigation only");\r
                        else\r
@@ -410,7 +410,7 @@ void impuls(void) {
        double power;\r
 \r
        ididit = 0;\r
-       if (damage[DIMPULS]) {\r
+       if (frozen.damage[DIMPULS]) {\r
                chew();\r
                skip(1);\r
                prout("Engineer Scott- \"The impulse engines are damaged, Sir.\"");\r
@@ -467,13 +467,13 @@ void warp(int i) {
 \r
        if (i!=2) { /* Not WARPX entry */\r
                ididit = 0;\r
-               if (damage[DWARPEN] > 10.0) {\r
+               if (frozen.damage[DWARPEN] > 10.0) {\r
                        chew();\r
                        skip(1);\r
                        prout("Engineer Scott- \"The impulse engines are damaged, Sir.\"");\r
                        return;\r
                }\r
-               if (damage[DWARPEN] > 0.0 && warpfac > 4.0) {\r
+               if (frozen.damage[DWARPEN] > 0.0 && warpfac > 4.0) {\r
                        chew();\r
                        skip(1);\r
                        prout("Engineer Scott- \"Sorry, Captain. Until this damage");\r
@@ -584,7 +584,7 @@ void warp(int i) {
        Time = 10.0*dist/wfacsq;\r
        if (twarp) timwrp();\r
        if (blooey) {\r
-               damage[DWARPEN] = damfac*(3.0*Rand()+1.0);\r
+               frozen.damage[DWARPEN] = damfac*(3.0*Rand()+1.0);\r
                skip(1);\r
                prout("Engineering to bridge--");\r
                prout("  Scott here.  The warp engines are damaged.");\r
@@ -609,11 +609,11 @@ void setwrp(void) {
                huh();\r
                return;\r
        }\r
-       if (damage[DWARPEN] > 10.0) {\r
+       if (frozen.damage[DWARPEN] > 10.0) {\r
                prout("Warp engines inoperative.");\r
                return;\r
        }\r
-       if (damage[DWARPEN] > 0.0 && aaitem > 4.0) {\r
+       if (frozen.damage[DWARPEN] > 0.0 && aaitem > 4.0) {\r
                prout("Engineer Scott- \"I'm doing my best, Captain,\n"\r
                          "  but right now we can only go warp 4.\"");\r
                return;\r
@@ -653,7 +653,7 @@ void atover(int igrab) {
        chew();\r
        /* is captain on planet? */\r
        if (landed==1) {\r
-               if (damage[DTRANSP]) {\r
+               if (frozen.damage[DTRANSP]) {\r
                        finish(FPNOVA);\r
                        return;\r
                }\r
@@ -703,10 +703,10 @@ void atover(int igrab) {
                crmshp();\r
                skip(1);\r
                prout("safely out of quadrant.");\r
-               starch[quadx][quady] = damage[DRADIO] > 0.0 ? state.galaxy[quadx][quady]+1000:1;\r
+               frozen.starch[quadx][quady] = frozen.damage[DRADIO] > 0.0 ? state.galaxy[quadx][quady]+1000:1;\r
 \r
                /* Try to use warp engines */\r
-               if (damage[DWARPEN]) {\r
+               if (frozen.damage[DWARPEN]) {\r
                        skip(1);\r
                        prout("Warp engines damaged.");\r
                        finish(FSNOVAED);\r
@@ -750,15 +750,15 @@ void timwrp() {
                state = snapsht;\r
                state.snap = 0;\r
                if (state.remcom) {\r
-                       future[FTBEAM] = state.date + expran(intime/state.remcom);\r
-                       future[FBATTAK] = state.date + expran(0.3*intime);\r
+                       frozen.future[FTBEAM] = state.date + expran(intime/state.remcom);\r
+                       frozen.future[FBATTAK] = state.date + expran(0.3*intime);\r
                }\r
-               future[FSNOVA] = state.date + expran(0.5*intime);\r
-               future[FSNAP] = state.date +expran(0.25*state.remtime); /* next snapshot will\r
+               frozen.future[FSNOVA] = state.date + expran(0.5*intime);\r
+               frozen.future[FSNAP] = state.date +expran(0.25*state.remtime); /* next snapshot will\r
                                                                                                           be sooner */\r
-               if (state.nscrem) future[FSCMOVE] = 0.2777;\r
+               if (state.nscrem) frozen.future[FSCMOVE] = 0.2777;\r
                isatb = 0;\r
-               future[FCDBAS] = future[FSCDBAS] = 1e30;\r
+               frozen.future[FCDBAS] = frozen.future[FSCDBAS] = 1e30;\r
                batx = baty = 0;\r
 \r
                /* Make sure Galileo is consistant -- Snapshot may have been taken\r
@@ -775,19 +775,19 @@ void timwrp() {
                }\r
                /* Likewise, if in the original time the Galileo was abandoned, but\r
                   was on ship earlier, it would have vanished -- lets restore it */\r
-               if (iscraft==0 && gotit==0 && damage[DSHUTTL] >= 0.0) {\r
+               if (iscraft==0 && gotit==0 && frozen.damage[DSHUTTL] >= 0.0) {\r
                        prout("Checkov-  \"Security reports the Galileo has reappeared in the dock!\"");\r
                        iscraft = 1;\r
                }\r
 \r
                /* Revert star chart to earlier era, if it was known then*/\r
-               if (damage[DRADIO]==0.0 || stdamtim > state.date) {\r
+               if (frozen.damage[DRADIO]==0.0 || stdamtim > state.date) {\r
                        for (l = 1; l <= 8; l++)\r
                                for (ll = 1; ll <= 8; ll++)\r
-                                       if (starch[l][ll] > 1)\r
-                                               starch[l][ll]=damage[DRADIO]>0.0 ? state.galaxy[l][ll]+1000 :1;\r
+                                       if (frozen.starch[l][ll] > 1)\r
+                                               frozen.starch[l][ll]=frozen.damage[DRADIO]>0.0 ? state.galaxy[l][ll]+1000 :1;\r
                        prout("Spock has reconstructed a correct star chart from memory");\r
-                       if (damage[DRADIO] > 0.0) stdamtim = state.date;\r
+                       if (frozen.damage[DRADIO] > 0.0) stdamtim = state.date;\r
                }\r
        }\r
        else {\r
@@ -797,8 +797,8 @@ void timwrp() {
                cramf(Time, 1, 2);\r
                prout(" stardates.");\r
                /* cheat to make sure no tractor beams occur during time warp */\r
-               future[FTBEAM] += Time;\r
-               damage[DRADIO] += Time;\r
+               frozen.future[FTBEAM] += Time;\r
+               frozen.damage[DRADIO] += Time;\r
        }\r
        newqad(0);\r
 }\r
@@ -816,16 +816,16 @@ void probe(void) {
                        prout("Ye Faerie Queene has no deep space probes.");\r
                return;\r
        }\r
-       if (damage[DDSP] != 0.0) {\r
+       if (frozen.damage[DDSP] != 0.0) {\r
                chew();\r
                skip(1);\r
                prout("Engineer Scott- \"The probe launcher is damaged, Sir.\"");\r
                return;\r
        }\r
-       if (future[FDSPROB] != 1e30) {\r
+       if (frozen.future[FDSPROB] != 1e30) {\r
                chew();\r
                skip(1);\r
-               if (damage[DRADIO] != 0 && condit != IHDOCKED) {\r
+               if (frozen.damage[DRADIO] != 0 && condit != IHDOCKED) {\r
                        prout("Spock-  \"Records show the previous probe has not yet");\r
                        prout("   reached its destination.\"");\r
                }\r
@@ -870,7 +870,7 @@ void probe(void) {
        probey = quady*10 + secty - 1;\r
        probecx = quadx;\r
        probecy = quady;\r
-       future[FDSPROB] = state.date + 0.01; // Time to move one sector\r
+       frozen.future[FDSPROB] = state.date + 0.01; // Time to move one sector\r
        prout("Ensign Chekov-  \"The deep space probe is launched, Captain.\"");\r
        return;\r
 }\r
@@ -886,7 +886,7 @@ void help(void) {
                prout("Lt. Uhura-  \"But Captain, we're already docked.\"");\r
                return;\r
        }\r
-       if (damage[DRADIO] != 0) {\r
+       if (frozen.damage[DRADIO] != 0) {\r
                prout("Subspace radio damaged.");\r
                return;\r
        }\r