the main goal of this thread is to collect and share information about the used fileformats, tools, technical in depth informations, specifications and other usefull contributions for devs about X:RB.
It is not focused to be a beginner tutorial for programming or modding, but rather it should be a solid information basis for advanced modders or developers, because without information and proper tools a more comprehensive modding|programming is|will be hard or even impossible. How ever, here we go:
_________________________________________________
UI
Fileformats:
- .dae : collada digital asset exchange schema
.bgf : "Binary Game File" (Serialized) for inclusion into X:RB source, no public tools available, kind of a spec from "Gibbed Avalanche" project here.
.bsg : "Binary Game File" (Serialized) for inclusion into X:RB source, no public tools available, kind of a spec from "Gibbed Avalanche" project here.
.amw : "Anark Media Workspace" file extension. This file contains the project’s data and workspace settings, No public tools or specification known yet.
Information: Used for the 3D UI but no public tools available.
Used Software: Anark Studio 4.0 (abandoned middleware and not supported anymore) in conjunction with FCollada (C++ library which offers support for COLLADA interoperability)
Needs: Anark Studio 4.0, or proper tools from ES in the future
Alternative: None by now, proposal: Switch to UI-Composer, or implementing a wrapper for another 3DGUI capable systems (for example: Crazy Eddie's GUI System)
Modeling (Environment mesh + animation)
Fileformats:
- .xmf : Xu Mesh File
Information: Mesh binary format (Xu Mesh File)
Used Software: 3DMax, Blender, or other...
Needs: xmf<=>dae converter (by arc_)
Alternative: None by now.
Fileformats:
- .ani : No public tools or specification known yet.
Information: animates .xmf meshes (e.g. radar dishes that spin, crates that open - anything non-NPC). Presumably custom file format by ES. No tools or specification available known yet. (by _arc)
Used Software: ???
Needs: ???
Alternative: ???
Modeling (NPC mesh + animation)
Fileformats:
- .xac : EmotionFX Actor file (NPC mesh). No public conversion tools available yet but upcoming.
.xpm : EmotionFX facial animation. No public tools available but a basic specification.
.xsm : EmotionFX skeletal animation. No public tools available but a basic specification.
Information: Used for NPC Meshes and animation.
Used Software: EmotionFX by "Mystic Game Development"
Needs: EmotionFX
Alternative: None by now.
Scripting
Fileformats:
- .xpl : .lua renamed to .xpl, compiled with LUAjit
Information: LUAjit bytecode, mostly used for UI behavior
Used Software: LUA 5.1 + LUAjit
Needs: LUA Sources from ES
Alternative: Disassembling with luajit-decompiler
Fileformats:
- .xml : Standard XML
.xml : diff XML patching
.xsd : XML Schemas, some missing xsd's, apache vfs2 filesystem (Thanks brammie)
Information: Used for low lvl scripting and diff patching in extensions
Used Software: Any txt editor
Needs: more love for properties and parameter documentation.
Alternative: not needed
FX
Fileformats:
- .psb : Particle effects, binary, no specification yet
Information: Particle effects
Used Software: ???
Needs: Specification.
Alternative: ?
Fileformats:
- .fbpc : directx hlsl shaders and effects, renamed to .fx
.fxh : directx hlsl shaders and effects for the .fx above
Information: Each file stores a DirectX 9 "effect" which is a collection of vertex and pixel shaders. The shaders can be extracted using a little custom tool _arc has made, EffectExtractor - run it from the command line and pass it an .fbpc, and it'll put the extracted shaders next to it as .fx files. After that the shaders can be disassembled with fxc.exe, the FX Compiler from the MS DirectX SDK: "fxc.exe /dumpbin <path to .fx file>" (by _arc)
Used Software: MS Tools for DirectX Graphics
Needs: EffectExtractor, fxc (from MS DirectX SDK)
Alternative: None by now.
_________________________________________________
Would be nice if we share some in depth knowledge. I will keep the list fresh if there's something new, changed or additional.
_________________________________________________
UPDATES:
28.12.2013
+ Added xmfConverter. by (_arc).
+ Added XUMF definition link.
+ Added ".amw" description.
~ Changed Liststyle.
+ Information collected by _arc. Thank you pal.
+ Links to fileformats to specifications.
29.12.2013
+ DXShader informations and links.
+ More links for various keynames.
+ More informations about various filetypes.
30.12.2013
+ More information about .bgf (thanks brammie)
01.01.2014
~ Happy new year
+ New "Dev Tools" Section