Open Source Tomb Raider Engine
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 0B

OpenRaider

OpenRaider is an Open Source implementation of the classic Tomb Raider Game Engine. It was abandoned in 2003.

This project aims to get OpenRaider in a more usable state, maybe one day even being able to play the old Tomb Raider games flawlessly…

Currently, my focus is on building and running under Mac OS X. However, my changes should not break the Linux “buildability” :)

If you just want to see OpenRaider doing something on your Mac, without installing any of the dependencies needed to build OpenRaider, install XQuartz (if you don’t have it already) and grab the Mac App Bundle from the most recent release. If you don’t install XQuartz, Mac OS X should prompt you to do so on the first launch of OpenRaider.

It seems as if OpenRaider will currently only work on Little-Endian platforms. This is not nice and will hopefully be fixed in the future!

Configuration

OpenRaider needs some configuration files, and level data and assets from custom levels or the Tomb Raider games. These are stored in ~/.OpenRaider. Running the included setup.sh will create/copy the necessary files and directories. The Mac App Bundle will do this for you automatically.

You still need to add level files in ~/.OpenRaider/paks/ and add them to ~/.OpenRaider/OpenRaider.init. Dust off your old Tomb Raider CDs or grab some custom levels from the interwebs.

Documentation

All previously included documentation was moved into the OpenRaider Repo Wiki. Also take a look at the BUGS, TODO and Requirements.

A more or less recent Doxygen documentation of OpenRaider should be on the Github Pages for OpenRaider.

Dependencies

On Mac OS X 10.9 with XCode and MacPorts installed, the following should be enough to get all dependencies that are available as port:

sudo port install zlib cmake libsdl libsdl_ttf

cmake is only needed for freealut, which you’ll need to enable sound output. Get, compile and install freealut like this:

git clone git@github.com:vancegroup/freealut.git
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX:STRING="/usr/local" -DCMAKE_C_FLAGS:STRING="-O2"
make
sudo make install

You’ll also need the XQuartz X11 Server.

Building

If you installed the dependencies using MacPorts, you’ll need to have /opt/local/bin in your $PATH before you can execute make. If you’re using Bash, the MacPorts installer should have automatically edited your configuration.

Just run make debug and run bin/debug/OpenRaider for a debug build. make release builds a release binary. make bundle creates a Mac App Bundle that also runs the setup script, if necessary.

Usage

See the original README.old file. In the Main Menu, <Esc> will allow you to select a level to play.

Configuration file

OpenRaider will try to load ~/.OpenRaider/OpenRaider.init or, if it doesn’t exist, OpenRaider.init from the current directory. Running setup.sh will create a minimal configuration in your home directory.

The configuration file format is very simple:

  • Anything following a # up to the next \n will be ignored.
  • Lines starting with an @ mark a “preprocessor” command. The only one currently implemented is @include, allowing you to include another file as configuration file.
  • Lines surrounded with [], eg. [Engine.OpenGL.Driver] set the mode for following commands.
  • Everything else is interpreted as command for the current mode.

See README.old for a (probably incomplete) list of available commands.

License

The included example Font, Droid Sans Mono, was created by Steve Matteson and is licensed under the Apache 2.0 License.

The included sample WAV file is made from the Falling Mate ringtone by Plaetzchen.

OpenRaider is based on code, specs, and alogrithms from:

  • GooseEgg/Freyja 3d Modelers by Mongoose
  • TR Rosetta Stone spec sheet by Anonymous
  • TRView 1.0.0 by Yuri Zhivago, with patches by Mongoose

All code should be GPLed, unless otherwise noted.

2013, 2014 improvements & clean-up by xythobuz.