****      Orion engine v1 MSH format datasheet             ***
**** Stalin Subway, Red Veil, Метро-2,Метро-2:Смерть вождя ***

1. Header (base), starts at 0x00000000

struct or1_head
{
	unsigned int version;
	char name[16]; // 'Orion engine v1' for models, 'Orion Map ' for maps, padded with 0's
};

1a. Header (model), starts next

struct mdl_head
{
	unsigned int unk;
	unsigned int faces;
	unsigned int verts;
  int var[6];
	struct vector3f	mat3[4];
};

OR

1b. Header (level), starts next

struct map_head
{
	unsigned int unk;
  struct msh_bbox bb;
	unsigned int unk2;
	unsigned int unk3;
  struct msh_bbox bb2;
  unsigned short us[5];
	unsigned char unk4;
  unsigned int var[1000];
};

2. Vertexes data (model), starts next, repeated msh_head.verts times

struct vector3f // size 12 = 3 * 4
{
	float x,y,z; 
};

3. Normales data (model), starts next, repeated msh_head.verts times

struct vector3f // size 12 = 3 * 4
{
	float x,y,z; 
};

4. Faces data (model), starts next, repeated msh_head.faces times

struct face  // size 6 = 3 * 2
{
	unsigned short f0,f1,f2; 
};

5. Texture UV coordinates data (model), starts next, repeated msh_head.verts times

struct vector2f // size 8 = 2 * 4
{
	float u,v; 
};

6. Texture DDS path next.

it is somewhere below, 
looks like this = "MODELS\PERSON\NPC_NEUT\MEDSESTRA\medsestra_tex.dds"
so if your game installed to "C:\Metro2",
full texture path is "C:\Metro2\MODELS\PERSON\NPC_NEUT\MEDSESTRA\medsestra_tex.dds"