Ceci est une ancienne révision du document !


Fichiers .e3d

Ce format de fichier sert au stockage des objets 3d statiques. (ie : armes, meubles, rochers, …)

Note : la description de ce format est partielle et peut être fausse, merci de la corriger si vous avez des informations.

File Format E3D
Magic NUMBER : e3dx
Version describe : 1.0.0.0
LITTLE ENDIAN File Format

Le format de fichier possède les sections suivantes :

Inconnu

  • OFFSET 0 :

4 octets avec le magic number(ASCII 7-bits format) doit être e3dx

  • OFFSET 4 :

4 octets avec la version du format .e3d, actuellement : 1 0 0 0

  • OFFSET 8 :

int header_offset : La position du début du header dans le fichier.

  • OFFSET 12-27 :

Inconnu avec des informations.

Entête

OFFSET 28 : HEADER size 40 le header du fichier avec dedans :

  • int vertex_no; position 0 nombres de vertex(sommets) dans le fichier
  • int vertex_size; position 4 taille d’une vertice
  • int vertex_offset; position 8 position de départ de la liste de vertex
  • int index_no; position 12 nombre d’index dans le fichier
  • int index_size; position 16 taille d’un index, 2 ou 4
  • int index_offset; position 20 position de départ de la liste d’index
  • int material_no; position 24 nombre de “material” dans le fichier
  • int material_size; position 28 taille d’un material
  • int material_offset position 32 position de la liste de material dans le fichier
  • char vertex_options; position 36 vertex options, cela modifie comment interpreté la liste de vertex pour ce matériel, je ne sais pas comment
  • char reserved_1; position 37 not used
  • char reserved_2; position 38 not used
  • char reserved_3; position 39 not used

Liste des VERTEX

* offset : dans l’ header, normalement 68 * nombre d’éléments : dans l’header * taille d’un élément : dans l’header , 16 bytes

VERTEX :

Un tableau de 4 flottants, utilisation inconnue mais avec dedans x, y et z

Liste des INDICES

* offset : dans l’header, changeant * nombre d’éléments : dans l’header * taille d’un élément : dans l’header, 2 ou 4 octets

INDICE

l’indice est probablement un indice dans la liste des vertex

  • si la taille est de 2, un short non signé
  • si la taille est de 4, un entier non signé

LIST OF MATERIALS

* offset : dans l’ header, * nombre d’éléments : dans l’header * taille d’un élément : dans l’header , 172 bytes

MATERIAL

  • int options; position 0 utilisation inconnue
  • char material_name[128]; position 4 nom de la texture (et de son fichier) pour cette partie de l’objet
  • float min_x; position 132
  • float min_y; position 136
  • float min_z; position 140
  • float max_x; position 144
  • float max_y; position 148
  • float max_z; position 152
    • extrimités de l’objet, pour l’utilisation de la texture certainement
  • int triangles_min_index; position 156 utilisation inconnue
  • int triangles_max_index; position 160 utilisation inconnue
  • int index; position 164 utilisation inconnue, certainement le premier INDICE a utiliser
  • int count; position 168 nombre d’indices a utiliser

Note

Documentation source : Projet ElmapTools d’Etory & XlurP