Newsgroups: rec.arts.int-fiction
Path: nntp.gmd.de!news.ruhr-uni-bochum.de!news.rwth-aachen.de!uni-paderborn.de!fu-berlin.de!main.Germany.EU.net!EU.net!newsfeed.internetmci.com!in3.uu.net!world!olorin
From: olorin@world.std.com (Mark J Musante)
Subject: Re: [TADS] List of bugs & idiosyncrasies
Message-ID: <DvInKF.ALx@world.std.com>
Organization: The World @ Software Tool & Die
X-Newsreader: TIN [version 1.2 PL2]
References: <4tqa5u$m8e@newsgate.duke.edu>
Date: Fri, 2 Aug 1996 15:12:14 GMT
Lines: 72

Stephen Granade (sgranade@scratchy.phy.duke.edu) wrote:
> * The check for isqsurface is backwards in showcontcont().  That is, if
> you have a quiet surface, its contents are printed. (?!?)

I was puzzled by this too when I started writing my game, but I believe this
is the correct behavior.

Take a look at the following, for example:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#include <adv.t>
#include <std.t>

startroom: room
        sdesc = "Room With A Cue"
        ldesc = "A bare room: four walls, a ceiling, and a floor.  There's
                an old, battered table here. "
;

table: surface, fixeditem
        adjective = 'old' 'battered'
        noun = 'table'
        sdesc = "battered table"
        ldesc = {
                "The table is very old and battered and looks as if it's
                ready to fall apart. ";
                pass ldesc;
        }
        isqsurface = true
        location = startroom
;

cue: item
        adjective = 'snooker'
        noun = 'cue'
        sdesc = "cue"
        ldesc = "It's just an ordinary snooker cue. "
        location = startroom
;
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

If "isqusurface" is set to true, like above, we get the following transcript:

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
tr: the TADS Run-time v2.2.0.4   Copyright (c) 1993, 1994 Michael J. Roberts
A TADS Adventure
Developed with TADS, the Text Adventure Development System.
Room With A Cue
   A bare room:  four walls, a ceiling, and a floor.  There's an old, battered
table here.
   You see a cue here.

>put cue on table
Done.

>l
Room With A Cue
   A bare room:  four walls, a ceiling, and a floor.  There's an old, battered
table here.
   Sitting on the battered table is a cue.

>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=


However, if isqsurface is not set (or set to nil), we DON'T get the "Sitting
on the battered table..."

The game needs to list what's on surfaces that have isListed set to nil,
otherwise the player will never see them.

 - Mark
