| 1131 | // chart state, such as a menu command was run. Update anything needing it. |
| 1132 | |
| 1133 | void ProcessState() |
| 1134 | { |
| 1135 | int cmd; |
| 1136 | |
| 1137 | if (wi.fCast) // Recasting a chart implies redrawing it too. |
| 1138 | wi.fRedraw = fTrue; |
| 1139 | |
| 1140 | // If the chart type was changed, clear all the setting flags, then set the |
| 1141 | // appropriate core switch settings based on the new chart type. |
| 1142 | |
| 1143 | if (wi.nMode) { |
| 1144 | ClearB((pbyte)&us.fListing, |
| 1145 | (int)((pbyte)&us.fVelocity - (pbyte)&us.fListing)); |
| 1146 | ClearB((pbyte)&us.fCredit, |
| 1147 | (int)((pbyte)&us.fLoop - (pbyte)&us.fCredit)); |
| 1148 | gi.nMode = 0; |
| 1149 | switch (wi.nMode) { |
| 1150 | case gBiorhythm: |
| 1151 | case gWheel: us.fListing = fTrue; break; |
| 1152 | case gHouse: us.fWheel = fTrue; break; |
| 1153 | case gGrid: us.fGrid = fTrue; break; |
| 1154 | case gHorizon: us.fHorizon = fTrue; break; |
| 1155 | case gOrbit: us.fOrbit = fTrue; break; |
| 1156 | case gSector: us.fSector = fTrue; break; |
| 1157 | case gAstroGraph: us.fAstroGraph = fTrue; break; |
| 1158 | case gEphemeris: us.fEphemeris = fTrue; break; |
| 1159 | case gRising: us.fHorizonSearch = fTrue; break; |
| 1160 | case gLocal: us.fAtlasNear = fTrue; break; |
| 1161 | case gSphere: gi.nMode = gSphere; break; |
| 1162 | case gWorldMap: gi.nMode = gWorldMap; break; |
| 1163 | case gGlobe: gi.nMode = gGlobe; break; |
| 1164 | case gPolar: gi.nMode = gPolar; break; |
| 1165 | case gTelescope: gi.nMode = gTelescope; break; |
| 1166 | case gCalendar: us.fCalendar = fTrue; break; |
| 1167 | case gDisposit: us.fInfluence = fTrue; break; |
| 1168 | case gEsoteric: us.fEsoteric = fTrue; break; |
| 1169 | case gAspect: us.fAspList = fTrue; break; |
| 1170 | case gMidpoint: us.fMidpoint = fTrue; break; |
| 1171 | case gArabic: us.fArabic = fTrue; break; |
| 1172 | case gMoons: us.fMoonChart = fTrue; break; |
| 1173 | case gExo: us.fExoTransit = fTrue; break; |
| 1174 | case gTraTraTim: us.fInDay = fTrue; break; |
| 1175 | case gTraTraInf: us.fInDayInf = fTrue; break; |
| 1176 | case gTraTraGra: us.fInDayGra = fTrue; break; |
| 1177 | case gTraNatTim: us.fTransit = fTrue; break; |
| 1178 | case gTraNatInf: us.fTransitInf = fTrue; break; |
| 1179 | case gTraNatGra: us.fTransitGra = fTrue; break; |
| 1180 | case gSign: us.fSign = fTrue; break; |
| 1181 | case gObject: us.fObject = fTrue; break; |
| 1182 | case gHelpAsp: us.fAspect = fTrue; break; |
| 1183 | case gConstel: us.fConstel = fTrue; break; |
| 1184 | case gPlanet: us.fOrbitData = fTrue; break; |
| 1185 | case gRay: us.fRay = fTrue; break; |
| 1186 | case gMeaning: us.fMeaning = fTrue; break; |
| 1187 | case gSwitch: us.fSwitch = fTrue; break; |
| 1188 | case gObscure: us.fSwitchRare = fTrue; break; |
| 1189 | case gKeystroke: us.fKeyGraph = fTrue; break; |
| 1190 | case gCredit: us.fCredit = fTrue; break; |