Imported a tenebrae1 bug fix

This commit is contained in:
cholleme 2003-11-16 22:19:59 +00:00
parent c6fd0dd2e7
commit 1b088021f5

View file

@ -1874,6 +1874,78 @@ void PF_SetAreaPortalState(void)
} }
/*
=================
PF_BasicEmitter
BasicEmitter(origin, count, effect)
=================
*/
void PF_BasicEmitter(void)
{
float *org;
float pcount;
char *name;
int size;
org = G_VECTOR(OFS_PARM0);
pcount = G_FLOAT(OFS_PARM1);
name = G_STRING(OFS_PARM2);
size = 8 + strlen(name) + 16;
//not engough space free in the packet
if (sv.datagram.cursize > MAX_DATAGRAM-size)
return;
MSG_WriteByte(&sv.datagram, svc_basicemitter);
MSG_WriteCoord(&sv.datagram, org[0]);
MSG_WriteCoord(&sv.datagram, org[1]);
MSG_WriteCoord(&sv.datagram, org[2]);
MSG_WriteByte(&sv.datagram, pcount);
MSG_WriteString(&sv.datagram, name);
}
/*
=================
PF_ExtendedEmitter
ExtendedEmitter(origin, velocity, count, tick, lifetime, effectname)
=================
*/
void PF_ExtendedEmitter(void)
{
float *org, *vel;
float pcount, tick, life;
char *name;
int size;
org = G_VECTOR(OFS_PARM0);
vel = G_VECTOR(OFS_PARM1);
pcount = G_FLOAT(OFS_PARM2);
tick = G_FLOAT(OFS_PARM3);
life = G_FLOAT(OFS_PARM4);
name = G_STRING(OFS_PARM5);
size = 22 + strlen(name) + 16;
//not engough space free in the packet
if (sv.datagram.cursize > MAX_DATAGRAM-size)
return;
MSG_WriteByte (&sv.datagram, svc_extendedemitter);
MSG_WriteCoord (&sv.datagram, org[0]);
MSG_WriteCoord (&sv.datagram, org[1]);
MSG_WriteCoord (&sv.datagram, org[2]);
MSG_WriteCoord (&sv.datagram, vel[0]);
MSG_WriteCoord (&sv.datagram, vel[1]);
MSG_WriteCoord (&sv.datagram, vel[2]);
MSG_WriteByte (&sv.datagram, pcount);
MSG_WriteLong (&sv.datagram, (life * 100));
MSG_WriteLong (&sv.datagram, (tick * 100));
MSG_WriteString (&sv.datagram, name);
}
builtin_t pr_builtin[] = builtin_t pr_builtin[] =
@ -1975,6 +2047,8 @@ PF_precache_sound, // precache_sound2 is different only for qcc
PF_precache_file, PF_precache_file,
PF_setspawnparms, PF_setspawnparms,
PF_BasicEmitter,
PF_ExtendedEmitter,
PF_SetAreaPortalState, PF_SetAreaPortalState,
}; };