Display multipage PDF within Inform 7 game

I don’t think this is possible directly, but I wonder whether there an “image gallery” extension in existence already. Thanks in anticipation.

Vorple is the only way to do this.

1 Like

Thanks. I’ll look into this.

Or even simpler would be using Quixe with its option to autolink URLs. But then you have to output the URL in full. And it wouldn’t be within the game.

I have thought before that a rather simple Glk extension would be a function that opens a URL in the default browser (same browser for a web app, OS browser for a desktop app).

2 Likes

I might use Simple Graphical Window by Emily Short.

I’ve converted the PDF to a series of PNG images, which I’ve reduced to 608x860 (the same height as the map in Counterfeit Monkey).

Currently it’s working on Windows Gluxe but not on Quixe (v2.2.0). Are there any other drawbacks to this approach?

You can follow the instructions here to set up Quixe to work with your work’s images:

2 Likes

Cheers. I’ll have to download Python for that. Is there a recommended version or should I just get the latest Python 3 for Windows 10?

Latest version of Python.

You might also try ifsitegen.py . This is a newer script (also python). I haven’t updated the wiki page to mention it, but it’s more of an all-in-one solution. Let me know if it’s helpful.

3 Likes

That looks perfect, thanks.

I see it uses

the “Quixe” or “Parchment” interpreter, depending on the game file type.

I guess that means Glulx and Z-code respectively. I’m as confused as ever, partly about whether Parchment really is an interpreter if there are only three (Glulxe, Git and Quixe), and partly because I think Parchment handles Glulx files now by using Quixe. What exactly is Parchment?

It just worked! Thank you. One niggle is that (presumably because it uses the Standard template’s play.html as its index.html) it doesn’t reproduce the extra links from the original index.html. For example, my release line is

Release along with the “Quixe” interpreter, a “Standard” website, an introductory postcard, and a file of “(file description)” called “(file name)”.

but the postcard and my own file don’t appear now. I could do this manually after running the script, but would it be possible for the script to extract this from the game file and the materials directory?

Parchment is like Lectrote and Gargoyle: it’s a multi-VM interpreter, that handles loading the storyfile, starting up the correct VM, and hooking the VM up to the IO system.

1 Like

Hm. The script was more for turning existing Inform 6 game files into a web site, without using all of I7.

It’s hard to replicate everything I7 does without parsing the I7 source code. The answer here may be to run ifsitegen.py once and copy the necessary .js files over into the directory that I7 builds. Or go back to the older blorbtool.py solution that’s on the wiki page… I apologize if this has led you down a garden path!

1 Like

The I7 documentation refers to “Parchment” as a Zcode-only interpreter. That’s from several years ago and I think it was simplifying somewhat at the time.

1 Like

Thanks. I guess then that Parchment would be good for someone with a website and multiple types of game file, but as I’ve got my one Glulx game running on Quixe I might as well just stick with Quixe. Does that sort of sum it up?

I’ll try that script tomorrow and compare results. Thanks again.

Unless you use stylehints (for coloured text etc), in which case my Parchment template for Inform 7 would be an improvement over Quixe. Though you can manually set colours by updating the CSS in the Quixe template.

1 Like

Do you know which one is more popular to the user? And which one is easier to use for the author, considering I’m not on Windows/Mac, but on Raspberry Pi.

I’ve derailed my own topic! Sorry! Maybe some of this generic stuff (not directly about images in web browsers) might have been better here: List of glulx/.gblorb interpreters

They’re all pretty easy, though Parchment is easier as a reader as you don’t need to download anything. Though if you want save files Lectrote or Gargoyle is better.

As an author you generally wouldn’t mess around with Lectrote or Gargoyle yourself, but you might if you want your own Parchment instance. Inform 7 makes that pretty simple too though.

1 Like

Just to sum this up, here’s what I did in the end. What I needed wasn’t really an “image gallery” (as originally mentioned) or a direct way of displaying a PDF file, but a means of displaying one image at a time and allowing the player or game to choose which one.

  1. Converted the six-page PDF file to six PNG images using PDFill PDF Tools.
  2. Reduced them in size to 608x860, using GIMP, the same height as the map in Counterfeit Monkey.
  3. Used Simple Graphical Window by Emily Short to display one image at a time.
  4. Needed a couple of extra lines as a temporary fix to that extension.
  5. After “releasing” the game from Inform 7, used blorbtool.py to ensure that Quixe can display the images when the game is played online.

You can see the final result in Daddy’s Birthday – just type “walkthrough” to see (what was) the PDF. Thanks for your help.

1 Like