Imported a tenebrae1 bug fix
This commit is contained in:
parent
c6fd0dd2e7
commit
1b088021f5
1 changed files with 74 additions and 0 deletions
74
pr_cmds.c
74
pr_cmds.c
|
@ -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[] =
|
||||
|
@ -1975,6 +2047,8 @@ PF_precache_sound, // precache_sound2 is different only for qcc
|
|||
PF_precache_file,
|
||||
|
||||
PF_setspawnparms,
|
||||
PF_BasicEmitter,
|
||||
PF_ExtendedEmitter,
|
||||
PF_SetAreaPortalState,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue