home *** CD-ROM | disk | FTP | other *** search
/ Jurassic Park - The Screenraver / JPSSCD.zip / JPSSCD / JPCD.INF next >
INI File  |  1994-02-22  |  85KB  |  2,764 lines

  1. ;; SETUP SCRIPT TEMPLATE FILE DIGTHTR.INF
  2. ;;  Compatible with:  INSTALIT/W version 3.0 and higher
  3. ;;  Shipped as script version 1.0
  4.  
  5. ;;  Designed for general use with products offering three optional
  6. ;;  modules and possibly requiring basic changes to AUTOEXEC.BAT
  7. ;;  and/or CONFIG.SYS.  Reads a Script Data File in order to adapt
  8. ;;  to the job at hand.
  9.  
  10. DefineVariables
  11. Directory [SDFFileName] := JPCD.SDF
  12. ;; following variables are initialized from external Script Data File
  13. SDF Text [CompanyName]
  14. SDF Text [ProductName]
  15. SDF Directory [DefaultInstallationDir]
  16. SDF Text [ModifyMode]
  17. SDF Directory [ReadmeFileName]
  18. SDF Logical [InquireSysFileLocation]
  19. SDF Logical [AskBeforeFileReplace]
  20. SDF Number [InstallMode]
  21. SDF Text [MinimumOSVersion]
  22. SDF Text [MinimumWinVersion]
  23. SDF Number [MinMemRequiredPresent]
  24. SDF Number [MinExtMemoryRequired]
  25. SDF Text [InstallingLanguage]
  26. SDF Logical [AllowCGA]
  27. SDF Logical [AllowEGA]
  28. SDF Logical [AllowMDA]
  29. SDF Logical [Allow808x]
  30. SDF Logical [Allow80286]
  31. SDF Logical [MathCoproRecommended]
  32. SDF Logical [FixedDiskRequired]
  33. SDF Text [NetWorkInstallation]
  34. SDF Text [PopupBorder]
  35. SDF Text [Module1Name]
  36. SDF Text [Module1Groups]
  37. SDF Text [Module2Name]
  38. SDF Text [Module2Groups]
  39. SDF Text [Module3Name]
  40. SDF Text [Module3Groups]
  41. SDF Text [Module4Name]
  42. SDF Text [Module4Groups]
  43. SDF Text [Module5Name]
  44. SDF Text [Module5Groups]
  45. SDF Text [Module6Name]
  46. SDF Text [Module6Groups]
  47. SDF Text [Module7Name]
  48. SDF Text [Media1Group]
  49. SDF Text [Media2Group]
  50. SDF Text [Media3Group]
  51. SDF Text [Media4Group]
  52. SDF Text [Media5Group]
  53. SDF Text [Media6Group]
  54. SDF Text [Media7Group]
  55. SDF Text [Media8Group]
  56. SDF Text [Media9Group]
  57. SDF Text [Media10Group]
  58. SDF Text [WallpaperGroup]
  59. SDF Text [SoundsGroup]
  60. SDF Text [SharedGroup]
  61. SDF Text [Media1Name]
  62. SDF Text [Media2Name]
  63. SDF Text [Media3Name]
  64. SDF Text [Media4Name]
  65. SDF Text [Media5Name]
  66. SDF Text [Media6Name]
  67. SDF Text [Media7Name]
  68. SDF Text [Media8Name]
  69. SDF Text [Media9Name]
  70. SDF Text [Media10Name]
  71. SDF Number [Media1Size]
  72. SDF Number [Media2Size]
  73. SDF Number [Media3Size]
  74. SDF Number [Media4Size]
  75. SDF Number [Media5Size]
  76. SDF Number [Media6Size]
  77. SDF Number [Media7Size]
  78. SDF Number [Media8Size]
  79. SDF Number [Media9Size] 
  80. SDF Number [Media10Size] 
  81. SDF Number [DriverSize]
  82. SDF Number [SharedSize]
  83. SDF Number [WallpaperSize]
  84. SDF Number [SoundSize]
  85. SDF Text [FullDesc]
  86. SDF Text [FullDesc2]
  87. SDF Text [CustomDesc]
  88. SDF Text [CustomDesc2]
  89. SDF Text [ReplaceDesc]
  90. SDF Text [MediaClipText]
  91. SDF Text [MBInstText]
  92. SDF Text [ExtractionOptions]
  93. SDF Logical [OEMHasSamples]
  94. SDF Logical [OEMHasAutoDesk]
  95. SDF Logical [OEMHasVFW]
  96. SDF Number [DriverDisk]
  97. ;; remaining variables are not initialized from external Script Data File
  98. Directory [MediaDest]
  99. Directory [AfterDarkLoc]
  100. Logical [Installed] := N
  101. Text [DisplayAdapterSummary]
  102. Text [CPUTypeSummary]
  103. Text [NetworkActive]
  104. Text [MathCoprocessorStatus]
  105. Text [InstDriveSummary]
  106. Text [OSVersionSummary]
  107. Text [WinVersionSummary]
  108. Text [SystemMemorySummary]
  109. Text [ExtMemorySummary]
  110. Text [UserName]
  111. Text [Organization]
  112. Text [SerialNumber]
  113. Text [ScreenResolution]
  114. Text [ChaseLoc]
  115. Text [OperationsLoc]
  116. Text [DossierLoc]
  117. Text [EncycLoc]
  118. Text [EyesLoc]
  119. Text [LostLoc]
  120. Text [HuntLoc]
  121. Text [JP_TourLoc]
  122. Text [SlideLoc]
  123. Text [WelcomeLoc]
  124. Text [WallpaperLoc]
  125. Text [SoundLoc]
  126. Text [SelectedModule]
  127. Number [FilterQue] := 0
  128. Number [ArtAndMediaQue] := 0
  129. Number [TemplateQue] := 0
  130. Number [ExeSize] := 0
  131. Number [SampleSize] := 0
  132. Number [SpaceRequired] := 0
  133. Number [NewMRUs] := 0
  134. Number [OldMRUs] := 0
  135. Number [TotalSize] := 0
  136. Logical [DoSamples] := NoCharacter
  137. Logical [SampleOptions] := NoCharacter
  138. Logical [RemoveSamples] := NoCharacter
  139. Logical [DoWallpaper] := NoCharacter
  140. Logical [DoDrivers] := NoCharacter
  141. Logical [DoSounds] := NoCharacter
  142. Logical [ExesInstalled] := NoCharacter
  143. Logical [ADInstalled] := NoCharacter
  144. Logical [GetOneFile] := NoCharacter
  145. Logical [InsufficientSystem] := NoCharacter
  146. Logical [CompatNoticeGiven] := NoCharacter
  147. Text [BackgroundColor] := 64 0 128 0 64 64 TopToBottom
  148. Text [ScreenColors] := BlackOnWhite
  149. Logical [SamplesOnCD] := NoCharacter
  150. EndDefineVariables
  151.  
  152. ;; Set up basic screen appearance since there will be a brief delay
  153. ;; before the external data is ready to use
  154. SetMouseCursor Wait
  155. [YesOrNo1] := IsFileInUse scorplay.dll
  156. ;;If [YesOrNo1] = NoCharacter
  157. ;;    [YesOrNo1] := IsFileInUse mdiabltz.dll
  158. ;;EndIf
  159. If [YesOrNo1] = YesCharacter
  160.     MessageBox Information
  161.     Setup has detected Asymetrix MediaBlitz running on your system.
  162.     Please end your MediaBlitz session and start Setup again.
  163.     EndMessageBox
  164.     SoLong Quietly
  165. EndIf
  166. Do SetupInstalit
  167. Do PrepareSystemReport
  168.  
  169. SetReplacementInquiry On
  170. If [CommandLine1] = -ReplaceFiles
  171.   SetReplacementInquiry Off
  172. EndIf
  173. If [CommandLine2] = -ReplaceFiles
  174.   SetReplacementInquiry Off
  175. EndIf
  176. If [CommandLine3] = -ReplaceFiles
  177.   SetReplacementInquiry Off
  178. EndIf
  179.  
  180. If [InquireSysFileLocation] = NoCharacter
  181.   If DriveIsPresent [BootDrive]  ;; if not, COMSPEC has been changed
  182.     NoSysFileConfirmation
  183.   EndIf
  184. EndIf
  185.  
  186. If [AskBeforeFileReplace] = NoCharacter
  187.   SetReplacementInquiry Off
  188. EndIf
  189.  
  190. ;; We're ready to go now, so hide the bitmap in the middle of the screen
  191. ;; and show the one in the upper left corner.
  192. HideBitMap 2
  193. ShowBitMap 1 @xy(10,10)
  194.  
  195. ;; This information gets written to scorplay.dll.  Let's look and see if this
  196. ;; information already exists there so we can initialize the edit controls.
  197. If FileExists [WindowsDirectory]\scorplay.dll
  198.     ReadCustomResource [UserName] [WindowsDirectory]\SCORPLAY.DLL 300 1
  199.     ReadCustomResource [Organization] [WindowsDirectory]\SCORPLAY.DLL 300 2
  200. ;;    ReadCustomResource [SerialNumber] [WindowsDirectory]\SCORPLAY.DLL 300 3
  201. Else
  202.     [UserName] := BlankString
  203.     [Organization] := BlankString
  204. ;;    [SerialNumber] := BlankString
  205. EndIf
  206. SetMouseCursor Arrow
  207. :GetMoreInfo
  208. If [UserName] = BlankString
  209.   If [Organization] = BlankString
  210.     GetUserInfo UseHeader "Introduce yourself" Instructions "Personalize your copy of the program."
  211.       Name
  212.       ;[UserName]
  213.       Organization
  214.       ;[Organization]
  215. ;;      Serial Number
  216. ;;      ;[SerialNumber]
  217.     EndGetUserInfo
  218.   EndIf
  219. EndIf
  220. ClearScreen
  221.  
  222. ;; This is where the main menu starts.  We will return here after we're done
  223. ;; with some steps, or if the user changes his mind.
  224. :GoAgain
  225.  
  226. If [InstallationDirectory] = BlankString
  227.   ;;See if we've installed before
  228.   [Array1][1] := paths
  229.   [Array1][2] := InstallRoot
  230.   [Array1][3] := default
  231.   [Array1][4] := [WindowsDirectory]\jpsaver.ini
  232.   GetPrivateProfileString Using [Array1]
  233.   If [Array1][5] = default
  234.     [String1] := SubstringOf [WindowsDirectory] from 1 to 1
  235.     [InstallationDirectory] := [String1]:[DefaultInstallationDir]
  236.   Else
  237.     [InstallationDirectory] := [Array1][5]
  238.   EndIf
  239. EndIf
  240. SetMouseCursor Arrow
  241.  
  242. ;; Find out what samples have been installed
  243. Do FindOldSamples
  244. ;;[YesOrNo5] := NoCharacter
  245. [TotalSize] := 0
  246. ;; Find out what the user wants to do...
  247. ;; ...and then do it.
  248. ;;CD Install
  249. If [InstallMode] = 0
  250.     GetMenuChoice Graphic Instructions "Click a button to choose the type of installation."
  251.       Minimal Installation - [FullDesc] [FullDesc2]
  252.     ;express
  253.       Incremental Installation - [CustomDesc] [CustomDesc2]
  254.     ;custom
  255.       Full Installation - [MediaClipText]
  256.     ;media
  257. ;;      File Replacement - [ReplaceDesc]
  258. ;;      ;onefile
  259.    EndGetMenuChoice
  260.     ClearScreen
  261.  
  262.     InCase choice is
  263.     ;;install and run from CD
  264.       =1:  Do BuildExeGroup
  265.            [TotalSize] := QueSize + [WallpaperSize] + [SoundSize] + [DriverSize]
  266.        [DoSamples] := NoCharacter
  267.         [SampleOptions] := NoCharacter
  268.        [DoSounds] := YesCharacter
  269.        [DoWallpaper] := YesCharacter
  270.        [DoDrivers] := YesCharacter
  271.        [SamplesOnCD] := YesCharacter
  272.            [Installed] := YesCharacter
  273.            [YesOrNo6] := YesCharacter
  274.     ;;custom setup
  275.       =2:  Do SelectForCustomSetup
  276.        [SamplesOnCD] := NoCharacter
  277.     ;;full install to harddisk
  278.       =3:  Do GetSampleSize
  279.            Do BuildExeGroup
  280.            [TotalSize] := QueSize + [SampleSize] + [WallpaperSize] + [SoundSize] + [DriverSize]
  281.        [DoSamples] := YesCharacter
  282.        [DoWallpaper] := YesCharacter
  283.        [DoSounds] := YesCharacter
  284.        [SampleOptions] := NoCharacter
  285.        [DoDrivers] := YesCharacter
  286.        [SamplesOnCD] := NoCharacter
  287.            [YesOrNo6] := YesCharacter
  288.  
  289.       =4:  Do ExitInstallation
  290.     EndInCase
  291. EndIf
  292.  
  293. ;;Retail Disks
  294. If [InstallMode] = 1
  295.     GetMenuChoice Graphic Instructions "Click a button to choose the type of installation."
  296.       Incremental Installation - [CustomDesc] [CustomDesc2]
  297.     ;custom
  298.       Full Installation - [MediaClipText]
  299.     ;media
  300. ;;      File Replacement - [ReplaceDesc]
  301. ;;      ;onefile
  302.    EndGetMenuChoice
  303.     ClearScreen
  304.     InCase choice is
  305.       =1:  Do SelectForCustomSetup
  306.       =2:  QueAllFiles
  307.            [TotalSize] := QueSize + [SharedSize]
  308.            UnQueAllFiles
  309.            Do BuildExeGroup
  310.        [DoSamples] := YesCharacter
  311.        [SampleOptions] := NoCharacter
  312.        [DoWallpaper] := YesCharacter
  313.        [DoSounds] := YesCharacter
  314.        [DoDrivers] := YesCharacter
  315.        [SamplesOnCD] := NoCharacter
  316.            [YesOrNo6] := YesCharacter
  317.       =3:  Do ExitInstallation
  318.     EndInCase
  319. EndIf
  320.  
  321. ;; Will the user be able to run this program after it is installed?
  322. If [InsufficientSystem] = YesCharacter
  323.   MessageBox [YesOrNo1] YesNo Question
  324.     Analysis of your system has determined that it is
  325.     not compatible with the screen save program.  For a complete
  326.     summary, press YesCharacter.
  327.  
  328.     Do you wish to continue anyway?
  329.   EndMessageBox
  330.   If [YesOrNo1] = NoCharacter
  331.     Do ExitInstallation
  332.   Else
  333.     Do ShowSystemSummary
  334.   EndIf
  335. EndIf
  336. :GetDest
  337.  
  338. ;; We'll default to drive of Windows directory, since in general it's safe.
  339. If [InstallationDirectory] = BlankString
  340.     [String1] := SubstringOf [WindowsDirectory] from 1 to 1
  341.     [InstallationDirectory] := [String1]:[DefaultInstallationDir]
  342. EndIf
  343. ;; Let's remember what it was in case the user cancels.
  344. [Dir1] := [InstallationDirectory]
  345.  
  346. ;;Prompt only if installing something
  347. If [YesOrNo6] = YesCharacter
  348.  DialogWithBrowse [InstallationDirectory]
  349.   Setup installs Jurassic Park into the following directory that it creates
  350.   on your hard disk.  To install into a different directory or drive, 
  351.   type the name of the directory you want, or click Browse.
  352.  EndDialogWithBrowse
  353. EndIf
  354.  
  355. If [InstallationDirectory] = BlankString
  356.     [InstallationDirectory] := [Dir1]
  357.     UnQueAllFiles
  358.     GoTo Continue
  359. EndIf
  360.  
  361. If [TotalSize] > 0
  362.   [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  363.   [Number1] := FreeSpaceOnDrive [String1]
  364.   If [TotalSize] > [Number1]
  365.     MessageBox [YesOrNo1] YesNo Question
  366.       There is insufficent space on your chosen drive to install
  367.       this option.  Would you like to choose another destination?
  368.     EndMessageBox
  369.     If [YesOrNo1] = YesCharacter
  370.       [InstallationDirectory] := [Dir1]
  371.       GoTo GetDest
  372.     Else
  373.       [InstallationDirectory] := [Dir1]
  374.       UnQueAllFiles
  375.       GoTo Continue
  376.     EndIf
  377.   EndIf
  378. EndIf
  379.  
  380. :InstallItAll
  381. ;; Install whatever got queued
  382. GetQuedFiles [ExtractionOptions]
  383.  
  384. If [RemoveSamples] = YesCharacter
  385.   Do DeleteSamples
  386. EndIf
  387.  
  388. If [DoSamples] = YesCharacter
  389.   Do InstallSamples
  390. EndIf
  391.  
  392. If [DoWallpaper] = YesCharacter
  393.   Do InstallWallpaper
  394. EndIf
  395.  
  396. If [DoSounds] = YesCharacter
  397.   Do InstallSounds
  398. EndIf
  399.  
  400. ;;Driver installation - install the ones the user selects
  401. If [DoDrivers] = YesCharacter
  402.     Do InstallDrivers
  403. EndIf
  404.  
  405. ;;CopyFiles from [InstallFromDirectory] to [InstallationDirectory] quietly
  406. ;;    readme.wri
  407. ;;EndCopyFiles
  408. SetMouseCursor Wait
  409. ClearScreen
  410. ;;If no files were installed, let's remove the empty directory
  411. If DirectoryExists [InstallationDirectory]
  412.   If DirectoryIsEmpty [InstallationDirectory]
  413.     DeleteDirectory [InstallationDirectory]
  414.   EndIf
  415. EndIf
  416.  
  417. ;; Some files were selected but not installed if <> 0
  418. If QueSize <> 0
  419.     [Installed] := NoCharacter
  420.     ;; Remove files not installed from queue
  421.     UnQueAllFiles
  422.     ;; Message when unable to get all necessary files
  423.     MessageBox Exclamation
  424.     Unable to successfully complete this option.
  425.     EndMessageBox
  426. Else
  427.     If [Installed] = YesCharacter
  428.       ;; If all we did was get one file, we don't want to write the INI files
  429.       ;; or make a progman group.
  430.       If [GetOneFile] = NoCharacter
  431.     UpdateWindow
  432.     TextBox @xy(Center,Center)
  433.         .cWriting to initialization files.
  434.         .cOne moment...
  435.     EndTextBox
  436.     Do WriteJurassicIni
  437.     Do WriteSystemIni
  438.     Do WriteUserInfo
  439.         Do BuildProgmanIcon
  440.     ClearScreen
  441.       Else
  442.     MessageBox [YesOrNo1] YesNo Question
  443.       Would you like to return to the main menu?
  444.     EndMessageBox
  445.     If [YesOrNo1] = YesCharacter
  446.       [Installed] := NoCharacter
  447.     EndIf
  448.       EndIf
  449.   EndIf
  450. EndIf
  451. SetMouseCursor Arrow
  452. :Continue
  453. If [Installed] = YesCharacter
  454.   Do ExitInstallation
  455. EndIf
  456. [GetOneFile] := NoCharacter
  457. [ExesInstalled] := NoCharacter
  458. [ADInstalled] := NoCharacter
  459. [DoDrivers] := NoCharacter
  460. [DoSamples] := NoCharacter
  461. [RemoveSamples] := NoCharacter
  462. [SamplesOnCD] := NoCharacter
  463. [DoWallpaper] := NoCharacter
  464. [DoSounds] := NoCharacter
  465. GoTo GoAgain
  466.  
  467. Procedure SetupInstalit
  468.     SetCoordinatesTo pixel
  469.     SetScreenAttrTo [ScreenColors]
  470.     LoadBitMap 1 [InstallFromDirectory]\SETUP.BMP
  471.     LoadBitMap 2 [InstallFromDirectory]\JPSETUP.BMP
  472.     ShowBitMap 2
  473.     ;; These are a matter of taste.  Creative services should decide about
  474.     ;; these, I think.
  475.     SetBackgroundColor [BackgroundColor]
  476.     ;; SetDithering Off
  477.     ShowWindow Maximized
  478.     ClearScreen
  479.     If FileExists [InstallFromDirectory]\[SDFFileName]
  480.     If VGA
  481.         [Number1] := 85
  482.     EndIf
  483.     If HIRES
  484.         [Number1] := 240
  485.     EndIf
  486.     If SVGA
  487.         [Number1] := 150
  488.     EndIf
  489.     TextBox @xy(Center,[Number1])
  490.         Getting custom information...one moment, please.
  491.     EndTextBox
  492.     ExamineTextFile [InstallFromDirectory]\[SDFFileName]
  493.  
  494.     [InquireSysFileLocation] := SettingFor InquireSysFileLocation
  495.     If [InquireSysFileLocation] = NoCharacter
  496.         NoSysFileConfirmation
  497.     EndIf
  498.     ;; These need to be done early.
  499.     [ProductName]        := SettingFor ProductName
  500.     [DefaultTitle]       := SettingFor DefaultTitle
  501.  
  502.     [PopupBorder]        := SettingFor PopupBorder
  503.     [ModifyMode]         := SettingFor ModifyMode
  504.     SetPopupBorderTo     [PopupBorder]
  505.     SetModifyModeTo      [ModifyMode]
  506.     SetShadowAttrTo      DarkGrayOnBlack
  507.  
  508.     [InstallMode]                := SettingFor InstallMode
  509.     [CompanyName]                := SettingFor CompanyName
  510.     [Module1Name]                := SettingFor Module1Name
  511.     [Module1Groups]              := SettingFor Module1Groups
  512.     [Module2Name]                := SettingFor Module2Name
  513.     [Module2Groups]              := SettingFor Module2Groups
  514.     [Module3Name]                := SettingFor Module3Name
  515.     [Module3Groups]              := SettingFor Module3Groups
  516.     [Module4Name]                := SettingFor Module4Name
  517.     [Module4Groups]              := SettingFor Module4Groups
  518.     [Module5Name]                := SettingFor Module5Name
  519.     [Module5Groups]              := SettingFor Module5Groups
  520.     [Module6Name]                := SettingFor Module6Name
  521.     [Module7Name]                := SettingFor Module7Name
  522.     [Media1Group]                := SettingFor Media1Group
  523.     [Media2Group]                := SettingFor Media2Group
  524.     [Media3Group]                := SettingFor Media3Group
  525.     [Media4Group]                := SettingFor Media4Group
  526.     [Media5Group]                := SettingFor Media5Group
  527.     [Media6Group]                := SettingFor Media6Group
  528.     [Media7Group]                := SettingFor Media7Group
  529.     [Media8Group]                := SettingFor Media8Group
  530.     [Media9Group]                := SettingFor Media9Group
  531.     [Media10Group]               := SettingFor Media10Group
  532.     [WallpaperGroup]             := SettingFor WallpaperGroup
  533.     [SoundsGroup]                := SettingFor SoundsGroup
  534.     [SharedGroup]                := SettingFor SharedGroup
  535.     [Media1Name]                 := SettingFor Media1Name
  536.     [Media2Name]                 := SettingFor Media2Name
  537.     [Media3Name]                 := SettingFor Media3Name
  538.     [Media4Name]                 := SettingFor Media4Name
  539.     [Media5Name]                 := SettingFor Media5Name
  540.     [Media6Name]                 := SettingFor Media6Name
  541.     [Media7Name]                 := SettingFor Media7Name
  542.     [Media8Name]                 := SettingFor Media8Name
  543.     [Media9Name]                 := SettingFor Media9Name
  544.     [Media10Name]                := SettingFor Media10Name
  545.     [Media1Size]                 := SettingFor Media1Size
  546.     [Media2Size]                 := SettingFor Media2Size
  547.     [Media3Size]                 := SettingFor Media3Size
  548.     [Media4Size]                 := SettingFor Media4Size
  549.     [Media5Size]                 := SettingFor Media5Size
  550.     [Media6Size]                 := SettingFor Media6Size
  551.     [Media7Size]                 := SettingFor Media7Size
  552.     [Media8Size]                 := SettingFor Media8Size
  553.     [Media9Size]                 := SettingFor Media9Size
  554.     [Media10Size]                := SettingFor Media10Size
  555.     [DriverSize]                 := SettingFor DriverSize
  556.     [SharedSize]                 := SettingFor SharedSize
  557.     [SoundSize]                  := SettingFor SoundSize
  558.     [WallpaperSize]              := SettingFor WallpaperSize
  559.     [DriverDisk]                 := SettingFor DriverDisk
  560.     [InstallingVersion]          := SettingFor InstallingVersion
  561.     [InstallingLanguage]         := SettingFor InstallingLanguage
  562.     [FullDesc]                   := SettingFor FullDesc
  563.     [FullDesc2]                  := SettingFor FullDesc2
  564.     [CustomDesc]                 := SettingFor CustomDesc
  565.     [CustomDesc2]                := SettingFor CustomDesc2
  566.     [ReplaceDesc]                := SettingFor ReplaceDesc
  567.     [MediaRoot]                  := SettingFor MediaRoot
  568.     [MediaClipText]              := SettingFor MediaClipText
  569.     [MBInstText]                 := SettingFor MBInstText
  570.     [ExtractionOptions]          := SettingFor ExtractionOptions
  571.     [ReadmeFileName]             := SettingFor ReadmeFileName
  572.     [AskBeforeFileReplace]       := SettingFor AskBeforeFileReplace
  573.     [MinimumOSVersion]           := SettingFor MinimumOSVersion
  574.     [MinimumWinVersion]          := SettingFor MinimumWinVersion
  575.     [AllowCGA]                   := SettingFor AllowCGA
  576.     [AllowEGA]                   := SettingFor AllowEGA
  577.     [AllowMDA]                   := SettingFor AllowMDA
  578.     [Allow808x]                  := SettingFor Allow808X
  579.     [Allow80286]                 := SettingFor Allow80286
  580.     [MathCoproRecommended]       := SettingFor MathCoproRecommended
  581.     [FixedDiskRequired]          := SettingFor FixedDiskRequired
  582.     [NetworkInstallation]        := SettingFor NetworkInstallation
  583.     [MinMemRequiredPresent]      := SettingFor MinMemRequiredPresent
  584.     [MinExtMemoryRequired]       := SettingFor MinExtMemoryRequired
  585.     [DefaultInstallationDir]     := SettingFor DefaultInstallationDir
  586.     [OEMHasTools]                := SettingFor OEMHasTools
  587.     [OEMHasSamples]              := SettingFor OEMHasSamples
  588.     [OEMHasAutodesk]             := SettingFor OEMHasAutodesk
  589.     [OEMHasVFW]                  := SettingFor OEMHasVFW
  590.     ClearScreen  ;; get rid of textbox
  591.     ForgetTextFile
  592.     Else
  593.     Popup Script Data File [SDFFileName] is missing.  Cannot continue.
  594.     SoLong Quietly
  595.     EndIf
  596. EndProcedure
  597.  
  598. ;;Install the autodesk and vfw drivers
  599. Procedure InstallDrivers
  600.  
  601. ;;The only option in this version is to install the VFW 
  602. ;;driver.  since we made it here, they've already chosen to
  603. ;;install it.
  604.  
  605.   ;;OEM has autodesk driver
  606.   If [OEMHasAutodesk] = YesCharacter
  607.     [Number1] := 1
  608.   Else
  609.     [Number1] := 0
  610.   EndIf
  611.  
  612.   ;;OEM has vfw
  613.   If [OEMHasVFW] = YesCharacter
  614.     [Number2] := 1
  615.   Else
  616.     [Number2] := 0
  617.   EndIf
  618.  
  619.   ;;Prompt user on which drivers to install
  620.   ;;Only install VFW driver
  621.   [Number9] := 1
  622.   If [Number2] = 1
  623.       DialogResource WhichDrivers Returns [Number9]
  624.     CheckBox 1000 Uses [Number1]
  625.     CheckBox 1001 Uses [Number2]
  626.       EndDialogResource
  627.   EndIf
  628.   
  629.   ;;Install the driver
  630.   If [Number9] = 1
  631.  
  632.    ;; We'll need about 165K.  Do we have enough space?
  633.     If [Number1] = 1
  634.       [Number11] := 165000
  635.     EndIf
  636.     If [Number2] = 1
  637.       [Number11] :=  [Number11] + 450000
  638.     EndIf
  639.     [String1] := SubstringOf [WindowsDirectory] from 1 to 1
  640.     [Number10] := FreeSpaceOnDrive [String1]
  641.     If [Number11] > [Number10]
  642.       [Number9] := [Number11] - [Number10]
  643.       [String1] := SubstringOf [WindowsDirectory] from 1 to 2
  644.       MessageBox Exclamation
  645.     There is insufficient space on drive [String1] to install
  646.     the selected driver(s).
  647.       
  648.     You must free approximately [Number9] bytes on this drive,
  649.     and try installing again.
  650.       EndMessageBox
  651.       GoTo EndThis
  652.     EndIf
  653.     ;;Need to copy AutoDesk driver
  654.     If [Number1] = 1
  655.         QueFileGroup [Module4Groups] to [WindowsSystemDirectory]
  656.         GetQuedFiles [ExtractionOptions]
  657.         Do WriteDriverInfo
  658.         [Installed] := YesCharacter
  659.     EndIf
  660.     If [Number2] <> 1
  661.       Exit
  662.     EndIf
  663.   Else
  664.     Exit
  665.   EndIf
  666.  
  667.   ;;Installing the VFW drivers from CD
  668.   If [InstallMode] = 0
  669.     If FileExists [InstallFromDirectory]\winvideo\vfwsetup.exe
  670.         ShowWindow Minimized
  671.         Run [InstallFromDirectory]\winvideo\vfwsetup.exe
  672.         ShowWindow Maximized
  673.         [Installed] := YesCharacter
  674.     EndIf
  675.   ;;Otherwise, from floppy
  676.   Else
  677.     If DriveIsRemoveable [InstallFromDrive]
  678.         ;; The string here "Digital Theatre Disk 4" is the string that MediaBuilder
  679.         ;; put on the disk, and appears in the PVD by the NewSeries item.
  680. ;;      VerifyCorrectMedia [InstallFromDrive] Asymetrix MultiMedia Screen Saver Disk [DriverDisk] filename = vfwsetup.exe
  681. :ValidateVFW
  682.       If FileExists [InstallFromDrive]:vfwsetup.exe
  683.     ShowWindow Minimized
  684.     Run [InstallFromDrive]:vfwsetup.exe
  685.     ShowWindow Maximized
  686.     [Installed] := YesCharacter
  687.       Else
  688.       Popup Please insert disk number [DriverDisk] into drive [InstallFromDrive]:
  689.       GoTo ValidateVFW
  690.       EndIf
  691.     Else
  692.       [Dir1] := [InstallFromDirectory]
  693. :GetDir
  694.       Dialog [Dir1] UpperCase
  695.     Please enter the location where the
  696.     files from Disk [DriverDisk] can be found.
  697.     Leave blank to exit.
  698.       EndDialog
  699.       If [Dir1] = BlankString
  700.     Exit
  701.       EndIf
  702.       If FileExists [Dir1]vfwsetup.exe
  703.     ShowWindow Minimized
  704.     Run [Dir1]vfwsetup.exe
  705.     ShowWindow Maximized
  706.       Else
  707.     [Dir2] := StrLower [Dir1]
  708.     MessageBox Exclamation
  709.     [Dir2]vfwsetup.exe is not a valid file name.
  710.     EndMessageBox
  711.     GoTo GetDir
  712.       EndIf
  713.     EndIf
  714.   EndIf
  715. :EndThis
  716. EndProcedure
  717.  
  718. ;; This is the procedure to do the custom installation.
  719. ;; The number variables need to be initialized to the queue sizes for each
  720. ;; of the groups.  Queueing the group and calling the QueSize function is
  721. ;; the only way to do this.  It's OK, because it doesn't actually take much
  722. ;; time.  Be aware!  You cannot use an [ArrayX] variable here, only the
  723. ;; [NumberX] variable works.  You cannot get return values in an [ArrayX].
  724. ;;
  725. ;; So, the dialog box will change the values of the number variables depending
  726. ;; on whether or not the checkboxes were checked.  Unchecked buttons will
  727. ;; get 0 for a value, otherwise the queue size will be in the variables,
  728. ;; as when before the box came up.  If the user hits cancel, the values will
  729. ;; all be 0, as if they had unchecked all the boxes.
  730. ;;
  731. ;; You can, for now, have up to 10 groups.  Not many more will fit on the
  732. ;; screen in VGA.  If you need more than that, talk to me (Janet Lennon)
  733. ;; and I'll see what I can do about it.
  734.  
  735. Procedure SelectForCustomSetup
  736.     ;;Check All Options but delete by Default
  737.     [Number2] := 1
  738.     [Number3] := 0
  739.     [Number4] := 1
  740.     [Number5] := 1
  741.     [Number6] := 1
  742.     DialogResource InstallOptions Returns [Number1]
  743.       CheckBox 1000 Uses [Number2]
  744.       CheckBox 1001 Uses [Number3]
  745.       CheckBox 1002 Uses [Number4]
  746.       CheckBox 1003 Uses [Number5]
  747.       CheckBox 1004 Uses [Number6]
  748.     EndDialogResource
  749.     ClearScreen
  750.     [YesOrNo6] := NoCharacter
  751.     If [Number1] = 1 
  752.       ;;Install Screen Savers
  753.       If [Number2] = 1
  754.     Do BuildExeGroup
  755.     [ExesInstalled] := YesCharacter
  756.     [DoSamples] := YesCharacter
  757.     [SampleOptions] := YesCharacter
  758.         [YesOrNo6] := YesCharacter
  759.       EndIf
  760.       ;;Remove Screen Savers
  761.       If [Number3] = 1
  762.     [RemoveSamples] := YesCharacter
  763.       EndIf
  764.       ;;Install System wallpaper
  765.       If [Number4] = 1
  766.     [DoWallpaper] := YesCharacter
  767.         [YesOrNo6] := YesCharacter
  768.       EndIf
  769.       ;;Install System sounds
  770.       If [Number5] = 1
  771.     [DoSounds] := YesCharacter
  772.         [YesOrNo6] := YesCharacter
  773.       EndIf
  774.       ;;Install Drivers
  775.       If [Number6] = 1
  776.     [DoDrivers] := YesCharacter
  777.       EndIf
  778.     Else
  779.       GoTo Continue
  780.     EndIf
  781. EndProcedure
  782.  
  783. Procedure WriteJurassicIni
  784.     ;; Update what we installed and other options the user chose.
  785.     ;; Since we initialize the location of all the modules, 
  786.     ;; we can write back whatever we have in those variables.
  787.  
  788. ;;    If [DoSamples] = YesCharacter
  789.     [Array1][1] := Paths
  790.     [Array1][2] := InstallRoot
  791.     [Array1][3] := [InstallationDirectory]
  792.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  793.     WritePrivateProfileString Using [Array1]
  794. ;;    EndIf
  795.     [Array1][1] := Paths
  796.     [Array1][2] := Dossier
  797.     [Array1][3] := [DossierLoc]
  798.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  799.     WritePrivateProfileString Using [Array1]
  800.  
  801.     [Array1][1] := Paths
  802.     [Array1][2] := Encyc
  803.     [Array1][3] := [EncycLoc]
  804.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  805.     WritePrivateProfileString Using [Array1]
  806.  
  807.     [Array1][1] := Paths
  808.     [Array1][2] := Operations
  809.     [Array1][3] := [OperationsLoc]
  810.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  811.     WritePrivateProfileString Using [Array1]
  812.  
  813.     [Array1][1] := Paths
  814.     [Array1][2] := Lost
  815.     [Array1][3] := [LostLoc]
  816.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  817.     WritePrivateProfileString Using [Array1]
  818.  
  819.     [Array1][1] := Paths
  820.     [Array1][2] := Eyes
  821.     [Array1][3] := [EyesLoc]
  822.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  823.     WritePrivateProfileString Using [Array1]
  824.  
  825.     [Array1][1] := Paths
  826.     [Array1][2] := Hunt
  827.     [Array1][3] := [HuntLoc]
  828.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  829.     WritePrivateProfileString Using [Array1]
  830.  
  831.     [Array1][1] := Paths
  832.     [Array1][2] := JP_Tour
  833.     [Array1][3] := [JP_TourLoc]
  834.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  835.     WritePrivateProfileString Using [Array1]
  836.  
  837.     [Array1][1] := Paths
  838.     [Array1][2] := Welcome
  839.     [Array1][3] := [WelcomeLoc]
  840.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  841.     WritePrivateProfileString Using [Array1]
  842.  
  843.     [Array1][1] := Paths
  844.     [Array1][2] := Slides
  845.     [Array1][3] := [SlideLoc]
  846.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  847.     WritePrivateProfileString Using [Array1]
  848.  
  849.     [Array1][1] := Paths
  850.     [Array1][2] := Chase
  851.     [Array1][3] := [ChaseLoc]
  852.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  853.     WritePrivateProfileString Using [Array1]
  854.  
  855.   [Dir1] := [WindowsDirectory]\jpsaver.ini
  856.   If [ExesInstalled] = YesCharacter
  857.     [Array1][1] := ScreenSaver
  858.     [Array1][2] := EnablePassword
  859.     [Array1][3] := 0
  860.     [Array1][4] := [Dir1]
  861.     WritePrivateProfileString using [Array1]
  862.     [Array1][1] := ScreenSaver
  863.     [Array1][2] := MouseDisables
  864.     [Array1][3] := 1
  865.     [Array1][4] := [Dir1]
  866.     WritePrivateProfileString using [Array1]
  867.     [Array1][1] := ScreenSaver
  868.     [Array1][2] := SoundDisabled
  869.     [Array1][3] := 0
  870.     [Array1][4] := [Dir1]
  871.     WritePrivateProfileString using [Array1]
  872.     [Array1][1] := ScreenSaver
  873.     [Array1][2] := BackupShow
  874.     [Array1][3] := [InstallationDirectory]\default.spf
  875.     [Array1][4] := [Dir1]
  876.     WritePrivateProfileString using [Array1]
  877.     [Array1][1] := ScreenSaver
  878.     [Array1][2] := PasswordFile
  879.     [Array1][3] := [InstallationDirectory]\nedry.flc
  880.     [Array1][4] := [Dir1]
  881.     WritePrivateProfileString using [Array1]
  882.     [Array1][1] := ScreenSaver
  883.     [Array1][2] := PasswordSound
  884.     [Array1][3] := [InstallationDirectory]\nedry.wav
  885.     [Array1][4] := [Dir1]
  886.     WritePrivateProfileString using [Array1]
  887.   EndIf
  888.  
  889.   ;;setup screen resolution variable
  890.   Do SetResolution
  891.  
  892.   ;;Write res to JP Jr.
  893.   If [InstallMode] = 0
  894.     If FileExists [InstallationDirectory]\JPBROWSE.MMT
  895.       [String1] := Six
  896.       If [ScreenResolution] = 6
  897.         [String1] := Six
  898.       EndIf
  899.       If [ScreenResolution] = 8
  900.         [String1] := Eight
  901.       EndIf
  902.       If [ScreenResolution] = 1
  903.         [String1] := Ten
  904.       EndIf
  905.       [String2] := SubstringOf [InstallFromDirectory] from 1 to 3
  906.       [Array1][1] := Main
  907.       [Array1][2] := PrependPath
  908.       [Array1][3] := [String2]
  909.       [Array1][4] := [InstallationDirectory]\JPBROWSE.MMT
  910.       WritePrivateProfileString using [Array1]
  911.       [Array1][1] := Main
  912.       [Array1][2] := MachineType
  913.       [Array1][3] := [String1]
  914.       [Array1][4] := [InstallationDirectory]\JPBROWSE.MMT
  915.       WritePrivateProfileString using [Array1]
  916.       [Array1][1] := Extensions
  917.       [Array1][2] := mmt
  918.       [Array1][3] := [InstallFromDirectory]\MMTOUR.EXE ^.MMT
  919.       WriteProfileString using [Array1]
  920.     EndIf
  921.   EndIf
  922.         
  923. ;;Add Welcome Module Names
  924.     If [SamplesOnCD] = YesCharacter
  925.        [String10] := [InstallFromDirectory]\WELCOME
  926.     Else
  927.        [String10] := [WelcomeLoc]
  928.     EndIf
  929.     If [String10] <> NotInstalled
  930.       If FileExists [String10]\WLCM_C[ScreenResolution].SPF
  931.         [String1] := Welcome to Jurassic Park
  932.         [String2] := [String10]\WLCM_C[ScreenResolution].SPF,0,Overture
  933.         [String3] := [String10]\LOGO_C[ScreenResolution].SPF,1,Flying Logos
  934.         [String4] := [String10]\MNTG_C[ScreenResolution].SPF,0,Montage from Jurassic Park
  935.       Else
  936.         GoTo Bail1
  937.         ;;For each module that is also part of the disk version
  938.         ;;we bail on writing the config info if
  939.         ;;a CD specific file is not present.
  940.       EndIf
  941.     Else
  942.       [String1] := None
  943.       [String2] := " "
  944.       [String3] := " "
  945.       [String4] := " "
  946.     EndIf
  947.     [Array1][1] := Modules
  948.     [Array1][2] := Module1
  949.     [Array1][3] := [String1]
  950.     [Array1][4] := [Dir1]
  951.     WritePrivateProfileString using [Array1]
  952.     [Array1][1] := Module1
  953.     [Array1][2] := Option1
  954.     [Array1][3] := [String2]
  955.     [Array1][4] := [Dir1]
  956.     WritePrivateProfileString using [Array1]
  957.     [Array1][1] := Module1
  958.     [Array1][2] := Option2
  959.     [Array1][3] := [String3]
  960.     [Array1][4] := [Dir1]
  961.     WritePrivateProfileString using [Array1]
  962.     [Array1][1] := Module1
  963.     [Array1][2] := Option3
  964.     [Array1][3] := [String4]
  965.     [Array1][4] := [Dir1]
  966.     WritePrivateProfileString using [Array1]
  967.     [Array1][1] := Module1
  968.     [Array1][2] := SelectedOption
  969.     [Array1][3] := 0
  970.     [Array1][4] := [Dir1]
  971.     WritePrivateProfileString using [Array1]
  972. :Bail1
  973.  
  974. ;;Add JP Tour
  975.     If [SamplesOnCD] = YesCharacter
  976.        [String10] := [InstallFromDirectory]\JP_TOUR
  977.     Else
  978.        [String10] := [JP_TourLoc]
  979.     EndIf
  980.     If [String10] <> NotInstalled
  981.       If FileExists [String10]\TOURA_C[ScreenResolution].SPF
  982.         [String1] := Tour of Jurassic Park
  983.         [String2] := [String10]\TOURA_C[ScreenResolution].SPF,0,Full Tour
  984.         [String3] := [String10]\TOURA_C[ScreenResolution].SPF,1,Randomize
  985.         [String4] := [String10]\TOURB_C[ScreenResolution].SPF,0,Browsing
  986.         [String5] := [String10]\TOURD_C[ScreenResolution].SPF,0,Spit Stop
  987.         [String6] := [String10]\TOURS_C[ScreenResolution].SPF,0,Something She Ate
  988.         [String7] := [String10]\TOURH_C[ScreenResolution].SPF,0,Twilight Sonata
  989.         [String8] := [String10]\TOURP_C[ScreenResolution].SPF,0,Feeding Time
  990.         [String9] := [String10]\TOURT_C[ScreenResolution].SPF,0,Tremors
  991.         [String10] := [String10]\TOURR_C[ScreenResolution].SPF,0,Objects Are Closer Than They Appear
  992.       Else
  993.         GoTo Bail2
  994.       EndIf
  995.     Else
  996.       [String1] := None
  997.       [String2] := " "
  998.       [String3] := " "
  999.       [String4] := " "
  1000.       [String5] := " "
  1001.       [String6] := " "
  1002.       [String7] := " "
  1003.       [String8] := " "
  1004.       [String9] := " "
  1005.       [String10] := " "
  1006.     EndIf
  1007.     [Array1][1] := Modules
  1008.     [Array1][2] := Module2
  1009.     [Array1][3] := [String1]
  1010.     [Array1][4] := [Dir1]
  1011.     WritePrivateProfileString using [Array1]
  1012.     [Array1][1] := Module2
  1013.     [Array1][2] := Option1
  1014.     [Array1][3] := [String2]
  1015.     [Array1][4] := [Dir1]
  1016.     WritePrivateProfileString using [Array1]
  1017.     [Array1][1] := Module2
  1018.     [Array1][2] := Option2
  1019.     [Array1][3] := [String3]
  1020.     [Array1][4] := [Dir1]
  1021.     WritePrivateProfileString using [Array1]
  1022.     [Array1][1] := Module2
  1023.     [Array1][2] := Option3
  1024.     [Array1][3] := [String4]
  1025.     [Array1][4] := [Dir1]
  1026.     WritePrivateProfileString using [Array1]
  1027.     [Array1][1] := Module2
  1028.     [Array1][2] := Option4
  1029.     [Array1][3] := [String5]
  1030.     [Array1][4] := [Dir1]
  1031.     WritePrivateProfileString using [Array1]
  1032.     [Array1][1] := Module2
  1033.     [Array1][2] := Option5
  1034.     [Array1][3] := [String6]
  1035.     [Array1][4] := [Dir1]
  1036.     WritePrivateProfileString using [Array1]
  1037.     [Array1][1] := Module2
  1038.     [Array1][2] := Option6
  1039.     [Array1][3] := [String7]
  1040.     [Array1][4] := [Dir1]
  1041.     WritePrivateProfileString using [Array1]
  1042.     [Array1][1] := Module2
  1043.     [Array1][2] := Option7
  1044.     [Array1][3] := [String8]
  1045.     [Array1][4] := [Dir1]
  1046.     WritePrivateProfileString using [Array1]
  1047.     [Array1][1] := Module2
  1048.     [Array1][2] := Option8
  1049.     [Array1][3] := [String9]
  1050.     [Array1][4] := [Dir1]
  1051.     WritePrivateProfileString using [Array1]
  1052.     [Array1][1] := Module2
  1053.     [Array1][2] := Option9
  1054.     [Array1][3] := [String10]
  1055.     [Array1][4] := [Dir1]
  1056.     WritePrivateProfileString using [Array1]
  1057.     [Array1][1] := Module2
  1058.     [Array1][2] := SelectedOption
  1059.     [Array1][3] := 0
  1060.     [Array1][4] := [Dir1]
  1061.     WritePrivateProfileString using [Array1]
  1062. :Bail2
  1063.  
  1064. ;;Add Dino Eyes
  1065.     If [SamplesOnCD] = YesCharacter
  1066.        [String10] := [InstallFromDirectory]\EYES
  1067.     Else
  1068.        [String10] := [EyesLoc]
  1069.     EndIf
  1070.     If [String10] <> NotInstalled
  1071.       If FileExists [String10]\EYES_C[ScreenResolution].SPF
  1072.         [String1] := Something's Watching
  1073.         [String2] := [String10]\EYES_C[ScreenResolution].SPF,0,Something's Watching
  1074.       Else
  1075.         GoTo Bail3
  1076.       EndIf
  1077.     Else
  1078.       [String1] := None
  1079.       [String2] := " "
  1080.     EndIf
  1081.     [Array1][1] := Modules
  1082.     [Array1][2] := Module3
  1083.     [Array1][3] := [String1]
  1084.     [Array1][4] := [Dir1]
  1085.     WritePrivateProfileString using [Array1]
  1086.     [Array1][1] := Module3
  1087.     [Array1][2] := Option1
  1088.     [Array1][3] := [String2]
  1089.     [Array1][4] := [Dir1]
  1090.     WritePrivateProfileString using [Array1]
  1091.     [Array1][1] := Module3
  1092.     [Array1][2] := SelectedOption
  1093.     [Array1][3] := 0
  1094.     [Array1][4] := [Dir1]
  1095.     WritePrivateProfileString using [Array1]
  1096. :Bail3
  1097.  
  1098. ;;Add The hunt
  1099.     If [SamplesOnCD] = YesCharacter
  1100.        [String10] := [InstallFromDirectory]\HUNT
  1101.     Else
  1102.        [String10] := [HuntLoc]
  1103.     EndIf
  1104.     If [String10] <> NotInstalled
  1105.       If FileExists [String10]\HUNTA_C[ScreenResolution].SPF
  1106.         [String1] := The Hunt
  1107.         [String2] := [String10]\HUNTA_C[ScreenResolution].SPF,0,Full Hunt
  1108.         [String3] := [String10]\HUNTR_C[ScreenResolution].SPF,0,In the Bush
  1109.         [String4] := [String10]\HUNTD_C[ScreenResolution].SPF,0,Peek-A-Boo
  1110.         [String5] := [String10]\HUNTT_C[ScreenResolution].SPF,0,Stay Perfectly Still
  1111.         [String6] := [String10]\HUNTC_C[ScreenResolution].SPF,0,Is Somebody Up There?
  1112.         [String7] := [String10]\HUNTJ_C[ScreenResolution].SPF,0,Let's Go For a Spin
  1113.         [String8] := [String10]\HUNTK_C[ScreenResolution].SPF,0,What's for Dinner?
  1114.       Else
  1115.         GoTo Bail4
  1116.       EndIf
  1117.     Else
  1118.       [String1] := None
  1119.       [String2] := " "
  1120.       [String3] := " "
  1121.       [String4] := " "
  1122.       [String5] := " "
  1123.       [String6] := " "
  1124.       [String7] := " "
  1125.       [String8] := " "
  1126.     EndIf
  1127.     [Array1][1] := Modules
  1128.     [Array1][2] := Module4
  1129.     [Array1][3] := [String1]
  1130.     [Array1][4] := [Dir1]
  1131.     WritePrivateProfileString using [Array1]
  1132.     [Array1][1] := Module4
  1133.     [Array1][2] := Option1
  1134.     [Array1][3] := [String2]
  1135.     [Array1][4] := [Dir1]
  1136.     WritePrivateProfileString using [Array1]
  1137.     [Array1][1] := Module4
  1138.     [Array1][2] := Option2
  1139.     [Array1][3] := [String3]
  1140.     [Array1][4] := [Dir1]
  1141.     WritePrivateProfileString using [Array1]
  1142.     [Array1][1] := Module4
  1143.     [Array1][2] := Option3
  1144.     [Array1][3] := [String4]
  1145.     [Array1][4] := [Dir1]
  1146.     WritePrivateProfileString using [Array1]
  1147.     [Array1][1] := Module4
  1148.     [Array1][2] := Option4
  1149.     [Array1][3] := [String5]
  1150.     [Array1][4] := [Dir1]
  1151.     WritePrivateProfileString using [Array1]
  1152.     [Array1][1] := Module4
  1153.     [Array1][2] := Option5
  1154.     [Array1][3] := [String6]
  1155.     [Array1][4] := [Dir1]
  1156.     WritePrivateProfileString using [Array1]
  1157.     [Array1][1] := Module4
  1158.     [Array1][2] := Option6
  1159.     [Array1][3] := [String7]
  1160.     [Array1][4] := [Dir1]
  1161.     WritePrivateProfileString using [Array1]
  1162.     [Array1][1] := Module4
  1163.     [Array1][2] := Option7
  1164.     [Array1][3] := [String8]
  1165.     [Array1][4] := [Dir1]
  1166.     WritePrivateProfileString using [Array1]
  1167.     [Array1][1] := Module4
  1168.     [Array1][2] := SelectedOption
  1169.     [Array1][3] := 0
  1170.     [Array1][4] := [Dir1]
  1171.     WritePrivateProfileString using [Array1]
  1172. :Bail4
  1173.  
  1174. ;;Add The Chase
  1175.     If [SamplesOnCD] = YesCharacter
  1176.        [String10] := [InstallFromDirectory]\CHASE
  1177.     Else
  1178.        [String10] := [ChaseLoc]
  1179.     EndIf
  1180.     If [String10] <> NotInstalled
  1181.       If FileExists [String10]\CHASEAC[ScreenResolution].SPF
  1182.         [String1] := The Chase
  1183.         [String2] := [String10]\CHASEAC[ScreenResolution].SPF,1,Full Chase
  1184.         [String3] := [String10]\CHASEFC[ScreenResolution].SPF,1,Frustration
  1185.         [String4] := [String10]\CHASEKC[ScreenResolution].SPF,1,The Kill
  1186.       Else
  1187.         GoTo Bail5
  1188.       EndIf
  1189.     Else
  1190.       [String1] := None
  1191.       [String2] := " "
  1192.       [String3] := " "
  1193.       [String4] := " "
  1194.     EndIf
  1195.     [Array1][1] := Modules
  1196.     [Array1][2] := Module5
  1197.     [Array1][3] := [String1]
  1198.     [Array1][4] := [Dir1]
  1199.     WritePrivateProfileString using [Array1]
  1200.     [Array1][1] := Module5
  1201.     [Array1][2] := Option1
  1202.     [Array1][3] := [String2]
  1203.     [Array1][4] := [Dir1]
  1204.     WritePrivateProfileString using [Array1]
  1205.     [Array1][1] := Module5
  1206.     [Array1][2] := Option2
  1207.     [Array1][3] := [String3]
  1208.     [Array1][4] := [Dir1]
  1209.     WritePrivateProfileString using [Array1]
  1210.     [Array1][1] := Module5
  1211.     [Array1][2] := Option3
  1212.     [Array1][3] := [String4]
  1213.     [Array1][4] := [Dir1]
  1214.     WritePrivateProfileString using [Array1]
  1215.     [Array1][1] := Module5
  1216.     [Array1][2] := SelectedOption
  1217.     [Array1][3] := 0
  1218.     [Array1][4] := [Dir1]
  1219.     WritePrivateProfileString using [Array1]
  1220. :Bail5
  1221.  
  1222. ;; Add Dossier
  1223.     If [SamplesOnCD] = YesCharacter
  1224.        [String10] := [InstallFromDirectory]\DOSSIER
  1225.     Else
  1226.        [String10] := [DossierLoc]
  1227.     EndIf
  1228.     If [String10] <> NotInstalled
  1229.       [String1] := Character Dossier
  1230.       [String2] := [String10]\DOSS_[ScreenResolution].SPF,0,Character Dossier
  1231.     Else
  1232.       [String1] := None
  1233.       [String2] := " "
  1234.     EndIf
  1235.     [Array1][1] := Modules
  1236.     [Array1][2] := Module6
  1237.     [Array1][3] := [String1]
  1238.     [Array1][4] := [Dir1]
  1239.     WritePrivateProfileString using [Array1]
  1240.     [Array1][1] := Module6
  1241.     [Array1][2] := Option1
  1242.     [Array1][3] := [String2]
  1243.     [Array1][4] := [Dir1]
  1244.     WritePrivateProfileString using [Array1]
  1245.     [Array1][1] := Module6
  1246.     [Array1][2] := SelectedOption
  1247.     [Array1][3] := 0
  1248.     [Array1][4] := [Dir1]
  1249.     WritePrivateProfileString using [Array1]
  1250.  
  1251. ;; Add Encyclopedia
  1252.     If [SamplesOnCD] = YesCharacter
  1253.        [String10] := [InstallFromDirectory]\ENCYC
  1254.     Else
  1255.        [String10] := [EncycLoc]
  1256.     EndIf
  1257.     If [String10] <> NotInstalled
  1258.       [String1] := Jurassic Park Encyclopedia
  1259.       [String2] := [String10]\ENCALL[ScreenResolution].SPF,0,Complete Reference (All)
  1260.       [String3] := [String10]\SCIENCE[ScreenResolution].SPF,0,Science of Jurassic Park
  1261.       [String4] := [String10]\ENCYC[ScreenResolution].SPF,0,Dinosaur Encyclopedia
  1262.     Else
  1263.       [String1] := None
  1264.       [String2] := " "
  1265.       [String3] := " "
  1266.       [String4] := " "
  1267.     EndIf
  1268.     [Array1][1] := Modules
  1269.     [Array1][2] := Module7
  1270.     [Array1][3] := [String1]
  1271.     [Array1][4] := [Dir1]
  1272.     WritePrivateProfileString using [Array1]
  1273.     [Array1][1] := Module7
  1274.     [Array1][2] := Option1
  1275.     [Array1][3] := [String2]
  1276.     [Array1][4] := [Dir1]
  1277.     WritePrivateProfileString using [Array1]
  1278.     [Array1][1] := Module7
  1279.     [Array1][2] := Option2
  1280.     [Array1][3] := [String3]
  1281.     [Array1][4] := [Dir1]
  1282.     WritePrivateProfileString using [Array1]
  1283.     [Array1][1] := Module7
  1284.     [Array1][2] := Option3
  1285.     [Array1][3] := [String4]
  1286.     [Array1][4] := [Dir1]
  1287.     WritePrivateProfileString using [Array1]
  1288.     [Array1][1] := Module7
  1289.     [Array1][2] := SelectedOption
  1290.     [Array1][3] := 0
  1291.     [Array1][4] := [Dir1]
  1292.     WritePrivateProfileString using [Array1]
  1293.  
  1294. ;;Add Operations
  1295.     If [SamplesOnCD] = YesCharacter
  1296.        [String10] := [InstallFromDirectory]\OPRTNS
  1297.     Else
  1298.        [String10] := [OperationsLoc]
  1299.     EndIf
  1300.     If [String10] <> NotInstalled
  1301.       [String1] := Park Operations
  1302.       [String2] := [String10]\COMPO[ScreenResolution].SPF,0,Computer Operations
  1303.       [String3] := [String10]\CHAOS[ScreenResolution].SPF,0,Chaos
  1304.       [String4] := [String10]\HATCHA[ScreenResolution].SPF,0,Hatchery
  1305.     Else
  1306.       [String1] := None
  1307.       [String2] := " "
  1308.       [String3] := " "
  1309.       [String4] := " "
  1310.     EndIf
  1311.     [Array1][1] := Modules
  1312.     [Array1][2] := Module8
  1313.     [Array1][3] := [String1]
  1314.     [Array1][4] := [Dir1]
  1315.     WritePrivateProfileString using [Array1]
  1316.     [Array1][1] := Module8
  1317.     [Array1][2] := Option1
  1318.     [Array1][3] := [String2]
  1319.     [Array1][4] := [Dir1]
  1320.     WritePrivateProfileString using [Array1]
  1321.     [Array1][1] := Module8
  1322.     [Array1][2] := Option2
  1323.     [Array1][3] := [String3]
  1324.     [Array1][4] := [Dir1]
  1325.     WritePrivateProfileString using [Array1]
  1326.     [Array1][1] := Module8
  1327.     [Array1][2] := Option3
  1328.     [Array1][3] := [String4]
  1329.     [Array1][4] := [Dir1]
  1330.     WritePrivateProfileString using [Array1]
  1331.     [Array1][1] := Module8
  1332.     [Array1][2] := SelectedOption
  1333.     [Array1][3] := 0
  1334.     [Array1][4] := [Dir1]
  1335.     WritePrivateProfileString using [Array1]
  1336.  
  1337. ;;Add Lost
  1338.     If [SamplesOnCD] = YesCharacter
  1339.        [String10] := [InstallFromDirectory]\LOST
  1340.     Else
  1341.        [String10] := [LostLoc]
  1342.     EndIf
  1343.     If [String10] <> NotInstalled
  1344.       [String1] := Lost In Jurassic Park
  1345.       [String2] := [String10]\LOSTA_C[ScreenResolution].SPF,1,Randomize
  1346.       [String3] := [String10]\LOSTN_C[ScreenResolution].SPF,0,Nedry's Adventure
  1347.       [String4] := [String10]\LOSTC_C[ScreenResolution].SPF,0,Car Trouble
  1348.       [String5] := [String10]\LOSTR_C[ScreenResolution].SPF,0,Run Through the Jungle
  1349.       [String6] := [String10]\LOSTM_C[ScreenResolution].SPF,0,Back In the Mix
  1350.     Else
  1351.       [String1] := None
  1352.       [String2] := " "
  1353.       [String3] := " "
  1354.       [String4] := " "
  1355.       [String5] := " "
  1356.       [String6] := " "
  1357.     EndIf
  1358.     [Array1][1] := Modules
  1359.     [Array1][2] := Module9
  1360.     [Array1][3] := [String1]
  1361.     [Array1][4] := [Dir1]
  1362.     WritePrivateProfileString using [Array1]
  1363.     [Array1][1] := Module9
  1364.     [Array1][2] := Option1
  1365.     [Array1][3] := [String2]
  1366.     [Array1][4] := [Dir1]
  1367.     WritePrivateProfileString using [Array1]
  1368.     [Array1][1] := Module9
  1369.     [Array1][2] := Option2
  1370.     [Array1][3] := [String3]
  1371.     [Array1][4] := [Dir1]
  1372.     WritePrivateProfileString using [Array1]
  1373.     [Array1][1] := Module9
  1374.     [Array1][2] := Option3
  1375.     [Array1][3] := [String4]
  1376.     [Array1][4] := [Dir1]
  1377.     WritePrivateProfileString using [Array1]
  1378.     [Array1][1] := Module9
  1379.     [Array1][2] := Option4
  1380.     [Array1][3] := [String5]
  1381.     [Array1][4] := [Dir1]
  1382.     WritePrivateProfileString using [Array1]
  1383.     [Array1][1] := Module9
  1384.     [Array1][2] := Option5
  1385.     [Array1][3] := [String6]
  1386.     [Array1][4] := [Dir1]
  1387.     WritePrivateProfileString using [Array1]
  1388.     [Array1][1] := Module9
  1389.     [Array1][2] := SelectedOption
  1390.     [Array1][3] := 0
  1391.     [Array1][4] := [Dir1]
  1392.     WritePrivateProfileString using [Array1]
  1393.  
  1394. ;;Add Slide Show
  1395.     If [SamplesOnCD] = YesCharacter
  1396.        [String10] := [InstallFromDirectory]\SLIDES
  1397.     Else
  1398.        [String10] := [SlideLoc]
  1399.     EndIf
  1400.     If [String10] <> NotInstalled
  1401.       [String1] := Slide Show
  1402.       [String2] := [String10]\SHOW_C[ScreenResolution].SPF,0,Slide Show (CD)
  1403.     Else
  1404.       [String1] := None
  1405.       [String2] := " "
  1406.     EndIf
  1407.     [Array1][1] := Modules
  1408.     [Array1][2] := Module10
  1409.     [Array1][3] := [String1]
  1410.     [Array1][4] := [Dir1]
  1411.     WritePrivateProfileString using [Array1]
  1412.     [Array1][1] := Module10
  1413.     [Array1][2] := Option1
  1414.     [Array1][3] := [String2]
  1415.     [Array1][4] := [Dir1]
  1416.     WritePrivateProfileString using [Array1]
  1417.     [Array1][1] := Module10
  1418.     [Array1][2] := SelectedOption
  1419.     [Array1][3] := 0
  1420.     [Array1][4] := [Dir1]
  1421.     WritePrivateProfileString using [Array1]
  1422.  
  1423.   If [SelectedModule] <> BlankString
  1424.     [Array1][1] := Modules
  1425.     [Array1][2] := SelectedModule
  1426.     [Array1][3] := 0
  1427.     [Array1][4] := [Dir1]
  1428.     WritePrivateProfileString using [Array1]
  1429.   EndIf
  1430.   If [DoWallpaper] = YesCharacter
  1431.     [Array1][1] := WallPaper
  1432.     [Array1][2] := SelectedPaper
  1433.     [Array1][3] := 0
  1434.     [Array1][4] := [Dir1]
  1435.     WritePrivateProfileString using [Array1]
  1436.     [Array1][1] := Wallpaper
  1437.     [Array1][2] := Wallpaper1
  1438.     [Array1][3] := [WallpaperLoc]\browsing.bmp,[WallpaperLoc]\browsngt.bmp,Brachiosaurus Browsing
  1439.     [Array1][4] := [Dir1]
  1440.     WritePrivateProfileString using [Array1]
  1441.     [Array1][1] := Wallpaper
  1442.     [Array1][2] := Wallpaper2
  1443.     [Array1][3] := [WallpaperLoc]\flshlite.bmp,[WallpaperLoc]\flshlitt.bmp,She's Coming Back
  1444.     [Array1][4] := [Dir1]
  1445.     WritePrivateProfileString using [Array1]
  1446.     [Array1][1] := Wallpaper
  1447.     [Array1][2] := Wallpaper3
  1448.     [Array1][3] := [WallpaperLoc]\jp_logo.bmp,[WallpaperLoc]\jp_logot.bmp,Jurassic Park Logo
  1449.     [Array1][4] := [Dir1]
  1450.     WritePrivateProfileString using [Array1]
  1451.     [Array1][1] := Wallpaper
  1452.     [Array1][2] := Wallpaper4
  1453.     [Array1][3] := [WallpaperLoc]\kitchen.bmp,[WallpaperLoc]\kitchent.bmp,What's For Dinner?
  1454.     [Array1][4] := [Dir1]
  1455.     WritePrivateProfileString using [Array1]
  1456.     [Array1][1] := Wallpaper
  1457.     [Array1][2] := Wallpaper5
  1458.     [Array1][3] := [WallpaperLoc]\monitor.bmp,[WallpaperLoc]\monitort.bmp,Jurassic Park On-Line
  1459.     [Array1][4] := [Dir1]
  1460.     WritePrivateProfileString using [Array1]
  1461.     [Array1][1] := Wallpaper
  1462.     [Array1][2] := Wallpaper6
  1463.     [Array1][3] := [WallpaperLoc]\retread.bmp,[WallpaperLoc]\retreadt.bmp,Retread Hors D'Ouvres
  1464.     [Array1][4] := [Dir1]
  1465.     WritePrivateProfileString using [Array1]
  1466.     [Array1][1] := Wallpaper
  1467.     [Array1][2] := Wallpaper7
  1468.     [Array1][3] := [WallpaperLoc]\stampede.bmp,[WallpaperLoc]\stmpedet.bmp,Stampede!
  1469.     [Array1][4] := [Dir1]
  1470.     WritePrivateProfileString using [Array1]
  1471.     [Array1][1] := Wallpaper
  1472.     [Array1][2] := Wallpaper8
  1473.     [Array1][3] := [WallpaperLoc]\stings.bmp,[WallpaperLoc]\stingst.bmp,Ouch, That Stings!
  1474.     [Array1][4] := [Dir1]
  1475.     WritePrivateProfileString using [Array1]
  1476.     [Array1][1] := Wallpaper
  1477.     [Array1][2] := Wallpaper9
  1478.     [Array1][3] := [WallpaperLoc]\trapped.bmp,[WallpaperLoc]\trappedt.bmp,Trapped!
  1479.     [Array1][4] := [Dir1]
  1480.     WritePrivateProfileString using [Array1]
  1481.     [Array1][1] := Wallpaper
  1482.     [Array1][2] := Wallpaper10
  1483.     [Array1][3] := [WallpaperLoc]\twilight.bmp,[WallpaperLoc]\twilitet.bmp,Brachiasaurs at Twilight
  1484.     [Array1][4] := [Dir1]
  1485.     WritePrivateProfileString using [Array1]
  1486.     [Array1][1] := Wallpaper
  1487.     [Array1][2] := Wallpaper11
  1488.     [Array1][3] := [WallpaperLoc]\watrhole.bmp,[WallpaperLoc]\watrholt.bmp,Lake Jurassic
  1489.     [Array1][4] := [Dir1]
  1490.     WritePrivateProfileString using [Array1]
  1491.   EndIf
  1492.   If [DoSounds] = YesCharacter
  1493.     [Array1][1] := Sounds
  1494.     [Array1][2] := Sound1
  1495.     [Array1][3] := [SoundLoc]\FEELTHAT.WAV,Feel that?
  1496.     [Array1][4] := [Dir1]
  1497.     WritePrivateProfileString using [Array1]
  1498.     [Array1][1] := Sounds
  1499.     [Array1][2] := Sound2
  1500.     [Array1][3] := [SoundLoc]\HOOT.WAV,Dilophosaur Hoot
  1501.     [Array1][4] := [Dir1]
  1502.     WritePrivateProfileString using [Array1]
  1503.     [Array1][1] := Sounds
  1504.     [Array1][2] := Sound3
  1505.     [Array1][3] := [SoundLoc]\POWER.WAV,Maybe It's the Power
  1506.     [Array1][4] := [Dir1]
  1507.     WritePrivateProfileString using [Array1]
  1508.     [Array1][1] := Sounds
  1509.     [Array1][2] := Sound4
  1510.     [Array1][3] := [SoundLoc]\SONATA.WAV,Brachiasaur Call
  1511.     [Array1][4] := [Dir1]
  1512.     WritePrivateProfileString using [Array1]
  1513.     [Array1][1] := Sounds
  1514.     [Array1][2] := Sound5
  1515.     [Array1][3] := [SoundLoc]\SPLAT.WAV,Splat
  1516.     [Array1][4] := [Dir1]
  1517.     WritePrivateProfileString using [Array1]
  1518.     [Array1][1] := Sounds
  1519.     [Array1][2] := Sound6
  1520.     [Array1][3] := [SoundLoc]\STOMP.WAV,Impact Tremor
  1521.     [Array1][4] := [Dir1]
  1522.     WritePrivateProfileString using [Array1]
  1523.     [Array1][1] := Sounds
  1524.     [Array1][2] := Sound7
  1525.     [Array1][3] := [SoundLoc]\WATISDAT.WAV,What Is That?
  1526.     [Array1][4] := [Dir1]
  1527.     WritePrivateProfileString using [Array1]
  1528.     [Array1][1] := Sounds
  1529.     [Array1][2] := Sound8
  1530.     [Array1][3] := [SoundLoc]\NEDRY.WAV,Magic Word
  1531.     [Array1][4] := [Dir1]
  1532.     WritePrivateProfileString using [Array1]
  1533.     [Array1][1] := Sounds
  1534.     [Array1][2] := Sound9
  1535.     [Array1][3] := [SoundLoc]\SCREAM1.WAV,Raptor Scream
  1536.     [Array1][4] := [Dir1]
  1537.     WritePrivateProfileString using [Array1]
  1538.     [Array1][1] := Sounds
  1539.     [Array1][2] := Sound10
  1540.     [Array1][3] := [SoundLoc]\ALARMED.WAV,Getting Alarmed...
  1541.     [Array1][4] := [Dir1]
  1542.     WritePrivateProfileString using [Array1]
  1543.     [Array1][1] := Sounds
  1544.     [Array1][2] := Sound11
  1545.     [Array1][3] := [SoundLoc]\WELCM2.WAV,Welcome to Jurassic Park
  1546.     [Array1][4] := [Dir1]
  1547.     WritePrivateProfileString using [Array1]
  1548.     [Array1][1] := Sounds
  1549.     [Array1][2] := Sound12
  1550.     [Array1][3] := [SoundLoc]\ONLINE.WAV,I Can't Get JP Back On-Line
  1551.     [Array1][4] := [Dir1]
  1552.     WritePrivateProfileString using [Array1]
  1553.     [Array1][1] := Sounds
  1554.     [Array1][2] := Sound13
  1555.     [Array1][3] := [SoundLoc]\TREXROAR.WAV,T-Rex Roar
  1556.     [Array1][4] := [Dir1]
  1557.     WritePrivateProfileString using [Array1]
  1558.     [Array1][1] := Sounds
  1559.     [Array1][2] := Sound14
  1560.     [Array1][3] := [SoundLoc]\HATECOMP.WAV,I Hate Computers
  1561.     [Array1][4] := [Dir1]
  1562.     WritePrivateProfileString using [Array1]
  1563.     [Array1][1] := Sounds
  1564.     [Array1][2] := Sound15
  1565.     [Array1][3] := [SoundLoc]\CHAOS.WAV,That's Chaos Theory
  1566.     [Array1][4] := [Dir1]
  1567.     WritePrivateProfileString using [Array1]
  1568.     [Array1][1] := Sounds
  1569.     [Array1][2] := Sound16
  1570.     [Array1][3] := [SoundLoc]\DONTBLEV.WAV,I Don't Believe It!
  1571.     [Array1][4] := [Dir1]
  1572.     WritePrivateProfileString using [Array1]
  1573.     [Array1][1] := Sounds
  1574.     [Array1][2] := Sound17
  1575.     [Array1][3] := [SoundLoc]\EXPECT.WAV,How Can We Possibly...
  1576.     [Array1][4] := [Dir1]
  1577.     WritePrivateProfileString using [Array1]
  1578.   EndIf
  1579. EndProcedure
  1580.  
  1581. Procedure WriteSystemIni
  1582.   ;;Setup Digital Theater as the Screen Saver of choice.
  1583.   If [ExesInstalled] = YesCharacter
  1584.     [Array1][1] := Boot
  1585.     [Array1][2] := SCRNSAVE.EXE
  1586.     [Array1][3] := [WindowsDirectory]\JPSAVER.SCR
  1587.     [Array1][4] := [WindowsDirectory]\system.ini
  1588.     WritePrivateProfileString using [Array1]
  1589.     SetScreenSaverActiveTo true
  1590.     If [ADInstalled] := YesCharacter
  1591.       [Array1][1] := After Dark
  1592.       [Array1][2] := Module
  1593.       [Array1][3] := "Jurassic Park"
  1594.       [Array1][4] := [WindowsDirectory]\AD_PREFS.INI
  1595.     EndIf
  1596.   EndIf
  1597. EndProcedure
  1598.  
  1599. Procedure WriteDriverInfo
  1600.     ;; AutoDesk driver strings
  1601.     [Array1][1] := mci extensions
  1602.     [Array1][2] := fli
  1603.     [Array1][3] := Autodesk
  1604.     WriteProfileString Using [Array1]
  1605.     [Array1][1] := mci extensions
  1606.     [Array1][2] := flc
  1607.     [Array1][3] := Autodesk
  1608.     WriteProfileString Using [Array1]
  1609.     [Array1][1] := mci
  1610.     [Array1][2] := Autodesk
  1611.     [Array1][3] := mciaap.drv
  1612.     [Array1][4] := [WindowsDirectory]\system.ini
  1613.     WritePrivateProfileString Using [Array1]
  1614. EndProcedure
  1615.  
  1616. Procedure BuildProgmanIcon
  1617.   BuildProgramGroup "Main" main.grp
  1618.     [WindowsDirectory]\jpsaver.exe "Jurassic Park"
  1619.   EndBuildProgramGroup
  1620.   BuildProgramGroup "Jurassic Park" jurassic.grp
  1621.     [InstallationDirectory]\jpbrowse.mmt "Sneak Preview" [WindowsDirectory]\jpsaver.exe
  1622.     [WindowsDirectory]\jpsaver.exe "Control Center"
  1623.   EndBuildProgramGroup
  1624. EndProcedure
  1625.  
  1626. ;; Here we do cleanup.  If we installed anything, we modify config.sys and
  1627. ;; autoexec.bat if necessary.  We offer to run our product and offer to
  1628. ;; browse the readme.txt.
  1629. Procedure ExitInstallation
  1630.     ClearScreen
  1631.     If [Installed] = YesCharacter
  1632.     NoSysFileConfirmation  ;; since already inquired once
  1633.  
  1634.     If BootFilesModified
  1635.     Else
  1636.         MessageBox Information
  1637.         No changes were necessary to
  1638.         AUTOEXEC.BAT or CONFIG.SYS.
  1639.         EndMessageBox
  1640.     EndIf
  1641.     If [ReadmeFileName] <> BlankString
  1642.         MessageBox [YesOrNo1] YesNo Question ;; Ask whether to browse readme file, if any
  1643.         [ReadmeFileName] contains important information.
  1644.         Do you wish to read it now?
  1645.         EndMessageBox
  1646.         If [YesOrNo1] = YesCharacter
  1647.         If FileExists [InstallationDirectory]\[ReadmeFileName]
  1648.             BrowseFile [InstallationDirectory]\[ReadmeFileName]
  1649.         Else
  1650.             Popup Sorry, readme file [ReadMeFileName] is missing.
  1651.         EndIf
  1652.         EndIf
  1653.     EndIf
  1654.     MessageBox [YesOrNo1] YesNo Question ;; Final Farewell
  1655.         Setup is now complete. To configure Jurassic Park
  1656.             you can use the Desktop applet in the Windows Control
  1657.             Panel or choose the Jurassic Park icon from the "Main" group
  1658.             in Program Manager.  Do you wish to configure your 
  1659.             Jurassic Park screen saver at this time?
  1660.     EndMessageBox
  1661.     ClearScreen
  1662.         If [YesOrNo1] = YesCharacter
  1663.           Run [WindowsDirectory]\jpsaver.exe
  1664.         EndIf
  1665.     ;;Otherwise, prompt the user if they want to exit
  1666.     Else 
  1667.  
  1668.       MessageBox [YesOrNo1] YesNo Question
  1669.     Setup is not yet complete.
  1670.     Are you sure you want to exit Setup? 
  1671.       EndMessageBox
  1672.  
  1673.       ;;Clear screen and cycle again if the user wants do
  1674.       ClearScreen
  1675.       If [YesOrNo1] = NoCharacter
  1676.     Goto GoAgain
  1677.       EndIf
  1678.     EndIf
  1679.  
  1680.     UnloadBitmap 1
  1681.     UnloadBitmap 2
  1682. ;;    If [Installed] = YesCharacter
  1683. ;;        RestartWindows
  1684. ;;    EndIf
  1685.     SoLong Quietly
  1686. EndProcedure
  1687.  
  1688. ;; System summary - change with care.
  1689. Procedure ShowSystemSummary
  1690.   Dialog PressAKey
  1691.     .cHERE IS A SUMMARY OF YOUR SYSTEM
  1692.     .c[String8]  ;; notes whether any incompatibilities were found
  1693.  
  1694.     Operating System Version:  [OSVersionSummary]
  1695.     Windows Version:  [WinVersionSummary]
  1696.     CPU Type:  [CPUTypeSummary]
  1697.     Display Adapter:  [DisplayAdapterSummary]
  1698.     Math Coprocessor:  [MathCoprocessorStatus]
  1699.     Main Memory Present:  [SystemMemorySummary]
  1700.     Extended Memory Present:  [ExtMemorySummary]
  1701.     Installation Drive:  [InstDriveSummary]
  1702.     Network:  [NetworkActive]
  1703.     [String9]  ;; information about network suitability
  1704.   EndDialog
  1705. EndProcedure
  1706.  
  1707. Procedure PrepareSystemReport
  1708.   [InsufficientSystem] := NoCharacter
  1709.   If OSVersion < [MinimumOSVersion]
  1710.     [OSVersionSummary] := OSVersion (need at least [MinimumOSVersion])
  1711.     [InsufficientSystem] := YesCharacter
  1712.   Else
  1713.     [OSVersionSummary] := OSVersion
  1714.   EndIf
  1715.   If WindowsVersion < [MinimumWinVersion]
  1716.     [WinVersionSummary] := WindowsVersion (need at least [MinimumWinVersion])
  1717.     [InsufficientSystem] := YesCharacter
  1718.   Else
  1719.     [WinVersionSummary] := WindowsVersion
  1720.   EndIf
  1721.   If ExtendedMemoryPresent < [MinExtMemoryRequired]
  1722.     [ExtMemorySummary] := ExtendedMemoryPresentK (need at least [MinExtMemoryRequired]K)
  1723.     [InsufficientSystem] := YesCharacter
  1724.   Else
  1725.     [ExtMemorySummary] := ExtendedMemoryPresentK
  1726.   EndIf
  1727.   If MainMemoryPresent < [MinMemRequiredPresent]
  1728.     [SystemMemorySummary] := MainMemoryK (need at least [MinMemRequiredPresent]K)
  1729.     [InsufficientSystem] := YesCharacter
  1730.   Else
  1731.     [SystemMemorySummary] := MainMemoryK
  1732.   EndIf
  1733.   If 808X
  1734.     If [Allow808X] = YesCharacter
  1735.       [CPUTypeSummary] := 808x
  1736.     Else
  1737.       [CPUTypeSummary] := 808x (not compatible with [ProductName])
  1738.       [InsufficientSystem] := YesCharacter
  1739.     EndIf
  1740.   EndIf
  1741.   If 80286
  1742.     [CPUTypeSummary] := 80286
  1743.   EndIf
  1744.   If 80386
  1745.     [CPUTypeSummary] := 80386
  1746.   EndIf
  1747.   If 80486
  1748.     [CPUTypeSummary] := 80486
  1749.   EndIf
  1750.   If [CPUTypeSummary] = BlankString
  1751.     [CPUTypeSummary] := 808x
  1752.   EndIf
  1753.   If MicroChannel
  1754.     [CPUTypeSummary] := [CPUTypeSummary] (in MicroChannel Architecture)
  1755.   Else
  1756.     [CPUTypeSummary] := [CPUTypeSummary] (ISA or EISA Architecture)
  1757.   EndIf
  1758.   If CGA
  1759.     If [AllowCGA] = YesCharacter
  1760.       [DisplayAdapterSummary] := CGA
  1761.     Else
  1762.       [DisplayAdapterSummary] := CGA (not compatible with [ProductName])
  1763.       [InsufficientSystem] := YesCharacter
  1764.     EndIf
  1765.   EndIf
  1766.   If EGA
  1767.     If [AllowEGA] = YesCharacter
  1768.       [DisplayAdapterSummary] := EGA
  1769.     Else
  1770.       [DisplayAdapterSummary] := EGA (not compatible with [ProductName])
  1771.       [InsufficientSystem] := YesCharacter
  1772.     EndIf
  1773.   EndIf
  1774.   If MDA
  1775.     If [AllowMDA] = YesCharacter
  1776.       [DisplayAdapterSummary] := MDA
  1777.     Else
  1778.       [DisplayAdapterSummary] := MDA (not compatible with [ProductName])
  1779.       [InsufficientSystem] := YesCharacter
  1780.     EndIf
  1781.   EndIf
  1782.   If VGA
  1783.     [DisplayAdapterSummary] := VGA
  1784.   EndIf
  1785.   If HGC
  1786.     [DisplayAdapterSummary] := HGC
  1787.   EndIf
  1788.   If HGCPlus
  1789.     [DisplayAdapterSummary] := HGC Plus
  1790.   EndIf
  1791.   If Network
  1792.     [NetworkActive] := Network Active
  1793.   Else
  1794.     [NetworkActive] := No Network Active
  1795.   EndIf
  1796.   If Novell
  1797.     [NetworkActive] := Novell [NetworkActive]
  1798.   EndIf
  1799.   If [InstallationDirectory] <> BlankString
  1800.     [InstDriveSummary] := InstallationDrive (FreeSpaceOnDrive InstallationDrive bytes free)
  1801.   Else                    
  1802.     [InstDriveSummary] := (Not Selected)
  1803.   EndIf
  1804.   If MathCoprocessorPresent
  1805.     [MathCoprocessorStatus] := Present
  1806.   Else
  1807.     If [MathCoproRecommended] = YesCharacter
  1808.       [MathCoprocessorStatus] := Not Present But Recommended
  1809.       If [CompatNoticeGiven] = YesCharacter
  1810.       Else
  1811.     Dialog  ;; Notice if math coprocessor recommended
  1812.       [ProductName] needs a math coprocessor
  1813.       for best performance.  Your system does not
  1814.       contain one.
  1815.     EndDialog
  1816.       EndIf
  1817.     Else
  1818.       [MathCoprocessorStatus] := Not Present
  1819.     EndIf
  1820.   EndIf
  1821.  
  1822.   If [InsufficientSystem] = YesCharacter
  1823.     [String8] := (Please note the listed incompatibilities)
  1824.   EndIf
  1825.   If [NetworkInstallation] contains DisallowNetwork
  1826.     [String9] := "   (You cannot install this version on a network drive)"
  1827.   EndIf
  1828.   [CompatNoticeGiven] := YesCharacter
  1829. EndProcedure
  1830.  
  1831. Procedure InstallSamples
  1832. ;;  Do GetScreenSize
  1833.   If [InstallMode] = 0
  1834. :NewChoices
  1835.     [Number1] := [Media1Size]
  1836.     [Number2] := [Media2Size]
  1837.     [Number3] := [Media3Size]
  1838.     [Number4] := [Media4Size]
  1839.     [Number5] := [Media5Size]
  1840.     [Number6] := [Media6Size]
  1841.     [Number7] := [Media7Size]
  1842.     [Number8] := [Media8Size]
  1843.     [Number9] := [Media9Size]
  1844.     [Number10] := [Media10Size]
  1845.     If [SampleOptions] = YesCharacter
  1846.     CheckBoxDialog [InstallationDirectory] UseHeader "Screen Saver Modules"
  1847.       Instructions
  1848.         ;Select a destination directory and the screen savers you want
  1849.         ;to install.  When you are done, press OK to continue, or Cancel
  1850.         ;to return to the main menu.
  1851.       [Media1Name]
  1852.         ;[Number1]
  1853.       [Media2Name]
  1854.         ;[Number2]
  1855.       [Media3Name]
  1856.         ;[Number3]
  1857.       [Media4Name]
  1858.         ;[Number4]
  1859.       [Media5Name]
  1860.         ;[Number5]
  1861.       [Media6Name]
  1862.         ;[Number6]
  1863.       [Media7Name]
  1864.         ;[Number7]
  1865.       [Media8Name]
  1866.         ;[Number8]
  1867.       [Media9Name]
  1868.         ;[Number9]
  1869.       [Media10Name]
  1870.         ;[Number10]
  1871.     EndCheckBoxDialog
  1872.     [Number11] := [Number1]  + [Number2] + [Number3] + [Number4] + [Number5]
  1873.     [Number11] := [Number11] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
  1874.       If [Number11] = 0
  1875.     GoTo Continue
  1876.       EndIf
  1877.       [Dir1] := [InstallationDirectory]
  1878.       [InstallationDirectory] := [MediaDest]
  1879.       [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  1880.       [Number12] := FreeSpaceOnDrive [String1]
  1881.       [InstallationDirectory] := [Dir1]
  1882.  
  1883.       If [Number11] > [Number12]
  1884.     [String1] := SubstringOf [MediaDest] from 1 to 2
  1885.     MessageBox [YesOrNo1] YesNo Question
  1886.         There is insufficient space on drive [String1] for
  1887.         this installation.
  1888.  
  1889.         Try a different destination or combination of files?
  1890.     EndMessageBox
  1891.     If [YesOrNo1] = YesCharacter
  1892.         GoTo NewChoices
  1893.     Else
  1894.         ;;GoTo Continue
  1895.         Do ExitInstallation
  1896.     EndIf
  1897.       EndIf
  1898.     EndIf
  1899.  
  1900.      ;;Welcome to Jurassic Park
  1901.     If [Number1] > 0 
  1902.       [Dir1] := [InstallationDirectory]\WELCOME
  1903.       CopyFiles from [InstallFromDirectory]\WELCOME to [Dir1]
  1904.           *.*
  1905.       EndCopyFiles
  1906.       [Installed] := YesCharacter
  1907.       [WelcomeLoc] := [Dir1]
  1908.     EndIf
  1909.  
  1910.     ;;Tour
  1911.     If [Number2] > 0
  1912.           [Dir1] := [InstallationDirectory]\JP_TOUR
  1913.       CopyFiles from [InstallFromDirectory]\JP_TOUR to [Dir1]
  1914.           *.*
  1915.       EndCopyFiles
  1916.       [Installed] := YesCharacter
  1917.       [JP_TourLoc] := [Dir1]
  1918.     EndIf
  1919.  
  1920.     ;;Eyes
  1921.     If [Number3] > 0  
  1922.       [Dir1] := [InstallationDirectory]\EYES
  1923.       CopyFiles from [InstallFromDirectory]\EYES to [Dir1]
  1924.           *.*
  1925.       EndCopyFiles
  1926.       [Installed] := YesCharacter
  1927.       [EyesLoc] := [Dir1]
  1928.     EndIf
  1929.  
  1930.     ;;Hunt
  1931.     If [Number4] > 0 
  1932.     [Dir1] := [InstallationDirectory]\HUNT
  1933.     CopyFiles from [InstallFromDirectory]\HUNT to [Dir1]
  1934.         *.*
  1935.     EndCopyFiles
  1936.     [Installed] := YesCharacter
  1937.     [HuntLoc] := [Dir1]
  1938.     EndIf
  1939.  
  1940.     ;;Chase
  1941.     If [Number5] > 0 
  1942.     [Dir1] := [InstallationDirectory]\CHASE
  1943.     CopyFiles from [InstallFromDirectory]\CHASE to [Dir1]
  1944.         *.*
  1945.     EndCopyFiles
  1946.     [Installed] := YesCharacter
  1947.     [ChaseLoc] := [Dir1]
  1948.     EndIf
  1949.  
  1950.     ;;Dossier
  1951.     If [Number6] > 0
  1952.     [Dir1] := [InstallationDirectory]\DOSSIER
  1953.     CopyFiles from [InstallFromDirectory]\DOSSIER to [Dir1]
  1954.         *.*
  1955.     EndCopyFiles
  1956.     [Installed] := YesCharacter
  1957.     [DossierLoc] := [Dir1]
  1958.     EndIf
  1959.  
  1960.     ;;Dinosaur Encylopedia
  1961.     If [Number7] > 0  
  1962.     [Dir1] := [InstallationDirectory]\ENCYC
  1963.     CopyFiles from [InstallFromDirectory]\ENCYC to [Dir1]
  1964.             *.*
  1965.     EndCopyFiles
  1966.     [Installed] := YesCharacter
  1967.     [EncycLoc] := [Dir1]
  1968.     EndIf
  1969.  
  1970.     ;;Operations Module
  1971.     If [Number8] > 0  
  1972.     [Dir1] := [InstallationDirectory]\OPRTNS
  1973.     CopyFiles from [InstallFromDirectory]\OPRTNS to [Dir1]
  1974.         *.*
  1975.     EndCopyFiles
  1976.     [Installed] := YesCharacter
  1977.     [OperationsLoc] := [Dir1]
  1978.     EndIf
  1979.  
  1980.     ;;Lost in JP
  1981.     If [Number9] > 0  
  1982.           [Dir1] := [InstallationDirectory]\LOST
  1983.       CopyFiles from [InstallFromDirectory]\LOST to [Dir1]
  1984.           *.*
  1985.       EndCopyFiles
  1986.       [Installed] := YesCharacter
  1987.       [LostLoc] := [Dir1]
  1988.     EndIf
  1989.  
  1990.     ;;Slide show
  1991.     If [Number10] > 0
  1992.     [Dir1] := [InstallationDirectory]\SLIDES
  1993.     CopyFiles from [InstallFromDirectory]\SLIDES to [Dir1]
  1994.         *.*
  1995.     EndCopyFiles
  1996.     [Installed] := YesCharacter
  1997.     [SlideLoc] := [Dir1]
  1998.     EndIf
  1999.  
  2000.   EndIf
  2001.   If [InstallMode] = 1
  2002. :NewChoices2
  2003.     [Number1] := [Media1Size]
  2004.     [Number2] := [Media2Size]
  2005.     [Number3] := [Media3Size]
  2006.     [Number4] := [Media4Size]
  2007.     [Number5] := [Media5Size]
  2008.     [Number10] := [Media10Size]
  2009.     If [SampleOptions] = YesCharacter
  2010.       CheckBoxDialog [InstallationDirectory] UseHeader "Sample File Options"
  2011.     Instructions
  2012.         ;Select a destination directory and the modules you want
  2013.         ;to install.  When you are done, click OK to continue, or Cancel
  2014.         ;to return to the main setup dialog box.
  2015.     [Media1Name]
  2016.         ;[Number1]
  2017.     [Media2Name]
  2018.         ;[Number2]
  2019.     [Media3Name]
  2020.         ;[Number3]
  2021.     [Media4Name]
  2022.         ;[Number4]
  2023.     [Media5Name]
  2024.         ;[Number5]
  2025.       EndCheckBoxDialog
  2026.       [Number11] := [Number1]  + [Number2] + [Number3] + [Number4] + [Number5]
  2027.       If [Number11] = 0
  2028.         [Installed] := NoCharacter
  2029.     GoTo Continue
  2030.       EndIf
  2031.       [Dir1] := [InstallationDirectory]
  2032.       [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  2033.       [Number12] := FreeSpaceOnDrive [String1]
  2034.       [InstallationDirectory] := [Dir1]
  2035.       If [Number11] > [Number12]
  2036.     [String1] := SubstringOf [MediaDest] from 1 to 2
  2037.     MessageBox [YesOrNo1] YesNo Question
  2038.         There is insufficient space on drive [String1] for
  2039.         this installation.
  2040.  
  2041.         Try a different destination or combination of files?
  2042.     EndMessageBox
  2043.     If [YesOrNo1] = YesCharacter
  2044.         GoTo NewChoices2
  2045.     Else
  2046.         ;;GoTo Continue
  2047.         Do ExitInstallation
  2048.     EndIf
  2049.       EndIf
  2050.     EndIf
  2051.     If [Number1] > 0
  2052.       [WelcomeLoc] := [InstallationDirectory]\WELCOME
  2053.       QueFileGroup [Media1Group] to [WelcomeLoc]
  2054.       GetQuedFiles [ExtractionOptions]
  2055.       [Installed] := YesCharacter
  2056.     EndIf
  2057.     If [Number2] > 0
  2058.       [JP_TourLoc] := [InstallationDirectory]\JP_TOUR
  2059.       QueFileGroup [Media2Group] to [JP_TourLoc]
  2060.       GetQuedFiles [ExtractionOptions]
  2061.       [Installed] := YesCharacter
  2062.     EndIf
  2063.     If [Number3] > 0
  2064.       [EyesLoc] := [InstallationDirectory]\EYES
  2065.       QueFileGroup [Media3Group] to [EyesLoc]
  2066.       GetQuedFiles [ExtractionOptions]
  2067.       [Installed] := YesCharacter
  2068.     EndIf
  2069.     If [Number4] > 0
  2070.       [HuntLoc] := [InstallationDirectory]\HUNT
  2071.       QueFileGroup [Media4Group] to [HuntLoc]
  2072.       GetQuedFiles [ExtractionOptions]
  2073.       [Installed] := YesCharacter
  2074.     EndIf
  2075.     If [Number5] > 0
  2076.       [ChaseLoc] := [InstallationDirectory]\CHASE
  2077.       QueFileGroup [Media5Group] to [ChaseLoc]
  2078.       GetQuedFiles [ExtractionOptions]
  2079.       [Installed] := YesCharacter
  2080.     EndIf
  2081.     ;;Install Shared Media to reduce disk swapping
  2082.     If [Number1] > 0
  2083.       QueFiles to [WelcomeLoc]
  2084.         BAK8X608.GIF
  2085.         REED.WAV
  2086.       EndQueFiles
  2087.       GetQuedFiles [ExtractionOptions]
  2088.     EndIf
  2089.     If [Number3] > 0
  2090.       QueFiles to [EyesLoc]
  2091.         BAK8X608*.GIF
  2092.         INDBUSH.WAV
  2093.         REED.WAV
  2094.       EndQueFiles
  2095.       GetQuedFiles [ExtractionOptions]
  2096.     EndIf
  2097.     If [Number4] > 0
  2098.       QueFiles to [HuntLoc]
  2099.         INDBUSH.WAV
  2100.       EndQueFiles
  2101.       GetQuedFiles [ExtractionOptions]
  2102.     EndIf
  2103.   EndIf
  2104. EndProcedure
  2105.  
  2106. ;;**** If Screen saver exes are not on system, then queue them for installation
  2107. Procedure BuildExeGroup
  2108.   SetScreenSaverActiveTo false
  2109.   QueFileGroup [Module1Groups] to [WindowsDirectory]
  2110.   QueFileGroup [Module2Groups]
  2111.   [Dir5] := [WindowsDirectory]\ad_prefs.ini
  2112.   If FileExists [Dir5]
  2113.     [Array1][1] := After Dark
  2114.     [Array1][2] := Path
  2115.     [Array1][3] := default
  2116.     [Array1][4] := [Dir5]
  2117.     GetPrivateProfileString using [Array1]
  2118.     If [Array1][5] <> default
  2119.       [AfterDarkLoc] := [Array1][5]
  2120.       If DirectoryExists [AfterDarkLoc]
  2121.         If FileExists [AfterDarkLoc]\AD.EXE
  2122.           QueFileGroup [Module3Groups] to [AfterDarkLoc]
  2123.           [ADInstalled] := YesCharacter
  2124.         EndIf
  2125.       EndIf
  2126.     EndIf
  2127.   EndIf
  2128.   [ExesInstalled] := YesCharacter
  2129. EndProcedure
  2130.  
  2131. Procedure GetSampleSize
  2132.   If [InstallMode] = 0
  2133.     [SampleSize] := [Media1Size] + [Media2Size] + [Media3Size] + [Media4Size] + [Media5Size] + [Media6Size] + [Media7Size] + [Media8Size] + [Media9Size] + [Media10Size]
  2134.   Else
  2135.     If [OEMHasSamples] = YesCharacter
  2136.       QueFileGroup [Media1Group]
  2137.       QueFileGroup [Media2Group]
  2138.       QueFileGroup [Media3Group]
  2139.       QueFileGroup [Media4Group]
  2140.       QueFileGroup [Media5Group]
  2141.       [SampleSize] := QueSize
  2142.       UnQueAllFiles
  2143.     EndIf
  2144.   EndIf
  2145. EndProcedure
  2146.  
  2147. Procedure WriteUserInfo
  2148.   If [ExesInstalled] = YesCharacter
  2149.     WriteCustomResource [UserName] [WindowsDirectory]\SCORPLAY.DLL 300 1
  2150.     WriteCustomResource [Organization] [WindowsDirectory]\SCORPLAY.DLL 300 2
  2151. ;;    WriteCustomResource [SerialNumber] [WindowsDirectory]\SCORPLAY.DLL 300 3
  2152.   EndIf
  2153. EndProcedure        
  2154.  
  2155. ;;** Delete selected screen savers that were already installed
  2156. Procedure DeleteSamples
  2157.   ;;Initialize a flag to see if anything is installed
  2158.   [YesOrNo1] := NoCharacter
  2159.   ;;If we have a location, the button is available, but not checked.
  2160.   ;;If it's not installed, we disable the checkbox.
  2161.   [Number11] := 0
  2162.   If [InstallMode] = 1
  2163.     If [WelcomeLoc] = NotInstalled
  2164.       [Number1] := 2
  2165.     Else
  2166.       [Number1] := 0
  2167.       [YesOrNo1] := YesCharacter
  2168.     EndIf
  2169.     If [JP_TourLoc] = NotInstalled
  2170.       [Number2] := 2
  2171.     Else
  2172.       [Number2] := 0
  2173.       [YesOrNo1] := YesCharacter
  2174.     EndIf
  2175.     If [EyesLoc] = NotInstalled
  2176.       [Number3] := 2
  2177.     Else
  2178.       [Number3] := 0
  2179.       [YesOrNo1] := YesCharacter
  2180.     EndIf
  2181.     If [HuntLoc] = NotInstalled
  2182.       [Number4] := 2
  2183.     Else
  2184.       [Number4] := 0
  2185.       [YesOrNo1] := YesCharacter
  2186.     EndIf
  2187.     If [ChaseLoc] = NotInstalled
  2188.       [Number5] := 2
  2189.     Else
  2190.       [Number5] := 0
  2191.       [YesOrNo1] := YesCharacter
  2192.     EndIf
  2193.   Else
  2194. ;;Initialize values for CD
  2195.     If [WelcomeLoc] = NotInstalled
  2196.       [Number1] := 2
  2197.     Else
  2198.       [Number1] := 0
  2199.       [YesOrNo1] := YesCharacter
  2200.     EndIf
  2201.     If [JP_TourLoc] = NotInstalled
  2202.       [Number2] := 2
  2203.     Else
  2204.       [Number2] := 0
  2205.       [YesOrNo1] := YesCharacter
  2206.     EndIf
  2207.     If [EyesLoc] = NotInstalled
  2208.       [Number3] := 2
  2209.     Else
  2210.       [Number3] := 0
  2211.       [YesOrNo1] := YesCharacter
  2212.     EndIf
  2213.     If [HuntLoc] = NotInstalled
  2214.       [Number4] := 2
  2215.     Else
  2216.       [Number4] := 0
  2217.       [YesOrNo1] := YesCharacter
  2218.     EndIf
  2219.     If [ChaseLoc] = NotInstalled
  2220.       [Number5] := 2
  2221.     Else
  2222.       [Number5] := 0
  2223.       [YesOrNo1] := YesCharacter
  2224.     EndIf
  2225.     If [DossierLoc] = NotInstalled
  2226.       [Number6] := 2
  2227.     Else
  2228.       [Number6] := 0
  2229.       [YesOrNo1] := YesCharacter
  2230.     EndIf
  2231.     If [EncycLoc] = NotInstalled
  2232.       [Number7] := 2
  2233.     Else
  2234.       [Number7] := 0
  2235.       [YesOrNo1] := YesCharacter
  2236.     EndIf
  2237.     If [OperationsLoc] = NotInstalled
  2238.       [Number8] := 2
  2239.     Else
  2240.       [Number8] := 0
  2241.       [YesOrNo1] := YesCharacter
  2242.     EndIf
  2243.     If [LostLoc] = NotInstalled
  2244.       [Number9] := 2
  2245.     Else
  2246.       [Number9] := 0
  2247.       [YesOrNo1] := YesCharacter
  2248.     EndIf
  2249.     If [SlideLoc] = NotInstalled
  2250.       [Number10] := 2
  2251.     Else
  2252.       [Number10] := 0
  2253.       [YesOrNo1] := YesCharacter
  2254.     EndIf
  2255.   EndIf
  2256.   ;;Store defaults to see if user selected anything
  2257.   [Number11] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
  2258.     ;;Show the dialog if at least one item is installed
  2259.     If [YesOrNo1] = YesCharacter
  2260.       If [InstallMode] = 1
  2261.         ;;Get ok or cancel in Number12 variable
  2262.         DialogResource RemoveShow returns [Number12]
  2263.           CheckBox 1000 Uses [Number1]
  2264.           CheckBox 1001 Uses [Number2]
  2265.           CheckBox 1002 Uses [Number3]
  2266.           CheckBox 1003 Uses [Number4]
  2267.           CheckBox 1004 Uses [Number5]
  2268.         EndDialogResource
  2269.       Else
  2270.         ;;Bring up CD version of dialog
  2271.         DialogResource KillShow returns [Number12]
  2272.           CheckBox 1000 Uses [Number1]
  2273.           CheckBox 1001 Uses [Number2]
  2274.           CheckBox 1002 Uses [Number3]
  2275.           CheckBox 1003 Uses [Number4]
  2276.           CheckBox 1004 Uses [Number5]
  2277.           CheckBox 1005 Uses [Number6]
  2278.           CheckBox 1006 Uses [Number7]
  2279.           CheckBox 1007 Uses [Number8]
  2280.           CheckBox 1008 Uses [Number9]
  2281.           CheckBox 1009 Uses [Number10]
  2282.         EndDialogResource
  2283.       EndIf
  2284.       ClearScreen
  2285.     Else
  2286.     MessageBox Information
  2287.       No Jurassic Park screen saver modules are installed on your system.
  2288.     EndMessageBox
  2289.     Exit
  2290.   EndIf
  2291.   ;;Make sure they OK'd the dialog and actually choose items.
  2292.   If [Number12] = 1
  2293.    [Number13] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
  2294.    If [Number13] > [Number11]
  2295.       MessageBox [YesOrNo1] YesNo Question
  2296.     This will delete all files in the directories where the selected
  2297.     shows reside.  Are you sure you want to continue with this operation?
  2298.       EndMessageBox
  2299.     If [YesOrNo1] = YesCharacter
  2300.     ;;Mercilessly Delete the shows they chose.
  2301.     ;;Display a window to show prgress
  2302.     OpenCopyWindow
  2303.       If [InstallMode] = 1
  2304.         If [Number1] = 1
  2305.           DeleteFiles from [WelcomeLoc] quietly
  2306.            *.*
  2307.           EndDeleteFiles
  2308.           If FileExists [WelcomeLoc]\*.*
  2309.           Else
  2310.             DeleteDirectory [WelcomeLoc]
  2311.           EndIf
  2312.           [WelcomeLoc] := NotInstalled
  2313.         EndIf
  2314.         If [Number2] = 1
  2315.           DeleteFiles from [JP_TourLoc] quietly
  2316.         *.*
  2317.       EndDeleteFiles
  2318.       If FileExists [JP_TourLoc]\*.*
  2319.       Else
  2320.         DeleteDirectory [JP_TourLoc]
  2321.       EndIf
  2322.       [JP_TourLoc] := NotInstalled
  2323.         EndIf
  2324.         If [Number3] = 1
  2325.       DeleteFiles from [EyesLoc] quietly
  2326.         *.*
  2327.       EndDeleteFiles
  2328.       If FileExists [EyesLoc]\*.*
  2329.       Else
  2330.         DeleteDirectory [EyesLoc]
  2331.       EndIf
  2332.       [EyesLoc] := NotInstalled
  2333.         EndIf
  2334.         If [Number4] = 1
  2335.       DeleteFiles from [HuntLoc] quietly
  2336.         *.*
  2337.       EndDeleteFiles
  2338.       If FileExists [HuntLoc]\*.*
  2339.       Else
  2340.         DeleteDirectory [HuntLoc]
  2341.       EndIf
  2342.       [HuntLoc] := NotInstalled
  2343.         EndIf
  2344.         If [Number5] = 1
  2345.       DeleteFiles from [ChaseLoc] quietly
  2346.         *.*
  2347.       EndDeleteFiles
  2348.       If FileExists [ChaseLoc]\*.*
  2349.       Else
  2350.         DeleteDirectory [ChaseLoc]
  2351.       EndIf
  2352.       [ChaseLoc] := NotInstalled
  2353.         EndIf
  2354.         [Installed] := YesCharacter
  2355.         CloseCopyWindow
  2356.       Else
  2357.         ;;Delete CD modules
  2358.         If [Number1] = 1
  2359.           DeleteFiles from [WelcomeLoc] quietly
  2360.            *.*
  2361.           EndDeleteFiles
  2362.           If FileExists [WelcomeLoc]\*.*
  2363.           Else
  2364.             DeleteDirectory [WelcomeLoc]
  2365.           EndIf
  2366.           [WelcomeLoc] := NotInstalled
  2367.         EndIf
  2368.         If [Number2] = 1
  2369.       DeleteFiles from [JP_TourLoc] quietly
  2370.         *.*
  2371.       EndDeleteFiles
  2372.       If FileExists [JP_TourLoc]\*.*
  2373.       Else
  2374.         DeleteDirectory [JP_TourLoc]
  2375.       EndIf
  2376.       [JP_TourLoc] := NotInstalled
  2377.         EndIf
  2378.         [Installed] := YesCharacter
  2379.         CloseCopyWindow
  2380.          If [Number3] = 1
  2381.           DeleteFiles from [EyesLoc] quietly
  2382.            *.*
  2383.           EndDeleteFiles
  2384.           If FileExists [EyesLoc]\*.*
  2385.           Else
  2386.             DeleteDirectory [EyesLoc]
  2387.           EndIf
  2388.           [EyesLoc] := NotInstalled
  2389.         EndIf
  2390.         If [Number4] = 1
  2391.           DeleteFiles from [HuntLoc] quietly
  2392.         *.*
  2393.       EndDeleteFiles
  2394.       If FileExists [HuntLoc]\*.*
  2395.       Else
  2396.         DeleteDirectory [HuntLoc]
  2397.       EndIf
  2398.       [HuntLoc] := NotInstalled
  2399.         EndIf
  2400.         If [Number5] = 1
  2401.       DeleteFiles from [ChaseLoc] quietly
  2402.         *.*
  2403.       EndDeleteFiles
  2404.       If FileExists [ChaseLoc]\*.*
  2405.       Else
  2406.         DeleteDirectory [ChaseLoc]
  2407.       EndIf
  2408.       [ChaseLoc] := NotInstalled
  2409.         EndIf
  2410.         If [Number6] = 1
  2411.           DeleteFiles from [DossierLoc] quietly
  2412.         *.*
  2413.       EndDeleteFiles
  2414.       If FileExists [DossierLoc]\*.*
  2415.       Else
  2416.         DeleteDirectory [DossierLoc]
  2417.       EndIf
  2418.       [DossierLoc] := NotInstalled
  2419.         EndIf
  2420.         If [Number7] = 1
  2421.       DeleteFiles from [EncycLoc] quietly
  2422.         *.*
  2423.       EndDeleteFiles
  2424.       If FileExists [EncycLoc]\*.*
  2425.       Else
  2426.         DeleteDirectory [EncycLoc]
  2427.       EndIf
  2428.       [EncycLoc] := NotInstalled
  2429.         EndIf
  2430.         If [Number8] = 1
  2431.       DeleteFiles from [OperationsLoc] quietly
  2432.         *.*
  2433.       EndDeleteFiles
  2434.       If FileExists [OperationsLoc]\*.*
  2435.       Else
  2436.         DeleteDirectory [OperationsLoc]
  2437.       EndIf
  2438.       [OperationsLoc] := NotInstalled
  2439.         EndIf
  2440.         If [Number9] = 1
  2441.       DeleteFiles from [LostLoc] quietly
  2442.         *.*
  2443.       EndDeleteFiles
  2444.       If FileExists [LostLoc]\*.*
  2445.       Else
  2446.         DeleteDirectory [LostLoc]
  2447.       EndIf
  2448.       [LostLoc] := NotInstalled
  2449.         EndIf
  2450.         If [Number10] = 1
  2451.       DeleteFiles from [SlideLoc] quietly
  2452.         *.*
  2453.       EndDeleteFiles
  2454.       If FileExists [SlideLoc]\*.*
  2455.       Else
  2456.         DeleteDirectory [SlideLoc]
  2457.       EndIf
  2458.       [SlideLoc] := NotInstalled
  2459.         EndIf
  2460.         [Installed] := YesCharacter
  2461.         CloseCopyWindow
  2462.       EndIf
  2463.     Else
  2464.       GoTo Continue
  2465.     EndIf
  2466.    EndIf
  2467.  EndIf
  2468. EndProcedure
  2469.  
  2470. ;;** Installs wall paper files
  2471. Procedure InstallWallpaper
  2472.   [WallpaperLoc] := [InstallationDirectory]\WALLPAPR
  2473.   If [InstallMode] = 0
  2474.     [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  2475.     [Number1] := FreeSpaceOnDrive [String1]
  2476.     [Number2] := [WallpaperSize]
  2477.     If [Number1] < [Number2]
  2478.       MessageBox Exclamation
  2479.         There is not enough available disk space 
  2480.         to install the wallpaper files.
  2481.       EndMessageBox
  2482.       [DoWallpaper] := NoCharacter
  2483.       Exit
  2484.     Else
  2485.       CopyFiles from [InstallFromDirectory]\WALLPAPR to [WallpaperLoc]
  2486.         *.BMP
  2487.       EndCopyFiles
  2488.     EndIf
  2489.   Else
  2490.     QueFileGroup [WallpaperGroup] to [WallpaperLoc]
  2491.     [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  2492.     [Number1] := FreeSpaceOnDrive [String1]
  2493.     [Number2] := QueSize
  2494.     If [Number1] < [Number2]
  2495.       MessageBox Exclamation
  2496.         There is not enough available disk space 
  2497.         to install the wallpaper files.
  2498.       EndMessageBox
  2499.       UnQueAllFiles
  2500.       [DoWallpaper] := NoCharacter
  2501.       Exit
  2502.     Else
  2503.       GetQuedFiles [ExtractionOptions]
  2504.     EndIf
  2505.   EndIf
  2506.   [Installed] := YesCharacter
  2507. EndProcedure
  2508.  
  2509. ;;** Installs system sound files
  2510. Procedure InstallSounds
  2511.   [SoundLoc] := [InstallationDirectory]\SOUNDS
  2512.   If [InstallMode] = 0
  2513.     [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  2514.     [Number1] := FreeSpaceOnDrive [String1]
  2515.     [Number2] := [SoundSize]
  2516.     If [Number1] < [Number2]
  2517.       MessageBox Exclamation
  2518.         There is not enough available disk space 
  2519.         to install the system sound files.
  2520.       EndMessageBox
  2521.       [DoSounds] := NoCharacter
  2522.       Exit
  2523.     Else
  2524.       CopyFiles from [InstallFromDirectory]\SOUNDS to [SoundLoc]
  2525.         *.WAV
  2526.       EndCopyFiles
  2527.     EndIf
  2528.   Else
  2529.     QueFileGroup [SoundsGroup] to [SoundLoc]
  2530.     [String1] := SubstringOf [InstallationDirectory] from 1 to 1
  2531.     [Number1] := FreeSpaceOnDrive [String1]
  2532.     [Number2] := QueSize
  2533.     If [Number1] < [Number2]
  2534.       MessageBox Exclamation
  2535.         There is not enough available disk space 
  2536.         to install the system sound files.
  2537.       EndMessageBox
  2538.       UnQueAllFiles
  2539.       [DoSounds] := NoCharacter
  2540.       Exit
  2541.     Else
  2542.       GetQuedFiles [ExtractionOptions]
  2543.     EndIf
  2544.   EndIf
  2545.   [Installed] := YesCharacter
  2546. EndProcedure
  2547.  
  2548. Procedure FindOldSamples
  2549. ;;Read the .INI file to find which files we've installed to disk.
  2550.     [Array1][1] := paths
  2551.     [Array1][2] := Chase
  2552.     [Array1][3] := default 
  2553.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2554.     GetPrivateProfileString Using [Array1]
  2555.     If [Array1][5] = default
  2556.        [ChaseLoc] := NotInstalled
  2557.     Else
  2558.            [ChaseLoc] := NotInstalled
  2559.            If DirectoryExists [Array1][5]
  2560.              If FileExists [Array1][5]\*.*
  2561.                   [ChaseLoc] := [Array1][5]
  2562.              EndIf
  2563.            EndIf           
  2564.     EndIf
  2565.     [Array1][1] := paths
  2566.     [Array1][2] := Dossier
  2567.     [Array1][3] := default 
  2568.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2569.     GetPrivateProfileString Using [Array1]
  2570.     If [Array1][5] = default
  2571.        [DossierLoc] := NotInstalled
  2572.     Else
  2573.            [DossierLoc] := NotInstalled
  2574.            If DirectoryExists [Array1][5]
  2575.              If FileExists [Array1][5]\*.*
  2576.                   [DossierLoc] := [Array1][5]
  2577.              EndIf
  2578.            EndIf           
  2579.     EndIf
  2580.     [Array1][1] := paths
  2581.     [Array1][2] := Operations
  2582.     [Array1][3] := default 
  2583.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2584.     GetPrivateProfileString Using [Array1]
  2585.     If [Array1][5] = default
  2586.        [OperationsLoc] := NotInstalled
  2587.     Else
  2588.            [OperationsLoc] := NotInstalled
  2589.            If DirectoryExists [Array1][5]
  2590.              If FileExists [Array1][5]\*.*
  2591.                   [OperationsLoc] := [Array1][5]
  2592.              EndIf
  2593.            EndIf           
  2594.     EndIf
  2595.     [Array1][1] := paths
  2596.     [Array1][2] := Encyc
  2597.     [Array1][3] := default 
  2598.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2599.     GetPrivateProfileString Using [Array1]
  2600.     If [Array1][5] = default
  2601.        [EncycLoc] := NotInstalled
  2602.     Else
  2603.            [EncycLoc] := NotInstalled
  2604.            If DirectoryExists [Array1][5]
  2605.              If FileExists [Array1][5]\*.*
  2606.                   [EncycLoc] := [Array1][5]
  2607.              EndIf
  2608.            EndIf           
  2609.     EndIf
  2610.     [Array1][1] := paths
  2611.     [Array1][2] := Lost
  2612.     [Array1][3] := default 
  2613.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2614.     GetPrivateProfileString Using [Array1]
  2615.     If [Array1][5] = default
  2616.        [LostLoc] := NotInstalled
  2617.     Else
  2618.            [LostLoc] := NotInstalled
  2619.            If DirectoryExists [Array1][5]
  2620.              If FileExists [Array1][5]\*.*
  2621.                   [LostLoc] := [Array1][5]
  2622.              EndIf
  2623.            EndIf           
  2624.     EndIf
  2625.     [Array1][1] := paths
  2626.     [Array1][2] := Eyes
  2627.     [Array1][3] := default 
  2628.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2629.     GetPrivateProfileString Using [Array1]
  2630.     If [Array1][5] = default
  2631.        [EyesLoc] := NotInstalled
  2632.     Else
  2633.            [EyesLoc] := NotInstalled
  2634.            If DirectoryExists [Array1][5]
  2635.              If FileExists [Array1][5]\*.*
  2636.                   [EyesLoc] := [Array1][5]
  2637.              EndIf
  2638.  
  2639.            EndIf           
  2640.     EndIf
  2641.     [Array1][1] := paths
  2642.     [Array1][2] := Hunt
  2643.     [Array1][3] := default 
  2644.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2645.     GetPrivateProfileString Using [Array1]
  2646.     If [Array1][5] = default
  2647.        [HuntLoc] := NotInstalled
  2648.     Else
  2649.            [HuntLoc] := NotInstalled
  2650.            If DirectoryExists [Array1][5]
  2651.              If FileExists [Array1][5]\*.*
  2652.                   [HuntLoc] := [Array1][5]
  2653.              EndIf
  2654.            EndIf           
  2655.     EndIf
  2656.     [Array1][1] := paths
  2657.     [Array1][2] := JP_Tour
  2658.     [Array1][3] := default 
  2659.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2660.     GetPrivateProfileString Using [Array1]
  2661.     If [Array1][5] = default
  2662.        [JP_TourLoc] := NotInstalled
  2663.     Else
  2664.            [JP_TourLoc] := NotInstalled
  2665.            If DirectoryExists [Array1][5]
  2666.              If FileExists [Array1][5]\*.*
  2667.                   [JP_TourLoc] := [Array1][5]
  2668.              EndIf
  2669.            EndIf           
  2670.     EndIf
  2671.     [Array1][1] := paths
  2672.     [Array1][2] := Welcome
  2673.     [Array1][3] := default 
  2674.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2675.     GetPrivateProfileString Using [Array1]
  2676.     If [Array1][5] = default
  2677.        [WelcomeLoc] := NotInstalled
  2678.     Else
  2679.            [WelcomeLoc] := NotInstalled
  2680.            If DirectoryExists [Array1][5]
  2681.              If FileExists [Array1][5]\*.*
  2682.                   [WelcomeLoc] := [Array1][5]
  2683.              EndIf
  2684.            EndIf           
  2685.  
  2686.     EndIf
  2687.     [Array1][1] := paths
  2688.     [Array1][2] := Slides
  2689.     [Array1][3] := default 
  2690.     [Array1][4] := [WindowsDirectory]\jpsaver.ini
  2691.     GetPrivateProfileString Using [Array1]
  2692.     If [Array1][5] = default
  2693.        [SlideLoc] := NotInstalled
  2694.     Else
  2695.            [SlideLoc] := NotInstalled
  2696.            If DirectoryExists [Array1][5]
  2697.              If FileExists [Array1][5]\*.*
  2698.                   [SlideLoc] := [Array1][5]
  2699.              EndIf
  2700.            EndIf           
  2701.     EndIf
  2702. EndProcedure  
  2703.  
  2704. ;; *** SetResolution
  2705. ;; set the global screen resolution variable
  2706. Procedure SetResolution
  2707. ;;    [ScreenResolution] := 6
  2708. ;;    If VGA
  2709. ;;      [ScreenResolution] := 6
  2710. ;;    EndIf
  2711. ;;    If SVGA
  2712. ;;      [ScreenResolution] := 8
  2713. ;;    EndIf
  2714. ;;    If HIRES
  2715. ;;      [ScreenResolution] := 1
  2716. ;;    EndIf
  2717. ;;  If [ScreenResolution] = 6
  2718. ;;      [Number8] := 1
  2719. ;;      [Number9] := 0
  2720. ;;      [Number10] := 0
  2721. ;;  EndIf
  2722. ;;  If [ScreenResolution] = 8
  2723. ;;    [Number8] := 0
  2724. ;;    [Number9] := 1
  2725. ;;    [Number10] := 0
  2726. ;;  EndIf
  2727. ;;  If [ScreenResolution] = 1
  2728. ;;    [Number8] := 0
  2729. ;;    [Number9] := 0
  2730. ;;    [Number10] := 1
  2731. ;;  EndIf
  2732. ;;  ;;Call the dialog
  2733. ;;  DialogResource ScreenResolution Returns [Number1]
  2734. ;;    CheckBox 1000 Uses [Number8]
  2735. ;;    CheckBox 1001 Uses [Number9]
  2736. ;;    CheckBox 1002 Uses [Number10]
  2737. ;;  EndDialogResource
  2738. ;;  ClearScreen
  2739. ;;  If [Number1] = 1
  2740. ;;    If [Number8] = 1
  2741. ;;      [ScreenResolution] := 6
  2742. ;;    EndIf
  2743. ;;    If [Number9] = 1
  2744. ;;      [ScreenResolution] := 8
  2745. ;;    EndIf
  2746. ;;    If [Number10] = 1
  2747. ;;      [ScreenResolution] := 1
  2748. ;;    EndIf
  2749. ;;  Else
  2750. ;;     Do ExitInstallation
  2751. ;;  EndIf
  2752.   [ScreenResolution] := 6
  2753.   [Number1] := MaxX
  2754.   If [Number1] = 640
  2755.     [ScreenResolution] := 6
  2756.   EndIf
  2757.   If [Number1] = 800
  2758.     [ScreenResolution] := 8
  2759.   EndIf
  2760.   If [Number1] = 1024
  2761.     [ScreenResolution] := 1
  2762.   EndIf
  2763. EndProcedure
  2764.