X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=modelgen.h;h=cd48ed096c1bcc6cba25da9f7754415d3aba6cb2;hp=3b5fd543878a39f9550a6bde505dfb3d885e0bed;hb=b86597d5083b7c6884a1f01995feaf5e50481df5;hpb=c4ee1bbcc6b2f917465f07269ad09942bbf40849 diff --git a/modelgen.h b/modelgen.h index 3b5fd543..cd48ed09 100644 --- a/modelgen.h +++ b/modelgen.h @@ -8,7 +8,7 @@ of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -27,15 +27,21 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // * pass data from one to the other via model files. * // ********************************************************* +#ifndef MODELGEN_H +#define MODELGEN_H + +#include "qtypes.h" + #define ALIAS_VERSION 6 #define ALIAS_ONSEAM 0x0020 -typedef enum { ALIAS_SINGLE=0, ALIAS_GROUP } aliasframetype_t; +typedef enum aliasframetype_e { ALIAS_SINGLE=0, ALIAS_GROUP } aliasframetype_t; -typedef enum { ALIAS_SKIN_SINGLE=0, ALIAS_SKIN_GROUP } aliasskintype_t; +typedef enum aliasskintype_e { ALIAS_SKIN_SINGLE=0, ALIAS_SKIN_GROUP } aliasskintype_t; -typedef struct { +typedef struct mdl_s +{ int ident; int version; vec3_t scale; @@ -48,62 +54,86 @@ typedef struct { int numverts; int numtris; int numframes; - synctype_t synctype; + int synctype; int flags; float size; -} mdl_t; +} +mdl_t; // TODO: could be shorts -typedef struct { +typedef struct stvert_s +{ int onseam; int s; int t; -} stvert_t; +} +stvert_t; -typedef struct dtriangle_s { +typedef struct dtriangle_s +{ int facesfront; int vertindex[3]; -} dtriangle_t; +} +dtriangle_t; #define DT_FACES_FRONT 0x0010 // This mirrors trivert_t in trilib.h, is present so Quake knows how to // load this data -typedef struct { - qbyte v[3]; - qbyte lightnormalindex; -} trivertx_t; +typedef struct trivertx_s +{ + unsigned char v[3]; + unsigned char lightnormalindex; +} +trivertx_t; -typedef struct { +typedef struct daliasframe_s +{ trivertx_t bboxmin; // lightnormal isn't used trivertx_t bboxmax; // lightnormal isn't used char name[16]; // frame name from grabbing -} daliasframe_t; +} +daliasframe_t; -typedef struct { +typedef struct daliasgroup_s +{ int numframes; trivertx_t bboxmin; // lightnormal isn't used trivertx_t bboxmax; // lightnormal isn't used -} daliasgroup_t; +} +daliasgroup_t; -typedef struct { +typedef struct daliasskingroup_s +{ int numskins; -} daliasskingroup_t; +} +daliasskingroup_t; -typedef struct { +typedef struct daliasinterval_s +{ float interval; -} daliasinterval_t; +} +daliasinterval_t; -typedef struct { +typedef struct daliasskininterval_s +{ float interval; -} daliasskininterval_t; +} +daliasskininterval_t; -typedef struct { +typedef struct daliasframetype_s +{ aliasframetype_t type; -} daliasframetype_t; +} +daliasframetype_t; -typedef struct { +typedef struct daliasskintype_s +{ aliasskintype_t type; -} daliasskintype_t; +} +daliasskintype_t; + +#endif +