home *** CD-ROM | disk | FTP | other *** search
/ CD Review 67 / cdreview-67-1997.iso / simply3d / simply3d.mst < prev    next >
Text File  |  1995-02-15  |  16KB  |  490 lines

  1. '*                       Simply3D setup
  2. '**************************************************************************
  3.  
  4. '$DEFINE DEBUG  ''Define for script development/debugging
  5.  
  6. '$INCLUDE 'setupapi.inc'
  7. '$INCLUDE 'msdetect.inc'
  8.  
  9. ''Dialog ID's
  10. CONST WELCOME       = 100
  11. CONST ASKQUIT       = 200
  12. CONST DESTPATH      = 300
  13. CONST EXITFAILURE   = 400
  14. CONST EXITQUIT      = 600
  15. CONST EXITSUCCESS   = 700
  16. CONST OPTIONS       = 800
  17. CONST APPHELP       = 900
  18. CONST CUSTINST      = 6200
  19. CONST BADPATH       = 6400
  20.  
  21. CONST EYESFILES     = 1
  22. CONST TUTORFILES     = 2
  23. CONST PLAYBACKFILES     = 3
  24. CONST FONTFILES     = 4
  25. CONST CATAFILES         = 5
  26. CONST DEMOFILES     = 6
  27. CONST VFWFILES         = 7
  28.  
  29. CONST RLIVEBB        = 6401
  30. CONST VFONTBB        = 6402
  31. CONST VCATABB        = 6405
  32. CONST ANIPLAY        = 6406
  33. CONST WELCOMEBB        = 6407
  34. CONST SSCENESBB        = 6408
  35.  
  36. ''Bitmap ID
  37. CONST LOGO = 1
  38.  
  39. GLOBAL SRCDRIVE$   ''Default source drive.
  40. GLOBAL DEST$        ''Default destination directory.
  41. GLOBAL DESTEYES$    ''Default destination directory.
  42. GLOBAL DESTCATA$    ''Default destination directory.
  43. GLOBAL DESTFONT$    ''Default destination directory.
  44. GLOBAL WINDIR$      ''Default destination directory.
  45. GLOBAL WINSYSDIR$   ''Default destination directory.
  46. GLOBAL EXECOPT$     ''Option selection from OptFiles1 option dialog.
  47. GLOBAL TUTOROPT$    ''Option selection from OptFiles2 option dialog.
  48. GLOBAL DOEYES$      ''Option selection to install the executable and config files.
  49. GLOBAL DOTUTORIAL$  ''Option selection to install tutorials.
  50. GLOBAL DOPLAYBACK$  ''Option selection to install playbacks.
  51. GLOBAL DOFONT$      ''Option selection to install Visual Font.
  52. GLOBAL DOCATA$      ''Option selection to install Visual Catalogue.
  53. GLOBAL DODEMO$      ''Option selection to install demos.
  54. GLOBAL DOVFW$       ''Option selection to install Video for Windows.
  55. GLOBAL CUIDLL$
  56.  
  57. ''Dialog list symbol names
  58. GLOBAL CHECKIN$
  59. GLOBAL CHECKOUT$
  60.  
  61. DECLARE SUB Install
  62. DECLARE SUB Cleanup(path$)
  63. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  64. DECLARE FUNCTION OnWindowsNT LIB "INIUPD.DLL" AS INTEGER
  65. DECLARE FUNCTION VflatdPresent LIB "iniupd.DLL" AS INTEGER
  66. DECLARE FUNCTION FShowWindow LIB "mscuistf.dll" (arg1%) AS INTEGER
  67.  
  68. INIT:
  69.     Tmp% = FShowWindow( HwndFrame )
  70.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  71.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  72.  
  73.     SetBitmap CUIDLL$, LOGO
  74.     SetTitle "Simply 3D CD-ROM Setup"
  75.  
  76.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  77.     IF szInf$ = "" THEN
  78.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  79.     END IF
  80.  
  81.     ReadInfFile szInf$
  82.  
  83.     DEST$ = "C:\SIMPLY3D"
  84.  
  85. '$IFDEF DEBUG
  86.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  87.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  88.     IF IsDriveValid(WinDrive$) = 0 THEN
  89.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  90.         GOTO QUIT
  91.     END IF
  92. '$ENDIF ''DEBUG
  93.  
  94.  
  95. WELCOME:
  96.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  97.     IF sz$ = "CONTINUE" THEN
  98.         UIPop 1
  99.     ELSE
  100.         GOSUB ASKQUIT
  101.         GOTO WELCOME
  102.     END IF
  103.  
  104.     w% = GetScreenWidth
  105.     h% = GetScreenHeight
  106.  
  107.     IF OnWindowsNT() THEN
  108.         i% = DoMsgBox("This setup of Simply 3D cannot run on Windows NT.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  109.     ERROR STFERR       
  110.     GOTO QUIT
  111.     END IF
  112.  
  113.     IF w% < 800 THEN
  114.         i% = DoMsgBox("display driver must be running at a minimum 800 x 600 resolution", "SETUP FATAL ERROR", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  115.         ERROR STFERR
  116.         GOTO QUIT
  117.     ENDIF
  118.     IF h% < 600 THEN
  119.         i% = DoMsgBox("display driver must be running at a minimum 800 x 600 resolution", "SETUP FATAL ERROR", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  120.         ERROR STFERR
  121.         GOTO QUIT
  122.     ENDIF
  123.  
  124.     i% = Has87MathChip
  125.     IF i% = 0 THEN
  126.         i% = DoMsgBox("Setup could not find a MATH COPROCESSOR", "SETUP FATAL ERROR", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  127.         ERROR STFERR
  128.         GOTO QUIT
  129.     ENDIF
  130.  
  131.     ''File Option Variables
  132. '    EXECOPT$ = "1"
  133. '    TUTOROPT$ = "1"
  134.  
  135.  
  136.  
  137. GETPATH:
  138.     SetSymbolValue "EditTextIn", DEST$
  139.     SetSymbolValue "EditFocus", "END"
  140. GETPATHL1:
  141.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  142.     DEST$ = GetSymbolValue("EditTextOut")
  143.  
  144.     IF sz$ = "CONTINUE" THEN
  145.         IF IsDirWritable(DEST$) = 0 THEN
  146.             GOSUB BADPATH
  147.             GOTO GETPATHL1
  148.         END IF
  149.         UIPop 1
  150.     ELSEIF sz$ = "REACTIVATE" THEN
  151.         GOTO GETPATHL1
  152.     ELSEIF sz$ = "BACK" THEN
  153.         UIPop 1
  154.         GOTO WELCOME
  155.     ELSE
  156.         GOSUB ASKQUIT
  157.         GOTO GETPATH
  158.     END IF
  159.  
  160.     DESTEYES$ = DEST$ + "\EYESEZ"
  161.     DESTFONT$ = DEST$ + "\VFONT"
  162.     DESTCATA$ = DEST$ + "\VCATA"
  163.  
  164.     ''CustInst list symbols
  165.     CHECKIN$  = "CheckItemsIn"
  166.     CHECKOUT$ = "CheckItemsOut"
  167.  
  168.     FOR i% = 1 TO 7 STEP 1
  169.         AddListItem CHECKIN$, "ON"
  170.     NEXT i%
  171.  
  172. CUSTINST:
  173.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FCheckDlgProc", APPHELP, HELPPROC$)
  174.  
  175.     IF sz$ = "CONTINUE" THEN
  176.         UIPop 1
  177.         GOTO CHECKOPTIONS
  178.     ELSEIF sz$ = "PATH" THEN
  179.         GOTO GETPATH
  180.     ELSEIF sz$ = "CHK1" THEN
  181. '        RecalcOptFiles APPFILES
  182. '        SetDriveStatus
  183.         GOTO CUSTINST
  184.     ELSEIF sz$ = "CHK2" THEN
  185. '        RecalcOptFiles OPTFILES1
  186. '        SetDriveStatus
  187.         GOTO CUSTINST
  188.     ELSEIF sz$ = "CHK3" THEN
  189. '        RecalcOptFiles OPTFILES2
  190. '        SetDriveStatus
  191.         GOTO CUSTINST
  192.     ELSE
  193.         GOSUB ASKQUIT
  194.         GOTO CUSTINST
  195.     END IF
  196.  
  197. CHECKOPTIONS:
  198.     DOEYES$ = "NO"
  199.     DOTUTORIAL$ = "NO"
  200.     DOPLAYBACK$ = "NO"
  201.     DOFONT$ = "NO"
  202.     DOCATA$ = "NO"
  203.     DODEMO$ = "NO"
  204.     DOVFW$  = "NO"
  205.  
  206.     op1$ = GetListItem ( CHECKOUT$, EYESFILES)
  207.     IF op1$ = "ON" THEN
  208.         DOEYES$ = "YES"
  209.     ENDIF
  210.     op2$ = GetListItem ( CHECKOUT$, TUTORFILES)
  211.     IF op2$ = "ON" THEN
  212.         DOTUTORIAL$ = "YES"
  213.     ENDIF
  214.     op3$ = GetListItem ( CHECKOUT$, PLAYBACKFILES)
  215.     IF op3$ = "ON" THEN
  216.         DOPLAYBACK$ = "YES"
  217.     ENDIF
  218.     op4$ = GetListItem ( CHECKOUT$, FONTFILES)
  219.     IF op4$ = "ON" THEN
  220.         DOFONT$ = "YES"
  221.     ENDIF
  222.     op5$ = GetListItem ( CHECKOUT$, CATAFILES)
  223.     IF op5$ = "ON" THEN
  224.        DOCATA$ = "YES"
  225.     ENDIF
  226.     op6$ = GetListItem ( CHECKOUT$, DEMOFILES)
  227.     IF op6$ = "ON" THEN
  228.        DODEMO$ = "YES"
  229.     ENDIF
  230.     op7$ = GetListItem ( CHECKOUT$, VFWFILES)
  231.     IF op7$ = "ON" THEN
  232.        DOVFW$ = "YES"
  233.     ENDIF
  234.  
  235. INSTALLIT:
  236.  
  237.     WINDIR$ = GetWindowsDir()
  238.     WINSYSDIR$ = GetWindowsSysDir()
  239.     CreateSysIniKeyValue WINDIR$ + "system.ini" , "386Enh" , "PageOverCommit" , "20" , cmoOverwrite
  240.  
  241.     Install
  242.  
  243.  
  244. QUIT:
  245.     ON ERROR GOTO ERRQUIT
  246.  
  247.     IF ERR = 0 THEN
  248.         dlg% = EXITSUCCESS
  249.     ELSEIF ERR = STFQUIT THEN
  250.         dlg% = EXITQUIT
  251.     ELSE
  252.         dlg% = EXITFAILURE
  253.     END IF
  254. QUITL1:
  255.  
  256.     Cleanup(DEST$)
  257.  
  258.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  259.     IF sz$ = "REACTIVATE" THEN
  260.         GOTO QUITL1
  261.     END IF
  262.     UIPop 1
  263.  
  264.     END
  265.  
  266. ERRQUIT:
  267.     i% = DoMsgBox("Setup sources were corrupted, call 818 883-7900!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  268.     END
  269.  
  270.  
  271.  
  272. BADPATH:
  273.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  274.     IF sz$ = "REACTIVATE" THEN
  275.         GOTO BADPATH
  276.     END IF
  277.     UIPop 1
  278.     RETURN
  279.  
  280.  
  281.  
  282. ASKQUIT:
  283.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  284.  
  285.     IF sz$ = "EXIT" THEN
  286.         UIPopAll
  287.         ERROR STFQUIT
  288.     ELSEIF sz$ = "REACTIVATE" THEN
  289.         GOTO ASKQUIT
  290.     ELSE
  291.         UIPop 1
  292.     END IF
  293.     RETURN
  294.  
  295.  
  296.  
  297. '**
  298. '** Purpose:
  299. '**     Builds the copy list and performs all installation operations.
  300. '** Arguments:
  301. '**     none.
  302. '** Returns:
  303. '**     none.
  304. '*************************************************************************
  305. SUB Install STATIC
  306.  
  307.     SRCDRIVE$ = GetSymbolValue("STF_SRCDIR")
  308.     SrcDir$ = GetSymbolValue("STF_SRCDIR") + "SIMPLY3D"
  309.     CreateDir DEST$, cmoNone
  310.     IF D