while (*e && *e != ' ')
e++;
if (e - start == len)
- if (!strncasecmp(e, name, len))
+ if (!strncasecmp(start, name, len))
return true;
}
return false;
angles = e->v.angles;
a = angles[1]/180 * M_PI;
-
+
xvector[0] = cos(a);
xvector[1] = sin(a);
yvector[0] = -sin(a);
MSG_WriteByte (&sv.signon, svc_spawnstaticsound);
for (i=0 ; i<3 ; i++)
- MSG_WriteFloatCoord(&sv.signon, pos[i]);
+ MSG_WriteDPCoord(&sv.signon, pos[i]);
if (large)
MSG_WriteShort (&sv.signon, soundnum);
//============================================================================
-byte checkpvs[MAX_MAP_LEAFS/8];
+qbyte checkpvs[MAX_MAP_LEAFS/8];
int PF_newcheckclient (int check)
{
int i;
- byte *pvs;
+ qbyte *pvs;
edict_t *ent;
mleaf_t *leaf;
vec3_t org;
Con_DPrintf ("%s",PF_VarString(0));
}
-char pr_string_temp[128];
+// LordHavoc: added this to semi-fix the problem of using many ftos calls in a print
+#define STRINGTEMP_BUFFERS 16
+#define STRINGTEMP_LENGTH 128
+static char pr_string_temp[STRINGTEMP_BUFFERS][STRINGTEMP_LENGTH];
+static int pr_string_tempindex = 0;
+
+static char *PR_GetTempString(void)
+{
+ char *s;
+ s = pr_string_temp[pr_string_tempindex];
+ pr_string_tempindex = (pr_string_tempindex + 1) % STRINGTEMP_BUFFERS;
+ return s;
+}
void PF_ftos (void)
{
- float v;
+ float v;
+ char *s;
v = G_FLOAT(OFS_PARM0);
- // LordHavoc: ftos improvement
- sprintf (pr_string_temp, "%g", v);
+ s = PR_GetTempString();
/*
if (v == (int)v)
- sprintf (pr_string_temp, "%d",(int)v);
+ sprintf (s, "%d",(int)v);
else
- sprintf (pr_string_temp, "%5.1f",v);
+ sprintf (s, "%5.1f",v);
*/
- G_INT(OFS_RETURN) = pr_string_temp - pr_strings;
+ // LordHavoc: ftos improvement
+ sprintf (s, "%g", v);
+ G_INT(OFS_RETURN) = s - pr_strings;
}
void PF_fabs (void)
void PF_vtos (void)
{
- sprintf (pr_string_temp, "'%5.1f %5.1f %5.1f'", G_VECTOR(OFS_PARM0)[0], G_VECTOR(OFS_PARM0)[1], G_VECTOR(OFS_PARM0)[2]);
- G_INT(OFS_RETURN) = pr_string_temp - pr_strings;
+ char *s;
+ s = PR_GetTempString();
+ sprintf (s, "'%5.1f %5.1f %5.1f'", G_VECTOR(OFS_PARM0)[0], G_VECTOR(OFS_PARM0)[1], G_VECTOR(OFS_PARM0)[2]);
+ G_INT(OFS_RETURN) = s - pr_strings;
}
void PF_etos (void)
{
- sprintf (pr_string_temp, "entity %i", G_EDICTNUM(OFS_PARM0));
- G_INT(OFS_RETURN) = pr_string_temp - pr_strings;
+ char *s;
+ s = PR_GetTempString();
+ sprintf (s, "entity %i", G_EDICTNUM(OFS_PARM0));
+ G_INT(OFS_RETURN) = s - pr_strings;
}
void PF_Spawn (void)
// entity (entity start, .string field, string match) find = #5;
void PF_Find (void)
{
- int e;
+ int e;
int f;
char *s, *t;
edict_t *ed;
RETURN_EDICT(sv.edicts);
return;
}
-
+
for (e++ ; e < sv.num_edicts ; e++)
{
ed = EDICT_NUM(e);
if (sv.state != ss_loading)
PR_RunError ("PF_Precache_*: Precache can only be done in spawn functions");
-
+
s = G_STRING(OFS_PARM0);
if (sv.worldmodel->ishlbsp && ((!s) || (!s[0])))
return;
if (!sv.model_precache[i])
{
sv.model_precache[i] = s;
- sv.models[i] = Mod_ForName (s, true, true, false);
+ sv.models[i] = Mod_ForName (s, true, false, false);
return;
}
if (!strcmp(sv.model_precache[i], s))
void PF_WriteCoord (void)
{
- MSG_WriteFloatCoord (WriteDest(), G_FLOAT(OFS_PARM1));
+ MSG_WriteDPCoord (WriteDest(), G_FLOAT(OFS_PARM1));
}
void PF_WriteString (void)
MSG_WriteByte (&sv.signon, ent->v.skin);
for (i=0 ; i<3 ; i++)
{
- MSG_WriteFloatCoord(&sv.signon, ent->v.origin[i]);
+ MSG_WriteDPCoord(&sv.signon, ent->v.origin[i]);
MSG_WriteAngle(&sv.signon, ent->v.angles[i]);
}
{
client_t *client;
int entnum, i;
-
+
entnum = G_EDICTNUM(OFS_PARM0);
i = G_FLOAT(OFS_PARM1);
-
+
if (entnum < 1 || entnum > svs.maxclients)
{
Con_Printf ("tried to setcolor a non-client\n");
return;
}
-
+
client = &svs.clients[entnum-1];
client->colors = i;
client->edict->v.team = (i & 15) + 1;
-
+
MSG_WriteByte (&sv.reliable_datagram, svc_updatecolors);
MSG_WriteByte (&sv.reliable_datagram, entnum - 1);
MSG_WriteByte (&sv.reliable_datagram, i);
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_BLOOD);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// velocity
MSG_WriteByte(&sv.datagram, bound(-128, (int) G_VECTOR(OFS_PARM1)[0], 127));
MSG_WriteByte(&sv.datagram, bound(-128, (int) G_VECTOR(OFS_PARM1)[1], 127));
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_BLOODSHOWER);
// min
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// max
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// speed
- MSG_WriteFloatCoord(&sv.datagram, G_FLOAT(OFS_PARM2));
+ MSG_WriteDPCoord(&sv.datagram, G_FLOAT(OFS_PARM2));
// count
MSG_WriteShort(&sv.datagram, bound(0, G_FLOAT(OFS_PARM3), 65535));
}
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_EXPLOSIONRGB);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// color
MSG_WriteByte(&sv.datagram, bound(0, (int) (G_VECTOR(OFS_PARM1)[0] * 255), 255));
MSG_WriteByte(&sv.datagram, bound(0, (int) (G_VECTOR(OFS_PARM1)[1] * 255), 255));
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_PARTICLECUBE);
// min
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// max
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// velocity
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
// count
MSG_WriteShort(&sv.datagram, bound(0, G_FLOAT(OFS_PARM3), 65535));
// color
// gravity true/false
MSG_WriteByte(&sv.datagram, ((int) G_FLOAT(OFS_PARM5)) != 0);
// randomvel
- MSG_WriteFloatCoord(&sv.datagram, G_FLOAT(OFS_PARM6));
+ MSG_WriteDPCoord(&sv.datagram, G_FLOAT(OFS_PARM6));
}
void PF_te_particlerain (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_PARTICLERAIN);
// min
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// max
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// velocity
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
// count
MSG_WriteShort(&sv.datagram, bound(0, G_FLOAT(OFS_PARM3), 65535));
// color
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_PARTICLESNOW);
// min
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// max
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// velocity
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
// count
MSG_WriteShort(&sv.datagram, bound(0, G_FLOAT(OFS_PARM3), 65535));
// color
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SPARK);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// velocity
MSG_WriteByte(&sv.datagram, bound(-128, (int) G_VECTOR(OFS_PARM1)[0], 127));
MSG_WriteByte(&sv.datagram, bound(-128, (int) G_VECTOR(OFS_PARM1)[1], 127));
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_GUNSHOTQUAD);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_spikequad (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SPIKEQUAD);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_superspikequad (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SUPERSPIKEQUAD);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_explosionquad (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_EXPLOSIONQUAD);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_smallflash (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SMALLFLASH);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_customflash (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_CUSTOMFLASH);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// radius
MSG_WriteByte(&sv.datagram, bound(0, G_FLOAT(OFS_PARM1) / 8 - 1, 255));
// lifetime
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_GUNSHOT);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_spike (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SPIKE);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_superspike (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_SUPERSPIKE);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_explosion (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_EXPLOSION);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_tarexplosion (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_TAREXPLOSION);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_wizspike (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_WIZSPIKE);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_knightspike (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_KNIGHTSPIKE);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_lavasplash (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_LAVASPLASH);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_teleport (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_TELEPORT);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_te_explosion2 (void)
MSG_WriteByte(&sv.datagram, svc_temp_entity);
MSG_WriteByte(&sv.datagram, TE_EXPLOSION2);
// origin
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
// color
MSG_WriteByte(&sv.datagram, G_FLOAT(OFS_PARM1));
}
// owner entity
MSG_WriteShort(&sv.datagram, G_EDICTNUM(OFS_PARM0));
// start
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// end
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
}
void PF_te_lightning2 (void)
// owner entity
MSG_WriteShort(&sv.datagram, G_EDICTNUM(OFS_PARM0));
// start
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// end
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
}
void PF_te_lightning3 (void)
// owner entity
MSG_WriteShort(&sv.datagram, G_EDICTNUM(OFS_PARM0));
// start
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// end
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
}
void PF_te_beam (void)
// owner entity
MSG_WriteShort(&sv.datagram, G_EDICTNUM(OFS_PARM0));
// start
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM1)[2]);
// end
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
- MSG_WriteFloatCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM2)[2]);
+}
+
+void PF_te_plasmaburn (void)
+{
+ MSG_WriteByte(&sv.datagram, svc_temp_entity);
+ MSG_WriteByte(&sv.datagram, TE_PLASMABURN);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[0]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[1]);
+ MSG_WriteDPCoord(&sv.datagram, G_VECTOR(OFS_PARM0)[2]);
}
void PF_Fixme (void)
PF_setspawnparms,
PF_Fixme, // #79 LordHavoc: dunno who owns 79-89, so these are just padding
-PF_Fixme, // #80
+PF_Fixme, // #80
PF_Fixme, // #81
PF_Fixme, // #82
PF_Fixme, // #83
PF_te_lightning3, // #430
PF_te_beam, // #431
PF_vectorvectors, // #432
+PF_te_plasmaburn, // #433
};
builtin_t *pr_builtins = pr_builtin;