X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fstate.qc;h=018f626e0318bcf02dee8807f08260afd1262158;hb=d1410ab9f0d6fe30ffe250654707b62bc3e28ee0;hp=7a5979e2bc2c0ba261c11281798bf1d2355fdc1a;hpb=9d5295bb4213f6c703d43d158605efe893514ee4;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/state.qc b/qcsrc/common/state.qc index 7a5979e2b..018f626e0 100644 --- a/qcsrc/common/state.qc +++ b/qcsrc/common/state.qc @@ -4,8 +4,9 @@ void Inventory_new(PlayerState this); void Inventory_delete(entity this); +void Inventory_clear(PlayerState this); void InventoryStorage_attach(PlayerState this); -void InventoryStorage_detach(PlayerState this); +void InventoryStorage_delete(PlayerState this); void PlayerState_attach(entity this) { @@ -22,6 +23,7 @@ void PlayerState_detach(entity this) PlayerState ps = PS(this); if (!ps) return; // initial connect PS(this) = NULL; + Inventory_clear(this.inventory_store); // no need to network updates, as there is no inventory attached if (ps.m_client != this) return; // don't own state, spectator ps.ps_push(ps, this); @@ -68,13 +70,13 @@ void PlayerScore_Detach(entity this); void ClientState_detach(entity this) { - GetCvars(this, CS(this), -1); // free cvars TODO: is this still needed now that it's stored on the clientstate entity? + GetCvars(this, CS_CVAR(this), -1); // free cvars TODO: is this still needed now that it's stored on the clientstate entity? accuracy_free(this); // TODO: needs to be before CS() is deleted! PlayerScore_Detach(this); // what ^they^ said W_HitPlotClose(this); ClientData_Detach(this); entcs_detach(this); - InventoryStorage_detach(this); + InventoryStorage_delete(this); delete(CS(this)); this._cs = NULL;