#ifdef SVQC
+void plat_link();
+
void plat_delayedinit()
{
+ plat_link();
plat_spawn_inside_trigger(); // the "start moving" trigger
}
float plat_send(entity to, float sf)
-{
+{SELFPARAM();
WriteByte(MSG_ENTITY, ENT_CLIENT_PLAT);
WriteByte(MSG_ENTITY, sf);
if(sf & SF_TRIGGER_INIT)
{
- WriteShort(MSG_ENTITY, num_for_edict(self));
-
WriteByte(MSG_ENTITY, self.platmovetype_start);
WriteByte(MSG_ENTITY, self.platmovetype_turn);
WriteByte(MSG_ENTITY, self.platmovetype_end);
+ WriteByte(MSG_ENTITY, self.spawnflags);
WriteString(MSG_ENTITY, self.model);
void plat_link()
{
- Net_LinkEntity(self, 0, false, plat_send);
+ //Net_LinkEntity(self, 0, false, plat_send);
}
-void spawnfunc_func_plat()
+spawnfunc(func_plat)
{
if (self.sounds == 0)
self.sounds = 2;
self.reset = plat_reset;
plat_reset();
- plat_link();
-
InitializeEntity(self, plat_delayedinit, INITPRIO_FINDTARGET);
}
#elif defined(CSQC)
-void plat_draw()
+void plat_draw(entity this)
{
Movetype_Physics_NoMatchServer();
+ //Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy);
}
void ent_plat()
-{
+{SELFPARAM();
float sf = ReadByte();
if(sf & SF_TRIGGER_INIT)
{
- self.sv_entnum = ReadShort();
-
self.platmovetype_start = ReadByte();
self.platmovetype_turn = ReadByte();
self.platmovetype_end = ReadByte();
+ self.spawnflags = ReadByte();
self.model = strzone(ReadString());
- setmodel(self, self.model);
+ _setmodel(self, self.model);
trigger_common_read(true);
self.dmg = ReadShort();
+ self.classname = "plat";
self.solid = SOLID_BSP;
self.movetype = MOVETYPE_PUSH;
self.drawmask = MASK_NORMAL;
plat_reset(); // also called here
+ self.move_movetype = MOVETYPE_PUSH;
self.move_origin = self.origin;
self.move_angles = self.angles;
self.move_time = time;
+
+ plat_spawn_inside_trigger();
}
if(sf & SF_TRIGGER_RESET)