aboutsummaryrefslogtreecommitdiffstats
path: root/code/renderer/tr_local.h
diff options
context:
space:
mode:
authortma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-09-23 17:08:25 +0000
committertma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea>2005-09-23 17:08:25 +0000
commit4b080c5906fdb1f7ee4e7fe5fdf2375dfcdf5ff4 (patch)
tree00cac71447ee23b2378c48efe3480300b0bebf15 /code/renderer/tr_local.h
parent48addd68a8c8d0c026be2d3b87ea6ce23509da91 (diff)
downloadioquake3-aero-4b080c5906fdb1f7ee4e7fe5fdf2375dfcdf5ff4.tar.gz
ioquake3-aero-4b080c5906fdb1f7ee4e7fe5fdf2375dfcdf5ff4.zip
* Applied Thilo Schulz's MDR patch
git-svn-id: svn://svn.icculus.org/quake3/trunk@100 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/renderer/tr_local.h')
-rw-r--r--code/renderer/tr_local.h39
1 files changed, 36 insertions, 3 deletions
diff --git a/code/renderer/tr_local.h b/code/renderer/tr_local.h
index fc1b464..e29feba 100644
--- a/code/renderer/tr_local.h
+++ b/code/renderer/tr_local.h
@@ -525,6 +525,9 @@ typedef enum {
SF_POLY,
SF_MD3,
SF_MD4,
+#ifdef RAVENMD4
+ SF_MDR,
+#endif
SF_FLARE,
SF_ENTITY, // beams, rails, lightning, etc that can be determined by entity
SF_DISPLAY_LIST,
@@ -737,7 +740,10 @@ typedef enum {
MOD_BAD,
MOD_BRUSH,
MOD_MESH,
- MOD_MD4
+ MOD_MD4,
+#ifdef RAVENMD4
+ MOD_MDR
+#endif
} modtype_t;
typedef struct model_s {
@@ -748,7 +754,7 @@ typedef struct model_s {
int dataSize; // just for listing purposes
bmodel_t *bmodel; // only if type == MOD_BRUSH
md3Header_t *md3[MD3_MAX_LODS]; // only if type == MOD_MESH
- md4Header_t *md4; // only if type == MOD_MD4
+ void *md4; // only if type == (MOD_MD4 | MOD_MDR)
int numLods;
} model_t;
@@ -1205,6 +1211,8 @@ int R_SumOfUsedImages( void );
void R_InitSkins( void );
skin_t *R_GetSkinByHandle( qhandle_t hSkin );
+int R_ComputeLOD( trRefEntity_t *ent );
+
//
// tr_shader.c
@@ -1421,6 +1429,27 @@ void RE_AddLightToScene( const vec3_t org, float intensity, float r, float g, fl
void RE_AddAdditiveLightToScene( const vec3_t org, float intensity, float r, float g, float b );
void RE_RenderScene( const refdef_t *fd );
+#ifdef RAVENMD4
+/*
+=============================================================
+
+UNCOMPRESSING BONES
+
+=============================================================
+*/
+
+#define MC_BITS_X (16)
+#define MC_BITS_Y (16)
+#define MC_BITS_Z (16)
+#define MC_BITS_VECT (16)
+
+#define MC_SCALE_X (1.0f/64)
+#define MC_SCALE_Y (1.0f/64)
+#define MC_SCALE_Z (1.0f/64)
+
+void MC_UnCompress(float mat[3][4],const unsigned char * comp);
+#endif
+
/*
=============================================================
@@ -1429,9 +1458,13 @@ ANIMATED MODELS
=============================================================
*/
-void R_MakeAnimModel( model_t *model );
+// void R_MakeAnimModel( model_t *model ); haven't seen this one really, so not needed I guess.
void R_AddAnimSurfaces( trRefEntity_t *ent );
void RB_SurfaceAnim( md4Surface_t *surfType );
+#ifdef RAVENMD4
+void R_MDRAddAnimSurfaces( trRefEntity_t *ent );
+void RB_MDRSurfaceAnim( md4Surface_t *surface );
+#endif
/*
=============================================================