-
Notifications
You must be signed in to change notification settings - Fork 30
File format: mxv
chino edited this page Jan 5, 2013
·
3 revisions
Execution list format with visibility info and vertex index (*.mxv):
num_texture_files : uint16
texture_file_name[num_texture_files] : '\\0' separated strings
num_groups : uint16
{
num_exec_lists : uint16
{
exec_type : uint32 // 0 = entirely opaque, 1 = contains transparencies
num_vertices : uint16
vertex(x,y,z,reserved,colour,specular,tu,tv)[num_vertices] : x, y, z float, others uint32
num_texture_groups : uint16
{
texture_type : uint16 // 0 = normal, 1 = environment mapped
start_vertex : uint16
num_vertices : uint16
texture_no : uint16
num_triangles : uint16
triangles(v0,v1,v2,pad16,nx,ny,nz)[num_triangles] : v? uint16, pad16 uint16, n? float
}[num_texture_groups]
num_animating_polys : uint16
{
animation : uint16
frames : uint16
vertices : uint16
vertex[ vertices ] : uint16
{
{
tu, tv : float
}[ vertices ]
}[ frames ]
}[ num_animating_polys ]
}[num_exec_lists]
}[num_groups]
num_animations : uint16
{
frames : uint16
maxloops : uint16
animsize : uint16
animdata[ animsize ] : uint16
}[ num_animations ]
mxvflag : uint16 // always 1 for mxv format
{
group_name : '\\0' separated string
group_center(x, y, z) : all float
group_half_size(x, y, z) : all float
num_portals_in_group : uint16
{
num_vertices_in_portal : uint16
vertex(x, y, z)[num_vertices_in_portal] : all float
num_groups_visible_from_portal : uint16
groups_visible_from_portal[num_groups_visible_from_portal] : uint16
}[num_portals_in_group]
}[num_groups]
mxviflag : uint16 // always 1 for mxv format with vertex index
{
num_exec_lists : uint16
{
cell_origin(x, y, z) : all float
xcells, ycells, zcells : all uint16
num_vertex_indices : uint16
vertex_index[num_vertex_indices] : uint16 // points into exec buffer vertex[]
vertex_cell(num_verts_in_cell : uint16
start_vert_in_cell : uint16)[num_vertex_cells] // points into vertex_index[]
}[num_exec_lists]
}[num_groups]
num_start_points : uint16
{
x, y, z : float
in_group : uint16
}[num_start_points]