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 the objects in your back room. This is what it looks like in the current ZILF compiled version:
You see a table and a combination telephone/answering machine here. On the table
you see your passport, a hacksaw, an address book, a small case, your
Boysenberry computer and a letter.
In the original, it looks like this:
You see a combination telephone/answering machine and a table here. On the table
you see a hacksaw, an address book, a small case, your Boysenberry computer, a
letter and your passport.
Making the suggested change makes the ZILF compiled version match the original here.