]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_iqm.h
rcon server: add an explicit check against empty password, instead of assuming the...
[xonotic/darkplaces.git] / model_iqm.h
index 89701e8ef698004c64a6b765c054a2a674a00429..1dbb940c65b98ccafea62b95cf153594a0f57717 100644 (file)
@@ -11,10 +11,10 @@ typedef struct iqmheader_s
        unsigned int num_meshes, ofs_meshes;
        unsigned int num_vertexarrays, num_vertexes, ofs_vertexarrays;
        unsigned int num_triangles, ofs_triangles, ofs_neighbors;
-       unsigned int num_joints, ofs_joints, ofs_inversebasepose;
+       unsigned int num_joints, ofs_joints;
        unsigned int num_poses, ofs_poses;
        unsigned int num_anims, ofs_anims;
-       unsigned int num_frames, num_framechannels, ofs_frames;
+       unsigned int num_frames, num_framechannels, ofs_frames, ofs_bounds;
        unsigned int num_comment, ofs_comment;
        unsigned int num_extensions, ofs_extensions;
 } 
@@ -48,25 +48,44 @@ iqmmesh_t;
 #define IQM_FLOAT   7
 #define IQM_DOUBLE  8
 
+// animflags
+#define IQM_LOOP 1
+
 typedef struct iqmtriangle_s
 {
        unsigned int vertex[3];
 }
 iqmtriangle_t;
 
+typedef struct iqmjoint1_s
+{
+       unsigned int name;
+       signed int parent;
+       float origin[3], rotation[3], scale[3];
+}
+iqmjoint1_t;
+
 typedef struct iqmjoint_s
 {
        unsigned int name;
        signed int parent;
-       float origin[3], rotation[3];
+       float origin[3], rotation[4], scale[3];
 }
 iqmjoint_t;
 
+typedef struct iqmpose1_s
+{
+       signed int parent;
+       unsigned int channelmask;
+       float channeloffset[9], channelscale[9];
+}
+iqmpose1_t;
+
 typedef struct iqmpose_s
 {
        signed int parent;
        unsigned int channelmask;
-       float channeloffset[6], channelscale[6];
+       float channeloffset[10], channelscale[10];
 }
 iqmpose_t;
 
@@ -74,7 +93,7 @@ typedef struct iqmanim_s
 {
        unsigned int name;
        unsigned int first_frame, num_frames;
-       unsigned int framerate;
+       float framerate;
        unsigned int flags;
 }
 iqmanim_t;
@@ -97,5 +116,12 @@ typedef struct iqmextension_s
 }
 iqmextension_t;
 
+typedef struct iqmbounds_s
+{
+       float mins[3], maxs[3];
+       float xyradius, radius;
+}
+iqmbounds_t;
+    
 #endif