the-infocom-files / enchanter

Enchanter
8 stars 3 forks source link

Entering the gallery without a light in superbrief mode vs otherwise #25

Open eriktorbjorn opened 5 years ago

eriktorbjorn commented 5 years ago

This is what entering the unlit gallery can look like in brief and verbose mode:

>EAST
Gallery
An eerie orange glow casts a pale, flickering light on the portrait gallery. The
eyes of the figures portrayed on the canvases seem to be faintly illuminated and
follow your every movement. After a moment, the source of light becomes clear: a
single lighted portrait flickers as if a flame were burning behind it.

>

And here's the same thing in superbrief mode:

>EAST
An eerie orange glow casts a pale, flickering light on the portrait gallery. The
eyes of the figures portrayed on the canvases seem to be faintly illuminated and
follow your every movement. After a moment, the source of light becomes clear: a
single lighted portrait flickers as if a flame were burning behind it.
Gallery

I think that looks pretty bad. The behavior appears to have been added in release 24, and is implemented like this in GALLERY-F:

<ROUTINE GALLERY-F (RARG)
     <COND (<AND <EQUAL? .RARG ,M-ENTER>
             <NOT <LIT? ,HERE <>>>>
        <COND (<AND ,SUPER-BRIEF
                <NOT <ZERO? ,GALLERY-POINT>>>
               <DESCRIBE-PORTRAIT-GALLERY>)>
        <FCLEAR ,HERE ,TOUCHBIT>)

In release 16 it looked like this instead:

<ROUTINE GALLERY-F (RARG)
         <COND (<AND <EQUAL? .RARG ,M-ENTER>
                     <NOT <LIT? ,HERE <>>>>
                <FCLEAR ,HERE ,TOUCHBIT>)

It should be possible to check if RARG equals M-FLASH to add the description after the room name instead. I made a very quick attempt at it but wasn't able to get it to work right, so take that for what it's worth.