home *** CD-ROM | disk | FTP | other *** search
/ Sports Illustrated Swimsuit Calendar 1994 / SISWIM.iso / sisetup / setupcc.mst < prev    next >
Text File  |  1994-09-19  |  58KB  |  1,564 lines

  1. '' setupcc.mst -- MS Setup script to install Calendar Creator Windows,
  2. ''                ** v 2.02 Sports Illustrated Swimsuit Calendar **
  3. ''  latest rev date:  8/15/94  /dfg
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7.  
  8. '' dialog IDs
  9. CONST WELCOME=100
  10. CONST ASKQUITD=200
  11. CONST PROG_PATH=300
  12. CONST ART_PATH=350
  13. CONST FILTERS_PATH=375
  14. CONST GETARTPATH=386
  15. CONST GETELPATH=387
  16. CONST GETWSPATH=388
  17. CONST DATAPATH=390
  18. CONST NET_FILTERS_PATH=395
  19. CONST NET_ART_PATH=397
  20. CONST EXITFAILURE=400
  21. CONST EXITQUIT=600
  22. CONST EXITSUCCESS=700
  23. CONST ART_DLG=850
  24. CONST CUSTINST=6200
  25. CONST TOOBIG=6300
  26. CONST TOOBIG2=6350
  27. CONST BADPATH=6400
  28. CONST PREV_INST=6500
  29. CONST NEW_INST=6501
  30. CONST NEW_PATH=6502
  31. CONST INI_ENTRIES=6505
  32. CONST WARN_BOTH=6506
  33. CONST WARN_PRES=6507
  34. CONST WARN_HOL=6508
  35. CONST WARN_WIN30=6509
  36. CONST WARN_OTHER_FM=6510
  37. CONST GETINFO=7500
  38. CONST NODESETUP=7600
  39. CONST NETWORK_INFO=7700
  40.  
  41. '' art category checkbox elements
  42. CONST STATUS=1
  43. CONST SECTION=3
  44. CONST ITEMCOST=5
  45. CONST ALBUM=6
  46. CONST ALBUM_SECTION=7
  47. CONST ALBUM_COST=8
  48. CONST DEFAULT_STATUS=9
  49.  
  50. CONST OPT_CLIP_ART=4
  51.  
  52. '' setup mode
  53. CONST ADMIN=1
  54. CONST NORMAL=2
  55. CONST NODE=3
  56. CONST NETWORK=4
  57.  
  58. '' script vars
  59. GLOBAL NEWPATH$
  60. GLOBAL DEST$
  61. GLOBAL DEST_ART$
  62. GLOBAL DEST_FILTERS$
  63. GLOBAL WINDRIVE$
  64. GLOBAL PROGDRIVE$
  65. GLOBAL ARTDRIVE$
  66. GLOBAL FILTERSDRIVE$
  67. GLOBAL WORKING_DEST$
  68. GLOBAL EXE_PATH$
  69. GLOBAL NAME_STR$
  70. GLOBAL ORG_STR$
  71. GLOBAL DATA_PATH$
  72. GLOBAL TTF_PATH$
  73. GLOBAL PROG_COST$
  74. GLOBAL FILTERS_COST$
  75. GLOBAL SEL_COST$
  76. GLOBAL IEL_COST$
  77. GLOBAL WRKSPC_COST$
  78. GLOBAL ART_COST$
  79. GLOBAL ART_HOL_REL_COST$
  80. GLOBAL ART_BUS_GOV_COST$
  81. GLOBAL ART_HOL_GOV_COST$
  82. GLOBAL ART_PER_HOL_COST$
  83. GLOBAL nWinDrive%
  84. GLOBAL WinVer30
  85. GLOBAL PREV_INSTALL$
  86. GLOBAL CUIDLL$
  87. GLOBAL STR_REQ$
  88. GLOBAL STR_AVAIL$
  89. GLOBAL DIALOG_LIST$
  90. GLOBAL CURRENT_DLG$
  91. GLOBAL CHK_PROG_FILES$
  92. GLOBAL CHK_STD_EVNT_LST$
  93. GLOBAL CHK_INTL_EVNT_LST$
  94. GLOBAL CHK_WORK_SPCS$
  95. GLOBAL CHK_CLIP_ART$
  96. GLOBAL CHK_AUTO_LAUNCH$
  97. GLOBAL RAD_ALBUM_ONLY$  '' dfg
  98. GLOBAL RAD_BUILD_ALBUM$
  99. GLOBAL RAD_ART_ONLY$
  100. GLOBAL STR_PROG_PATH$
  101. GLOBAL STR_CLIP_ART_PATH$
  102. GLOBAL STR_FILTERS_PATH$
  103. GLOBAL STR_REQ_PROG$
  104. GLOBAL STR_REQ_CLIP_ART$
  105. GLOBAL STR_REQ_FILTERS$
  106. GLOBAL STR_AVAIL_PROG$
  107. GLOBAL STR_AVAIL_ART$
  108. GLOBAL STR_AVAIL_FILTERS$
  109. GLOBAL STR_REQ_PROG2$
  110. GLOBAL STR_REQ_SEL$
  111. GLOBAL STR_REQ_IEL$
  112. GLOBAL STR_REQ_WK_SPC$
  113. GLOBAL STR_REQ_CLIP_ART2$
  114. GLOBAL DIA%
  115. GLOBAL _SEL$
  116. GLOBAL DIA_IEL$
  117. GLOBAL DIA_WRKSPC$
  118. GLOBAL DIA_ART$
  119. GLOBAL STR_REQ_ART_DLG$
  120. GLOBAL STR_AVAIL_ART_DLG$
  121. GLOBAL STR_REQ_GEN$
  122. GLOBAL STR_AVAIL_GEN$
  123. GLOBAL INSTALL_TTF$
  124. GLOBAL EXTRACOSTS$
  125. GLOBAL COSTLIST$
  126. GLOBAL NEEDLIST$
  127. GLOBAL BIGLIST$
  128. GLOBAL ini$
  129. GLOBAL NetworkInf$
  130. GLOBAL TotalSpcFree&
  131. GLOBAL OldCursor%
  132. GLOBAL FrameWindow%
  133. GLOBAL OptionsChecked%
  134. GLOBAL RootDir$
  135. GLOBAL WinDir$
  136. GLOBAL WinSysDir$
  137. GLOBAL sourcDir$
  138. GLOBAL srcDirChanged%
  139. GLOBAL fileCostChecked%
  140. GLOBAL mode%
  141. GLOBAL idDlg%
  142. GLOBAL setupInfInMem%
  143. GLOBAL CD_ART_PATH$
  144.  
  145. GLOBAL _ON$
  146. GLOBAL _NO$
  147. GLOBAL _YES$
  148. GLOBAL _CCW$
  149. GLOBAL _CCPO$
  150. GLOBAL _CPS$
  151. GLOBAL _GRAPH_INI$
  152. GLOBAL _FILTER_VER$
  153.  
  154. '' tokens for localizable strings
  155. GLOBAL _SETUP_TITLE$
  156. GLOBAL _KB_STR$
  157. GLOBAL _ZERO_KB_STR$
  158. GLOBAL _ERRMSG_FATAL$
  159. GLOBAL _ERRMSG_NOFIND$
  160. GLOBAL _ERRMSG_CONTACT$
  161. GLOBAL _ERRMSG_OPTCALC$
  162. GLOBAL _PROG_GRP$
  163. GLOBAL _ICON_CCW$
  164. GLOBAL _ICON_PA$
  165. GLOBAL _ICON_README$
  166. GLOBAL _ICON_NETREADME$
  167.  
  168.  
  169. '' fn to release cpalette defaults
  170. DECLARE FUNCTION ReleaseCP LIB "mscuistf.dll" AS INTEGER
  171. DECLARE FUNCTION DoAlbumMerge LIB "mscuistf.dll" (szOldArtPath$, szNewArtPath$, szAlbumName$) AS INTEGER
  172. DECLARE FUNCTION MakeKbString LIB "mscuistf.dll" (szStr$) AS INTEGER
  173. DECLARE FUNCTION InstallTTF LIB "mscuistf.dll" (szTTF$, szDest$) AS INTEGER
  174. DECLARE SUB HelpQuit LIB "mscuistf.dll" (hwnd%)
  175. DECLARE SUB DeleteOldIcons LIB "mscuistf.dll"
  176.  
  177. DECLARE FUNCTION MakeKb (szStr$) AS STRING
  178. DECLARE FUNCTION GetCostValue (ftype%) AS LONG
  179. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  180. DECLARE FUNCTION GetTotalSpcFree AS LONG
  181. DECLARE SUB DoFontStuff
  182. DECLARE SUB BuildCopyList
  183. DECLARE SUB GetFileCosts
  184. DECLARE SUB SetDriveStatus
  185. DECLARE SUB AddOptionsToCopyList (ftype%)
  186. DECLARE SUB OpenWaitMessage (Msg%)
  187. DECLARE SUB CloseWaitMessage
  188. DECLARE SUB MergeTheAlbums
  189. DECLARE SUB CheckWin30
  190. DECLARE SUB DoIniStuff
  191. DECLARE SUB AskQuit
  192. DECLARE SUB DoIconStuff
  193. DECLARE SUB GetUserInfo
  194. '' following routines are in file 'init.inc'
  195. DECLARE SUB InitDefaultPaths
  196. DECLARE SUB InitMainDialogSymbols
  197. DECLARE SUB InitArtDialogSymbols
  198. DECLARE SUB ReInitArtDialogSymbols
  199. DECLARE FUNCTION GetAlbumName AS STRING
  200. DECLARE FUNCTION GetDriveName(szPath$) AS STRING
  201.  
  202. '' ** script execution begins here **
  203.  
  204. INIT:
  205. _ON$  = "ON"
  206. _NO$  = "NO"
  207. _YES$ = "YES"
  208.  
  209. '' section names in powerup.ini:
  210. _CCW$  = "Sports Illustrated Swimsuit Calendar"
  211. _CCPO$ = "Sports Illustrated Swimsuit Calendar Print Options"
  212. _CPS$  = "Calendar Paper Stocks"
  213. _GRAPH_INI$ = "GRAPHICS FILTERS"
  214.  
  215. '' filter version for comparison
  216. _FILTER_VER$ = "1.03"
  217.  
  218. CUIDLL$ = "mscuistf.dll"
  219. CURRENT_DLG$ = "CurrentDlg"
  220. COSTLIST$ = "CostList"
  221. NEEDLIST$ = "NeedList"
  222. BIGLIST$ = "TooBig"
  223. EXTRACOSTS$ = "ExtraCosts"
  224. ORG_STR$ = "OrgOut"
  225. NAME_STR$ = "NameOut"
  226.  
  227. '' TRANSLATOR START
  228.  
  229. '' title caption for main setup window
  230. _SETUP_TITLE$    = "Sports Illustrated Swimsuit Calendar Setup"
  231.  
  232. _KB_STR$         = " Kb"                '' kilobytes disk space
  233. _ZERO_KB_STR$    = "0 Kb"
  234.  
  235. '' setup error msgs
  236. _ERRMSG_FATAL$   = "Unexpected Setup error; installation disk may be faulty."
  237. _ERRMSG_NOFIND$  = "Setup cannot find "         '' <filename>
  238. _ERRMSG_CONTACT$ = ".  Contact your network administrator."
  239. _ERRMSG_OPTCALC$ = "Error in calculating option: "
  240.  
  241. '' captions for program group & program icons
  242. _PROG_GRP$       = "SI Swimsuit Calendar"
  243. _ICON_CCW$       = "SI Swimsuit Calendar"
  244. _ICON_PA$        = "PowerAlbum"
  245. _ICON_README$    = "Read Me"
  246. _ICON_NETREADME$ = "Read Me for Network Admin"
  247.  
  248. '' TRANSLATOR END
  249.  
  250. CursorSave% = ShowWaitCursor ()
  251.  
  252. srcDirChanged% = 0
  253. sourcDir$ = GetSymbolValue ("STF_SRCDIR")
  254. WinDir$ = MakePath (MID$ (GetWindowsDir (), 1, LEN(GetWindowsDir ()) - 1), "")
  255. WinSysDir$ = MakePath (MID$ (GetWindowsSysDir (), 1, LEN(GetWindowsSysDir ()) - 1), "")
  256. RootDir$ = GetDriveName ( WinDir$ )
  257. FrameWindow% = HwndFrame ()
  258. SetSymbolValue "FrameWindow", STR$ (FrameWindow%)
  259. fileCostChecked% = 0
  260.  
  261. RestoreCursor CursorSave%
  262.  
  263. '' SetAbout is no good: it *adds* the specified strings to existing text
  264. '' in msshlstf.dll; must edit the stringtable resource in msshlstf.dll
  265. ''SetAbout "", ""
  266. SetTitle _SETUP_TITLE$
  267. SetBitmap CUIDLL$, NORMAL
  268.  
  269. GOSUB GET_SETUP_MODE
  270. SetBitmap CUIDLL$, mode%
  271. if mode% = NODE then
  272.   goto DO_NODE_SETUP
  273. endif
  274.  
  275. CursorSave% = ShowWaitCursor ()
  276. '' 26 drives ( A-Z )
  277. FOR i% = 1 TO 26 STEP 1
  278.    AddListItem BIGLIST$, ""
  279.    NEXT i%
  280. FOR i% = 1 TO 26 STEP 1
  281.    AddListItem EXTRACOSTS$, "0"
  282.    NEXT i%
  283.  
  284. '' INF path always null unless provided on setup cmdline
  285. szInf$ = GetSymbolValue("STF_SRCINFPATH")
  286. IF szInf$ = "" THEN
  287.   szInf$ = MakePath( GetSymbolValue("STF_CWDDIR"), "SETUPCC.INF" )
  288. ENDIF
  289. setupInfInMem% = 0
  290. ReadInfFile szInf$
  291. setupInfInMem% = 1
  292. WinVer30 = 0
  293. if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) then
  294.   WinVer30 = 1
  295.   SetSymbolValue INSTALL_TTF$, "OFF"
  296. endif
  297.  
  298. RestoreCursor CursorSave%
  299. InitDefaultPaths
  300. InitMainDialogSymbols
  301. InitArtDialogSymbols
  302.  
  303. RE_INIT:
  304. CursorSave% = ShowWaitCursor ()
  305. InitDefaultPaths
  306. InitMainDialogSymbols
  307. ReInitArtDialogSymbols
  308. RestoreCursor CursorSave%
  309.  
  310. if mode% = ADMIN or mode% = NETWORK then
  311.   goto REFRESH_CUSTOM
  312. endif
  313.  
  314. WELCOME:
  315. if srcDirChanged% = 1 then
  316.   SetSymbolValue "STF_SRCDIR", sourcDir$
  317.   srcDirChanged% = 0
  318. endif
  319. if setupInfInMem% = 0 then
  320.   ReadInfFile szInf$
  321.   setupInfInMem% = 1
  322. endif
  323. sz$ = UIStartDlg(CUIDLL$, WELCOME, "FWelcomeDlgProc", 0, "")
  324. IF sz$ = "COMPLETE" THEN
  325.   UIPop 1
  326.   BuildCopyList
  327.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  328.     GOSUB TOOBIG
  329.     GOTO REFRESH_CUSTOM
  330.   ENDIF
  331.   GOTO INSTALL
  332. ELSEIF sz$ = "CUSTOM" THEN
  333.   UIPop 1
  334.   GOTO REFRESH_CUSTOM
  335. ELSEIF sz$ = "REACTIVATE" THEN
  336.   GOTO WELCOME
  337. ELSE
  338.   AskQuit
  339.   GOTO WELCOME
  340. END IF
  341.  
  342. '' refresh custom install dialog
  343. REFRESH_CUSTOM:
  344. if mode% <> NETWORK then
  345.   GetFileCosts
  346. endif
  347. SetDriveStatus
  348.  
  349. CUSTINST:
  350. sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", 0, "")
  351. IF sz$ = "INSTALL" THEN
  352.   BuildCopyList
  353.   ''install only if it will fit
  354.   IF GetListItem (BIGLIST$, 1) = _YES$ THEN
  355.     GOSUB TOOBIG
  356.     GOTO CUSTINST
  357.   ENDIF
  358.   UIPop 1
  359.   GOTO INSTALL
  360. ELSEIF sz$ = "BTN_PROG_PATH" THEN
  361.   GOTO GETPATH
  362. ELSEIF sz$ = "BTN_ART_PATH" THEN
  363.   GOTO GETPATH_ART
  364. ELSEIF sz$ = "BTN_FILTERS_PATH" THEN
  365.   GOTO GETPATH_FILTERS
  366. ELSEIF sz$ = "UPDATE" THEN
  367.   SetDriveStatus
  368.   GOTO CUSTINST
  369. ELSEIF sz$ = "BTN_BACK" then
  370.   UIPop 1
  371.   goto RE_INIT
  372. ELSEIF sz$ = "BTN_ART_OPTIONS" THEN
  373.   GOTO ART_OPTIONS
  374. ELSEIF sz$ = "REINIT" THEN
  375.   GOTO CUSTINST
  376. ELSEIF sz$ = "REACTIVATE" THEN
  377.   SetDriveStatus
  378.   GOTO CUSTINST
  379. ELSE
  380.   AskQuit
  381.   GOTO CUSTINST
  382. END IF
  383.  
  384. GETPATH:
  385. WORKING_DEST$ = DEST$
  386. iType% = PROG_PATH
  387. GOTO HANDLE_GETPATH
  388.  
  389. GETPATH_ART:
  390. WORKING_DEST$ = DEST_ART$
  391. iType% = ART_PATH
  392. GOTO HANDLE_GETPATH
  393.  
  394. GETPATH_FILTERS:
  395. WORKING_DEST$ = DEST_FILTERS$
  396. iType% = FILTERS_PATH
  397.  
  398. HANDLE_GETPATH:
  399. SetSymbolValue "EditTextIn", WORKING_DEST$
  400. SetSymbolValue "EditFocus", "END"
  401. sz$ = UIStartDlg (CUIDLL$, iType%, "FEditDlgProc", 0, "")
  402. IF sz$ = "OK" THEN
  403.   olddest$ = WORKING_DEST$
  404.   WORKING_DEST$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  405.   ''validate new path
  406.   IF (IsDirWritable (WORKING_DEST$) = 0) OR (INSTR(1, WORKING_DEST$, ".") <> 0) THEN
  407.     GOSUB BADPATH
  408.     WORKING_DEST$ = olddest$
  409.     GOTO HANDLE_GETPATH
  410.   END IF
  411.   UIPop 1
  412.   IF iType% = PROG_PATH THEN
  413.     DEST$ = LCASE$(WORKING_DEST$)
  414.     SetSymbolValue EXE_PATH$, DEST$
  415.     SetSymbolValue STR_PROG_PATH$, DEST$
  416.     PROGDRIVE$ = MID$ (DEST$, 1, 1)
  417.   ELSEIF iType% = ART_PATH THEN
  418.     DEST_ART$ = LCASE$( WORKING_DEST$ )
  419.     SetSymbolValue STR_CLIP_ART_PATH$, DEST_ART$
  420.     ARTDRIVE$  = MID$ (DEST_ART$, 1, 1)
  421.   ELSEIF iType% = FILTERS_PATH THEN
  422.     DEST_FILTERS$ = LCASE$( WORKING_DEST$ )
  423.     SetSymbolValue STR_FILTERS_PATH$, DEST_FILTERS$
  424.     FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  425.   ENDIF
  426.   '' recalc if path changed
  427.   IF (olddest$ <> WORKING_DEST$) AND (olddest$ <> WORKING_DEST$+"\") AND (olddest$+"\" <> WORKING_DEST$) THEN
  428.     SetDriveStatus
  429.   END IF
  430.   olddest$ = ""
  431.   GOTO CUSTINST
  432. ELSEIF sz$ = "REACTIVATE" THEN
  433.   SetDriveStatus
  434.   GOTO HANDLE_GETPATH
  435. ELSEIF sz$ = "EXIT" THEN
  436.   AskQuit
  437.   GOTO HANDLE_GETPATH
  438. ELSE
  439.   UIPop 1
  440.   olddest$ = ""
  441.   GOTO CUSTINST
  442. END IF
  443.  
  444. ART_OPTIONS:
  445. SetSymbolValue STR_REQ_GEN$, STR_REQ_ART_DLG$
  446. SetSymbolValue STR_AVAIL_GEN$, STR_AVAIL_ART_DLG$
  447. SetSymbolValue CURRENT_DLG$, DIA_ART$
  448. iDialog% = ART_DLG
  449.  
  450. HANDLE_DLG:
  451. sz$ = UIStartDlg(CUIDLL$, iDialog%, "FOptionsDlgProc", 0, "")
  452. IF sz$ = "OK" THEN
  453.   UIPop 1
  454.   GOTO REFRESH_CUSTOM
  455. ELSEIF sz$ = "CANCEL" THEN
  456.   UIPop 1
  457.   GOTO REFRESH_CUSTOM
  458. ELSEIF sz$ = "REACTIVATE" THEN
  459.   GOTO HANDLE_DLG
  460. ELSEIF sz$ = "GLOBAL_SELECT" OR sz$ = "CHECKBOX_EVENT" THEN
  461.   SetDriveStatus
  462.   if iDialog% = ART_DLG then
  463.     goto ART_OPTIONS
  464.   endif
  465. ELSE
  466.   AskQuit
  467.   GOTO HANDLE_DLG
  468. END IF
  469.  
  470. TOOBIG:
  471. sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo1DlgProc", 0, "")
  472. IF sz$ = "REACTIVATE" THEN
  473.   SetDriveStatus
  474.   GOTO TOOBIG
  475. END IF
  476. UIPop 1
  477. RETURN
  478.  
  479. TOOBIG2:
  480. sz$ = UIStartDlg(CUIDLL$, TOOBIG2, "FInfo1DlgProc", 0, "")
  481. IF sz$ = "REACTIVATE" THEN
  482.   GOTO TOOBIG2
  483. END IF
  484. UIPop 1
  485. RETURN
  486.  
  487. BADPATH:
  488. sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  489. IF sz$ = "REACTIVATE" THEN
  490.   GOTO BADPATH
  491. END IF
  492. UIPop 1
  493. RETURN
  494.  
  495. INSTALL:
  496. '' create the necessary directories
  497. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  498.   CreateDir DEST$, cmoNone
  499.   CreateDir DEST_FILTERS$, cmoNone
  500. ENDIF
  501. IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  502.   CreateDir DEST_ART$, cmoNone
  503. ENDIF
  504. CopyFilesInCopyList
  505. IF (GetSymbolValue (INSTALL_TTF$) = _ON$) THEN
  506.   DoFontStuff
  507. ENDIF
  508.  
  509. '' PMGRPAPI.DLL DDE conflicts with MSSETUP'S.  Make sure that
  510. ''  PMGRPAPI.DLL begins a conversation before or after MSSETUP's
  511. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  512.   CursorSave% = ShowWaitCursor ()
  513.   DeleteOldIcons                '' call PMGRPAPI.DLL to delete PA 1.02 icon
  514.   RestoreCursor CursorSave%
  515. ENDIF
  516. DoIniStuff
  517. DoIconStuff
  518. '' warn 3.0 users they need font manager
  519. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  520.   CheckWin30
  521. ENDIF
  522. GetUserInfo
  523. IF (GetSymbolValue (CHK_CLIP_ART$) = _ON$) and (GetSymbolValue (CHK_PROG_FILES$) = _ON$) and ((GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) or (GetSymbolValue( RAD_BUILD_ALBUM$ ) = _ON$)) THEN
  524.   HelpQuit (FrameWindow%)
  525.   MergeTheAlbums
  526.   szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  527.   RemoveFile szDelFile$, cmoNone
  528.   i% = ReleaseCP
  529.   END
  530. ENDIF                                   '' finished installation
  531.  
  532. QUIT:
  533. ON ERROR GOTO ERRQUIT
  534. IF ERR = 0 THEN
  535.   dlg% = EXITSUCCESS
  536. ELSEIF ERR = STFQUIT THEN
  537.   dlg% = EXITQUIT
  538. ELSE
  539.   dlg% = EXITFAILURE
  540. END IF
  541.  
  542. QUITL1:
  543. sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  544. IF sz$ = "REACTIVATE" THEN
  545.   GOTO QUITL1
  546. END IF
  547. UIPop 1
  548. HelpQuit (FrameWindow%)
  549. i% = ReleaseCP
  550. END
  551.  
  552. ERRQUIT:
  553. i% = DoMsgBox(_ERRMSG_FATAL$, _SETUP_TITLE$, MB_OK+B_TASKMODAL+MB_ICONHAND)
  554. HelpQuit (FrameWindow%)
  555. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  556. RemoveFile szDelFile$, cmoNone
  557. i% = ReleaseCP
  558. END
  559.  
  560. '' AskQuit
  561. ''
  562. SUB AskQuit STATIC
  563. ASKLOOP:
  564.   sz$ = UIStartDlg(CUIDLL$, ASKQUITD, "FQuitDlgProc", 0, "")
  565.   IF sz$ = "OK" THEN
  566.     UIPop 1
  567.   ELSEIF sz$ = "REACTIVATE" THEN
  568.     GOTO ASKLOOP
  569.   ELSE
  570.     UIPopAll
  571.     HelpQuit (FrameWindow%)
  572.     szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  573.     RemoveFile szDelFile$, cmoNone
  574.     i% = ReleaseCP
  575.     END
  576.   END IF
  577. END SUB
  578.  
  579. '' BuildCopyList
  580. ''
  581. SUB BuildCopyList STATIC
  582.   CursorSave% = ShowWaitCursor()
  583.   ClearCopyList
  584.   SrcDir$ = GetSymbolValue("STF_SRCDIR")
  585.  
  586.   '' ** block weirdly placed
  587.   '' get the target drives
  588.   PROGDRIVE$ = MID$ (DEST$, 1, 1)
  589.   ARTDRIVE$ = MID$ (DEST_ART$, 1, 1)
  590.   FILTERSDRIVE$ = MID$ (DEST_FILTERS$, 1, 1)
  591.   '' **
  592.  
  593.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  594.     AddSectionFilesToCopyList "appFiles", SrcDir$, DEST$
  595.     AddSectionFilesToCopyList "fltFiles", SrcDir$, DEST_FILTERS$
  596.     AddSectionFilesToCopyList "ccstyleFile", SrcDir$, WinDir$
  597.     if mode% = ADMIN then
  598.       AddSectionFilesToCopyList "setup", SrcDir$, DEST$
  599.       AddSectionFilesToCopyList "ttf", SrcDir$, DEST$
  600.       AddSectionFilesToCopyList "ver", SrcDir$, DEST$
  601.       AddSectionFilesToCopyList "ccstyleFile", SrcDir$, DEST$
  602.     endif
  603.     szCommDlgFile$ = MakePath(WinSysDir$, "COMMDLG.DLL")
  604.     if IsDirWritable(WinSysDir$) = 1  then
  605.       AddSectionFilesToCopyList "commDlg", SrcDir$, WinSysDir$
  606.       AddSectionFilesToCopyList "ver", SrcDir$, WinSysDir$
  607.     endif
  608.     szCommDlgFile$ = MakePath( WinDir$, "COMMDLG.DLL")
  609.     if (DoesFileExist(szCommDlgFile$, femExists) = 1) and (IsDirWritable(WinDir$) = 1) then
  610.       AddSectionFilesToCopyList "commDlg", SrcDir$, WinDir$
  611.     endif
  612.   ENDIF
  613.   IF (GetSymbolValue (INSTALL_TTF$) = _ON$) and (mode% = NORMAL) and (GetSymbolValue (CHK_PROG_FILES$) = _ON$) then
  614.     if IsDirWritable(WinSysDir$) = 1 then
  615.       AddSectionFilesToCopyList "ttf", SrcDir$, WinSysDir$
  616.       TTF_PATH$ = WinSysDir$
  617.     elseif IsDirWritable(WinDir$) = 1 then
  618.       AddSectionFilesToCopyList "ttf", SrcDir$, WinDir$
  619.       TTF_PATH$ = WinDir$
  620.     else
  621.       AddSectionFilesToCopyList "ttf", SrcDir$, DEST$
  622.       TTF_PATH$ = DEST$
  623.       SetSymbolValue INSTALL_TTF$, "OFF"
  624.       ''i% = DoMsgBox("TTF OFF", "DEBUG", MB_OK+B_TASKMODAL+MB_ICONHAND)
  625.     endif
  626.   ENDIF
  627.   IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  628.     AddSectionFilesToCopyList "sel", SrcDir$, DEST$
  629.   ENDIF
  630.   IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  631.     AddSectionFilesToCopyList "iel", SrcDir$, DEST$
  632.   ENDIF
  633.   IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  634.     AddSectionFilesToCopyList "ws", SrcDir$, DEST$
  635.   ENDIF
  636.   ArtOptionsChecked% = 0
  637.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  638.     AddOptionsToCopyList (OPT_CLIP_ART)
  639.     ArtOptionsChecked% = OptionsChecked%
  640.   ENDIF
  641.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  642.     ''AddSectionFilesToCopyList "blankAlb", SrcDir$, DEST_ART$
  643.   ENDIF
  644.  
  645.   '' calculate the disk costs
  646.   StillNeed& = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  647.   RestoreCursor CursorSave%
  648.   SetSymbolValue "DRIVE_ERROR", "@"
  649.   IF StillNeed& > 0 THEN
  650.     ReplaceListItem BIGLIST$, 1, _YES$
  651.     FOR i% = 1 to 26 STEP 1
  652.        if VAL (GetListItem (NEEDLIST$, i%)) > 0 then
  653.          SetSymbolValue "DRIVE_ERROR", CHR$ (ASC("A") - 1 + i%) + ":"
  654.          goto ESCAPE
  655.        endif
  656.        NEXT i%
  657. ESCAPE:
  658.   ELSE
  659.     ReplaceListItem BIGLIST$, 1, _NO$
  660.   ENDIF
  661. END SUB
  662.  
  663. '' SetDriveStatus
  664. ''
  665. SUB SetDriveStatus STATIC
  666.   CursorSave% = ShowWaitCursor()
  667.   '' convert drive letters to integers
  668.   PDrv% = ASC(ucase$(PROGDRIVE$)) - ASC("A") + 1
  669.   ADrv% = ASC(ucase$(ARTDRIVE$)) - ASC("A") + 1
  670.   FDrv% = ASC(ucase$(FILTERSDRIVE$)) - ASC("A") + 1
  671.  
  672.   '' when all the drives are the same, hide the
  673.   '' ART and FILTERS status string windows
  674.   IF (PDrv% = ADrv%) AND (PDrv% = FDrv%) THEN
  675.     SetSymbolValue STR_REQ_CLIP_ART$, ""
  676.     SetSymbolValue STR_REQ_FILTERS$,  ""
  677.     SetSymbolValue STR_AVAIL_ART$,    ""
  678.     SetSymbolValue STR_AVAIL_FILTERS$,""
  679.     '' update the Program Space Required string
  680.     cost& = 0
  681.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  682.       cost& = cost& + VAL (PROG_COST$) + VAL (FILTERS_COST$)
  683.     ENDIF
  684.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  685.       cost& = cost& + VAL( SEL_COST$ )
  686.     ENDIF
  687.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  688.       cost& = cost& + VAL( IEL_COST$ )
  689.     ENDIF
  690.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  691.       cost& = cost& + VAL( WRKSPC_COST$ )
  692.     ENDIF
  693.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  694.       cost& = cost& + GetCostValue (OPT_CLIP_ART)
  695.     ENDIF
  696.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (cost&)) + _KB_STR$
  697.     SetSymbolValue STR_REQ_PROG$, szTemp$
  698.     SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  699.     '' update the Space Available (program) string
  700.     free& = GetFreeSpaceForDrive (PROGDRIVE$)
  701.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (free&)) + _KB_STR$
  702.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  703.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  704.   ELSEIF ((PDrv% = ADrv%) AND (ADrv% <> FDrv%)) THEN
  705.     '' hide the ART status info
  706.     '' space REQUIRED
  707.     ProgCost& = 0
  708.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  709.       ProgCost& = ProgCost& + VAL (PROG_COST$)
  710.     ENDIF
  711.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  712.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  713.     ENDIF
  714.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  715.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  716.     ENDIF
  717.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  718.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  719.     ENDIF
  720.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  721.       ProgCost& = ProgCost& + GetCostValue (OPT_CLIP_ART)
  722.     ENDIF
  723.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  724.     SetSymbolValue STR_REQ_PROG$, szTemp$
  725.     SetSymbolValue STR_REQ_ART_DLG$, szTemp$
  726.     FiltersCost& = 0
  727.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$  THEN
  728.       FiltersCost& = VAL (FILTERS_COST$)
  729.     ENDIF
  730.     SetSymbolValue STR_REQ_CLIP_ART$, ""
  731.     SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + _KB_STR$
  732.     '' space FREE
  733.     ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  734.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  735.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  736.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  737.     SetSymbolValue STR_AVAIL_ART$, ""
  738.     FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  739.     SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + _KB_STR$
  740.   ELSEIF ((PDrv% <> ADrv%) AND (ADrv% = FDrv%)) OR ((PDrv% <> FDrv%) AND (ADrv% = FDrv%)) OR ((PDrv% = FDrv%) AND (ADrv% <> FDrv%)) THEN
  741.     '' hide the FILTERS status info
  742.     '' space REQUIRED
  743.     ProgCost& = 0
  744.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  745.       ProgCost& = ProgCost& + VAL (PROG_COST$) + VAL (FILTERS_COST$)
  746.     ENDIF
  747.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  748.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  749.     ENDIF
  750.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  751.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  752.     ENDIF
  753.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  754.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  755.     ENDIF
  756.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  757.     SetSymbolValue STR_REQ_PROG$, szTemp$
  758.     ArtCost& = 0
  759.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  760.       ArtCost& = ArtCost& + GetCostValue (OPT_CLIP_ART)
  761.     ENDIF
  762.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  763.       ArtCost& = ArtCost& + VAL (FILTERS_COST$)
  764.     ENDIF
  765.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + _KB_STR$
  766.     SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  767.     SetSymbolValue STR_REQ_ART_DLG$,  szTemp$
  768.     SetSymbolValue STR_REQ_FILTERS$, ""
  769.     '' space FREE
  770.     ProgFree& = GetFreeSpaceForDrive (PROGDRIVE$)
  771.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  772.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  773.     ArtFree& = GetFreeSpaceForDrive(ARTDRIVE$)
  774.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + _KB_STR$
  775.     SetSymbolValue STR_AVAIL_ART$, szTemp$
  776.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  777.     SetSymbolValue STR_AVAIL_FILTERS$, ""
  778.   ELSEIF (PDrv% <> FDrv%) AND (PDrv% <> ADrv%) THEN
  779.     '' show EVERYTHING
  780.     '' space REQUIRED
  781.     ProgCost&               = 0
  782.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  783.       ProgCost& = ProgCost& + VAL (PROG_COST$)
  784.     ENDIF
  785.     IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  786.       ProgCost& = ProgCost& + VAL( SEL_COST$ )
  787.     ENDIF
  788.     IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  789.       ProgCost& = ProgCost& + VAL( IEL_COST$ )
  790.     ENDIF
  791.     IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  792.       ProgCost& = ProgCost& + VAL( WRKSPC_COST$ )
  793.     ENDIF
  794.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgCost&)) + _KB_STR$
  795.     SetSymbolValue STR_REQ_PROG$, szTemp$
  796.     ArtCost& = 0
  797.     IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  798.       ArtCost& = ArtCost& + GetCostValue (OPT_CLIP_ART)
  799.     ENDIF
  800.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtCost&)) + _KB_STR$
  801.     SetSymbolValue STR_REQ_CLIP_ART$, szTemp$
  802.     SetSymbolValue STR_REQ_ART_DLG$,  szTemp$
  803.     FiltersCost& = 0
  804.     IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  805.       FiltersCost& = FiltersCost& + VAL (FILTERS_COST$)
  806.     ENDIF
  807.     SetSymbolValue STR_REQ_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersCost&)) + _KB_STR$
  808.     '' space FREE
  809.     ProgFree& = GetFreeSpaceForDrive(PROGDRIVE$)
  810.     szTemp$ = PROGDRIVE$ + ":  " + MakeKb (STR$ (ProgFree&)) + _KB_STR$
  811.     SetSymbolValue STR_AVAIL_PROG$, szTemp$
  812.     ArtFree& = GetFreeSpaceForDrive (ARTDRIVE$)
  813.     szTemp$ = ARTDRIVE$ + ":  " + MakeKb (STR$ (ArtFree&)) + _KB_STR$
  814.     SetSymbolValue STR_AVAIL_ART$, szTemp$
  815.     SetSymbolValue STR_AVAIL_ART_DLG$, szTemp$
  816.     FiltersFree& = GetFreeSpaceForDrive (FILTERSDRIVE$)
  817.     SetSymbolValue STR_AVAIL_FILTERS$, FILTERSDRIVE$ + ":  " + MakeKb (STR$ (FiltersFree&)) + _KB_STR$
  818.   END IF
  819.   '' other status strings
  820.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  821.     SetSymbolValue STR_REQ_PROG2$, MakeKb (STR$ ( (VAL(PROG_COST$) + VAL(FILTERS_COST$)))) + _KB_STR$
  822.   ELSE
  823.     SetSymbolValue STR_REQ_PROG2$, _ZERO_KB_STR$
  824.   ENDIF
  825.   IF GetSymbolValue (CHK_STD_EVNT_LST$) = _ON$ THEN
  826.     SetSymbolValue STR_REQ_SEL$, MakeKb( STR$(VAL(SEL_COST$ ))) + _KB_STR$
  827.   ELSE
  828.     SetSymbolValue STR_REQ_SEL$, _ZERO_KB_STR$
  829.   ENDIF
  830.   IF GetSymbolValue (CHK_INTL_EVNT_LST$) = _ON$ THEN
  831.     SetSymbolValue STR_REQ_IEL$, MakeKb( STR$(VAL(IEL_COST$ ))) + _KB_STR$
  832.   ELSE
  833.     SetSymbolValue STR_REQ_IEL$, _ZERO_KB_STR$
  834.   ENDIF
  835.   IF GetSymbolValue (CHK_WORK_SPCS$) = _ON$ THEN
  836.     SetSymbolValue STR_REQ_WK_SPC$, MakeKb( STR$(VAL(WRKSPC_COST$ ))) + _KB_STR$
  837.   ELSE
  838.     SetSymbolValue STR_REQ_WK_SPC$, _ZERO_KB_STR$
  839.   ENDIF
  840.   IF GetSymbolValue (CHK_CLIP_ART$) = _ON$ THEN
  841.     SetSymbolValue STR_REQ_CLIP_ART2$, MakeKb (STR$ (GetCostValue (OPT_CLIP_ART))) + _KB_STR$
  842.   ELSE
  843.     SetSymbolValue STR_REQ_CLIP_ART2$, _ZERO_KB_STR$
  844.   ENDIF
  845.   RestoreCursor CursorSave%
  846. END SUB
  847.  
  848. '' MakePath
  849. ''
  850. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  851.   IF szDir$ = "" THEN
  852.     szTemp$ = szFile$
  853.   ELSEIF szFile$ = "" THEN
  854.     szTemp$ = szDir$
  855.   ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  856.     szTemp$ = szDir$ + szFile$
  857.   ELSE
  858.     szTemp$ = szDir$ + "\" + szFile$
  859.   END IF
  860.   if szTemp$ <> "" then
  861.     if MID$( szTemp$, LEN( szTemp$ ), 1 ) = "\" then
  862.       szTemp$ = MID$( szTemp$, 1, LEN( szTemp$ ) - 1 )
  863.     endif
  864.     IF MID$(szTemp$, LEN(szTemp$), 1) = ":" THEN
  865.       szTemp$ = szTemp$ + "\"
  866.     ENDIF
  867.   endif
  868.   MakePath = szTemp$
  869. END FUNCTION
  870.  
  871. '' GetFileCosts
  872. ''
  873. SUB GetFileCosts STATIC
  874.   if fileCostChecked% = 0 then
  875.     fileCostChecked% = 1
  876.     CursorSave% = ShowWaitCursor ()
  877.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  878.     '' get cost of PROGRAM files
  879.     ClearCopyList
  880.     AddSectionFilesToCopyList "appFiles", SrcDir$, WinDir$
  881.     AddSectionFilesToCopyList "setup", SrcDir$, WinDir$
  882.     AddSectionFilesToCopyList "ttf", SrcDir$, WinDir$
  883.     if mode% = ADMIN then
  884.       AddSectionFilesToCopyList "setup", SrcDir$, WinDir$
  885.       AddSectionFilesToCopyList "ttf", SrcDir$, WinDir$
  886.       AddSectionFilesToCopyList "ver", SrcDir$, WinDir$
  887.     endif
  888.     i% = GetCopyListCost ( EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  889.     PROG_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  890.     '' get cost of STANDARD EVENT LISTS
  891.     ClearCopyList
  892.     AddSectionFilesToCopyList "sel", SrcDir$, WinDir$
  893.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  894.     SEL_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  895.     '' get cost of INTERNATIONAL EVENT LISTS
  896.     ClearCopyList
  897.     AddSectionFilesToCopyList "iel", SrcDir$, WinDir$
  898.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  899.     IEL_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  900.     '' get cost of WORKSPACES
  901.     ClearCopyList
  902.     AddSectionFilesToCopyList "ws", SrcDir$, WinDir$
  903.     i% = GetCopyListCost (EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  904.     WRKSPC_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  905.     '' get cost of FILTER files
  906.     ClearCopyList
  907.     AddSectionFilesToCopyList "fltFiles", SrcDir$, WinDir$
  908.     i% = GetCopyListCost ( EXTRACOSTS$, COSTLIST$, NEEDLIST$)
  909.     FILTERS_COST$ = GetListItem (COSTLIST$, nWinDrive%)
  910.     '' get cost of CLIP ART
  911.     j% = GetListLength (DIA_ART$)
  912.     FOR i% = 1 to j% STEP 1
  913.       szChkSym$ = GetListItem (DIA_ART$, i%)
  914.       szSection$ = GetListItem (szChkSym$, SECTION)
  915.       MakeListFromSectionSize "ALB_COST_LIST", szSection$
  916.       jj% = GetListLength ("ALB_COST_LIST")
  917.       TheCost& = 0
  918.       for ii% = 1 to jj% step 1
  919.         TheCost& = TheCost& + VAL (GetListItem ("ALB_COST_LIST", ii%))
  920.         next ii%
  921.       RemoveSymbol "ALB_COST_LIST"
  922.       TheCost& = TheCost& * 26
  923.       TheCost& = TheCost& / 20
  924.       ReplaceListItem szChkSym$, ITEMCOST, STR$ (TheCost&)
  925.       NEXT i%
  926.     '' get cost of ALBUMS
  927.     j% = GetListLength (DIA_ART$)
  928.     FOR i% = 1 to j% STEP 1
  929.       szChkSym$ = GetListItem (DIA_ART$, i%)
  930.       szSection$ = GetListItem (szChkSym$, ALBUM_SECTION)
  931.       MakeListFromSectionSize "ALB_COST_LIST", szSection$
  932.       jj% = GetListLength ("ALB_COST_LIST")
  933.       TheCost& = 0
  934.       for ii% = 1 to jj% step 1
  935.         TheCost& = TheCost& + (2 * VAL (GetListItem ("ALB_COST_LIST", ii%)))
  936.         next ii%
  937.       RemoveSymbol "ALB_COST_LIST"
  938.       ReplaceListItem szChkSym$, ALBUM_COST, STR$ (TheCost&)
  939.       NEXT i%
  940.     TotalSpcFree& = GetTotalSpcFree
  941.     RestoreCursor CursorSave%
  942.   endif
  943. END SUB
  944.  
  945. '' AddOptionsToCopyList
  946. ''
  947. SUB AddOptionsToCopyList (ftype%) STATIC
  948.   szSrcDir$ = GetSymbolValue("STF_SRCDIR")
  949.   szDest$ = DEST$
  950.  
  951.   OptionsChecked% = 0
  952.   IF ftype% = OPT_CLIP_ART THEN
  953.     szOptList$ = DIA_ART$
  954.     szDest$ = DEST_ART$
  955.     IF ((GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) or (GetSymbolValue( RAD_BUILD_ALBUM$ ) = _ON$)) THEN
  956.       j% = GetListLength (DIA_ART$)
  957.       FOR i% = 1 to j% STEP 1
  958.          szChkSym$ = GetListItem (szOptList$, i%)
  959.          szStatus$ = GetListItem (szChkSym, STATUS)
  960.          IF szStatus$ = _ON$ THEN
  961.             '' cat is checked, add the album
  962.             OptionsChecked% = OptionsChecked% + 1
  963.             szSection$ = GetListItem (szChkSym$, ALBUM_SECTION)
  964.             AddSectionFilesToCopyList szSection$, szSrcDir$, szDest$
  965.          ENDIF
  966.       NEXT i%
  967.     ENDIF
  968.   ENDIF
  969.  
  970.   IF NOT (GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) THEN
  971.     AddSectionFilesToCopyList "artSports", szSrcDir$, szDest$
  972.     '' get number of check boxes in the appropriate dialog
  973.     j% = GetListLength (szOptList$)
  974.     OptionsChecked% = 0
  975.     FOR i% = 1 to j% STEP 1
  976.       szChkSym$ = GetListItem (szOptList$, i%)
  977.       szStatus$ = GetListItem (szChkSym, STATUS)
  978.       IF szStatus$ = _ON$ THEN
  979.          OptionsChecked% = OptionsChecked% + 1
  980.          szSection$ = GetListItem (szChkSym$, SECTION)
  981.          AddSectionFilesToCopyList szSection$, szSrcDir$, szDest$
  982.        ENDIF
  983.     NEXT i%
  984.   ENDIF
  985. END SUB
  986.  
  987. '' GetCostValue
  988. ''
  989. FUNCTION GetCostValue (ftype%) STATIC AS LONG
  990.   szSrcDir$ = GetSymbolValue("STF_SRCDIR")
  991.   IF ftype% = OPT_CLIP_ART THEN
  992.     szOptList$ = DIA_ART$
  993.     cost& = ART_LCOST&
  994.   ELSE
  995.     ''i% = DoMsgBox (_ERRMSG_OPTCALC$ + STR$(ftype%), "DEBUG", MB_OK)
  996.   ENDIF
  997.  
  998.   '' get number of check boxes in the appropriate dialog
  999.   cost& = 0
  1000.   j% = GetListLength (szOptList$)
  1001.   FOR i% = 1 to j% STEP 1
  1002.      szChkSym$ = GetListItem (szOptList$, i%)
  1003.      szStatus$ = GetListItem (szChkSym$, STATUS)
  1004.      IF szStatus$ = _ON$ THEN
  1005.        szCost$ = "0"
  1006.        IF NOT (GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) THEN
  1007.          szCost$ = GetListItem (szChkSym$, ITEMCOST)
  1008.        ENDIF
  1009.        szCost2$ = "0"
  1010.        IF ((GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) or (GetSymbolValue( RAD_BUILD_ALBUM$ ) = _ON$)) and (ftype% = OPT_CLIP_ART) THEN
  1011.          szCost2$ = GetListItem (szChkSym$, ALBUM_COST)
  1012.        ENDIF
  1013.        cost& = cost& + VAL (szCost$) + (2 * VAL (szCost2$))
  1014.      ENDIF
  1015.   NEXT i%
  1016. OUT:
  1017.   GetCostValue = cost&
  1018. END FUNCTION
  1019.  
  1020. '' MakeKb
  1021. ''
  1022. FUNCTION MakeKb (szStr$) STATIC AS STRING
  1023.   i% = MakeKbString (szStr$)
  1024.   MakeKb = szStr$
  1025. END FUNCTION
  1026.  
  1027. '' GetTotalSpcFree
  1028. ''
  1029. FUNCTION GetTotalSpcFree STATIC AS LONG
  1030.   GetTotalSpcFree = GetFreeSpaceForDrive (PROGDRIVE$) + GetFreeSpaceForDrive (ARTDRIVE$) + GetFreeSpaceForDrive (FILTERSDRIVE$)
  1031. END FUNCTION
  1032.  
  1033. '' OpenWaitMessage
  1034. ''      uses a modeless dialog to show a non-interactive info msg
  1035. ''
  1036. SUB OpenWaitMessage (AMsg%) STATIC
  1037.   OldCursor% = ShowWaitCursor()
  1038.   sz$ = UIStartDlg (CUIDLL$, AMsg%, "FModelessDlgProc", 0, "")
  1039. END SUB
  1040.  
  1041. '' CloseWaitMessage
  1042. ''
  1043. SUB CloseWaitMessage STATIC
  1044.   RestoreCursor OldCursor%
  1045.   UIPop 1
  1046. END SUB
  1047.  
  1048. '' MergeTheAlbums
  1049. ''
  1050. SUB MergeTheAlbums STATIC
  1051.  
  1052.   if ((GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) or (GetSymbolValue( RAD_BUILD_ALBUM$ ) = _ON$)) then
  1053.  
  1054.     CD_ART_PATH$ = MakePath( GetDriveName ( GetSymbolValue ("STF_SRCDIR") ), "ART" )
  1055.  
  1056.     j% = GetListLength (DIA_ART$)
  1057.     szArtCheck$ = GetSymbolValue (CHK_CLIP_ART$)
  1058.     count% = 0
  1059.     FOR i% = 1 to j% STEP 1
  1060.        szChkSym$ = GetListItem (DIA_ART$, i%)
  1061.        szStatus$ = GetListItem (szChkSym$, STATUS)
  1062.        IF (szStatus$ = _ON$) AND (szArtCheck$ = _ON$) THEN
  1063.          count% = count% + 1
  1064.        ENDIF
  1065.     NEXT i%
  1066.  
  1067.     IF count% > 0 THEN
  1068.       OldCursor% = ShowWaitCursor()
  1069.       if (GetSymbolValue( RAD_ALBUM_ONLY$ ) = _ON$) then
  1070.         ii% = DoAlbumMerge("NULL", CD_ART_PATH$, MakePath( DEST_ART$, GetAlbumName() ))
  1071.       else
  1072.         ii% = DoAlbumMerge("NULL", DEST_ART$, MakePath( DEST_ART$, GetAlbumName() ))
  1073.       endif
  1074.     ENDIF
  1075.  
  1076.   endif
  1077.  
  1078. END SUB
  1079.  
  1080. '' CheckWin30
  1081. ''
  1082. SUB CheckWin30 STATIC
  1083.   WinIni$ = MakePath(GetWindowsDir, "WIN.INI")
  1084.   szTrueTypeEnabled$ = GetIniKeyString (WinIni$, "TrueType", "TTEnable")
  1085.   if (GetWindowsMajorVersion () = 3) and (GetWindowsMinorVersion () = 0) or (szTrueTypeEnabled$ = "0") then
  1086.   LOOP_UP:
  1087.     sz$ = UIStartDlg(CUIDLL$, WARN_WIN30, "FRadioDlgProc", 0, "")
  1088.     if sz$ = "REACTIVATE" or sz$ = "Option1" or sz$ = "Option2" or sz$ = "Option3" or sz$ = "Option4" or sz$ = "Option5" then
  1089.       GOTO LOOP_UP
  1090.     endif
  1091.     UIPop 1
  1092.     szResult$ = GetSymbolValue ("FontOption")
  1093.     if szResult$ = "Option1" then
  1094.       '' ATM
  1095.       CreateIniKeyValue ini$, "Aliases", "Roman", "TimesNewRomanPS", cmoNone
  1096.       CreateIniKeyValue ini$, "Aliases", "Modern", "Arial MT", cmoNone
  1097.     elseif szResult$ = "Option2" then
  1098.       '' FaceLift 2.0
  1099.       CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 Rm BT", cmoNone
  1100.       CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  1101.     elseif szResult$ = "Option3" then
  1102.       '' FaceLift 1.0
  1103.       CreateIniKeyValue ini$, "Aliases", "Roman", "Dutch801 BT", cmoNone
  1104.       CreateIniKeyValue ini$, "Aliases", "Modern", "Swis721 BT", cmoNone
  1105.     elseif szResult$ = "Option4" then
  1106.       '' MoreFonts
  1107.       MfIni$ = MakePath(GetWindowsDir, "MF.INI")
  1108.       Pre$ = "A"
  1109.       Changer$ = "A"
  1110.       Post$ = "001AAA.WNW"
  1111. MF_LOOP:
  1112.       Font$ = GetIniKeyString (MfIni$, "Fonts", Pre$+Changer$+Post$)
  1113.       if Font$ = "" then
  1114.         goto OH_WELL
  1115.       endif
  1116.       if (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "Scal") > 0) then
  1117.         CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN/Scal)", cmoNone
  1118.         CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN/Scal)", cmoNone
  1119.         goto END_MF
  1120.       elseif (INSTR (Font$, "Geneva") > 0 ) AND (INSTR (Font$, "(WN)") > 0) then
  1121.         CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  1122.         CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  1123.         goto END_MF
  1124.       else
  1125.         Changer$ = STR$ (VAL (Changer$) + 1)
  1126.         goto MF_LOOP
  1127.       endif
  1128. OH_WELL:
  1129.       CreateIniKeyValue ini$, "Aliases", "Roman", "Tiempo (WN)", cmoNone
  1130.       CreateIniKeyValue ini$, "Aliases", "Modern","Geneva (WN)", cmoNone
  1131. END_MF:
  1132.   else
  1133. OTHER_FONT:
  1134.     ''CreateIniKeyValue ini$, "Aliases", "", "", cmoNone
  1135.     sz$ = UIStartDlg(CUIDLL$, WARN_OTHER_FM, "FInfo0DlgProc", 0, "")
  1136.     IF sz$ = "REACTIVATE" THEN
  1137.       GOTO OTHER_FONT
  1138.     END IF
  1139.     UIPop 1
  1140.   endif
  1141.   '' TrueType is enabled
  1142.   else
  1143.     CreateIniKeyValue ini$, "Aliases", "Roman", "Times New Roman", cmoNone
  1144.     CreateIniKeyValue ini$, "Aliases", "Modern", "Arial", cmoNone
  1145.     CreateIniKeyValue ini$, "Aliases", "Casque OpenFace", "Casque OpenFace", cmoNone
  1146.     CreateIniKeyValue ini$, "Aliases", "Formal Script", "Formal Script", cmoNone
  1147.     CreateIniKeyValue ini$, "Aliases", "Marquee Engraved", "Marquee Engraved", cmoNone
  1148.     CreateIniKeyValue ini$, "Aliases", "Ultra Shadow", "Ultra Shadow", cmoNone
  1149.   endif
  1150. END SUB
  1151.  
  1152. '' DoIniStuff
  1153. ''
  1154. SUB DoIniStuff STATIC
  1155.   '' open a billboard to notify user that INI file entries are being created
  1156.   '' [msg text is in the dialog resource file]
  1157.   OpenWaitMessage (INI_ENTRIES)
  1158.   WinIniFile$ = MakePath(GetWindowsDir, "WIN.INI")
  1159.  
  1160.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  1161.     '' create WIN.INI entry for POWERUP.INI location
  1162.     CreateIniKeyValue WinIniFile$, "PowerUp", "PowerUp", UCASE$ (ini$), cmoOverwrite
  1163.     '' create WIN.INI entries for CCW files (.CCE, .CCI and .CCW)
  1164.     CreateIniKeyValue WinIniFile$, "Extensions", "cce", UCASE$ ( MakePath( DEST$, "ccwin.exe ^.cce" )), cmoOverwrite
  1165.     CreateIniKeyValue WinIniFile$, "Extensions", "ccw", UCASE$ ( MakePath( DEST$, "ccwin.exe ^.ccw" )), cmoOverwrite
  1166.     CreateIniKeyValue WinIniFile$, "Extensions", "cci", UCASE$ ( MakePath( DEST$, "ccwin.exe ^.cci" )), cmoOverwrite
  1167.     CreateIniKeyValue WinIniFile$, "Extensions", "alb", UCASE$ ( MakePath( DEST$, "palbum.exe ^.alb")), cmoOverwrite
  1168.  
  1169.     '' create [graphics filters] entries     -- this will affect TextAppeal
  1170.     szFilterVer$ = GetIniKeyString( ini$, _GRAPH_INI$, "FilterVer" )
  1171.     ''  if current entries are obsolete...
  1172.     if szFilterVer$ < _FILTER_VER$ then
  1173.       CreateIniKeyValue ini$, _GRAPH_INI$, "FilterVer", _FILTER_VER$, cmoOverwrite
  1174.   '' TRANSLATOR START -- *WARNING*: refer to localization guide
  1175.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter1", "All graphics,*.BMP;*.CGM;*.DRW;*.EPI;*.PCX;*.TIF;*.WMF;*.GIF;*.PCD;*.JPG;*.WPG", cmoOverwrite
  1176.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter2", "Bitmap (*.bmp),*.BMP,IRBMP9,BITMAP", cmoOverwrite
  1177.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter3", "CGM (*.cgm),*.CGM,IMCGM9,METAFILE", cmoOverwrite
  1178.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter4", "Micrografx (*.drw),*.DRW,IMDRW9,METAFILE", cmoOverwrite
  1179.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter5", "Photo CD (*.pcd),*.PCD,IRPCD9,BITMAP",cmoOverwrite
  1180.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter6", "GIF (*.gif),*.GIF,IRGIF9,BITMAP", cmoOverwrite
  1181.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter7", "Text Effects (*.epi),*.EPI,IRTIF9,BITMAP", cmoOverwrite
  1182.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter8", "PC Paint (*.pcx),*.PCX,IRPCX9,BITMAP", cmoOverwrite
  1183.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter9", "TIFF (*.tif),*.TIF,IRTIF9,BITMAP", cmoOverwrite
  1184.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter10", "Windows Metafile (*.wmf),*.WMF,IMWMF9,METAFILE", cmoOverwrite
  1185.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter11", "JPEG (*.jpg),*.JPG,ACCUSOFT.DLL,BITMAP", cmoOverwrite
  1186.       CreateIniKeyValue ini$, _GRAPH_INI$, "NewFilter12", "WPG (*.wpg),*.WPG,IMWPG9,METAFILE", cmoOverwrite
  1187.   '' TRANSLATOR END
  1188.       CreateIniKeyValue ini$, _GRAPH_INI$, "FilterDll", "ISGDI9.DLL", cmoOverwrite
  1189.       CreateIniKeyValue ini$, _GRAPH_INI$, "FilterIni", "ISGDI9.INI", cmoOverwrite
  1190.       CreateIniKeyValue ini$, _GRAPH_INI$, "TransformFlt", "EMWMF9.FLT", cmoOverwrite
  1191.     endif
  1192.     CreateIniKeyValue ini$, _GRAPH_INI$, "NewPath", UCASE$ (DEST_FILTERS$), cmoOverwrite
  1193.  
  1194.     '' create [calendar whatever] entries
  1195.     CreateIniKeyValue ini$, _CCW$, "Album", UCASE$ (MakePath (DEST_ART$, GetAlbumName())), cmoOverwrite
  1196.     CreateIniKeyValue ini$, _CCW$, "AutoSave", "0", cmoNone
  1197.     CreateIniKeyValue ini$, _CCW$, "AutoSaveSpan", "15", cmoNone
  1198.     CreateIniKeyValue ini$, _CCW$, "AutoUpdate", "0", cmoNone
  1199.     CreateIniKeyValue ini$, _CCW$, "BackgroundMax", "1900", cmoNone
  1200.     CreateIniKeyValue ini$, _CCW$, "BigPictureBorderMargin", "5", cmoNone
  1201.     CreateIniKeyValue ini$, _CCW$, "BigPictureDescMargin", "2", cmoNone
  1202.     CreateIniKeyValue ini$, _CCW$, "ClipboardFormats", "2", cmoNone
  1203.     CreateIniKeyValue ini$, _CCW$, "ColumnWidthTestString", "NNNNNN", cmoNone
  1204.     CreateIniKeyValue ini$, _CCW$, "DefaultPriority", "*", cmoNone
  1205.     CreateIniKeyValue ini$, _CCW$, "DefaultStyle", "Normal", cmoNone
  1206.     CreateIniKeyValue ini$, _CCW$, "DefaultWorkspacePath", UCASE$ (WinDir$), cmoNone
  1207.     CreateIniKeyValue ini$, _CCW$, "DisableHyphenation", _NO$, cmoNone
  1208.     CreateIniKeyValue ini$, _CCW$, "DisplayUpdateDlg", "N", cmoNone
  1209.     CreateIniKeyValue ini$, _CCW$, "DosGraphicsPath", UCASE$ (WinDir$), cmoNone
  1210.     CreateIniKeyValue ini$, _CCW$, "EventListPath", UCASE$ (DEST$), cmoNone
  1211.     CreateIniKeyValue ini$, _CCW$, "EventMarginX", "1", cmoNone
  1212.     CreateIniKeyValue ini$, _CCW$, "EventMarginY", "1", cmoNone
  1213.     CreateIniKeyValue ini$, _CCW$, "EXPORT1", """CCPlus DOS 4.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1214.     CreateIniKeyValue ini$, _CCW$, "EXPORT2", """CCPlus DOS 5.0 (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1215.     CreateIniKeyValue ini$, _CCW$, "EXPORT3", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1216.     CreateIniKeyValue ini$, _CCW$, "EXPORT4", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1217.     CreateIniKeyValue ini$, _CCW$, "EXPORT5", """Wizard (*.sdf)"" CCNV-WZW.DLL *.sdf", cmoOverwrite
  1218.     CreateIniKeyValue ini$, _CCW$, "FormSizeScale", _YES$, cmoNone
  1219.     CreateIniKeyValue ini$, _CCW$, "GraphicsPath", UCASE$ (DEST_ART$), cmoOverwrite
  1220.     CreateIniKeyValue ini$, _CCW$, "HeaderMargin", "5", cmoNone
  1221.     CreateIniKeyValue ini$, _CCW$, "Hebrew", _YES$, cmoOverwrite
  1222.     CreateIniKeyValue ini$, _CCW$, "HyphenZone", "30", cmoNone
  1223.     CreateIniKeyValue ini$, _CCW$, "IMPORT1", """CCPlus DOS (.cal)"" CCNV-CAL.DLL *.cal", cmoOverwrite
  1224.     CreateIniKeyValue ini$, _CCW$, "IMPORT2", """Lotus 1-2-3 (.wks,.wk1)"" CCNV-WKS.DLL *.wks;*.wk1", cmoOverwrite
  1225.     CreateIniKeyValue ini$, _CCW$, "IMPORT3", """dBase III, IV (.dbf)"" CCNV-DBF.DLL *.dbf", cmoOverwrite
  1226.     CreateIniKeyValue ini$, _CCW$, "IMPORT4", """Columnar ASCII (*.*)"" CCNV-COL.DLL *.*", cmoOverwrite
  1227.     CreateIniKeyValue ini$, _CCW$, "IMPORT5", """Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1228.     CreateIniKeyValue ini$, _CCW$, "IMPORT6", """DOS Columnar ASCII (*.*) "" CCNV-COL.DLL *.*", cmoOverwrite
  1229.     CreateIniKeyValue ini$, _CCW$, "IMPORT7", """DOS Comma Delimited (.csv)"" CCNV-CSV.DLL *.csv", cmoOverwrite
  1230.     CreateIniKeyValue ini$, _CCW$, "IMPORT8", """Wizard (sched.wzw,*.sdf)"" CCNV-WZW.DLL sched.wzw;*.sdf", cmOverwrite
  1231.     CreateIniKeyValue ini$, _CCW$, "ImportExportDelimitor", ",", cmoNone
  1232.     CreateIniKeyValue ini$, _CCW$, "LastYear", "2000", cmoNone
  1233.     CreateIniKeyValue ini$, _CCW$, "MarkListsWithNotes", "1", cmoNone
  1234.     CreateIniKeyValue ini$, _CCW$, "MidPointMargin", "15", cmoNone
  1235.     CreateIniKeyValue ini$, _CCW$, "MinColumnWidth", "100", cmoNone
  1236.     CreateIniKeyValue ini$, _CCW$, "MinNoteHeight", "14", cmoNone
  1237.     CreateIniKeyValue ini$, _CCW$, "MinWordLength", "7", cmoNone
  1238.     CreateIniKeyValue ini$, _CCW$, "NoteLines", "40", cmoNone
  1239.     CreateIniKeyValue ini$, _CCW$, "NumberOfExports", "5", cmoOverwrite
  1240.     CreateIniKeyValue ini$, _CCW$, "NumberOfImports", "8", cmoOverwrite
  1241.     CreateIniKeyValue ini$, _CCW$, "PictureBorder", "4", cmoNone
  1242.     CreateIniKeyValue ini$, _CCW$, "PrintFontsInBlack", _YES$, cmoNone
  1243.     CreateIniKeyValue ini$, _CCW$, "PrintPreview", "0", cmoNone
  1244.     CreateIniKeyValue ini$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite
  1245.     CreateIniKeyValue ini$, _CCW$, "ScreenRes", "0", cmoNone
  1246.     CreateIniKeyValue ini$, _CCW$, "SecondLineIndentMax", "15", cmoNone
  1247.     CreateIniKeyValue ini$, _CCW$, "SecondLineIndentPercent", "8", cmoNone
  1248.     CreateIniKeyValue ini$, _CCW$, "SpecialCaseBanding", _YES$, cmoNone
  1249.     CreateIniKeyValue ini$, _CCW$, "StyleConflict", "Dialog", cmoNone
  1250.     CreateIniKeyValue ini$, _CCW$, "StylesPath", UCASE$ (WinDir$), cmoNone
  1251.     CreateIniKeyValue ini$, _CCW$, "UpdateSpan", "15", cmoNone
  1252.     CreateIniKeyValue ini$, _CCW$, "UseCommonPalette", "1", cmoOverwrite
  1253.     CreateIniKeyValue ini$, _CCW$, "WorkspacePath", UCASE$ (DEST$), cmoNone
  1254.  
  1255.     '' create [paperstock] entries
  1256.     '' CCW itself creates the stock0 entry if missing, so check for stock1
  1257.     if GetIniKeyString( ini$, _CPS$, "Stock1" ) = "" then
  1258.   '' TRANSLATOR START -- *WARNING*: refer to localization guide
  1259.       CreateIniKeyValue ini$, _CPS$, "Stock0", "Letter - 8.5 x 11;C;P;0.00;0.00;11.00;8.50;1; 1;11.00;8.50;0.75;0.50;0.75;0.50;I", cmoOverwrite
  1260.       CreateIniKeyValue ini$, _CPS$, "Stock1", "Legal - 8.5 x 14;C;P;0.00;0.00;14.00;8.50;1; 1;14.00;8.50;0.50;0.50;0.75;0.50;I", cmoOverwrite
  1261.       CreateIniKeyValue ini$, _CPS$, "Stock2", "Wide - 14 x 11;T;P;0.00;0.00;11.00;14.00;1; 1;11.00;14.00;0.50;0.50;0.75;0.50;I", cmoOverwrite
  1262.       CreateIniKeyValue ini$, _CPS$, "Stock3", "Pocket - 3.75 x 6.75;C;P;0.00;0.00;6.75;3.75;1; 1;6.75;3.75;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1263.       CreateIniKeyValue ini$, _CPS$, "Stock4", "Organizer - 5.5 x 8.5;C;P;0.00;0.00;8.50;5.50;1; 1;8.50;5.50;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1264.       CreateIniKeyValue ini$, _CPS$, "Stock5", "Two/page - 8.5 x 5.5;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.63;0.35;0.35;I", cmoOverwrite
  1265.       CreateIniKeyValue ini$, _CPS$, "Stock6", "Three/page - 6.75 x 3.66;C;P;0.00;0.00;3.66;6.75;1; 3;11.00;8.50;0.41;0.35;0.35;0.35;I", cmoOverwrite
  1266.       CreateIniKeyValue ini$, _CPS$, "Stock7", "Four/page - 4.25 x 5.5;C;P;0.00;0.00;5.50;4.25;2; 2;11.00;8.50;0.41;0.35;0.41;0.35;I", cmoOverwrite
  1267.       CreateIniKeyValue ini$, _CPS$, "Stock8", "InstaBook - 2/page;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.63;0.35;0.35;I", cmoOverwrite
  1268.       CreateIniKeyValue ini$, _CPS$, "Stock9", "InstaBook - 4/page;C;P;0.00;0.00;5.50;4.25;2; 2;11.00;8.50;0.35;0.50;0.35;0.35;I", cmoOverwrite
  1269.       CreateIniKeyValue ini$, _CPS$, "Stock10", "InstaBook - 12/page;C;P;0.00;0.00;3.66;2.12;4; 3;11.00;8.50;0.35;0.40;0.35;0.35;I", cmoOverwrite
  1270.       CreateIniKeyValue ini$, _CPS$, "Stock11", "A3 - 29.7 x 42 cm;C;P;0.00;0.00;42.00;29.70;1; 1;42.00;29.70;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1271.       CreateIniKeyValue ini$, _CPS$, "Stock12", "A4 - 21 x 29.7 cm;C;P;0.00;0.00;29.70;21.00;1; 1;29.70;21.00;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1272.       CreateIniKeyValue ini$, _CPS$, "Stock13", "A5 - 14.8 x 21 cm;C;P;0.00;0.00;21.00;14.80;1; 1;21.00;14.80;1.20;1.20;1.60;1.20;M", cmoOverwrite
  1273.       CreateIniKeyValue ini$, _CPS$, "Stock14", "A4 InstaBook - 2/page;C;P;0.00;0.00;14.85;21.00;1; 2;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1274.       CreateIniKeyValue ini$, _CPS$, "Stock15", "A4 InstaBook - 4/page;C;P;0.00;0.00;14.85;10.48;2; 2;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1275.       CreateIniKeyValue ini$, _CPS$, "Stock16", "A4 InstaBook - 12/page;C;P;0.00;0.00;9.90;5.23;4; 3;29.70;21.00;0.75;1.00;0.75;0.75;M", cmoOverwrite
  1276.       CreateIniKeyValue ini$, _CPS$, "Stock17", "Power Up M0030 - 8.5 x 5.5;C;P;0.00;0.00;5.50;8.50;1; 2;11.00;8.50;0.35;0.35;0.35;0.35;I", cmoOverwrite
  1277.       CreateIniKeyValue ini$, _CPS$, "Stock18", "Power Up M0040 - 2.5 x 4.5;C;P;0.00;0.00;4.50;2.50;3; 2;11.00;8.50;0.35;0.35;0.35;0.35;I", cmoOverwrite
  1278.       CreateIniKeyValue ini$, _CPS$, "Stock19", "Power Up M0401 - 3.75 x 6.75;T;P;0.88;0.00;6.75;3.75;1; 1;8.50;3.75;0.50;0.35;0.56;0.35;I", cmoOverwrite
  1279.       CreateIniKeyValue ini$, _CPS$, "Stock20", "Power Up M0402 - 5.5 x 8.5;T;P;0.00;0.00;8.50;5.50;1; 1;8.50;5.50;0.50;0.35;0.66;0.35;I", cmoOverwrite
  1280.       CreateIniKeyValue ini$, _CPS$, "Stock21", "Power Up M0701 - 3.75 x 6.75;C;P;0.00;0.00;6.75;3.75;2; 1;11.00;8.50;0.50;0.35;0.56;0.35;I", cmoOverwrite
  1281.       CreateIniKeyValue ini$, _CPS$, "Stock22", "Power Up M0702 - 5.5 x 8.5;C;P;0.00;0.00;8.50;5.50;1; 1;11.00;8.50;0.50;0.35;0.66;0.35;I", cmoOverwrite
  1282.       CreateIniKeyValue ini$, _CPS$, "Stock23", "DiscoverSoft - 5.5 x 8.5;C;P;0.00;1.50;8.50;5.50;1; 1;11.00;8.50;0.50;0.35;0.63;0.35;I", cmoOverwrite
  1283.   '' TRANSLATOR END
  1284.     endif
  1285.  
  1286.     '' create [printing] entries
  1287.     CreateIniKeyValue ini$, _CCPO$, "Binding", "side", cmoNone
  1288.     CreateIniKeyValue ini$, _CCPO$, "BlanksAfter", "0", cmoNone
  1289.     CreateIniKeyValue ini$, _CCPO$, "BlanksBefore", "0", cmoNone
  1290.     CreateIniKeyValue ini$, _CCPO$, "ColumnOrder", _NO$, cmoNone
  1291.     CreateIniKeyValue ini$, _CCPO$, "Copies", "1", cmoNone
  1292.     CreateIniKeyValue ini$, _CCPO$, "Duplex", "Ordered", cmoNone
  1293.     CreateIniKeyValue ini$, _CCPO$, "FudgeX", "0", cmoNone
  1294.     CreateIniKeyValue ini$, _CCPO$, "FudgeY", "0", cmoNone
  1295.     CreateIniKeyValue ini$, _CCPO$, "InputTray", "up", cmoNone
  1296.     CreateIniKeyValue ini$, _CCPO$, "LandscapeRotate", "left", cmoNone
  1297.     CreateIniKeyValue ini$, _CCPO$, "ManualFeed", "side", cmoNone
  1298.     CreateIniKeyValue ini$, _CCPO$, "OutputTray", "down", cmoNone
  1299.     CreateIniKeyValue ini$, _CCPO$, "OverflowSymbol", _YES$, cmoNone
  1300.     CreateIniKeyValue ini$, _CCPO$, "PaperHead", "in", cmoNone
  1301.     CreateIniKeyValue ini$, _CCPO$, "PrintBW", _NO$, cmoNone
  1302.     CreateIniKeyValue ini$, _CCPO$, "Type", "simplex", cmoNone
  1303.     CreateIniKeyValue ini$, _CCPO$, "Units", "1", cmoNone
  1304.  
  1305.     '' create [showpict] & [poweralbum] entries
  1306.     CreateIniKeyValue ini$,"SHOWPICT","Path",UCASE$ (DEST$),cmoOverwrite
  1307.     CreateIniKeyValue ini$,"ART","Path",UCASE$ (DEST_ART$),cmoOverwrite
  1308.     CreateIniKeyValue ini$,"POWERALBUM","Path",UCASE$ (DEST$),cmoOverwrite
  1309.     CreateIniKeyValue ini$,"POWERALBUM","Album",UCASE$ (MakePath(DEST_ART$,GetAlbumName())),cmoOverwrite
  1310.     CreateIniKeyValue ini$,"POWERALBUM","Import",UCASE$ (DEST_ART$),cmoOverwrite
  1311.     CreateIniKeyValue ini$,"POWERALBUM","AlternatePicturePath",UCASE$ (MID$ (sourcDir$, 1, 1)),cmoOverwrite
  1312.     CreateIniKeyValue ini$,"SHOWPICT","Path",UCASE$ (DEST$),cmoOverwrite
  1313.     CreateIniKeyValue ini$,"SHOWPICT","BigTif",_NO$,cmoOverwrite
  1314.     CreateIniKeyValue ini$,"SHOWPICT","KodakPCDSizes","192,128,384,256,20000,20000,1536,1024,3072,2048",cmoOverwrite
  1315.   ENDIF
  1316.  
  1317.   if mode% = ADMIN then
  1318.     NetworkInf$ = MakePath( DEST$, "CCWNET.INF" )
  1319.     CreateIniKeyValue NetworkInf$, _CCW$, "ProgramPath", UCASE$ (DEST$), cmoOverwrite
  1320.     CreateIniKeyValue NetworkInf$, _GRAPH_INI$, "Path", UCASE$ (DEST_FILTERS$), cmoOverwrite
  1321.     CreateIniKeyValue NetworkInf$, "ART", "Path", UCASE$ (DEST_ART$), cmoOverwrite
  1322.   endif
  1323.   CloseWaitMessage                '' was info msg "creating INI entries..."
  1324. END SUB
  1325.  
  1326. '' DoIconStuff
  1327. ''
  1328. SUB DoIconStuff STATIC
  1329.   IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  1330.     CreateProgmanGroup _PROG_GRP$, "", cmoNone
  1331.     ShowProgmanGroup   _PROG_GRP$, 1, cmoNone
  1332.     CreateProgmanItem  _PROG_GRP$, _ICON_CCW$, MakePath (DEST$,"SISWIM.exe"), "", cmoOverwrite
  1333.     CreateProgmanItem  _PROG_GRP$, _ICON_PA$, MakePath (DEST$,"palbum.exe"), "", cmoOverwrite
  1334.     CreateProgmanItem  _PROG_GRP$, _ICON_README$, MakePath (DEST$,"readme.txt"), "", cmoOverwrite
  1335.     if mode% = ADMIN then
  1336.       CreateProgmanItem  _PROG_GRP$, _ICON_NETREADME$, MakePath (DEST$,"admin.txt"), "", cmoOverwrite
  1337.     endif
  1338.     if mode% <> NODE then
  1339.     RemoveFile MakePath(DEST$,"album.exe"),cmoNone
  1340.     RemoveFile MakePath(DEST$,"album.hlp"),cmoNone
  1341.     RemoveFile MakePath(DEST$,"ccutil.dll"),cmoNone
  1342.     RemoveFile MakePath(DEST$,"celib.dll"),cmoNone
  1343.     RemoveFile MakePath(DEST$,"egares.dll"),cmoNone
  1344.     RemoveFile MakePath(DEST$,"sv2res.dll"),cmoNone
  1345.     RemoveFile MakePath(DEST$,"svgres.dll"),cmoNone
  1346.     RemoveFile MakePath(DEST$,"vg2res.dll"),cmoNone
  1347.     RemoveFile MakePath(DEST$,"vgares.dll"),cmoNone
  1348.     RemoveFile MakePath(DEST$,"owl.dll"),cmoNone
  1349.     RemoveFile MakePath(DEST$,"tclass.dll"),cmoNone
  1350.     SRC$=DEST$
  1351.     _DUMMYDLL$ = "printer.dll"
  1352.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"album2.dll"),cmoNone,0
  1353.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"chospict.dll"),cmoNone,0
  1354.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"showpict.dll"),cmoNone,0
  1355.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"ntbkcan.dll"),cmoNone,0
  1356.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"notebook.dll"),cmoNone,0
  1357.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"splash.dll"),cmoNone,0
  1358.     CopyFile MakePath(SRC$,_DUMMYDLL$),MakePath(DEST$,"cpalette.dll"),cmoNone,0
  1359.     endif
  1360.   ENDIF
  1361. END SUB
  1362.  
  1363. GET_SETUP_MODE:
  1364. NetworkInf$ = MakePath( GetSymbolValue("STF_SRCDIR"), "CCWNET.INF" )
  1365. if DoesFileExist( NetworkInf$, femExists) <= 0 then
  1366.   goto KEEP_CHECKING
  1367. else
  1368. FIND_EXE_PATH:
  1369.   DEST$ = LCASE$( MakePath( GetSymbolValue( "STF_SRCDIR" ), "" ) )
  1370.   if DoesFileExist (MakePath (DEST$, "SISWIM.EXE"), femExists) <= 0 then
  1371.     i% = DoMsgBox(_ERRMSG_NOFIND$ + MakePath(DEST$, "SISWIM.EXE") + _ERRMSG_CONTACT$, _SETUP_TITLE$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1372.     szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  1373.     RemoveFile szDelFile$, cmoNone
  1374.     i% = ReleaseCP
  1375.     END
  1376.   endif
  1377.   DEST_FILTERS$ = LCASE$ (GetIniKeyString (NetworkInf$, _GRAPH_INI$, "Path"))
  1378. CHECK_FILTERS_PATH:
  1379.   if DoesFileExist (MakePath (DEST_FILTERS$, "IMWMF9.FLT"), femExists) <= 0 then
  1380.     ''i% = DoMsgBox(_ERRMSG_NOFIND$ + MakePath(DEST_FILTERS$, "IMWMF9.FLT") + _ERRMSG_CONTACT$, "DEBUG", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1381. GET_FILTERS_PATH:
  1382.     DEST_FILTERS$ = DEST$
  1383.     SetSymbolValue "EditTextIn", DEST_FILTERS$
  1384.     SetSymbolValue "EditFocus", "END"
  1385.     sz$ = UIStartDlg (CUIDLL$, NET_FILTERS_PATH, "FEditDlgProc", 0, "")
  1386.     IF sz$ = "OK" THEN
  1387.       szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1388.       IF DoesDirExist (szPath$) = 0 THEN
  1389.   GOSUB BADPATH
  1390.   GOTO GET_FILTERS_PATH
  1391.       ENDIF
  1392.       UIPop 1
  1393.       DEST_FILTERS$ = szPath$
  1394.       goto CHECK_FILTERS_PATH
  1395.     ELSEIF sz$ = "REACTIVATE" THEN
  1396.       GOTO GET_FILTERS_PATH
  1397.     ELSE
  1398.       AskQuit
  1399.       GOTO GET_FILTERS_PATH
  1400.     ENDIF
  1401. endif
  1402. DEST_ART$ = LCASE$ (GetIniKeyString (NetworkInf$, "ART", "Path"))
  1403. CHECK_ART_PATH:
  1404. if DoesFileExist (MakePath (DEST_ART$, GetAlbumName()), femExists) <= 0 then
  1405.   ''
  1406. GET_ART_PATH:
  1407.   DEST_ART$ = DEST$
  1408.   SetSymbolValue "EditTextIn", DEST_ART$
  1409.   SetSymbolValue "EditFocus", "END"
  1410.   sz$ = UIStartDlg (CUIDLL$, NET_ART_PATH, "FEditDlgProc", 0, "")
  1411.   IF sz$ = "OK" THEN
  1412.     szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1413.     IF DoesDirExist (szPath$) = 0 THEN
  1414.       GOSUB BADPATH
  1415.       GOTO GET_ART_PATH
  1416.     ENDIF
  1417.     UIPop 1
  1418.     DEST_ART$ = szPath$
  1419.     goto CHECK_ART_PATH
  1420.   ELSEIF sz$ = "REACTIVATE" THEN
  1421.     GOTO GET_ART_PATH
  1422.   ELSE
  1423.     AskQuit
  1424.     GOTO GET_ART_PATH
  1425.   ENDIF
  1426. endif
  1427. mode% = NODE
  1428. goto DONE_CHECKING
  1429. endif
  1430. KEEP_CHECKING:
  1431. if GetSymbolValue( "STF_MODE" ) = "ADMIN" then
  1432.   mode% = ADMIN
  1433. elseif GetSymbolValue( "STF_MODE" ) = "NETWORK" then
  1434.   mode% = NORMAL
  1435. else
  1436.   mode% = NORMAL
  1437. endif
  1438. DONE_CHECKING:
  1439. RETURN
  1440.  
  1441. DO_NODE_SETUP:
  1442. LOOP_NODE1:
  1443. sz$ = UIStartDlg(CUIDLL$, NODESETUP, "FInfo0DlgProc", 0, "")
  1444. IF sz$ = "REACTIVATE" THEN
  1445.   GOTO  LOOP_NODE1
  1446. ELSEIF sz$ = "CANCEL" then
  1447.   AskQuit
  1448.   goto LOOP_NODE1
  1449. ELSE
  1450.   UIPop 1
  1451. ENDIF
  1452. InitMainDialogSymbols
  1453. goto GET_DATA_PATH
  1454. NODE_PATH_DONE:
  1455. CreateDir DATA_PATH$, cmoNone
  1456. DeleteOldIcons
  1457. DoIniStuff
  1458. DoIconStuff
  1459. '' copy needed files from server
  1460. fdest$ = ""
  1461. if IsDirWritable( WinSysDir$ ) = 1 then
  1462.   fdest$ = WinSysDir$
  1463. elseif IsDirWritable( WinDir$ ) = 1 then
  1464.   fdest$ = WinDir$
  1465. endif
  1466. if fdest$ <> "" then
  1467.   TTF_PATH$ = fdest$
  1468.   CopyFile MakePath(DEST$,"CASQUEOF.TTF"),MakePath(fdest$,"CASQUEOF.TTF"),cmoNone,0
  1469.   CopyFile MakePath(DEST$,"formlscr.TTF"),MakePath(fdest$,"formlscr.TTF"),cmoNone,0
  1470.   CopyFile MakePath(DEST$,"ultrashd.TTF"),MakePath(fdest$,"ultrashd.TTF"),cmoNone,0
  1471.   CopyFile MakePath(DEST$,"marqueen.TTF"),MakePath(fdest$,"marqueen.TTF"),cmoNone,0
  1472.   DoFontStuff
  1473. endif
  1474. if IsDirWritable( WinDir$ ) = 1 then
  1475.   szDestFile$ = MakePath( WinDir$, "ccstyles.ccy" )
  1476.   if DoesFileExist( szDestFile$, femExists) <= 0 then
  1477.     CopyFile MakePath(DEST$,"ccstyles.ccy"),szDestFile$,cmoNone,0
  1478.   endif
  1479. endif
  1480. '' warn 3.0 users they need a font manager
  1481. IF GetSymbolValue (CHK_PROG_FILES$) = _ON$ THEN
  1482.   CheckWin30
  1483. ENDIF
  1484. GetUserInfo
  1485. LOOP_NODE:
  1486. sz$ = UIStartDlg(CUIDLL$, EXITSUCCESS, "FInfo0DlgProc", 0, "")
  1487. IF sz$ = "REACTIVATE" THEN
  1488.   GOTO  LOOP_NODE
  1489. ENDIF
  1490. UIPop 1
  1491. HelpQuit (FrameWindow%)
  1492. szDelFile$ = MakePath( GetSymbolValue("STF_CWDDIR"), "chklist.ms" )
  1493. RemoveFile szDelFile$, cmoNone
  1494. i% = ReleaseCP
  1495. END
  1496.  
  1497. '' GetUserInfo
  1498. ''
  1499. SUB GetUserInfo STATIC
  1500. '' get the powerup.ini entries if present
  1501. szUserName$ = GetIniKeyString (ini$, "USER INFO", "UserName")
  1502. szCompany$ = GetIniKeyString (ini$, "USER INFO", "CompanyName")
  1503. if (szUserName$ <> "") and (szCompany$ <> "") then
  1504.   goto END_INFO
  1505. endif
  1506. if (szUserName$ <> "") and (szCompany$ <> "") then
  1507.   CreateIniKeyValue ini$, "USER INFO", "UserName", szUserName$, cmoOverwrite
  1508.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", szCompany$, cmoOverwrite
  1509.   goto END_INFO
  1510. endif
  1511. SetSymbolValue NAME_STR$, szUserName$
  1512. SetSymbolValue ORG_STR$, szCompany$
  1513. GET_USER_INFO_LOOP:
  1514. sz$ = UIStartDlg (CUIDLL$, GETINFO, "FNameOrgDlgProc", 0, "")
  1515. IF sz$ = "REACTIVATE" THEN
  1516.   GOTO GET_USER_INFO_LOOP
  1517. ELSEIF sz$ = "OK" THEN
  1518.   CreateIniKeyValue ini$, "USER INFO", "UserName", GetSymbolValue (NAME_STR$), cmoOverwrite
  1519.   CreateIniKeyValue ini$, "USER INFO", "CompanyName", GetSymbolValue (ORG_STR$), cmoOverwrite
  1520. ENDIF
  1521. UIPop 1
  1522. END_INFO:
  1523. END SUB
  1524.  
  1525. '' DoFontStuff
  1526. ''
  1527. SUB DoFontStuff STATIC
  1528. if IsDirWritable( WinSysDir$ ) = 1 then
  1529.   adest$ = WinSysDir$
  1530. elseif IsDirWritable( WinDir$ ) = 1 then
  1531.   adest$ = WinDir$
  1532. else
  1533.   goto FontEnd
  1534. endif
  1535. ret% = InstallTTF(MakePath(TTF_PATH$,"CASQUEOF.TTF"),adest$)
  1536. ret% = InstallTTF(MakePath(TTF_PATH$,"formlscr.TTF"),adest$)
  1537. ret% = InstallTTF(MakePath(TTF_PATH$,"ultrashd.TTF"),adest$)
  1538. ret% = InstallTTF(MakePath(TTF_PATH$,"marqueen.TTF"),adest$)
  1539. FontEnd:
  1540. END SUB
  1541.  
  1542. GET_DATA_PATH:
  1543. DATA_PATH$ = MakePath( RootDir$, "SISWIM" )
  1544. SetSymbolValue "EditTextIn", DATA_PATH$
  1545. SetSymbolValue "EditFocus", "END"
  1546. sz$ = UIStartDlg (CUIDLL$, DATAPATH, "FEditDlgProc", 0, "")
  1547. IF sz$ = "OK" THEN
  1548.   szPath$ = MakePath (LCASE$ (GetSymbolValue("EditTextOut")), "")
  1549.   IF IsDirWritable (szPath$) = 0 THEN
  1550.     GOSUB BADPATH
  1551.     GOTO GET_DATA_PATH
  1552.   END IF
  1553.   UIPop 1
  1554.   DATA_PATH$ = szPath$
  1555.   goto NODE_PATH_DONE
  1556. ELSEIF sz$ = "REACTIVATE" THEN
  1557.   GOTO GET_DATA_PATH
  1558. ELSE
  1559.   AskQuit
  1560.   GOTO GET_DATA_PATH
  1561. ENDIF
  1562.  
  1563. '$INCLUDE 'init.inc'
  1564.