- Notifications
You must be signed in to change notification settings - Fork7
Treaty of Babel analysis tool
License
iftechfoundation/babel-tool
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is the source code forbabel
, theTreaty of Babel analysis tool.Babel
performs all the fundamental operations for dealing with the features offered by the treaty, and serves as a flexible multi-tool for analyzing and working with treaty-compliant files.
Namely,babel
:
- extracts metadata from story files
- extracts cover art from story files
- determines the format of a story file
- determines the IFID of a story file
- verifies the correctness of iFiction metadata
- bundles story files, metadata, and cover art together in theblorb format
Babel
is also a portable C API for accessing the functionality provided by the treaty.
Included with thebabel
source is a suite of programs intended to extendbabel
's functionality and help users start taking advantage of the benefits provided by the treaty.
The babel suite includes:
babel-get
: Fetches metadata and cover art from a variety of sourcesbabel-list
: Demo program to describe all story files in a directoryifiction-aggregate
: Combine multiple iFiction files into oneifiction-xtract
: Search metadata for a named valuebabel-cache.pl
: Build a cache of metadata and cover art for your story file collectionbabel-marry.pl
: Encapsulate your story collection with its metadatasimple-marry
: Simplified babel-marry for windows usersbabel-wed.pl
: Find and merge a story file with its metadata (also available as windows executable)
Parts ofbabel
are intended for use in other programs. When adaptingbabel
's source, the filesbabel.c
,babel_story_functions.c
andbabel_ifiction_functions.c
will probably not prove useful. However, youmay wish to usebabel_handler
, which provides a framework for loading astory file, selecting the proper treaty modules, and seamlessly handlingblorb-wrapped files.
To buildbabel
:
- compile all the source files in this directory
- link them together
- the end
For folks who find makefiles more useful than generalizations, there is amakefile provided forbabel
. The makefile is currently configured forBorland's 32-bit C compiler. Comment out those lines and uncomment the blockwhich follows for gcc.
To compilebabel-get
, first compilebabel
, then do the same thing in thebabel-get
directory.
To compileifiction-aggregate
,ifiction-xtract
,babel-list
, andsimple-marry
,first compilebabel
, then compile the relevant C file in theextras/
directory(These may rely on#include
files from thebabel
directory, so, for example,to compile ifiction-aggregate,gcc -c -I.. ifiction-aggregate.c
), then link theobject file to thebabel
andifiction
libraries (babel.lib
andifiction.lib
under Windows,babel.a
andifiction.a
most everywhere else. eg.gcc -o ifiction-aggregate ifiction-aggregate.o ../babel.a ../ifiction.a
)
Babel
is intended to accept contributions in the form of treaty modulesas defined by theTreaty of Babel Appendix.
These modules should use the declarations made intreaty.h
.The filetreaty_builder.h
generates a generic framework which simplifiesthe task of writing treaty modules. Its use is not required for treatycompliance, but it should prove useful.
Most of this code is (c) 2006-2010 by L. Ross Raszewski
The following files are public domain:
- zcode.c
- glulx.c
- executable.c
- level9.c
- magscrolls.c
- agt.c
- hugo.c
- advsys.c
- misc.c
- alan.c
- adrift.c
- html.c
- treaty.h
- treaty_builder.h
The following files are Copyright (C) 1999, 2000, 2002 Aladdin Enterprises:
- md5.c
- md5.h
And are used in accordance with their licenses.
The following files are Copyright 2006 by Emily Short:
- test/bronze/Bronze.zblorb
All other files are (c) 2006 by L. Ross Raszewski and are released underthe Creative Commons Attribution 4.0 License.
To view a copy of this license, visithttps://creativecommons.org/licenses/by/4.0/ or send a letter to
Creative Commons,PO Box 1866,Mountain View, CA 94042, USA.
About
Treaty of Babel analysis tool
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Contributors7
Uh oh!
There was an error while loading.Please reload this page.