From 53c8665b1111effe65bc25c37048b30f410f89a6 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Thu, 9 Feb 2023 17:12:31 -0800 Subject: [PATCH] Menu-FN: update spray related infokeys upon init --- src/menu-fn/entry.qc | 3 +++ src/menu-fn/m_customize.qc | 26 +++++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/menu-fn/entry.qc b/src/menu-fn/entry.qc index 6c73a863..9e38b919 100644 --- a/src/menu-fn/entry.qc +++ b/src/menu-fn/entry.qc @@ -166,6 +166,9 @@ m_init(void) localcmd(strcat("map_background ", mapname, "\n")); } + /* prepare spray logo keys */ + spray_setinfokeys(); + g_initialized = true; } diff --git a/src/menu-fn/m_customize.qc b/src/menu-fn/m_customize.qc index 7f5b4752..b658eef8 100644 --- a/src/menu-fn/m_customize.qc +++ b/src/menu-fn/m_customize.qc @@ -84,18 +84,30 @@ cz_cbModelChanged(void) localcmd(sprintf("team_headmodel %s\n", argv(2))); } +void +spray_setinfokeys(void) +{ + string strSpray = cvar_string("_cl_playerspray"); + string strExt = substring(strSpray, strlen(strSpray) - 3, 3); + int iType = 0i; + + /* bmp are always monochrome */ + if (strExt == "bmp") + iType = 1i; + else + iType = 0i; + + localcmd(sprintf("setinfoblob spray %s\n", strSpray)); + localcmd(sprintf("setinfo spraycolor \"%v\"\n", [1,1,1])); + localcmd(sprintf("setinfo spraytype %i\n", iType)); +} + void cz_cbSprayChanged(void) { string mdl = cz_psSpray.GetPic(); localcmd(sprintf("seta _cl_playerspray %s\n", mdl)); - localcmd(sprintf("setinfoblob spray %s\n", mdl)); - - /* bmp are always monochrome */ - if (substring(mdl, strlen(mdl) - 3, 3) == "bmp") - localcmd("setinfo spraytype 1\n"); - else - localcmd("setinfo spraytype 0\n"); + spray_setinfokeys(); } void