Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.cc
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.cc	(revision 8525)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.cc	(revision 8526)
@@ -21,4 +21,35 @@
 namespace md3
 {
+
+
+
+  MD3AnimationMap MD3Animation::animationList[25] = {
+    { "Death 1",                 BOTH  },
+    { "Dead 1",                  BOTH  },
+    { "Death 2",                 BOTH  },
+    { "Dead 2",                  BOTH  },
+    { "Death 3",                 BOTH  },
+    { "Dead 3",                  BOTH  },
+    { "Gesture",                 BOTH  },
+    { "Shoot",                   TORSO },
+    { "Hit",                     TORSO },
+    { "Drop Weapon",             TORSO },
+    { "Raise Weapon",            TORSO },
+    { "Stand With Weapon",       TORSO },
+    { "Stand with Gauntlet",     TORSO },
+    { "Crouched Walk",           LEGS  },
+    { "Walk",                    LEGS  },
+    { "Run",                     LEGS  },
+    { "Backpedal",               LEGS  },
+    { "Swim",                    LEGS  },
+    { "Jump Forward",            LEGS  },
+    { "Land Forward",            LEGS  },
+    { "Jump Backward",           LEGS  },
+    { "Land Backward",           LEGS  },
+    { "Stand Idle",              LEGS  },
+    { "Crouched Idle",           LEGS  },
+    { "Turn In Place",           LEGS  }
+  };
+
 
   /**
Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.h
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.h	(revision 8525)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation.h	(revision 8526)
@@ -12,5 +12,5 @@
 
 
-typedef enum AnimationType {
+typedef enum MD3AnimationType {
   LEGS      = 0,             //!< animation only applicatble to the legs. top level model loaded from lower.md3
   TORSO,                     //!< animation only applicatboe to the torso. normaly loaded from upper.md3
@@ -20,4 +20,12 @@
   NUM_ANIMATION_TYPE         //!< number of animations
 };
+
+
+typedef struct MD3AnimationMap {
+  std::string        animationName;
+  MD3AnimationType   animationType;
+};
+
+
 
 
@@ -35,18 +43,21 @@
     void init();
 
-    std::string toString() { return std::string("Name: " + this->name); }
+    std::string toString()
+    {
+      return std::string("Name: " + this->name);
+    }
 
 
   public:
-    AnimationType    type;                        //!< specifies for what parts of a model this animation is appilcable (e.g. LEGS, BOTH)
-    std::string      name;                        //!< name of the animation
+    MD3AnimationType      type;                      //!< specifies for what parts of a model this animation is appilcable (e.g. LEGS)
+    std::string           name;                      //!< name of the animation
 
-    int              offset;                      //!< for LEGS animation, this is the offset value to skip TORSO frames
-    int              first;                       //!< first frame
-    int              numFrames;                   //!< the number of frames in the anumation. < 0 means that all available frames used
-    int              numLoopFrames;               //!< number of looping frames
-    int              fps;                         //!< frames per second
+    int                   offset;                    //!< for LEGS animation, this is the offset value to skip TORSO frames
+    int                   first;                     //!< first frame
+    int                   numFrames;                 //!< the number of frames in the anumation. < 0 means that all available frames used
+    int                   numLoopFrames;             //!< number of looping frames
+    int                   fps;                       //!< frames per second
 
-
+    static MD3AnimationMap animationList[25];         //!< the animation list
 };
 
Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.cc
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.cc	(revision 8526)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.cc	(revision 8526)
@@ -0,0 +1,121 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+### File Specific:
+   main-programmer: Patrick Boenzli
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_IMPORTER
+
+#include "md3_animation_cfg.h"
+
+
+
+namespace md3
+{
+
+  /**
+   * create an empty MD3AnimationCfg object
+   */
+  MD3AnimationCfg::MD3AnimationCfg()
+  {
+  }
+
+
+  /**
+   * create a new MD3 Anumation object and initialize it with the data on the given line
+   * @param line: the line to read from
+   */
+  MD3AnimationCfg::MD3AnimationCfg(std::string line)
+  {
+  }
+
+
+  /**
+   * deconstructor
+   */
+  MD3AnimationCfg::~MD3AnimationCfg()
+  {}
+
+
+
+  /**
+  * <p>Look up the animation data for the animation with the specified name.
+  *
+  * @param name Name of the animation.
+  * @return The animation data associated with the name or null if no data was found.
+  */
+  MD3Animation* getAnimation(std::string name)
+  {
+//     return (MD3Animation)animations.get(name);
+  }
+
+}
+
+#if 0
+      /**
+         * <p>Create an empty animation data resource. Use this when creating and
+         * managing your own animations.
+      */
+        protected AnimationCfg() {
+                animations=new TreeMap();
+}
+
+        /**
+         * <p>Constructor that loads an <i>animation.cfg</i> file into the internal
+         * data stuctures. The read information can later be consulted using the
+         * animationNames() and getAnimation() methods.
+         *
+         * @param file The file to open.
+        */
+        protected AnimationCfg(String file) throws IOException {
+                this();
+                InputStream fin=new FileInputStream(file);
+                CFGIO.loadAnimationCfg(this, fin);
+                fin.close();
+}
+
+        /**
+         * <p>Constructor that loads <i>animation.cfg</i> data coming from the specified
+         * input stream into the internal data stuctures. The read information can later
+         * be consulted using the animationNames() and getAnimation() methods.
+         *
+         * @param in The stream to read data from.
+        */
+        protected AnimationCfg(InputStream in) throws IOException {
+                this();
+                CFGIO.loadAnimationCfg(this, in);
+}
+
+        /**
+         * <p>Return an Iterator listing the names of all known animations.
+        */
+        public Iterator animationNames() {
+                return animations.keySet().iterator();
+}
+
+        /**
+         * <p>Look up the animation data for the animation with the specified name.
+         *
+         * @param name Name of the animation.
+         * @return The animation data associated with the name or null if no data was found.
+        */
+        public MD3Animation getAnimation(String name) {
+                return (MD3Animation)animations.get(name);
+}
+
+        /**
+         * <p>Add the specified animation to the list of known animations.
+        */
+        public void putAnimation(MD3Animation anim) {
+                animations.put(anim.name, anim);
+}
+#endif
+
Index: /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.h
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.h	(revision 8526)
+++ /branches/bsp_model/src/lib/graphics/importer/md3/md3_animation_cfg.h	(revision 8526)
@@ -0,0 +1,48 @@
+/*!
+ * @file md3_animation.h
+ *
+ * Code heavely inspired by: JAVA MD3 Model Viewer - A Java based Quake 3 model viewer
+ * Copyright (C) 1999 Erwin 'KLR8' Vervaet
+ */
+
+#ifndef _MD3_ANIMATION_CFG_H
+#define _MD3_ANIMATION_CFG_H
+
+#include "vector.h"
+
+#include <string>
+#include <map>
+
+
+namespace md3
+{
+  class MD3Animation;
+
+
+  /**
+   * a class with metadata describing an MD3 model animation
+   */
+  class MD3AnimationCfg
+  {
+
+    public:
+      MD3AnimationCfg();
+      MD3AnimationCfg(std::string filename);
+      virtual ~MD3AnimationCfg();
+
+
+      std::string toString() { return std::string("Name: " + this->filename); }
+
+
+    public:
+      std::string             filename;            //!< filename of the config file
+
+      char                    sex;                 //!< sex of animated model: 'm' for male, 'f' for female
+      Vector                  headOffset;          //!< head offset. this is the offset of the head model in the HUD x,y,z
+      std::string             footsteps;           //!< type of the footstep sounds associated with anumations (e.g. "mech", "default")
+
+      std::map<std::string, MD3Animation*>     animations;          //!< mapping of animation names to MD3Animation objects.
+  };
+}
+
+#endif /* _MD3_ANIMATION_CFG_H */
