home *** CD-ROM | disk | FTP | other *** search
/ Systema 1.6 / USSYS16.iso / mouse / disk1 / mouse.ms_ / mouse.ms
Encoding:
Text File  |  1995-07-24  |  16.4 KB  |  670 lines

  1. '*****************************************************************************
  2. '*****************************************************************************
  3. ''DDReview% = DoMsgBox("", "DDREVIEW", MB_OK+MB_ICONHAND)
  4.  
  5. ''*********   Dialog ID's  ************************
  6. CONST NONX86          =  100
  7. CONST WARNING         =  200
  8. CONST NOHELP          =  300
  9. CONST NOTADMIN        =  400
  10. CONST DETECT          =  500
  11. CONST BADOS30         =  600
  12. CONST WELCOME         =  700
  13. CONST FOUNDSOFT       =  800
  14. CONST DESTPATH        =  900
  15. CONST BADPATH         = 1000
  16. CONST NOSPACEEXPRESS  = 1100
  17. CONST CDGETNAME       = 1200
  18. CONST CDCONFIRMINFO   = 1300
  19. CONST CDALREADYUSED   = 1400
  20. CONST CDBADFILE       = 1500
  21. CONST CDBADNAME       = 1600
  22. CONST BILLBOARD       = 1700
  23. CONST EXITQUIT        = 1800
  24. CONST EXITFAILURE     = 1900
  25. CONST ASKQUIT         = 2000
  26. CONST EXITSUCCESS     = 2100
  27. CONST QUITFILECOPY    = 2200
  28. CONST WRITEAUTOFIG    = 2300
  29.  
  30. CONST SUOPTION        = 2400      
  31. CONST SUOPTUNINST     = 2500
  32. CONST POINTOPT        = 2600      
  33. CONST CUSTINST        = 2700      
  34.  
  35. GLOBAL COMDLL$
  36. GLOBAL SETUPINF$
  37. GLOBAL SRCDIR$
  38.  
  39. GLOBAL SHMSE$
  40. GLOBAL SHDST$
  41. GLOBAL SHEFF$
  42. GLOBAL WINDIR$
  43. GLOBAL WINSYSDIR$
  44. GLOBAL WINTYPE%
  45. GLOBAL OEMTYPE%
  46. GLOBAL DLG%
  47. GLOBAL HWIN%
  48. GLOBAL RetCode%
  49. GLOBAL szName$
  50. GLOBAL szOrg$
  51. GLOBAL BADOPS%
  52. GLOBAL COSTLIST&
  53. GLOBAL POINTCOST&
  54. GLOBAL POINTCOSTOLD&
  55. GLOBAL POINTA&
  56. GLOBAL POINTB&
  57. GLOBAL POINTC&
  58. GLOBAL POINTD&
  59. GLOBAL POINTE&
  60. GLOBAL POINTF&
  61. GLOBAL POINTG&
  62. GLOBAL POINTH&
  63. GLOBAL TOOLCOST&
  64. GLOBAL TOOLCOSTOLD&
  65. GLOBAL DOSPOINT&
  66. GLOBAL DOSPOINTOLD&
  67. GLOBAL DOSDRV&
  68. GLOBAL DOSDRVOLD&
  69. GLOBAL ONHELP&
  70. GLOBAL ONHELPOLD&
  71. GLOBAL MOTYPE$
  72. GLOBAL CHECKSTATES$
  73. GLOBAL STATUSTEXT$
  74. GLOBAL DRIVETEXT$
  75. GLOBAL CUSTOM1$
  76. GLOBAL CUSTOM2$
  77. GLOBAL CUSTOM3$
  78. GLOBAL CUSTOM4$
  79. GLOBAL CUSTOM5$
  80. GLOBAL POINTER1$
  81. GLOBAL POINTER2$
  82. GLOBAL POINTER3$
  83. GLOBAL POINTER4$
  84. GLOBAL POINTER5$
  85. GLOBAL POINTER6$
  86. GLOBAL POINTER7$
  87. GLOBAL POINTER8$
  88. GLOBAL FOUNDOTHER%
  89.  
  90. DECLARE SUB SetDriveStatus
  91. DECLARE SUB CustomOptions
  92. DECLARE SUB PointerOptions
  93. DECLARE SUB FillCopyStates
  94. DECLARE SUB CalcPointCost
  95.  
  96. DECLARE FUNCTION ExitWindows LIB "USER" (szBuf&, Buf%) AS INTEGER
  97. DECLARE FUNCTION WriteProfileString LIB "KERNEL" (szSec$, szLine$, szVal$)
  98. DECLARE FUNCTION SendMessage LIB "USER" (handle%,Num%,Mess%,lParam&) AS LONG
  99. DECLARE FUNCTION PostMessage LIB "USER" (handle%,Num%,Mess%,lParam&) AS INTEGER
  100. DECLARE FUNCTION ShowWindow LIB "USER" (handle%, flag%) AS INTEGER
  101. DECLARE FUNCTION WinHelp LIB "USER" (handle%,szPath$,Num%,lParam&) AS INTEGER
  102. DECLARE FUNCTION WinExec LIB "KERNEL" (szBuf$,Num%) AS INTEGER
  103. DECLARE FUNCTION SetAntAutoBat LIB "mscuistf.dll" (szPath$, Flags%) AS INTEGER
  104. DECLARE FUNCTION Extract LIB "mscuistf.dll" (szPath$) AS INTEGER
  105. DECLARE FUNCTION AutoFigWriteable LIB "mscuistf.dll" () AS INTEGER
  106.  
  107. '$INCLUDE 'setupapi.inc'
  108. '$INCLUDE 'msdetect.inc'
  109. '$INCLUDE 'common.inc'
  110.  
  111. INIT:
  112.  
  113.     COMDLL$ = "mscuistf.dll"
  114.     InitialIzation
  115.  
  116.     FillCopyStates
  117.  
  118. WELCOME:
  119.     sz$ = UIStartDlg(COMDLL$, WELCOME, "FInfoDlgProc", 0, "")
  120.  
  121.     IF sz$ = "CONTINUE" THEN
  122.         UIPop 1
  123.     ELSEIF sz$ = "HELP" THEN
  124.         sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  125.         UIPop 1
  126.         GOTO WELCOME
  127.     ELSE
  128.         ASKEXIT
  129.         GOTO WELCOME
  130.     ENDIF
  131.  
  132.     IF OEMTYPE% = 1 THEN
  133.         GOTO SETPATH
  134.     ENDIF
  135.  
  136.     Disincentive
  137.     FindOldSoftWare
  138.  
  139. SUOPT:
  140.     IF DLG% = FOUNDSOFT THEN
  141.         AddListItem "ConfirmTextIn", SHMSE$
  142.         sz$ = UIStartDlg(COMDLL$, SUOPTUNINST, "FInfoDlgProc", 0, "")
  143.         RemoveSymbol "ConfirmTextIn"                                
  144.         IF sz$ = "CONTINUE" THEN
  145.             UIPop 1
  146.             GOTO SETPATH
  147.         ELSEIF sz$ = "EXIT" THEN
  148.             UIPop 1
  149.             GOTO CUSTOMINSTALL
  150.         ELSEIF sz$ = "BACK" THEN 
  151.             'Uninstall
  152.             UIPop 1
  153.             x% = WinExec(MAKEPATH(SHMSE$, "MOUSE\UNINSTAL.EXE"), 5)
  154.             End
  155.         ELSEIF sz$ = "HELP" THEN
  156.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  157.             UIPop 1
  158.             GOTO SUOPT
  159.         ELSE
  160.             ASKEXIT
  161.             GOTO SUOPT
  162.         ENDIF
  163.     ELSE
  164.         sz$ = UIStartDlg(COMDLL$, SUOPTION, "FInfoDlgProc", 0, "")
  165.         IF sz$ = "CONTINUE" THEN
  166.             UIPop 1
  167.             GOTO SETPATH
  168.         ELSEIF sz$ = "EXIT" THEN
  169.             UIPop 1
  170.             GOTO CUSTOMINSTALL
  171.         ELSEIF sz$ = "HELP" THEN
  172.             sz$ = UIStartDlg(COMDLL$, NOHELP, "FHelpDlgProc", 0, "")
  173.             UIPop 1
  174.             GOTO SUOPT
  175.         ELSE
  176.             ASKEXIT
  177.             GOTO SUOPT
  178.         ENDIF
  179.     ENDIF
  180.  
  181. CUSTOMINSTALL:
  182.  
  183.     CustomOptions
  184.     GOTO INSTALL
  185.  
  186. SETPATH:
  187.  
  188.     GetPath
  189.  
  190. XSTALL:
  191.     need& = COSTLIST& + POINTCOST& + TOOLCOST& + DOSDRV& + DOSPOINT& + ONHELP&
  192.     drive$ = MID$(SHMSE$, 1, 1)
  193.     IF need& > GetFreeSpaceForDrive(drive$) THEN
  194. NS:
  195.         sz$ = UIStartDlg(COMDLL$, NOSPACEEXPRESS, "FInfo0DlgProc", 0, "")
  196.         IF sz$ = "CONTINUE" THEN
  197.             UIPop 1
  198.             GOTO SETPATH
  199.         ELSE
  200.             GOTO NS
  201.         ENDIF
  202.     ENDIF
  203.  
  204. INSTALL:
  205.     SHDST$ = MakePath(SHMSE$, "MOUSE")
  206.     SHEFF$ = MakePath(SHDST$, "EFFECTS")
  207.  
  208.     IF WINTYPE% = 3 THEN
  209.         CreateDir SHMSE$, cmoNone
  210.         CreateDir SHDST$, cmoNone
  211.         IF CUSTOM1$ = "ON" THEN
  212.             IF POINTER1$ = "ON" OR POINTER6$ = "ON" THEN
  213.                 CreateDir SHEFF$, cmoNone
  214.             ENDIF
  215.         ENDIF
  216.     ELSE
  217.         'Create long filename and return 8.3 in Win95/NT/Daytona
  218.         x%= NTCreateDir(SHMSE$)
  219.         SHMSE$ = GetSymbolValue("SetupString")
  220.         RemoveSymbol "SetupString"
  221.         x% = NTCreateDir(SHDST$)
  222.         SHDST$ = GetSymbolValue("SetupString")
  223.         RemoveSymbol "SetupString"
  224.         IF CUSTOM1$ = "ON" THEN
  225.             IF POINTER1$ = "ON" OR POINTER6$ = "ON" THEN
  226.                 x% = NTCreateDir(SHEFF$)
  227.                 SHEFF$ = GetSymbolValue("SetupString")
  228.                 RemoveSymbol "SetupString"
  229.             ENDIF
  230.         ENDIF
  231.  
  232.         IF WINTYPE% = 4 THEN
  233.             'Rename Win95's help file because we're overwriting it
  234.             szWinHelpDir$=MAKEPATH(WINDIR$, "HELP")
  235.             if FindFileUsingFileOpen(MAKEPATH(szWinHelpDir$, "MOUSE.HLP")) <> "" THEN
  236.                 x% = YnrcBackupFile(MAKEPATH(szWinHelpDir$, "MOUSE.HLP"), "MOUSEHLP.BAK", cmoNone)
  237.             endif
  238.             if FindFileUsingFileOpen(MAKEPATH(szWinHelpDir$, "MOUSE.CNT")) <> "" THEN
  239.                 x% = YnrcBackupFile(MAKEPATH(szWinHelpDir$, "MOUSE.CNT"), "MOUSECNT.BAK", cmoNone)
  240.             endif
  241.         ENDIF            
  242.     ENDIF
  243.  
  244.     FillCopyList
  245.     AddToBillBoardList COMDLL$, BILLBOARD, "BMDlgProc", 100
  246.     SetCopyGaugePosition 140, 120
  247.     
  248.     CopyFilesInCopyList
  249.  
  250.     Cursor% = ShowWaitCursor()
  251.     IF CUSTOM1$ = "ON" THEN
  252.         IF POINTER6$ = "ON" THEN
  253.             x% = Extract(MakePath(SHEFF$, "APERANCE.SQU"))
  254.         ENDIF
  255.         IF POINTER1$ = "ON" THEN
  256.             x% = Extract(MakePath(SHEFF$, "SPLEFECT.SQU"))
  257.         ENDIF
  258.     ENDIF
  259.     x% = GetBasicStr(8004)
  260.     szt$ = GetSymbolValue("SetupString")
  261.     x% = GetBasicStr(8005)
  262.     szMM$ = GetSymbolValue("SetupString")
  263.     x% = GetBasicStr(8006)
  264.     szTB$ = GetSymbolValue("SetupString")
  265.     x% = GetBasicStr(8007)
  266.     szRM$ = GetSymbolValue("SetupString")
  267.     x% = GetBasicStr(8009)
  268.     szRE$ = GetSymbolValue("SetupString")
  269.     x% = GetBasicStr(8010)
  270.     szHelp$ = GetSymbolValue("SetupString")
  271.     x% = GetBasicStr(14006)
  272.     szUninstall$ = GetSymbolValue("SetupString")
  273.  
  274.     IF WINTYPE% = 3 THEN
  275.         'Win16
  276.         FillIniFile
  277.         CreateProgmanGroup szt$, "", cmoNone
  278.         ShowProgmanGroup szt$, 1, cmoNone
  279.         
  280.         IF CUSTOM1$ = "ON" THEN
  281.             x% = SetRunLine(MakePath(SHMSE$,"POINTER.EXE"))
  282.             x% = SetRunLine(MakePath(SHDST$,"MOUSEX16.EXE"))
  283.             CreateProgmanItem szt$, szMM$, MakePath(SHDST$, "MOUSEX16.EXE"), "", cmoOverwrite
  284.         ENDIF
  285.         IF CUSTOM2$ = "ON" THEN
  286.             CreateProgmanItem szt$, szTB$, MakePath(SHDST$, "INBAR16.EXE"), "", cmoOverwrite
  287.         ENDIF
  288.         CreateProgmanItem szt$, szRM$, MakePath(SHDST$, szRE$), "", cmoOverwrite
  289.         IF CUSTOM5$ = "ON" THEN
  290.             CreateProgmanItem szt$, szHelp$, MakePath(SHDST$, "IPOINT.HLP"), "", cmoOverwrite
  291.         ENDIF
  292.         CreateProgmanItem szt$, szUninstall$, MakePath(SHDST$, "uninstal.exe"), "", cmoOverwrite
  293.  
  294.     ELSE
  295.         'WinNT/Win95/Daytona
  296.         x% = NTSetRegistry(SHDST$, SendMessage(HWIN%, WM_LANG, 0, 0))
  297.         CreateProgmanGroup szt$, "", cmoNone
  298.         ShowProgmanGroup szt$, 1, cmoNone
  299.         IF CUSTOM1$ = "ON" THEN
  300.             x% = SetRunLine(MakePath(SHMSE$,"POINT32.EXE"))
  301.             x% = SetRunLine(MakePath(SHDST$,"MOUSEX32.EXE"))
  302.             CreateProgmanItem szt$, szMM$, MakePath(SHDST$, "MOUSEX32.EXE"), "", cmoOverwrite
  303.         ENDIF
  304.         IF CUSTOM2$ = "ON" THEN
  305.             CreateProgmanItem szt$, szTB$, MakePath(SHDST$, "INBAR32.EXE"), "", cmoOverwrite
  306.         ENDIF
  307.         CreateProgmanItem szt$, szRM$, MakePath(SHDST$, szRE$), "", cmoOverwrite
  308.         IF CUSTOM5$ = "ON" THEN
  309.             CreateProgmanItem szt$, szHelp$, MakePath(SHDST$, "IPOINT.HLP"), "", cmoOverwrite
  310.             if WINTYPE% = 4 THEN
  311.                 'Win95 now compiles it
  312.                 ' Compile Win95 help
  313.                 ' x% = WinExec("WINHELP -g WINDOWS.HLP", 5)
  314.             endif
  315.         ENDIF
  316.         CreateProgmanItem szt$, szUninstall$, MakePath(SHDST$, "uninstal.exe"), "", cmoOverwrite
  317.     ENDIF
  318.  
  319.     szt$ = ""
  320.     szTB$ = ""
  321.     szMM$ = ""
  322.     szRM$ = ""
  323.     szRE$ = ""
  324.     szHelp$ = ""
  325.  
  326. AUTOBAT:
  327.  
  328.     IF WINTYPE% <> 1 THEN
  329.         IF CUSTOM4$ = "ON" THEN
  330.             i% = 1
  331.         ELSE
  332.             i% = 0
  333.         ENDIF
  334.         i% = SetAntAutoBat(SHMSE$, i%)
  335.     ENDIF
  336.     RestoreCursor Cursor%
  337.  
  338. QUIT:
  339.     ON ERROR GOTO ERRQUIT
  340.     QuitInstall
  341.     END
  342.  
  343. ERRQUIT:
  344.     x% = GetBasicStr(8003)
  345.     sz$ = GetSymbolValue("SetupString")
  346.     x% = GetBasicStr(8001)
  347.     sx$ = GetSymbolValue("SetupString")
  348.     i% = DoMsgBox(sz$, sx$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  349.     RemoveSymbol "SetupString"
  350.     END
  351.  
  352. '*************************************************************************
  353. '*************************************************************************
  354. SUB CustomOptions STATIC
  355.  
  356. CUSTINST:
  357.     CalcPointCost
  358.  
  359.     ReplaceListItem STATUSTEXT$, 1, STR$(POINTCOST&)
  360.     ReplaceListItem STATUSTEXT$, 2, STR$(TOOLCOST&)
  361.     ReplaceListItem STATUSTEXT$, 3, STR$(DOSPOINT&)
  362.     ReplaceListItem STATUSTEXT$, 4, STR$(DOSDRV&)
  363.     ReplaceListItem STATUSTEXT$, 5, STR$(ONHELP&)
  364.  
  365.     SetDriveStatus
  366. CI:
  367.     sz$ = UIStartDlg(COMDLL$, CUSTINST, "FCustInstDlgProc", 0, "")
  368.     IF sz$ = "CONTINUE" THEN
  369.         need& = COSTLIST& + POINTCOST& + TOOLCOST& + DOSDRV& + DOSPOINT& + ONHELP&
  370.         drive$ = MID$(SHMSE$, 1, 1)
  371.         IF need& > GetFreeSpaceForDrive(drive$) THEN
  372. NSC:
  373.             sz$ = UIStartDlg(COMDLL$, NOSPACEEXPRESS, "FInfo0DlgProc", 0, "")
  374.             IF sz$ = "CONTINUE" THEN
  375.                 UIPop 1
  376.                 GOTO CUSTINST
  377.             ELSE
  378.                 GOTO NSC
  379.             ENDIF
  380.         ENDIF
  381.         UIPop 1
  382.     ELSEIF sz$ = "BTN1" THEN
  383.         PointerOptions
  384.         GOTO CUSTINST
  385.     ELSEIF sz$ = "PATH" THEN
  386.         GetPath
  387.         GOTO CUSTINST
  388.     ELSEIF sz$ = "CHK1" THEN
  389.         CUSTOM1$ = GetListItem(CHECKSTATES$,1)
  390.         GOTO CUSTINST
  391.     ELSEIF sz$ = "CHK2" THEN
  392.         CUSTOM2$ = GetListItem(CHECKSTATES$,2)
  393.         IF CUSTOM2$ = "ON" THEN
  394.             TOOLCOST& = TOOLCOSTOLD&
  395.         ELSE
  396.             TOOLCOSTOLD& = TOOLCOST&
  397.             TOOLCOST& = 0
  398.         ENDIF
  399.         GOTO CUSTINST
  400.     ELSEIF sz$ = "CHK3" THEN
  401.         CUSTOM3$ = GetListItem(CHECKSTATES$,3)
  402.         IF CUSTOM3$ = "ON" THEN
  403.             DOSPOINT& = DOSPOINTOLD&
  404.         ELSE
  405.             DOSPOINTOLD& = DOSPOINT&
  406.             DOSPOINT& = 0
  407.         ENDIF
  408.         GOTO CUSTINST
  409.     ELSEIF sz$ = "CHK4" THEN
  410.         CUSTOM4$ = GetListItem(CHECKSTATES$,4)
  411.         IF CUSTOM4$ = "ON" THEN
  412.             DOSDRV& = DOSDRVOLD&
  413.         ELSE
  414.             DOSDRVOLD& = DOSDRV&
  415.             DOSDRV& = 0
  416.         ENDIF
  417.         GOTO CUSTINST
  418.     ELSEIF sz$ = "CHK5" THEN
  419.         CUSTOM5$ = GetListItem(CHECKSTATES$,5)
  420.         IF CUSTOM5$ = "ON" THEN
  421.             ONHELP& = ONHELPOLD&
  422.         ELSE
  423.             ONHELPOLD& = ONHELP&
  424.             ONHELP& = 0
  425.         ENDIF
  426.         GOTO CUSTINST
  427.     ELSEIF sz$ = "BACK" OR sz$ = "HELP" THEN
  428.         x% = WinHelp(HWIN%, MakePath(SETUPINF$, "IPSETUP.HLP"), 1, 0)
  429.         GOTO CUSTINST
  430.     ELSEIF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  431.         ASKEXIT
  432.         GOTO CUSTINST
  433.     ELSE
  434.         GOTO CI
  435.     ENDIF
  436.  
  437. END SUB
  438. '*************************************************************************
  439. '*************************************************************************
  440. '*************************************************************************
  441. SUB CalcPointCost STATIC
  442.     POINTCOST& = 0
  443.  
  444.     if CUSTOM1$ = "OFF" then
  445.         goto ENDIT
  446.     endif
  447.     
  448.     if POINTER1$ = "ON" then
  449.         POINTCOST&=POINTCOST&+POINTA&
  450.     endif
  451.     
  452.     if POINTER2$ = "ON" then
  453.         POINTCOST&=POINTCOST&+POINTB&
  454.     endif
  455.  
  456.     if POINTER3$ = "ON" then
  457.         POINTCOST&=POINTCOST&+POINTC&
  458.     endif
  459.  
  460.     if POINTER4$ = "ON" then
  461.         POINTCOST&=POINTCOST&+POINTD&
  462.     endif
  463.  
  464.     if POINTER5$ = "ON" then
  465.         POINTCOST&=POINTCOST&+POINTE&
  466.     endif
  467.  
  468.     if POINTER6$ = "ON" then
  469.         POINTCOST&=POINTCOST&+POINTF&
  470.     endif
  471.  
  472.     if POINTER7$ = "ON" then
  473.         POINTCOST&=POINTCOST&+POINTG&
  474.     endif
  475.  
  476.     if POINTER8$ = "ON" then
  477.         POINTCOST&=POINTCOST&+POINTH&
  478.     endif
  479.  
  480. ENDIT:
  481.  
  482. END SUB
  483. '*************************************************************************
  484. '*************************************************************************
  485. SUB PointerOptions STATIC
  486.  
  487.     ReplaceListItem CHECKSTATES$, 1, POINTER1$ 
  488.     ReplaceListItem CHECKSTATES$, 2, POINTER2$
  489.     ReplaceListItem CHECKSTATES$, 3, POINTER3$
  490.     ReplaceListItem CHECKSTATES$, 4, POINTER4$
  491.     ReplaceListItem CHECKSTATES$, 5, POINTER5$
  492.     ReplaceListItem CHECKSTATES$, 6, POINTER6$
  493.     AddListItem CHECKSTATES$, POINTER7$
  494.     AddListItem CHECKSTATES$, POINTER8$
  495.  
  496.     'This is for cancel
  497.     POLD1$ = POINTER1$
  498.     POLD2$ = POINTER2$
  499.     POLD3$ = POINTER3$
  500.     POLD4$ = POINTER4$
  501.     POLD5$ = POINTER5$
  502.     POLD6$ = POINTER6$
  503.     POLD7$ = POINTER7$
  504.     POLD8$ = POINTER8$
  505.  
  506. SETPOINTER:
  507.     IF POINTER1$ = "ON" THEN
  508.         ReplaceListItem STATUSTEXT$, 1, STR$(POINTA&)
  509.     ELSE
  510.         ReplaceListItem STATUSTEXT$, 1, "0"
  511.     ENDIF
  512.     IF POINTER2$ = "ON" THEN
  513.         ReplaceListItem STATUSTEXT$, 2, STR$(POINTB&)
  514.     ELSE
  515.         ReplaceListItem STATUSTEXT$, 2, "0"
  516.     ENDIF
  517.     IF POINTER3$ = "ON" THEN
  518.         ReplaceListItem STATUSTEXT$, 3, STR$(POINTC&)
  519.     ELSE
  520.         ReplaceListItem STATUSTEXT$, 3, "0"
  521.     ENDIF
  522.     IF POINTER4$ = "ON" THEN
  523.         ReplaceListItem STATUSTEXT$, 4, STR$(POINTD&)
  524.     ELSE
  525.         ReplaceListItem STATUSTEXT$, 4, "0"
  526.     ENDIF
  527.     IF POINTER5$ = "ON" THEN
  528.         ReplaceListItem STATUSTEXT$, 5, STR$(POINTE&)
  529.     ELSE
  530.         ReplaceListItem STATUSTEXT$, 5, "0"
  531.     ENDIF
  532.     IF POINTER6$ = "ON" THEN
  533.         ReplaceListItem STATUSTEXT$, 6, STR$(POINTF&)
  534.     ELSE
  535.         ReplaceListItem STATUSTEXT$, 6, "0"
  536.     ENDIF
  537.     IF POINTER7$ = "ON" THEN
  538.         ReplaceListItem STATUSTEXT$, 7, STR$(POINTG&)
  539.     ELSE
  540.         ReplaceListItem STATUSTEXT$, 7, "0"
  541.     ENDIF
  542.     IF POINTER8$ = "ON" THEN
  543.         ReplaceListItem STATUSTEXT$, 8, STR$(POINTH&)
  544.     ELSE
  545.         ReplaceListItem STATUSTEXT$, 8, "0"
  546.     ENDIF
  547.  
  548.     CalcPointCost
  549.     SetDriveStatus
  550.     
  551.     sz$ = UIStartDlg(COMDLL$, POINTOPT, "FCustInstDlgProc", 0, "")
  552.  
  553.     IF sz$ = "CONTINUE" THEN
  554.         CalcPointCost
  555.         UIPop 1
  556.     ELSEIF sz$ = "EXIT" OR sz$ = "CANCEL" THEN
  557.         'This is for cancel
  558.         POINTER1$ = POLD1$
  559.         POINTER2$ = POLD2$
  560.         POINTER3$ = POLD3$
  561.         POINTER4$ = POLD4$
  562.         POINTER5$ = POLD5$
  563.         POINTER6$ = POLD6$
  564.         POINTER7$ = POLD7$
  565.         POINTER8$ = POLD8$
  566.         CalcPointCost
  567.         UIPop 1
  568.     ELSEIF sz$ = "BACK" or sz$ = "HELP" THEN
  569.         x% = WinHelp(HWIN%, MakePath(SETUPINF$, "IPSETUP.HLP"), 1, 1)
  570.         GOTO SETPOINTER
  571.     ELSE
  572.         POINTER1$ = GetListItem(CHECKSTATES$,1)
  573.         POINTER2$ = GetListItem(CHECKSTATES$,2)
  574.         POINTER3$ = GetListItem(CHECKSTATES$,3)
  575.         POINTER4$ = GetListItem(CHECKSTATES$,4)
  576.         POINTER5$ = GetListItem(CHECKSTATES$,5)
  577.         POINTER6$ = GetListItem(CHECKSTATES$,6)
  578.         POINTER7$ = GetListItem(CHECKSTATES$,7)
  579.         POINTER8$ = GetListItem(CHECKSTATES$,8)
  580.         GOTO SETPOINTER
  581.     ENDIF
  582.  
  583.     ReplaceListItem CHECKSTATES$, 1, CUSTOM1$ 
  584.     ReplaceListItem CHECKSTATES$, 2, CUSTOM2$
  585.     ReplaceListItem CHECKSTATES$, 3, CUSTOM3$
  586.     ReplaceListItem CHECKSTATES$, 4, CUSTOM4$
  587.     ReplaceListItem CHECKSTATES$, 5, CUSTOM5$
  588.  
  589. END SUB
  590. '*************************************************************************
  591.  
  592. '*************************************************************************
  593. '*************************************************************************
  594. SUB FillCopyStates STATIC
  595.  
  596.     CHECKSTATES$ = "CheckItemsState"
  597.     STATUSTEXT$  = "StatusItemsText"
  598.     DRIVETEXT$   = "DriveStatusText"
  599.  
  600.     CUSTOM1$ = "ON"
  601.     CUSTOM2$ = "ON"
  602.     IF WINTYPE% = 3 THEN
  603.         MOTYPE$ = "Mo16"
  604.         CUSTOM3$ = "ON"
  605.         CUSTOM4$ = "ON"
  606.     ELSE
  607.         'Win95/NT/DAYTONA
  608.         MOTYPE$ = "Mo32"
  609.         CUSTOM3$ = "OFF"
  610.         CUSTOM4$ = "OFF"
  611.     ENDIF
  612.  
  613.     CUSTOM5$ = "ON"
  614.     POINTER1$ = "ON"
  615.     POINTER2$ = "ON"
  616.     POINTER3$ = "ON"
  617.     POINTER4$ = "ON"
  618.     POINTER5$ = "ON"
  619.     POINTER6$ = "ON"
  620.     POINTER7$ = "ON"
  621.     POINTER8$ = "ON"
  622.  
  623.     AddListItem CHECKSTATES$, CUSTOM1$
  624.     AddListItem CHECKSTATES$, CUSTOM2$
  625.     AddListItem CHECKSTATES$, CUSTOM3$
  626.     AddListItem CHECKSTATES$, CUSTOM4$
  627.     AddListItem CHECKSTATES$, CUSTOM5$
  628.     AddListItem CHECKSTATES$, POINTER7$
  629.     AddListItem CHECKSTATES$, POINTER8$
  630.  
  631.     FOR i% = 1 TO 3 STEP 1
  632.         AddListItem DRIVETEXT$, ""
  633.     NEXT i%
  634.  
  635.     FOR i% = 1 TO 8 STEP 1
  636.         AddListItem STATUSTEXT$, ""
  637.     NEXT i%
  638.  
  639.     POINTA& = 1647592
  640.     POINTB& = 16384
  641.     POINTC& = 16384
  642.     POINTD& = 25576
  643.     POINTE& = 16384
  644.     POINTG& = 16384
  645.     POINTH& = 16384
  646.     TOOLCOST& = 57344
  647.  
  648.     IF WINTYPE% = 3 THEN
  649.         'Win16
  650.         'Overhead
  651.         POINTF& = 688128
  652.         DOSDRV& = 122880
  653.         DOSPOINT& = 139264
  654.     ELSE
  655.         'Win95/WinNT/Daytona
  656.         POINTF& = 688128
  657.         DOSDRVOLD& = 122880
  658.         DOSPOINTOLD& = 139264
  659.         DOSDRV& = 0
  660.         DOSPOINT& = 0
  661.     ENDIF
  662.     COSTLIST& = 311296
  663.     ONHELP& = 303104
  664.     IF WINTYPE% = 4 THEN
  665.         ONHELP& = 363104
  666.     ENDIF
  667.  
  668.     CalcPointCost
  669. END SUB
  670.