Jump to content

O

From BigEvil Wiki

O is a file extension in EA Sports games which is used for model and animation files. The file itself has an ELF structure. EA used their own code for ELF reading.
The file may contain model (geometry) data, skeleton information, animations, rendering information, effects (shaders) and embedded textures.

Elf File Structure

[edit]

The overall file structure is following (the order of sections might be different, but for most files it is same):

  1. Elf Header (52 bytes)
  2. .data section data (Data section)
  3. .shstrtab section data (Section names table)
  4. .strtab section data (Symbol names table)
  5. .symtab section data (Symbol table)
  6. .rel.data section data (Relocation table)
  7. Section descriptions (section header table)

Each block is aligned by 16 bytes.

[edit]
Data type Name Value
UINT8[16] e_ident 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00
UINT16 e_type ET_REL (1)
UINT16 e_machine EM_MIPS (8)
UINT32 e_version EV_CURRENT (1)
UINT32 e_entry 0
UINT32 e_phoff 0
UINT32 e_shoff sections offset - different for each file
UINT32 e_flags 546455552
UINT16 e_ehsize 52 (size of this header)
UINT16 e_phentsize 0
UINT16 e_phnum 0
UINT16 e_shentsize 40 (size of section header entry)
UINT16 e_shnum 6 (number of sections)
UINT16 e_shstrndx index of .shstrtab section (section with section names)

Games

[edit]

O files were used mostly in games developed by EA Vancouver, between 1999 and 2009. It is also known as NIS ("Non-Interactive Scene") or EAGLAnim in some titles where it's used exclusively for animations.

Tools

[edit]

OTools - open-source tool for .O files import/export, by Dmitri
OEdit - .O files editor, by Arushan
Icebreaker - cutscene editor for NFS games, by r033