Windows IDE: how to track the extensions directories?

Extensions:The Standard Rules mentions that this line is always included:

Include the Standard Rules by Graham Nelson.

I’ve used 6G95 and 6L38 and both have different locations for the extensions.

6G95: c:\Program Files (x86)\Inform 7\Inform7

6L38: c:\Users\Andrew\Documents\Inform\

Which led me to wonder if there is a way to change where the Inform Windows IDE checks manually or with the registry. It seems like it can be changed, but I don’t know how. And doing a registry search turned up nothing.

The thing is, I’d ideally like one Standard Rules directory for super-small projects with a stripped down parser, and one for standard projects. I can of course swap out two versions of the file when I change the project I’m focused on, but that’s bound to create unexpected nuisances occasionally when I forget to swap them.

I’d feel much more comfortable changing, say, the registry, as I have a batch file to open up various Inform projects and so I could just add a line to point to the appropriate extension directories.

Any suggestions on how I could change the extensions directory the Windows IDE sees? Thanks!

This isn’t quite right. Inform looks for extension in three places:

  1. In a directory under where it is installed. This is where the standard extensions that come with Inform live. For 6M62 it’s the “Internal/Extensions” sub-directory of the install location, though it was in a slightly different place in past versions.
  2. In the “Inform/Extensions” sub-directory of your “My Documents” location. This is where user installed or created extensions live.
  3. In an “Extensions” sub-directory of a project’s “materials” directory. This is where project-local extensions live.

In general it’s a very bad idea to edit any of the standard extensions in the install directory. There are a couple of ways of trying to set things up:

  1. You can change the home directory used for user installed extensions from its “My Documents” default by creating a “home.txt” file in the same directory as the executable. See the help on “Home Directory” under the “Help / Windows Inform Notes” menu. You could then copy the standard extensions to this new home directory and edit it: ones in this directory will take precedence over those in the install directory. But you have to be careful: if you use a copy of Standard Rules with any other version of the compiler than the one it came with, you’ll get lots of strange errors.

  2. You could set up a copy of the standard rules in the “materials” directory for the project, and use that. This is probably the best approach. The only real problem is that at the moment you can’t easily edit such project-local extensions from the front-end.

Would it be simpler to just have a simplified Standard Rules extension that replaced all the sections of the Standard Rules you don’t want with nothing?

David, thanks for the explanation! Your 2.2 note is very helpful. I’d never really used the materials directory for more than adding graphics before, but that’ll change now.

Yes, that’s what I’m going for. But in some cases, some things might be useful. For instance, in a game with no NPCs, I might cut out talking/giving to verbs.

I’d obviously have to be careful, but I’m willing to accept the risks of modifying the standard rules, and I’d always keep a backup.

To bump this…I finally had time to sit down and sort things out.

My source is at:
C:\games\inform\ectocomp16.inform\Source

The materials folder is at:
C:\games\inform\ectocomp16 Materials

I copied the Standard Rules to a backup file, then copied them to
C:\games\inform\ectocomp16 Materials
C:\games\inform\ectocomp16 Materials\Extensions
C:\games\inform\ectocomp16 Materials\Extensions\Graham Nelson
C:\games\inform\ectocomp16 Materials\Inform\Extensions
C:\games\inform\ectocomp16 Materials\Extensions\Inform
C:\games\inform\ectocomp16 Materials\Inform\Extensions\Graham Nelson
C:\games\inform\ectocomp16 Materials\Extensions\Inform\Graham Nelson

However, the IDE doesn’t recognize the new standard rules anywhere.

Again this isn’t a huge deal…I can work around it. But if I’m missing something dumb it’d be great to know.

Also, modifying home.txt in C:\Program Files (x86)\Inform 7\inform7.exe to say

c:\games\inform\tempext

doesn’t point to the new extensions either. Again I tried various folder name combinations.

Anything I’m flaking on here? Thanks!

For recent versions, the materials folder is “basename.materials”, not “basename Materials”. Is that what you’re running into?

(Also, 6G95 is not a formal release number. There was 6G60 and then 6L02. The IDE might have a later build number, but that’s not what compiled games will say.)

Oh yes. I should’ve mentioned. It’s an old enough version, the materials folder still has a space in it. I used Release:Open Materials Folder to checked

I also don’t know where I got 6g95 from. 6g60 is what I have.

This is really low priority as 1) I have a workaround and 2) I’m using a pretty old version of the IDE. But it I am missing something silly, it’d be awesome to know.

The whole idea of searching for extensions in materials/Extensions was added in 6L02. 6G60 just doesn’t have that feature.