0,//unsigned short exteriormodelforclient; // ! not shown if first person viewing from this entity, shown in all other cases
0,//unsigned short nodrawtoclient; // !
0,//unsigned short drawonlytoclient; // !
+ 0,//unsigned short traileffectnum;
{0,0,0,0},//unsigned short light[4]; // color*256 (0.00 to 255.996), and radius*1
ACTIVE_NOT,//unsigned char active; // true if a valid state
0,//unsigned char lightstyle;
msg->allowoverflow = true;
PRVM_G_INT(OFS_PARM0) = sv.writeentitiestoclient_cliententitynumber;
PRVM_G_FLOAT(OFS_PARM1) = sendflags;
- prog->globals.server->self = number;
+ PRVM_serverglobaledict(self) = number;
PRVM_ExecuteProgram(PRVM_serveredictfunction(ed, SendEntity), "Null SendEntity\n");
msg->allowoverflow = false;
if(PRVM_G_FLOAT(OFS_RETURN) && msg->cursize + 2 <= maxsize)
//dp_model_t *model;
ENTITYSIZEPROFILING_START(msg, s->number);
- if (PRVM_serveredictfunction((&prog->edicts[s->number]), SendEntity))
- return;
-
if (s->active != ACTIVE_NETWORK)
MSG_WriteShort(msg, number | 0x8000);
else
{
+ if (PRVM_serveredictfunction((&prog->edicts[s->number]), SendEntity))
+ return;
+
bits = changedbits;
if ((bits & E5_ORIGIN) && (!(s->flags & RENDER_LOWPRECISION) || s->exteriormodelforclient || s->tagentity || s->viewmodelforclient || (s->number >= 1 && s->number <= svs.maxclients) || s->origin[0] <= -4096.0625 || s->origin[0] >= 4095.9375 || s->origin[1] <= -4096.0625 || s->origin[1] >= 4095.9375 || s->origin[2] <= -4096.0625 || s->origin[2] >= 4095.9375))
// maybe also add: ((model = SV_GetModelByIndex(s->modelindex)) != NULL && model->name[0] == '*')
MSG_WriteShort(msg, (int)((sv.time - s->framegroupblend[0].start) * 1000.0));
}
}
+ if (bits & E5_TRAILEFFECTNUM)
+ MSG_WriteShort(msg, s->traileffectnum);
}
ENTITYSIZEPROFILING_END(msg, s->number);
break;
}
}
+ if (bits & E5_TRAILEFFECTNUM)
+ s->traileffectnum = (unsigned short) MSG_ReadShort();
if (developer_networkentities.integer >= 2)
bits |= E5_GLOWMOD;
if (n->flags & RENDER_COMPLEXANIMATION)
bits |= E5_COMPLEXANIMATION;
+ if (o->traileffectnum != n->traileffectnum)
+ bits |= E5_TRAILEFFECTNUM;
}
else
if (o->active == ACTIVE_NETWORK)
packetlog = d->packetlog + packetlognumber;
packetlog->packetnumber = framenum;
packetlog->numstates = 0;
+ memset(packetlog->statsdeltabits, 0, sizeof(packetlog->statsdeltabits));
}
packetlog->statsdeltabits[i>>3] |= (1<<(i&7));
if (host_client->stats[i] >= 0 && host_client->stats[i] < 256)
packetlog = d->packetlog + packetlognumber;
packetlog->packetnumber = framenum;
packetlog->numstates = 0;
+ memset(packetlog->statsdeltabits, 0, sizeof(packetlog->statsdeltabits));
}
// write state updates