]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/ent_cs.qc
Remove uses of WITHSELF
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / ent_cs.qc
index dbadc9abbd6eabe1ff1a5bbd8539bd0d247577a5..cafef4868b540cd274de8d2f253fd113a6d43623 100644 (file)
@@ -83,9 +83,8 @@
                return _entcs_send(this, to, sf, MSG_ENTITY);
        }
 
-       void entcs_think()
+       void entcs_think(entity this)
        {
-               SELFPARAM();
                this.nextthink = time + 0.033333333333;  // TODO: increase this to like 0.15 once the client can do smoothing
                entity o = this.owner;
                int i = 1;
                        i += 1;
                ENTCS_NETPROPS(X);
        #undef X
+           setorigin(this, this.origin);  // relink
        }
 
        void entcs_attach(entity player)
        {
                entity e = player.entcs = new(entcs_sender);
-               make_pure(e);
                e.owner = player;
-               e.think = entcs_think;
+               setthink(e, entcs_think);
                e.nextthink = time;
                Net_LinkEntity(e, false, 0, entcs_send);
                if (!IS_REAL_CLIENT(player)) return;
-               FOREACH_CLIENT(true, LAMBDA(
+               FOREACH_CLIENT(true, {
                        assert(it.entcs);
                        _entcs_send(it.entcs, msg_entity = player, BITS(23), MSG_ONE);
-               ));
+               });
        }
 
        void entcs_detach(entity player)
                if (e != this) remove(e);
        }
 
-       void entcs_think()
+       void entcs_think(entity this)
        {
-               SELFPARAM();
                entity e = CSQCModel_server2csqc(this.sv_entnum);
                if (e == NULL)
                {
                                make_pure(e);
                        }
                        e.sv_entnum = n;
-                       e.think = entcs_think;
+                       setthink(e, entcs_think);
                        entcs_receiver(n, e);
                }
                else if (this && e != this)
        #undef X
                this.iflags |= IFLAG_ORIGIN;
                InterpolateOrigin_Note(this);
-               WITH(entity, self, this, this.think());
+               getthink(this)(this);
                return true;
        }