public static void DrawMeshes(ref Device device, ParsedModel pm)
{
for (int x = 0; x < pm.Display.Chunk.Count; x++)
{
int rawindex = pm.Display.Chunk[x];
VertexBuffer vb = pm.Display.meshes[x].VertexBuffer;
IndexBuffer ib = pm.Display.meshes[x].IndexBuffer;
device.SetStreamSource(0, vb, 0);
device.VertexFormat = HaloVertex.FVF;
device.Indices = ib;
for (int xx = 0; xx < pm.RawDataMetaChunks[rawindex].SubMeshInfo.Length; xx++)
{
int tempshade = pm.RawDataMetaChunks[rawindex].SubMeshInfo[xx].ShaderNumber;
Renderer.SetAlphaBlending(pm.Shaders.Shader[tempshade].Alpha, ref device);
device.SetTexture(0, pm.Shaders.Shader[tempshade].MainTexture);
device.TextureState[0].ColorOperation = TextureOperation.Modulate;
device.TextureState[0].ColorArgument1 = TextureArgument.TextureColor;
device.TextureState[0].ColorArgument2 = TextureArgument.Current;
device.RenderState.FillMode = FillMode.Solid;
pm.Display.meshes[x].DrawSubset(xx);
}
}
}