[I6] Replacing DrawStatusLine() routine for Glulx

I’ve been playing around with Swedish Inform (Inform på Svenska by Fredrik Ramsberg). Currently I’m working on adapting the menu extension (domenu.h 6.2 by L. Ross Raszewski) to the Swedish. With a few changes it runs quite well on the z-machine, but I get the strangest error messages for Glulx.

Inform 6.31 for Win32 (10th Feb 2006)
[Including <infglk>]
domenu.h(154): Error:  *** Statement code gen: Can't generate yet ***

Looking at the offending line, we have

      #IFV3; read buffer parse;
      #IFNOT; read buffer parse DrawStatusLine;
      #ENDIF;

I’m not sure how to proceed from this point. I’ve been considering using the OnyxRing menu, which apparently handles z-code and glulx with equal abandon, but I can’t wrap my head around how to include it using my meager knowledge of I6 (and, besides that, have no idea if the author would countenance translating this and in effect remaking the extension for the Swedish).

Any ideas? I’m afraid raif is no longer the easily navigable resource it once was when it comes to I6.

The read statement isn’t used at all in Glulx. (“Can’t generated yet” is a badly worded error. It never will be supported, because keyboard-reading requires more work than can be abstracted into a single statement.) The standard I6 library uses this on the Glulx side:

KeyboardPrimitive(buffer, parse);

But this may not get you what you want, depending on what domenu.h is doing. I suspect you will need to know some I6 to adapt this.

1 Like