Index: branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc
===================================================================
--- branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8423)
+++ branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8426)
@@ -101,5 +101,5 @@
       while( !(bBoneFrames && bTags && bMeshes))
       {
-        printf("while\n");
+        printf("while, fileOffset = %i\n", fileOffset);
         if( fileOffset == this->header->boneFrameStart && !bBoneFrames)
         {
@@ -156,4 +156,6 @@
 int MD3Data::readHeader(FILE* pFile, int fileOffset)
 {
+  PRINTF(0)("Reading Header\n");
+
   this->header = new MD3Header;
   fread(this->header, 1, sizeof(MD3Header), pFile);
@@ -182,4 +184,6 @@
 int MD3Data::readBoneFrames(FILE* pFile, int fileOffset)
 {
+  PRINTF(0)("Reading Bone Frames\n");
+
   this->boneFrames = new MD3BoneFrame*[this->header->boneFrameNum];
 
@@ -202,4 +206,5 @@
 int MD3Data::readTags(FILE* pFile, int fileOffset)
 {
+  PRINTF(0)("Reading Tags\n");
 //  this->boneFrames = new MD3BoneFrame*[this->header->boneFrameNum];
 
@@ -226,5 +231,7 @@
 int MD3Data::readMeshes(FILE* pFile, int fileOffset)
 {
-  int    localFileOffset = fileOffset;                          //!< local file offset
+  PRINTF(0)("Reading Mesh Data\n");
+
+  int    localFileOffset = 0;                                      //!< local file offset
 
   this->meshes = new MD3Mesh*[this->header->meshNum];
@@ -234,4 +241,5 @@
     this->meshes[i] = new MD3Mesh();
 
+    localFileOffset = 0;
     bool   bTriangles, bTexVecs, bVertices, bTextures;            //!< the parts that have been read so far
 
@@ -248,4 +256,17 @@
     }
 
+    PRINTF(0)("MD3 Mesh Header debug section\n");
+    printf("ident: %i\n", md->id);
+    printf("filename: %s\n", md->name);
+    printf("meshFrameNum: %i\n", md->meshFrameNum);
+    printf("textureNum: %i\n", md->textureNum);
+    printf("vertexNum: %i \n", md->vertexNum);
+    printf("triangleNum: %i\n", md->triangleNum);
+    printf("triangleStart: %i\n", md->triangleStart);
+    printf("textureStart: %i\n", md->textureStart);
+    printf("texVecStart: %i\n", md->texVecStart);
+    printf("vertexStart: %i\n", md->vertexStart);
+    printf("fileSize: %i\n", md->meshSize);
+
     // check which parts to be loaded
     bTriangles = ( this->meshes[i]->header->triangleNum == 0);
@@ -257,4 +278,5 @@
     while( !(bTriangles && bTexVecs && bVertices && bTextures))
     {
+      PRINTF(0)("while2: localOffset = %i\n", localFileOffset);
       if( localFileOffset == this->meshes[i]->header->triangleStart  && !bTriangles)
       {
@@ -279,5 +301,5 @@
     }
   }
-  return localFileOffset - fileOffset;
+  return localFileOffset;
 }
 
@@ -289,4 +311,5 @@
 int MD3Data::readMeshTriangles(FILE* pFile, int fileOffset, int mesh)
 {
+  PRINTF(0)("Reading Mesh Triangles\n");
   // create the memomry to save the triangles
   this->meshes[mesh]->triangles = new MD3Triangle[this->meshes[mesh]->header->triangleNum];
@@ -302,4 +325,6 @@
 int MD3Data::readMeshTextures(FILE* pFile, int fileOffset, int mesh)
 {
+  PRINTF(0)("Reading Mesh Textures\n");
+
   // create the textures
   this->meshes[mesh]->material = new Material[this->meshes[mesh]->header->textureNum];
@@ -323,4 +348,5 @@
 int MD3Data::readMeshTexVecs(FILE* pFile, int fileOffset, int mesh)
 {
+  PRINTF(0)("Reading Mesh TexVecs\n");
   this->meshes[mesh]->texVecs = new MD3TexVecs[this->meshes[mesh]->header->vertexNum];
   fread(this->meshes[mesh]->texVecs, 1, sizeof(MD3TexVecs), pFile);
@@ -335,4 +361,6 @@
 int MD3Data::readMeshVertices(FILE* pFile, int fileOffset, int mesh)
 {
+  PRINTF(0)("Reading Mesh Vertices\n");
+
   // reserver memory for the vertex informations
   this->meshes[mesh]->meshFrames = new sVec3D[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum];
Index: branches/bsp_model/src/lib/graphics/importer/md3/md3_data.h
===================================================================
--- branches/bsp_model/src/lib/graphics/importer/md3/md3_data.h	(revision 8423)
+++ branches/bsp_model/src/lib/graphics/importer/md3/md3_data.h	(revision 8426)
@@ -27,5 +27,5 @@
 
 //! These are the needed defines for the max values when loading .MD2 files
-#define MD3_IDENT                       (('4'<<24) + ('P'<<16) + ('D'<<8) + 'I') //!< the md2 identifier tag in the bin file
+#define MD3_IDENT                       (('3'<<24) + ('P'<<16) + ('D'<<8) + 'I') //!< the md3 identifier tag in the bin file
 #define MD3_VERSION                     15                                       //!< the md2 version in the header
 #define MD2_MAX_TRIANGLES               4096                                     //!< maximal triangles count
