use engineflags instead of constant strcmp checks

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2053 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
TimeServ 2006-03-06 00:19:46 +00:00
parent 2d44c7b2c9
commit 789c9b0ee6
7 changed files with 55 additions and 40 deletions

View file

@ -265,16 +265,8 @@ void R_StoreEfrags (efrag_t **ppefrag)
pent = pefrag->entity; pent = pefrag->entity;
clmodel = pent->model; clmodel = pent->model;
//if ( (!strcmp(clmodel->name, "progs/flame.mdl")) || (!strcmp(clmodel->name, "progs/flame2.mdl")) && (r_drawflame.value == 0) && (gl_part_flame.value == 0) ) if ((!r_drawflame.value) && (clmodel->engineflags & MDLF_FLAME))
//if ( strcmp(clmodel->name, "progs/flame.mdl") || strcmp(clmodel->name, "progs/flame2.mdl") && (r_drawflame.value == 0) && (gl_part_flame.value == 0) ) break;
//{
// break;
//}
if ( (strcmp(clmodel->name, "progs/flame.mdl")) || (strcmp(clmodel->name, "progs/flame2.mdl")) && (!r_drawflame.value) )
{
return;
}
// switch (clmodel->type) // switch (clmodel->type)
// { // {

View file

@ -206,8 +206,7 @@ void Mod_DoCRC(model_t *mod, char *buffer, int buffersize)
{ {
#ifndef SERVERONLY #ifndef SERVERONLY
//we've got to have this bit //we've got to have this bit
if (!strcmp(loadmodel->name, "progs/player.mdl") || if (loadmodel->engineflags & MDLF_DOCRC)
!strcmp(loadmodel->name, "progs/eyes.mdl"))
{ {
unsigned short crc; unsigned short crc;
qbyte *p; qbyte *p;
@ -220,13 +219,13 @@ void Mod_DoCRC(model_t *mod, char *buffer, int buffersize)
sprintf(st, "%d", (int) crc); sprintf(st, "%d", (int) crc);
Info_SetValueForKey (cls.userinfo, Info_SetValueForKey (cls.userinfo,
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
st, MAX_INFO_STRING); st, MAX_INFO_STRING);
if (cls.state >= ca_connected) if (cls.state >= ca_connected)
{ {
CL_SendClientCommand(true, "setinfo %s %d", CL_SendClientCommand(true, "setinfo %s %d",
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
(int)crc); (int)crc);
} }
} }
@ -1711,7 +1710,7 @@ void R_DrawGAliasModel (entity_t *e)
//MORE HUGE HACKS! WHEN WILL THEY CEASE! //MORE HUGE HACKS! WHEN WILL THEY CEASE!
// clamp lighting so it doesn't overbright as much // clamp lighting so it doesn't overbright as much
// ZOID: never allow players to go totally black // ZOID: never allow players to go totally black
if (!strcmp(clmodel->name, "progs/player.mdl")) if (clmodel->engineflags & MDLF_PLAYER)
{ {
float fb = r_fullbrightSkins.value; float fb = r_fullbrightSkins.value;
if (fb > cls.allow_fbskins) if (fb > cls.allow_fbskins)
@ -2615,7 +2614,7 @@ void R_DrawGAliasShadowVolume(entity_t *e, vec3_t lightpos, float radius)
mesh_t mesh; mesh_t mesh;
vec3_t lightorg; vec3_t lightorg;
if (!strcmp (clmodel->name, "progs/flame2.mdl")) if (clmodel->engineflags & MDLF_FLAME)
return; return;
if (!strncmp (clmodel->name, "progs/bolt", 10)) if (!strncmp (clmodel->name, "progs/bolt", 10))
return; return;

View file

@ -93,8 +93,8 @@ void Mod_LoadHLModel (model_t *mod, void *buffer)
//checksum the model //checksum the model
if (!strcmp(mod->name, "progs/player.mdl") || if (mod->engineflags & MDLF_DOCRC)
!strcmp(mod->name, "progs/eyes.mdl")) { {
unsigned short crc; unsigned short crc;
qbyte *p; qbyte *p;
int len; int len;
@ -106,13 +106,13 @@ void Mod_LoadHLModel (model_t *mod, void *buffer)
sprintf(st, "%d", (int) crc); sprintf(st, "%d", (int) crc);
Info_SetValueForKey (cls.userinfo, Info_SetValueForKey (cls.userinfo,
!strcmp(mod->name, "progs/player.mdl") ? pmodel_name : emodel_name, (mod->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
st, MAX_INFO_STRING); st, MAX_INFO_STRING);
if (cls.state >= ca_connected) if (cls.state >= ca_connected)
{ {
CL_SendClientCommand(true, "setinfo %s %d", CL_SendClientCommand(true, "setinfo %s %d",
!strcmp(mod->name, "progs/player.mdl") ? pmodel_name : emodel_name, (mod->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
(int)crc); (int)crc);
} }
} }

View file

@ -514,6 +514,14 @@ couldntload:
// fill it in // fill it in
// //
// set necessary engine flags for loading purposes
if (!strcmp(mod->name, "progs/player.mdl"))
mod->engineflags |= MDLF_PLAYER | MDLF_DOCRC;
else if (!strcmp(mod->name, "progs/flame.mdl") || !strcmp(mod->name, "progs/flame2.mdl"))
mod->engineflags |= MDLF_FLAME;
else if (!strcmp(mod->name, "progs/eyes.mdl"))
mod->engineflags |= MDLF_DOCRC;
// call the apropriate loader // call the apropriate loader
mod->needload = false; mod->needload = false;

View file

@ -799,9 +799,12 @@ typedef struct model_s
} model_t; } model_t;
#define MDLF_ENGULPHS 0x1 // particle effect engulphs model (don't draw) #define MDLF_ENGULPHS 0x01 // particle effect engulphs model (don't draw)
#define MDLF_NODEFAULTTRAIL 0x2 #define MDLF_NODEFAULTTRAIL 0x02
#define MDLF_RGBLIGHTING 0x4 #define MDLF_RGBLIGHTING 0x04
#define MDLF_PLAYER 0x08 // players have specific lighting values
#define MDLF_FLAME 0x10 // can be excluded with r_drawflame
#define MDLF_DOCRC 0x20 // model needs CRC built
//============================================================================ //============================================================================
/* /*

View file

@ -270,9 +270,13 @@ model_t *Mod_LoadModel (model_t *mod, qboolean crash)
// call the apropriate loader // call the apropriate loader
mod->needload = false; mod->needload = false;
// set necessary engine flags for loading purposes
if (!strcmp(mod->name, "progs/player.mdl"))
{
mod->engineflags |= MDLF_PLAYER | MDLF_DOCRC;
}
else if (!strcmp(mod->name, "progs/eyes.mdl"))
mod->engineflags |= MDLF_DOCRC;
switch (LittleLong(*(unsigned *)buf)) switch (LittleLong(*(unsigned *)buf))
{ {

View file

@ -357,6 +357,17 @@ model_t *SWMod_LoadModel (model_t *mod, qboolean crash)
// fill it in // fill it in
// //
// set necessary engine flags for loading purposes
if (!strcmp(mod->name, "progs/player.mdl"))
{
mod->engineflags |= MDLF_PLAYER | MDLF_DOCRC;
}
else if (!strcmp(mod->name, "progs/flame.mdl") || !strcmp(mod->name, "progs/flame2.mdl"))
mod->engineflags |= MDLF_FLAME;
else if (!strcmp(mod->name, "progs/eyes.mdl"))
mod->engineflags |= MDLF_DOCRC;
// call the apropriate loader // call the apropriate loader
mod->needload = false; mod->needload = false;
@ -2259,8 +2270,8 @@ void SWMod_LoadAliasModel (model_t *mod, void *buffer)
int skinsize; int skinsize;
int start, end, total; int start, end, total;
if (!strcmp(loadmodel->name, "progs/player.mdl") || if (loadmodel->engineflags & MDLF_DOCRC)
!strcmp(loadmodel->name, "progs/eyes.mdl")) { {
unsigned short crc; unsigned short crc;
qbyte *p; qbyte *p;
int len; int len;
@ -2272,13 +2283,13 @@ void SWMod_LoadAliasModel (model_t *mod, void *buffer)
sprintf(st, "%d", (int) crc); sprintf(st, "%d", (int) crc);
Info_SetValueForKey (cls.userinfo, Info_SetValueForKey (cls.userinfo,
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
st, MAX_INFO_STRING); st, MAX_INFO_STRING);
if (cls.state >= ca_connected) if (cls.state >= ca_connected)
{ {
CL_SendClientCommand(true, "setinfo %s %d", CL_SendClientCommand(true, "setinfo %s %d",
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
(int)crc); (int)crc);
} }
} }
@ -2536,10 +2547,8 @@ void SWMod_LoadAlias2Model (model_t *mod, void *buffer)
vec3_t mins, maxs; vec3_t mins, maxs;
if (loadmodel->engineflags & MDLF_DOCRC)
{
if (!strcmp(loadmodel->name, "progs/player.mdl") ||
!strcmp(loadmodel->name, "progs/eyes.mdl")) {
unsigned short crc; unsigned short crc;
qbyte *p; qbyte *p;
int len; int len;
@ -2551,13 +2560,13 @@ void SWMod_LoadAlias2Model (model_t *mod, void *buffer)
sprintf(st, "%d", (int) crc); sprintf(st, "%d", (int) crc);
Info_SetValueForKey (cls.userinfo, Info_SetValueForKey (cls.userinfo,
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
st, MAX_INFO_STRING); st, MAX_INFO_STRING);
if (cls.state >= ca_connected) if (cls.state >= ca_connected)
{ {
CL_SendClientCommand(true, "setinfo %s %d", CL_SendClientCommand(true, "setinfo %s %d",
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
(int)crc); (int)crc);
} }
} }
@ -2931,8 +2940,8 @@ void SWMod_LoadAlias3Model (model_t *mod, void *buffer)
vec3_t mins, maxs; vec3_t mins, maxs;
if (!strcmp(loadmodel->name, "progs/player.mdl") || if (loadmodel->engineflags & MDLF_DOCRC)
!strcmp(loadmodel->name, "progs/eyes.mdl")) { {
unsigned short crc; unsigned short crc;
qbyte *p; qbyte *p;
int len; int len;
@ -2944,13 +2953,13 @@ void SWMod_LoadAlias3Model (model_t *mod, void *buffer)
sprintf(st, "%d", (int) crc); sprintf(st, "%d", (int) crc);
Info_SetValueForKey (cls.userinfo, Info_SetValueForKey (cls.userinfo,
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
st, MAX_INFO_STRING); st, MAX_INFO_STRING);
if (cls.state >= ca_connected) if (cls.state >= ca_connected)
{ {
CL_SendClientCommand(true, "setinfo %s %d", CL_SendClientCommand(true, "setinfo %s %d",
!strcmp(loadmodel->name, "progs/player.mdl") ? pmodel_name : emodel_name, (loadmodel->engineflags & MDLF_PLAYER) ? pmodel_name : emodel_name,
(int)crc); (int)crc);
} }
} }