Inform - Support - Patches

About Patches  


DM4 Errata  

Issue L61018

Inventory with a container
Submitted by: Francesco Cordella     Appeared in: Library 6/10 or before     Fixed in: -

In some Inform games there is a problem with inventory, for example:

  You are carrying a pen, a note-pad and a bag,
  inside which there are a sheet and a match.

Well, if you drop the bag and then you take it again, you'll have:

  You are carrying bag, inside which there are
  a sheet and a match, a pen, a note-pad.

But, the pen and the notepad are not in the bag!


To solve this I changed VerbLibm.h: in the [ WriteAfterEntry routine, I removed one of the last lines (if (c_style & TERSE_BIT ~= 0) and I added: print ")" to the line above, with this result:

  (@pull listing_size; @pull listing_together; @pull lt_value; print ")";)

Then, in English.h, ListMiscellany phrase n.22 I added a parenthesis before the word "inside", so it results in:

  22: print " (inside ";
Update (by Daniel Lackey)

It seems there's still a bug when displaying tall inventories. For example:

  You are carrying:
    your bag
      your gun
      your cellular phone
  )  your clothes (being worn)

I cured this by changing the last line of the replaced WriteAfterEntry -- originally just print ")"; -- to:

  if (inventory_style==FULLINV_BIT + ENGLISH_BIT + RECURSE_BIT) print ")";

Probably not the most elegant solution, but it seems to work.

Update (by Cedric Knight)

The fix causes a close quote to appear in other, unintended places, and is very similar to the easier measure of setting TERSE_BIT in inventory style. If this is worrying testers, then simply add TERSE_BIT to the default inventory style, and replace InvWideSub. IMHO the inventory listing is not ambiguous because of placement of commas and use of 'is' or 'are'.

Last updated 17 April 2013. This site is no longer supported; information may be out of date.
Maintained as a historical archive by the Interactive Fiction Technology Foundation. Copyright 1993-2018 IFTF, CC-BY-SA unless otherwise noted.
This page was originally managed by Roger Firth.