minor model.c cleanup
This commit is contained in:
parent
0f61ec3357
commit
0e7169cfc7
1 changed files with 29 additions and 75 deletions
104
engine/model.c
104
engine/model.c
|
@ -26,15 +26,16 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|||
#include "r_local.h"
|
||||
|
||||
#ifdef QSB
|
||||
#define MAX_MOD_KNOWN 4096
|
||||
#define MAX_MOD_KNOWN 4096
|
||||
#else
|
||||
#define MAX_MOD_KNOWN 256
|
||||
#define MAX_MOD_KNOWN 256
|
||||
#endif
|
||||
|
||||
model_t mod_known[MAX_MOD_KNOWN];
|
||||
int mod_numknown;
|
||||
int mod_numknown;
|
||||
|
||||
// values for model_t's needload
|
||||
#define NL_PRESENT 0
|
||||
#define NL_PRESENT 0
|
||||
#define NL_NEEDS_LOADED 1
|
||||
#define NL_UNREFERENCED 2
|
||||
|
||||
|
@ -52,7 +53,8 @@ void Mod_ClearAll (void)
|
|||
for (i=0 , mod=mod_known ; i<mod_numknown ; i++, mod++) {
|
||||
mod->needload = NL_UNREFERENCED;
|
||||
//FIX FOR CACHE_ALLOC ERRORS:
|
||||
if (mod->type == mod_sprite) mod->cache.data = NULL;
|
||||
if (mod->type == mod_sprite)
|
||||
mod->cache.data = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -220,40 +222,20 @@ model_t *Mod_LoadModel (model_t *mod, qboolean crash)
|
|||
|
||||
void R_LightsHere(vec3_t org, int radius, vec3_t color, int key)
|
||||
{
|
||||
//entity_t *anty;
|
||||
dlight_t *dl;
|
||||
int lnum = key;
|
||||
|
||||
|
||||
// Con_Printf("got fed %f %f %f %i %i\n", org[0], org[1], org[2], radius, key);
|
||||
|
||||
// for (lnum=0 ; lnum<MAX_DLIGHTS ; lnum++)
|
||||
if (dl = CL_AllocDlight (lnum)){
|
||||
// dl = CL_AllocDlight (lnum);
|
||||
if (dl = CL_AllocDlight (key)){
|
||||
VectorCopy (org, dl->origin);
|
||||
VectorCopy (color, dl->color);
|
||||
VectorCopy (color, dl->flashcolor);
|
||||
// dl->flashcolor[0] = 1;
|
||||
// dl->flashcolor[1] = 1;
|
||||
// dl->flashcolor[2] = 1;
|
||||
dl->flashcolor[3] = 0.1f;
|
||||
// dl->color[0] = 1f;
|
||||
// dl->color[1] = 1f;
|
||||
// dl->color[2] = 1f;
|
||||
dl->unmark = 1; // important
|
||||
dl->radius = radius;
|
||||
|
||||
|
||||
|
||||
//dl->radius = radius;
|
||||
dl->die = cl.time + 0xFFFFFF;
|
||||
// dl->decay = 0;
|
||||
|
||||
// R_FlareTest(org, 12, 23, 33, 255, 0, NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
// Yoinked directly from FTEQW by Spike. We need to parse this just for coronas
|
||||
// only......or maybe...............point...................lightsbutthatsforanotherday
|
||||
|
||||
|
@ -266,7 +248,6 @@ void R_LoadRTLights(void)
|
|||
int style;
|
||||
vec3_t org;
|
||||
float radius;
|
||||
char carbmarpnarm;
|
||||
float corona;
|
||||
|
||||
vec3_t rgb;
|
||||
|
@ -312,8 +293,8 @@ void R_LoadRTLights(void)
|
|||
// We got a corona, so let's make it happen.
|
||||
if (corona){
|
||||
#ifdef DEBUG
|
||||
Con_Printf("we got a %f %f %f %f %f %f %f %i %i %f in here\n",
|
||||
org[0], org[1], org[2], radius, rgb[0], rgb[1], rgb[2], style, style, corona);
|
||||
Con_Printf("[Corona] Placed at %f %f %f, RGB: %i,%i,%i\n",
|
||||
org[0], org[1], org[2], (int)(rgb[0]*255), (int)(rgb[1]*255), (int)(rgb[2]*255));
|
||||
#endif
|
||||
R_FlareTest(org,11,(int)(rgb[0] * 255),(int)(rgb[1] * 255),(int)(rgb[2] * 255),0,NULL);
|
||||
}
|
||||
|
@ -332,14 +313,12 @@ extern cvar_t *temp2;
|
|||
|
||||
void Mod_LoadTextures (lump_t *l)
|
||||
{
|
||||
int i, j, pixels, num, max, altmax, ao;
|
||||
int i, j, pixels, num, max, altmax;
|
||||
miptex_t *mt;
|
||||
texture_t *tx, *tx2;
|
||||
int pb;
|
||||
texture_t *anims[10];
|
||||
texture_t *altanims[10];
|
||||
dmiptexlump_t *m;
|
||||
qboolean alphaed;
|
||||
|
||||
if (!l->filelen)
|
||||
{
|
||||
|
@ -596,18 +575,14 @@ void Mod_LoadTextures (lump_t *l)
|
|||
// For the truecolor renderer only
|
||||
void Mod_LoadTextures32 (lump_t *l)
|
||||
{
|
||||
int i, j, pixels, num, max, altmax, ao;
|
||||
int i, j, pixels, num, max, altmax;
|
||||
miptex_t *mt;
|
||||
texture_t *tx, *tx2;
|
||||
|
||||
texture_t *anims[10];
|
||||
texture_t *altanims[10];
|
||||
int pb;
|
||||
dmiptexlump_t *m;
|
||||
|
||||
|
||||
pb = 4;
|
||||
|
||||
if (!l->filelen)
|
||||
{
|
||||
loadmodel->textures = NULL;
|
||||
|
@ -669,10 +644,10 @@ void Mod_LoadTextures32 (lump_t *l)
|
|||
// Reading as 24bit strictly for 15bit dither mode
|
||||
|
||||
|
||||
pixels = (mt->width*pb*mt->height)*85/64;
|
||||
pixels = (mt->width*4*mt->height)*85/64;
|
||||
|
||||
tx = Hunk_AllocName (sizeof(texture_t) +pixels, loadname );
|
||||
tx->pixbytes = pb;
|
||||
tx->pixbytes = 4;
|
||||
loadmodel->textures[i] = tx;
|
||||
|
||||
memcpy (tx->name, mt->name, sizeof(tx->name));
|
||||
|
@ -690,12 +665,9 @@ void Mod_LoadTextures32 (lump_t *l)
|
|||
}
|
||||
|
||||
// NON HALFLIFE (Quake) Textures
|
||||
else{
|
||||
{
|
||||
// TODO: Upconvert Quake to 32-bit (should be easy, but i'm not debugging that right now)
|
||||
int pb = 4;
|
||||
|
||||
pixels = (mt->width*pb*mt->height)*85/64;
|
||||
else
|
||||
{
|
||||
pixels = (mt->width*4*mt->height)*85/64;
|
||||
|
||||
tx = Hunk_AllocName (sizeof(texture_t) +pixels, loadname );
|
||||
tx->pixbytes = 4;
|
||||
|
@ -707,14 +679,8 @@ void Mod_LoadTextures32 (lump_t *l)
|
|||
for (j=0 ; j<MIPLEVELS ; j++)
|
||||
tx->offsets[j] = (mt->offsets[j]-sizeof(miptex_t))*4 + sizeof(texture_t);
|
||||
// the pixels immediately follow the structures
|
||||
memcpy ( tx+1, W_ConvertWAD3TextureFTEQ(mt, &mt->width,&mt->height), pixels);
|
||||
memcpy ( tx+1, W_ConvertWAD3TextureFTEQ(mt, &mt->width,&mt->height), pixels);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (!strncmp(mt->name,"sky",3))
|
||||
R_InitSky (tx);
|
||||
}
|
||||
|
@ -828,10 +794,10 @@ void Mod_LoadLighting (lump_t *l)
|
|||
{
|
||||
|
||||
|
||||
int i, poo;
|
||||
byte *in, *out, *data;
|
||||
int i;
|
||||
byte *data;
|
||||
byte d;
|
||||
char litname[1024];
|
||||
char litname[MAX_QPATH];
|
||||
loadedfile_t *fileinfo; // 2001-09-12 Returning information about loaded file by Maddes
|
||||
|
||||
loadmodel->lightdata = NULL;
|
||||
|
@ -847,6 +813,7 @@ void Mod_LoadLighting (lump_t *l)
|
|||
COM_StripExtension(loadmodel->name, litname);
|
||||
COM_DefaultExtension(litname, ".lit");
|
||||
fileinfo = COM_LoadHunkFile(litname);
|
||||
|
||||
if (fileinfo)
|
||||
{
|
||||
Con_DPrintf("%s loaded from %s\n", litname, fileinfo->path->pack ? fileinfo->path->pack->filename : fileinfo->path->filename);
|
||||
|
@ -1249,19 +1216,13 @@ void Mod_AvgPixel (model_t *mod, int skinnum, int count, byte *skin)
|
|||
int i;
|
||||
int vis;
|
||||
int pix;
|
||||
int bestcolor;
|
||||
int fullbright;
|
||||
|
||||
if (coloredlights){
|
||||
// mod->avgcol[0+skinnum] = 1;
|
||||
// mod->avgcol[1+skinnum] = 1;
|
||||
// mod->avgcol[2+skinnum] = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
if (coloredlights)
|
||||
return;
|
||||
|
||||
vis = 0;
|
||||
r = g = b = 0;
|
||||
fullbright = 0;
|
||||
|
||||
for (i=0 ; i<count ; i++)
|
||||
{
|
||||
pix = skin[i];
|
||||
|
@ -1292,12 +1253,9 @@ void Mod_AvgPixel (model_t *mod, int skinnum, int count, byte *skin)
|
|||
Mod_LoadAliasSkin
|
||||
=================
|
||||
*/
|
||||
void * Mod_LoadAliasSkin (void * pin, int *pskinindex, int skinsize,
|
||||
aliashdr_t *pheader)
|
||||
void * Mod_LoadAliasSkin (void * pin, int *pskinindex, int skinsize, aliashdr_t *pheader)
|
||||
{
|
||||
int i;
|
||||
byte *pskin, *pinskin;
|
||||
unsigned short *pusskin;
|
||||
|
||||
pskin = Hunk_AllocName (skinsize * r_pixbytes, loadname);
|
||||
pinskin = (byte *)pin;
|
||||
|
@ -1762,19 +1720,15 @@ void Mod_LoadSpriteModel (model_t *mod, void *buffer)
|
|||
int numframes;
|
||||
int size;
|
||||
dspriteframetype_t *pframetype;
|
||||
int spr32; // leilei
|
||||
pin = (dsprite_t *)buffer;
|
||||
|
||||
version = LittleLong (pin->version);
|
||||
|
||||
if (version != 32)
|
||||
if (version != 32) // for later
|
||||
if (version != SPRITE_VERSION)
|
||||
Sys_Error ("%s has wrong version number"
|
||||
"(%i should be %i)", mod->name, version, SPRITE_VERSION);
|
||||
|
||||
if (version == 32)
|
||||
spr32 = 1; // yep it's a sprite32.
|
||||
|
||||
numframes = LittleLong (pin->numframes);
|
||||
|
||||
size = sizeof (msprite_t) + (numframes - 1) * sizeof (psprite->frames);
|
||||
|
|
Loading…
Reference in a new issue