| 3092 | // time. Called once when the program starts from main() or WinMain(). |
| 3093 | |
| 3094 | void InitProgram() |
| 3095 | { |
| 3096 | #ifdef WIN |
| 3097 | char sz[cchSzMax], *pch; |
| 3098 | #endif |
| 3099 | int i; |
| 3100 | |
| 3101 | Assert(starHi == cObj && cObj == objMax-1); |
| 3102 | SetCI(ciDefa, MM, DD, YY, TT, 0, DEFAULT_ZONE, DEFAULT_LONG, DEFAULT_LAT); |
| 3103 | is.S = stdout; |
| 3104 | ClearB((pbyte)szStarCustom, sizeof(szStarCustom)); |
| 3105 | InitRestrictions(fTrue); |
| 3106 | for (i = 0; i < objMax; i++) { |
| 3107 | szObjDisp[i] = szObjName[i]; |
| 3108 | rgobjList[i] = i; |
| 3109 | } |
| 3110 | for (i = 1; i <= cAspect2; i++) { |
| 3111 | szAspectDisp[i] = szAspectName[i]; |
| 3112 | szAspectAbbrevDisp[i] = szAspectAbbrev[i]; |
| 3113 | szAspectGlyphDisp[i] = szAspectGlyph[i]; |
| 3114 | } |
| 3115 | #ifdef INTERPRET |
| 3116 | for (i = 0; i < objMax; i++) |
| 3117 | szMindPart[i] = szMindPartDef[i]; |
| 3118 | for (i = 0; i <= cSign; i++) { |
| 3119 | szDesc[i] = szDescDef[i]; |
| 3120 | szDesire[i] = szDesireDef[i]; |
| 3121 | szLifeArea[i] = szLifeAreaDef[i]; |
| 3122 | } |
| 3123 | for (i = 0; i <= cAspect; i++) { |
| 3124 | szInteract[i] = szInteractDef[i]; |
| 3125 | szTherefore[i] = szThereforeDef[i]; |
| 3126 | } |
| 3127 | #endif |
| 3128 | #ifdef SWISS |
| 3129 | for (i = 0; i < cCust; i++) { |
| 3130 | rgObjSwiss[i] = rgObjSwissDef[i]; |
| 3131 | rgTypSwiss[i] = rgTypSwissDef[i]; |
| 3132 | } |
| 3133 | ClearB((pbyte)rgPntSwiss, sizeof(rgPntSwiss)); |
| 3134 | ClearB((pbyte)rgFlgSwiss, sizeof(rgFlgSwiss)); |
| 3135 | #endif |
| 3136 | #ifdef GRAPH |
| 3137 | InitColorPalette(-1); |
| 3138 | for (i = 0; i < objMaxG; i++) { |
| 3139 | szDrawObject[i] = szDrawObjectDef[i]; |
| 3140 | szDrawObject2[i] = szDrawObjectDef2[i]; |
| 3141 | } |
| 3142 | for (i = 1; i <= cAspect3; i++) { |
| 3143 | szDrawAspect[i] = szDrawAspectDef[i]; |
| 3144 | szDrawAspect2[i] = szDrawAspectDef2[i]; |
| 3145 | } |
| 3146 | #endif |
| 3147 | #ifdef WIN |
| 3148 | GetModuleFileName(wi.hinst, sz, cchSzMax); |
| 3149 | for (pch = sz; *pch; pch++) |
| 3150 | ; |
| 3151 | if (pch - sz > 4 && FEqSz(pch - 4, ".scr")) |
no test coverage detected