home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Jurassic Park - The Screenraver
/
JPSSCD.zip
/
JPSSCD
/
JPCD.INF
next >
Wrap
INI File
|
1994-02-22
|
85KB
|
2,764 lines
;; SETUP SCRIPT TEMPLATE FILE DIGTHTR.INF
;; Compatible with: INSTALIT/W version 3.0 and higher
;; Shipped as script version 1.0
;; Designed for general use with products offering three optional
;; modules and possibly requiring basic changes to AUTOEXEC.BAT
;; and/or CONFIG.SYS. Reads a Script Data File in order to adapt
;; to the job at hand.
DefineVariables
Directory [SDFFileName] := JPCD.SDF
;; following variables are initialized from external Script Data File
SDF Text [CompanyName]
SDF Text [ProductName]
SDF Directory [DefaultInstallationDir]
SDF Text [ModifyMode]
SDF Directory [ReadmeFileName]
SDF Logical [InquireSysFileLocation]
SDF Logical [AskBeforeFileReplace]
SDF Number [InstallMode]
SDF Text [MinimumOSVersion]
SDF Text [MinimumWinVersion]
SDF Number [MinMemRequiredPresent]
SDF Number [MinExtMemoryRequired]
SDF Text [InstallingLanguage]
SDF Logical [AllowCGA]
SDF Logical [AllowEGA]
SDF Logical [AllowMDA]
SDF Logical [Allow808x]
SDF Logical [Allow80286]
SDF Logical [MathCoproRecommended]
SDF Logical [FixedDiskRequired]
SDF Text [NetWorkInstallation]
SDF Text [PopupBorder]
SDF Text [Module1Name]
SDF Text [Module1Groups]
SDF Text [Module2Name]
SDF Text [Module2Groups]
SDF Text [Module3Name]
SDF Text [Module3Groups]
SDF Text [Module4Name]
SDF Text [Module4Groups]
SDF Text [Module5Name]
SDF Text [Module5Groups]
SDF Text [Module6Name]
SDF Text [Module6Groups]
SDF Text [Module7Name]
SDF Text [Media1Group]
SDF Text [Media2Group]
SDF Text [Media3Group]
SDF Text [Media4Group]
SDF Text [Media5Group]
SDF Text [Media6Group]
SDF Text [Media7Group]
SDF Text [Media8Group]
SDF Text [Media9Group]
SDF Text [Media10Group]
SDF Text [WallpaperGroup]
SDF Text [SoundsGroup]
SDF Text [SharedGroup]
SDF Text [Media1Name]
SDF Text [Media2Name]
SDF Text [Media3Name]
SDF Text [Media4Name]
SDF Text [Media5Name]
SDF Text [Media6Name]
SDF Text [Media7Name]
SDF Text [Media8Name]
SDF Text [Media9Name]
SDF Text [Media10Name]
SDF Number [Media1Size]
SDF Number [Media2Size]
SDF Number [Media3Size]
SDF Number [Media4Size]
SDF Number [Media5Size]
SDF Number [Media6Size]
SDF Number [Media7Size]
SDF Number [Media8Size]
SDF Number [Media9Size]
SDF Number [Media10Size]
SDF Number [DriverSize]
SDF Number [SharedSize]
SDF Number [WallpaperSize]
SDF Number [SoundSize]
SDF Text [FullDesc]
SDF Text [FullDesc2]
SDF Text [CustomDesc]
SDF Text [CustomDesc2]
SDF Text [ReplaceDesc]
SDF Text [MediaClipText]
SDF Text [MBInstText]
SDF Text [ExtractionOptions]
SDF Logical [OEMHasSamples]
SDF Logical [OEMHasAutoDesk]
SDF Logical [OEMHasVFW]
SDF Number [DriverDisk]
;; remaining variables are not initialized from external Script Data File
Directory [MediaDest]
Directory [AfterDarkLoc]
Logical [Installed] := N
Text [DisplayAdapterSummary]
Text [CPUTypeSummary]
Text [NetworkActive]
Text [MathCoprocessorStatus]
Text [InstDriveSummary]
Text [OSVersionSummary]
Text [WinVersionSummary]
Text [SystemMemorySummary]
Text [ExtMemorySummary]
Text [UserName]
Text [Organization]
Text [SerialNumber]
Text [ScreenResolution]
Text [ChaseLoc]
Text [OperationsLoc]
Text [DossierLoc]
Text [EncycLoc]
Text [EyesLoc]
Text [LostLoc]
Text [HuntLoc]
Text [JP_TourLoc]
Text [SlideLoc]
Text [WelcomeLoc]
Text [WallpaperLoc]
Text [SoundLoc]
Text [SelectedModule]
Number [FilterQue] := 0
Number [ArtAndMediaQue] := 0
Number [TemplateQue] := 0
Number [ExeSize] := 0
Number [SampleSize] := 0
Number [SpaceRequired] := 0
Number [NewMRUs] := 0
Number [OldMRUs] := 0
Number [TotalSize] := 0
Logical [DoSamples] := NoCharacter
Logical [SampleOptions] := NoCharacter
Logical [RemoveSamples] := NoCharacter
Logical [DoWallpaper] := NoCharacter
Logical [DoDrivers] := NoCharacter
Logical [DoSounds] := NoCharacter
Logical [ExesInstalled] := NoCharacter
Logical [ADInstalled] := NoCharacter
Logical [GetOneFile] := NoCharacter
Logical [InsufficientSystem] := NoCharacter
Logical [CompatNoticeGiven] := NoCharacter
Text [BackgroundColor] := 64 0 128 0 64 64 TopToBottom
Text [ScreenColors] := BlackOnWhite
Logical [SamplesOnCD] := NoCharacter
EndDefineVariables
;; Set up basic screen appearance since there will be a brief delay
;; before the external data is ready to use
SetMouseCursor Wait
[YesOrNo1] := IsFileInUse scorplay.dll
;;If [YesOrNo1] = NoCharacter
;; [YesOrNo1] := IsFileInUse mdiabltz.dll
;;EndIf
If [YesOrNo1] = YesCharacter
MessageBox Information
Setup has detected Asymetrix MediaBlitz running on your system.
Please end your MediaBlitz session and start Setup again.
EndMessageBox
SoLong Quietly
EndIf
Do SetupInstalit
Do PrepareSystemReport
SetReplacementInquiry On
If [CommandLine1] = -ReplaceFiles
SetReplacementInquiry Off
EndIf
If [CommandLine2] = -ReplaceFiles
SetReplacementInquiry Off
EndIf
If [CommandLine3] = -ReplaceFiles
SetReplacementInquiry Off
EndIf
If [InquireSysFileLocation] = NoCharacter
If DriveIsPresent [BootDrive] ;; if not, COMSPEC has been changed
NoSysFileConfirmation
EndIf
EndIf
If [AskBeforeFileReplace] = NoCharacter
SetReplacementInquiry Off
EndIf
;; We're ready to go now, so hide the bitmap in the middle of the screen
;; and show the one in the upper left corner.
HideBitMap 2
ShowBitMap 1 @xy(10,10)
;; This information gets written to scorplay.dll. Let's look and see if this
;; information already exists there so we can initialize the edit controls.
If FileExists [WindowsDirectory]\scorplay.dll
ReadCustomResource [UserName] [WindowsDirectory]\SCORPLAY.DLL 300 1
ReadCustomResource [Organization] [WindowsDirectory]\SCORPLAY.DLL 300 2
;; ReadCustomResource [SerialNumber] [WindowsDirectory]\SCORPLAY.DLL 300 3
Else
[UserName] := BlankString
[Organization] := BlankString
;; [SerialNumber] := BlankString
EndIf
SetMouseCursor Arrow
:GetMoreInfo
If [UserName] = BlankString
If [Organization] = BlankString
GetUserInfo UseHeader "Introduce yourself" Instructions "Personalize your copy of the program."
Name
;[UserName]
Organization
;[Organization]
;; Serial Number
;; ;[SerialNumber]
EndGetUserInfo
EndIf
EndIf
ClearScreen
;; This is where the main menu starts. We will return here after we're done
;; with some steps, or if the user changes his mind.
:GoAgain
If [InstallationDirectory] = BlankString
;;See if we've installed before
[Array1][1] := paths
[Array1][2] := InstallRoot
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[String1] := SubstringOf [WindowsDirectory] from 1 to 1
[InstallationDirectory] := [String1]:[DefaultInstallationDir]
Else
[InstallationDirectory] := [Array1][5]
EndIf
EndIf
SetMouseCursor Arrow
;; Find out what samples have been installed
Do FindOldSamples
;;[YesOrNo5] := NoCharacter
[TotalSize] := 0
;; Find out what the user wants to do...
;; ...and then do it.
;;CD Install
If [InstallMode] = 0
GetMenuChoice Graphic Instructions "Click a button to choose the type of installation."
Minimal Installation - [FullDesc] [FullDesc2]
;express
Incremental Installation - [CustomDesc] [CustomDesc2]
;custom
Full Installation - [MediaClipText]
;media
;; File Replacement - [ReplaceDesc]
;; ;onefile
EndGetMenuChoice
ClearScreen
InCase choice is
;;install and run from CD
=1: Do BuildExeGroup
[TotalSize] := QueSize + [WallpaperSize] + [SoundSize] + [DriverSize]
[DoSamples] := NoCharacter
[SampleOptions] := NoCharacter
[DoSounds] := YesCharacter
[DoWallpaper] := YesCharacter
[DoDrivers] := YesCharacter
[SamplesOnCD] := YesCharacter
[Installed] := YesCharacter
[YesOrNo6] := YesCharacter
;;custom setup
=2: Do SelectForCustomSetup
[SamplesOnCD] := NoCharacter
;;full install to harddisk
=3: Do GetSampleSize
Do BuildExeGroup
[TotalSize] := QueSize + [SampleSize] + [WallpaperSize] + [SoundSize] + [DriverSize]
[DoSamples] := YesCharacter
[DoWallpaper] := YesCharacter
[DoSounds] := YesCharacter
[SampleOptions] := NoCharacter
[DoDrivers] := YesCharacter
[SamplesOnCD] := NoCharacter
[YesOrNo6] := YesCharacter
=4: Do ExitInstallation
EndInCase
EndIf
;;Retail Disks
If [InstallMode] = 1
GetMenuChoice Graphic Instructions "Click a button to choose the type of installation."
Incremental Installation - [CustomDesc] [CustomDesc2]
;custom
Full Installation - [MediaClipText]
;media
;; File Replacement - [ReplaceDesc]
;; ;onefile
EndGetMenuChoice
ClearScreen
InCase choice is
=1: Do SelectForCustomSetup
=2: QueAllFiles
[TotalSize] := QueSize + [SharedSize]
UnQueAllFiles
Do BuildExeGroup
[DoSamples] := YesCharacter
[SampleOptions] := NoCharacter
[DoWallpaper] := YesCharacter
[DoSounds] := YesCharacter
[DoDrivers] := YesCharacter
[SamplesOnCD] := NoCharacter
[YesOrNo6] := YesCharacter
=3: Do ExitInstallation
EndInCase
EndIf
;; Will the user be able to run this program after it is installed?
If [InsufficientSystem] = YesCharacter
MessageBox [YesOrNo1] YesNo Question
Analysis of your system has determined that it is
not compatible with the screen save program. For a complete
summary, press YesCharacter.
Do you wish to continue anyway?
EndMessageBox
If [YesOrNo1] = NoCharacter
Do ExitInstallation
Else
Do ShowSystemSummary
EndIf
EndIf
:GetDest
;; We'll default to drive of Windows directory, since in general it's safe.
If [InstallationDirectory] = BlankString
[String1] := SubstringOf [WindowsDirectory] from 1 to 1
[InstallationDirectory] := [String1]:[DefaultInstallationDir]
EndIf
;; Let's remember what it was in case the user cancels.
[Dir1] := [InstallationDirectory]
;;Prompt only if installing something
If [YesOrNo6] = YesCharacter
DialogWithBrowse [InstallationDirectory]
Setup installs Jurassic Park into the following directory that it creates
on your hard disk. To install into a different directory or drive,
type the name of the directory you want, or click Browse.
EndDialogWithBrowse
EndIf
If [InstallationDirectory] = BlankString
[InstallationDirectory] := [Dir1]
UnQueAllFiles
GoTo Continue
EndIf
If [TotalSize] > 0
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number1] := FreeSpaceOnDrive [String1]
If [TotalSize] > [Number1]
MessageBox [YesOrNo1] YesNo Question
There is insufficent space on your chosen drive to install
this option. Would you like to choose another destination?
EndMessageBox
If [YesOrNo1] = YesCharacter
[InstallationDirectory] := [Dir1]
GoTo GetDest
Else
[InstallationDirectory] := [Dir1]
UnQueAllFiles
GoTo Continue
EndIf
EndIf
EndIf
:InstallItAll
;; Install whatever got queued
GetQuedFiles [ExtractionOptions]
If [RemoveSamples] = YesCharacter
Do DeleteSamples
EndIf
If [DoSamples] = YesCharacter
Do InstallSamples
EndIf
If [DoWallpaper] = YesCharacter
Do InstallWallpaper
EndIf
If [DoSounds] = YesCharacter
Do InstallSounds
EndIf
;;Driver installation - install the ones the user selects
If [DoDrivers] = YesCharacter
Do InstallDrivers
EndIf
;;CopyFiles from [InstallFromDirectory] to [InstallationDirectory] quietly
;; readme.wri
;;EndCopyFiles
SetMouseCursor Wait
ClearScreen
;;If no files were installed, let's remove the empty directory
If DirectoryExists [InstallationDirectory]
If DirectoryIsEmpty [InstallationDirectory]
DeleteDirectory [InstallationDirectory]
EndIf
EndIf
;; Some files were selected but not installed if <> 0
If QueSize <> 0
[Installed] := NoCharacter
;; Remove files not installed from queue
UnQueAllFiles
;; Message when unable to get all necessary files
MessageBox Exclamation
Unable to successfully complete this option.
EndMessageBox
Else
If [Installed] = YesCharacter
;; If all we did was get one file, we don't want to write the INI files
;; or make a progman group.
If [GetOneFile] = NoCharacter
UpdateWindow
TextBox @xy(Center,Center)
.cWriting to initialization files.
.cOne moment...
EndTextBox
Do WriteJurassicIni
Do WriteSystemIni
Do WriteUserInfo
Do BuildProgmanIcon
ClearScreen
Else
MessageBox [YesOrNo1] YesNo Question
Would you like to return to the main menu?
EndMessageBox
If [YesOrNo1] = YesCharacter
[Installed] := NoCharacter
EndIf
EndIf
EndIf
EndIf
SetMouseCursor Arrow
:Continue
If [Installed] = YesCharacter
Do ExitInstallation
EndIf
[GetOneFile] := NoCharacter
[ExesInstalled] := NoCharacter
[ADInstalled] := NoCharacter
[DoDrivers] := NoCharacter
[DoSamples] := NoCharacter
[RemoveSamples] := NoCharacter
[SamplesOnCD] := NoCharacter
[DoWallpaper] := NoCharacter
[DoSounds] := NoCharacter
GoTo GoAgain
Procedure SetupInstalit
SetCoordinatesTo pixel
SetScreenAttrTo [ScreenColors]
LoadBitMap 1 [InstallFromDirectory]\SETUP.BMP
LoadBitMap 2 [InstallFromDirectory]\JPSETUP.BMP
ShowBitMap 2
;; These are a matter of taste. Creative services should decide about
;; these, I think.
SetBackgroundColor [BackgroundColor]
;; SetDithering Off
ShowWindow Maximized
ClearScreen
If FileExists [InstallFromDirectory]\[SDFFileName]
If VGA
[Number1] := 85
EndIf
If HIRES
[Number1] := 240
EndIf
If SVGA
[Number1] := 150
EndIf
TextBox @xy(Center,[Number1])
Getting custom information...one moment, please.
EndTextBox
ExamineTextFile [InstallFromDirectory]\[SDFFileName]
[InquireSysFileLocation] := SettingFor InquireSysFileLocation
If [InquireSysFileLocation] = NoCharacter
NoSysFileConfirmation
EndIf
;; These need to be done early.
[ProductName] := SettingFor ProductName
[DefaultTitle] := SettingFor DefaultTitle
[PopupBorder] := SettingFor PopupBorder
[ModifyMode] := SettingFor ModifyMode
SetPopupBorderTo [PopupBorder]
SetModifyModeTo [ModifyMode]
SetShadowAttrTo DarkGrayOnBlack
[InstallMode] := SettingFor InstallMode
[CompanyName] := SettingFor CompanyName
[Module1Name] := SettingFor Module1Name
[Module1Groups] := SettingFor Module1Groups
[Module2Name] := SettingFor Module2Name
[Module2Groups] := SettingFor Module2Groups
[Module3Name] := SettingFor Module3Name
[Module3Groups] := SettingFor Module3Groups
[Module4Name] := SettingFor Module4Name
[Module4Groups] := SettingFor Module4Groups
[Module5Name] := SettingFor Module5Name
[Module5Groups] := SettingFor Module5Groups
[Module6Name] := SettingFor Module6Name
[Module7Name] := SettingFor Module7Name
[Media1Group] := SettingFor Media1Group
[Media2Group] := SettingFor Media2Group
[Media3Group] := SettingFor Media3Group
[Media4Group] := SettingFor Media4Group
[Media5Group] := SettingFor Media5Group
[Media6Group] := SettingFor Media6Group
[Media7Group] := SettingFor Media7Group
[Media8Group] := SettingFor Media8Group
[Media9Group] := SettingFor Media9Group
[Media10Group] := SettingFor Media10Group
[WallpaperGroup] := SettingFor WallpaperGroup
[SoundsGroup] := SettingFor SoundsGroup
[SharedGroup] := SettingFor SharedGroup
[Media1Name] := SettingFor Media1Name
[Media2Name] := SettingFor Media2Name
[Media3Name] := SettingFor Media3Name
[Media4Name] := SettingFor Media4Name
[Media5Name] := SettingFor Media5Name
[Media6Name] := SettingFor Media6Name
[Media7Name] := SettingFor Media7Name
[Media8Name] := SettingFor Media8Name
[Media9Name] := SettingFor Media9Name
[Media10Name] := SettingFor Media10Name
[Media1Size] := SettingFor Media1Size
[Media2Size] := SettingFor Media2Size
[Media3Size] := SettingFor Media3Size
[Media4Size] := SettingFor Media4Size
[Media5Size] := SettingFor Media5Size
[Media6Size] := SettingFor Media6Size
[Media7Size] := SettingFor Media7Size
[Media8Size] := SettingFor Media8Size
[Media9Size] := SettingFor Media9Size
[Media10Size] := SettingFor Media10Size
[DriverSize] := SettingFor DriverSize
[SharedSize] := SettingFor SharedSize
[SoundSize] := SettingFor SoundSize
[WallpaperSize] := SettingFor WallpaperSize
[DriverDisk] := SettingFor DriverDisk
[InstallingVersion] := SettingFor InstallingVersion
[InstallingLanguage] := SettingFor InstallingLanguage
[FullDesc] := SettingFor FullDesc
[FullDesc2] := SettingFor FullDesc2
[CustomDesc] := SettingFor CustomDesc
[CustomDesc2] := SettingFor CustomDesc2
[ReplaceDesc] := SettingFor ReplaceDesc
[MediaRoot] := SettingFor MediaRoot
[MediaClipText] := SettingFor MediaClipText
[MBInstText] := SettingFor MBInstText
[ExtractionOptions] := SettingFor ExtractionOptions
[ReadmeFileName] := SettingFor ReadmeFileName
[AskBeforeFileReplace] := SettingFor AskBeforeFileReplace
[MinimumOSVersion] := SettingFor MinimumOSVersion
[MinimumWinVersion] := SettingFor MinimumWinVersion
[AllowCGA] := SettingFor AllowCGA
[AllowEGA] := SettingFor AllowEGA
[AllowMDA] := SettingFor AllowMDA
[Allow808x] := SettingFor Allow808X
[Allow80286] := SettingFor Allow80286
[MathCoproRecommended] := SettingFor MathCoproRecommended
[FixedDiskRequired] := SettingFor FixedDiskRequired
[NetworkInstallation] := SettingFor NetworkInstallation
[MinMemRequiredPresent] := SettingFor MinMemRequiredPresent
[MinExtMemoryRequired] := SettingFor MinExtMemoryRequired
[DefaultInstallationDir] := SettingFor DefaultInstallationDir
[OEMHasTools] := SettingFor OEMHasTools
[OEMHasSamples] := SettingFor OEMHasSamples
[OEMHasAutodesk] := SettingFor OEMHasAutodesk
[OEMHasVFW] := SettingFor OEMHasVFW
ClearScreen ;; get rid of textbox
ForgetTextFile
Else
Popup Script Data File [SDFFileName] is missing. Cannot continue.
SoLong Quietly
EndIf
EndProcedure
;;Install the autodesk and vfw drivers
Procedure InstallDrivers
;;The only option in this version is to install the VFW
;;driver. since we made it here, they've already chosen to
;;install it.
;;OEM has autodesk driver
If [OEMHasAutodesk] = YesCharacter
[Number1] := 1
Else
[Number1] := 0
EndIf
;;OEM has vfw
If [OEMHasVFW] = YesCharacter
[Number2] := 1
Else
[Number2] := 0
EndIf
;;Prompt user on which drivers to install
;;Only install VFW driver
[Number9] := 1
If [Number2] = 1
DialogResource WhichDrivers Returns [Number9]
CheckBox 1000 Uses [Number1]
CheckBox 1001 Uses [Number2]
EndDialogResource
EndIf
;;Install the driver
If [Number9] = 1
;; We'll need about 165K. Do we have enough space?
If [Number1] = 1
[Number11] := 165000
EndIf
If [Number2] = 1
[Number11] := [Number11] + 450000
EndIf
[String1] := SubstringOf [WindowsDirectory] from 1 to 1
[Number10] := FreeSpaceOnDrive [String1]
If [Number11] > [Number10]
[Number9] := [Number11] - [Number10]
[String1] := SubstringOf [WindowsDirectory] from 1 to 2
MessageBox Exclamation
There is insufficient space on drive [String1] to install
the selected driver(s).
You must free approximately [Number9] bytes on this drive,
and try installing again.
EndMessageBox
GoTo EndThis
EndIf
;;Need to copy AutoDesk driver
If [Number1] = 1
QueFileGroup [Module4Groups] to [WindowsSystemDirectory]
GetQuedFiles [ExtractionOptions]
Do WriteDriverInfo
[Installed] := YesCharacter
EndIf
If [Number2] <> 1
Exit
EndIf
Else
Exit
EndIf
;;Installing the VFW drivers from CD
If [InstallMode] = 0
If FileExists [InstallFromDirectory]\winvideo\vfwsetup.exe
ShowWindow Minimized
Run [InstallFromDirectory]\winvideo\vfwsetup.exe
ShowWindow Maximized
[Installed] := YesCharacter
EndIf
;;Otherwise, from floppy
Else
If DriveIsRemoveable [InstallFromDrive]
;; The string here "Digital Theatre Disk 4" is the string that MediaBuilder
;; put on the disk, and appears in the PVD by the NewSeries item.
;; VerifyCorrectMedia [InstallFromDrive] Asymetrix MultiMedia Screen Saver Disk [DriverDisk] filename = vfwsetup.exe
:ValidateVFW
If FileExists [InstallFromDrive]:vfwsetup.exe
ShowWindow Minimized
Run [InstallFromDrive]:vfwsetup.exe
ShowWindow Maximized
[Installed] := YesCharacter
Else
Popup Please insert disk number [DriverDisk] into drive [InstallFromDrive]:
GoTo ValidateVFW
EndIf
Else
[Dir1] := [InstallFromDirectory]
:GetDir
Dialog [Dir1] UpperCase
Please enter the location where the
files from Disk [DriverDisk] can be found.
Leave blank to exit.
EndDialog
If [Dir1] = BlankString
Exit
EndIf
If FileExists [Dir1]vfwsetup.exe
ShowWindow Minimized
Run [Dir1]vfwsetup.exe
ShowWindow Maximized
Else
[Dir2] := StrLower [Dir1]
MessageBox Exclamation
[Dir2]vfwsetup.exe is not a valid file name.
EndMessageBox
GoTo GetDir
EndIf
EndIf
EndIf
:EndThis
EndProcedure
;; This is the procedure to do the custom installation.
;; The number variables need to be initialized to the queue sizes for each
;; of the groups. Queueing the group and calling the QueSize function is
;; the only way to do this. It's OK, because it doesn't actually take much
;; time. Be aware! You cannot use an [ArrayX] variable here, only the
;; [NumberX] variable works. You cannot get return values in an [ArrayX].
;;
;; So, the dialog box will change the values of the number variables depending
;; on whether or not the checkboxes were checked. Unchecked buttons will
;; get 0 for a value, otherwise the queue size will be in the variables,
;; as when before the box came up. If the user hits cancel, the values will
;; all be 0, as if they had unchecked all the boxes.
;;
;; You can, for now, have up to 10 groups. Not many more will fit on the
;; screen in VGA. If you need more than that, talk to me (Janet Lennon)
;; and I'll see what I can do about it.
Procedure SelectForCustomSetup
;;Check All Options but delete by Default
[Number2] := 1
[Number3] := 0
[Number4] := 1
[Number5] := 1
[Number6] := 1
DialogResource InstallOptions Returns [Number1]
CheckBox 1000 Uses [Number2]
CheckBox 1001 Uses [Number3]
CheckBox 1002 Uses [Number4]
CheckBox 1003 Uses [Number5]
CheckBox 1004 Uses [Number6]
EndDialogResource
ClearScreen
[YesOrNo6] := NoCharacter
If [Number1] = 1
;;Install Screen Savers
If [Number2] = 1
Do BuildExeGroup
[ExesInstalled] := YesCharacter
[DoSamples] := YesCharacter
[SampleOptions] := YesCharacter
[YesOrNo6] := YesCharacter
EndIf
;;Remove Screen Savers
If [Number3] = 1
[RemoveSamples] := YesCharacter
EndIf
;;Install System wallpaper
If [Number4] = 1
[DoWallpaper] := YesCharacter
[YesOrNo6] := YesCharacter
EndIf
;;Install System sounds
If [Number5] = 1
[DoSounds] := YesCharacter
[YesOrNo6] := YesCharacter
EndIf
;;Install Drivers
If [Number6] = 1
[DoDrivers] := YesCharacter
EndIf
Else
GoTo Continue
EndIf
EndProcedure
Procedure WriteJurassicIni
;; Update what we installed and other options the user chose.
;; Since we initialize the location of all the modules,
;; we can write back whatever we have in those variables.
;; If [DoSamples] = YesCharacter
[Array1][1] := Paths
[Array1][2] := InstallRoot
[Array1][3] := [InstallationDirectory]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
;; EndIf
[Array1][1] := Paths
[Array1][2] := Dossier
[Array1][3] := [DossierLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Encyc
[Array1][3] := [EncycLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Operations
[Array1][3] := [OperationsLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Lost
[Array1][3] := [LostLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Eyes
[Array1][3] := [EyesLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Hunt
[Array1][3] := [HuntLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := JP_Tour
[Array1][3] := [JP_TourLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Welcome
[Array1][3] := [WelcomeLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Slides
[Array1][3] := [SlideLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Array1][1] := Paths
[Array1][2] := Chase
[Array1][3] := [ChaseLoc]
[Array1][4] := [WindowsDirectory]\jpsaver.ini
WritePrivateProfileString Using [Array1]
[Dir1] := [WindowsDirectory]\jpsaver.ini
If [ExesInstalled] = YesCharacter
[Array1][1] := ScreenSaver
[Array1][2] := EnablePassword
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := ScreenSaver
[Array1][2] := MouseDisables
[Array1][3] := 1
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := ScreenSaver
[Array1][2] := SoundDisabled
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := ScreenSaver
[Array1][2] := BackupShow
[Array1][3] := [InstallationDirectory]\default.spf
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := ScreenSaver
[Array1][2] := PasswordFile
[Array1][3] := [InstallationDirectory]\nedry.flc
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := ScreenSaver
[Array1][2] := PasswordSound
[Array1][3] := [InstallationDirectory]\nedry.wav
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
EndIf
;;setup screen resolution variable
Do SetResolution
;;Write res to JP Jr.
If [InstallMode] = 0
If FileExists [InstallationDirectory]\JPBROWSE.MMT
[String1] := Six
If [ScreenResolution] = 6
[String1] := Six
EndIf
If [ScreenResolution] = 8
[String1] := Eight
EndIf
If [ScreenResolution] = 1
[String1] := Ten
EndIf
[String2] := SubstringOf [InstallFromDirectory] from 1 to 3
[Array1][1] := Main
[Array1][2] := PrependPath
[Array1][3] := [String2]
[Array1][4] := [InstallationDirectory]\JPBROWSE.MMT
WritePrivateProfileString using [Array1]
[Array1][1] := Main
[Array1][2] := MachineType
[Array1][3] := [String1]
[Array1][4] := [InstallationDirectory]\JPBROWSE.MMT
WritePrivateProfileString using [Array1]
[Array1][1] := Extensions
[Array1][2] := mmt
[Array1][3] := [InstallFromDirectory]\MMTOUR.EXE ^.MMT
WriteProfileString using [Array1]
EndIf
EndIf
;;Add Welcome Module Names
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\WELCOME
Else
[String10] := [WelcomeLoc]
EndIf
If [String10] <> NotInstalled
If FileExists [String10]\WLCM_C[ScreenResolution].SPF
[String1] := Welcome to Jurassic Park
[String2] := [String10]\WLCM_C[ScreenResolution].SPF,0,Overture
[String3] := [String10]\LOGO_C[ScreenResolution].SPF,1,Flying Logos
[String4] := [String10]\MNTG_C[ScreenResolution].SPF,0,Montage from Jurassic Park
Else
GoTo Bail1
;;For each module that is also part of the disk version
;;we bail on writing the config info if
;;a CD specific file is not present.
EndIf
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module1
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module1
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module1
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module1
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module1
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
:Bail1
;;Add JP Tour
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\JP_TOUR
Else
[String10] := [JP_TourLoc]
EndIf
If [String10] <> NotInstalled
If FileExists [String10]\TOURA_C[ScreenResolution].SPF
[String1] := Tour of Jurassic Park
[String2] := [String10]\TOURA_C[ScreenResolution].SPF,0,Full Tour
[String3] := [String10]\TOURA_C[ScreenResolution].SPF,1,Randomize
[String4] := [String10]\TOURB_C[ScreenResolution].SPF,0,Browsing
[String5] := [String10]\TOURD_C[ScreenResolution].SPF,0,Spit Stop
[String6] := [String10]\TOURS_C[ScreenResolution].SPF,0,Something She Ate
[String7] := [String10]\TOURH_C[ScreenResolution].SPF,0,Twilight Sonata
[String8] := [String10]\TOURP_C[ScreenResolution].SPF,0,Feeding Time
[String9] := [String10]\TOURT_C[ScreenResolution].SPF,0,Tremors
[String10] := [String10]\TOURR_C[ScreenResolution].SPF,0,Objects Are Closer Than They Appear
Else
GoTo Bail2
EndIf
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
[String5] := " "
[String6] := " "
[String7] := " "
[String8] := " "
[String9] := " "
[String10] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module2
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option4
[Array1][3] := [String5]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option5
[Array1][3] := [String6]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option6
[Array1][3] := [String7]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option7
[Array1][3] := [String8]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option8
[Array1][3] := [String9]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := Option9
[Array1][3] := [String10]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module2
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
:Bail2
;;Add Dino Eyes
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\EYES
Else
[String10] := [EyesLoc]
EndIf
If [String10] <> NotInstalled
If FileExists [String10]\EYES_C[ScreenResolution].SPF
[String1] := Something's Watching
[String2] := [String10]\EYES_C[ScreenResolution].SPF,0,Something's Watching
Else
GoTo Bail3
EndIf
Else
[String1] := None
[String2] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module3
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module3
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module3
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
:Bail3
;;Add The hunt
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\HUNT
Else
[String10] := [HuntLoc]
EndIf
If [String10] <> NotInstalled
If FileExists [String10]\HUNTA_C[ScreenResolution].SPF
[String1] := The Hunt
[String2] := [String10]\HUNTA_C[ScreenResolution].SPF,0,Full Hunt
[String3] := [String10]\HUNTR_C[ScreenResolution].SPF,0,In the Bush
[String4] := [String10]\HUNTD_C[ScreenResolution].SPF,0,Peek-A-Boo
[String5] := [String10]\HUNTT_C[ScreenResolution].SPF,0,Stay Perfectly Still
[String6] := [String10]\HUNTC_C[ScreenResolution].SPF,0,Is Somebody Up There?
[String7] := [String10]\HUNTJ_C[ScreenResolution].SPF,0,Let's Go For a Spin
[String8] := [String10]\HUNTK_C[ScreenResolution].SPF,0,What's for Dinner?
Else
GoTo Bail4
EndIf
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
[String5] := " "
[String6] := " "
[String7] := " "
[String8] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module4
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option4
[Array1][3] := [String5]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option5
[Array1][3] := [String6]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option6
[Array1][3] := [String7]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := Option7
[Array1][3] := [String8]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module4
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
:Bail4
;;Add The Chase
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\CHASE
Else
[String10] := [ChaseLoc]
EndIf
If [String10] <> NotInstalled
If FileExists [String10]\CHASEAC[ScreenResolution].SPF
[String1] := The Chase
[String2] := [String10]\CHASEAC[ScreenResolution].SPF,1,Full Chase
[String3] := [String10]\CHASEFC[ScreenResolution].SPF,1,Frustration
[String4] := [String10]\CHASEKC[ScreenResolution].SPF,1,The Kill
Else
GoTo Bail5
EndIf
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module5
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module5
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module5
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module5
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module5
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
:Bail5
;; Add Dossier
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\DOSSIER
Else
[String10] := [DossierLoc]
EndIf
If [String10] <> NotInstalled
[String1] := Character Dossier
[String2] := [String10]\DOSS_[ScreenResolution].SPF,0,Character Dossier
Else
[String1] := None
[String2] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module6
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module6
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module6
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
;; Add Encyclopedia
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\ENCYC
Else
[String10] := [EncycLoc]
EndIf
If [String10] <> NotInstalled
[String1] := Jurassic Park Encyclopedia
[String2] := [String10]\ENCALL[ScreenResolution].SPF,0,Complete Reference (All)
[String3] := [String10]\SCIENCE[ScreenResolution].SPF,0,Science of Jurassic Park
[String4] := [String10]\ENCYC[ScreenResolution].SPF,0,Dinosaur Encyclopedia
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module7
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module7
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module7
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module7
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module7
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
;;Add Operations
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\OPRTNS
Else
[String10] := [OperationsLoc]
EndIf
If [String10] <> NotInstalled
[String1] := Park Operations
[String2] := [String10]\COMPO[ScreenResolution].SPF,0,Computer Operations
[String3] := [String10]\CHAOS[ScreenResolution].SPF,0,Chaos
[String4] := [String10]\HATCHA[ScreenResolution].SPF,0,Hatchery
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module8
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module8
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module8
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module8
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module8
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
;;Add Lost
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\LOST
Else
[String10] := [LostLoc]
EndIf
If [String10] <> NotInstalled
[String1] := Lost In Jurassic Park
[String2] := [String10]\LOSTA_C[ScreenResolution].SPF,1,Randomize
[String3] := [String10]\LOSTN_C[ScreenResolution].SPF,0,Nedry's Adventure
[String4] := [String10]\LOSTC_C[ScreenResolution].SPF,0,Car Trouble
[String5] := [String10]\LOSTR_C[ScreenResolution].SPF,0,Run Through the Jungle
[String6] := [String10]\LOSTM_C[ScreenResolution].SPF,0,Back In the Mix
Else
[String1] := None
[String2] := " "
[String3] := " "
[String4] := " "
[String5] := " "
[String6] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module9
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := Option2
[Array1][3] := [String3]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := Option3
[Array1][3] := [String4]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := Option4
[Array1][3] := [String5]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := Option5
[Array1][3] := [String6]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module9
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
;;Add Slide Show
If [SamplesOnCD] = YesCharacter
[String10] := [InstallFromDirectory]\SLIDES
Else
[String10] := [SlideLoc]
EndIf
If [String10] <> NotInstalled
[String1] := Slide Show
[String2] := [String10]\SHOW_C[ScreenResolution].SPF,0,Slide Show (CD)
Else
[String1] := None
[String2] := " "
EndIf
[Array1][1] := Modules
[Array1][2] := Module10
[Array1][3] := [String1]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module10
[Array1][2] := Option1
[Array1][3] := [String2]
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Module10
[Array1][2] := SelectedOption
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
If [SelectedModule] <> BlankString
[Array1][1] := Modules
[Array1][2] := SelectedModule
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
EndIf
If [DoWallpaper] = YesCharacter
[Array1][1] := WallPaper
[Array1][2] := SelectedPaper
[Array1][3] := 0
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper1
[Array1][3] := [WallpaperLoc]\browsing.bmp,[WallpaperLoc]\browsngt.bmp,Brachiosaurus Browsing
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper2
[Array1][3] := [WallpaperLoc]\flshlite.bmp,[WallpaperLoc]\flshlitt.bmp,She's Coming Back
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper3
[Array1][3] := [WallpaperLoc]\jp_logo.bmp,[WallpaperLoc]\jp_logot.bmp,Jurassic Park Logo
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper4
[Array1][3] := [WallpaperLoc]\kitchen.bmp,[WallpaperLoc]\kitchent.bmp,What's For Dinner?
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper5
[Array1][3] := [WallpaperLoc]\monitor.bmp,[WallpaperLoc]\monitort.bmp,Jurassic Park On-Line
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper6
[Array1][3] := [WallpaperLoc]\retread.bmp,[WallpaperLoc]\retreadt.bmp,Retread Hors D'Ouvres
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper7
[Array1][3] := [WallpaperLoc]\stampede.bmp,[WallpaperLoc]\stmpedet.bmp,Stampede!
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper8
[Array1][3] := [WallpaperLoc]\stings.bmp,[WallpaperLoc]\stingst.bmp,Ouch, That Stings!
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper9
[Array1][3] := [WallpaperLoc]\trapped.bmp,[WallpaperLoc]\trappedt.bmp,Trapped!
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper10
[Array1][3] := [WallpaperLoc]\twilight.bmp,[WallpaperLoc]\twilitet.bmp,Brachiasaurs at Twilight
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Wallpaper
[Array1][2] := Wallpaper11
[Array1][3] := [WallpaperLoc]\watrhole.bmp,[WallpaperLoc]\watrholt.bmp,Lake Jurassic
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
EndIf
If [DoSounds] = YesCharacter
[Array1][1] := Sounds
[Array1][2] := Sound1
[Array1][3] := [SoundLoc]\FEELTHAT.WAV,Feel that?
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound2
[Array1][3] := [SoundLoc]\HOOT.WAV,Dilophosaur Hoot
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound3
[Array1][3] := [SoundLoc]\POWER.WAV,Maybe It's the Power
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound4
[Array1][3] := [SoundLoc]\SONATA.WAV,Brachiasaur Call
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound5
[Array1][3] := [SoundLoc]\SPLAT.WAV,Splat
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound6
[Array1][3] := [SoundLoc]\STOMP.WAV,Impact Tremor
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound7
[Array1][3] := [SoundLoc]\WATISDAT.WAV,What Is That?
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound8
[Array1][3] := [SoundLoc]\NEDRY.WAV,Magic Word
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound9
[Array1][3] := [SoundLoc]\SCREAM1.WAV,Raptor Scream
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound10
[Array1][3] := [SoundLoc]\ALARMED.WAV,Getting Alarmed...
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound11
[Array1][3] := [SoundLoc]\WELCM2.WAV,Welcome to Jurassic Park
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound12
[Array1][3] := [SoundLoc]\ONLINE.WAV,I Can't Get JP Back On-Line
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound13
[Array1][3] := [SoundLoc]\TREXROAR.WAV,T-Rex Roar
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound14
[Array1][3] := [SoundLoc]\HATECOMP.WAV,I Hate Computers
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound15
[Array1][3] := [SoundLoc]\CHAOS.WAV,That's Chaos Theory
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound16
[Array1][3] := [SoundLoc]\DONTBLEV.WAV,I Don't Believe It!
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
[Array1][1] := Sounds
[Array1][2] := Sound17
[Array1][3] := [SoundLoc]\EXPECT.WAV,How Can We Possibly...
[Array1][4] := [Dir1]
WritePrivateProfileString using [Array1]
EndIf
EndProcedure
Procedure WriteSystemIni
;;Setup Digital Theater as the Screen Saver of choice.
If [ExesInstalled] = YesCharacter
[Array1][1] := Boot
[Array1][2] := SCRNSAVE.EXE
[Array1][3] := [WindowsDirectory]\JPSAVER.SCR
[Array1][4] := [WindowsDirectory]\system.ini
WritePrivateProfileString using [Array1]
SetScreenSaverActiveTo true
If [ADInstalled] := YesCharacter
[Array1][1] := After Dark
[Array1][2] := Module
[Array1][3] := "Jurassic Park"
[Array1][4] := [WindowsDirectory]\AD_PREFS.INI
EndIf
EndIf
EndProcedure
Procedure WriteDriverInfo
;; AutoDesk driver strings
[Array1][1] := mci extensions
[Array1][2] := fli
[Array1][3] := Autodesk
WriteProfileString Using [Array1]
[Array1][1] := mci extensions
[Array1][2] := flc
[Array1][3] := Autodesk
WriteProfileString Using [Array1]
[Array1][1] := mci
[Array1][2] := Autodesk
[Array1][3] := mciaap.drv
[Array1][4] := [WindowsDirectory]\system.ini
WritePrivateProfileString Using [Array1]
EndProcedure
Procedure BuildProgmanIcon
BuildProgramGroup "Main" main.grp
[WindowsDirectory]\jpsaver.exe "Jurassic Park"
EndBuildProgramGroup
BuildProgramGroup "Jurassic Park" jurassic.grp
[InstallationDirectory]\jpbrowse.mmt "Sneak Preview" [WindowsDirectory]\jpsaver.exe
[WindowsDirectory]\jpsaver.exe "Control Center"
EndBuildProgramGroup
EndProcedure
;; Here we do cleanup. If we installed anything, we modify config.sys and
;; autoexec.bat if necessary. We offer to run our product and offer to
;; browse the readme.txt.
Procedure ExitInstallation
ClearScreen
If [Installed] = YesCharacter
NoSysFileConfirmation ;; since already inquired once
If BootFilesModified
Else
MessageBox Information
No changes were necessary to
AUTOEXEC.BAT or CONFIG.SYS.
EndMessageBox
EndIf
If [ReadmeFileName] <> BlankString
MessageBox [YesOrNo1] YesNo Question ;; Ask whether to browse readme file, if any
[ReadmeFileName] contains important information.
Do you wish to read it now?
EndMessageBox
If [YesOrNo1] = YesCharacter
If FileExists [InstallationDirectory]\[ReadmeFileName]
BrowseFile [InstallationDirectory]\[ReadmeFileName]
Else
Popup Sorry, readme file [ReadMeFileName] is missing.
EndIf
EndIf
EndIf
MessageBox [YesOrNo1] YesNo Question ;; Final Farewell
Setup is now complete. To configure Jurassic Park
you can use the Desktop applet in the Windows Control
Panel or choose the Jurassic Park icon from the "Main" group
in Program Manager. Do you wish to configure your
Jurassic Park screen saver at this time?
EndMessageBox
ClearScreen
If [YesOrNo1] = YesCharacter
Run [WindowsDirectory]\jpsaver.exe
EndIf
;;Otherwise, prompt the user if they want to exit
Else
MessageBox [YesOrNo1] YesNo Question
Setup is not yet complete.
Are you sure you want to exit Setup?
EndMessageBox
;;Clear screen and cycle again if the user wants do
ClearScreen
If [YesOrNo1] = NoCharacter
Goto GoAgain
EndIf
EndIf
UnloadBitmap 1
UnloadBitmap 2
;; If [Installed] = YesCharacter
;; RestartWindows
;; EndIf
SoLong Quietly
EndProcedure
;; System summary - change with care.
Procedure ShowSystemSummary
Dialog PressAKey
.cHERE IS A SUMMARY OF YOUR SYSTEM
.c[String8] ;; notes whether any incompatibilities were found
Operating System Version: [OSVersionSummary]
Windows Version: [WinVersionSummary]
CPU Type: [CPUTypeSummary]
Display Adapter: [DisplayAdapterSummary]
Math Coprocessor: [MathCoprocessorStatus]
Main Memory Present: [SystemMemorySummary]
Extended Memory Present: [ExtMemorySummary]
Installation Drive: [InstDriveSummary]
Network: [NetworkActive]
[String9] ;; information about network suitability
EndDialog
EndProcedure
Procedure PrepareSystemReport
[InsufficientSystem] := NoCharacter
If OSVersion < [MinimumOSVersion]
[OSVersionSummary] := OSVersion (need at least [MinimumOSVersion])
[InsufficientSystem] := YesCharacter
Else
[OSVersionSummary] := OSVersion
EndIf
If WindowsVersion < [MinimumWinVersion]
[WinVersionSummary] := WindowsVersion (need at least [MinimumWinVersion])
[InsufficientSystem] := YesCharacter
Else
[WinVersionSummary] := WindowsVersion
EndIf
If ExtendedMemoryPresent < [MinExtMemoryRequired]
[ExtMemorySummary] := ExtendedMemoryPresentK (need at least [MinExtMemoryRequired]K)
[InsufficientSystem] := YesCharacter
Else
[ExtMemorySummary] := ExtendedMemoryPresentK
EndIf
If MainMemoryPresent < [MinMemRequiredPresent]
[SystemMemorySummary] := MainMemoryK (need at least [MinMemRequiredPresent]K)
[InsufficientSystem] := YesCharacter
Else
[SystemMemorySummary] := MainMemoryK
EndIf
If 808X
If [Allow808X] = YesCharacter
[CPUTypeSummary] := 808x
Else
[CPUTypeSummary] := 808x (not compatible with [ProductName])
[InsufficientSystem] := YesCharacter
EndIf
EndIf
If 80286
[CPUTypeSummary] := 80286
EndIf
If 80386
[CPUTypeSummary] := 80386
EndIf
If 80486
[CPUTypeSummary] := 80486
EndIf
If [CPUTypeSummary] = BlankString
[CPUTypeSummary] := 808x
EndIf
If MicroChannel
[CPUTypeSummary] := [CPUTypeSummary] (in MicroChannel Architecture)
Else
[CPUTypeSummary] := [CPUTypeSummary] (ISA or EISA Architecture)
EndIf
If CGA
If [AllowCGA] = YesCharacter
[DisplayAdapterSummary] := CGA
Else
[DisplayAdapterSummary] := CGA (not compatible with [ProductName])
[InsufficientSystem] := YesCharacter
EndIf
EndIf
If EGA
If [AllowEGA] = YesCharacter
[DisplayAdapterSummary] := EGA
Else
[DisplayAdapterSummary] := EGA (not compatible with [ProductName])
[InsufficientSystem] := YesCharacter
EndIf
EndIf
If MDA
If [AllowMDA] = YesCharacter
[DisplayAdapterSummary] := MDA
Else
[DisplayAdapterSummary] := MDA (not compatible with [ProductName])
[InsufficientSystem] := YesCharacter
EndIf
EndIf
If VGA
[DisplayAdapterSummary] := VGA
EndIf
If HGC
[DisplayAdapterSummary] := HGC
EndIf
If HGCPlus
[DisplayAdapterSummary] := HGC Plus
EndIf
If Network
[NetworkActive] := Network Active
Else
[NetworkActive] := No Network Active
EndIf
If Novell
[NetworkActive] := Novell [NetworkActive]
EndIf
If [InstallationDirectory] <> BlankString
[InstDriveSummary] := InstallationDrive (FreeSpaceOnDrive InstallationDrive bytes free)
Else
[InstDriveSummary] := (Not Selected)
EndIf
If MathCoprocessorPresent
[MathCoprocessorStatus] := Present
Else
If [MathCoproRecommended] = YesCharacter
[MathCoprocessorStatus] := Not Present But Recommended
If [CompatNoticeGiven] = YesCharacter
Else
Dialog ;; Notice if math coprocessor recommended
[ProductName] needs a math coprocessor
for best performance. Your system does not
contain one.
EndDialog
EndIf
Else
[MathCoprocessorStatus] := Not Present
EndIf
EndIf
If [InsufficientSystem] = YesCharacter
[String8] := (Please note the listed incompatibilities)
EndIf
If [NetworkInstallation] contains DisallowNetwork
[String9] := " (You cannot install this version on a network drive)"
EndIf
[CompatNoticeGiven] := YesCharacter
EndProcedure
Procedure InstallSamples
;; Do GetScreenSize
If [InstallMode] = 0
:NewChoices
[Number1] := [Media1Size]
[Number2] := [Media2Size]
[Number3] := [Media3Size]
[Number4] := [Media4Size]
[Number5] := [Media5Size]
[Number6] := [Media6Size]
[Number7] := [Media7Size]
[Number8] := [Media8Size]
[Number9] := [Media9Size]
[Number10] := [Media10Size]
If [SampleOptions] = YesCharacter
CheckBoxDialog [InstallationDirectory] UseHeader "Screen Saver Modules"
Instructions
;Select a destination directory and the screen savers you want
;to install. When you are done, press OK to continue, or Cancel
;to return to the main menu.
[Media1Name]
;[Number1]
[Media2Name]
;[Number2]
[Media3Name]
;[Number3]
[Media4Name]
;[Number4]
[Media5Name]
;[Number5]
[Media6Name]
;[Number6]
[Media7Name]
;[Number7]
[Media8Name]
;[Number8]
[Media9Name]
;[Number9]
[Media10Name]
;[Number10]
EndCheckBoxDialog
[Number11] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5]
[Number11] := [Number11] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
If [Number11] = 0
GoTo Continue
EndIf
[Dir1] := [InstallationDirectory]
[InstallationDirectory] := [MediaDest]
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number12] := FreeSpaceOnDrive [String1]
[InstallationDirectory] := [Dir1]
If [Number11] > [Number12]
[String1] := SubstringOf [MediaDest] from 1 to 2
MessageBox [YesOrNo1] YesNo Question
There is insufficient space on drive [String1] for
this installation.
Try a different destination or combination of files?
EndMessageBox
If [YesOrNo1] = YesCharacter
GoTo NewChoices
Else
;;GoTo Continue
Do ExitInstallation
EndIf
EndIf
EndIf
;;Welcome to Jurassic Park
If [Number1] > 0
[Dir1] := [InstallationDirectory]\WELCOME
CopyFiles from [InstallFromDirectory]\WELCOME to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[WelcomeLoc] := [Dir1]
EndIf
;;Tour
If [Number2] > 0
[Dir1] := [InstallationDirectory]\JP_TOUR
CopyFiles from [InstallFromDirectory]\JP_TOUR to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[JP_TourLoc] := [Dir1]
EndIf
;;Eyes
If [Number3] > 0
[Dir1] := [InstallationDirectory]\EYES
CopyFiles from [InstallFromDirectory]\EYES to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[EyesLoc] := [Dir1]
EndIf
;;Hunt
If [Number4] > 0
[Dir1] := [InstallationDirectory]\HUNT
CopyFiles from [InstallFromDirectory]\HUNT to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[HuntLoc] := [Dir1]
EndIf
;;Chase
If [Number5] > 0
[Dir1] := [InstallationDirectory]\CHASE
CopyFiles from [InstallFromDirectory]\CHASE to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[ChaseLoc] := [Dir1]
EndIf
;;Dossier
If [Number6] > 0
[Dir1] := [InstallationDirectory]\DOSSIER
CopyFiles from [InstallFromDirectory]\DOSSIER to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[DossierLoc] := [Dir1]
EndIf
;;Dinosaur Encylopedia
If [Number7] > 0
[Dir1] := [InstallationDirectory]\ENCYC
CopyFiles from [InstallFromDirectory]\ENCYC to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[EncycLoc] := [Dir1]
EndIf
;;Operations Module
If [Number8] > 0
[Dir1] := [InstallationDirectory]\OPRTNS
CopyFiles from [InstallFromDirectory]\OPRTNS to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[OperationsLoc] := [Dir1]
EndIf
;;Lost in JP
If [Number9] > 0
[Dir1] := [InstallationDirectory]\LOST
CopyFiles from [InstallFromDirectory]\LOST to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[LostLoc] := [Dir1]
EndIf
;;Slide show
If [Number10] > 0
[Dir1] := [InstallationDirectory]\SLIDES
CopyFiles from [InstallFromDirectory]\SLIDES to [Dir1]
*.*
EndCopyFiles
[Installed] := YesCharacter
[SlideLoc] := [Dir1]
EndIf
EndIf
If [InstallMode] = 1
:NewChoices2
[Number1] := [Media1Size]
[Number2] := [Media2Size]
[Number3] := [Media3Size]
[Number4] := [Media4Size]
[Number5] := [Media5Size]
[Number10] := [Media10Size]
If [SampleOptions] = YesCharacter
CheckBoxDialog [InstallationDirectory] UseHeader "Sample File Options"
Instructions
;Select a destination directory and the modules you want
;to install. When you are done, click OK to continue, or Cancel
;to return to the main setup dialog box.
[Media1Name]
;[Number1]
[Media2Name]
;[Number2]
[Media3Name]
;[Number3]
[Media4Name]
;[Number4]
[Media5Name]
;[Number5]
EndCheckBoxDialog
[Number11] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5]
If [Number11] = 0
[Installed] := NoCharacter
GoTo Continue
EndIf
[Dir1] := [InstallationDirectory]
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number12] := FreeSpaceOnDrive [String1]
[InstallationDirectory] := [Dir1]
If [Number11] > [Number12]
[String1] := SubstringOf [MediaDest] from 1 to 2
MessageBox [YesOrNo1] YesNo Question
There is insufficient space on drive [String1] for
this installation.
Try a different destination or combination of files?
EndMessageBox
If [YesOrNo1] = YesCharacter
GoTo NewChoices2
Else
;;GoTo Continue
Do ExitInstallation
EndIf
EndIf
EndIf
If [Number1] > 0
[WelcomeLoc] := [InstallationDirectory]\WELCOME
QueFileGroup [Media1Group] to [WelcomeLoc]
GetQuedFiles [ExtractionOptions]
[Installed] := YesCharacter
EndIf
If [Number2] > 0
[JP_TourLoc] := [InstallationDirectory]\JP_TOUR
QueFileGroup [Media2Group] to [JP_TourLoc]
GetQuedFiles [ExtractionOptions]
[Installed] := YesCharacter
EndIf
If [Number3] > 0
[EyesLoc] := [InstallationDirectory]\EYES
QueFileGroup [Media3Group] to [EyesLoc]
GetQuedFiles [ExtractionOptions]
[Installed] := YesCharacter
EndIf
If [Number4] > 0
[HuntLoc] := [InstallationDirectory]\HUNT
QueFileGroup [Media4Group] to [HuntLoc]
GetQuedFiles [ExtractionOptions]
[Installed] := YesCharacter
EndIf
If [Number5] > 0
[ChaseLoc] := [InstallationDirectory]\CHASE
QueFileGroup [Media5Group] to [ChaseLoc]
GetQuedFiles [ExtractionOptions]
[Installed] := YesCharacter
EndIf
;;Install Shared Media to reduce disk swapping
If [Number1] > 0
QueFiles to [WelcomeLoc]
BAK8X608.GIF
REED.WAV
EndQueFiles
GetQuedFiles [ExtractionOptions]
EndIf
If [Number3] > 0
QueFiles to [EyesLoc]
BAK8X608*.GIF
INDBUSH.WAV
REED.WAV
EndQueFiles
GetQuedFiles [ExtractionOptions]
EndIf
If [Number4] > 0
QueFiles to [HuntLoc]
INDBUSH.WAV
EndQueFiles
GetQuedFiles [ExtractionOptions]
EndIf
EndIf
EndProcedure
;;**** If Screen saver exes are not on system, then queue them for installation
Procedure BuildExeGroup
SetScreenSaverActiveTo false
QueFileGroup [Module1Groups] to [WindowsDirectory]
QueFileGroup [Module2Groups]
[Dir5] := [WindowsDirectory]\ad_prefs.ini
If FileExists [Dir5]
[Array1][1] := After Dark
[Array1][2] := Path
[Array1][3] := default
[Array1][4] := [Dir5]
GetPrivateProfileString using [Array1]
If [Array1][5] <> default
[AfterDarkLoc] := [Array1][5]
If DirectoryExists [AfterDarkLoc]
If FileExists [AfterDarkLoc]\AD.EXE
QueFileGroup [Module3Groups] to [AfterDarkLoc]
[ADInstalled] := YesCharacter
EndIf
EndIf
EndIf
EndIf
[ExesInstalled] := YesCharacter
EndProcedure
Procedure GetSampleSize
If [InstallMode] = 0
[SampleSize] := [Media1Size] + [Media2Size] + [Media3Size] + [Media4Size] + [Media5Size] + [Media6Size] + [Media7Size] + [Media8Size] + [Media9Size] + [Media10Size]
Else
If [OEMHasSamples] = YesCharacter
QueFileGroup [Media1Group]
QueFileGroup [Media2Group]
QueFileGroup [Media3Group]
QueFileGroup [Media4Group]
QueFileGroup [Media5Group]
[SampleSize] := QueSize
UnQueAllFiles
EndIf
EndIf
EndProcedure
Procedure WriteUserInfo
If [ExesInstalled] = YesCharacter
WriteCustomResource [UserName] [WindowsDirectory]\SCORPLAY.DLL 300 1
WriteCustomResource [Organization] [WindowsDirectory]\SCORPLAY.DLL 300 2
;; WriteCustomResource [SerialNumber] [WindowsDirectory]\SCORPLAY.DLL 300 3
EndIf
EndProcedure
;;** Delete selected screen savers that were already installed
Procedure DeleteSamples
;;Initialize a flag to see if anything is installed
[YesOrNo1] := NoCharacter
;;If we have a location, the button is available, but not checked.
;;If it's not installed, we disable the checkbox.
[Number11] := 0
If [InstallMode] = 1
If [WelcomeLoc] = NotInstalled
[Number1] := 2
Else
[Number1] := 0
[YesOrNo1] := YesCharacter
EndIf
If [JP_TourLoc] = NotInstalled
[Number2] := 2
Else
[Number2] := 0
[YesOrNo1] := YesCharacter
EndIf
If [EyesLoc] = NotInstalled
[Number3] := 2
Else
[Number3] := 0
[YesOrNo1] := YesCharacter
EndIf
If [HuntLoc] = NotInstalled
[Number4] := 2
Else
[Number4] := 0
[YesOrNo1] := YesCharacter
EndIf
If [ChaseLoc] = NotInstalled
[Number5] := 2
Else
[Number5] := 0
[YesOrNo1] := YesCharacter
EndIf
Else
;;Initialize values for CD
If [WelcomeLoc] = NotInstalled
[Number1] := 2
Else
[Number1] := 0
[YesOrNo1] := YesCharacter
EndIf
If [JP_TourLoc] = NotInstalled
[Number2] := 2
Else
[Number2] := 0
[YesOrNo1] := YesCharacter
EndIf
If [EyesLoc] = NotInstalled
[Number3] := 2
Else
[Number3] := 0
[YesOrNo1] := YesCharacter
EndIf
If [HuntLoc] = NotInstalled
[Number4] := 2
Else
[Number4] := 0
[YesOrNo1] := YesCharacter
EndIf
If [ChaseLoc] = NotInstalled
[Number5] := 2
Else
[Number5] := 0
[YesOrNo1] := YesCharacter
EndIf
If [DossierLoc] = NotInstalled
[Number6] := 2
Else
[Number6] := 0
[YesOrNo1] := YesCharacter
EndIf
If [EncycLoc] = NotInstalled
[Number7] := 2
Else
[Number7] := 0
[YesOrNo1] := YesCharacter
EndIf
If [OperationsLoc] = NotInstalled
[Number8] := 2
Else
[Number8] := 0
[YesOrNo1] := YesCharacter
EndIf
If [LostLoc] = NotInstalled
[Number9] := 2
Else
[Number9] := 0
[YesOrNo1] := YesCharacter
EndIf
If [SlideLoc] = NotInstalled
[Number10] := 2
Else
[Number10] := 0
[YesOrNo1] := YesCharacter
EndIf
EndIf
;;Store defaults to see if user selected anything
[Number11] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
;;Show the dialog if at least one item is installed
If [YesOrNo1] = YesCharacter
If [InstallMode] = 1
;;Get ok or cancel in Number12 variable
DialogResource RemoveShow returns [Number12]
CheckBox 1000 Uses [Number1]
CheckBox 1001 Uses [Number2]
CheckBox 1002 Uses [Number3]
CheckBox 1003 Uses [Number4]
CheckBox 1004 Uses [Number5]
EndDialogResource
Else
;;Bring up CD version of dialog
DialogResource KillShow returns [Number12]
CheckBox 1000 Uses [Number1]
CheckBox 1001 Uses [Number2]
CheckBox 1002 Uses [Number3]
CheckBox 1003 Uses [Number4]
CheckBox 1004 Uses [Number5]
CheckBox 1005 Uses [Number6]
CheckBox 1006 Uses [Number7]
CheckBox 1007 Uses [Number8]
CheckBox 1008 Uses [Number9]
CheckBox 1009 Uses [Number10]
EndDialogResource
EndIf
ClearScreen
Else
MessageBox Information
No Jurassic Park screen saver modules are installed on your system.
EndMessageBox
Exit
EndIf
;;Make sure they OK'd the dialog and actually choose items.
If [Number12] = 1
[Number13] := [Number1] + [Number2] + [Number3] + [Number4] + [Number5] + [Number6] + [Number7] + [Number8] + [Number9] + [Number10]
If [Number13] > [Number11]
MessageBox [YesOrNo1] YesNo Question
This will delete all files in the directories where the selected
shows reside. Are you sure you want to continue with this operation?
EndMessageBox
If [YesOrNo1] = YesCharacter
;;Mercilessly Delete the shows they chose.
;;Display a window to show prgress
OpenCopyWindow
If [InstallMode] = 1
If [Number1] = 1
DeleteFiles from [WelcomeLoc] quietly
*.*
EndDeleteFiles
If FileExists [WelcomeLoc]\*.*
Else
DeleteDirectory [WelcomeLoc]
EndIf
[WelcomeLoc] := NotInstalled
EndIf
If [Number2] = 1
DeleteFiles from [JP_TourLoc] quietly
*.*
EndDeleteFiles
If FileExists [JP_TourLoc]\*.*
Else
DeleteDirectory [JP_TourLoc]
EndIf
[JP_TourLoc] := NotInstalled
EndIf
If [Number3] = 1
DeleteFiles from [EyesLoc] quietly
*.*
EndDeleteFiles
If FileExists [EyesLoc]\*.*
Else
DeleteDirectory [EyesLoc]
EndIf
[EyesLoc] := NotInstalled
EndIf
If [Number4] = 1
DeleteFiles from [HuntLoc] quietly
*.*
EndDeleteFiles
If FileExists [HuntLoc]\*.*
Else
DeleteDirectory [HuntLoc]
EndIf
[HuntLoc] := NotInstalled
EndIf
If [Number5] = 1
DeleteFiles from [ChaseLoc] quietly
*.*
EndDeleteFiles
If FileExists [ChaseLoc]\*.*
Else
DeleteDirectory [ChaseLoc]
EndIf
[ChaseLoc] := NotInstalled
EndIf
[Installed] := YesCharacter
CloseCopyWindow
Else
;;Delete CD modules
If [Number1] = 1
DeleteFiles from [WelcomeLoc] quietly
*.*
EndDeleteFiles
If FileExists [WelcomeLoc]\*.*
Else
DeleteDirectory [WelcomeLoc]
EndIf
[WelcomeLoc] := NotInstalled
EndIf
If [Number2] = 1
DeleteFiles from [JP_TourLoc] quietly
*.*
EndDeleteFiles
If FileExists [JP_TourLoc]\*.*
Else
DeleteDirectory [JP_TourLoc]
EndIf
[JP_TourLoc] := NotInstalled
EndIf
[Installed] := YesCharacter
CloseCopyWindow
If [Number3] = 1
DeleteFiles from [EyesLoc] quietly
*.*
EndDeleteFiles
If FileExists [EyesLoc]\*.*
Else
DeleteDirectory [EyesLoc]
EndIf
[EyesLoc] := NotInstalled
EndIf
If [Number4] = 1
DeleteFiles from [HuntLoc] quietly
*.*
EndDeleteFiles
If FileExists [HuntLoc]\*.*
Else
DeleteDirectory [HuntLoc]
EndIf
[HuntLoc] := NotInstalled
EndIf
If [Number5] = 1
DeleteFiles from [ChaseLoc] quietly
*.*
EndDeleteFiles
If FileExists [ChaseLoc]\*.*
Else
DeleteDirectory [ChaseLoc]
EndIf
[ChaseLoc] := NotInstalled
EndIf
If [Number6] = 1
DeleteFiles from [DossierLoc] quietly
*.*
EndDeleteFiles
If FileExists [DossierLoc]\*.*
Else
DeleteDirectory [DossierLoc]
EndIf
[DossierLoc] := NotInstalled
EndIf
If [Number7] = 1
DeleteFiles from [EncycLoc] quietly
*.*
EndDeleteFiles
If FileExists [EncycLoc]\*.*
Else
DeleteDirectory [EncycLoc]
EndIf
[EncycLoc] := NotInstalled
EndIf
If [Number8] = 1
DeleteFiles from [OperationsLoc] quietly
*.*
EndDeleteFiles
If FileExists [OperationsLoc]\*.*
Else
DeleteDirectory [OperationsLoc]
EndIf
[OperationsLoc] := NotInstalled
EndIf
If [Number9] = 1
DeleteFiles from [LostLoc] quietly
*.*
EndDeleteFiles
If FileExists [LostLoc]\*.*
Else
DeleteDirectory [LostLoc]
EndIf
[LostLoc] := NotInstalled
EndIf
If [Number10] = 1
DeleteFiles from [SlideLoc] quietly
*.*
EndDeleteFiles
If FileExists [SlideLoc]\*.*
Else
DeleteDirectory [SlideLoc]
EndIf
[SlideLoc] := NotInstalled
EndIf
[Installed] := YesCharacter
CloseCopyWindow
EndIf
Else
GoTo Continue
EndIf
EndIf
EndIf
EndProcedure
;;** Installs wall paper files
Procedure InstallWallpaper
[WallpaperLoc] := [InstallationDirectory]\WALLPAPR
If [InstallMode] = 0
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number1] := FreeSpaceOnDrive [String1]
[Number2] := [WallpaperSize]
If [Number1] < [Number2]
MessageBox Exclamation
There is not enough available disk space
to install the wallpaper files.
EndMessageBox
[DoWallpaper] := NoCharacter
Exit
Else
CopyFiles from [InstallFromDirectory]\WALLPAPR to [WallpaperLoc]
*.BMP
EndCopyFiles
EndIf
Else
QueFileGroup [WallpaperGroup] to [WallpaperLoc]
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number1] := FreeSpaceOnDrive [String1]
[Number2] := QueSize
If [Number1] < [Number2]
MessageBox Exclamation
There is not enough available disk space
to install the wallpaper files.
EndMessageBox
UnQueAllFiles
[DoWallpaper] := NoCharacter
Exit
Else
GetQuedFiles [ExtractionOptions]
EndIf
EndIf
[Installed] := YesCharacter
EndProcedure
;;** Installs system sound files
Procedure InstallSounds
[SoundLoc] := [InstallationDirectory]\SOUNDS
If [InstallMode] = 0
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number1] := FreeSpaceOnDrive [String1]
[Number2] := [SoundSize]
If [Number1] < [Number2]
MessageBox Exclamation
There is not enough available disk space
to install the system sound files.
EndMessageBox
[DoSounds] := NoCharacter
Exit
Else
CopyFiles from [InstallFromDirectory]\SOUNDS to [SoundLoc]
*.WAV
EndCopyFiles
EndIf
Else
QueFileGroup [SoundsGroup] to [SoundLoc]
[String1] := SubstringOf [InstallationDirectory] from 1 to 1
[Number1] := FreeSpaceOnDrive [String1]
[Number2] := QueSize
If [Number1] < [Number2]
MessageBox Exclamation
There is not enough available disk space
to install the system sound files.
EndMessageBox
UnQueAllFiles
[DoSounds] := NoCharacter
Exit
Else
GetQuedFiles [ExtractionOptions]
EndIf
EndIf
[Installed] := YesCharacter
EndProcedure
Procedure FindOldSamples
;;Read the .INI file to find which files we've installed to disk.
[Array1][1] := paths
[Array1][2] := Chase
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[ChaseLoc] := NotInstalled
Else
[ChaseLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[ChaseLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Dossier
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[DossierLoc] := NotInstalled
Else
[DossierLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[DossierLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Operations
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[OperationsLoc] := NotInstalled
Else
[OperationsLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[OperationsLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Encyc
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[EncycLoc] := NotInstalled
Else
[EncycLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[EncycLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Lost
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[LostLoc] := NotInstalled
Else
[LostLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[LostLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Eyes
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[EyesLoc] := NotInstalled
Else
[EyesLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[EyesLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Hunt
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[HuntLoc] := NotInstalled
Else
[HuntLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[HuntLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := JP_Tour
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[JP_TourLoc] := NotInstalled
Else
[JP_TourLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[JP_TourLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Welcome
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[WelcomeLoc] := NotInstalled
Else
[WelcomeLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[WelcomeLoc] := [Array1][5]
EndIf
EndIf
EndIf
[Array1][1] := paths
[Array1][2] := Slides
[Array1][3] := default
[Array1][4] := [WindowsDirectory]\jpsaver.ini
GetPrivateProfileString Using [Array1]
If [Array1][5] = default
[SlideLoc] := NotInstalled
Else
[SlideLoc] := NotInstalled
If DirectoryExists [Array1][5]
If FileExists [Array1][5]\*.*
[SlideLoc] := [Array1][5]
EndIf
EndIf
EndIf
EndProcedure
;; *** SetResolution
;; set the global screen resolution variable
Procedure SetResolution
;; [ScreenResolution] := 6
;; If VGA
;; [ScreenResolution] := 6
;; EndIf
;; If SVGA
;; [ScreenResolution] := 8
;; EndIf
;; If HIRES
;; [ScreenResolution] := 1
;; EndIf
;; If [ScreenResolution] = 6
;; [Number8] := 1
;; [Number9] := 0
;; [Number10] := 0
;; EndIf
;; If [ScreenResolution] = 8
;; [Number8] := 0
;; [Number9] := 1
;; [Number10] := 0
;; EndIf
;; If [ScreenResolution] = 1
;; [Number8] := 0
;; [Number9] := 0
;; [Number10] := 1
;; EndIf
;; ;;Call the dialog
;; DialogResource ScreenResolution Returns [Number1]
;; CheckBox 1000 Uses [Number8]
;; CheckBox 1001 Uses [Number9]
;; CheckBox 1002 Uses [Number10]
;; EndDialogResource
;; ClearScreen
;; If [Number1] = 1
;; If [Number8] = 1
;; [ScreenResolution] := 6
;; EndIf
;; If [Number9] = 1
;; [ScreenResolution] := 8
;; EndIf
;; If [Number10] = 1
;; [ScreenResolution] := 1
;; EndIf
;; Else
;; Do ExitInstallation
;; EndIf
[ScreenResolution] := 6
[Number1] := MaxX
If [Number1] = 640
[ScreenResolution] := 6
EndIf
If [Number1] = 800
[ScreenResolution] := 8
EndIf
If [Number1] = 1024
[ScreenResolution] := 1
EndIf
EndProcedure