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[] =
|
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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue