home *** CD-ROM | disk | FTP | other *** search
/ Computer Arts Interactive 3 / CARTS3.iso / vreal / vreal.mst < prev    next >
Text File  |  1995-02-06  |  17KB  |  512 lines

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