home *** CD-ROM | disk | FTP | other *** search
/ Flight Simulators / FLIGHTSIM.ISO / games / mech_war / install.dat < prev    next >
Text File  |  1995-09-07  |  16KB  |  642 lines

  1. @DefineProject
  2.     @Name="Mechwarrior 2: Demo Disk Ver 2"
  3.     @Version="2.00"
  4.     @OutDrive=C
  5.     @Subdir="\\MW2DEMO"
  6.     @InDiskBell=1
  7. @EndProject
  8.  
  9. @ChDrive @InDrive
  10. // @ChDir "@InDir"
  11.  
  12. @DefineVars
  13.     @Integer @Pass =((!@Exists("@InDrive:\\DISK.ID"))*2)
  14. @EndVars
  15.  
  16. @SetOption(1)   
  17. @TextFile="ITXT.eng"
  18.  
  19. @DefineVars
  20.     @Integer @ExtraMem =(@EMMTotal)
  21.     @QString @MADECmd ="MADE"
  22.     @QString @FileBase ="DRIVERS"
  23.     @QString @MW2Base ="MW2DEMO"
  24.     @Integer @PRJM =3 //3MEG for demo
  25.     @Integer @OtherM =0
  26.     @QString @Args =""
  27.     @Drive   @CDDrive =@InDrive     // CD-ROM drive, if any
  28.     @Integer @CDDriveI =@Eval(@CDDrive-A)   // (0=A, ..., 26=Z)
  29.     @QString @OutDir =""
  30.     @QString @ST0  =@Text("None")
  31.     @QString @SF0  ="NUL"
  32.     @QString @ST1  ="Creative Labs SoundBlaster"
  33.     @QString @SF1  ="SBLASTER"
  34.     @QString @ST2  ="@ST1 Pro"
  35.     @QString @SF2  ="SBPRO"
  36.     @QString @ST3  =@Text("SBclone")
  37.     @QString @SF3  ="SBCLONE"
  38.     @QString @ST4  ="Disney SoundSource"
  39.     @QString @SF4  ="SOURCE"
  40.     @QString @ST5  ="Tandy SL/TL & Sensation"
  41.     @QString @SF5  ="TANSLTL"
  42.     @QString @ST6  ="ProAudio Spectrum"
  43.     @QString @SF6  ="PAUDIO"
  44.     @QString @ST7  ="@ST6 16"
  45.     @QString @SF7  ="PAS16"
  46.     @QString @ST8  ="Covox Speech Thing"
  47.     @QString @SF8  ="CVXSND"
  48.     @QString @ST9  ="Windows Sound System" 
  49.     @QString @SF9  ="SNDSYS"
  50.     @QString @ST10 ="@ST1 16"
  51.     @QString @SF10 =@SF2
  52.     @QString @ST11 ="Logitech SoundMan"
  53.     @QString @SF11 =@SF7
  54.     @QString @ST12 ="Advanced Gravis UltraSound"
  55.     @QString @SF12 ="GF166"
  56.     @QString @ST13 =@Text("AdLibG")
  57.     @QString @SF13 ="ADLIBG"
  58.     @QString @ST14  ="LifeSize Enhancer"
  59.     @QString @SF14  ="LSIZE"
  60.     @QString @SndDrvs ="@SF0=@ST0:@SF1=@ST1:@SF2=@ST2:@SF3=@ST3:@SF4=@ST4:@SF5=@ST5:@SF6=@ST6:@SF7=@ST7:@SF8=@ST8:@SF9=@ST9:@SF10=@ST10:@SF11=@ST11:@SF12=@ST12:@SF13=@ST13:@SF14=@ST14"
  61.     @QString @SndDrv =""
  62.     @Integer @SndDrvI =0
  63.     @QString @MT0 =@Text("None")
  64.     @QString @MF0 ="NUL"
  65.     @QString @MT1 =@Text("AdLib")
  66.     @QString @MF1 ="ADLIB"
  67.     @QString @MT2 =@ST13
  68.     @QString @MF2 =@SF13
  69.     @QString @MT3 =@ST1
  70.     @QString @MF3 =@MF1
  71.     @QString @MT4 =@ST2
  72.     @QString @MF4 =@MF1
  73.     @QString @MT5 =@Text("PCspkr")
  74.     @QString @MF5 ="PCSPKR"
  75.     @QString @MT6 ="Roland LAPC-I synthesizer"
  76.     @QString @MF6 ="MT32MPU"
  77.     @QString @MT7 ="Roland MPU-401 MIDI"
  78.     @QString @MF7 =@MF6
  79.     @QString @MT8 ="Roland MT-32 synthesizer"
  80.     @QString @MF8 =@MF6
  81.     @QString @MT9 =@ST10
  82.     @QString @MF9 =@MF1
  83.     @QString @MT10 =@ST12
  84.     @QString @MF10 ="GF1MIDI"
  85.     @QString @MT11 =@ST6
  86.     @QString @MF11 =@MF1
  87.     @QString @MT12 =@ST3
  88.     @QString @MF12 =@MF1
  89.     @QString @MT13 =@ST11
  90.     @QString @MF13 =@MF1
  91.     @QString @MT14 ="@ST10 MIDI"
  92.     @QString @MF14 ="SB16MPU"
  93.     @QString @MusDrvs ="@MF0=@MT0:@MF1=@MT1:@MF2=@MT2:@MF3=@MT3:@MF4=@MT4:@MF5=@MT5:@MF6=@MT6:@MF7=@MT7:@MF8=@MT8:@MF9=@MT9:@MF10=@MT10:@MF11=@MT11:@MF12=@MT12:@MF13=@MT13:@MF14=@MT14"
  94.     @QString @MusDrv =""
  95.     @Integer @MusDrvI =0
  96.     @Integer @IOAddr =0
  97.     @QString @IOAddrQS =""
  98.     @Integer @IRQ =0
  99.     @QString @IRQQS =""
  100.     @Integer @DMA =0
  101.     @QString @DMAQS =""
  102.     @QString @LH =""
  103.     @Integer @TmpI1 =0
  104.     @Integer @TmpI2 =0
  105.     @Integer @TmpI3 =0
  106.     @QString @TmpQS =""
  107.     @QString @tmpQX =""
  108.     @Drive   @TmpDr =A
  109.     @Dir     @TmpDi ="\\"
  110.     @QString @HexDig ="0123456789ABCDEF0123456789abcdef"
  111.     @Integer @JustIn =1
  112.     @Integer @AutoDetect =0
  113.     @Integer @Joystick
  114.     @Integer @Mouse
  115.     @Integer @Cyberman
  116.     @Integer @FCS
  117.     @Integer @WCS
  118.     @Integer @Rudders
  119.     @Integer @CfgWord
  120. @EndVars
  121.  
  122. @Display
  123.     @MoveCStr(0,54,126,"╔════════════════╗")
  124.     @MoveCStr(1,54,126,"║   ACTIVISION   ║")
  125.     @MoveCStr(2,54,126,"╚════════════════╝")
  126.     @MoveCStr(3,56,  0,"                  ")
  127.     @MoveCStr(1,72,0,"  ")
  128.     @MoveCStr(2,72,0,"  ")
  129.     @MoveCStr(4,20,95,"╔═════════════════╗")
  130.     @MoveCStr(5,20,95,"║  MECHWARRIOR 2  ║")
  131.     @MoveCStr(6,20,95,"╚═════════════════╝")
  132.     @MoveCStr(7,22, 0,"                   ")
  133.     @MoveCStr(5,39,0,"  ")
  134.     @MoveCStr(6,39,0,"  ")
  135.     @Move(8,0)
  136.     @If (!@Pass) 
  137.     @Text("HiNew", @Name)
  138.     @Text("EscCmd")        
  139.     @Else
  140.     @Text("HiOld", @Name)
  141.     @EndIf
  142.  
  143.     @Pause
  144. @EndDisplay
  145.  
  146. @If (@Pass)
  147.     @OutDrive=@InDrive
  148.     @Subdir="@GetCWD(@InDrive)"
  149.     @OutDir="@OutDrive:\\@Subdir"
  150.     @Goto ChooseConfig
  151. @EndIf
  152.  
  153.  
  154. ChooseDest:
  155.  
  156. @FlushOptions()
  157.  
  158. @TmpI1=@OtherM 
  159. @SetOption(61)
  160. @TmpI1=(@TmpI1+@PRJM) 
  161.  
  162. @GetOutDrive @LocalWindow(15,40)
  163.     // @Suppress @InDrive // INSTALL only accepts A-Z after @Suppress
  164.     @If (!@DirExists("A:")) @Suppress A @EndIf
  165.     @If (!@DirExists("B:")) @Suppress B @EndIf
  166.     @Cls
  167.  
  168.  @Text("ProdDrv?1", @Name)
  169.  
  170.  @Text("ProdDrv?2", "@TmpI1")
  171.  
  172.  @Text("ProdDrv?3")
  173.  @Move(22,0)@Text("SelectCmds")@Move(0,0)
  174. @EndOutDrive
  175.  
  176. @GetSubdir @Cls @LocalWindow(9,40)
  177.     @Prompt=" @Text("Dir?") "
  178.  
  179.  @Text("ProdDir?", @Name)
  180.  
  181.  @Text("CreDir")
  182. @EndSubdir
  183.  
  184. @OutDir="@OutDrive:\\@Subdir"
  185. @If (@DirExists(@OutDir))
  186.     @GetOption @Cls @LocalWindow(11,40)
  187.  @Text("DirExist", @OutDir) 
  188.  
  189.  @Text("NowWhat?")
  190.         @If (@DirExists("@OutDir\\DRIVERS"))
  191.             @Option 11="@Text("NewCfg")"
  192.         @EndIf
  193.         @Option 12="@Text("NewDrvOrDir")"
  194.         @Option 13="@Text("Overwrite")" 
  195.         @Option 14="@Text("Abort")" 
  196.     @EndOption
  197.     @If     (11[=@Option) @Goto ChooseConfig
  198.     @ElseIf (12[=@Option) @Goto ChooseDest
  199.     @ElseIf (14[=@Option) @Exit
  200.     @EndIf
  201. @EndIf
  202.  
  203. @TmpI2=(@DiskFree(@OutDrive)/1000000) 
  204. @If (@TmpI2<@TmpI1)
  205.     @GetOption @Cls @LocalWindow(13,40)
  206.     @Text("NotEnufDisk", @Name, "@TmpI1", "@OutDrive", "@Eval(@TmpI2+1)")
  207.  
  208.     @Text("NowWhat?")
  209.     @Option 12="@Text("NewDrv")"
  210.     @Option 13="@Text("TryToInstall")"
  211.     @Option 14="@Text("Abort")" 
  212.     @EndOption
  213.     
  214.     @If     (12[=@Option) @Goto ChooseDest
  215.     @ElseIf (14[=@Option) @Exit
  216.     @EndIf
  217. @EndIf
  218.  
  219. @MkDir(@OutDir)
  220.  
  221. @DefineDisk @Label="Disk #1"
  222.     @File INSTALL.EXE
  223.     @File INSTALL.DAT
  224.     @File @TextFile
  225.     @BeginLib @FileBase.RED 
  226.         @File *.* @Out DRIVERS\*.*
  227.     @EndLib
  228.     @BeginLib @MW2Base.RED 
  229.         @File *.* @Out *.*
  230.     @EndLib
  231.     
  232.     @If (1 && @Exists("@InDrive:.\\READ.ME"))
  233.         @File READ.ME
  234.     @EndIf
  235. @EndDisk
  236.  
  237. @Commit
  238.  
  239. @ChDrive @OutDrive
  240. @ChDir "@Subdir"
  241.  
  242. ChooseConfig:
  243.  
  244. @FlushOptions
  245. @FlushGroups
  246.  
  247. @TmpQS="@OutDir\\MW2.CFG"
  248. @Write(@TmpQS, "ab", "")
  249. @If (@Exists(@TmpQS) && @PeekF(@TmpQS, 0, 2)<2) 
  250.     //@PeekF(@TmpQS, 32, 1)
  251.     //@CDDriveI=@PeekF(,, 1)
  252.     @SetOption(20+@PeekF(,4, 2))
  253.     @SetOption(40+@PeekF(,2, 2))
  254.     //@If (@PeekF(,, 1)) @SetGroup(S) @EndIf
  255.     //@If (@PeekF(,, 1)) @SetGroup(X) @EndIf
  256.     @IOAddr=@PeekF(,10, 2)
  257.     @IRQ=@PeekF(,12, 2)
  258.     @DMA=@PeekF(,14, 2)
  259.     //@If (@PeekF(,, 1)) @SetGroup(H) @EndIf
  260.     @TmpQX="@OutDir\\MW2CTRL.CFG"
  261.     @If (@Exists(@TmpQX)) 
  262.         @Delete(@TmpQX)
  263.     @EndIf
  264. @Else
  265.     @SetOption(65)
  266.     @SetGroup(S)
  267.     @If (@ExtraMem)
  268.         @SetGroup(X)
  269.         @SetGroup(H)
  270.     @EndIf
  271. @EndIf
  272.  
  273.  
  274. InputConfig:
  275.  
  276. @If (!@JustIn)
  277.     @FlushOptions
  278.     @GetOption @Cls @LocalWindow(11,40)
  279.  @Text("Snd?"):
  280.         @Option 20="@ST0"
  281. //              @Option 65="@Text("AutoDet")"
  282.         @Option 21="@ST1"
  283.         @Option 22="@ST2"
  284.         @Option 30="@ST10"
  285.         @Option 23="@ST3"
  286. //              @Option 20="@ST0"
  287. //              @Option 33="@ST13"
  288. //              @Option 34="@ST14"
  289.           //@Option 28="@ST8"
  290. //              @Option 24="@ST4"
  291. //              @Option 32="@ST12"
  292. //              @Option 31="@ST11"
  293.         @Option 26="@ST6"
  294.         @Option 27="@ST7"
  295. //              @Option 25="@ST5"
  296.     @EndOption
  297. @EndIf
  298.  
  299.  
  300. @If (65[=@Option)
  301.     @If (@DetectSoundCard(0))
  302.         @SetOption(21)
  303.         @IOAddr=@DetectSoundCard(1)
  304.         @IRQ=@DetectSoundCard(2)
  305.         @DMA=@DetectSoundCard(3)
  306.         @SetOption(43)
  307.     @Else   // Assume LifeSize
  308.         @SetOption(20)
  309.         @ClearOption(65)
  310.         @SetOption(66)
  311.     @EndIf
  312.     @Pass=(@Pass& -2)
  313.     @AutoDetect = 1
  314. @EndIf
  315.  
  316.  
  317. @SndDrvI=0
  318. L2:
  319. @If (@SndDrvI+20[!@Option)
  320.     @SndDrvI =(@SndDrvI+1)
  321.     @Goto L2
  322. @EndIf
  323.  
  324.  
  325. @SndDrv=@StrToken(@SndDrvs, @SndDrvI*2, ":=")
  326. @SndDrv="DRIVERS\\@SndDrv"
  327.  
  328. @If (65[!@Option)
  329.     @IOAddr=@PeekF("@OutDir\\@SndDrv.COM", 262, 2)
  330.     @IRQ=@PeekF(,, 2)
  331.     @DMA=@PeekF(,, 2)
  332. @EndIf
  333.  
  334. @TmpI1=@IOAddr
  335. @IOAddrQS=""
  336. @If (!@TmpI1) @IOAddrQS="0" @EndIf
  337. IOAD2H:
  338.     @TmpI2=(@TmpI1 & 15)
  339.     @TmpI1=(@TmpI1 / 16)
  340.     @If (@TmpI1 + @TmpI2)
  341.         @IOAddrQS="@StrMid(@HexDig, @TmpI2, 1)@IOAddrQS"
  342.     @EndIf
  343.     @If (@TmpI1) @Goto IOAD2H @EndIf
  344. @If (@IOAddr==65535) 
  345.     @IOAddrQS=@Text("None")
  346. @EndIf
  347.  
  348. @TmpI1=@IRQ
  349. @IRQQS=""
  350. @If (!@TmpI1) @IRQQS="0" @EndIf
  351. IRQD2H:
  352.     @TmpI2=(@TmpI1 & 15)
  353.     @TmpI1=(@TmpI1 / 16)
  354.     @If (@TmpI1 + @TmpI2) 
  355.         @IRQQS="@StrMid(@HexDig, @TmpI2, 1)@IRQQS"
  356.     @EndIf
  357.     @If (@TmpI1) @Goto IRQD2H @EndIf
  358. @If (@IRQ==65535)
  359.     @IRQQS=@Text("None")
  360. @EndIf
  361.  
  362. @If (@JustIn==0 && @AutoDetect==0 && 20[!@Option)
  363.     @If (@IOAddr!=65535)
  364.         @GetString @IOAddrQS @Cls @Prompt=" @Text("Hex?") "
  365.  @Text("IOA?"):
  366.  
  367.         @EndString
  368.         @IOAddr=0
  369.         @TmpI1=(-1)
  370.         @Goto IOAH2D2
  371. IOAH2D1:
  372.         @IOAddr=(@IOAddr*16 + (@StrFind(@HexDig, @StrMid(@IOAddrQS, @TmpI1, 1)) & 15))
  373. IOAH2D2:
  374.         @TmpI1=(@TmpI1+1)
  375.         @If (@TmpI1<@StrLen(@IOAddrQS)) @Goto IOAH2D1 @EndIf
  376.         @IOAddr=(@IOAddr&65535)
  377.     @EndIf
  378.  
  379.     @If (@IRQ!=65535)
  380.         @GetString @IRQQS @Cls @Prompt=" @Text("Hex?") "
  381.  @Text("IRQ?"):
  382.  
  383.         @EndString
  384.         @IRQ=0
  385.         @TmpI1=(-1)
  386.         @Goto IRQH2D2
  387. IRQH2D1:
  388.         @IRQ=(@IRQ*16 + (@StrFind(@HexDig, @StrMid(@IRQQS, @TmpI1, 1)) & 15))
  389. IRQH2D2:
  390.         @TmpI1=(@TmpI1+1)
  391.         @If (@TmpI1<@StrLen(@IRQQS)) @Goto IRQH2D1 @EndIf
  392.         @IRQ=(@IRQ&65535)
  393.     @EndIf
  394.  
  395.     @If (@DMA!=65535)
  396.         @GetInteger @DMA @Cls @Prompt=" @Text("Dec?") "
  397.  @Text("DMA?"):
  398.  
  399.         @EndInteger
  400.         @DMA=(@DMA&65535)
  401.     @EndIf
  402. @EndIf
  403.  
  404. @DMAQS="@DMA"
  405. @If (@DMA==65535) 
  406.     @DMAQS=@Text("None")
  407. @EndIf
  408.  
  409. @If     (32[=@Option) @SetOption(50)
  410. @ElseIf (33[=@Option) @SetOption(42)
  411. @ElseIf ((!@JustIn) && 66[!@Option)
  412.     @GetOption @Cls @LocalWindow(12,40)
  413.  @Text("Mus?"):
  414.         @Option 40="@MT0"
  415. //              @Option 66="@Text("AutoDet")"
  416.         @Option 43="@MT3"
  417.         @Option 44="@MT4"
  418.         @Option 49="@MT9"
  419.           //@Option 54="@MT14"
  420.         @Option 48="@MT8"
  421.         @Option 47="@MT7"
  422. //              @Option 46="@MT6"
  423.         @Option 41="@MT1"
  424. //              @Option 42="@MT2"
  425. //              @Option 50="@MT10"
  426. //              @Option 53="@MT13"
  427.         @Option 51="@MT11"
  428.         @Option 52="@MT12"
  429. //              @Option 45="@MT5"
  430.     @EndOption
  431. @EndIf
  432. @If (66[=@Option)
  433.     @If (@DetectMusicDriver() == 1)
  434.         @SetOption(41)
  435.     @Else   // MT-32 and LAPC-I are detectable; MIDI isn't
  436.         @SetOption(48)
  437.     @EndIf
  438. @EndIf
  439.  
  440. @MusDrvI=0
  441. L3:
  442. @If (@MusDrvI+40[!@Option)
  443.    @MusDrvI =(@MusDrvI+1)
  444.    @Goto L3
  445. @EndIf
  446.  
  447.  
  448. @If (!@JustIn)
  449.     @GetGroups @Cls @CheckBox @LocalWindow(9,40)
  450.     @Text("Controls?"):
  451.         @Set J="@Text("Joystick?")"
  452.         @Set M="@Text("Mouse?")"
  453.         @Set C="@Text("Cyberman?")"
  454.         @Set F="@Text("FCS?")"
  455.         @Set W="@Text("WCS?")"
  456.         @Set R="@Text("Rudder Pedals?")"
  457.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  458.     @EndGroups
  459.     @If (J[=@Group) @Joystick = 1 @Else @Joystick = 0 @Endif
  460.     @If (M[=@Group) @Mouse = 1 @Else @Mouse = 0 @Endif
  461.     @If (C[=@Group) @Cyberman = 1 @Else @Cyberman = 0 @Endif
  462.     @If (F[=@Group) @FCS = 1 @Else @FCS = 0 @Endif
  463.     @If (W[=@Group) @WCS = 1 @Else @WCS = 0 @Endif
  464.     @If (R[=@Group) @Rudders = 1 @Else @Rudders = 0 @Endif
  465. @Else
  466.     @If (@Exists(@TmpQS))
  467.         @Joystick=@PeekF(@TmpQS, 8, 2)
  468.         @Mouse=@PeekF(,6, 2)
  469. //              @Cyberman=@PeekF(,10, 2)
  470.         @FCS=@PeekF(,16, 2)     
  471.         @WCS=@PeekF(,18, 2)
  472.         @Rudders=@PeekF(,20, 2)
  473.         @CfgWord=@PeekF(,22, 2)
  474.         @If (@CfgWord & 128) //check for cyberman
  475.             @Cyberman = 1
  476.         @Endif
  477.     @Endif
  478. @EndIf
  479.  
  480.  
  481. @If (24[=@Option || 33[=@Option)
  482.     @ClearGroup(S)
  483. @EndIf
  484. /*
  485. @If (!@ExtraMem)
  486.     @ClearGroup(X)
  487.     @ClearGroup(H)
  488. @EndIf
  489.  
  490. @If (!@JustIn)
  491.     @If ((24[!@Option && 33[!@Option) || @ExtraMem)
  492.         @GetGroups @Cls @CheckBox @LocalWindow(9,40)
  493.         @Text("Add?"):
  494.         @If (24[!@Option && 33[!@Option)
  495.             @Set S="@Text("Smooth?")"
  496.         @EndIf
  497.         @If (@ExtraMem)
  498.             @Set X="@Text("EMS?")"
  499.             @Set H="@Text("LoadHi?")"
  500.         @EndIf
  501.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  502.         @EndGroups
  503.     @EndIf
  504. @EndIf
  505. */
  506.  
  507. @CfgWord = 2 //set keyboard flag as default
  508. @If (M[=@Group || @Mouse || C[=@Group || @Cyberman)
  509.     @CfgWord = (@CfgWord | 1)
  510.     @If (C[=@Group || @Cyberman) @CfgWord = (@CfgWord | 128) @Endif
  511. @Endif
  512. @If (J[=@Group || @Joystick || F[=@Group || @FCS)       
  513.     @CfgWord = (@CfgWord | 4)
  514.     @If (F[=@Group || @FCS) @CfgWord = (@CfgWord | 16) @Endif
  515.     @If (J[=@Group || @Joystick)    @CfgWord = (@CfgWord | 8) @Endif
  516. @Endif
  517. @If (R[=@Group || @Rudders)     @CfgWord = (@CfgWord | 32) @Endif
  518. //@If (C[=@Group || @Cyberman) @CfgWord = (@CfgWord | 128) @Endif
  519. @If (@MusDrvI)  @CfgWord = (@CfgWord | 256) @Endif
  520. @If (@SndDrvI)  @CfgWord = (@CfgWord | 512) @Endif
  521.  
  522. //@Write(@TmpQS, "ab", "")
  523. @PokeF(@TmpQS, 0, 2, 1)             // .CFG file version
  524. //@PokeF(,, 1, @CDDriveI)
  525. @PokeF(,, 2, @MusDrvI)
  526. @PokeF(,, 2, @SndDrvI)
  527. //@PokeF(,, 1, (S[=@Group))
  528. //@PokeF(,, 1, (X[=@Group))
  529. @PokeF(,, 2, @Mouse)
  530. @PokeF(,, 2, @Joystick)
  531. //@PokeF(,, 2, (C[=@Group))
  532. @PokeF(,, 2, @IOAddr)
  533. @PokeF(,, 2, @IRQ)
  534. @PokeF(,, 2, @DMA)
  535. @PokeF(,, 2, @FCS)
  536. @PokeF(,, 2, @WCS)
  537. @PokeF(,, 2, @Rudders)
  538.  
  539. @PokeF(,, 2, @CfgWord)          //write to shl_hardware
  540. @PokeF(,31, 2, @CfgWord)        //write to sim_hardware
  541. @PokeF(,39, 1, 0)                       // \0 to pathname for current dir
  542. //@PokeF(,, 1, (H[=@Group))
  543. //@PokeF(,, 1, (F[=@Group))
  544. //@PokeF(,, 1, (W[=@Group))
  545. //@PokeF(,, 1, (R[=@Group))
  546.  
  547. @PokeF("@OutDir\\@SndDrv.COM", 262, 2, @IOAddr)
  548. @PokeF(,, 2, @IRQ)
  549. @PokeF(,, 2, @DMA)
  550.  
  551. @GetOption @Cls @CheckBox @LocalWindow(20,40)
  552.     @Name @Text("SysCfg")
  553.  
  554.     @Text("Snd"):@Move(3,40)@StrToken(@SndDrvs, @SndDrvI*2 + 1, ":=")
  555.     @Text("IOA"):@Move(4,40)@IOAddrQS 
  556.     @Text("IRQ"):@Move(5,40)@IRQQS
  557.     @Text("DMA"):@Move(6,40)@DMAQS
  558.     @Text("Mus"):@Move(7,40)@StrToken(@MusDrvs, @MusDrvI*2 + 1, ":=")
  559.     @Text("Joystick"):@Move(8,39)@If (J[=@Group || @Joystick) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  560.     @Text("Mouse"):@Move(9,39)@If (M[=@Group || @Mouse) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  561.     @Text("Cyberman"):@Move(10,39)@If (C[=@Group || @Cyberman) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  562.     @Text("FCS"):@Move(11,39)@If (F[=@Group || @FCS) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  563.     @Text("WCS"):@Move(12,39)@If (W[=@Group || @WCS) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  564.     @Text("Rudders"):@Move(13,39)@If (R[=@Group || @Rudders) @Text("~Y") @Else @Text("~N") @EndIf @EndIf
  565.     
  566.     @Text("ToChg"):
  567.                @OutDir\INSTALL
  568.  
  569.     @If (!(@Pass&1)) @SetOption(63) @EndIf @Option 63="@Text("Cfg?")"
  570.     @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  571. @EndOption
  572. @Pass=(@Pass|1)
  573. @If (63[=@Option) 
  574.     @JustIn = 0
  575.     @AutoDetect = 0
  576.     @Goto InputConfig
  577. @EndIf
  578.  
  579.  
  580. @If (40[!@Option)
  581.     @MusDrv=@StrToken(@MusDrvs, @MusDrvI*2, ":=")
  582.     @Args="@Args -M:DRIVERS\\@MusDrv"
  583. @EndIf
  584. @If (S[=@Group)
  585.     @Args="@Args -O"
  586. @EndIf
  587. @If (X[=@Group)
  588.     @Args="@Args -X"
  589. @EndIf
  590. //@If (H[=@Group)
  591.     @LH="LOADHIGH"
  592. //@EndIf
  593.  
  594. @Write("MW2DEMO.BAT", "wt","@@echo off\n@OutDrive:\ncd \\@Subdir\n")
  595. @If (@SndDrvI == 12)
  596.     @Write(, "at",
  597.         "@LH DRIVERS\\ULTRAMID -DDRIVERS\\ -M90 -NMT32.INI\n")
  598. @EndIf
  599. @Write(, "at",
  600.     "@LH @SndDrv\n")
  601. //@If (@SndDrvI == 6 || @SndDrvI == 7)
  602. //      @Write(, "at",
  603. //              "PAS set fm to 90\nPAS set pcm to 60\nPAS set vol to 60\n")
  604. //@EndIf
  605. @Write(, "at",
  606. /*      "@MADECmd @FileBase @Args\n@SndDrv u\n") */
  607.     "MW2SHELL\n@SndDrv u\n")        
  608. @If (@SndDrvI == 12)
  609.     @Write(, "at",
  610.         "DRIVERS\\ULTRAMID -F\necho.\n")
  611. @EndIf
  612.  
  613. @TmpQS="@OutDir\\READ.ME"
  614. @If (@Pass<2 && @Exists(@TmpQS))
  615.     @GetOption @Cls @CheckBox @LocalWindow(10,40)
  616.  
  617.  @Text("README1", @Name)
  618.  
  619.  @Text("README2")
  620.         @SetOption(64) @Option 64="@Text("VuREADME?")"
  621.         @Move(22,0)@Text("CheckBoxCmds")@Move(0,0)
  622.     @EndOption
  623.     @If (64[=@Option) @Browse(@TmpQS) @EndIf
  624. @EndIf
  625.  
  626. @Display @Cls
  627.  @Text("Done", @Name)
  628.  
  629.  @Text("ToPlay"):
  630.  
  631.     @OutDir\MW2DEMO
  632.  
  633.  @Text("ToChg"):
  634.  
  635.     @OutDir\INSTALL
  636.  
  637.     @Pause
  638. @EndDisplay
  639.  
  640. @Finish @Cls
  641. @EndFinish
  642.