Thomas Buck 187855894f Controller menu navigation & limit camera rotation | 10 years ago | |
---|---|---|
cmake | 10 years ago | |
data | 10 years ago | |
include | 10 years ago | |
src | 10 years ago | |
test | 10 years ago | |
utils | 10 years ago | |
.gitignore | 10 years ago | |
.travis.yml | 10 years ago | |
CMakeLists.txt | 10 years ago | |
COPYING | 10 years ago | |
ChangeLog.md | 10 years ago | |
README.md | 10 years ago | |
TODO.md | 10 years ago |
This is the development branch of OpenRaider! Currently in the process of moving to OpenGL 3.3…
This is a fork of the OpenRaider Open Source implementation of the classic Tomb Raider Game Engine. The original project was abandoned in 2003.
This fork aims to get OpenRaider in a more usable state, maybe one day even being able to play the old Tomb Raider games flawlessly, while bringing the code to modern standards.
Visit the IRC Channel #OpenRaider
on chat.freenode.net
. Webchat.
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!
You can get some not-so-recent Mac releases on the GitHub page.
The most recent OpenRaider version can be found on the Arch Linux User Repos. Install it with your favorite aur-helper like this: yaourt -S openraider-git
.
OpenRaider needs some configuration files, and level data and assets from custom levels or the Tomb Raider games.
These are stored in ~/.OpenRaider
. Running make setup
will create/copy the necessary files and directories.
You still need to add level files in ~/.OpenRaider/paks/
.
Dust off your old Tomb Raider CDs or grab some custom levels from the interwebs.
All previously included documentation was moved into the OpenRaider Repo Wiki.
A more or less recent Doxygen documentation of OpenRaider should be on the Github Pages for OpenRaider.
Basically, OpenRaider depends on the following:
On Mac OS X 10.9 / 10.10 with XCode and MacPorts installed, the following should be enough to get all dependencies that are available as port:
sudo port install cmake zlib glm libsdl2
A similar command for the package manager of your favorite Linux Distribution should do the trick.
cmake is also needed to build freealut, which you’ll need to enable sound output on Mac OS X. 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
Linux Distributions will probably provide an ALUT library ready to install with their package manager, so you won’t need to compile freealut.
Sound support is optional, however. If cmake can’t find OpenAL and ALUT, Audio will be deactivated. If you want to explicitly deactivate it, call cmake with -DENABLE_AUDIO=NO
.
There is also a windowing implementation using GLFW. It will be used if GLFW is found instead of SDL2, or if you call cmake with -DFORCE_GLFW=YES
. Be aware that your experience will not be as nice as with SDL2…
Do a standard cmake out-of-source build to get a debug configuration and then run the resulting executable:
mkdir build && cd build
cmake ..
make run
On Mac OS X, running make install
will produce a (more or less) distributable OpenRaider.app bundle, which will be put into /Applications.
On Linux, running make install
will install OpenRaider to /usr/local/… (the executable in bin, the data files in share). You can change this path with cmake -DCMAKE_INSTALL_PREFIX=”/some/where” ..
Run make check
to build and run the unit tests.
You can run a static analysis with cppcheck using make cppcheck
, make cppcheckFull
or make cppcheckConfig
.
A Doxygen API documentation can be created with make doc
.
make clean
should remove all intermediary files. make run
will run the binary.
You can also generate working XCode Project files with cmake -G Xcode ..
.
OpenRaider will try to load ~/.OpenRaider/OpenRaider.ini
or, if it doesn’t exist, OpenRaider.ini
from the current directory.
Running make setup
will create a minimal configuration in your home directory.
The configuration file format is very simple:
You can use paks from any classic Tomb Raider Game (1 - 5) and most user made paks for Tomb Raider. Tomb Raider 5 support is however still very limited.
TR2 and TR3 paks (both have file extension .tr2
) don’t have sound data contained in the pak itself, but instead
they share a common SFX file (often MAIN.SFX) for each pak from a given Tomb Raider version.
OpenRaider tries to load a MAIN.SFX
from the same folder as the selected level file.
Key | Action |
---|---|
<Esc> | Toggle menu |
q | Toggle debug windows |
w | Move forward |
s | Move back |
a | Move left |
d | Move right |
<space> | Jump |
<left ctrl> | crouch |
Mouse | Turn |
MouseBtn Left | Shoot/Use |
MouseBtn Right | Holster/Equip weapons |
Every available command should be listed in the in-game help. Just type help
in the OpenRaider console, which can be activated by default with the backquote key.
OpenRaider can read Font.pc files used by the TRLE. If the fonts glyph positions match the TR4 defaults, only a Font.pc file is required. If the positions differ, you also need a Leikkuri/Cutter preset file (.lps
).
TRLE Font support will automatically be built and used when selecting a font in your config file ending with .pc
.
If a .lps
is required, give it the same name as your font file.
I’ve made a small writeup on my website about this.
OpenRaider is based on code, specs, and algorithms from:
All code should be GPLed, unless otherwise noted.
Forked in December 2013 by xythobuz.
The included example Font, Droid Sans Mono, was created by Steve Matteson and is licensed under the Apache 2.0 License.
The included TRLE Font is from Laras Levelbase.
There are some included cmake scripts:
See the respective files in cmake
for their licensing.
The clibs/commander dependency is Copyright © 2012 TJ Holowaychuk (tj@vision-media.ca) and licensed under the MIT License.
The included GUI lib, imgui is Copyright © 2014 Omar Cornut. See src/deps/imgui/LICENSE for more informations about the MIT license used.