From 900a3c09e97e21b6db27f930b20edd97f85d340a Mon Sep 17 00:00:00 2001 From: Jakob MG Date: Thu, 23 Aug 2012 20:38:12 +0200 Subject: [PATCH] Clean up client items a bit. Add cl_simpleitems_postfix and fix http://dev.xonotic.org/issues/1281 while at it anyway --- defaultXonotic.cfg | 1 + qcsrc/client/Main.qc | 1 - qcsrc/server/t_items.qc | 48 +++++++++++++++-------------------------- 3 files changed, 18 insertions(+), 32 deletions(-) diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 969081689..91fb4230b 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1962,6 +1962,7 @@ set cl_ghost_items 0.45 "enable ghosted items (when between 0 and 1, overrides t set cl_ghost_items_color "-1 -1 -1" "color of ghosted items, 0 0 0 leaves the color unchanged" set sv_simple_items 1 "allow or forbid client use of simple items" set cl_simple_items 0 "enable simple items (if server allows)" +set cl_simpleitems_postfix "_simple" "posfix to add fo model name when simple items are enabled" set cl_fullbright_items 0 "enable fullbright items (if server allows, controled by g_fullbrightitems)" set cl_weapon_stay_color "2 0.5 0.5" "Color of picked up weapons when g_weapon_stay > 0" set cl_weapon_stay_alpha 0.75 "Alpha of picked up weapons when g_weapon_stay > 0" diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 1ecc14516..076b255a3 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -87,7 +87,6 @@ void ConsoleCommand_macro_init(); void CSQC_Init(void) { prvm_language = cvar_string("prvm_language"); - cl_simple_items = autocvar_cl_simple_items; #ifdef USE_FTE #pragma target ID __engine_check = checkextension("DP_SV_WRITEPICTURE"); diff --git a/qcsrc/server/t_items.qc b/qcsrc/server/t_items.qc index 0abef68d2..13850fcad 100644 --- a/qcsrc/server/t_items.qc +++ b/qcsrc/server/t_items.qc @@ -19,13 +19,11 @@ var float autocvar_cl_animate_items = 1; var float autocvar_cl_ghost_items = 0.45; var vector autocvar_cl_ghost_items_color = '-1 -1 -1'; -float autocvar_cl_fullbright_items; -vector autocvar_cl_weapon_stay_color = '2 0.5 0.5'; -float autocvar_cl_weapon_stay_alpha = 0.75; -float autocvar_cl_simple_items; -float cl_simple_items; -float cl_ghost_items_alpha; - +var float autocvar_cl_fullbright_items = 0; +var vector autocvar_cl_weapon_stay_color = '2 0.5 0.5'; +var float autocvar_cl_weapon_stay_alpha = 0.75; +var float autocvar_cl_simple_items = 0; +var string autocvr_cl_simpleitems_postfix = "_simple"; .float spawntime; .float gravity; .vector colormod; @@ -76,22 +74,8 @@ void ItemDrawSimple() } } -float csqcitems_started; // remove this after a release or two -void csqcitems_start() -{ - if(autocvar_cl_ghost_items == 1) - cl_ghost_items_alpha = 0.55; - else - cl_ghost_items_alpha = bound(0, autocvar_cl_ghost_items, 1); - - csqcitems_started = TRUE; -} - void ItemRead(float _IsNew) { - if(!csqcitems_started) - csqcitems_start(); - float sf = ReadByte(); if(sf & ISF_LOCATION) @@ -122,7 +106,7 @@ void ItemRead(float _IsNew) } else { - if (cl_ghost_items_alpha) + if (autocvar_cl_ghost_items_color) { self.alpha = autocvar_cl_ghost_items; self.colormod = self.glowmod = autocvar_cl_ghost_items_color; @@ -163,19 +147,21 @@ void ItemRead(float _IsNew) self.mdl = ""; string _fn = ReadString(); - if(cl_simple_items && (self.ItemStatus & ITS_ALLOWSI)) + if(autocvar_cl_simple_items && (self.ItemStatus & ITS_ALLOWSI)) { string _fn2 = substring(_fn, 0 , strlen(_fn) -4); self.draw = ItemDrawSimple; - if(fexists(strcat(_fn2, "_simple.md3"))) - self.mdl = strzone(strcat(_fn2, "_simple.md3")); - else if(fexists(strcat(_fn2, "_simple.dpm"))) - self.mdl = strzone(strcat(_fn2, "_simple.dpm")); - else if(fexists(strcat(_fn2, "_simple.iqm"))) - self.mdl = strzone(strcat(_fn2, "_simple.iqm")); - else if(fexists(strcat(_fn2, "_simple.obj"))) - self.mdl = strzone(strcat(_fn2, "_simple.obj")); + + + if(fexists(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix))) + self.mdl = strzone(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix)); + else if(fexists(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix))) + self.mdl = strzone(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix)); + else if(fexists(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix))) + self.mdl = strzone(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix)); + else if(fexists(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix))) + self.mdl = strzone(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix)); else { self.draw = ItemDraw; -- 2.39.2