fizmo 0.8 / sdl-frontend – Beta release

The first experimental release for fizmo 0.8, which brings a SDL-based frontend – allowing for proportional font display instead of fixed-width text only – is available and I’m looking for someone who’d give it a try.

It is currently available in source form only so you’d have to compile it manually using the “–enable-fizmo-sdl” flag. To compile with the minimum features you need to have at least the development files for libxml2, sdl, ncursesw and freetype2 installed (debian package names are libxml2-dev, libsdl-dev, libncursesw5-dev and libfreetype6-dev). To configure using this minimum configuration use:

./configure --enable-fizmo-sdl --disable-x11 --disable-jpeg --disable-png --disable-sound

and start it from the command line by providing a story file:

$(PATH_TO_FIZMO_BIN)/fizmo-sdl some-story-file.z8

Since this is only a beta release there are very few features available. Currently there’s no support for sound, hyphenation or even input editing (except backspace) or input history (yet). Besides that it appears to be working stable on Linux (X11 and framebuffer console) as well as Mac OS X and it would be nice to know if there are any problems – compilation, running, whatever – for others so far.

You can get the package at:
spellbreaker.org/~chrender/fizmo … -b2.tar.gz.

[size=85]Edit #1: Added prerequisites, added “disable-*”-flags.[/size]
[size=85]Edit #2: Updated link for beta-2.[/size]

I’ll try it if you can help me figure out how to set up my system so I can compile it. I’m new to Linux. I just installed Kubuntu last November, and I’ve pretty much been getting by using the GUI.

So, I used your compilation command, and this was the result:

paul@paul-linux-desktop:~/IF/fizmo/fizmo-0.8.0-b1$ ./configure --enable-fizmo-sdl ; make install checking for pkg-config... no checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/home/paul/IF/fizmo/fizmo-0.8.0-b1': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details make: *** No rule to make target `install'. Stop. paul@paul-linux-desktop:~/IF/fizmo/fizmo-0.8.0-b1$

I think I just need to install a C compiler, but I have no idea where to get a C compiler. I mean, I know you’re supposed to get stuff from “repositories” or somesuch, but I don’t know how to install a compiler or how to search for one.

to compile on linux, just install gcc. On Debian (Ubuntu / Mint etc) you can also type “(sudo) apt-get install build-essential”

However, fizmo is quite complicated to build, because of several dependencies you will need to install. (also the “INSTALL.txt” which should help about this is missing)

I had to do at least this to install them:

sudo apt-get install libsdl-dev
sudo apt-get install libxml2-dev
sudo apt-get install libncursesw5-dev
(and also libjpeg)

Also I couldn’t install sndfile, so I disabled sound in the configure, like this:

./configure --enable-fizmo-sdl --disable-sound ; make

After that, I built a package using checkinstall. You can grab it there (if you’re using 64bit):
ifiction.free.fr/fichiers/fizmo- … _amd64.deb

It’s working well (I couldn’t use backspace on linux), but the package itself is named fizmo so you must uninstall the official fizmo if you already have it on your system.

How can we change the fonts and the size?

Thanks, I can almost build it now. I installed a lot of packages, but it still complains that ‘freetype2’ is missing. I can’t find any package called “freetype2,” with either apt-get or the Muon Package Manager.

Currently font options have to be set in the configuration file “~/.config/fizmo/config”. The packaged fonts are Adobe’s Source Sans Pro and Source Code Pro. For these defaults the configuration is as follows:

font-size = 14 regular-font = SourceSansPro-Regular.ttf italic-font = SourceSansPro-It.ttf bold-font = SourceSansPro-Bold.ttf bold-italic-font = SourceSansPro-BoldIt.ttf fixed-regular-font = SourceCodePro-Regular.ttf fixed-italic-font = SourceCodePro-Regular.ttf fixed-bold-font = SourceCodePro-Bold.ttf fixed-bold-italic-font = SourceCodePro-Bold.ttf
To make the current beta find other fonts they need to be located either in $(prefix)/share/fizmo/fonts or in the current directory.

With a tiny bit of luck, “apt-get install libfreetype6-dev” should make it work.

I get it to compile. When I try to run the executable with a z-code game, a window opens for a brief moment, but then it crashes, and the console reports, “Segmentation fault (core dumped)”.

Did you run “make install” after compilation? This will install the data files (by default in /usr/local) so the executable can find them.

I opened Endless, Nameless with Fizmo. The game-defined color scheme is displayed correctly, but until the text first starts to scroll, white background is shown beneath the text:

The backspace key does not work. Pressing the backspace key displays an unrecognized character. However, pressing the delete key works the way the backspace key normally works in most applications, removing the character behind the cursor.

At one point, Fizmo froze for no apparent reason, locking up after I entered the command “L.” When not frozen, the text columns update when I resize the window, which is very impressive, since I believe many IF interpreters do not do that. (After it froze, the text columns were no longer updated in response to resizing the window.)

Finally, recording a transcript did not work. The “SCRIPT” command prompted for a file name with which to save the transcript, and the file was created, but when I opened the text file, it was empty.

The color and backspace issues should be fixed in spellbreaker.org/~chrender/fizmo … -b2.tar.gz. There’s also one more fix in place which should fix the freeze issue (“should” because I wasn’t really able to reproduce it, but found a bug which should be related to this).

Yes, the background color and backspacing work in the new build for me. Fizmo crashed once when I was resizing the window multiple times in a row without entering any input. Transcripts appear to successfully record now. It did not freeze; it just crashed and terminated.

The console output this:

paul@paul-linux-desktop:~/IF/fizmo/fizmo-0.8.0-b2/fizmo-sdl/src/fizmo-sdl$ ./fizmo-sdl Advent.z5 resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800. resize: 1280 x 963 new pixel-window-size: 1280*963. resize: 600 x 800 new pixel-window-size: 600*800.

When resizing the window, the status line does not update along with the rest of the text columns, at least the first time. I opened “Adventure,” and maximized the window. The text re-wrapped to the edge of the screen, but the status line remained the same length as when the window was smaller. When I hit return, the status line updated. When I shrunk the window back to its original dimensions, the right side of the status line (with the score and the moves) was truncated and was not visible. It updated again when I hit return. Maximizing again shows the right side of the status line repeated, the obsolute instance disappearing upon hitting return.

This is a bug in Adventure – or rather in the Z-machine. The Z-machine has no way to signal the game to redraw the status line in the middle of an input event.