the-infocom-files/stationfall

Maybe add <ORDER-TREE? REVERSE-DEFINED>

Opened this issue · 0 comments

At some point in late 1985, it appears the behavior of ZILCH changed in how it generates the object tree. ZILF, by default, emulates the older behavior. Usually the object trees aren't identical, but the children of an object are generally ordered the same way as in the original release.

In practical terms, that means that from Ballyhoo and onwards, ZILF generates object trees that are markedly different unless you include the directive <ORDER-TREE? REVERSE-DEFINED>. It's probably a good idea to put it in the main ZIL file. before including any further ZIL code. (This is a simplification. Some games were re-released after the switch. Perhaps most noticeably, the order of the spells in your spellbook differ in some releases of the Enchanter series. But we should probably try to follow the original release in that respect.)

I do not have any example of any bug caused by this, but I have verified with the "infodump" tool that the object tree matches the one of the original release much more closely. One example where this makes a visible (albeit unimportant) difference is with your starting inventory. This is what it looks like in the current ZILF compiled version:

>INVENTORY
You are carrying an Assignment Completion Form QX-17-T, a Class Three Spacecraft
Activation Form HB-56-V and a Robot Use Authorization Form JZ-59-G. You are
wearing a Patrol uniform and a chronometer. It seems that the Patrol uniform
contains an ID card.

In the original, it looks like this:

>INVENTEORY
You are carrying a Class Three Spacecraft Activation Form HB-56-V, a Robot Use
Authorization Form JZ-59-G and an Assignment Completion Form QX-17-T. You are
wearing a Patrol uniform and a chronometer. It seems that the Patrol uniform
contains an ID card.

Making the suggested change makes the ZILF compiled version match the original here.