Getting the Superglús toolchain to work

I’m trying out some retro IF authoring and I’ve found InPAWS (inpaws.speccy.org/indexEng.html) that seems to be a good tool. I thought it might be a good idea to not having to mess around with an emulator during development and debugging the adventure so the option to create a Glux file to run with Gargoyle is interesting.

I managed to compile my source file with InPAWS.
That file is now the input to txtPaws. This also works.

My problem is instead blc. When I try to use it it just sits there and don’t appear to do anything. As the documentation is either missing or in Spanish I’m having a bit of a problem. Can someone please help out?

Do you actually need to use blc? blc is a Blorb packager, which is only really necessary if you want to wrap your Glulx game file up with graphics, sound and/or metadata into a Blorb file.

I haven’t used InPaws and TxtPaws, but presumably the result of these (and what you’re trying to use as the input to blc) is a Glulx file, i.e. a file with a “.ulx” extension? If so, have you tried just loading that into your favourite Glulx interpreter?

Regrettably not. InPaws generates either a Superglus .SCE source file or a Superglus/txtPaws .TXP source file. The TXP can be compiled to a SCE using TxtPaws. So the problem is getting from the SCE to the ULX.

I fist compile the source PAW file using
inpaws cs Ticket.paw
and it generates a SCE file. The Superglús documentation at caad.es/superglus/doku.php is Spanish only. There is an IDE (in Spanish) for MS Windows, but I’m using a Linux computer and I also want a command line solution to automate the process.

In that case the problem can’t be blc then, can it? As it’s just a Blorb packager, your problems must be with the stage before.

Well, that’s one thing less to worry about then. Now I’m down to four or five programs that I have to try in different combinations to try to get from a SCE to a ULX…

Ok, I found a Spanish page I managed to translate so what I have to do is
txtpaws Ticket.txp (this should be optional as inPaws can generate SCE directly)
spg Ticket.sce
glulxa -i Ticket.ula -o Ticket.ulx

I’ll let you know how it works out.

Looks like it works, but I get a few “AVISO: Se intentó escribir mensaje del sistema inexistente: 62” and time seem to pass too quickly when running the adventure with Gargoyle.

Hi,

I’m Superglus author, so I think I can enlighten this a bit:

First, I would like to point out to my guide to convert PAWS adventures to Glulx files, that sadly is in spanish, but maybe can help you if you pass it through some translator. These instructions are for converting the original snapshot file into a file that can be compiled within the Superglus GUI (for Windows), that is, to get the working TXP file, you have already found how to compile manually to .ulx so it seems you won’t need the GUI anyway, but I just want to clarify what the guide is for. The URL for the guide is: foro.caad.es/viewtopic.php?f=6&t=4220. You can skip the “rare/weird characters” part on that guide, is only for spanish games that have non ASCII127 characters.

Basically, thorugh a PAW->Glulx conversion using Superglus you will face a few problems:

  1. Vocabulary: Superglus takes 10 characters per word, while PAWS only takes 5. That means that on original vocabulary the word “ARMCHAIR” was defined as “ARMCH”. If you directly compile to Superglus, then either you expect the player to write only the 5 chars or it will fail. The best option obviously is to manually correct all vocabulary until all words in it have at least 10 characters (if the word is long enough, of course). For vocabulary there is also a “B Plan”: you can go pgl folder, edit the interpre.pgl file, look for “:extpal_while_hay_palabra” and in the row just below that one there is a “9”, change it to “4” to make Superglus take only 5 characters per word. BEst option is Plan-A, but if your feel lazy to correct the vocabulary you can go for plan B.

  2. System Messages: Superglus is a extension of PAW for PC, not PAW for ZX Spectrum. While in general they are exactly the same, there is a slight difference in the system messages, as PAW PC had some additional ones to handle disk files. Also, Superglus is not just a PAW clone, it has been extended a lot during the years, and so there will be some problems with missing messages, To solve that , just add this at the end of the STX section:

\54 File not found. \55 Corrupt file. \56 I/O Error, file not saved. \57 Directory full. \58 Disk full. \59 Invalid file name. \60 File name:¬ \61 Sorry? \62 Sorry? Please try other words. \63 Here¬ \64 is¬ \65 is¬

Basically the “AVISO” is because there is a new system message you get when you write something and the parser doesn’t get a single word, that one is Sysmes#62, and so you get the warning saying it can’t be found. Probably the parser doesn’t get a single word cause of the 5/10 chars issue.

If you need more help, please let me know.

Regards.

Some more tips:

Uncompatible condacts:
EXTERN, PROTECT & BEEP are not compatible backwards. The first one is for obvious reasons (it would point to Z80 machine code, not supported by Glulx), the second one is too much related to Spectrum screen layout so it just doesnt make sense. Both of them would be ignored if included, so you can just let them stay where they are. BEEP has changed in Superglus, and has different parameters (it does not just beep, it plays sound files like ogg and aiff). You will have to remove the BEEP lines.

Other uncompatibilities:
Checking on flags 56 or 57 is not valid, the object properties has to be checked in place. If there are references on the source code to those flags, then the code should be changed.

Flags 11 to 28 where free for use of programmers on PAWS, on Superglus los flags 11 to 28 are reserved for expansion, and flags 11 and 12 are already being used by Superglus expansions. While flag 11 is used for temporary things, so rarely would affect, but flag 12 contains some bitwise flags that may affect the way the parser works.

Finally, I recommend using PAWGR to extract graphics if avaliable from the sna file. If you are up for this, I may let you know the fastest way to add then later to Superglus (you will rather use blc then, to back everything into a blorb file).

By the way, I noticed there is a link to Adrift and Quest forums on top of “Other Development Systems”. Although I understand Superglus is quite far in popularity in the english scene from those authoring tools, maybe it’s good that there is a link like that to Superglus forum (foro.caad.es/viewforum.php?f=6).

Though the main language of that forums is spanish, english is also welcome.

More people can help, and faster, if they are posted there (as you noticed, it took me 17 days to notice this thread, and it was only cause someone else told me on that forum).