Threaded Conversation extension needs testers

Well, actually it is. When a thing starts out of play, the system assumes it was defined implicitly (“it mentions the music”) and prompts you to define it as a subject.

But of course, backdrops don’t follow the normal rules of thing locations, as you’ve found. I’ll add an exception for them in the extension; thanks for identifying this oversight!

I’ll submit an extension update to the site (I needed to poke about that anyway), but meanwhile, you can replace the scan for unidentified subjects rule with this version:

When play begins (this is the scan for unidentified subjects rule): repeat with item running through things which are mentioned by something: if the location of the item is nothing and the item is not a person and the item is not a backdrop: [ People and backdrops might often begin the game out of play and be moved on and off; ] [ it's fair to assume that they're not secretly meant to be subjects. ] if the item is a subject: do nothing; otherwise: say "[The item] is a subject.[line break]".

Hi all,
and first of all thanks to ChrisC and the others for Threaded Conversation and Conversation Builder.
Still, I’d like to get it to work… It seems to collide with Automated Drawers by Emily Short, producing weird I6 compilation messages such as:

D:\Program Files (x86)\Inform 7\Compilers\inform6 \
    -wSDG +include_path=..\Source,.\ auto.inf output.ulx
Inform 6.33N for Win32 (20th August 2014)
auto.inf(65647): Error:  Expected routine name but found FindInParseList
> [ FindInParseList
auto.inf(42): Error:  No such constant as "BC_0"
auto.inf(661): Error:  No such constant as "CONSTANT_PACKED_TEXT_STORAGE"
auto.inf(12082): Error:  No such constant as "BC_3"
auto.inf(12082): Error:  No such constant as "BC_4"
auto.inf(12082): Error:  No such constant as "BC_5"
auto.inf(12086): Error:  No such constant as "BC_6"
auto.inf(12086): Error:  No such constant as "BC_7"

(and another hundred or so of these messages)

… or am I too much newbie to fix the obvious?

Thanks, everybody!!!

Huh. I haven’t used that extension of hers, but I assume she defines the same FindInParseList function there, as well. The I6 in TC is originally hers. It may be a simple collision between the two functions.

First of all, do you have the latest version of TC? (I submitted it to the Public Library a while ago, but never heard anything back.) Or, what version of Inform 7 are you using?

Hi Chris, thank you SO MUCH for that quick response. The inform community keeps amazing me.

Here’s the version info:
Threaded Conversations: v 5/140601 (should be the version from git)
Automated Drawers: v 6 (current Standard, as far as I can tell)
Inform: Inform 7 build 6L38 (I6/v6.33 lib 6/12N) SD

If there is anything else I can do, please let me know. Generally, I’m a bad but experienced programmer… just a bit new to inform.

Have a lot of fun,

Barnabas

Interestingly enough, I see that in Automated Drawers, she wraps that function inside a conditional directive:

[code](-

#ifndef FindInParseList;
[ FindInParseList obj i k marker;
marker = 0;
for (i=1 : i<=number_of_classes : i++) {
while (((match_classes–>marker) ~= i) && ((match_classes–>marker) ~= -i)) marker++;
k = match_list–>marker;
if (k==obj) rtrue;
}
rfalse;
];
#endif;
-)[/code]

It may be as simple as adding that to check to Threaded Conversation as well. So, try my new attached version and see if it works for you.

(I wasn’t able to reproduce your error messages when I tried my TC test suite project with AD included, but then I’m not actually using any automated drawers. If it’s still happening to you, even with this version of TC, try to condense the source code as short as possible to something that still compiles and malfunctions, and post it here.)

And thanks, but I can’t take full credit for responsiveness – I have this forum software configured to email me when one of my bookmarked threads has new replies.
Threaded Conversation v6.i7x (138 KB)

It is embarassing, but I can’t reproduce the problem myself - neither with the new version of the library, nor with the old. I’ll give it a closer look - thankfully, my WIP is properly version-controlled, so I can more or less easily reproduce what happened since I reported the problem.