From 99ed4a1e2187c5f64fe18d8d3102c3acacc1f212 Mon Sep 17 00:00:00 2001 From: MirceaKitsune Date: Wed, 23 Mar 2011 19:16:15 +0200 Subject: [PATCH] Some bugfixes from Xonotic, regarding features I ported in VT --- data/qcsrc/client/Main.qc | 3 ++ data/qcsrc/client/View.qc | 55 ++++++++++++++-------------- data/qcsrc/server/cl_weaponsystem.qc | 6 +-- 3 files changed, 34 insertions(+), 30 deletions(-) diff --git a/data/qcsrc/client/Main.qc b/data/qcsrc/client/Main.qc index 06bb675b..d93869b8 100644 --- a/data/qcsrc/client/Main.qc +++ b/data/qcsrc/client/Main.qc @@ -143,6 +143,9 @@ void CSQC_Init(void) cl_announcer_prev = strzone(cvar_string("cl_announcer")); } + if(cvar("cl_reticle_item_normal")) precache_pic("gfx/reticle_normal"); + if(cvar("cl_reticle_item_nex")) precache_pic("gfx/reticle_nex"); + #ifdef UID { // find the user ID diff --git a/data/qcsrc/client/View.qc b/data/qcsrc/client/View.qc index af6ebd65..5e9d75c4 100644 --- a/data/qcsrc/client/View.qc +++ b/data/qcsrc/client/View.qc @@ -474,35 +474,36 @@ void CSQC_UpdateView(float w, float h) else if(button_zoom || zoomscript_caught) reticle_type = 1; // normal zoom - if(cvar("cl_reticle_stretch")) + if (reticle_type) { - reticle_size_x = vid_conwidth; - reticle_size_y = vid_conheight; - reticle_pos_x = 0; - reticle_pos_y = 0; - } - else - { - reticle_size_x = max(vid_conwidth, vid_conheight); - reticle_size_y = max(vid_conwidth, vid_conheight); - reticle_pos_x = (vid_conwidth - reticle_size_x) / 2; - reticle_pos_y = (vid_conheight - reticle_size_y) / 2; - } + if(cvar("cl_reticle_stretch")) + { + reticle_size_x = vid_conwidth; + reticle_size_y = vid_conheight; + reticle_pos_x = 0; + reticle_pos_y = 0; + } + else + { + reticle_size_x = max(vid_conwidth, vid_conheight); + reticle_size_y = max(vid_conwidth, vid_conheight); + reticle_pos_x = (vid_conwidth - reticle_size_x) / 2; + reticle_pos_y = (vid_conheight - reticle_size_y) / 2; + } - f = current_zoomfraction; - if(zoomscript_caught) - f = 1; - if(cvar("cl_reticle_item_normal")) - { - precache_pic("gfx/reticle_normal"); - if(reticle_type == 1 && f) - drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', f * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL); - } - if(cvar("cl_reticle_item_weapon")) - { - precache_pic("gfx/reticle_weapon"); - if(reticle_type == 2 && f) - drawpic(reticle_pos, "gfx/reticle_weapon", reticle_size, '1 1 1', f * cvar("cl_reticle_item_weapon"), DRAWFLAG_NORMAL); + f = current_zoomfraction; + if(zoomscript_caught) + f = 1; + if(cvar("cl_reticle_item_normal")) + { + if(reticle_type == 1 && f) + drawpic(reticle_pos, "gfx/reticle_normal", reticle_size, '1 1 1', f * cvar("cl_reticle_item_normal"), DRAWFLAG_NORMAL); + } + if(cvar("cl_reticle_item_weapon")) + { + if(reticle_type == 2 && f) + drawpic(reticle_pos, "gfx/reticle_weapon", reticle_size, '1 1 1', f * cvar("cl_reticle_item_weapon"), DRAWFLAG_NORMAL); + } } // screen effects diff --git a/data/qcsrc/server/cl_weaponsystem.qc b/data/qcsrc/server/cl_weaponsystem.qc index b2706ecd..10fef523 100644 --- a/data/qcsrc/server/cl_weaponsystem.qc +++ b/data/qcsrc/server/cl_weaponsystem.qc @@ -1574,15 +1574,14 @@ void W_ReloadedAndReady() self.clip_load = self.old_clip_load; // restore the ammo counter, in case we still had ammo in the weapon before reloading // if the gun uses no ammo, max out weapon load, else decrease ammo as we increase weapon load - if(!self.reload_ammo_min) + if(!self.reload_ammo_min || self.items & IT_UNLIMITED_WEAPON_AMMO) self.clip_load = self.reload_ammo_amount; else { while(self.clip_load < self.reload_ammo_amount && self.(self.current_ammo)) // make sure we don't add more ammo than we have { self.clip_load += 1; - if not(self.items & IT_UNLIMITED_WEAPON_AMMO) - self.(self.current_ammo) -= 1; + self.(self.current_ammo) -= 1; } } self.weapon_load[self.weapon] = self.clip_load; @@ -1626,6 +1625,7 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri // no ammo, so nothing to load if(!self.(self.current_ammo) && self.reload_ammo_min) + if not(self.items & IT_UNLIMITED_WEAPON_AMMO) { if(clienttype(self) == CLIENTTYPE_REAL && self.reload_complain < time) { -- 2.39.2