- Add licence headers to new files

- Add patch from Zack Middleton which fixes a few issues still
This commit is contained in:
Thilo Schulz 2011-05-02 20:30:14 +00:00
parent 86c41d39da
commit d37b2da593
6 changed files with 65 additions and 23 deletions

View file

@ -1,3 +1,23 @@
/*
===========================================================================
This file is part of Quake III Arena source code.
Quake III Arena source code is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
Quake III Arena source code 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. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Quake III Arena source code; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
===========================================================================
*/
#ifndef __IQM_H__
#define __IQM_H__

View file

@ -326,7 +326,7 @@ void R_MDRAddAnimSurfaces( trRefEntity_t *ent ) {
int cull;
qboolean personalModel;
header = (mdrHeader_t *) tr.currentModel->md4;
header = (mdrHeader_t *) tr.currentModel->modelData;
personalModel = (ent->e.renderfx & RF_THIRD_PERSON) && !tr.viewParms.isPortal;

View file

@ -1260,8 +1260,8 @@ void R_AddEntitySurfaces (void) {
break;
#endif
case MOD_IQM:
R_AddIQMSurfaces( ent );
break;
R_AddIQMSurfaces( ent );
break;
case MOD_BRUSH:
R_AddBrushModelSurfaces( ent );
break;

View file

@ -185,12 +185,10 @@ int R_ComputeLOD( trRefEntity_t *ent ) {
// and use that as a criteria for selecting LOD
#ifdef RAVENMD4
// This is an MDR model.
if(tr.currentModel->md4)
if(tr.currentModel->type == MOD_MDR)
{
int frameSize;
mdr = (mdrHeader_t *) tr.currentModel->md4;
mdr = (mdrHeader_t *) tr.currentModel->modelData;
frameSize = (size_t) (&((mdrFrame_t *)0)->bones[mdr->numBones]);
mdrframe = (mdrFrame_t *) ((byte *) mdr + mdr->ofsFrames + frameSize * ent->e.frame);

View file

@ -81,7 +81,7 @@ qhandle_t R_RegisterMD3(const char *name, model_t *mod)
if (ident == MD3_IDENT)
loaded = R_LoadMD3(mod, lod, buf.u, name);
else
ri.Printf(PRINT_WARNING,"RE_RegisterMD3: unknown fileid for %s\n", name);
ri.Printf(PRINT_WARNING,"R_RegisterMD3: unknown fileid for %s\n", name);
}
ri.FS_FreeFile(buf.v);
@ -109,7 +109,7 @@ qhandle_t R_RegisterMD3(const char *name, model_t *mod)
}
#ifdef _DEBUG
ri.Printf(PRINT_WARNING,"RE_RegisterMD3: couldn't load %s\n", name);
ri.Printf(PRINT_WARNING,"R_RegisterMD3: couldn't load %s\n", name);
#endif
mod->type = MOD_BAD;
@ -147,7 +147,7 @@ qhandle_t R_RegisterMDR(const char *name, model_t *mod)
if(!loaded)
{
ri.Printf(PRINT_WARNING,"RE_RegisterMDR: couldn't load mdr file %s\n", name);
ri.Printf(PRINT_WARNING,"R_RegisterMDR: couldn't load mdr file %s\n", name);
mod->type = MOD_BAD;
return 0;
}
@ -183,7 +183,7 @@ qhandle_t R_RegisterIQM(const char *name, model_t *mod)
if(!loaded)
{
ri.Printf(PRINT_WARNING,"RE_RegisterIQM: couldn't load mdr file %s\n", name);
ri.Printf(PRINT_WARNING,"R_RegisterIQM: couldn't load iqm file %s\n", name);
mod->type = MOD_BAD;
return 0;
}
@ -202,12 +202,12 @@ typedef struct
// when there are multiple models of different formats available
static modelExtToLoaderMap_t modelLoaders[ ] =
{
{ "iqm", R_RegisterIQM },
#ifdef RAVENMD4
{ "mdr", R_RegisterMDR },
#endif
{ "md4", R_RegisterMD3 },
{ "md3", R_RegisterMD3 },
{ "iqm", R_RegisterIQM }
{ "md3", R_RegisterMD3 }
};
static int numModelLoaders = ARRAY_LEN(modelLoaders);
@ -546,7 +546,7 @@ static qboolean R_LoadMDR( model_t *mod, void *buffer, int filesize, const char
{
int i, j, k, l;
mdrHeader_t *pinmodel, *mdr;
mdrFrame_t *frame;
mdrFrame_t *frame;
mdrLOD_t *lod, *curlod;
mdrSurface_t *surf, *cursurf;
mdrTriangle_t *tri, *curtri;
@ -598,7 +598,7 @@ static qboolean R_LoadMDR( model_t *mod, void *buffer, int filesize, const char
}
mod->dataSize += size;
mod->md4 = mdr = ri.Hunk_Alloc( size, h_low );
mod->modelData = mdr = ri.Hunk_Alloc( size, h_low );
// Copy all the values over from the file and fix endian issues in the process, if necessary.
@ -1207,10 +1207,10 @@ int R_LerpTag( orientation_t *tag, qhandle_t handle, int startFrame, int endFram
}
else
#endif
if( model->type == MOD_IQM ) {
return R_IQMLerpTag( tag, model->modelData,
startFrame, endFrame,
frac, tagName );
if( model->type == MOD_IQM ) {
return R_IQMLerpTag( tag, model->modelData,
startFrame, endFrame,
frac, tagName );
} else {
AxisClear( tag->axis );

View file

@ -1,4 +1,25 @@
/* copyright */
/*
===========================================================================
Copyright (C) 2011 Thilo Schulz <thilo@tjps.eu>
Copyright (C) 2011 Matthias Bentrup <matthias.bentrup@googlemail.com>
This file is part of Quake III Arena source code.
Quake III Arena source code is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
Quake III Arena source code 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. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with Quake III Arena source code; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
===========================================================================
*/
#include "tr_local.h"
@ -50,8 +71,9 @@ static void InterpolateMatrix( float *a, float *b, float lerp, float *mat ) {
/*
=================
R_LoadIQM
=================
Load an IQM model and compute the joint matrices for every frame.
=================
*/
qboolean R_LoadIQM( model_t *mod, void *buffer, int filesize, const char *mod_name ) {
iqmHeader_t *header;
@ -628,8 +650,9 @@ qboolean R_LoadIQM( model_t *mod, void *buffer, int filesize, const char *mod_na
/*
=================
R_AddIQMSurfaces
=================
Add all surfaces of this model
=================
*/
void R_AddIQMSurfaces( trRefEntity_t *ent ) {
iqmData_t *data;
@ -689,8 +712,9 @@ static void ComputeJointMats( iqmData_t *data, int frame, int oldframe,
/*
=================
RB_AddIQMSurfaces
=================
Compute vertices for this model surface
=================
*/
void RB_IQMSurfaceAnim( surfaceType_t *surface ) {
srfIQModel_t *surf = (srfIQModel_t *)surface;