Skip to content
Ingo Ruhnke edited this page Mar 22, 2015 · 2 revisions
Header
    char     magic[4] (= W3DS)
    uint16_t format_version      (=2 at the moment)
    uint16_t mesh_count
    uint16_t attachement_point_count
    uint16_t action_count

Mesh Header (x mesh_count)
    char     texturename[64]
    uint16_t triangle_count
    uint16_t vertex_count

    uint16_t vertexnum    (x 3*triangle_count) # three vertex indexes per face
    float    normal[3]    (x triangle_count)   # one normal per face
    float    texcoord[2]  (x vertex_count)     # one uv coordinate per vertex

Attachement Point Header x attachement_point_count
    char name[64]

Action Header (x action_count)
    char     name[64]
    float    speed
    uint16_t marker_count
    uint16_t frame_count

  Marker (x marker_count)
    char     name[64]
    uint16_t frame_count

  MeshData (x frame_count)
    (x frame_count)
      (x mesh_count)
        (x mesh.vertex_count)
          float[3] vertex_location

      (x attachement_point_count)
        float locX, locY, locZ
        float rotW, rotX, rotY, rotZ (it's a quaternion)
Clone this wiki locally