Readme for the RTTB system - this is not a full function listing, for that
read help.html

This file will get you started and will be updated with late breaking news.

1) Library and tools descriptions
2) How to use makerttb
3) How to use vrttb
4) Brief description of how to use librttb
5) Compiling the sources
6) Dependencies
7) References & contacts
8) Legal bumpf

1) Library and tools descriptions
RTTB stands for RunTime TarBall, a bastardized way of looking at tar files
in UNIX, RTTB is my own, very simple file format which allows developers,
especially games developers to group many files into one file and read them
from this one uncpmressed file at run-time.  It aims to be fast.

makerttb - Creates a container file from all your resource files.
vrttb - Verifies a countainer's integrity.

2) How to use makerttb
makerttb Creates a container from as many files as you like.  Type
makerttb <groupfile> <sources...> @response.

On systems such as DOS, the length of a file is limited, therefore response
files are supported, they are used like this:
dir /b *.pcx > list
where 'list' would then become a list, line by line of all the pcx files
in the directory.  Then to group the pcx files you would use:
makerttb pcxgroup @list
You may have as many response files on the command line as you want, and
mix them in with normal filename.  The first parameter, the name of the
group, may not be a responsefile.

Generally you will use makerttb from within your program's makefile, like

ART=sprite0.spr sprite1.spr level1.map level2.map

$(GROUP) : $(ART)
        makerttb $(GROUP) $(ART)

Then add to your clean section:
erase $(GROUP) or
rm -f $(GROUP)

3) How to use vrttb
vrttb <groupfile>
Verifies a container file is valid, lists all the header information, such
as number of files container, filenames, checksums, and tests the files'
integrities against those checksums.

4) Brief description of how to use librttb
Assuming you have already built librttb.a or rttb.lib or have the binary
release rather than the sources.  you should start using the library by
following these instructions.  Firstly, if you are using Win32, you will
have rttb.lib for Microsoft Visual C++, or rttb.lib for Borland C++, or
another library format your compiler has produced.  On UNIX you will not
have this, your library will be called librttb.a

To link: Add the library to the library sections in your makefiles or add
onto the link command for your programs.  Add the path to rttb.h to the
include sections or -I source compilation sections.  It should look a
little like this, this would be under Borland C++:

LIBS=blah.lib $(RTTBPATH)\rttb.lib

yourprogram.exe : $(OBJECTS) $(LIBS)
        bcc32 -eyourprogram.exe $(OBJECTS) $(LIBS)

blah.obj : blah.c blah.h $(RTTBPATH)\rttb.h
        bcc32 -I$(RTTBPATH) blah.c

blah.c for example, would then #include "rttb.h"

See help.html for a complete function listing and getting started examples.

5) Compiling the sources
Under UNIX.  The distribution comes with a UNIX configure script which you can
run and then build the sources.

The typical sequence is as follows.
make check
make install

Make check is optional but recommended.  Make install must be done as root.

Under Borland C++ for Win32.
You will _need_ Cygwin or Services for UNIX installed so that you can run the
configure script.  These are part of any serious developer's toolkit anyway.
For Cygwin, visit the World Wide Web at:

For Services for UNIX, visit the World Wide Web at:

Once you have installed and set up either one of these, from the bash shell type:
./configure --enable-win32
in the rttb main source directory.

You may now either build the library for the POSIX layer with GCC or you can
run ./scripts/borlandify.sh (or scripts\borlandify.bat)
(you will need Perl to do this).

borlandify is a script specifically for RTTB which will process the output
of the configure script to make it compatible with the Borland compiler and
make program.

If you need Perl, you can get it from any one of these places:

From Borland C++, type:
make -f Makefile.bor

Makefile.bor is a simple makefile which defines HAVE_CONFIG_H and compiles
the sources.  It does not do anything fancy, like making shared libraries.
If you want more, you will probably have to use Borland's IDE.  Don't forget
to define HAVE_CONFIG_H globally.

6) Dependencies
If you are using the Makefile.bor files, they rely on scripts from the
Daybo Logic scripts package.  It will look for these in
%CommonProgramFiles%\Daybo Logic\scripts.

The Daybo Logic scripts package is available from:

7) References & contacts
Daybo Logic web site: http://www.daybologic.co.uk/
RTTB website: http://www.daybologic.co.uk/dev/rttb
Initial developer / maintainer: David Duncan Ross Palmer

8) Legal bumpf
RTTB is (C)Copyright 2000-2006, David Duncan Ross Palmer, Daybo Logic.
RTTB is supplied under a BSD-style license.  See COPYING for details.