this post is just a (blatant) advertisement for a new version (0.02)
of my own Frotz-based interpreter for Linux (and Windows), sfrotz (the
"s" stands for SDL, the Simple Directmedia Layer library used as
graphical interface).
The file
sfrotz002.tar.gz
is now in the "unprocessed" folder of the Archive, and should soon go
to its place. I'm posting this message because this is the SECOND
version of the terp, and since I haven't yet got any feedback about
the first one, I'm afraid that my previous upload went completely
unnoticed. My own blurb about this new upload says:
"Sfrotz version 0.02, an SDL-based port of Frotz to Debian Linux by
Aldo Cumani. Based on Frotz 2.40 by Stefan Jokisch and
WindowsFrotz2000 by David Kinder. Supports Blorb graphics and sounds,
plus some Standard 1.1 extensions."
In fact, sfrotz can also be compiled and run under Windows, using
MingW32 and the necessary libraries. I'm not uploading a binary for
Windows mainly because I'm not too sure about the redistribution
licenses of said libraries.
As a bonus, I've also uploaded
scopa_z6.zip
which contains a graphical (v6) version of a popular Italian card
game, scopa. It's not IF in any sense, but as the Archive hosts z-code
clones of Tetris and similar oddities, I believe it can also find a
little place for my file. This game, obviously, runs perfectly with
sfrotz (but also with WindowsFrotz, and even with xfrotz on Linux.)
Have fun!
Aldo
I got this error when trying to compile on Archlinux, gcc 4.5.2 20110127
sf_sig.c: In function �bt_sighandler�:
sf_sig.c:88:43: erreur: �REG_EIP� undeclared (first use in this function)
make: *** [sf_sig.o] Erreur 1
I tried to build it, but linking fails with:
sf_images.o: In function `loadpng.clone.1':
sf_images.c:(.text+0x711): undefined reference to `png_set_gray_1_2_4_to_8'
It seems the interpreter is hardcoded to use libpng 1.2? My system has
version 1.4.5.
Good piece of software. When will we have an official Debian package? ;)
Thank you for your work.
--
David
Yes. As I wrote in the README, this project started more than two
years ago, and at the time libpng 1.2 was OK. By looking in the libpng
site, I see that png_set_gray_1_2_4_to_8() has now been replaced by
png_set_expand_gray_1_2_4_to_8(), although the two functions don't
have exactly the same functionality.
I'll try to take care of that in the next version of the interpreter;
in the meantime, you may try replacing the call to ...set_gray... with
one to ...set_expand_gray... and see what happens. Let me know if it
works.
Aldo
I don't know about Archlinux, as I only use Debian, with gcc 4.3.2.
Anyway, REG_EIP/REG_RIP are symbols that refer to the program counter
register, respectively for 32 bit and 64 bit architectures, and SHOULD
be defined in ucontext.h. I suggest that you google around a bit about
this problem; I myself have found this discussion:
http://comments.gmane.org/gmane.linux.arch.general/28655
Hope it helps.
Aldo