X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=model_iqm.h;h=1dbb940c65b98ccafea62b95cf153594a0f57717;hp=2509e0346b71aa8b80d5c9d0c95acaefcf035384;hb=c573a47a538a3a90cb34ccf2e3e21a0d1b129d20;hpb=286eef4523881589b16fc01f3018e1d0bcad85ca diff --git a/model_iqm.h b/model_iqm.h index 2509e034..1dbb940c 100644 --- a/model_iqm.h +++ b/model_iqm.h @@ -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;