From: Mircea Kitsune Date: Sun, 30 Jan 2011 16:38:27 +0000 (+0200) Subject: Turn weapon load floats into a single float with an array. The new system should... X-Git-Tag: xonotic-v0.5.0~309^2~7^2~74 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=834b2973412e7060340ea3e3ebe3a8f49e6d1f36;p=xonotic%2Fxonotic-data.pk3dir.git Turn weapon load floats into a single float with an array. The new system should be ready, and porting it to all guns is next --- diff --git a/qcsrc/server/cl_weaponsystem.qc b/qcsrc/server/cl_weaponsystem.qc index eac827410..78135fcc9 100644 --- a/qcsrc/server/cl_weaponsystem.qc +++ b/qcsrc/server/cl_weaponsystem.qc @@ -1665,7 +1665,7 @@ void W_ReloadedAndReady() self.clip_load += 1; self.(self.reload_ammo_player) -= 1; } - //self.hagar_load = self.clip_load; + self.weapon_load[self.weapon] = self.clip_load; t = ATTACK_FINISHED(self) - self.reload_time - 1; ATTACK_FINISHED(self) = t; diff --git a/qcsrc/server/defs.qh b/qcsrc/server/defs.qh index f60aad976..0c7b0e86e 100644 --- a/qcsrc/server/defs.qh +++ b/qcsrc/server/defs.qh @@ -612,6 +612,7 @@ float client_cefc_accumulator; float client_cefc_accumulatortime; #endif +.float weapon_load[WEP_MAXCOUNT]; FTEQCC_YOU_SUCK_THIS_IS_NOT_UNREFERENCED(weapon_load); .float clip_load; .float old_clip_load; .float clip_size; diff --git a/qcsrc/server/w_hagar.qc b/qcsrc/server/w_hagar.qc index 6572e2c9e..b27f25aa2 100644 --- a/qcsrc/server/w_hagar.qc +++ b/qcsrc/server/w_hagar.qc @@ -4,9 +4,6 @@ REGISTER_WEAPON(HAGAR, w_hagar, IT_ROCKETS, 8, WEP_FLAG_NORMAL | WEP_FLAG_CANCLI #ifdef SVQC // NO bounce protection, as bounces are limited! -// weapon load persistence, for weapons that support reloading -.float hagar_load; - void W_Hagar_SetAmmoCounter() { // set clip_load to the weapon we have switched to, if the gun uses reloading @@ -14,7 +11,7 @@ void W_Hagar_SetAmmoCounter() self.clip_load = 0; // also keeps crosshair ammo from displaying else { - self.clip_load = self.hagar_load; + self.clip_load = self.weapon_load[WEP_HAGAR]; self.clip_size = autocvar_g_balance_hagar_reload_ammo; // for the crosshair ammo display } } @@ -77,7 +74,7 @@ void W_Hagar_Attack (void) if(autocvar_g_balance_hagar_reload_ammo) { self.clip_load -= autocvar_g_balance_hagar_primary_ammo; - self.hagar_load = self.clip_load; + self.weapon_load[WEP_HAGAR] = self.clip_load; } else self.ammo_rockets -= autocvar_g_balance_hagar_primary_ammo; @@ -122,7 +119,7 @@ void W_Hagar_Attack2 (void) if(autocvar_g_balance_hagar_reload_ammo) { self.clip_load -= autocvar_g_balance_hagar_secondary_ammo; - self.hagar_load = self.clip_load; + self.weapon_load[WEP_HAGAR] = self.clip_load; } else self.ammo_rockets -= autocvar_g_balance_hagar_secondary_ammo; @@ -211,19 +208,19 @@ float w_hagar(float req) else if (req == WR_CHECKAMMO1) { ammo_amount = self.ammo_rockets >= autocvar_g_balance_hagar_primary_ammo; - ammo_amount += self.hagar_load >= autocvar_g_balance_hagar_primary_ammo; + ammo_amount += self.weapon_load[WEP_HAGAR] >= autocvar_g_balance_hagar_primary_ammo; return ammo_amount; } else if (req == WR_CHECKAMMO2) { ammo_amount = self.ammo_rockets >= autocvar_g_balance_hagar_secondary_ammo; - ammo_amount += self.hagar_load >= autocvar_g_balance_hagar_secondary_ammo; + ammo_amount += self.weapon_load[WEP_HAGAR] >= autocvar_g_balance_hagar_secondary_ammo; return ammo_amount; } else if (req == WR_RESETPLAYER) { // all weapons must be fully loaded when we spawn - self.hagar_load = autocvar_g_balance_hagar_reload_ammo; + self.weapon_load[WEP_HAGAR] = autocvar_g_balance_hagar_reload_ammo; } else if (req == WR_RELOAD) {