Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Dec 2019 04:43:20 +0000 (UTC)
From:      David Griffith <dave@661.org>
To:        Marcin Cieslak <saper@saper.info>
Cc:        ports@FreeBSD.org
Subject:   Re: Frotz upgrade to 2.50
Message-ID:  <alpine.DEB.2.21.1912210337440.21013@hermes.661.org>
In-Reply-To: <nycvar.OFS.7.76.44444.807.1912201111170.2778@z.fncre.vasb>
References:  <alpine.DEB.2.21.1912160822540.30958@hermes.661.org> <nycvar.OFS.7.76.44444.807.1912182252390.2778@z.fncre.vasb> <alpine.DEB.2.21.1912190239230.2058@hermes.661.org> <nycvar.OFS.7.76.44444.807.1912190937300.2778@z.fncre.vasb> <alpine.DEB.2.21.1912190947340.11019@hermes.661.org> <alpine.DEB.2.21.1912201033040.31648@hermes.661.org> <nycvar.OFS.7.76.44444.807.1912201111170.2778@z.fncre.vasb>

next in thread | previous in thread | raw e-mail | index | archive | help

My reply is at the bottom.  Please put your reply there too.
On Fri, 20 Dec 2019, Marcin Cieslak wrote:
> On Fri, 20 Dec 2019, David Griffith wrote:
>
>> With this patch applied, you get both frotz without audio support and dumb 
>> frotz.  For audio, some more libraries are required, but that should not 
>> pull in anything graphical.  For the graphics-capable variant of Frotz, 
>> SDL2 is needed among other things.
>> 
>> I propose to add two additional ports entries for Frotz.  One is 
>> "frotz-audio" which is simply curses Frotz with the audio subsystem 
>> compiled in and dumb Frotz along for the ride.  This would be 
>> mutually-exclusive from the regular silent "frotz" entry for obvious 
>> reasons.  The other would be "frotz-sdl" for the SDL interface.
>
> I don't know frotz so I have no idea what the differences are but we 
> could decide to have more OPTIONS or FLAVOURS (pretty new facility in 
> FreeBSD ports) if really needed. I wonder why DUMB is optional really - 
> it does not take much to build I guess so it could always be shipped (or 
> never if one feels so).

Dumb is built optionally because that's how things evolved.  I started 
with the separated core and curses interface, then started adding 
additional interfaces.  Each of them is built with a different target. 
So "make dumb" makes dfrotz and simply "make" builds curses frotz.  I see 
no particular reason to change the ports installer such that it doesn't 
install dfrotz along with regular curses frotz.

To explain things, Frotz is a modern reimplementation of the Z-machine. 
This is a virtual machine designed by Infocom in the last 1970s to play 
"interactive fiction" aka "text adventures".  If you've heard of games 
like "Zork" and "Hitchhiker's Guide to the Galaxy", that's it.  Infocom 
ported the virtual machine to pretty much all the home computers available 
in the 1980s and so just had to write the game once.  Their stuff was also 
available for the PDP10 (their development systems) and PDP11 if you knew 
who to ask.  Nowadays, there are some new languages for making new games. 
Many of those new games can be found at https://ifarchive.org/

The regular curses interface is more or less what you got with the classic 
Infocom games.  The Dumb interface doesn't bother with screen and cursor 
control.  The experience is akin to "adventure" in the bsd games package. 
The Dumb interface is intended to make chatbots that play text adventures 
through IRC, instant messengers, etc and for use on teletypes.  The SDL 
interface allows one to play any of the four graphical Z-machine games as 
intended.  The can be played with the curses or dumb interfaces, but with 
outlines drawn where graphics should go.  The SDL interface can also play 
all nongraphical games as well.

Two of Infocom's games included sound effects.  The effects are brief 
audio samples that play at certain parts of the game.  After the demise of 
Infocom, the Blorb standard was proposed to allow for Ogg-vorbis 
compressed audio and MOD music as well as uncompressed samples.  The Blorb 
standard describes how everything a game needs: executable, graphics, 
audio, and metadata can be wrapped up into a single IFF container.

> One can always decided to ship the tools with "all batteries included"
> - I don't know what the users really want. Sadly this port has no maintainer
> who would probably knew more.

I could possibly take it over if nobody else wants to.

>> For now, here's the patch for silent Frotz:
>> 
>> ===cut here===
>> diff -ruP frotz-orig/Makefile frotz/Makefile
>
> can you add -N ? otherwise we only get:
>
>> Only in frotz-orig/files: patch-src_curses_ux__audio__oss.c

That's because that patch is no longer necessary.  I applied the changes 
in that patch to upstream a few years ago.  When I ran your patch, I got 
an empty file named patch-src_curses_ux__audio__oss.c.  The build process 
refused to continue unless I removed that file.


-- 
David Griffith
dave@661.org

A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.DEB.2.21.1912210337440.21013>