the-infocom-files/bureaucracy

Build Game

Closed this issue · 10 comments

Build the game using the ZILF toolset. Eliminate compilation and startup errors where necessary.

Note that this build requires text.file.

Ensure the main file has a release and a version. The names of included files should be in lower case for linux/macos compilations.

The compiler reports 1 error.

[error MDL0214] formdefs.zil:86: GLOBAL: already defined: LICENSE-FORM
  in EVAL called at formdefs.zil:86
  in FINISH-FORM-BUILD called at formdefs.zil:83
  in REALLY-BUILD-FORM called at formdefs.zil:58
  in BUILD-FORM called at forms.zil:75
  in INSERT-FILE called at bureaucracy.zil:53

This was a bit difficult for me to interpret but I eventually settled on commenting out line 43 of random-globals.zil.

<SETG LICENSE-FORM <>>

Now, the compiler reports 2 errors.

[error ZIL0113] parser.zil:2053: SETG: argument 1: bare atom argument must be a variable name
[error ZIL0113] parser.zil:2055: SETG: argument 1: bare atom argument must be a variable name

The errors refer to

<SETG P-PRSO <BUT-MERGE ,P-PRSO>>

and

<SETG P-PRSI <BUT-MERGE ,P-PRSI>>

P-PRSO and P-PRSI are defined in random-globals.zil lines 18-19 as

<CONSTANT P-PRSO <ITABLE NONE 32>>
<CONSTANT P-PRSI <ITABLE NONE 32>>

They should both be defined as globals, thus.

<GLOBAL P-PRSO <ITABLE NONE 32>>
<GLOBAL P-PRSI <ITABLE NONE 32>>

The build needs an abbreviations file.

No build errors.

Tidy the main file. Remove extraneous statements.

Build errors due to double definitions.
Comment out the following lines in random-globals.zil.

<SETG SEX <>>
<SETG FERROR-COUNT 0>
<SETG P-LASTADJ <>>