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.