The original EngineX logo, made by Eurocom.

EngineX is the custom-built game engine created by Eurocom for Sphinx and the Cursed Mummy. The first game that released based on this technology was Buffy: Chaos Bleeds —in 2003— due to shorter development times. Eurocom reused and expanded it for all of the following projects until its eventual bankruptcy in 2012. The last in-house game using this technology was 007 Legends.

The engine was made to be generic and extendable from the start, completely decoupling each game's code from the reusable, common EngineX code that works as base and abstracts the underlying platform. Still, some game code was also reused to some degree and expanded between projects. For example, Buffy and Sphinx share most of the HUD code; with the main menu and memory card dialog elements being almost functionally identical.

Supported PlatformsEdit

The original version of the engine at the time of Sphinx supported the following platforms:

  • PlayStation 2
  • Windows (DirectX 7, internal)
  • GameCube
  • Xbox

After the THQ Nordic acquisition the original version was partially rewritten and expanded to work on the following platforms:

  • Windows (OpenGL Core / SDL2 / OpenAL Soft), Linux, macOS
  • Nintendo Switch


A more modern version of EngineX —reddubbed EngineXT— was the final incarnation used from 2005 onward. It was incrementally updated to support 7th generation consoles, as well as proper Windows support:

  • Wii
  • PlayStation 3
  • Xbox 360
  • Windows (Direct3D 9)
  • Wii U


Main article: EuroLand

EuroLand —sometimes stylized as Euroland— was the internal all-in-one editor used by the company, it was tightly integrated with custom Maya and 3ds Max plugins to edit maps and geometry. After Sphinx, the company started a new iteration called EuroLand 2, with a revised scene format and improved tools.

Hashcodes Edit

Hashcodes are an integral part of how EngineX works. Instead of referencing objects by name or path, almost every object is tagged with an unique hexadecimal number. To make this number easier to read, they have a constant label starting with the HT_ prefix.


The hashcode editor in EuroLand, being used to tag MC_Sphinx.elf with HT_File_Sphinx.

Both EngineX, EuroLand, and the game itself load and parse a header file called hashcodes.h, where all these special numbers are defined in order. Hashcodes can be created directly from EuroLand.

A number is always made out of a section number (the prefix) and a self-incrementing ID. Here is an example:

Every EuroLand file is tagged with a hashcode of the HT_File section. If we open Grafix/Animations/Main Player/MC_Sphinx.elf in EuroLand and click on Project to open Project Options > Hash Table we can see that it uses HT_File_Sphinx.
Once we export that file via App Targets > PC > right-click menu > Output (Optimised) the .EDB will retain the tag. An entry in Filelist.bin will map it to its exported .EDB counterpart. So when the game finds the hashcode in LevelData it will redirect it to _bin_PC/MC_Sphin.edb and the game will load it.

But not only .EDB files use hashcodes; from individual entities, textures, to animation datums, bone names or music tracks. All of them have their own unique tags (either manually-typed or generated).

And while a few of them are hardcoded to be used internally by the engine, some of them are not.

References Edit

Community content is available under CC-BY-SA unless otherwise noted.