A new and modern engine for custom Tomb Raider levels, incorporating classic features and new enhancements.
Find a file
TrainWrack d19d56acee
Collision Class (#1579)
* First Commit

* Make ScriptCollision class

* Fix typo

* Return correct types

* Use NO_HEIGHT

* Implement GetSurfaceMaterial

* Add enums

* Added death, climbable wall, monkeybar

* FIx angle

* Revise things

* Make "Collision" script module; add IsOutOfBounds() method

* Rename IsOutOfBounds()

* Allow getting floor or ceiling material type

* Don't need IsWall()

* Update Collision.cpp

* Restore IsWall()

* Rename class to "Probe"; start docs; make steepness inquirers return an optional

* Update Probe.cpp

* Update class name in doc

* Update Probe.cpp

* add GetRoomName

* UpdateEnums

* Update MaterialType enum; make room name getting more local

* Revise constructors; update doc

* Update Probe.cpp

* Generate html docs

* Slightly clearer doc comments

* Convert spaces to tabs

* Update Probe.cpp

* Update Probe.cpp

* Rename parameters

* Update Probe.cpp

* ScriptProbe -> Probe

* ExposeGetRoom

* Register Collision.MaterialType table; Enable ClimbWall again.

* Cleanup

* Docs revision

* Update CHANGELOG.md

* Moved names to script reserved names

* Fixed incorrect namespace for probe

* Use consistent names; cleanup

* Make argument optional; fix doc

* Update Probe.cpp

* Add missing includes

* Add Preview() method; update docs

* Add constant

---------

Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Lwmte <3331699+Lwmte@users.noreply.github.com>
2025-03-05 10:13:48 +02:00
.github/ISSUE_TEMPLATE Emit particle upgrade (#1542) 2025-02-01 11:22:49 +00:00
Documentation Collision Class (#1579) 2025-03-05 10:13:48 +02:00
Libs Sound engine enhancements (#1141) 2023-06-17 12:02:51 +01:00
Scripts Update Type module (#1569) 2025-02-09 14:58:15 +00:00
TombEngine Collision Class (#1579) 2025-03-05 10:13:48 +02:00
Tools/Enum generation Cleanup generateobjects.lua and move it back into Enum generation 2022-09-13 21:22:21 +01:00
.gitignore Implemented fog bulb (#1110) 2023-05-31 09:12:20 +01:00
AUTHORS.md Emit particle upgrade (#1542) 2025-02-01 11:22:49 +00:00
CHANGELOG.md Collision Class (#1579) 2025-03-05 10:13:48 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2024-05-15 23:43:08 +01:00
CONTRIBUTING.md Update CONTRIBUTING.md 2024-11-20 21:51:22 +11:00
IMPORTANT_LINKS.md Update IMPORTANT_LINKS.md 2024-05-19 22:24:46 +01:00
LICENSE Update LICENSE 2025-02-01 12:07:10 +00:00
pull_request_template.md Update pull_request_template.md 2024-10-30 16:14:47 +02:00
README.md Update README.md 2024-12-30 08:56:56 +01:00
TEN logo.png Rebranding 2024-11-03 13:21:26 +01:00
Title Image.psd Rebranding 2024-11-03 13:21:26 +01:00
TombEngine.sln x64 version (#1113) 2023-05-21 16:01:27 +01:00

TombEngine

Logo

TombEngine (TEN) is an open-source, custom level engine which aims to abolish limits and fix bugs of the classic Tomb Raider games, introduce new features while refining old ones, and provide user-friendly level creation process. Current support includes:

  • Lua (as the native scripting language)
  • Many objects from the original series (1-5)
  • Support for high framerate, antialiasing, mipmapping and SSAO
  • Full diagonal geometry support
  • Uncapped map size
  • A streamlined player control scheme.

If you would like to participate in TEN discussion with other TEN devs whether it is contributing, bugs or general discussion, then join this discord server: https://discord.gg/h5tUYFmres

Tomb Engine should be used in conjuction with Tomb Editor. Tomb Editor is also open source written in C#, you can find the repository here: https://github.com/MontyTRC89/Tomb-Editor

Compiling TombEngine

To compile TEN, ensure you have installed:

  • Microsoft Visual Studio
  • Tomb Editor (if you would like to create and test levels)

Steps:

  1. Clone the repository to your GitHub Desktop
  2. Open TombEngine.sln
  3. Compile the solution
  4. Once compiled, create a separate folder to serve as your main TEN directory (or create test TEN project using TombIDE)
  5. Copy everything inside the Build folder to the main TEN directory
  6. Ensure you have the necessary level data and texture files as well
  7. In the case Windows warns about missing DLLs, (bass.dll, etc.) copy the missing DLL files found inside the Libs folder to your main TEN directory.

Visual Studio may also warn about NuGet packages. To fix:

  1. Delete the Packages folder
  2. Go back to Microsoft Visual Studio
  3. Right-click on the TombEngine solution in the Solution Explorer tab and select "Restore NuGet Packages"
  4. If it doesn't help, manually install directxtk_desktop_2019 and Microsoft.XAudio2.Redist packages via NuGet Package Manager

Once done, you should be able to build a level with TombEditor and run it in TEN.

Disclaimer

This is a community project which is not affiliated with Core Design, Eidos Interactive, or Embracer Group AB. Tomb Raider is a registered trademark of Embracer Group AB. TombEngine is not be sold. The code is open-source to encourage contributions and to be used for study purposes. We are not responsible for illegal uses of this source code. This source code is released as-is and continues to be maintained by non-paid contributors in their free time.