Inform - Support - Patches

About Patches  


DM4 Errata  

Issue L61118     [previous patch]

'thedark.initial' is never called
Submitted by: Nathan Summers     Appeared in: Library 6/11 or before     Fixed in: -

The library thoughtfully provides thedark.initial, but it is never called unless you are diabolical enough to make thedark contained by some location, which I'm sure is not what it was meant for. The DM is a bit contradictory about the purpose of thedark.initial, but the functionality that makes the most sense is that it is called at the transition from lighted to darkened. This makes up a gap in functionality: NewRoom() is called on light-to-light and dark-to-light; DarkToDark() is called on dark-to-dark, but absolutely nothing is called on light-to-dark.


Move line 1962 of verblibm.h down two lines as shown:

  [ NoteArrival descin;
      if (location ~= lastdesc) {
          if (location.initial ~= 0) PrintOrRun(location, initial);
          if (location == thedark) { lastdesc = thedark; return; }   ! This line moved
          descin = location;
          lastdesc = descin;

Last updated 17 April 2013. This web site has not been fully supported since April 2008. Information may be out of date. This page was originally managed by Roger Firth.