the-infocom-files / witness

The Witness
3 stars 4 forks source link

Build Game #2

Closed AlexProudfoot closed 5 years ago

AlexProudfoot commented 5 years ago

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

AlexProudfoot commented 5 years ago

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

AlexProudfoot commented 5 years ago

The compiler reports 1 error.

[error MDL0100] places.zil:947: syntax error: expected object but found ')'
  in IFILE called at witness.zil:38
AlexProudfoot commented 5 years ago

Error corrected.

AlexProudfoot commented 5 years ago

The compiler reports 1 error.

[error MDL0100] places.zil:1083: syntax error: expected object but found ']'
  in IFILE called at witness.zil:38
AlexProudfoot commented 5 years ago

Error corrected.

AlexProudfoot commented 5 years ago

The compiler reports 2 errors.

[error ZIL0501] events.zil:606: non-constant initializer for table element '7': I-LINDER
[error ZIL0501] events.zil:609: non-constant initializer for table element '7': I-CAT
AlexProudfoot commented 5 years ago

There are no definitions for I-LINDER and I-CAT. A quick fix is to comment out their use like this.

<GLOBAL GOAL-TABLES
    <TABLE <TABLE <> <> <> <> 1 <> <> I-FOLLOW 4 4>
           <TABLE <> <> <> <> 1 <> <> I-PHONG 3 3>
           ;<TABLE <> <> <> <> 1 <> <> I-LINDER 4 4>
           <TABLE <> <> <> <> 1 <> <> I-STILES 9 9>
           <TABLE <> <> <> <> 1 <> <> I-MONICA 2 2>
           ;<TABLE <> <> <> <> 1 <> <> I-CAT 1 1>>>
AlexProudfoot commented 5 years ago

No build errors.

AlexProudfoot commented 5 years ago

Tidy the main file. Remove extraneous statements.

AlexProudfoot commented 5 years ago

No build errors.

AlexProudfoot commented 5 years ago

The following is needed in witness.zil in order to display time in the status line.

<VERSION ZIP TIME>
AlexProudfoot commented 5 years ago

The quick fix used above is probably the cause of crashes observed while playing the game. Try replacing I-LINDER and I-CAT with nulls.

<GLOBAL GOAL-TABLES
    <TABLE <TABLE <> <> <> <> 1 <> <> I-FOLLOW 4 4>
           <TABLE <> <> <> <> 1 <> <> I-PHONG 3 3>
           <TABLE <> <> <> <> 1 <> <> <>;I-LINDER 4 4>
           <TABLE <> <> <> <> 1 <> <> I-STILES 9 9>
           <TABLE <> <> <> <> 1 <> <> I-MONICA 2 2>
           <TABLE <> <> <> <> 1 <> <> <>;I-CAT 1 1>>>
AlexProudfoot commented 5 years ago

Crashes no longer observed.