Upcoming Gargoyle release 2023.1

It’s that time of year again. I’m planning on a new Gargoyle release shortly, and if anybody would like to do a prerelease test, that’d be much appreciated.

First, the links:

The AppImage should work on most x86_64 Linux distributions.

The Windows link has binaries for various architectures, in standalone archives, easily testable without installing.

For Mac, an unsigned disk image (Intel) is provided.

Source code is here: GitHub - garglk/garglk at prep-2023.1

Major features of this (upcoming) release:

  • The Scott Adams interpreter has been greatly expanded and supplemented with the Plus and TaylorMade interpreters, providing a wide range of support for Scott Adams-style games, including graphics. Thanks to Petter Sjölund (@Angstsmurf).
  • Color themes
  • Window size/location can optionally be remembered
  • Various interpreter updates: Agility 1.1.2, Alan 3.0beta8, Bocfel 2.0.1, Git 1.3.7, Glulxe 0.6.0
  • The most anticipated feature of all: Z-machine bleep support

Color themes are an easier approach to customizing Gargoyle’s appearance than hand-selecting colors in the config file. Just a single entry in the config selects a new color theme:

theme Lectrote Slate

There are screenshots of how themes can affect Gargoyle’s appearance. This wiki page currently documents how to set up colors on the previous version of Gargoyle, so ignore the text; it’ll be updated soon.

The default color theme now attempts to match your system color theme. If you have a dark mode set, Gargoyle will use a dark theme. This can be changed back to the default light theme in the config file if you prefer.

Several themes are shipped with Gargoyle, and new ones can be created using a simple JSON description. For details, see garglk/THEMES.md at prep-2023.1 · garglk/garglk · GitHub.

To see available themes, while Gargoyle is running, hit Ctrl+Shift+t (use Command instead of Ctrl on Mac). Or on non-Mac platforms, you can pass the --themes argument to Gargoyle.

Configuration for Gargoyle is still done via a text file. To open the config file while Gargoyle is running, hit Ctrl+, (Command-, on Mac). On non-Mac platforms, you can pass --edit-config to Gargoyle instead.

The config file is documented, so is at least somewhat easy to edit. However, if you have an older config, Gargoyle will not add any newer options to it, meaning you won’t know what new options are available just by looking. This is less than ideal, but there are at least some clunky ways to work around it:

The current default config file is here. This will at least give a full view of all options available. You can also compare it against your existing config file with a tool like Diffchecker.

On non-Mac, the --dump-config argument will print out the default config to standard out. If you’re comfortable at a Unix terminal, you can pipe this to a file and diff it against your current config.

At some point I’d like configuration to be more streamlined, but that can continues to be kicked down the road.

The full list of new configuration options since the 2022.1 release:

  • game_config
  • save_window
  • zbleep and zbleep_file
  • theme

As an added bonus I’ve attached this tiny Z-machine program to test bleeps.

Any problems can be reported here or at the issues page on Github.

There is one known issue: it’s possible for the display to get corrupted if the window is resized. This sounds like a big problem, but I’d classify it as “moderate”, mainly because resizing is not an especially common event; the size can be set to a preferred value ahead of time (or the window size can be saved); and resizing again can fix the display. Of course I’d prefer to find a fix before release, but I won’t let it be a show stopper.

12 Likes

Great news! Thank you for your work.

I have a problem running this nightly on macOS Mojave 10.14.3. It terminates with a “segmentation fault: 11” upon launch.

2022.1 runs ok, it is my preferred terp at the moment. That version has very few glitches, I mostly wanted to try the new one to see if a visual artifacts issue with the 2022.1 version was fixed. When scrolling the text window, dot artifacts appear on the left border. I believe the end of the hook of the capital letter “J” is the biggest culprit for this. The size of the artifact depends on the typeface used.

Here is a screenshot attempt to show the artifacts. (2022.1 does this, I do not know if 2023.1 nightly has the same issue or not.)

The segfault looks like it’s because this version was built on a newer MacOS version (11) via Github Actions. I can reproduce the segfault on my Mojave VM, but when I build a version on Mojave, it works fine. Here’s a link to the one I built.

I’m unable to reproduce the visual glitch you’re talking about; does it happen with all fonts you’ve tried? If you don’t mind attaching your config file, I can take a look. I’m afraid that the new version probably doesn’t fix it as there haven’t really been any changes to the drawing code that would affect something like that, but if I can reproduce it, I can try fixing it.

Thanks for the feedback!

1 Like

Mojave build works, thank you very much.

Here is my first bug report for it:

To reproduce it, only 2 changes to the default garglk.ini are needed.

  1. increase cols to 61
  2. increase monosize to 18
    Both changes are for global settings. I believe with that column width, monosize between 17.6-19.2 causes this screen. This bug might only present itself under Mojave, since that is what I am using. I also noticed that my second Firefox window on my desktop 2 bugged out after I tested the bug several times, both visually and operationally. Although this never happened before with Firefox, still it might have been a fluke of Firefox and nothing to do with Gargoyle.

The visual artifacts from 2022.1 are still present, but I have tried other fonts. Baskerville and Hoefler Text have the same issue as well. I am certain now that the problem is the capital “J”. In all the affected typefaces(including mine, Fontin) the hook of capital “J” overflows under the preceding character. You can easily see that in Font Book app.
I have forgotten another bit of information that I have: The artifacts appear when scrolling the text window while there is that “J” present as the leftmost character on one line, and they are cleared away when I mouse click anywhere in the text window.

Edit: Oops, completely forgot about posting my config file that you requested. Here is the link to my garglk.ini file.

1 Like

Can this be a setting please?? :stuck_out_tongue_winking_eye:

2 Likes

Otzurk’s screenshot reminds of an old analog monitor or TV symptom (loss/misalignment of horizontal sync), so I suggest perhaps the issue lies in the cols number… also, perhaps here lies the key for solving the outstanding issue Chris noted, the “corruption if the window is resized” ?

Best regards from Italy,
dott. Piergiorgio.

I was kidding about having the glitch as a setting, but it would be next level if authors could do House of Leaves style formatting and layout tricks for parser games.

And yes, I know the answer is that’s Vorple.

2 Likes

How do I load and play a Scott Adams game in traditional TRS-80 .DAT format? I can play the attached file (after unzipping it) in Spatterlight, but I can’t work out how to get it loaded and running in Gargoyle. I’m on a Mac, M1 2020, macOS Monterey 12.6.2.

The attached file is from here: BeebScott/test at main · ahope1/BeebScott · GitHub

cases.DAT.zip (2.0 KB)

You will need to rename it to give it a .saga extension (cases.saga). I think it has always been that way in Gargoyle, at least on the Mac. It will try to open .dat files, but it thinks that they are z-code.

2 Likes

What Angstsmurf said is the cleanest way to do it.

If you don’t know or remember the proper extension for specific terps, you can force it to open by adding the correct terps for the file in the config file like this

[ *.tzx *.atr adv*.dat quest*.dat cases.dat]
terp scott

There are example lines for this type of things at the end of the default config file, you can just extend/modify them, or use them as template reminders.

And if you need to know the names of the interpreters in Gargoyle, go to Applications in the Finder, then right-click on Gargoyle app and select Show Package Contents. All the terps(and their names) are in the PlugIns folder there.

1 Like

This is true. However, a while back I added the ability for Gargoyle to use the contents of the file rather than the extension to determine the format. Scott Adams games can’t be probed reliably, but Z-machine games can. Given this, it makes sense to associate .dat with Scott Adams, since Z-machine games with a .dat extension will be probed before extensions are checked.

I’ve just made this update, and I’ll make sure it’s in the next release.

4 Likes

Unfortunately some other IF systems also used .DAT extensions. I think Level 9 story files come with .DAT too. You need to change the extension of these to .L9 for Gargoyle, then level9 terp will open them, otherwise Gargoyle would have tried to use z-code terp(bocfel) as well. And now it will try using scott instead if I have understood Spiegel’s comment correctly and if you don’t change them to .L9.

Any files which cannot be probed, but have a .dat extension, will now be opened in ScottFree, that’s correct.

There is some probing for Level9, though I’m not entirely sure how wide of a net it casts. Probing now is done via regular expressions, but it may make sense to switch to/augment with the Treaty of Babel code. I can’t remember how I came up with the current Level9 regex…

For this release, .dat will be Scott, and hopefully Level9 will be probed successfully. I’ll investigate using Babel for future releases.

1 Like

To complicate things further, AdvSys and Saga Plus games (two other formats supported by Gargoyle) were also originally distributed with a .dat extension.

Ah, I forgot AdvSys. Gargoyle’s probing of its .DAT files seems to be successful, at least it does for The Sound of One Hand Clapping. This is fortunate, since AdvSys has no other unique extension defined in Gargoyle.

Hey Chris, I am still on Mojave as you know from before, but plan about upgrading to Catalina to be able to run new Gargoyle. But GitHub runners seem to have deprecated Catalina support as well, can I be sure that I can run newer Gargoyle artifacts from GitHub with Catalina? If not, I would rather not bother with upgrading, since Catalina is the latest version that my machine supports anyway.

I just tried running a nightly build on my Catalina VM, and it works fine, so while I can’t make guarantees, it looks like upgrading would be worth it.

1 Like