Theresa
Version 0.5.1
Description
Theresa is a C++ framework for the underground artform of
non-interactive, realtime multimedia applications, commonly called demos. There are input and other
interactive modules planned, which will make it a light-weight game
engine, but no such functionality exists at this time.
License
This software is licensed under the GNU Lesser Public License. However,
if you are interested in licensing the software under a different
license, please contact me (Camilla Drefvenborg), in one of the ways
listed below. Please understand that since I work in the game industry,
I may be unable to license it to a commercial project, due to potential
conflicts of interest with my employer.
FAQ
What is it?
Theresa is a C++ framework intended for the development of
non-interactive multimedia applications, commonly called demos. It is
heavily modularized, and the intention is that individual components
should be able to be added or removed with little effort.
Why is it?
Development of Theresa began to aid our internal demo creation, but as
time went on we realized that others might be interested in the
software, and also hoped that others might want to aid in the
development.
Where is it?
The latest official release of Theresa can be downloaded from SourceForge.net.
Additionally, the latest development sources can be checked out from the
CVS repository source2,
rooted at cvs.sourceforge.net:/cvsroot/theresa.
Also, the CVS repository is available for viewing via SourceForge's ViewCVS
interface.
Library Build Instructions
The only external dependency of Theresa, and a requirement for building
the software, is the FMOD audio library, which can be downloaded from fmod.org. Instructions for pointing
the various build environments to the location of the installed files
are included below.
Darwin / Cygwin command-line (Difficulty: 4)
The autotools configuration path is the default build path of Theresa.
Unless the FMOD library was installed into one of the canonical
locations (e.g. /usr, /usr/local, ...), you will need
to add the location of the library's header files in the list of include
directories, e.g.
$ ./configure CPPFLAGS=-Ipath-to-fmod-headers
Additionally, if you wish to build a version of the library with , you
will need to add the --enable-debug
switch when running the configuration script.
Visual Studio 6.0 and .NET (Difficulty: 2)
Since Windows does not come with a Unix-like environment per default,
one cannot assume that the developer will be able to run the included
Unix-style configuration script. Therefore, hand-written custom
configuration headers have been written especially for use with the
various Visual Studio environments.
These files, named ThConfig.h,
are located with the corresponding solution and workspace files in the build/VS6 and build/VS.NET directories. In
order to build Theresa, you will need to copy the corresponding file
into the src/shared
directory. Once you have done this, you can open the workspace or
solution, and build the software normally.
Note that in order to compile the (required) Music module, you will
need to point the development environment to the location of the FMOD
library header files.
The resulting binaries are four static libraries, each in their
respective directories:
zlib.lib
libpng.lib
lib3ds.lib
theresa.lib
Project Builder (Difficulty: 4)
In order to build Theresa using Project Builder, you will first need to
build the configuration header file. This is done with the Unix-style
configuration script described above. In other words, you will need to
have both Terminal.app and the BSD environment installed.
- Open Terminal.
- Go to the root source directory, e.g,
% cd ~/theresa/
- Run the configuration script.
% ./configure
- Go into the src/shared
subdirectory.
% cd src/shared/
- Build the configuration header file.
% make
If everything worked, you should have a file called ThConfig.h in the src/shared directory. If you do,
you can then open the Project Builder project.
The result of the build process is a framwork called Theresa.framwork, with the
identifier org.hypercube.theresa.
Note, however, that it is by default not adapted for embedding in an
application's bundle.
NOTE: If you do not have the required Unix-tools available, you should
be able to write a functional configuration header using the src/shared/config.h.in and the
various Windows-specific ThConfig.h
files as reference. Remember to place the resulting file in the src/shared directory.
Dev-C++ (Difficulty: 4)
The configuration path required for building Theresa with Dev-C++ is
the same as that for Cygwin, i.e. you will need to run the configuration
script, enter the src/shared
direcory, and build the configuration header, named ThConfig.h. This is done simply
by issuing a single make
command, as it is the default action in this directory.
Documentation
Doxygen auto-generated reference manual.
Contact
Developer, Camilla Drefvenborg <elmindreda at users dot sourceforge
dot net>.

Copyright © 2003 Camilla Drefvenborg