diff options
Diffstat (limited to 'code/renderer/tr_local.h')
-rw-r--r-- | code/renderer/tr_local.h | 39 |
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 /* ============================================================= |