EuroLand Files (*.elf) are the source files that contain the graphical assets of any Eurocom game project, meant to be opened and edited with the internal all-in-one editor; EuroLand. This format (and the editor itself) predates EngineX by several years, and it was made so that older versions of the format can always be opened with newer incarnations of the internal editor. Mainly to reuse animations, models and particles in newer games.
History[]
Originally developed for PlayStation games like Disney's Tarzan or Atlantis: The Lost Empire, the use of a retargetable exporter allows them to turn the uncompressed entities, textures, maps and triggers into a processed asset format optimized exclusively for the requirements of each platform and third-party engines. For example; the PlayStation 2 version compressed textures as indexed RGB 565 (with color palette) and the GameCube version stores them as block-compressed S3TC. The triangle strips also are encoded differently in each platform to submit displaylists to the graphics processor faster, taking into account the specific requirements and cache sizes. The way these early fixed-function 3D consoles processed blending modes and skeletal animation also varied greatly.
The binary content of these ELF files is stored/encoded using Microsoft Foundation Classes (MFC) for serialization, so newer versions read older versions but not the other way around. This is an unintended side effect of compiling EuroLand Redux in newer Visual Studio versions.
Location and file tree[]
For Sphinx in particular, the way the ELF files are stored and organized roughly follows this folder layout:
Sphinx
Grafix
Animations
_CUTSCENE
_FX
Main Character
Scripts
(Other NPCs and monsters, by family, see INDEX)
...
Maps
Abydos
Akarian
Heliopolis
Luxor
MapTest
Mini Games
Misc
Mummy
OLDMAPS
Recovered
Sakkara
Training
Uruk_Sphinx
...
TriggerObjects
Abydos
Akaria
General
Heliopolis
Luxor
Mummy
Sakkara
Uruk
Essentially, the Grafix folder is divided into Animations (where whole characters and skins are stored, as well as effect files, NPCs, monsters and cutscenes) and Maps (where whole levels and their geometry, textures and scripting are contained, often duplicated between maps), but not trigger gamescripts and entities; so keep in mind that the interactive objects of the maps themselves (like levers, platforms, save points, torches or doors, and anything not static or potentially reusable) are split off and often stored in TriggerObjects instead, with a similar layout.