]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/triggers/func/ladder.qc
Net: purge SELFPARAM from sendfuncs
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / func / ladder.qc
index dfa3194a460d14bd9a48936169edde7b140166cc..c27dd2ce08604e576c642d855d03fbbc2af67a67 100644 (file)
@@ -1,9 +1,9 @@
 void func_ladder_touch()
-{
+{SELFPARAM();
 #ifdef SVQC
        if (!other.iscreature)
                return;
-       if (other.vehicle_flags & VHF_ISVEHICLE)
+       if(IS_VEHICLE(other))
                return;
 #endif
 #ifdef CSQC
@@ -18,52 +18,39 @@ void func_ladder_touch()
 }
 
 #ifdef SVQC
-float func_ladder_send(entity to, float sf)
+bool func_ladder_send(entity this, entity to, float sf)
 {
        WriteByte(MSG_ENTITY, ENT_CLIENT_LADDER);
 
        WriteString(MSG_ENTITY, self.classname);
-       WriteByte(MSG_ENTITY, self.warpzone_isboxy);
        WriteByte(MSG_ENTITY, self.skin);
        WriteByte(MSG_ENTITY, self.speed);
-       WriteByte(MSG_ENTITY, self.scale);
-       WriteCoord(MSG_ENTITY, self.origin_x);
-       WriteCoord(MSG_ENTITY, self.origin_y);
-       WriteCoord(MSG_ENTITY, self.origin_z);
-
-       WriteCoord(MSG_ENTITY, self.mins_x);
-       WriteCoord(MSG_ENTITY, self.mins_y);
-       WriteCoord(MSG_ENTITY, self.mins_z);
-       WriteCoord(MSG_ENTITY, self.maxs_x);
-       WriteCoord(MSG_ENTITY, self.maxs_y);
-       WriteCoord(MSG_ENTITY, self.maxs_z);
-
-       WriteCoord(MSG_ENTITY, self.movedir_x);
-       WriteCoord(MSG_ENTITY, self.movedir_y);
-       WriteCoord(MSG_ENTITY, self.movedir_z);
-
-       WriteCoord(MSG_ENTITY, self.angles_x);
-       WriteCoord(MSG_ENTITY, self.angles_y);
-       WriteCoord(MSG_ENTITY, self.angles_z);
-
-       return TRUE;
+       WriteString(MSG_ENTITY, self.mdl);
+
+       trigger_common_write(false);
+
+       return true;
 }
 
 void func_ladder_link()
 {
-       Net_LinkEntity(self, FALSE, 0, func_ladder_send);
+       //self.SendEntity = func_ladder_send;
+       //self.SendFlags = 0xFFFFFF;
+       //self.model = "null";
 }
 
-void spawnfunc_func_ladder()
+spawnfunc(func_ladder)
 {
+       self.mdl = self.model;
        EXACTTRIGGER_INIT;
        self.touch = func_ladder_touch;
 
        func_ladder_link();
 }
 
-void spawnfunc_func_water()
+spawnfunc(func_water)
 {
+       self.mdl = self.model;
        EXACTTRIGGER_INIT;
        self.touch = func_ladder_touch;
 
@@ -73,43 +60,24 @@ void spawnfunc_func_water()
 #elif defined(CSQC)
 .float speed;
 
-void func_ladder_draw()
-{
-       float dt = time - self.move_time;
-       self.move_time = time;
-       if(dt <= 0) { return; }
-
-       trigger_touch_generic(func_ladder_touch);
-}
-
 void ent_func_ladder()
-{
+{SELFPARAM();
        self.classname = strzone(ReadString());
-       self.warpzone_isboxy = ReadByte();
        self.skin = ReadByte();
        self.speed = ReadByte();
-       self.scale = ReadByte();
-       self.origin_x = ReadCoord();
-       self.origin_y = ReadCoord();
-       self.origin_z = ReadCoord();
-       setorigin(self, self.origin);
-       self.mins_x = ReadCoord();
-       self.mins_y = ReadCoord();
-       self.mins_z = ReadCoord();
-       self.maxs_x = ReadCoord();
-       self.maxs_y = ReadCoord();
-       self.maxs_z = ReadCoord();
-       setsize(self, self.mins, self.maxs);
-       self.movedir_x = ReadCoord();
-       self.movedir_y = ReadCoord();
-       self.movedir_z = ReadCoord();
-       self.angles_x = ReadCoord();
-       self.angles_y = ReadCoord();
-       self.angles_z = ReadCoord();
+       self.model = strzone(ReadString());
+
+       trigger_common_read(false);
+       self.mins = self.maxs = '0 0 0';
 
        self.solid = SOLID_TRIGGER;
-       self.draw = func_ladder_draw;
+       self.draw = trigger_draw_generic;
+       self.trigger_touch = func_ladder_touch;
        self.drawmask = MASK_NORMAL;
        self.move_time = time;
+       self.entremove = trigger_remove_generic;
+
+       //precache_model(self.mdl);
+       EXACTTRIGGER_INIT;
 }
 #endif