You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
533 lines
16 KiB
533 lines
16 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#include "client_pch.h" |
|
|
|
#include <vgui/ISystem.h> |
|
#include <vgui/ISurface.h> |
|
#include <vgui/IVGui.h> |
|
#include <KeyValues.h> |
|
|
|
#include <vgui_controls/BuildGroup.h> |
|
#include <vgui_controls/Tooltip.h> |
|
#include <vgui_controls/TextImage.h> |
|
#include <vgui_controls/CheckButton.h> |
|
#include <vgui_controls/Label.h> |
|
#include <vgui_controls/PropertySheet.h> |
|
#include <vgui_controls/ProgressBar.h> |
|
#include <vgui_controls/Slider.h> |
|
#include <vgui_controls/Controls.h> |
|
#include <vgui_controls/TextEntry.h> |
|
#include <vgui/IInput.h> |
|
|
|
#include "cl_foguipanel.h" |
|
|
|
// memdbgon must be the last include file in a .cpp file!!! |
|
#include "tier0/memdbgon.h" |
|
|
|
using namespace vgui; |
|
|
|
//----------------------------------------------------------------------------- |
|
// CFogUIPanel |
|
//----------------------------------------------------------------------------- |
|
|
|
CFogUIPanel *g_pFogUI = NULL; |
|
|
|
void CFogUIPanel::InstallFogUI( vgui::Panel *parent ) |
|
{ |
|
if ( g_pFogUI ) |
|
return; |
|
|
|
g_pFogUI = new CFogUIPanel( parent ); |
|
Assert( g_pFogUI ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Constructor |
|
//----------------------------------------------------------------------------- |
|
CFogUIPanel::CFogUIPanel( vgui::Panel *parent ) : vgui::Frame( parent, "FogUIPanel" ) |
|
{ |
|
SetTitle( "FogUI", true ); |
|
|
|
m_pFogOverride = new vgui::CheckButton( this, "FogOverride", "FogOverride" ); |
|
|
|
// |
|
// World |
|
// |
|
m_pFogEnable = new vgui::CheckButton( this, "FogEnable", "FogEnable" ); |
|
m_pFogEnable->SetSelected( true ); |
|
// FogStart |
|
m_pFogStart = new vgui::Slider( this, "FogStart" ); |
|
m_pFogStart->SetRange( -10000, 30000 ); |
|
m_pFogStart->SetValue( 1 ); |
|
m_pFogStart->AddActionSignalTarget( this ); |
|
m_pFogStart->SetDragOnRepositionNob( true ); |
|
m_pFogStartText = new vgui::TextEntry( this, "FogStartText" ); |
|
m_pFogStartText->SendNewLine( true ); |
|
m_pFogStartText->SetCatchEnterKey( true ); |
|
// FogEnd |
|
m_pFogEnd = new vgui::Slider( this, "FogEnd" ); |
|
m_pFogEnd->SetRange( -10000, 30000 ); |
|
m_pFogEnd->SetValue( 1 ); |
|
m_pFogEnd->AddActionSignalTarget( this ); |
|
m_pFogEnd->SetDragOnRepositionNob( true ); |
|
m_pFogEndText = new vgui::TextEntry( this, "FogEndText" ); |
|
m_pFogEndText->SendNewLine( true ); |
|
m_pFogEndText->SetCatchEnterKey( true ); |
|
// Red |
|
m_pFogColorRed = new vgui::Slider( this, "FogColorRed" ); |
|
m_pFogColorRed->SetRange( 1, 255 ); |
|
m_pFogColorRed->SetValue( 1 ); |
|
m_pFogColorRed->AddActionSignalTarget( this ); |
|
m_pFogColorRed->SetDragOnRepositionNob( true ); |
|
m_pFogColorRedText = new vgui::TextEntry( this, "FogColorRedText" ); |
|
m_pFogColorRedText->SendNewLine( true ); |
|
m_pFogColorRedText->SetCatchEnterKey( true ); |
|
// Green |
|
m_pFogColorGreen = new vgui::Slider( this, "FogColorGreen" ); |
|
m_pFogColorGreen->SetRange( 1, 255 ); |
|
m_pFogColorGreen->SetValue( 1 ); |
|
m_pFogColorGreen->AddActionSignalTarget( this ); |
|
m_pFogColorGreen->SetDragOnRepositionNob( true ); |
|
m_pFogColorGreenText = new vgui::TextEntry( this, "FogColorGreenText" ); |
|
m_pFogColorGreenText->SendNewLine( true ); |
|
m_pFogColorGreenText->SetCatchEnterKey( true ); |
|
// Blue |
|
m_pFogColorBlue = new vgui::Slider( this, "FogColorBlue" ); |
|
m_pFogColorBlue->SetRange( 1, 255 ); |
|
m_pFogColorBlue->SetValue( 1 ); |
|
m_pFogColorBlue->AddActionSignalTarget( this ); |
|
m_pFogColorBlue->SetDragOnRepositionNob( true ); |
|
m_pFogColorBlueText = new vgui::TextEntry( this, "FogColorBlueText" ); |
|
m_pFogColorBlueText->SendNewLine( true ); |
|
m_pFogColorBlueText->SetCatchEnterKey( true ); |
|
|
|
// |
|
// Skybox |
|
// |
|
m_pFogEnableSky = new vgui::CheckButton( this, "FogEnableSky", "FogEnableSky" ); |
|
m_pFogEnableSky->SetSelected( true ); |
|
// Start |
|
m_pFogStartSky = new vgui::Slider( this, "FogStartSky" ); |
|
m_pFogStartSky->SetRange( -10000, 30000 ); |
|
m_pFogStartSky->SetValue( 1 ); |
|
m_pFogStartSky->AddActionSignalTarget( this ); |
|
m_pFogStartSky->SetDragOnRepositionNob( true ); |
|
m_pFogStartTextSky = new vgui::TextEntry( this, "FogStartTextSky" ); |
|
m_pFogStartTextSky->SendNewLine( true ); |
|
m_pFogStartTextSky->SetCatchEnterKey( true ); |
|
// End |
|
m_pFogEndSky = new vgui::Slider( this, "FogEndSky" ); |
|
m_pFogEndSky->SetRange( -10000, 30000 ); |
|
m_pFogEndSky->SetValue( 1 ); |
|
m_pFogEndSky->AddActionSignalTarget( this ); |
|
m_pFogEndSky->SetDragOnRepositionNob( true ); |
|
m_pFogEndTextSky = new vgui::TextEntry( this, "FogEndTextSky" ); |
|
m_pFogEndTextSky->SendNewLine( true ); |
|
m_pFogEndTextSky->SetCatchEnterKey( true ); |
|
// Red |
|
m_pFogColorRedSky = new vgui::Slider( this, "FogColorRedSky" ); |
|
m_pFogColorRedSky->SetRange( 1, 255 ); |
|
m_pFogColorRedSky->SetValue( 1 ); |
|
m_pFogColorRedSky->AddActionSignalTarget( this ); |
|
m_pFogColorRedSky->SetDragOnRepositionNob( true ); |
|
m_pFogColorRedTextSky = new vgui::TextEntry( this, "FogColorRedTextSky" ); |
|
m_pFogColorRedTextSky->SendNewLine( true ); |
|
m_pFogColorRedTextSky->SetCatchEnterKey( true ); |
|
// Green |
|
m_pFogColorGreenSky = new vgui::Slider( this, "FogColorGreenSky" ); |
|
m_pFogColorGreenSky->SetRange( 1, 255 ); |
|
m_pFogColorGreenSky->SetValue( 1 ); |
|
m_pFogColorGreenSky->AddActionSignalTarget( this ); |
|
m_pFogColorGreenSky->SetDragOnRepositionNob( true ); |
|
m_pFogColorGreenTextSky = new vgui::TextEntry( this, "FogColorGreenTextSky" ); |
|
m_pFogColorGreenTextSky->SendNewLine( true ); |
|
m_pFogColorGreenTextSky->SetCatchEnterKey( true ); |
|
// Blue |
|
m_pFogColorBlueSky = new vgui::Slider( this, "FogColorBlueSky" ); |
|
m_pFogColorBlueSky->SetRange( 1, 255 ); |
|
m_pFogColorBlueSky->SetValue( 1 ); |
|
m_pFogColorBlueSky->AddActionSignalTarget( this ); |
|
m_pFogColorBlueSky->SetDragOnRepositionNob( true ); |
|
m_pFogColorBlueTextSky = new vgui::TextEntry( this, "FogColorBlueTextSky" ); |
|
m_pFogColorBlueTextSky->SendNewLine( true ); |
|
m_pFogColorBlueTextSky->SetCatchEnterKey( true ); |
|
|
|
// |
|
// Far Z |
|
// |
|
m_pFarZOverride = new vgui::CheckButton( this, "FarZOverride", "FarZOverride" ); |
|
m_pFarZOverride->SetSelected( false ); |
|
m_pFarZ = new vgui::Slider( this, "FarZ" ); |
|
m_pFarZ->SetRange( 1, 30000 ); |
|
m_pFarZ->SetValue( 30000 ); |
|
m_pFarZ->AddActionSignalTarget( this ); |
|
m_pFarZ->SetDragOnRepositionNob( true ); |
|
m_pFarZText = new vgui::TextEntry( this, "FarZText" ); |
|
m_pFarZText->SendNewLine( true ); |
|
m_pFarZText->SetCatchEnterKey( true ); |
|
m_pFarZText->SetText( va( "%i", m_pFarZ->GetValue() ) ); |
|
|
|
// TODO: |
|
// - fog_maxdensity |
|
// - fog_maxdensityskybox |
|
// - fog_fogvolue |
|
// - r_pixelfog? |
|
|
|
vgui::ivgui()->AddTickSignal( GetVPanel(), 0 ); |
|
|
|
LoadControlSettings("Resource\\FogUIPanel.res"); |
|
|
|
SetVisible( false ); |
|
SetSizeable( false ); |
|
SetMoveable( true ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
CFogUIPanel::~CFogUIPanel() |
|
{ |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::OnTick() |
|
{ |
|
BaseClass::OnTick(); |
|
|
|
if ( !IsVisible() ) |
|
return; |
|
|
|
bool bEnabled = m_pFogOverride->IsSelected(); |
|
|
|
bool bFogEnabled = ( m_pFogEnable->IsSelected() && m_pFogOverride->IsSelected() ); |
|
m_pFogEnable->SetEnabled( bEnabled ); |
|
m_pFogStart->SetEnabled( bFogEnabled ); |
|
m_pFogEnd->SetEnabled( bFogEnabled); |
|
m_pFogStartText->SetEnabled( bFogEnabled ); |
|
m_pFogEndText->SetEnabled( bFogEnabled ); |
|
m_pFogColorRed->SetEnabled( bFogEnabled ); |
|
m_pFogColorRedText->SetEnabled( bFogEnabled ); |
|
m_pFogColorGreen->SetEnabled( bFogEnabled ); |
|
m_pFogColorGreenText->SetEnabled( bFogEnabled ); |
|
m_pFogColorBlue->SetEnabled( bFogEnabled ); |
|
m_pFogColorBlueText->SetEnabled( bFogEnabled ); |
|
|
|
bool bFogSkyEnabled = ( m_pFogEnableSky->IsSelected() && m_pFogOverride->IsSelected() ); |
|
m_pFogEnableSky->SetEnabled( bEnabled ); |
|
m_pFogStartSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogEndSky->SetEnabled( bFogSkyEnabled); |
|
m_pFogStartTextSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogEndTextSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogColorRedSky->SetEnabled( bFogSkyEnabled); |
|
m_pFogColorRedTextSky->SetEnabled( bFogSkyEnabled); |
|
m_pFogColorGreenSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogColorGreenTextSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogColorBlueSky->SetEnabled( bFogSkyEnabled ); |
|
m_pFogColorBlueTextSky->SetEnabled( bFogSkyEnabled ); |
|
|
|
bool bFarZEnabled = ( m_pFarZOverride->IsSelected() && m_pFogOverride->IsSelected() ); |
|
m_pFarZOverride->SetEnabled( bEnabled ); |
|
m_pFarZ->SetEnabled( bFarZEnabled ); |
|
m_pFarZText->SetEnabled( bFarZEnabled ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Commands |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::OnCommand( const char *command ) |
|
{ |
|
if ( !Q_strcasecmp( command, "FogOverride" ) ) |
|
{ |
|
if ( m_pFogOverride->IsSelected() == true ) |
|
{ |
|
Cbuf_AddText( "fog_override 1\n" ); |
|
} |
|
else |
|
{ |
|
Cbuf_AddText( "fog_override 0\n" ); |
|
} |
|
} |
|
else if ( !Q_strcasecmp( command, "FogEnable" ) ) |
|
{ |
|
if ( m_pFogEnable->IsSelected() == true ) |
|
{ |
|
Cbuf_AddText( "fog_enable 1\n" ); |
|
} |
|
else |
|
{ |
|
Cbuf_AddText( "fog_enable 0\n" ); |
|
} |
|
} |
|
else if ( !Q_strcasecmp( command, "FogEnableSky" ) ) |
|
{ |
|
if ( m_pFogEnableSky->IsSelected() == true ) |
|
{ |
|
Cbuf_AddText( "fog_enableskybox 1\n" ); |
|
} |
|
else |
|
{ |
|
Cbuf_AddText( "fog_enableskybox 0\n" ); |
|
} |
|
} |
|
else if ( !Q_strcasecmp( command, "FarZOverride" ) ) |
|
{ |
|
if ( m_pFarZOverride->IsSelected() == true ) |
|
{ |
|
//m_pFarZText->SetText( va( "%i", m_pFarZ->GetValue() ) ); |
|
Cbuf_AddText( va( "r_farz %i\n", m_pFarZ->GetValue() ) ); |
|
} |
|
else |
|
{ |
|
Cbuf_AddText( "r_farz -1\n" ); |
|
} |
|
} |
|
else |
|
{ |
|
BaseClass::OnCommand( command ); |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Text |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::OnTextNewLine( KeyValues *data ) |
|
{ |
|
Panel *pPanel = reinterpret_cast<vgui::Panel *>( data->GetPtr("panel") ); |
|
if ( !pPanel ) |
|
{ |
|
return; |
|
} |
|
|
|
vgui::TextEntry *pTextEntry = dynamic_cast<vgui::TextEntry *>( pPanel ); |
|
if ( !pTextEntry ) |
|
{ |
|
return; |
|
} |
|
|
|
// World |
|
if ( pTextEntry == m_pFogStartText || pTextEntry == m_pFogStartTextSky ) |
|
{ |
|
UpdateFogStartSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogEndText || pTextEntry == m_pFogEndTextSky ) |
|
{ |
|
UpdateFogEndSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorRedText || pTextEntry == m_pFogColorRedTextSky ) |
|
{ |
|
UpdateFogColorRedSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorGreenText || pTextEntry == m_pFogColorGreenTextSky ) |
|
{ |
|
UpdateFogColorGreenSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorBlueText || pTextEntry == m_pFogColorBlueTextSky ) |
|
{ |
|
UpdateFogColorBlueSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFarZText ) |
|
{ |
|
UpdateFarZSlider(); |
|
return; |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Text |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::OnTextKillFocus( KeyValues *data ) |
|
{ |
|
Panel *pPanel = reinterpret_cast<vgui::Panel *>( data->GetPtr("panel") ); |
|
if ( !pPanel ) |
|
{ |
|
return; |
|
} |
|
|
|
vgui::TextEntry *pTextEntry = dynamic_cast<vgui::TextEntry *>( pPanel ); |
|
if ( !pTextEntry ) |
|
{ |
|
return; |
|
} |
|
|
|
// World |
|
if ( pTextEntry == m_pFogStartText || pTextEntry == m_pFogStartTextSky ) |
|
{ |
|
UpdateFogStartSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogEndText || pTextEntry == m_pFogEndTextSky ) |
|
{ |
|
UpdateFogEndSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorRedText || pTextEntry == m_pFogColorRedTextSky ) |
|
{ |
|
UpdateFogColorRedSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorGreenText || pTextEntry == m_pFogColorGreenTextSky ) |
|
{ |
|
UpdateFogColorGreenSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFogColorBlueText || pTextEntry == m_pFogColorBlueTextSky ) |
|
{ |
|
UpdateFogColorBlueSlider(); |
|
return; |
|
} |
|
if ( pTextEntry == m_pFarZText ) |
|
{ |
|
UpdateFarZSlider(); |
|
return; |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Messages |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::OnMessage( const KeyValues *params, VPANEL fromPanel ) |
|
{ |
|
BaseClass::OnMessage( params, fromPanel ); |
|
|
|
if ( !Q_strcmp( "SliderMoved", params->GetName() ) ) |
|
{ |
|
// World |
|
if ( fromPanel == m_pFogStart->GetVPanel() ) |
|
{ |
|
Cbuf_AddText( va( "fog_start %i\n", m_pFogStart->GetValue() ) ); |
|
m_pFogStartText->SetText( va( "%i", m_pFogStart->GetValue() ) ); |
|
} |
|
if ( fromPanel == m_pFogEnd->GetVPanel() ) |
|
{ |
|
Cbuf_AddText( va( "fog_end %i\n", m_pFogEnd->GetValue() ) ); |
|
m_pFogEndText->SetText( va( "%i", m_pFogEnd->GetValue() ) ); |
|
} |
|
if ( fromPanel == m_pFogColorRed->GetVPanel() ) |
|
{ |
|
m_pFogColorRedText->SetText( va( "%i", m_pFogColorRed->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
if ( fromPanel == m_pFogColorGreen->GetVPanel() ) |
|
{ |
|
m_pFogColorGreenText->SetText( va( "%i", m_pFogColorGreen->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
if ( fromPanel == m_pFogColorBlue->GetVPanel() ) |
|
{ |
|
m_pFogColorBlueText->SetText( va( "%i", m_pFogColorBlue->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
// Skybox |
|
if ( fromPanel == m_pFogStartSky->GetVPanel() ) |
|
{ |
|
Cbuf_AddText( va( "fog_startskybox %i\n", m_pFogStartSky->GetValue() ) ); |
|
m_pFogStartTextSky->SetText( va( "%i", m_pFogStartSky->GetValue() ) ); |
|
} |
|
if ( fromPanel == m_pFogEndSky->GetVPanel() ) |
|
{ |
|
Cbuf_AddText( va( "fog_endskybox %i\n", m_pFogEndSky->GetValue() ) ); |
|
m_pFogEndTextSky->SetText( va( "%i", m_pFogEndSky->GetValue() ) ); |
|
} |
|
if ( fromPanel == m_pFogColorRedSky->GetVPanel() ) |
|
{ |
|
m_pFogColorRedTextSky->SetText( va( "%i", m_pFogColorRedSky->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
if ( fromPanel == m_pFogColorGreenSky->GetVPanel() ) |
|
{ |
|
m_pFogColorGreenTextSky->SetText( va( "%i", m_pFogColorGreenSky->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
if ( fromPanel == m_pFogColorBlueSky->GetVPanel() ) |
|
{ |
|
m_pFogColorBlueTextSky->SetText( va( "%i", m_pFogColorBlueSky->GetValue() ) ); |
|
UpdateFogColors(); |
|
} |
|
// FarZ |
|
if ( fromPanel == m_pFarZ->GetVPanel() ) |
|
{ |
|
Cbuf_AddText( va( "r_farz %i\n", m_pFarZ->GetValue() ) ); |
|
m_pFarZText->SetText( va( "%i", m_pFarZ->GetValue() ) ); |
|
} |
|
} |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Update Sliders |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::UpdateFogStartSlider() |
|
{ |
|
m_pFogStart->SetValue( m_pFogStartText->GetValueAsInt() ); |
|
m_pFogStartSky->SetValue( m_pFogStartTextSky->GetValueAsInt() ); |
|
} |
|
void CFogUIPanel::UpdateFogEndSlider() |
|
{ |
|
m_pFogEnd->SetValue( m_pFogEndText->GetValueAsInt() ); |
|
m_pFogEndSky->SetValue( m_pFogEndTextSky->GetValueAsInt() ); |
|
} |
|
void CFogUIPanel::UpdateFogColorRedSlider() |
|
{ |
|
m_pFogColorRed->SetValue( m_pFogColorRedText->GetValueAsInt() ); |
|
m_pFogColorRedSky->SetValue( m_pFogColorRedTextSky->GetValueAsInt() ); |
|
} |
|
void CFogUIPanel::UpdateFogColorGreenSlider() |
|
{ |
|
m_pFogColorGreen->SetValue( m_pFogColorGreenText->GetValueAsInt() ); |
|
m_pFogColorGreenSky->SetValue( m_pFogColorGreenTextSky->GetValueAsInt() ); |
|
} |
|
void CFogUIPanel::UpdateFogColorBlueSlider() |
|
{ |
|
m_pFogColorBlue->SetValue( m_pFogColorBlueText->GetValueAsInt() ); |
|
m_pFogColorBlueSky->SetValue( m_pFogColorBlueTextSky->GetValueAsInt() ); |
|
} |
|
void CFogUIPanel::UpdateFarZSlider() |
|
{ |
|
m_pFarZ->SetValue( m_pFarZText->GetValueAsInt() ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: Update Colors |
|
//----------------------------------------------------------------------------- |
|
void CFogUIPanel::UpdateFogColors() |
|
{ |
|
int iRed = m_pFogColorRed->GetValue(); |
|
int iGreen = m_pFogColorGreen->GetValue(); |
|
int iBlue = m_pFogColorBlue->GetValue(); |
|
Cbuf_AddText( va( "fog_color %i %i %i\n", iRed, iGreen, iBlue ) ); |
|
int iRedSky = m_pFogColorRedSky->GetValue(); |
|
int iGreenSky = m_pFogColorGreenSky->GetValue(); |
|
int iBlueSky = m_pFogColorBlueSky->GetValue(); |
|
Cbuf_AddText( va( "fog_colorskybox %i %i %i\n", iRedSky, iGreenSky, iBlueSky ) ); |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: |
|
//----------------------------------------------------------------------------- |
|
void FogUI_f() |
|
{ |
|
if ( !g_pFogUI ) |
|
return; |
|
|
|
if ( g_pFogUI->IsVisible() ) |
|
{ |
|
g_pFogUI->Close(); |
|
} |
|
else |
|
{ |
|
g_pFogUI->Activate(); |
|
} |
|
} |
|
|
|
static ConCommand fogui( "fogui", FogUI_f, "Show/hide fog control UI.", FCVAR_DONTRECORD ); |