From 8bddc17aa255cec2f303fb20ac83b19039a9fb6c Mon Sep 17 00:00:00 2001 From: kadaverjack Date: Thu, 9 Feb 2006 10:25:01 +0000 Subject: [PATCH] fixed laser switch-to-last-weapon bug git-svn-id: svn://svn.icculus.org/nexuiz/trunk@992 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- attic/{ => textures}/nexskin.tga | Bin attic/{ => textures}/nexskin_bump.tga | Bin attic/{ => textures}/nexskin_gloss.tga | Bin attic/{ => textures}/nexskin_glow.tga | Bin attic/{ => textures}/nexskin_pants.tga | Bin attic/{ => textures}/nexskin_shirt.tga | Bin data/menu/data/video.menu | 4 ++-- data/qcsrc/server/gamec/cl_weapons.c | 2 ++ data/qcsrc/server/gamec/cl_weaponsystem.c | 9 ++++++++- data/qcsrc/server/gamec/t_items.c | 4 +++- 10 files changed, 15 insertions(+), 4 deletions(-) rename attic/{ => textures}/nexskin.tga (100%) rename attic/{ => textures}/nexskin_bump.tga (100%) rename attic/{ => textures}/nexskin_gloss.tga (100%) rename attic/{ => textures}/nexskin_glow.tga (100%) rename attic/{ => textures}/nexskin_pants.tga (100%) rename attic/{ => textures}/nexskin_shirt.tga (100%) diff --git a/attic/nexskin.tga b/attic/textures/nexskin.tga similarity index 100% rename from attic/nexskin.tga rename to attic/textures/nexskin.tga diff --git a/attic/nexskin_bump.tga b/attic/textures/nexskin_bump.tga similarity index 100% rename from attic/nexskin_bump.tga rename to attic/textures/nexskin_bump.tga diff --git a/attic/nexskin_gloss.tga b/attic/textures/nexskin_gloss.tga similarity index 100% rename from attic/nexskin_gloss.tga rename to attic/textures/nexskin_gloss.tga diff --git a/attic/nexskin_glow.tga b/attic/textures/nexskin_glow.tga similarity index 100% rename from attic/nexskin_glow.tga rename to attic/textures/nexskin_glow.tga diff --git a/attic/nexskin_pants.tga b/attic/textures/nexskin_pants.tga similarity index 100% rename from attic/nexskin_pants.tga rename to attic/textures/nexskin_pants.tga diff --git a/attic/nexskin_shirt.tga b/attic/textures/nexskin_shirt.tga similarity index 100% rename from attic/nexskin_shirt.tga rename to attic/textures/nexskin_shirt.tga diff --git a/data/menu/data/video.menu b/data/menu/data/video.menu index 94c8e799c..e71f8ed62 100644 --- a/data/menu/data/video.menu +++ b/data/menu/data/video.menu @@ -40,7 +40,7 @@ Item DataContainer Video Item DataLink_TextSwitch Switch { valueList "'1' '2' '4' '8' '16'" - descList "'off' '2x' '4x' '8x' '16x'" + descList "'Off' '2x' '4x' '8x' '16x'" link "##up" } } @@ -52,7 +52,7 @@ Item DataContainer Video Item DataLink_TextSwitch Switch { valueList "'0' '1' '2' '3' '4'" - descList "'best' 'good' 'medium' 'low' 'lowest' 'custom'" + descList "'Best' 'Good' 'Medium' 'Low' 'Lowest' 'Custom'" link "##up" } } diff --git a/data/qcsrc/server/gamec/cl_weapons.c b/data/qcsrc/server/gamec/cl_weapons.c index e80c9b31b..bab4bdf84 100644 --- a/data/qcsrc/server/gamec/cl_weapons.c +++ b/data/qcsrc/server/gamec/cl_weapons.c @@ -152,6 +152,8 @@ void() W_ThrowWeapon wep.classname = "droppedweapon"; e.items = e.items - (e.items & w); e.switchweapon = w_getbestweapon(e); + if (e.switchweapon != e.weapon) + e.cnt = e.weapon; self = e; }; diff --git a/data/qcsrc/server/gamec/cl_weaponsystem.c b/data/qcsrc/server/gamec/cl_weaponsystem.c index f349d6f31..a6cfa48e3 100644 --- a/data/qcsrc/server/gamec/cl_weaponsystem.c +++ b/data/qcsrc/server/gamec/cl_weaponsystem.c @@ -245,7 +245,6 @@ void() w_ready = // FIXME: add qw-style client-custom weaponrating (cl_weaponrating)? float(entity e) w_getbestweapon {// add new weapons here - e.cnt = e.weapon; if (client_hasweapon(e, WEP_ROCKET_LAUNCHER, TRUE)) return WEP_ROCKET_LAUNCHER; else if (client_hasweapon(e, WEP_NEX, TRUE)) @@ -302,7 +301,11 @@ void(float() checkfunc1, float() checkfunc2, void() firefunc, float atktime) wea if (!checkfunc1()) { if (!checkfunc2()) + { self.switchweapon = w_getbestweapon(self); + if (self.switchweapon != self.weapon) + self.cnt = self.weapon; + } return; } // Don't do shot if previos attack not finished @@ -322,7 +325,11 @@ void(float() checkfunc1, float() checkfunc2, void() firefunc) weapon_doattack if (!checkfunc1()) { if (!checkfunc2()) + { self.switchweapon = w_getbestweapon(self); + if (self.switchweapon != self.weapon) + self.cnt = self.weapon; + } return; } self.weaponentity.state = WS_INUSE; diff --git a/data/qcsrc/server/gamec/t_items.c b/data/qcsrc/server/gamec/t_items.c index 38a5ce30f..9d59f93b0 100644 --- a/data/qcsrc/server/gamec/t_items.c +++ b/data/qcsrc/server/gamec/t_items.c @@ -18,7 +18,7 @@ void Item_Respawn (void) void Item_Touch (void) { local entity oldself; - local float _switchweapon; + local float _switchweapon; if (other.classname != "player") return; @@ -135,6 +135,8 @@ void Item_Touch (void) if (_switchweapon) self.switchweapon = w_getbestweapon(self); + if (self.switchweapon != self.weapon) + self.cnt = self.weapon; //w_updateweapon (); //w_updateammo (); -- 2.39.2