]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/state.qh
Fix FL_WEAPON flag overlapping FL_JUMPRELEASED. This unintentional change was introdu...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / state.qh
index 110df1c575840421fb05a47ebb66cc16c89f8efa..7656d47e66ac566d2f1ae394204ef1716d0db97a 100644 (file)
@@ -6,22 +6,12 @@
  * Server: instance per client, clients decoupled from players
  */
 CLASS(PlayerState, Object)
-       ATTRIB(PlayerState, m_client, entity, NULL)
+       ATTRIB(PlayerState, m_client, entity);
        CONSTRUCTOR(PlayerState, entity client)
        {
                CONSTRUCT(PlayerState);
                this.m_client = client;
        }
-       ATTRIB(PlayerState, m_switchingweapon, Weapon, Weapons_from(-1))
-       ATTRIB(PlayerState, m_switchweapon, Weapon, Weapons_from(-1))
-       ATTRIB(PlayerState, m_weapon, Weapon, Weapons_from(-1))
-       METHOD(PlayerState, ps_push, void(PlayerState this, entity cl))
-       {
-           TC(PlayerState, this);
-               STAT(ACTIVEWEAPON, cl) = this.m_weapon.m_id;
-               STAT(SWITCHINGWEAPON, cl) = this.m_switchingweapon.m_id;
-               STAT(SWITCHWEAPON, cl) = this.m_switchweapon.m_id;
-       }
 ENDCLASS(PlayerState)
 
 .PlayerState _ps;
@@ -37,12 +27,16 @@ void PlayerState_detach(entity this);
  * Server: instance per client
  */
 CLASS(ClientState, Object)
-       ATTRIB(ClientState, m_client, entity, NULL)
+       ATTRIB(ClientState, m_client, entity);
        CONSTRUCTOR(ClientState, entity client)
        {
                CONSTRUCT(ClientState);
                this.m_client = client;
        }
+       METHOD(PlayerState, ps_push, void(PlayerState this, entity cl))
+       {
+               TC(PlayerState, this);
+       }
 ENDCLASS(ClientState)
 
 .ClientState _cs;
@@ -53,5 +47,8 @@ ENDCLASS(ClientState)
        ClientState CS(Client this) { TC(Client, this); assert(this._cs); return this._cs; }
 #endif
 
+// NOTE: this exists to ease migration later on - ClientState does not exist early enough for replicated cvars!
+#define CS_CVAR(this) (this)
+
 void ClientState_attach(entity this);
 void ClientState_detach(entity this);