* Applied Thilo Schulz's MDR patch

This commit is contained in:
Tim Angus 2005-09-23 17:08:25 +00:00
parent 2b8395a4d0
commit 4c6f59c541
9 changed files with 1149 additions and 74 deletions

View file

@ -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
/*
=============================================================