Trying to compile Version 2/200807 of Glk Events by Dannii Willis

I am trying to get a project up and running in 6M62 that compiled successfully in the past on 6L38. I had to install several extensions, and I’m not sure I’ve got all the right versions. (I don’t remember having to install so many extensions last time, but maybe I’ve just forgotten?) The version of Glk Events that’s installed is Version 2/200807. The error I am now getting is this:

Report on Translation: Failed
Produced by Inform 7 (build 6M62)
(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)

In Chapter - Basic event handling, Section - Event result variables in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glk event type is a g-event variable’ appears to say two things are the same - I am reading ‘glk event type’ and ‘g-event variable’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘John is Paul’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Abbey Road is a lighted room’ says that something called Abbey Road exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.


In Section - The glulx input handling rules in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glulx input handling rules are a g-event based rulebook’ appears to say two things are the same - I am reading ‘glulx input handling rules’ and ‘g-event based rulebook’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘John is Paul’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Abbey Road is a lighted room’ says that something called Abbey Road exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)

Were you using Glk Events before? I’m guessing you weren’t and now find you need it to support some other bits and pieces? But, you tell me.

-Wade

When I run a working version of the old project (compiled in 6L38) and type “version,” Glk Events is not on the list, but neither is another extension that I am pretty sure I used (which I’m guessing doesn’t appear because it is included by another extension?) So, I don’t know if Glk Events was used before or not.

I am using Flexible Windows.

Let me check my WIP. I’ve been through a similar thing and I’m using 6M62, so I might be able to get some pointers. I definitely have strong memories of Flexible Windows being the fundament. As in, it was the fussiest to get going, but once it was going, other things fell into place.

-Wade

Okay. My load in starts with

Flexible Windows version 15/210811

and it includes these, so you’ll also need these:

version 1/140516 of Alternative Startup Rules by Dannii Willis.
version 10/160919 of Glulx Entry Points by Emily Short.
version 5/140516 of Glulx Text Effects by Emily Short.

try putting those four together for starters. If they still cause trouble in your real project, perhaps put them together in a blank project just to verify that it can boot.

-Wade

1 Like

PS - In Github, you’ll need to go to the 9.3 branch to find some of these.

Here’s a direct link to Danni’s 9.3 extensions, where you can get Alternative Startup Rules.

-Wade

Glk Events should run fine just by itself in 6M62.

I suspect the issue might be an incompatible version of Glulx Entry Points (as Glk Events was extracted from it). The latest version of GEP for 6M62 is 10/200602.

1 Like

Thanks!

I was having trouble installing version 10/200602 of Glulx Entry Points. It seemed like the old version (10/140425) kept popping up.

But now, when I go to

“Open installed extensions” → Emily Short → Glulx Entry Points

Version 10/200602 of Glulx Entry Points (for Glulx only) by Emily Short shows up. So I think that means I’ve got the right version installed now…

And right now, this project will not compile:

“testing” by me

Include Glk Events by Dannii Willis.

Lab is a room.

Just checking, are you using the original 6M62, or the 6M62 mode in 10.1?

This one:

inform screenshot

(The original, I think)

So I’m using Glk Events 2/200807, which includes 1/160919 of Glulx Definitions.

-Wade

As far as I can tell, that’s what I have, too.

When I go to

“Open installed extensions” → Dannii Willis → Glk Events

I see

Version 2/200807 of Glk Events (for Glulx only) by Dannii Willis begins here.

When I go to

“Open installed extensions” → Dannii Willis → Glulx Definitions

I see

Version 1/160919 of Glulx Definitions (for Glulx only) by Dannii Willis begins here.

I’m not sure if there’s another way to verify which versions of the extensions it is trying to use.

That seems a pretty safe way to check. I mean, on the Mac, sometimes I have issues where if I’m fiddling with extensions, duping and renaming them within the same folder, the program can keep referencing the original file it built form. I solve this by relaunches / taking the dupe totally out of the original folder, etc, and eventually it works. But if Inform itself is telling you it’s pointing at the files you want it pointing at, I expect they’re the right ones.

Has anything changed since you said ‘And right now, this project will not compile:’. What compile error were you getting on that compile? Or what error are you getting now? We may need to do more to try to replicate the problem.

-Wade

PS - I just put your “testing” by me demo into a blank project – albeit in the current Inform, but set to act as 6M62 – and it booted okay.

-Wade

Thank you.

Right now, when I try to compile this:

"testing" by me

Include Glk Events by Dannii Willis.

Lab is a room.

I get this:

Report on Translation: Failed
Produced by Inform 7 (build 6M62)
(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)

In Chapter - Basic event handling, Section - Event result variables in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glk event type is a g-event variable’ appears to say two things are the same - I am reading ‘glk event type’ and ‘g-event variable’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Laurel is Hardy’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Blue-Ridge Mountains is a lighted room’ says that something called Blue-Ridge Mountains exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.


In Section - The glulx input handling rules in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glulx input handling rules are a g-event based rulebook’ appears to say two things are the same - I am reading ‘glulx input handling rules’ and ‘g-event based rulebook’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Laurel is Hardy’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Blue-Ridge Mountains is a lighted room’ says that something called Blue-Ridge Mountains exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)

When I try to compile the original project, I get this:

Report on Translation: Failed
Produced by Inform 7 (build 6M62)
(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)

In Chapter - Basic event handling, Section - Event result variables in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glk event type is a g-event variable’ appears to say two things are the same - I am reading ‘glk event type’ and ‘g-event variable’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Adams is Jefferson’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Virginia is a lighted room’ says that something called Virginia exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.


In Section - The glulx input handling rules in the extension Glk Events by Dannii Willis:

Problem. The sentence ‘The glulx input handling rules are a g-event based rulebook’ appears to say two things are the same - I am reading ‘glulx input handling rules’ and ‘g-event based rulebook’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Adams is Jefferson’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Virginia is a lighted room’ says that something called Virginia exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)

Since then I think I also tried the version of Glulx Entry Points that you said you were using, 10/160919. (This was after trying the version that Dannii linked to.)

I think the other version numbers line up with the versions you mentioned.

I might try sending you my copies of Glk Events and its two dependencies, and then you can see if your “testing” project can boot with those. I just have to change their names back to normal first. I can guarantee the name was all I changed – extensions whose names but not contents I changed I call ‘raw’ in my WIP.

One last thing - does the project itself have an extensions folder? Could there be any mismatch between versions of extensions in that folder? Because they will take precedence over any in the general Inform installation.

-Wade

OK, now I have tried pasting the contents of the Glk Events extension into a new story, like this:

"testing glk events" by me


"A low level event handling system"

Use authorial modesty.

Include version 1/160919 of Glulx Definitions by Dannii Willis.



Chapter - Basic event handling

Section - Event result variables

Include (-
Global GE_Event_Struct_type;
Global GE_Event_Struct_win;
Global GE_Event_Struct_val1;
Global GE_Event_Struct_val2;
-) before "Glulx.i6t".

The glk event type is a g-event variable.
The glk event type variable translates into I6 as "GE_Event_Struct_type".
The glk event window ref is a number variable.
The glk event window ref variable translates into I6 as "GE_Event_Struct_win".
The glk event value 1 is a number variable.
The glk event value 1 variable translates into I6 as "GE_Event_Struct_val1".
The glk event value 2 is a number variable.
The glk event value 2 variable translates into I6 as "GE_Event_Struct_val2".



Section - The glulx input handling rules

The glulx input handling rules are a g-event based rulebook.



Section - Intercepting glk_select()

[ Rather than implementing HandleGlkEvent() as GEP did, we will intercept glk_select(). This allows us to intercept events before the Inform 7 template starts processing them. ]
Include (-
Replace glk_select;
-) before "Glulx.i6t".

Include (-
! Replacement function from Glk Events by Dannii Willis
[ glk_select event_struct;
	! Call the real glk_select
	@push event_struct;
	@glk 192 1 0;
	
	! Copy values to our variables
	GE_Event_Struct_type = event_struct-->0;
	GE_Event_Struct_win = event_struct-->1;
	GE_Event_Struct_val1 = event_struct-->2;
	GE_Event_Struct_val2 = event_struct-->3;
	
	! Run the glulx input handling rules (but disable rules debugging because it crashes if keyboard input events are pending)
	@push debug_rules; @push say__p; @push say__pc;
	debug_rules = false; ClearParagraphing(1);
	FollowRulebook( (+ the glulx input handling rules +), GE_Event_Struct_type, true );
	@pull say__pc; @pull say__p; @pull debug_rules;

	! Copy back to the original event structure
	event_struct-->0 = GE_Event_Struct_type;
	event_struct-->1 = GE_Event_Struct_win;
	event_struct-->2 = GE_Event_Struct_val1;
	event_struct-->3 = GE_Event_Struct_val2;
	return 0;
];
-) after "Infglk" in "Glulx.i6t".




And I get this error:

Report on Translation: Failed
Produced by Inform 7 (build 6M62)
(Each time Go or Replay is clicked, Inform tries to translate the source text into a working story, and updates this report.)

In Chapter - Basic event handling, Section - Event result variables:

Problem. The sentence ‘The glk event type is a g-event variable’ appears to say two things are the same - I am reading ‘glk event type’ and ‘g-event variable’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.


In Section - The glulx input handling rules:

Problem. The sentence ‘The glulx input handling rules are a g-event based rulebook’ appears to say two things are the same - I am reading ‘glulx input handling rules’ and ‘g-event based rulebook’ as two different things, and therefore it makes no sense to say that one is the other: it would be like saying that ‘Tarzan is Jane’. It would be all right if the second thing were the name of a kind, perhaps with properties: for instance ‘Treehouse is a lighted room’ says that something called Treehouse exists and that it is a ‘room’, which is a kind I know about, combined with a property called ‘lighted’ which I also know about.

Problems occurring in translation prevented the game from being properly created. (Correct the source text to remove these problems and click on Go once again.)

Alternative Startup Rules.i7x (6.2 KB)
Glk Events.i7x (2.2 KB)
Glulx Definitions.i7x (7.1 KB)
Try these three in your “testing”. In the project’s materials folder, put them in:
Extensions/Dannii Willis , creating those folders if necessaary (hopefully you don’t have to create the materials folder)
-Wade

1 Like

Ok, I was able to compile a minimum “Include Glk Events” project with those.

Alright! Well, I hope you can build forward from here. It seems like one of your extensions might have been the wrong version, or the IDE wasn’t drawing on one from where you thought it was. I guess we don’t know. But putting them in the project’s own extensions folder is a good way to make sure it’s pulling on the right files.

-Wade

2 Likes