Home

Awesome

CroftEngine logo CroftEngine

Installation Guide and Troubleshooting FAQ

To play online with others and see their ghosts live, visit https://haunted.earvillage.net/ and register. Please note that coop play is purely visual as of right now. If you have any idea for improvements about coop play, please don't be afraid to open an issue or a discussion here or join our Discord server. If you don't want to register an account, and if you're somewhat technically inclined, you can run a server on your own - see here for the server code.

If you don't find an answer for your issue, please open an issue or discussion on GitHub, or join the Discord. No matter where you post your issue, it will be handled.

CroftEngine-CI CroftEngine-CI FOSSA Status

An open-source Tomb Raider 1 engine remake.

CroftEngine logo

<details> <summary>Features (click to expand)</summary>

Native Controller Support

Native Controller Support

Native Glidos Texture Pack Support

Native Glidos Texture Pack Support

Easy Setup Wizard

Easy Setup Wizard

Customisable Graphics

Customisable Graphics

Extensive Statistics

Extensive Statistics

New Immersive Water

New Immersive Water

Ghosts - Race Against Yourself!

Ghosts - Race Against Yourself!

</details> <details> <summary>Videos (click to expand)</summary>

Tomb Raider: Croft Engine (JayStation & KittyPi3.14)

Edison Engine Showcase Trailer

Showcase Trailer (Raina Audron)

Edison Engine Showcase Trailer

The Lost Valley Playthrough (Raina Audron)

The Lost Valley Playthrough in Edison Engine

EdisonEngine - Tomb Raider, Enhanced! w/ developer commentary [Beta 10] [PC] [Stream Archive] (Dfactor Longplays)

EdisonEngine - Tomb Raider, Enhanced! w/ developer commentary [Beta 10] [PC] [Stream Archive]

</details> <details> <summary>Licensing (click to expand)</summary>

CroftEngine is an open-source engine distributed under LGPLv3 license, which means that ANY part of the source code must be open-source as well.

FOSSA Status

</details> <details> <summary>Usage (click to expand)</summary>

Avoid installing in the same folder as the original game. Otherwise, weird stuff may happen. CroftEngine pull in the data it needs from your original game data location. After you can confirm CroftEngine works, it is safe to delete the original Tomb Raider installation, as CroftEngine doesn't need that anymore to run.

A user manual has been kindly provided by Raina Audron here.

Please note that as of Beta 15 a setup assistant is included that should start if anything is missing.

  1. Get the most recent release from here. It is recommended to use the installer in Windows. For openSUSE users, the engine is available for most distribution versions in the "Games" repository.
  2. You will possibly encounter bugs or strange oddities. Please don't think too much, report them immediately in the issue tracker here. I can't fix things I'm not aware of. If possible, attach screenshots (which are by default bound to F12) and instructions how to toggle that bug. If you can't reproduce the bug, at least try to be as specific as you can when describing the bug. Any information I can gather is in fact helpful to nail that bug down.
  3. You need soundtrack files, grab them from here.
  4. On Windows, navigate to %LOCALAPPDATA% and create a directory croftengine there; on Linux, navigate to ~/.local/share and create a directory croftengine there.
  5. Ensure your the files in the newly created directory look something like this:
    croftengine
    └ data
      └ tr1
        ├ AUDIO
        │ ├ 002.ogg
        │ ├ 003.ogg
        │ └ ...
        ├ DATA
        │ ├ CUT1.PHD
        │ ├ CUT2.PHD
        │ └ ...
        └ FMV
          ├ CAFE.RPL
          ├ CANYON.RPL
          └ ...
    
  6. You should now be able to run CroftEngine. If something bad happens as mentioned above, or something doesn't work as expected, use the "Bug Report" action, usually bound to F1. This will create a time-stamped folder in your user data dir, including a screenshot, a save of your game when you used that action, and a series of log files. Have these files ready when you want help, as they greatly improve chances of diagnosing the problem.
  7. The default keybindings are WASD for movement Q and E for stepping left and right, Space for jump, Shift for walking, X for rolling, Ctrl for Action, 1 for drawing pistols, 2 for shotguns, 3 for uzis and 4 for magnums. You can consume small medi packs by pressing 5, and large ones by pressing 6. Quicksaves and loading them can be done using F5 and F6. You can take screenshots by pressing F12. The menu can be opened using Esc, and videos can be skipped using Esc.
</details> <details> <summary>Additional Cheats (click to expand)</summary>

Additionally to the standard cheats (step forward, step backwards, rotate slightly more than 1.5 rotations, and jump forward/backward), there are two additional cheats.

  1. If the final move is a left jump, you will get 5 small and 5 large medi packs. The successful application of this cheat will be confirmed with Lara sighing.
  2. If the final move is a right jump, every enemy's health in the level will be halved. The successful application of this cheat will be confirmed with a shotgun shooting sound.
</details> <details> <summary>Effects (click to expand)</summary>

Reference Reference

Anisotropy disabled - look at the snow on the wall to the right Anisotropy disabled

Bilinear filtering - blurs the textures Bilinear filtering

Bloom - bright areas will slightly spread their light to neighboring areas Bloom

Brightness Brightness

Contrast Contrast

CRT Version 1 CRT Version 1

CRT Version 2 CRT Version 2

Dust Particles disabled - the reference has Dust Particles enabled, this is how it looks when it's turned off Dust Particles

Partial Dynamic Lighting Partial Dynamic Lighting

Mostly Dynamic Lighting Mostly Dynamic Lighting

Full Dynamic Lighting Full Dynamic Lighting

Edge Outlining Edge Outlining

Film Grain - barely visible in-game Film Grain

FXAA disabled - anti-aliasing, this is how it looks when disabled FXAA

HBAO disabled - darkens corners, look at the snow where the floor hits a wall, this is how it looks when disabled HBAO

Lens Distortion Lens Distortion

Muzzle Flash Lighting Muzzle Flash Lighting

Render Scale half and UI Scale - half render scale, UI Scale is the same, but only affects the UI Render Scale

Shadow Quality disabled - improves performance when disabled, but reduces the visual quality Shadow Quality

Velvia - increases color saturation Velvia

Depth of Field - slightly blurs everything outside the focus point, which is at the center of the screen Velvia

</details> <details> <summary>Credits & Noteworthy People (click to expand)</summary>

The following people deserve some noteworthy credit.

The following people did extensive work on the OpenTomb engine, which was the starting point for CroftEngine. Although CroftEngine is a complete re-write with negligible remnants of OpenTomb's code base and pretty much different goals, you can see the commit history of OpenTomb in this repository. Because of that - and because I want to be grateful - I'd like to give credit to the OpenTomb contributors.

Additional contributions from: Ado Croft (extensive testing), E. Popov (TRN caustics shader port), godmodder (general help), jack9267 (vt loader optimization), meta2tr (testing and bugtracking), shabtronic (renderer fix-ups), Tonttu ( console patch) and xythobuz (additional Mac patches).

Translations by: Joey79100 (French), Nickotte (Italian), Lwmte (Russian), SuiKaze Raider (Spanish).

</details> <details> <summary>Building on Windows (click to expand)</summary>

Do a git submodule update --init --recursive.

CroftEngine uses vcpkg on Windows; refer to its documentation for basic usage, but the only thing you need is to call cmake with -DCMAKE_TOOLCHAIN_FILE=C:/devel/vcpkg/scripts/buildsystems/vcpkg.cmake (adjust path as necessary).

This is the list of the required libraries to be installed with vcpkg install (remember to set the target triplet as necessary, e.g. vcpkg install boost:x64-windows):

...or use this, and adjust the triplet:

vcpkg install --triplet x64-windows boost glfw3 libpng openal-soft opengl freetype ffmpeg utfcpp gettext[tools] libarchive libjpeg-turbo

An installation of Qt 5 is also necessary; as manually downloading and installing this package is usually faster than letting it build through vcpkg, it is not included in the above list. If you don't want to register for a Qt online account, you have to build it yourself, though, by installing the qt5 and qt5-translations vcpkg packages.

Finally, you need a Python 3 installation; the one provided by vcpkg does not work. The minimum supported version is Python 3.6, the Windows releases ship with Python 3.8. Other versions are not tested. To build CroftEngine on Windows with an external Python installation, you need to add the variable Python3_ROOT pointing to the installation root, e.g. using the command line with -DPython3_ROOT=E:\Python38 or adding a path variable in the ui.

</details> <details> <summary>Building on Linux (click to expand)</summary>

Do a git submodule update --init --recursive.

CroftEngine will download and cache some 3rd party libraries which are uncommon or usually outdated on today's popular Linux distributions.

This is the list of the required libraries to be installed (these are not package names, but should be similar):

You can have a look at the openSUSE RPM spec for RPM-based packages or the CI file for Debian-based packages. Depending on your distribution, the package names may differ.

Then follow the common cmake steps to build, i.e. mkdir build && cd build && cmake .. && make.

</details> <details> <summary>Generating Glad OpenGL bindings (click to expand)</summary>

Warning! The Glad bindings have been manually patched to always try to load the GL_ARB_bindless_texture extension, regardless of whether GL_EXTENSIONS reports it or not. This is to allow debugging with RenderDoc.

See src/soglb/glad-patches.md for the applied patches.

Generator Settings

Use the following settings to generate the bindings:

</details>