aboutsummaryrefslogtreecommitdiff
path: root/mp/src/utils/motionmapper/motionmapper.h
diff options
context:
space:
mode:
authorJørgen P. Tjernø <[email protected]>2013-12-02 19:31:46 -0800
committerJørgen P. Tjernø <[email protected]>2013-12-02 19:46:31 -0800
commitf56bb35301836e56582a575a75864392a0177875 (patch)
treede61ddd39de3e7df52759711950b4c288592f0dc /mp/src/utils/motionmapper/motionmapper.h
parentMark some more files as text. (diff)
downloadsource-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz
source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip
Fix line endings. WHAMMY.
Diffstat (limited to 'mp/src/utils/motionmapper/motionmapper.h')
-rw-r--r--mp/src/utils/motionmapper/motionmapper.h548
1 files changed, 274 insertions, 274 deletions
diff --git a/mp/src/utils/motionmapper/motionmapper.h b/mp/src/utils/motionmapper/motionmapper.h
index 0df3f8ee..6b487e3c 100644
--- a/mp/src/utils/motionmapper/motionmapper.h
+++ b/mp/src/utils/motionmapper/motionmapper.h
@@ -1,274 +1,274 @@
-/***
-*
-//========= Copyright Valve Corporation, All rights reserved. ============//
-*
-* This product contains software technology licensed from Id
-* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
-* All Rights Reserved.
-*
-****/
-
-#include <stdio.h>
-#include "basetypes.h"
-#include "utlvector.h"
-#include "utlsymbol.h"
-#include "mathlib/vector.h"
-#include "studio.h"
-
-struct LodScriptData_t;
-
-#define IDSTUDIOHEADER (('T'<<24)+('S'<<16)+('D'<<8)+'I')
- // little-endian "IDST"
-#define IDSTUDIOANIMGROUPHEADER (('G'<<24)+('A'<<16)+('D'<<8)+'I')
- // little-endian "IDAG"
-
-
-#define STUDIO_QUADRATIC_MOTION 0x00002000
-
-#define MAXSTUDIOANIMFRAMES 2000 // max frames per animation
-#define MAXSTUDIOSEQUENCES 1524 // total sequences
-#define MAXSTUDIOSRCBONES 512 // bones allowed at source movement
-#define MAXSTUDIOBONEWEIGHTS 3
-#define MAXSTUDIONAME 128
-
-#ifndef EXTERN
-#define EXTERN extern
-#endif
-
-EXTERN char outname[1024];
-EXTERN int numdirs;
-EXTERN char cddir[32][MAX_PATH];
-EXTERN char fullpath[1024];
-
-EXTERN float g_defaultscale;
-EXTERN float g_currentscale;
-EXTERN RadianEuler g_defaultrotation;
-
-
-EXTERN char defaulttexture[16][MAX_PATH];
-EXTERN char sourcetexture[16][MAX_PATH];
-
-EXTERN int numrep;
-
-EXTERN int flip_triangles;
-EXTERN float normal_blend;
-
-
-void *kalloc( int num, int size );
-
-struct s_trianglevert_t
-{
- int vertindex;
- int normindex; // index into normal array
- int s,t;
- float u,v;
-};
-
-struct s_boneweight_t
-{
- int numbones;
-
- int bone[MAXSTUDIOBONEWEIGHTS];
- float weight[MAXSTUDIOBONEWEIGHTS];
-};
-
-
-struct s_vertexinfo_t
-{
- // wtf is this doing here?
- int material;
-
- int firstref;
- int lastref;
-
- int flexmask;
- int numflex;
- int flexoffset;
-};
-
-struct s_tmpface_t
-{
- int material;
- unsigned long a, b, c;
- unsigned long ta, tb, tc;
- unsigned long na, nb, nc;
-};
-
-struct s_face_t
-{
- unsigned long a, b, c;
-};
-
-struct s_node_t
-{
- char name[MAXSTUDIONAME];
- int parent;
-};
-
-
-struct s_bone_t
-{
- Vector pos;
- RadianEuler rot;
-};
-
-struct s_texture_t
-{
- char name[MAX_PATH];
- int flags;
- int parent;
- int material;
- float width;
- float height;
- float dPdu;
- float dPdv;
-};
-EXTERN s_texture_t g_texture[MAXSTUDIOSKINS];
-EXTERN int g_numtextures;
-EXTERN int g_material[MAXSTUDIOSKINS]; // link into texture array
-EXTERN int g_nummaterials;
-
-EXTERN float g_gamma;
-EXTERN int g_numskinref;
-EXTERN int g_numskinfamilies;
-EXTERN int g_skinref[256][MAXSTUDIOSKINS]; // [skin][skinref], returns texture index
-EXTERN int g_numtexturegroups;
-EXTERN int g_numtexturelayers[32];
-EXTERN int g_numtexturereps[32];
-EXTERN int g_texturegroup[32][32][32];
-
-struct s_mesh_t
-{
- int numvertices;
- int vertexoffset;
-
- int numfaces;
- int faceoffset;
-};
-
-
-struct s_vertanim_t
-{
- int vertex;
- float speed;
- float side;
- Vector pos;
- Vector normal;
-};
-
-// processed aggregate lod pools
-struct s_loddata_t
-{
- int numvertices;
- s_boneweight_t *globalBoneweight;
- s_vertexinfo_t *vertexInfo;
- Vector *vertex;
- Vector *normal;
- Vector4D *tangentS;
- Vector2D *texcoord;
-
- int numfaces;
- s_face_t *face;
-
- s_mesh_t mesh[MAXSTUDIOSKINS];
-
- // remaps verts from an lod's source mesh to this all-lod processed aggregate pool
- int *pMeshVertIndexMaps[MAX_NUM_LODS];
-};
-
-// raw off-disk source files. Raw data should be not processed.
-struct s_source_t
-{
- char filename[MAX_PATH];
- int time; // time stamp
-
- bool isActiveModel;
-
- // local skeleton hierarchy
- int numbones;
- s_node_t localBone[MAXSTUDIOSRCBONES];
- matrix3x4_t boneToPose[MAXSTUDIOSRCBONES]; // converts bone local data into initial pose data
-
- // bone remapping
- int boneflags[MAXSTUDIOSRCBONES]; // attachment, vertex, etc flags for this bone
- int boneref[MAXSTUDIOSRCBONES]; // flags for this and child bones
- int boneLocalToGlobal[MAXSTUDIOSRCBONES]; // bonemap : local bone to world bone mapping
- int boneGlobalToLocal[MAXSTUDIOSRCBONES]; // boneimap : world bone to local bone mapping
-
- int texmap[MAXSTUDIOSKINS*4]; // map local MAX materials to unique textures
-
- // per material mesh
- int nummeshes;
- int meshindex[MAXSTUDIOSKINS]; // mesh to skin index
- s_mesh_t mesh[MAXSTUDIOSKINS];
-
- // model global copy of vertices
- int numvertices;
- s_boneweight_t *localBoneweight; // vertex info about local bone weighting
- s_boneweight_t *globalBoneweight; // vertex info about global bone weighting
- s_vertexinfo_t *vertexInfo; // generic vertex info
- Vector *vertex;
- Vector *normal;
- Vector4D *tangentS;
- Vector2D *texcoord;
-
- int numfaces;
- s_face_t *face; // vertex indexs per face
-
- // raw skeletal animation
- int numframes;
- int startframe;
- int endframe;
- s_bone_t *rawanim[MAXSTUDIOANIMFRAMES]; // [frame][bones];
-
- // vertex animation
- int *vanim_mapcount; // local verts map to N target verts
- int **vanim_map; // local vertices to target vertices mapping list
- int *vanim_flag; // local vert does animate
-
- int numvanims[MAXSTUDIOANIMFRAMES];
- s_vertanim_t *vanim[MAXSTUDIOANIMFRAMES]; // [frame][vertex]
-
- // processed aggregate lod data
- s_loddata_t *pLodData;
-};
-
-
-EXTERN int g_numsources;
-EXTERN s_source_t *g_source[MAXSTUDIOSEQUENCES];
-
-EXTERN int is_v1support;
-
-EXTERN int g_numverts;
-EXTERN Vector g_vertex[MAXSTUDIOVERTS];
-EXTERN s_boneweight_t g_bone[MAXSTUDIOVERTS];
-
-EXTERN int g_numnormals;
-EXTERN Vector g_normal[MAXSTUDIOVERTS];
-
-EXTERN int g_numtexcoords;
-EXTERN Vector2D g_texcoord[MAXSTUDIOVERTS];
-
-EXTERN int g_numfaces;
-EXTERN s_tmpface_t g_face[MAXSTUDIOTRIANGLES];
-EXTERN s_face_t g_src_uface[MAXSTUDIOTRIANGLES]; // max res unified faces
-
-struct v_unify_t
-{
- int refcount;
- int lastref;
- int firstref;
- int v;
- int m;
- int n;
- int t;
- v_unify_t *next;
-};
-
-EXTERN v_unify_t *v_list[MAXSTUDIOVERTS];
-EXTERN v_unify_t v_listdata[MAXSTUDIOVERTS];
-EXTERN int numvlist;
-
-int SortAndBalanceBones( int iCount, int iMaxCount, int bones[], float weights[] );
-void Grab_Vertexanimation( s_source_t *psource );
-extern void BuildIndividualMeshes( s_source_t *psource );
+/***
+*
+//========= Copyright Valve Corporation, All rights reserved. ============//
+*
+* This product contains software technology licensed from Id
+* Software, Inc. ("Id Technology"). Id Technology (c) 1996 Id Software, Inc.
+* All Rights Reserved.
+*
+****/
+
+#include <stdio.h>
+#include "basetypes.h"
+#include "utlvector.h"
+#include "utlsymbol.h"
+#include "mathlib/vector.h"
+#include "studio.h"
+
+struct LodScriptData_t;
+
+#define IDSTUDIOHEADER (('T'<<24)+('S'<<16)+('D'<<8)+'I')
+ // little-endian "IDST"
+#define IDSTUDIOANIMGROUPHEADER (('G'<<24)+('A'<<16)+('D'<<8)+'I')
+ // little-endian "IDAG"
+
+
+#define STUDIO_QUADRATIC_MOTION 0x00002000
+
+#define MAXSTUDIOANIMFRAMES 2000 // max frames per animation
+#define MAXSTUDIOSEQUENCES 1524 // total sequences
+#define MAXSTUDIOSRCBONES 512 // bones allowed at source movement
+#define MAXSTUDIOBONEWEIGHTS 3
+#define MAXSTUDIONAME 128
+
+#ifndef EXTERN
+#define EXTERN extern
+#endif
+
+EXTERN char outname[1024];
+EXTERN int numdirs;
+EXTERN char cddir[32][MAX_PATH];
+EXTERN char fullpath[1024];
+
+EXTERN float g_defaultscale;
+EXTERN float g_currentscale;
+EXTERN RadianEuler g_defaultrotation;
+
+
+EXTERN char defaulttexture[16][MAX_PATH];
+EXTERN char sourcetexture[16][MAX_PATH];
+
+EXTERN int numrep;
+
+EXTERN int flip_triangles;
+EXTERN float normal_blend;
+
+
+void *kalloc( int num, int size );
+
+struct s_trianglevert_t
+{
+ int vertindex;
+ int normindex; // index into normal array
+ int s,t;
+ float u,v;
+};
+
+struct s_boneweight_t
+{
+ int numbones;
+
+ int bone[MAXSTUDIOBONEWEIGHTS];
+ float weight[MAXSTUDIOBONEWEIGHTS];
+};
+
+
+struct s_vertexinfo_t
+{
+ // wtf is this doing here?
+ int material;
+
+ int firstref;
+ int lastref;
+
+ int flexmask;
+ int numflex;
+ int flexoffset;
+};
+
+struct s_tmpface_t
+{
+ int material;
+ unsigned long a, b, c;
+ unsigned long ta, tb, tc;
+ unsigned long na, nb, nc;
+};
+
+struct s_face_t
+{
+ unsigned long a, b, c;
+};
+
+struct s_node_t
+{
+ char name[MAXSTUDIONAME];
+ int parent;
+};
+
+
+struct s_bone_t
+{
+ Vector pos;
+ RadianEuler rot;
+};
+
+struct s_texture_t
+{
+ char name[MAX_PATH];
+ int flags;
+ int parent;
+ int material;
+ float width;
+ float height;
+ float dPdu;
+ float dPdv;
+};
+EXTERN s_texture_t g_texture[MAXSTUDIOSKINS];
+EXTERN int g_numtextures;
+EXTERN int g_material[MAXSTUDIOSKINS]; // link into texture array
+EXTERN int g_nummaterials;
+
+EXTERN float g_gamma;
+EXTERN int g_numskinref;
+EXTERN int g_numskinfamilies;
+EXTERN int g_skinref[256][MAXSTUDIOSKINS]; // [skin][skinref], returns texture index
+EXTERN int g_numtexturegroups;
+EXTERN int g_numtexturelayers[32];
+EXTERN int g_numtexturereps[32];
+EXTERN int g_texturegroup[32][32][32];
+
+struct s_mesh_t
+{
+ int numvertices;
+ int vertexoffset;
+
+ int numfaces;
+ int faceoffset;
+};
+
+
+struct s_vertanim_t
+{
+ int vertex;
+ float speed;
+ float side;
+ Vector pos;
+ Vector normal;
+};
+
+// processed aggregate lod pools
+struct s_loddata_t
+{
+ int numvertices;
+ s_boneweight_t *globalBoneweight;
+ s_vertexinfo_t *vertexInfo;
+ Vector *vertex;
+ Vector *normal;
+ Vector4D *tangentS;
+ Vector2D *texcoord;
+
+ int numfaces;
+ s_face_t *face;
+
+ s_mesh_t mesh[MAXSTUDIOSKINS];
+
+ // remaps verts from an lod's source mesh to this all-lod processed aggregate pool
+ int *pMeshVertIndexMaps[MAX_NUM_LODS];
+};
+
+// raw off-disk source files. Raw data should be not processed.
+struct s_source_t
+{
+ char filename[MAX_PATH];
+ int time; // time stamp
+
+ bool isActiveModel;
+
+ // local skeleton hierarchy
+ int numbones;
+ s_node_t localBone[MAXSTUDIOSRCBONES];
+ matrix3x4_t boneToPose[MAXSTUDIOSRCBONES]; // converts bone local data into initial pose data
+
+ // bone remapping
+ int boneflags[MAXSTUDIOSRCBONES]; // attachment, vertex, etc flags for this bone
+ int boneref[MAXSTUDIOSRCBONES]; // flags for this and child bones
+ int boneLocalToGlobal[MAXSTUDIOSRCBONES]; // bonemap : local bone to world bone mapping
+ int boneGlobalToLocal[MAXSTUDIOSRCBONES]; // boneimap : world bone to local bone mapping
+
+ int texmap[MAXSTUDIOSKINS*4]; // map local MAX materials to unique textures
+
+ // per material mesh
+ int nummeshes;
+ int meshindex[MAXSTUDIOSKINS]; // mesh to skin index
+ s_mesh_t mesh[MAXSTUDIOSKINS];
+
+ // model global copy of vertices
+ int numvertices;
+ s_boneweight_t *localBoneweight; // vertex info about local bone weighting
+ s_boneweight_t *globalBoneweight; // vertex info about global bone weighting
+ s_vertexinfo_t *vertexInfo; // generic vertex info
+ Vector *vertex;
+ Vector *normal;
+ Vector4D *tangentS;
+ Vector2D *texcoord;
+
+ int numfaces;
+ s_face_t *face; // vertex indexs per face
+
+ // raw skeletal animation
+ int numframes;
+ int startframe;
+ int endframe;
+ s_bone_t *rawanim[MAXSTUDIOANIMFRAMES]; // [frame][bones];
+
+ // vertex animation
+ int *vanim_mapcount; // local verts map to N target verts
+ int **vanim_map; // local vertices to target vertices mapping list
+ int *vanim_flag; // local vert does animate
+
+ int numvanims[MAXSTUDIOANIMFRAMES];
+ s_vertanim_t *vanim[MAXSTUDIOANIMFRAMES]; // [frame][vertex]
+
+ // processed aggregate lod data
+ s_loddata_t *pLodData;
+};
+
+
+EXTERN int g_numsources;
+EXTERN s_source_t *g_source[MAXSTUDIOSEQUENCES];
+
+EXTERN int is_v1support;
+
+EXTERN int g_numverts;
+EXTERN Vector g_vertex[MAXSTUDIOVERTS];
+EXTERN s_boneweight_t g_bone[MAXSTUDIOVERTS];
+
+EXTERN int g_numnormals;
+EXTERN Vector g_normal[MAXSTUDIOVERTS];
+
+EXTERN int g_numtexcoords;
+EXTERN Vector2D g_texcoord[MAXSTUDIOVERTS];
+
+EXTERN int g_numfaces;
+EXTERN s_tmpface_t g_face[MAXSTUDIOTRIANGLES];
+EXTERN s_face_t g_src_uface[MAXSTUDIOTRIANGLES]; // max res unified faces
+
+struct v_unify_t
+{
+ int refcount;
+ int lastref;
+ int firstref;
+ int v;
+ int m;
+ int n;
+ int t;
+ v_unify_t *next;
+};
+
+EXTERN v_unify_t *v_list[MAXSTUDIOVERTS];
+EXTERN v_unify_t v_listdata[MAXSTUDIOVERTS];
+EXTERN int numvlist;
+
+int SortAndBalanceBones( int iCount, int iMaxCount, int bones[], float weights[] );
+void Grab_Vertexanimation( s_source_t *psource );
+extern void BuildIndividualMeshes( s_source_t *psource );