r_refdef.scene.entities[r_refdef.scene.numentities++] = entrender;
entrender->entitynumber = edictnum;
//entrender->shadertime = 0; // shadertime was set by spawn()
+ entrender->flags = 0;
entrender->alpha = 1;
entrender->scale = 1;
VectorSet(entrender->colormod, 1, 1, 1);
if(renderflags & RF_NOCULL) entrender->flags |= RENDER_NOCULL;
if(renderflags & RF_DEPTHHACK) entrender->flags |= RENDER_NODEPTHTEST;
if(renderflags & RF_ADDITIVE) entrender->flags |= RENDER_ADDITIVE;
-
}
c = (int)ed->fields.client->colormap;
// either fullbright or lit
if(!r_fullbright.integer)
{
- if (!(entrender->effects & EF_FULLBRIGHT))
+ if (!(entrender->effects & EF_FULLBRIGHT) && !(renderflags & RF_FULLBRIGHT))
entrender->flags |= RENDER_LIGHT;
else if(r_equalize_entities_fullbright.integer)
entrender->flags |= RENDER_LIGHT | RENDER_EQUALIZE;
// hide player shadow during intermission or nehahra movie
if (!(entrender->effects & (EF_NOSHADOW | EF_ADDITIVE | EF_NODEPTHTEST))
&& (entrender->alpha >= 1)
+ && !(renderflags & RF_NOSHADOW)
&& !(entrender->flags & RENDER_VIEWMODEL)
&& (!(entrender->flags & RENDER_EXTERIORMODEL) || (!cl.intermission && cls.protocol != PROTOCOL_NEHAHRAMOVIE && !cl_noplayershadow.integer)))
entrender->flags |= RENDER_SHADOW;
{
entnum = MSG_ReadShort();
if(!entnum || msg_badread)
- return;
+ break;
realentnum = entnum & 0x7FFF;
prog->globals.client->self = cl.csqc_server2csqcentitynumber[realentnum];
if(entnum & 0x8000)
// returns true if the packet is valid, false if end of file is reached
// used for dumping the CSQC download into demo files
-qboolean MakeDownloadPacket(const char *filename, unsigned char *data, unsigned long len, int crc, int cnt, sizebuf_t *buf, int protocol)
+qboolean MakeDownloadPacket(const char *filename, unsigned char *data, size_t len, int crc, int cnt, sizebuf_t *buf, int protocol)
{
int packetsize = buf->maxsize - 7; // byte short long
int npackets = (len + packetsize - 1) / (packetsize);
if(cnt == 0)
{
MSG_WriteByte(buf, svc_stufftext);
- MSG_WriteString(buf, va("\ncl_downloadbegin %lu %s\n", len, filename));
+ MSG_WriteString(buf, va("\ncl_downloadbegin %lu %s\n", (unsigned long)len, filename));
return true;
}
else if(cnt >= 1 && cnt <= npackets)
else if(cnt == npackets + 1)
{
MSG_WriteByte(buf, svc_stufftext);
- MSG_WriteString(buf, va("\ncl_downloadfinished %lu %d\n", len, crc));
+ MSG_WriteString(buf, va("\ncl_downloadfinished %lu %d\n", (unsigned long)len, crc));
return true;
}
return false;
}
if (csprogsdata)
{
- csprogsdatacrc = CRC_Block(csprogsdata, csprogsdatasize);
+ csprogsdatacrc = CRC_Block(csprogsdata, (size_t)csprogsdatasize);
if (csprogsdatacrc != requiredcrc || csprogsdatasize != requiredsize)
{
if (cls.demoplayback)
i = 0;
CL_CutDemo(&demobuf, &demofilesize);
- while(MakeDownloadPacket(csqc_progname.string, csprogsdata, csprogsdatasize, csprogsdatacrc, i++, &sb, cls.protocol))
+ while(MakeDownloadPacket(csqc_progname.string, csprogsdata, (size_t)csprogsdatasize, csprogsdatacrc, i++, &sb, cls.protocol))
CL_WriteDemoMessage(&sb);
CL_PasteDemo(&demobuf, &demofilesize);