diff --git a/build/config_editor.cfg b/build/config_editor.cfg index 332d7ec93e4f0b11c717f83969fbcb8d9995b2a6..6a2f8500615bacc0a17b25ab9f529ed21ab64b7d 100644 --- a/build/config_editor.cfg +++ b/build/config_editor.cfg @@ -11,3 +11,5 @@ hud_crosshair 0 hud_rangefinder 0 cl_mousesense 4.5 + +dev_show_triggers 1 diff --git a/build/engine/materials/dev/dev_trigger.mtl b/build/engine/materials/dev/dev_trigger.mtl index bd234aa53f5ed8effe3d87013adec42d40222618..2925bf3348166e85d699c786021ae80d70286540 100644 --- a/build/engine/materials/dev/dev_trigger.mtl +++ b/build/engine/materials/dev/dev_trigger.mtl @@ -1,49 +1,4 @@ [dev_trigger] -type = 0 -is_inlit = 0 -physmaterial = 0 -vs = mtrlgeom_base.vs -ps = mtrlgeom_base.ps -alpha_test = 1 -texture = dev_trigger.dds -mask = 0 -mirco_diff_r = 0 -mirco_diff_g = 0 -mirco_diff_b = 0 -mirco_diff_a = 0 -detail_r = 0 -detail_g = 0 -detail_b = 0 -detail_a = 0 -param_ligth = 0 -refraction = 0 -vs_world = 1 -vs_view = 0 -vs_projection = 0 -vs_worldview = 0 -vs_worldviewprojection = 1 -vs_poscam = 0 -vs_count_timedelta = 0 -vs_winsize = 0 -vs_userdata = 0 -vs_userdata_value_x = 0.000000 -vs_userdata_value_y = 0.000000 -vs_userdata_value_z = 0.000000 -vs_userdata_value_w = 0.000000 -vs_userdata_trans_in_ps = 0 -ps_world = 0 -ps_view = 0 -ps_projection = 0 -ps_worldview = 0 -ps_worldviewprojection = 0 -ps_poscam = 0 -ps_count_timedelta = 0 -ps_winsize = 0 -ps_userdata = 0 -ps_userdata_value_x = 0.000000 -ps_userdata_value_y = 0.000000 -ps_userdata_value_z = 0.000000 -ps_userdata_value_w = 0.000000 -ps_userdata_trans_in_vs = 0 -type_reflect = 0 +shader = Transparent +tex.txBase = dev_trigger.dds diff --git a/source/game/BaseTrigger.cpp b/source/game/BaseTrigger.cpp index c70c45e16a1b3a90029728c9d31e00f7f90e8d45..6a4bd04f866b6719ea08b7457b6b60706080abe6 100644 --- a/source/game/BaseTrigger.cpp +++ b/source/game/BaseTrigger.cpp @@ -51,7 +51,7 @@ void CBaseTrigger::onPostLoad() if(m_pModel) { - m_pModel->enable(false); + //m_pModel->enable(false); //m_pAnimPlayer->setOverrideMaterial("dev_trigger.dds"); } } @@ -145,6 +145,14 @@ void CBaseTrigger::onSync() { BaseClass::onSync(); + static const bool *dev_show_triggers = GET_PCVAR_BOOL("dev_show_triggers"); + + if(m_pModel && *dev_show_triggers != m_isModelEnabled) + { + m_isModelEnabled = *dev_show_triggers; + m_pModel->enable(m_isModelEnabled); + } + if(!m_pGhostObject || !m_bEnabled) { return; diff --git a/source/game/BaseTrigger.h b/source/game/BaseTrigger.h index fd281672dac92a84c602108c8c6fbdd7962d6afc..116883366eb5a6642a52d9d945b84e266c567c9a 100644 --- a/source/game/BaseTrigger.h +++ b/source/game/BaseTrigger.h @@ -55,6 +55,8 @@ protected: btPairCachingGhostObject *m_pGhostObject; + bool m_isModelEnabled = true; + void inEnable(inputdata_t * pInputdata); void inDisable(inputdata_t * pInputdata); void inToggle(inputdata_t * pInputdata); diff --git a/source/game/GameData.cpp b/source/game/GameData.cpp index b5375ad2f27e8a401600c804856356b067c338ac..3eab59e0935a1132bb19fa381f305c7085595edc 100644 --- a/source/game/GameData.cpp +++ b/source/game/GameData.cpp @@ -628,6 +628,9 @@ GameData::GameData(HWND hWnd, bool isGame): Core_0RegisterCVarBool("hud_crosshair", true, "Отображать метку прицела"); Core_0RegisterCVarBool("hud_rangefinder", true, "Отображать дальномер"); + + Core_0RegisterCVarBool("dev_show_triggers", false, "Show trigger volumes", FCVAR_CHEAT); + CCrosshairManager::loadConfig("config/game/crosshairs.cfg"); m_pPlayer = (CPlayer*)CREATE_ENTITY("player", m_pMgr);