Inform 7 6L38 Third Party Extension Compatibility List

If I’m reading Mark’s post correctly, he saying this is the process to submit an extension to either repository; both will continue to exist.

So how does an extension get into the PL? Does the author have to explicitly request that it be added? That seems odd, since everything in both locations is licensed CC-BY.

Yes, but it shouldn’t be the extension author’s choice. The librarian should put 6G60 extensions to the web site and 6L38 extensions to the Public Library. Otherwise if someone updates their existing extension and it goes to the web site the 6G60-compatible version is lost.

Well, the Public Library is more restrictive than that; it only accepts extensions which are 6L38 compliant, fully “adaptive”, and apparently meet some minimum decency threshold (whatever those may be). I think Mark is saying (correct me if I’m wrong!) that all other extensions, whether 6G60, 6L38, or otherwise, will go to the old, inform7.com directory.

Perhaps we need a formal document to describe the process. It’s been mostly just me doing stuff, which is not a very transparent way of handling the situation. Let me take a stab at writing something up.

Hey there,

I want to update to 6L for various reasons, but I can’t because my game currently relies on Glimmr for the ability to draw .png images into specified locations with specified sizes. Is there any other way I can realistically get this working without waiting for the community to update Glimmr?

Sorry, Glimmr hasn’t been much of a priority to me (or anyone else it seems.) But it would help to know which of the Glimmr extensions get used.

Glimmr is pretty interdependent. The main extensions all include each other.

For the record, here’s what Leadlight Gamma uses:

  • Glimmr Animation Fader - Black 1/111022
  • Glimmr Automap Tileset 1/111022
  • Glimmr Automap 3/111022
  • Glimmr Canvas Animation 1/111022
  • Glimmr Canvas-Based Drawing 3/111022
  • Glimmr Drawing Commands 2/111022
  • Glimmr Graphic Hyperlinks 1/100805

And then some other things they probably include are Glulx Entry points, Glulx Status Window Control, Fixed Point Maths.

-Wade

Ah, the bottom four on that list are probably all essential, and if you’re using the automap ones then they all need to be included of course.

I just use Canvas Based Drawing and Drawing Commands, and was also hoping to use hyperlinks and possibly animation in the future.

But the reason I was asking is because it’s the only thing stopping me moving to 6L38 that’s all :slight_smile: don’t worry if not, I can wait!

Can you explain what these replacements should look like? I grabbed the Undo Output Control (Erik Temple) extension out of github, and I’m trying to figure out how to replace L__M so that it compiles.

It depends on the library message in question, but you should instead be printing an appropriate Response. If it’s a built-in one look at the I6T for how it should be called, I don’t fully understand the pattern of those.

So the sort of thing I’m talking about in the Undo Output Control extension is:

if (ForActivity(PRINTING_A_PARSER_ERROR_ACT) == false) L__M(##Miscellany,10);

What is a Response? Also, I don’t know what the I6T is, where should I look for it?

Responses are the new system that replaced library messages; they can be easily customized through I7 without having to use new extensions, but they’re a bit messier to call in I6. The I6Ts are the I6 template components in the Inform 7/Internal/I6T folder.

In this case, depending which message you want, you need to call

PARSER_ERROR_INTERNAL_RM('D'); (with some character from ‘A’ through ‘W’); these correspond to the parser error internal rule responses.