diff --git a/Quake/cl_main.c b/Quake/cl_main.c index 878f4e07..d2a251a5 100644 --- a/Quake/cl_main.c +++ b/Quake/cl_main.c @@ -737,12 +737,19 @@ void CL_RelinkEntities (void) dl->radius = 400 + (rand()&31); dl->die = cl.time + 0.001; } - if (ent->effects & EF_DIMLIGHT) + if (ent->effects & (EF_DIMLIGHT|EF_RED|EF_BLUE|EF_GREEN)) { dl = CL_AllocDlight (i); VectorCopy (ent->origin, dl->origin); dl->radius = 200 + (rand()&31); dl->die = cl.time + 0.001; + + if (ent->effects & (EF_RED|EF_BLUE|EF_GREEN)) + { + dl->color[0] = !!(ent->effects&EF_RED); + dl->color[1] = !!(ent->effects&EF_GREEN); + dl->color[2] = !!(ent->effects&EF_BLUE); + } } #ifdef PSET_SCRIPT diff --git a/Quake/pr_ext.c b/Quake/pr_ext.c index a58c8bfc..4b84ac87 100644 --- a/Quake/pr_ext.c +++ b/Quake/pr_ext.c @@ -7483,6 +7483,8 @@ static struct {"DP_CON_SETA"}, {"DP_CSQC_QUERYRENDERENTITY"}, {"DP_EF_NOSHADOW"}, + {"DP_EF_BLUE"}, + {"DP_EF_RED"}, {"DP_ENT_ALPHA", PR_Can_Ent_Alpha}, //already in quakespasm, supposedly. {"DP_ENT_COLORMOD", PR_Can_Ent_ColorMod}, {"DP_ENT_SCALE", PR_Can_Ent_Scale}, diff --git a/Quake/protocol.h b/Quake/protocol.h index 7f776cae..2ea80e34 100644 --- a/Quake/protocol.h +++ b/Quake/protocol.h @@ -421,8 +421,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define EF_DIMLIGHT 8 //#define EF_NODRAW 16 //#define EF_ADDITIVE 32 -//#define EF_BLUE 64 -//#define EF_RED 128 +#define EF_BLUE 64 +#define EF_RED 128 //#define EFDP_NOGUNBOB (1u<<8) #define EF_FULLBRIGHT (1u<<9) //#define EFDP_PART_FLAME (1u<<10) @@ -433,7 +433,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. //#define EFDP_DOUBLESIDED (1u<<15) //#define EFDP_NOSELFSHADOW (1u<<16) //#define EFDP_DYNAMICMODELLIGHT (1u<<17) -//#define EF_GREEN (1u<<18) +#define EF_GREEN (1u<<18) //#define EF_UNUSED (1u<<19) //#define EF_RESTARTANIM_BIT (1u<<20) //reset model lerps over toggles //#define EF_TELEPORT_BIT (1u<<21) //reset origin lerps over toggles