Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8657)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8658)
@@ -456,24 +456,30 @@
 
   // reserver memory for the vertex informations
-  this->meshes[mesh]->meshFrames = new sVec3D[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum];
-  this->meshes[mesh]->normals = new MD3Normal[this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum];
-
-  for( int i = 0; i < this->meshes[mesh]->header->meshFrameNum * this->meshes[mesh]->header->vertexNum; i++)
+  this->meshes[mesh]->meshFrames = new sVec3D*[this->meshes[mesh]->header->meshFrameNum]; // * this->meshes[mesh]->header->vertexNum
+  this->meshes[mesh]->normals = new MD3Normal*[this->meshes[mesh]->header->meshFrameNum];
+
+  for( int i = 0; i < this->meshes[mesh]->header->meshFrameNum; i++)
   {
-    // read out the compressed data
-    MD3VertexCompressed* vc = new MD3VertexCompressed;
-    fread(vc, 1, sizeof(MD3VertexCompressed), pFile);
-
-    this->meshes[mesh]->meshFrames[i][0] = (float)vc->vector[0] / 64.0f;
-    this->meshes[mesh]->meshFrames[i][1] = (float)vc->vector[1] / 64.0f;
-    this->meshes[mesh]->meshFrames[i][2] = (float)vc->vector[2] / 64.0f;
-
-    this->meshes[mesh]->normals[i].vertexNormal[0] = (int)vc->vertexNormal[0];
-    this->meshes[mesh]->normals[i].vertexNormal[1] = (int)vc->vertexNormal[1];
+    this->meshes[mesh]->meshFrames[i] = new sVec3D[this->meshes[mesh]->header->vertexNum];
+    this->meshes[mesh]->normals[i] = new MD3Normal[this->meshes[mesh]->header->vertexNum];
+
+    for( int j = 0; j < this->meshes[mesh]->header->vertexNum; j++)
+    {
+      // read out the compressed data
+      MD3VertexCompressed* vc = new MD3VertexCompressed;
+      fread(vc, 1, sizeof(MD3VertexCompressed), pFile);
+
+      this->meshes[mesh]->meshFrames[i][j][0] = (float)vc->vector[0] / 64.0f;
+      this->meshes[mesh]->meshFrames[i][j][1] = (float)vc->vector[1] / 64.0f;
+      this->meshes[mesh]->meshFrames[i][j][2] = (float)vc->vector[2] / 64.0f;
+
+      this->meshes[mesh]->normals[i][j].vertexNormal[0] = (int)vc->vertexNormal[0];
+      this->meshes[mesh]->normals[i][j].vertexNormal[1] = (int)vc->vertexNormal[1];
 
 //     PRINTF(0)("nr: %i, meshframes: %f, %f, %f, normal: %f, %f\n", i, this->meshes[mesh]->meshFrames[i][0], this->meshes[mesh]->meshFrames[i][1],
 //     this->meshes[mesh]->meshFrames[i][2], this->meshes[mesh]->normals[i].vertexNormal[0], this->meshes[mesh]->normals[i].vertexNormal[1]);
 
-    delete vc;
+      delete vc;
+    }
   }
 
Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_mesh.h
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_mesh.h	(revision 8657)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_mesh.h	(revision 8658)
@@ -77,6 +77,6 @@
     MD3Triangle*       triangles;               //!< indices into mesh frames and texture coord arrays
     MD3TexVecs*        texVecs;                 //!< tex vecs coordinates
-    sVec3D*            meshFrames;              //!< mesh frames
-    MD3Normal*         normals;                 //!< 3d array of normals with spherical coordinates giving the dir of the vertex normal
+    sVec3D**           meshFrames;              //!< mesh frames
+    MD3Normal**        normals;                 //!< 3d array of normals with spherical coordinates giving the dir of the vertex normal
 
 };
Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc	(revision 8657)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc	(revision 8658)
@@ -168,6 +168,6 @@
         //interpolate mesh frame between the 2 current mesh frames
         this->interpolateMeshFrame( data,
-                                    &mesh->meshFrames[data->animationState.currentFrame],
-                                    &mesh->meshFrames[data->animationState.nextFrame],
+                                    mesh->meshFrames[data->animationState.currentFrame],
+                                    mesh->meshFrames[data->animationState.nextFrame],
                                     data->animationState.interpolationFraction, mesh, i);
 //       }
@@ -188,6 +188,6 @@
           //interpolate vertex normals
           this->interpolateVertexNormals(data,
-                                         &mesh->normals[data->animationState.currentFrame],
-                                         &mesh->normals[data->animationState.nextFrame],
+                                         mesh->normals[data->animationState.currentFrame],
+                                         mesh->normals[data->animationState.nextFrame],
                                          data->animationState.interpolationFraction, mesh, i);
         }
@@ -305,5 +305,5 @@
         else {
           //stick with current vertex normals
-          this->drawVertexNormals(frame, &mesh->normals[data->animationState.currentFrame]);
+          this->drawVertexNormals(frame, mesh->normals[data->animationState.currentFrame]);
         }
       }
