A new and modern engine for custom Tomb Raider levels, incorporating classic features and new enhancements.
Find a file
Lwmte 4d63d92364
x64 version (#1113)
* Sort out compiler errors (excluding external libraries)

* Add TODO comment

* Use empty() method

* Fix wrong casts

* Fix new warnings

* Fix merge error

* Revert "Merge branch 'develop' into sezz_x64"

This reverts commit f695769189, reversing
changes made to 54c5e0c70d.

* Revert "Revert "Merge branch 'develop' into sezz_x64""

This reverts commit e1128c41f8.

* Update all libraries with x86 versions, organize lib directories, update x64 config

* Show app bitness in a log file

* Fix text rendering by uncommenting ToWString helper function

* Ship dlls and automatically replace them when switching between x86/x64

* Update TombEngine.vcxproj

* Adjust ammo struct; remove unneeded line

* Update broken x64 config for release mode

* Fix more project config inconsistencies

* Update TombEngine.vcxproj

* Remove unnecessary casts

* Tabs not spaces

* Update TombEngine.vcxproj.user

* Revert "Update TombEngine.vcxproj.user"

This reverts commit c168943ed0.

* Add x64 lua53.lib, remove DLLs.

---------

Co-authored-by: Sezz <sezzary@outlook.com>
Co-authored-by: Stranger1992 <84292688+Stranger1992@users.noreply.github.com>
Co-authored-by: hispidence <squidshirehimself@gmail.com>
2023-05-21 16:01:27 +01:00
Documentation Update Changes.txt 2023-05-19 03:10:29 +02:00
Libs x64 version (#1113) 2023-05-21 16:01:27 +01:00
Scripts Fix doc comment. 2023-04-27 14:48:24 +01:00
TombEngine x64 version (#1113) 2023-05-21 16:01:27 +01:00
Tools/Enum generation Cleanup generateobjects.lua and move it back into Enum generation 2022-09-13 21:22:21 +01:00
.gitignore x64 version (#1113) 2023-05-21 16:01:27 +01:00
objIDs.txt Include frameworkandsol.h instead of framework.h and sol.hpp. 2022-02-10 18:23:42 +00:00
README.md Renew TEN discord link 2023-02-14 23:07:00 +00:00
Title Image.psd Solve legal in pictures 2021-10-02 19:17:13 +03:00
TombEngine.sln x64 version (#1113) 2023-05-21 16:01:27 +01:00

TombEngine

In the year 2000, Core Design granted us a great gift: their TR4-based Level Editor, which allowed people to create custom levels. It was, unfortunately, quite limited, hence why over the decades it was upgraded massively with fan projects such as Tomb Raider Engine Patcher (TREP) and Tomb Raider Next Generation (TRNG).

  • TREP was a tool which allowed modification of the executable to expand certain limits and implement new features.
  • TRNG built upon TREP and provided many new tools, including a scripting language, expanding even more limits with its own .DLL.

Unfortunately, TRNG's toolset is poorly documented and not user-friendly; the program remains closed-source to this day and is in all practicality an abandonware. As a direct consequence, no one is able to fix the countless well-known bugs and issues extant in TRNG, rendering implementation of new features is impossible without an in-depth knowledge of C++ plugin creation and a solid understanding of the classic Tomb Raider engine's many idiosyncrasies.

TombEngine (TEN) is a new, open-source engine which aims to abolish all limits, fix bugs from the original games, introduce new features while refining old ones, and provide for a refined, user-friendly level creation process. Current support includes:

  • Lua (as the native scripting language)
  • All objects from the classic series (1-5)
  • Many more exciting gameplay functionalities such as diagonal shimmying and expanded crawlspace flexibility
  • An enlarged 2D map, allowing for the creation of massive levels (imagine one big level may previously have been split into five!)
  • 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
  • TombEditor (if you would like to create and test levels)

Steps:

  1. Clone the repository to your GitHub Desktop
  2. Launch TombEngine.sln and compile
  3. Once compiled, create a separate folder to serve as your main TEN directory
  4. Copy everything inside the Build folder to the main TEN directory
  5. Copy the Scripts folder to your 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. Compile again and once done, you should be able to compile a level with TombEditor and run it in TEN.

Disclaimer

We do not and have never worked for Core Design, Eidos Interactive, or Square Enix. This is a hobby project. Tomb Raider is a registered trademark of Square Enix; 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.

Credit List

Developers

  • MontyTRC (Project Leader)

  • Gancian (general coding)

  • Krystian (general coding)

  • Kubsy (Some cleanups and fixes)

  • l.m. (general coding, Lua enhancements, bug fixing)

  • Lwmte (sound refactoring, general coding, code cleanups, bug fixing)

  • Moooonyeah (Jumanji) (entity decompilation)

  • Raildex (renderer refactoring, particle coding, general coding)

  • RicardoLuis0 (general coding)

  • Sezz (player state refactoring, general coding, code cleanups, bug fixing, assets)

  • Squidshire (Hispidence) (Lua implementation, bug fixing)

  • Stranger1992 (sound asset refactoring and organisation, assets)

  • TokyoSU (entity and vehicle decompilation)

  • Tomo (general coding, bug fixing)

  • Troye (general coding, refactoring)

  • WolfCheese (general coding)

Testers

  • Adngel
  • Caesum
  • Dustie
  • GeckoKid
  • JoeyQuint
  • Kamillos
  • Kubsy
  • LGG_PRODUCTION
  • Lore
  • RemRem
  • Stranger1992
  • WolfCheese

Assets and Miscellaneous

  • Geckokid (Sprites and test level creator).

Animations

  • SrDanielPonces (Diagonal shimmy transitions, backwards monkey swinging)
  • Krystian (Flexibility crawlspace, slope climbing animations)
  • Sezz (Additional Animations for player state refactoring)
  • Naotheia (Underwater puzzle placement, crouch 180° turn, crawl 180° turn, water surface 180° turn)
  • JoeyQuint (Standing 180° turn, monkey swing 180° turn)

TombEngine Marketing

  • Kubsy (Twitter and forum posts)
  • Stranger1992 (This website, Facebook, Instagram, Youtube and Twitch.