Wartbed:Files/Formats

From Dark Omen Wiki

(Difference between revisions)
Jump to: navigation, search
(Geometry)
(Geometry)
Line 4: Line 4:
.ZIP archive with .model extension. Archive containing the following file types and extensions (can conatin any number of all file types except meshes.desc).
.ZIP archive with .model extension. Archive containing the following file types and extensions (can conatin any number of all file types except meshes.desc).
-
<div style="border:1px solid gray; background:rgb(235,255,235);">
+
<div style="border:1px solid gray; background:rgb(215,225,215);">
<u style="padding:0.5em;">''modelname''.'''model'''</u><br>
<u style="padding:0.5em;">''modelname''.'''model'''</u><br>
<div style="padding:1em; ">
<div style="padding:1em; ">
<tt>
<tt>
-
{| style="font-family:courier;color:rgb(0,32,0);background:rgb(235,255,235);align:left;" |
+
{| style="font-family:courier;color:rgb(0,32,0);background:rgb(215,225,215);align:left;" |
|style="padding-right:8em;"|'''meshes.desc''' || text
|style="padding-right:8em;"|'''meshes.desc''' || text
|-
|-
Line 26: Line 26:
===Model description===
===Model description===
-
<div style="margin-left:2em;border:1px solid gray; background:rgb(16,32,16);width:50%">
+
<div style="margin-left:2em;border:1px solid gray; background:rgb(215,225,215);">
<u style="padding:0.5em;">'''1: meshes.desc'''</u><br>
<u style="padding:0.5em;">'''1: meshes.desc'''</u><br>
-
<div style="padding:1em; color:rgb(200,255,200);"><tt>Mesh name<br>
+
<div style="padding:1em; color:rgb(0,32,0);"><tt>''Mesh_name''<br>
{<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;vertices : filename.vertices;<br>
&nbsp;&nbsp;&nbsp;&nbsp;vertices : filename.vertices;<br>
Line 34: Line 34:
&nbsp;&nbsp;&nbsp;&nbsp;offset : [x,y,z];<br>
&nbsp;&nbsp;&nbsp;&nbsp;offset : [x,y,z];<br>
}<br><br>
}<br><br>
-
Mesh 2 name<br>
+
''Mesh_2_name''<br>
{<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
&nbsp;&nbsp;&nbsp;&nbsp;...<br>
Line 50: Line 50:
The second block is identified as "'''vertices'''" (or "vtx"). Every vertex is numbered (though item identifiers are actually ignored when parsing). Multiple vertex blocks are appended into one consecutive vertex buffer (regardless of vertex numbering).  
The second block is identified as "'''vertices'''" (or "vtx"). Every vertex is numbered (though item identifiers are actually ignored when parsing). Multiple vertex blocks are appended into one consecutive vertex buffer (regardless of vertex numbering).  
-
<div style="margin-left:2em;border:1px solid gray; background:rgb(16,32,16);">
+
<div style="margin-left:2em;border:1px solid gray; background:rgb(215,225,215);">
<u style="padding:0.5em;">'''2: filename.vertices'''</u><br>
<u style="padding:0.5em;">'''2: filename.vertices'''</u><br>
-
<div style="padding:1em; color:rgb(200,255,200);"><tt>definition<br>
+
<div style="padding:1em; color:rgb(0,32,0);"><tt>definition<br>
{<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;xyz : position;<br>
&nbsp;&nbsp;&nbsp;&nbsp;xyz : position;<br>
Line 75: Line 75:
Each ''faces'' block is created in a new index buffer, depending on parsing parameters.  
Each ''faces'' block is created in a new index buffer, depending on parsing parameters.  
-
<div style="margin-left:2em;border:1px solid gray; background:rgb(16,32,16);">
+
<div style="margin-left:2em;border:1px solid gray; background:rgb(215,225,215);">
<u style="padding:0.5em;">'''3: filename.indices'''</u><br>
<u style="padding:0.5em;">'''3: filename.indices'''</u><br>
-
<div style="padding:1em; color:rgb(200,255,200);">
+
<div style="padding:1em; color:rgb(0,32,0);">
<tt>textures<br>
<tt>textures<br>
{<br>
{<br>

Revision as of 22:19, 6 September 2008

Description of WARTBED file formats

Contents

Geometry

.ZIP archive with .model extension. Archive containing the following file types and extensions (can conatin any number of all file types except meshes.desc).

modelname.model

meshes.desc text
filename.vertices text
filename.indices text
filename.bmp/jpg/png bitmap
filename.skeleton  ???
filename.animation  ???


Model description

1: meshes.desc

Mesh_name

{
    vertices : filename.vertices;
    indices : filename.vertices;
    offset : [x,y,z];
}

Mesh_2_name
{
    ...

}


Vertices

Space, tab, '[', ']' and ',' are all valid separators and can be exchanged for reabability. Separators should be able to follow each other (cross your fingers).

The first block is identified by the keyword "definition" (of rather, any character sequence starting with "def") and details the components are their order in a vertex. Valid tokens are "xy" for a two-float dataype, "xyz" for a three-float , "xyzw" for a four-float; and "argb", "bgra" and "rgba" for four-byte colours.

Valid field names are "position", "normal", "diffuse", "specular", "emissive" and "texture coordinate". There can be multiple fields of the same type in a vertex, however, it is not yet defined how WARTBED handles this.

The second block is identified as "vertices" (or "vtx"). Every vertex is numbered (though item identifiers are actually ignored when parsing). Multiple vertex blocks are appended into one consecutive vertex buffer (regardless of vertex numbering).

2: filename.vertices

definition

{
    xyz : position;
    xyz : normal;
    argb : diffuse;
    argb : specular;
    argb : emissive;
    xy : texture coordinates;
}

vertices
{
    0 : [1,2,3] [0,1,0] 0xFFFFFFFF, 0xF0F0F0F0, 0x10101010 [0,0];
    1 : [4,5,6] [1,0,0] 0xFFFFFFFF, 0xF0F0F0F0, 0x10101010 [1,1];

}


Indices

As for vertices. space, tab, '[', ']' and ',' are all valid separators and can be exchanged for reabability, and separators should be able to follow each other.

Each faces block is created in a new index buffer, depending on parsing parameters.

3: filename.indices

textures
{
    0 : texture1.png;
    1 : texture2.jpg;
}

definition
{
    123 : indices;
    xyz : normal;
    id : texture;
}

faces
{
    0 : 1,2,3 [0,1,0] 0;
    1 : 2,3,5 [0,0,1] 1;
}

faces //requesting creation in new index buffer
{
    ...

}

Sprites

spritename.sprite

frames.desc (1)
spritesheet.bmp|jpg|png

Map

mapname.map

map.desc (1)

placeholder line

placeholder line

Army

placeholder line

Mission

placeholder line

Personal tools
communication