Filetypes: Difference between revisions
No edit summary |
mNo edit summary |
||
(30 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
This | This page provides an overview of the file formats used by Arx Fatalis as well as references to the code responsible for loading them. | ||
== Audio == | |||
{| class="wikitable sortable" | |||
{| class="wikitable sortable center_0" | |||
! Ext | |||
! Description | |||
! Code | |||
|- | |||
| <b>aef</b> | |||
| [[AEF file format|Audio environment parameters]] | |||
| <code>audio/AudioEnvironment.cpp</code> (<code><b>audio::createEnvironment</b></code>) | |||
|- | |||
| <b>amb</b> | |||
| [[AMB file format|Ambient audio]] | |||
| <code>audio/Ambiance.cpp</code> (<code><b>audio::createAmbiance</b></code>) | |||
|- | |||
| <b>ini</b> | |||
| [[Presence file format|Per-sample volume factors]] | |||
| <code>scene/GameSound.cpp</code> (<code><b>ARX_SOUND_CreatePresenceMap</b></code>) | |||
|- | |||
| <b>ini</b> | |||
| [[Collision sounds file format|Collision sounds]] | |||
| <code>scene/GameSound.cpp</code> (<code><b>ARX_SOUND_CreateCollisionMaps</b></code>) | |||
|- | |||
| <b>wav</b> | |||
| [[wp:WAV file|Audio sample]] | |||
| <code>audio/codec/WAV.cpp</code> (<code><b>audio::createSample</b></code>) | |||
|} | |||
Audio environments (<b>.aef</b>) are not really integrated - only <code>alley.aef</code> is used. | |||
Ambiances (<b>.amb</b>) have multiple tracks where samples are played at different positions - they provide the background sounds as well as some cutscene music. | |||
== Levels / scenes == | |||
{| class="wikitable sortable center_0" | |||
! Ext | |||
! Description | |||
! Code | |||
|- | |||
| <b>dlf</b> | |||
| [[DLF file format|Level]] | |||
| <code>scene/LoadLevel.cpp</code> (<code><b>DanaeLoadLevel</b></code>) | |||
|- | |||
| <b>fts</b> | |||
| [[FTS file format|Compiled scene]] | |||
| <code>graphics/data/Mesh.cpp</code> (<code><b>FastSceneLoad</b></code>) | |||
|- | |||
| <b>llf</b> | |||
| [[LLF file format|Level lighting]] | |||
| <code>scene/LoadLevel.cpp</code> (in <code><b>DanaeLoadLevel</b></code>) | |||
|- | |||
| <b>scn</b> | |||
| [[TSCN file format|Raw scene (TSCN)]] | |||
| <code>scene/Object.cpp</code> (<code><b>PAK_MultiSceneToEerie</b></code>) | |||
|} | |||
<b>.scn</b> files contain/reference the static scene including meshes, textures and portal data. These are pre-processed into one <b>.fts</b> file per level. Only the preprocessed <b>.fts</b> files are included in the game data. | |||
<b>.dlf</b> reference the scene files belonging to the level and contain dynamic scene data: initial interactive object positions, paths/zones for pathfinding and scripting, fogs, lighting. | |||
For some (all?) versions of <b>.dlf</b> files, the lighting data is split into a separate <b>.llf</b> file. | |||
== Objects == | |||
{| class="wikitable sortable center_0" | |||
! Ext | ! Ext | ||
! Description | ! Description | ||
! Code | ! Code | ||
|- | |- | ||
| | | <b>ftl</b> | ||
| | | [[FTL file format|Compiled object / mesh]] | ||
| | | <code>graphics/data/FTL.cpp</code> (<code><b>ARX_FTL_Load</b></code>) | ||
|- | |- | ||
| | | <b>tea</b> | ||
| | | [[THEA file format|Animation (THEA)]] | ||
| | | <code>scene/Object.cpp</code> (<code><b>TheaToEerie</b></code>) | ||
|- | |- | ||
| | | <b>teo</b> | ||
| | | [[THEO file format|Raw object / mesh (THEO)]] | ||
| | | <code>scene/Object.cpp</code> (<code><b>TheoToEerie</b></code>) | ||
|- | |- | ||
| | | <b>too</b> | ||
| | | [[THEO file format|Raw object / mesh (only 3 files)]] | ||
| | | <code>scene/Object.cpp</code> (<code><b>TheoToEerie</b></code>) | ||
|} | |||
<b>.teo</b> files are not shipped with the game data, only the preprocessed <b>.ftl</b> files. <b>.too</b> is most likely just a typo. | |||
== Other files == | |||
{| class="wikitable sortable center_0" | |||
! Ext | |||
! Description | |||
! Code | |||
|- | |- | ||
| | | <b>asl</b> | ||
| | | [[Arx scripting language|Script]] | ||
| | | <code>scripting/Script.cpp</code> and <code>scripting/ScriptEvent.cpp</code> | ||
|- | |- | ||
| doc | | <b>cin</b> | ||
| [[Cinematic file format|Cinematic]] (panning images during cutscenes) | |||
| <code>io/CinematicLoad.cpp</code> (<code><b>loadCinematic</b></code>) | |||
|- | |||
| <b>doc</b> | |||
| | | | ||
| (not loaded?) | | (not loaded?) | ||
|- | |- | ||
| flg | | <b>flg</b> | ||
| (only one file) | | (only one file) | ||
| | | (not loaded?) | ||
|- | |- | ||
| | | <b>ini</b> | ||
| | | [[Settings]] | ||
| | | <code>core/Config.cpp</code> (<code><b>Config::init</b></code>) | ||
|- | |- | ||
| | | <b>ini</b> | ||
| | | [[Localisation format|Localisation]] | ||
| | | <code>core/Localisation.cpp</code> (<code><b>initLocalisation</b></code>) | ||
|- | |- | ||
| ini | | <b>ini</b> | ||
| | | [[Minimap offsets file format]] (not in .ini format) | ||
| | | <code>gui/MiniMap.cpp</code> (<code><b>ARX_MINIMAP_Load_Offsets</b></code>) | ||
|- | |- | ||
| | | <b>ini</b> | ||
| | | [[Texture refinement file format|Texture "refinement" map]] (not in .ini format) | ||
| | | <code>graphics/data/TextureContainer.cpp</code> (<code><b>LoadRefinementMap</b></code>) | ||
|- | |- | ||
| | | <b>pak</b> | ||
| | | [[PAK file format|Package / archive files]] | ||
| | | <code>io/resource/PakReader.cpp</code> | ||
|- | |- | ||
| | | <b>sav</b> | ||
| | | [[Save file format|Save files]] ([[Save file container format|.sav container]]) | ||
| scene/ | | <code>io/SaveBlock.cpp</code> and <code>scene/ChangeLevel.cpp</code> | ||
|- | |- | ||
| | | <b>txt</b> | ||
| | | [[Credits file format|Credits]] | ||
| | | <code>gui/Credits.cpp</code> (<code><b>ARX_Menu_Resources_Create</b></code>) | ||
| | |} | ||
Also used but loaded by external libraries: | |||
* Standard image formats (<b>bmp</b>, <b>jpg</b> and <b>tga</b>), loaded in <code>graphics/image/Image.cpp</code>. | |||
* True Type (<b>ttf</b>) font files, loaded in <code>graphics/font/*</code>. | |||
[[Category:Development information]] | |||
Latest revision as of 17:28, 18 October 2022
This page provides an overview of the file formats used by Arx Fatalis as well as references to the code responsible for loading them.
Audio
Ext | Description | Code |
---|---|---|
aef | Audio environment parameters | audio/AudioEnvironment.cpp (audio::createEnvironment )
|
amb | Ambient audio | audio/Ambiance.cpp (audio::createAmbiance )
|
ini | Per-sample volume factors | scene/GameSound.cpp (ARX_SOUND_CreatePresenceMap )
|
ini | Collision sounds | scene/GameSound.cpp (ARX_SOUND_CreateCollisionMaps )
|
wav | Audio sample | audio/codec/WAV.cpp (audio::createSample )
|
Audio environments (.aef) are not really integrated - only alley.aef
is used.
Ambiances (.amb) have multiple tracks where samples are played at different positions - they provide the background sounds as well as some cutscene music.
Levels / scenes
Ext | Description | Code |
---|---|---|
dlf | Level | scene/LoadLevel.cpp (DanaeLoadLevel )
|
fts | Compiled scene | graphics/data/Mesh.cpp (FastSceneLoad )
|
llf | Level lighting | scene/LoadLevel.cpp (in DanaeLoadLevel )
|
scn | Raw scene (TSCN) | scene/Object.cpp (PAK_MultiSceneToEerie )
|
.scn files contain/reference the static scene including meshes, textures and portal data. These are pre-processed into one .fts file per level. Only the preprocessed .fts files are included in the game data.
.dlf reference the scene files belonging to the level and contain dynamic scene data: initial interactive object positions, paths/zones for pathfinding and scripting, fogs, lighting.
For some (all?) versions of .dlf files, the lighting data is split into a separate .llf file.
Objects
Ext | Description | Code |
---|---|---|
ftl | Compiled object / mesh | graphics/data/FTL.cpp (ARX_FTL_Load )
|
tea | Animation (THEA) | scene/Object.cpp (TheaToEerie )
|
teo | Raw object / mesh (THEO) | scene/Object.cpp (TheoToEerie )
|
too | Raw object / mesh (only 3 files) | scene/Object.cpp (TheoToEerie )
|
.teo files are not shipped with the game data, only the preprocessed .ftl files. .too is most likely just a typo.
Other files
Ext | Description | Code |
---|---|---|
asl | Script | scripting/Script.cpp and scripting/ScriptEvent.cpp
|
cin | Cinematic (panning images during cutscenes) | io/CinematicLoad.cpp (loadCinematic )
|
doc | (not loaded?) | |
flg | (only one file) | (not loaded?) |
ini | Settings | core/Config.cpp (Config::init )
|
ini | Localisation | core/Localisation.cpp (initLocalisation )
|
ini | Minimap offsets file format (not in .ini format) | gui/MiniMap.cpp (ARX_MINIMAP_Load_Offsets )
|
ini | Texture "refinement" map (not in .ini format) | graphics/data/TextureContainer.cpp (LoadRefinementMap )
|
pak | Package / archive files | io/resource/PakReader.cpp
|
sav | Save files (.sav container) | io/SaveBlock.cpp and scene/ChangeLevel.cpp
|
txt | Credits | gui/Credits.cpp (ARX_Menu_Resources_Create )
|
Also used but loaded by external libraries:
- Standard image formats (bmp, jpg and tga), loaded in
graphics/image/Image.cpp
. - True Type (ttf) font files, loaded in
graphics/font/*
.