Index: trunk/src/lib/graphics/importer/md2Model.cc
===================================================================
--- trunk/src/lib/graphics/importer/md2Model.cc	(revision 5086)
+++ trunk/src/lib/graphics/importer/md2Model.cc	(revision 5087)
@@ -87,5 +87,5 @@
 
   this->scaleFactor = this->data->scaleFactor;
-  this->setAnim(BOOM);
+  this->setAnim(STAND);
 }
 
@@ -134,5 +134,5 @@
 {
   if( (type < 0) || (type > MAX_ANIMATIONS) )
-    type = 0;
+    type = STAND;
 
   this->animationState.startFrame = animationList[type].firstFrame;
@@ -142,7 +142,7 @@
   this->animationState.type = type;
 
-  this->animationState.interpolationState = 0.0;
-  this->animationState.localTime = 0.0;
-  this->animationState.lastTime = 0.0;
+  this->animationState.interpolationState = 0.0f;
+  this->animationState.localTime = 0.0f;
+  this->animationState.lastTime = 0.0f;
   this->animationState.currentFrame = animationList[type].firstFrame;
 }
@@ -169,6 +169,5 @@
   glPushMatrix();
 
-  this->renderFrameGLList();
-//  this->renderFrameTriangles();
+  this->renderFrame();
 
   glPopMatrix();
@@ -179,5 +178,5 @@
   \brief this is an internal function to render this special frame selected by animate()
 */
-void MD2Model::renderFrameGLList()
+void MD2Model::renderFrame()
 {
   static sVec3D verticesList[MD2_MAX_VERTICES]; /* performance: created only once in a lifetime */
@@ -194,5 +193,4 @@
   this->data->material->select();
 
-  printf("=============================FRAME\n");
   /* draw the triangles */
   while( int i = *(pCommands++)) /* strange looking while loop for maximum performance */
@@ -218,54 +216,4 @@
 
     }
-  glDisable(GL_CULL_FACE);
-  glPopAttrib();
-}
-
-
-/**
- *  renders the frame using triangles
- */
-void MD2Model::renderFrameTriangles()
-{
-  static sVec3D verticesList[MD2_MAX_VERTICES]; /* performance: created only once in a lifetime */
-  int* pCommands = this->data->pGLCommands;
-
-  /* some face culling stuff */
-  glPushAttrib(GL_POLYGON_BIT);
-  glFrontFace(GL_CW);
-  glEnable(GL_CULL_FACE);
-  glCullFace(GL_BACK);
-
-  this->processLighting();
-  this->interpolate(verticesList);
-  this->data->material->select();
-
-  /* draw the triangles */
-  glBegin(GL_TRIANGLES);
-
-  for( int i = 0, k = 0; i < this->data->numTriangles; ++i, k += 3)
-  {
-    printf("%i: (%f, %f)\n", i, (float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[2]].s, (float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[2]].t);
-
-    glTexCoord2f((float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[0]].s,
-                 (float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[0]].t);
-    //glNormal3f(Md2Model.normal[i].x, Md2Model.normal[i].y, Md2Model.normal[i].z);
-    glVertex3fv(verticesList[this->data->pTriangles[i].indexToVertices[0]]);
-
-    glTexCoord2f((float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[1]].s,
-                  (float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[1]].t);
-
-//    glNormal3f(Md2Model.normal[i].x, Md2Model.normal[i].y, Md2Model.normal[i].z);
-    glVertex3fv(verticesList[this->data->pTriangles[i].indexToVertices[1]]);
-
-    glTexCoord2f((float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[2]].s,
-                  (float)this->data->pTexCoor[this->data->pTriangles[i].indexToTexCoor[2]].t);
-//    glNormal3f(Md2Model.normal[i].x, Md2Model.normal[i].y, Md2Model.normal[i].z);
-    glVertex3fv(verticesList[this->data->pTriangles[i].indexToVertices[2]]);
-  }
-
-  glEnd();
-
-
   glDisable(GL_CULL_FACE);
   glPopAttrib();
@@ -431,8 +379,5 @@
   fseek(pFile, this->header->offsetTexCoords, SEEK_SET);
   fread(this->pTexCoor, sizeof(sTexCoor), this->numTexCoor, pFile);
-  for( int i = 0; i < this->numTexCoor; ++i)
-  {
-    printf("%i: (%i, %i)\n", i, this->pTexCoor[i].s, this->pTexCoor[i].t);
-  }
+
 
   for(int i = 0; i < this->numFrames; ++i)
Index: trunk/src/lib/graphics/importer/md2Model.h
===================================================================
--- trunk/src/lib/graphics/importer/md2Model.h	(revision 5086)
+++ trunk/src/lib/graphics/importer/md2Model.h	(revision 5087)
@@ -160,6 +160,6 @@
   void processLighting();
   void interpolate(sVec3D* verticesList);
-  void renderFrameGLList();
-  void renderFrameTriangles();
+  void renderFrame();
+
 
  public:
Index: trunk/src/story_entities/world.cc
===================================================================
--- trunk/src/story_entities/world.cc	(revision 5086)
+++ trunk/src/story_entities/world.cc	(revision 5087)
@@ -416,20 +416,39 @@
   TestEntity* testEntity2 = new TestEntity();
   testEntity2->setAnim(STAND);
-  testEntity2->setRelCoor(Vector(5.0, 0.0, 5.0));
+  testEntity2->setRelCoor(Vector(2400.0, 10.0, -30.0));
   testEntity2->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
-  testEntity2->setParent(this->localPlayer);
+  //testEntity2->setParent(this->localPlayer);
   this->spawn(testEntity2);
 
   TestEntity* testEntity3 = new TestEntity();
-  testEntity3->setAnim(RUN);
-  testEntity3->setRelCoor(Vector(2400, 25, 280));
+  testEntity3->setAnim(BOOM);
+  testEntity3->setRelCoor(Vector(2450.0, 10.0, -40.0));
   testEntity3->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
   this->spawn(testEntity3);
 
   TestEntity* testEntity4 = new TestEntity();
-  testEntity4->setAnim(RUN);
-  testEntity4->setRelCoor(Vector(2430, 25, 250));
+  testEntity4->setAnim(FLIP);
+  testEntity4->setRelCoor(Vector(2500.0, 10.0, -22.0));
   testEntity4->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
   this->spawn(testEntity4);
+
+  TestEntity* testEntity5 = new TestEntity();
+  testEntity5->setAnim(WAVE);
+  testEntity5->setRelCoor(Vector(2420.0, 10.0, -50.0));
+  testEntity5->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
+  this->spawn(testEntity5);
+
+  TestEntity* testEntity6 = new TestEntity();
+  testEntity6->setAnim(WAVE);
+  testEntity6->setRelCoor(Vector(2420.0, 10.0, -20.0));
+  testEntity6->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
+  this->spawn(testEntity6);
+
+  TestEntity* testEntity7 = new TestEntity();
+  testEntity7->setAnim(WAVE);
+  testEntity7->setRelCoor(Vector(2500.0, 10.0, -50.0));
+  testEntity7->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
+  this->spawn(testEntity7);
+
 
 
Index: trunk/src/world_entities/npc.cc
===================================================================
--- trunk/src/world_entities/npc.cc	(revision 5086)
+++ trunk/src/world_entities/npc.cc	(revision 5087)
@@ -30,5 +30,5 @@
   this->setClassID(CL_NPC, "NPC");
 
-  this->loadModelWithScale("models/ships/bolido.obj",5);
+  this->loadModelWithScale("models/ships/bolido.obj", 5);
 
   this->randomRotAxis = VECTOR_RAND(1);
Index: trunk/src/world_entities/test_entity.cc
===================================================================
--- trunk/src/world_entities/test_entity.cc	(revision 5086)
+++ trunk/src/world_entities/test_entity.cc	(revision 5087)
@@ -22,4 +22,6 @@
 #include "md2Model.h"
 #include "obb_tree.h"
+#include "state.h"
+#include "list.h"
 
 using namespace std;
@@ -31,9 +33,10 @@
   this->setClassID(CL_TEST_ENTITY, "TestEntity");
 
+  this->md2Model = new MD2Model("models/droidika.md2", "models/droideka.pcx");
 //   this->md2Model = new MD2Model("models/tris.md2", "models/tris.pcx");
- this->md2Model = new MD2Model("models/goblin.md2", "maps/goblin.bmp");
-  this->obbTree = new OBBTree(15, (sVec3D*)this->md2Model->data->pVertices, this->md2Model->data->numVertices);
+// this->md2Model = new MD2Model("models/goblin.md2", "maps/goblin.bmp");
+  this->obbTree = new OBBTree(4, (sVec3D*)this->md2Model->data->pVertices, this->md2Model->data->numVertices);
 
-  this->md2Model->setAnim(STAND);
+  this->md2Model->setAnim(RUN);
   this->md2Model->debug();
 }
@@ -57,4 +60,14 @@
 }
 
+
+void TestEntity::collidesWith(WorldEntity* entity, const Vector& location)
+{
+  if (entity->isA(CL_PROJECTILE))
+  {
+    PRINTF(3)("collision %s vs %s @ (%f,%f,%f)\n", this->getName(), entity->getName(), location.x, location.y, location.z);
+  this->setVisibiliy(false);
+  State::getWorldEntityList()->remove(this);
+  }
+}
 
 void TestEntity::hit (WorldEntity* weapon, Vector* loc) {}
Index: trunk/src/world_entities/test_entity.h
===================================================================
--- trunk/src/world_entities/test_entity.h	(revision 5086)
+++ trunk/src/world_entities/test_entity.h	(revision 5087)
@@ -25,4 +25,5 @@
   virtual void destroy ();
   virtual void collide (WorldEntity* other,  Uint32 ownhitflags, Uint32 otherhitflags);
+  virtual void collidesWith(WorldEntity* entity, const Vector& location);
   virtual void draw ();
 
