-#ifndef NET_H
-#define NET_H
+#pragma once
#include "registry.qh"
#include "sort.qh"
[[accumulate]] NET_HANDLE(id, bool isnew) \
{ \
this = self; \
- this.sourceLocFile = __FILE__; \
- this.sourceLocLine = __LINE__; \
+ this.sourceLoc = __FILE__ ":" STR(__LINE__); \
if (!this) isnew = true; \
} \
REGISTER(LinkedEntities, NET, id, m_id, new_pure(net_linked_packet)) \
/** return false to remove from the client */
.bool(entity this, entity to, int sendflags) SendEntity3;
- bool SendEntity_self(entity to, int sendflags) { return self.SendEntity3(self, to, sendflags); }
+ bool SendEntity_self(entity to, int sendflags) { SELFPARAM(); return this.SendEntity3(this, to, sendflags); }
void Net_LinkEntity(entity e, bool docull, float dt, bool(entity this, entity to, int sendflags) sendfunc)
{
if (e.classname == "") e.classname = "net_linked";
- if (e.model == "" || self.modelindex == 0)
+ if (e.model == "" || e.modelindex == 0)
{
vector mi = e.mins;
vector ma = e.maxs;
void UncustomizeEntitiesRun()
{
- FOREACH_ENTITY_FLOAT(uncustomizeentityforclient_set, true, LAMBDA(
- WITH(entity, self, it, it.uncustomizeentityforclient());
- ));
+ SELFPARAM();
+ FOREACH_ENTITY_FLOAT(uncustomizeentityforclient_set, true, WITH(entity, self, it, it.uncustomizeentityforclient()));
}
STRING_ITERATOR(g_buf, string_null, 0);
v += ReadByte(); // note: this is unsigned
return v;
}
- vector ReadInt48_t()
- {
- vector v;
- v.x = ReadInt24_t();
- v.y = ReadInt24_t();
- v.z = 0;
- return v;
- }
- vector ReadInt72_t()
- {
- vector v;
- v.x = ReadInt24_t();
- v.y = ReadInt24_t();
- v.z = ReadInt24_t();
- return v;
- }
+ #define ReadInt48_t() vec3(ReadInt24_t(), ReadInt24_t(), 0)
+ #define ReadInt72_t() vec3(ReadInt24_t(), ReadInt24_t(), ReadInt24_t())
int _ReadSByte;
#define ReadSByte() (_ReadSByte = ReadByte(), (_ReadSByte & BIT(7) ? -128 : 0) + (_ReadSByte & BITS(7)))
#define ReadFloat() ReadCoord()
- vector ReadVector() { vector v; v.x = ReadFloat(); v.y = ReadFloat(); v.z = ReadFloat(); return v; }
- vector ReadVector2D() { vector v; v.x = ReadFloat(); v.y = ReadFloat(); v.z = 0; return v; }
+ #define ReadVector() vec3(ReadFloat(), ReadFloat(), ReadFloat())
+ #define ReadVector2D() vec3(ReadFloat(), ReadFloat(), 0)
float ReadApproxPastTime()
{
} MACRO_END
#endif
#endif
-
-#endif