Removing lines before Banner text

Does anyone know if it is possible to remove the blank lines that are printed before the Banner text?

Below is a title screen I created for a new Inform 7 game. The Banner text is printed with the command say "[banner text]" when play begins.

I’m assuming I could extensively rewrite the Rule for printing the banner text:, replacing it with something custom, but I thought I’d ask before doing that in case there’s an easier way.

When I test this out, I see the extra lines when the width of the image is too large for the window. Apparently the player in Inform does this. When I release and run it in Gargoyle, I don’t see the extra lines. On the other hand, Gargoyle doesn’t scale the image!

Here’s the game running in Lectrote v1.4.3 with two different window heights, which seem to affect the blank space above the banner.

Here’s the game running in Gargoyle v2022.1 with a less-than-full screen height window. Again, less empty space between the image and the banner text.

I may just forget about trying to fix this given the vagaries that exist between the different interpreters and move on to other things.

The 3 first blank lines are hard-coded in I7 at the I6 template level.

[ VIRTUAL_MACHINE_STARTUP_R;
	CarryOutActivity(STARTING_VIRTUAL_MACHINE_ACT);
	VM_Initialise();
	! It is now safe for the paragraph breaking between rules mechanism to work
	if (say__pc & PARA_NORULEBOOKBREAKS) say__pc = say__pc - PARA_NORULEBOOKBREAKS;
	print "^^^";
	rfalse;
];

You should be able to remove them with a replace:

Include (-
[ VIRTUAL_MACHINE_STARTUP_R;
	CarryOutActivity(STARTING_VIRTUAL_MACHINE_ACT);
	VM_Initialise();
	! It is now safe for the paragraph breaking between rules mechanism to work
	if (say__pc & PARA_NORULEBOOKBREAKS) say__pc = say__pc - PARA_NORULEBOOKBREAKS;
	! print "^^^";
	rfalse;
];
-) replacing "VIRTUAL_MACHINE_STARTUP_R".

EDIT: updated the I6 code from 6L38 to Inform 10. The say__pc […] line is new, I don’t know if you should remove it, I haven’t tested in Inform 10.

2 Likes

@CrocMiam - When you get a chance could you re-post the 6L38 code since that’s the version of Inform that I’m using for this game.

Also, I don’t have a lot of experience using Inform 6 code with Inform 7. I assume that I just include the Include (- ... -) replacing "VIRTUAL_MACHINE_STARTUP_R" example somewhere in my Inform 7 source - correct?

Sure, I’m putting my kid to bed and then I’ll post a 6L38 version. The replacement method is a bit different.

1 Like

Here is the 6L38 version (probably works with all pre v10 versions):

Include (-
[ VIRTUAL_MACHINE_STARTUP_R;
	CarryOutActivity(STARTING_VIRTUAL_MACHINE_ACT);
	VM_Initialise();
	rfalse;
];
-) instead of "Virtual Machine Startup Rule" in "OrderOfPlay.i6t".
1 Like

I forgot to mention it because this is such a short piece of code and I don’t like including full extensions just to remove a line but there’s an extension that makes it very simple:

Include Alternative Startup Rules by Dannii Willis.

The initial whitespace rule does nothing.
2 Likes

@CrocMiam - Once I got home and ran Inform I realized that the version that I’m using is 6M62, not 6L38. I’m assuming that the 6L38 code will working in 6M62 based on your “pre v10” comment.

Let me know if my assumption is incorrect.

I can’t right now test but I’m quite confident it will work in 6m62.

1 Like

@CrocMiam - Turns out I’m already using Jon Ingold’s Flexible Windows v15/170131, which requires Dannii Willis’ Alternative Startup Rules v1/14/0516.

So adding The initial whitespace rule does nothing. was a quick fix.

BEFORE

AFTER

If you get a chance to answer my Inform 6 6L38 vs. 6M62 question at your convenience it is appreciated.

And thanks for all your help.

2 Likes

@CrocMiam - Even though I was able to solve my issue with not printing the extra lines above the banner using the Alternative Startup Rules extension, I wanted to see how the Inform 6 code you provided would work.

Here is the Inform 6 code for Inform 6L38/6M62 that you provided to remove the lines above the banner.

Include (-
[ VIRTUAL_MACHINE_STARTUP_R;
	CarryOutActivity(STARTING_VIRTUAL_MACHINE_ACT);
	VM_Initialise();
	rfalse;
];
-) instead of "Virtual Machine Startup Rule" in "OrderOfPlay.i6t".

And the results using the Onyx starter project

Here is the Inform 6 code for Inform 10.1.2 that you provided to remove the lines above the banner.

Include (-
[ VIRTUAL_MACHINE_STARTUP_R;
	CarryOutActivity(STARTING_VIRTUAL_MACHINE_ACT);
	VM_Initialise();
	! It is now safe for the paragraph breaking between rules mechanism to work
	if (say__pc & PARA_NORULEBOOKBREAKS) say__pc = say__pc - PARA_NORULEBOOKBREAKS;
	! print "^^^";
	rfalse;
];
-) replacing "VIRTUAL_MACHINE_STARTUP_R".

And the results using the Onyx starter project.

Thanks again for your help.

1 Like

Thanks for the report. It looks like there are 4 lines then 1 line in v10 (whereas 6M62 is 3 lines then 1 line). There must be another place in v10 adding that extra line.