All Projects → stohrendorf → EdisonEngine

stohrendorf / EdisonEngine

Licence: other
An open-source Tomb Raider 1 engine remake

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language
GLSL
2045 projects
CMake
9771 projects

Projects that are alternatives of or similar to EdisonEngine

d2dx
D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions.
Stars: ✭ 214 (+268.97%)
Mutual labels:  modernization
OptimisedCentresOfRotationSkinning
Library to Compute Centres of Rotation for Optimised Centres of Rotation Skinning by Le and Hodgins 2016 "Real-time Skeletal Skinning with Optimized Centers of Rotation"
Stars: ✭ 28 (-51.72%)
Mutual labels:  reimplementation
DreeRally
Death Rally engine reimplementation
Stars: ✭ 68 (+17.24%)
Mutual labels:  reimplementation
OpenTriad
Open Triad is a reimplementation of the card game "Triple Triad" by Squaresoft.
Stars: ✭ 35 (-39.66%)
Mutual labels:  reimplementation
DungeonMaster.NET
Reimplementation of famous old Dungeon Master game.
Stars: ✭ 23 (-60.34%)
Mutual labels:  reimplementation
Ruffle
A Flash Player emulator written in Rust
Stars: ✭ 9,128 (+15637.93%)
Mutual labels:  reimplementation
EIS-Modernization
Documentation describing the Alaska Department of Health (DOH) modernization project and integrated eligibility system.
Stars: ✭ 41 (-29.31%)
Mutual labels:  modernization
ner-tagger-dynet
See http://github.com/onurgu/joint-ner-and-md-tagger This repository is basically a Bi-LSTM based sequence tagger in both Tensorflow and Dynet which can utilize several sources of information about each word unit like word embeddings, character based embeddings and morphological tags from an FST to obtain the representation for that specific wor…
Stars: ✭ 23 (-60.34%)
Mutual labels:  reimplementation
libnpengine
Free implementation of Nitroplus/5pb. Visual Novel game engine
Stars: ✭ 41 (-29.31%)
Mutual labels:  reimplementation
nox-decomp
Unofficial Nox (2000) port to Linux using decompiled code from https://playnox.xyz
Stars: ✭ 21 (-63.79%)
Mutual labels:  reimplementation
packard-belle-desktop
Building website with packard-belle UI library and react-rnd
Stars: ✭ 44 (-24.14%)
Mutual labels:  reimplementation
VanillaReimplementation
[Paused - Far from done] Reimplementation of Vanilla features in Minestom
Stars: ✭ 67 (+15.52%)
Mutual labels:  reimplementation
Webamp
Winamp 2 reimplemented for the browser
Stars: ✭ 8,268 (+14155.17%)
Mutual labels:  reimplementation
Openlara
Classic Tomb Raider open-source engine
Stars: ✭ 2,760 (+4658.62%)
Mutual labels:  tombraider
packard-belle
Windows 98 React Component Library
Stars: ✭ 127 (+118.97%)
Mutual labels:  reimplementation
move2kube
Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/Openshift.
Stars: ✭ 221 (+281.03%)
Mutual labels:  modernization
Winxp
🏁 Web based Windows XP desktop recreation.
Stars: ✭ 4,717 (+8032.76%)
Mutual labels:  reimplementation
openstrike
Libre reimplementation of Jungle and Desert Strike games
Stars: ✭ 45 (-22.41%)
Mutual labels:  reimplementation
Pytorch-PCGrad
Pytorch reimplementation for "Gradient Surgery for Multi-Task Learning"
Stars: ✭ 179 (+208.62%)
Mutual labels:  reimplementation
The-Great-Escape-in-C
Classic ZX Spectrum game "The Great Escape" rewritten in portable C
Stars: ✭ 95 (+63.79%)
Mutual labels:  reimplementation

CroftEngine logo CroftEngine

CroftEngine is dead

Please note that because every tool builder or level builder seemingly decided to completely ignore CroftEngine despite offering support, the project is now dead after about 7 years of development.

CroftEngine-CI FOSSA Status Total alerts Language grade: Python Language grade: C/C++

An open-source Tomb Raider 1 engine remake.

CroftEngine logo

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!

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]

Licensing

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

Usage

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. Feel free to join Discord to ask for help in the #croftengine channel, or create an issue.
  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.

Additional Cheats

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.

Credits

The following people deserve some noteworthy credit.

  • Raina Audron for creating the first YouTube videos and writing the user manual.
  • Martin Hauke for being the package maintainer of the openSUSE packages.
  • Liinx86 for being the world's first streamer streaming CroftEngine on twitch; also gave the idea for the Ghost feature.
  • Liinx86 again for being the first person of playing from start to finish. A summary of the stream can be found here, courtesy of jaaystation.
  • Tomb_of_Ash for being the second streamer.
  • Dfactor Longplays for showing that the Corner Bug works.
  • All testers reporting bugs.
  • Every contributor.
  • All players.

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.

  • TeslaRus: main developer.
  • Cochrane: renderer rewrites and optimizing, Mac OS X support.
  • Gh0stBlade: renderer add-ons, shader port, gameflow implementation, state control fix-ups, camera and AI programming.
  • Lwmte: state and scripting fix-ups, controls, GUI and audio modules, trigger and entity system rewrites.
  • Nickotte: interface programming, ring inventory implementation, camera fix-ups.
  • pmatulka: Linux port and testing.
  • richardba: Github migration, Github repo maintenance, website design.
  • Saracen: room and static mesh lighting.
  • T4Larson: general stability patches and bugfixing.
  • vobject: nightly builds, maintaining general compiler compatibility.
  • vvs-: testing, feedback, bug report.
  • xproger: documentation updates.
  • Banderi: documentation, bugfixing.
  • gabrielmtzcarrillo: entity shader work.
  • filfreire: documentation.

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).

Building

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

CroftEngine uses vcpkg; 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):

  • boost
  • glfw3
  • libpng
  • openal-soft
  • opengl
  • freetype
  • ffmpeg
  • utfcpp
  • gettext[tools]
  • libarchive

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

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

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.

Generating Glad OpenGL bindings

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:

  • OpenGL version 4.5, core profile
  • No loader generation
  • Do not omit KHR
  • Local files
  • Extensions:
    • GL_ARB_bindless_texture
    • GL_ARB_texture_filter_anisotropic
    • GL_EXT_texture_filter_anisotropic
    • GL_AMD_debug_output
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].