#ifdef SVQC
-bool teleport_dest_send(entity this, entity to, float sf)
+bool teleport_dest_send(entity this, entity to, int sf)
{
WriteHeader(MSG_ENTITY, ENT_CLIENT_TELEPORT_DEST);
+ WriteByte(MSG_ENTITY, sf);
- WriteByte(MSG_ENTITY, self.cnt);
- WriteCoord(MSG_ENTITY, self.speed);
- WriteString(MSG_ENTITY, self.targetname);
- WriteCoord(MSG_ENTITY, self.origin_x);
- WriteCoord(MSG_ENTITY, self.origin_y);
- WriteCoord(MSG_ENTITY, self.origin_z);
-
- WriteAngle(MSG_ENTITY, self.mangle_x);
- WriteAngle(MSG_ENTITY, self.mangle_y);
- WriteAngle(MSG_ENTITY, self.mangle_z);
+ if(sf & 1)
+ {
+ WriteByte(MSG_ENTITY, this.cnt);
+ WriteCoord(MSG_ENTITY, this.speed);
+ WriteString(MSG_ENTITY, this.targetname);
+ WriteCoord(MSG_ENTITY, this.origin_x);
+ WriteCoord(MSG_ENTITY, this.origin_y);
+ WriteCoord(MSG_ENTITY, this.origin_z);
+
+ WriteAngle(MSG_ENTITY, this.mangle_x);
+ WriteAngle(MSG_ENTITY, this.mangle_y);
+ WriteAngle(MSG_ENTITY, this.mangle_z);
+ }
return true;
}
-void teleport_dest_link()
-{SELFPARAM();
- Net_LinkEntity(self, false, 0, teleport_dest_send);
- //self.SendFlags |= 1; // update
+void teleport_dest_link(entity this)
+{
+ Net_LinkEntity(this, false, 0, teleport_dest_send);
+ this.SendFlags |= 1; // update
}
spawnfunc(info_teleport_destination)
{
- self.classname = "info_teleport_destination";
+ this.classname = "info_teleport_destination";
- self.mangle = self.angles;
- self.angles = '0 0 0';
+ this.mangle = this.angles;
+ this.angles = '0 0 0';
- //setorigin (self, self.origin + '0 0 27'); // To fix a mappers' habit as old as Quake
- setorigin (self, self.origin);
+ //setorigin (this, this.origin + '0 0 27'); // To fix a mappers' habit as old as Quake
+ setorigin (this, this.origin);
IFTARGETED
{
}
else
- objerror ("^3Teleport destination without a targetname");
+ objerror (this, "^3Teleport destination without a targetname");
- teleport_dest_link();
+ teleport_dest_link(this);
}
spawnfunc(misc_teleporter_dest)
#elif defined(CSQC)
-void teleport_dest_remove()
-{SELFPARAM();
- //if(self.classname)
- //strunzone(self.classname);
- //self.classname = string_null;
+void teleport_dest_remove(entity this)
+{
+ //if(this.classname)
+ //strunzone(this.classname);
+ //this.classname = string_null;
- if(self.targetname)
- strunzone(self.targetname);
- self.targetname = string_null;
+ if(this.targetname)
+ strunzone(this.targetname);
+ this.targetname = string_null;
}
NET_HANDLE(ENT_CLIENT_TELEPORT_DEST, bool isnew)
{
- self.classname = "info_teleport_destination";
- self.cnt = ReadByte();
- self.speed = ReadCoord();
- self.targetname = strzone(ReadString());
- self.origin_x = ReadCoord();
- self.origin_y = ReadCoord();
- self.origin_z = ReadCoord();
-
- self.mangle_x = ReadAngle();
- self.mangle_y = ReadAngle();
- self.mangle_z = ReadAngle();
+ int sf = ReadByte();
- return = true;
-
- setorigin(self, self.origin);
+ if(sf & 1)
+ {
+ this.classname = "info_teleport_destination";
+ this.cnt = ReadByte();
+ this.speed = ReadCoord();
+ this.targetname = strzone(ReadString());
+ this.origin_x = ReadCoord();
+ this.origin_y = ReadCoord();
+ this.origin_z = ReadCoord();
+
+ this.mangle_x = ReadAngle();
+ this.mangle_y = ReadAngle();
+ this.mangle_z = ReadAngle();
+
+ setorigin(this, this.origin);
+
+ this.drawmask = MASK_NORMAL;
+ this.entremove = teleport_dest_remove;
+ }
- self.drawmask = MASK_NORMAL;
- self.entremove = teleport_dest_remove;
+ return = true;
}
#endif