]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Port clientdata to ClientState
authorMario <mario@smbclan.net>
Tue, 18 Jul 2017 02:33:31 +0000 (12:33 +1000)
committerMario <mario@smbclan.net>
Tue, 18 Jul 2017 02:33:31 +0000 (12:33 +1000)
qcsrc/common/state.qc
qcsrc/server/client.qc
qcsrc/server/client.qh

index 7013cff1c15282956d1e8e008abead47910a2f29..d3fd1d3bf41d80f70200330b5e336a7dc31e248c 100644 (file)
@@ -72,6 +72,7 @@ void ClientState_detach(entity this)
     accuracy_free(this); // TODO: needs to be before CS() is deleted!
     PlayerScore_Detach(this); // what ^they^ said
     W_HitPlotClose(this);
+    ClientData_Detach(this);
        delete(CS(this));
        this._cs = NULL;
 
@@ -82,5 +83,4 @@ void ClientState_detach(entity this)
     anticheat_report_to_eventlog(this);
     playerdemo_shutdown(this);
     entcs_detach(this);
-    ClientData_Detach(this);
 }
index bfb8849c3389ea9ea1f74d53ffd2cfcd9480550e..400d4b5b8e0c199646ab9436825e9335ebbb0931 100644 (file)
@@ -135,23 +135,23 @@ bool ClientData_Send(entity this, entity to, int sf)
 
 void ClientData_Attach(entity this)
 {
-       Net_LinkEntity(this.clientdata = new_pure(clientdata), false, 0, ClientData_Send);
-       this.clientdata.drawonlytoclient = this;
-       this.clientdata.owner = this;
+       Net_LinkEntity(CS(this).clientdata = new_pure(clientdata), false, 0, ClientData_Send);
+       CS(this).clientdata.drawonlytoclient = this;
+       CS(this).clientdata.owner = this;
 }
 
 void ClientData_Detach(entity this)
 {
-       delete(this.clientdata);
-       this.clientdata = NULL;
+       delete(CS(this).clientdata);
+       CS(this).clientdata = NULL;
 }
 
 void ClientData_Touch(entity e)
 {
-       e.clientdata.SendFlags = 1;
+       CS(e).clientdata.SendFlags = 1;
 
        // make it spectatable
-       FOREACH_CLIENT(IS_REAL_CLIENT(it) && it != e && IS_SPEC(it) && it.enemy == e, LAMBDA(it.clientdata.SendFlags = 1));
+       FOREACH_CLIENT(IS_REAL_CLIENT(it) && it != e && IS_SPEC(it) && it.enemy == e, LAMBDA(CS(it).clientdata.SendFlags = 1));
 }
 
 void SetSpectatee(entity this, entity spectatee);
index 0c3eddfeba707231b386cdd2000e1332b7b64990..e23c69bae156fbb14850f372a68732e7eeb10f9c 100644 (file)
@@ -106,6 +106,7 @@ CLASS(Client, Object)
     ATTRIB(Client, scorekeeper, entity, this.scorekeeper);
     ATTRIB(Client, specialcommand_pos, int, this.specialcommand_pos);
     ATTRIB(Client, hitplotfh, int, this.hitplotfh);
+    ATTRIB(Client, clientdata, entity, this.clientdata);
 
     METHOD(Client, m_unwind, bool(Client this));