home *** CD-ROM | disk | FTP | other *** search
- {$V-}
-
- {PARAM.PA2}
-
- PROCEDURE CheckParams;
-
- VAR NumPara : Integer;
- P, p1, p2, p3, batch_file_name : words;
- fn : Text;
- Spot : Integer;
- {PARAMCOUNT AND PARAMSTR(I..PARAMCOUNT) ARE TURBO FNS}
-
- PROCEDURE Handle_File_Name;
-
- BEGIN {PROPER FORM TO CREATE FINAL VERSION}
- p2 := '';
- IF POS(':', p1) <> 0 THEN
- BEGIN
- Spot := POS(':', p1);
- p2 := Copy(p1, 1, Spot); {up to ':'}
- p1 := Copy(p1, Spot+1, 255); {after ':'}
- END;
- WHILE POS('\', p1) <> 0 DO
- BEGIN
- Spot := POS('\', p1);
- p2 := p2+Copy(p1, 1, Spot); {up to '\'}
- p1 := Copy(p1, Spot+1, 255); {after '\'}
- END;
- IF p2 <> '' THEN {need to change directory}
- BEGIN
- Spot := Length(p2);
- IF p2[Spot] = '\' THEN p2 := Copy(p2, 1, Spot-1); {strip off last '\'}
- {$I-} ChDir(p2);
- IF IoResult <> 0 THEN
- BEGIN
- WriteLn('Cannot find directory: ', p2);
- Halt;
- END;
- END; {change directory}
- P := p1;
- Adventure_Name := P;
- batch_file_name := P+'.BAT';
- data_file_name := P+'.DAT';
- message_file_name := P+'.MSG';
- title_file_name := P+'.TTL';
- descr_file_name := P+'.D$$';
- Command_File_Name := P+'.CMD';
- Instruction_File_Name := P+'.INS';
- CreatingFinalVersion := True;
- IF NOT File_Exists(batch_file_name)
- THEN
- BEGIN
- Assign(fn, batch_file_name);
- Rewrite(fn);
- {$IFDEF NormalVersion}
- WriteLn(fn, 'RUN ', P);
- {$ELSE}
- WriteLn(fn, 'RUNB ', P);
- {$ENDIF}
- Close(fn);
- END;
- IF NOT File_Exists(data_file_name)
- THEN
- BEGIN
- WriteLn;
- WriteLn('Data file not present on default drive.');
- WriteLn('You must specify a data file name on the DOS command line.');
- {$IFDEF NormalVersion}
- WriteLn(' (i.e. "COMPILE CRUSADE")');
- {$ELSE}
- WriteLn(' (i.e. "COMPILEB CRUSADE")');
- {$ENDIF}
- WriteLn('Program terminated.');
- Halt;
- END; {IF}
- END; {Handle_File_Name}
-
- BEGIN
- CreatingFinalVersion := False;
- UsingFinalVersion := False;
- DoingUpperCase := True;
- p1 := '';
- p2 := '';
- p3 := '';
- NumPara := ParamCount;
- IF NumPara >= 1 THEN
- BEGIN
- p1 := ParamStr(1);
- p2 := ParamStr(2);
- Capitalize(p1);
- Capitalize(p2);
- END;
- CASE NumPara OF
- 0 : BEGIN
- WriteLn;
- WriteLn('Command format: COMPILE filename');
- WriteLn(' (where "filename" is 1..8 characters; do not',
- ' specify any file extension.)');
- WriteLn;
- Halt;
- END;
- 1 : BEGIN
- IF (p1 = '?') OR (p1 = 'HELP')
- THEN
- BEGIN
- WriteLn;
- WriteLn('Command format: COMPILE filename');
- WriteLn(' (where "filename" is 1..8 characters; do not',
- ' specify any file extension.)');
- WriteLn;
- Halt;
- END
- ELSE Handle_File_Name; {process file name in p1}
- END; {CASE 1}
- 2 : BEGIN {CASE 2}
- IF (p1 = '/B') THEN
- BEGIN
- p1 := p2; {swap name to p1}
- p2 := '/B'; {swap /B to p2}
- END;
- IF (p2 = '/B') THEN DirectVideo := False;
- Handle_File_Name; {process file name in p1}
- END; {CASE 2}
- END; {CASE}
- END; {CHECKPARAMS}