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.
  1. Open Terminal.
  2. Go to the root source directory, e.g,
    % cd ~/theresa/
  3. Run the configuration script.
    % ./configure
  4. Go into the src/shared subdirectory.
    % cd src/shared/
  5. 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>.


SourceForge.net Logo


Copyright © 2003 Camilla Drefvenborg