Re: [Inform] Sound


Wed, 6 Dec 1995 12:41:15 -0500

Warning: blatant self-promotion of my proposed file format ahead.

I have updated MaxZip to deal with PICKLE files. I will shortly be
adding the capacity to handle sound, using the Infocom .DAT format.
After that I'll write a sample game which has sounds, and put it out
in PICKLE format.

The idea (review time here) is to have a way to put all the resources
needed for a game into a single file. This has two advantages:
* A player only needs to download one file in order to play a game;
and
* An interpreter can get a hold of all of its resources using a single
API, which I've already written the code for. (That is, instead of the
current mess of saying "Uh, look in the SOUND directory for a file
named...", the interpreter would call GetChunk(SOUND, 5) or something
similar.)

(If all the world were a Macintosh, I'd just be using Macintosh files,
which have a resource fork and a system call named GetResource().
Since, instead, life sucks, I'm proposing PICKLE as a standard.)

The disadvantage is that to do anything to a resource, you need to
pull it out, diddle it, and then write out a new PICKLE file
containing the changed resource. (This is if you want to implement the
idea of changing DAT files to WAV, or whatever.) The advantage, again,
is that it's fairly easy to write your converter program to do this.
It's equally easy to have it include both the WAV and DAT chunks in
the output; the interpreter can pull out the one it wants by
specifying a preferred format in the GetChunk call.

Does this sound worthwhile? Does anybody care?

I've already written a simple tool (in ANSI C, not Mac-specific) to
create a PICKLE file from a given list of resources. I could upload it
and my chunk-reading library code, although I was going to take
another week or so to tidy it up. At the least, I want to write a
document on "How to stich this garbage into standard ZIP".

--Z

"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."