Spatterlight 1.2.7

A new release of Spatterlight is out. Get it here.

Spatterlight is a unified IF interpreter for macOS, originally written by Tor Andersson.

This release fixes VoiceOver on macOS 15 Sequoia. It also adds improved support for Infocom’s Journey, which now allows resizing as well as changing machine type and graphics format during play. All original game files and graphics formats are supported, including Apple 2 WOZ disk images. Note that none of the new features work with the Z5 prototype.

Here is a short demonstration video:

It also adds VoiceOver support for Journey, using custom system menus and dialogs to control the game. See this thread for more information:
https://intfiction.org/t/wanted-voiceover-users-to-test-journey-hack/71763.

A new Blorb file for Journey with image descriptions (taken from the the placeholder text of the prototype version) can be found here:
https://www.ifarchive.org/if-archive/infocom/media/blorb/Journey%20(with%20descriptions).blb

I’ve tried documenting all VoiceOver features of Spatterlight in this new file:
https://github.com/angstsmurf/spatterlight/blob/master/ACCESSIBILITY.md

Other fixes and changes:

  • Fixes mouse support in Bocfel for the v6 games.
  • The arrow key settings originally written for Beyond Zork now work for the v6 games.
  • Makes the “Old settings” theme possible to delete.
  • Duplicating a theme set as designated dark or light theme would make the copy designated dark or light theme as well.
  • Fixes a problem where the Z-machine interpreter number could be set to an illegal value.
  • Keeps track of previous moves even when VoiceOver is off.
  • The icons (not found, playing, paused, and stopped) in the status column of the games list are centred.
  • Turning autosave on and off during play now should work as expected.
  • The timer slider in settings is more accessible, with a correct value description.
  • Fixes sorting of game titles in the games list. Titles with numbers somewhere in the middle will now sort just like in the Finder.
  • Adds support for image descriptions in external Blorb files.

EDIT: I forgot to thank @Morningstar, Christopher Wright, and @dfabulich for testing and reporting bugs.

10 Likes

Can you document what files you’re using to get Journey to work?

I’m using the “modern story file” linked from IFDB, published on the Infocom Frotz site.

https://curiousdannii.github.io/infocom-frotz/journey-r83-s890706-graphics.zblorb

I made it myself from https://eblong.com/infocom/gamefiles/journey-r83-s890706.z6 and https://ifarchive.org/if-archive/infocom/media/blorb/Journey.blb with Snavig.

(Should I rebuild that zblorb from the descriptions version?)

When I ran Spatterlight 1.2.7 with that zblorb, it asked me if I wanted to restore a saved game, I type N and then I get a black screen where the title should be. When I press a key, I see this:

Ha, I missed that one. The “internal” graphics in that file won’t work, but if you put any other graphics files in the same directory it should pick them up automatically at startup. I will fix that in the next version.

EDIT: The graphics in the “modern story file” will also work it you place a copy of it renamed journey-r83-s890706-graphics.blorb (without the z) or journey.blorb in the same directory.

Also, note that the linked Blorb file that I put on the IF-archive won’t work unless you rename it to journey.blb or <name of game file minus extension>.blb.

EDIT 2: If you select a graphics format that is not available, it is supposed to switch to one that is instead. This is apparently not always working, so if you select, say “EGA” when there are no EGA files in the directory, you may get a small grey square instead of an image. This will also be fixed in the next version.

My philosophy is that we should get out of the business of trying to explain to players how to position blorb files with perfect naming next to the Z6 files. Instead, we should just make a nice zblorb containing exactly the material we need, and distribute that. Download one thing, open it in Spatterlight, and you’re done.

Can you say a little more about what’s wrong with the story file I made? It’s not set in stone; if there’s a compatibility bug in it that I can fix, I’d like to try.

4 Likes

I totally agree. The new features are not meant to change the way things used to work or cause trouble for anyone. It is just a bit of useless fun.

Currently it only looks for graphics in external files, and not in the Zblorb itself, because I hadn’t even considered that someone might create a Zblorb version of the game. Which was quite an oversight, as it is obviously a good idea.

As of right now, Spatterlight looks for external blorb files in this order:
<game file name>.blb
<game file name>.blorb
journey.blb
journey.blorb

So if you make a copy of the Zblorb file in the same directory as the original, and rename it according to that pattern, it will work. If the Zblorb file is named journey-r83-s890706-graphics.zblorb, it will find graphics in a file named any of:

journey-r83-s890706-graphics.blb
journey-r83-s890706-graphics.blorb
journey.blb
journey.blorb

Again, this is a temporary measure until I fix the code to look inside the Zblorb file itself. Sorry for the confusion.

I’m not sure what I’m doing wrong, but it still doesn’t work at all for me. I’m on a Mac Mini M1 running Sequoia 15.1, and in this version, trying to play a game does nothing. (In the previous version, and when I was on Sonoma, I would get an unresponsive blank grey window instead.) I’ve verified my library, and all the games in it work just fine with other interpreters.

What am I doing wrong?

I don’t repro that. Does it happen for multiple games? How are you launching the game?

I’m sorry to hear that! Did none of the things I suggested in your issue report on Github work for you at all?

https://github.com/angstsmurf/spatterlight/issues/96

Again, it would be very helpful if you were willing to share the contents of your autosave directory.

I didn’t get a notification about your reply, so I missed it. I’ll try to dig up the autosave directory.

Okay, I deleted all of the suggested files, and now it’s working. Along the way, I got asked if it was okay for Spatterlight to access files managed by Dropbox, so it’s possible that it silently ignored being denied access. My game library is in a folder managed by Dropbox, on a removable drive, so it needs two different kinds of special permission. (I bet it would require three if I moved the whole thing into my Documents directory.)

1 Like

@Angstsmurf - First, thanks for doing this. I’ve been looking for a way to play Journey on my Mac M1 (Sonoma 14.6.1) and managed to get it working last night after a bit of reading and tweaking.

Posting what I found for anyone else who comes along and is interested in getting this running with a minimum of friction.

Here are the files I downloaded.

  1. journey-r83-s890706.z6 (link)
  2. journey-r83-s890706-graphics.zblorb (link)
  3. Journey.blb (link)
  4. Journey (with descriptions).blb (link)

I put the game and graphics file in the same folder. Here are the combinations that worked for me so far after (game file | graphics file).

  • journey-r83-s890706.z6 | Journey.blb (#3)
  • journey-r83-s890706-graphics.zblorb | journey-r83-s890706-graphics.blb (renamed #3)
  • journey-r83-s890706-graphics.zblorb | journey-r83-s890706-graphics.blb (renamed #4)
  • journey-r83-s890706-graphics.zblorb | Journey.blb (#3)
  • journey-r83-s890706-graphics.zblorb | Journey.blb (renamed #4)

@Angstsmurf - In your video you appear to be able to change the graphics displayed in real time. I can get to the Settings > Format dialog but no changes I make are reflected in the game that is running. How do I do what you are showing in your video (it looks like you are running a game file called “Journey side 1.woz”)?

To make it work like in the video, you will need the original graphics files from the different releases of Journey: Macintosh, MS-DOS, and Apple II. The color graphics files used by Amiga and Macintosh are identical, so you don’t need both. These are the graphics files in my game directory:

PIC.DATA
CPIC.DATA
JOURNEY.MG1
JOURNEY.EG1
JOURNEY.EG2
JOURNEY.CG1
Journey side 1.woz
Journey side 2.woz
Journey side 3.woz
Journey side 4.woz
Journey side 5.woz
journey.blb

EDIT:
In the video, I run the Apple II version from the WOZ format disk image named Journey side 1.woz, but all five disk image files must be in the same directory in order to run the game. It should not matter which of the five sides you open, though.

@Angstsmurf - Thanks.

  • I have the .DATA files from my Treasures of Infocom disks.
  • I found out that I can download the MCGA, EGA, and CGA files from the if-archive.
  • Still searching if-archive and other places for the Apple II .WOZ files. Do you have any suggestions?

I found it on The Internet Archive here:

1 Like

One very minor nit: adding a file to the library greys out the “add file to library” button. Fortunately, clicking on the greyed out button un-greys it back in, but you have to click twice instead of once to add the next game.

And for some reason, command-shift-O to add a game and command-O to open one are both greyed out. Was that intentional?

1 Like

Thanks for reporting this! I think it is all the same bug.

Okay, now it’s stopped working for me again. I quit a game (Augmented Fourth), then tried to launch the next one (The Impossible Bottle), and nothing happened, and now I can’t play anything.

Does it help if you switch off autorestore? (Settings > Misc > Autosave and autorestore)

Sort of, which is weird, because the bug is happening to games which I didn’t autosave.

Now I’m only able to launch games which I previously launched… unless I launch one of those games, and then try to launch the new game, which now works fine. But I can only launch a game I’ve never played before if another game is already running.

(This is after a complete wipe of my library, as I’m re-adding it. You might not encounter the bug if you’ve kept the same library the whole time without wiping it all out.)

Do you get any interesting error messages if you run it in Terminal? (Right click application, Show Package Contents, navigate to Content > MacOS > Spatterlight and double click on it, which should open Terminal.)

EDIT: I think any attempts to read files without permission should also show up in the Console app. Start Console, start streaming the message log and leave it open while games refuse to run, and filter on “spatterlight bocfel glulxe”.