The Filelist is the container and file-tracking format used by Eurocom's EngineX to bundle all the loose asset files into a big, single package that improves disc seek times and adds the semblance of a proper hierarchical, multi-folder, case-sensitive filesystem in platforms that often didn't have one or where doing it was considerably slower, bringing uniformity. This kind of virtual filesystem is still common in more modern games.
Filelist.bin is the binary descriptor file that maps a bundled file's hashcode to a path and package number + offset. EuroLand automatically regenerates the descriptor after exporting an EDB file by calling
x:\EngineX\Utils\Batch\MkFileList.bat with the project name (
Sphinx) and platform (
PC) as parameters. The batch script eventually calls
x:\EngineX\Utils\xutil.exe with the
/f argument and the script (
*.scr) file and appends the two parameters.
Which files are included in each platform and in which order are laid out is done via the
*.scr text files in
X:\Sphinx\GameSpec. These files can also specify an optional
BlockSize to split packages in multiple containers of a maximum size, so far only used in the Xbox version of Sphinx.
- PC and Nintendo Switch: In the newer ports the engine still uses a descriptor, but files aren't packed, and the
X:\Sphinx\Binary\_bin_PC\paths are automatically changed to work relatively from the working directory.