diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /gameui/OptionsSubHaptics.cpp | |
| download | archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.tar.xz archived-source-engine-2018-hl2-src-3bf9df6b2785fa6d951086978a3e66f49427166a.zip | |
Diffstat (limited to 'gameui/OptionsSubHaptics.cpp')
| -rw-r--r-- | gameui/OptionsSubHaptics.cpp | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/gameui/OptionsSubHaptics.cpp b/gameui/OptionsSubHaptics.cpp new file mode 100644 index 0000000..a567dbd --- /dev/null +++ b/gameui/OptionsSubHaptics.cpp @@ -0,0 +1,196 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +#include "OptionsSubHaptics.h" +//#include "CommandCheckButton.h" +#include "KeyToggleCheckButton.h" +#include "CvarNegateCheckButton.h" +#include "CvarToggleCheckButton.h" +#include "cvarslider.h" + +#include "EngineInterface.h" + +#include <KeyValues.h> +#include <vgui/IScheme.h> +#include "tier1/convar.h" +#include <stdio.h> +#include <vgui_controls/TextEntry.h> +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +using namespace vgui; + +bool HasFalcon() { + ConVarRef hap_hasDevice("hap_hasDevice"); + return (hap_hasDevice.IsValid() && hap_hasDevice.GetBool()); +} + +void COptionsSubHaptics::OnCommand(const char *command) +{ + if ( !stricmp( command, "DoDefaults" ) ) + { + engine->ClientCmd_Unrestricted("exec haptics_default.cfg"); + OnResetData(); + } + +} +COptionsSubHaptics::COptionsSubHaptics(vgui::Panel *parent) : PropertyPage(parent, NULL) +{ + + m_pForceMasterPreLabel = new Label(this, "ForceMasterPreLabel", "#GameUI_Haptics_ForceMasterScale" ); + m_pForceMasterSlider = new CCvarSlider( this, "ForceMasterSlider", "#GameUI_Haptics_ForceMasterScale", + 0.000001f, 3.0f, "hap_ForceMasterScale", true ); + + m_pForceRecoilPreLabel = new Label(this, "ForceRecoilPreLabel", "#GameUI_Haptics_RecoilScale" ); + m_pForceRecoilSlider = new CCvarSlider( this, "ForceRecoilSlider", "#GameUI_Haptics_RecoilScale", + 0.000001f, 3.0f, "hap_ForceRecoilScale", true ); + + m_pForceDamagePreLabel = new Label(this, "ForceDamagePreLabel", "#GameUI_Haptics_DamageScale" ); + m_pForceDamageSlider = new CCvarSlider( this, "ForceDamageSlider", "#GameUI_Haptics_DamageScale", + 0.000001f, 5.0f, "hap_ForceDamageScale" , true ); + + m_pForceMovementPreLabel = new Label(this, "ForceMovementPreLabel", "#GameUI_Haptics_MovementScale" ); + m_pForceMovementSlider = new CCvarSlider( this, "ForceMovementSlider", "#GameUI_Haptics_MovementScale", + 0.000001f, 3.0f, "hap_ForceMovementScale", true ); + + //Player scaling + m_pPlayerBoxPreLabel = new Label(this, "PlayerBoxPreLabel", "#GameUI_Haptics_PlayerBoxLabel" ); + m_pPlayerBoxScalePreLabel = new Label(this, "PlayerScalePreLabel", "#GameUI_Haptics_Scale" ); + m_pPlayerBoxScale = new CCvarSlider( this, "PlayerBoxScaleSlider", "#GameUI_Haptics_PlayerBoxScale", + 0.1f, 0.9f, "hap_PlayerBoxScale", true ); + m_pPlayerBoxVisual = new ControlBoxVisual(this, "PlayerBoxVisual", m_pPlayerBoxScale, m_pPlayerBoxScale, m_pPlayerBoxScale, m_pPlayerBoxScale, m_pPlayerBoxScale, m_pPlayerBoxScale); + m_pPlayerBoxStiffnessPreLabel = new Label(this, "PlayerStiffnessPreLabel", "#GameUI_Haptics_PlayerBoxStiffness" ); + m_pPlayerBoxStiffnessSlider = new CCvarSlider( this, "PlayerStiffnessSlider", "#GameUI_Haptics_PlayerBoxScale", + 0.0f, 3.0f, "hap_PlayerBoxStiffness", true ); + m_pPlayerBoxTurnPreLabel = new Label(this, "PlayerTurnPreLabel", "#GameUI_Haptics_Turning" ); + m_pPlayerBoxTurnSlider = new CCvarSlider( this, "PlayerTurnSlider", "#GameUI_Haptics_Turning", + 0.0f, 2.0f, "hap_PlayerTurnScale", true ); + m_pPlayerBoxAimPreLabel = new Label(this, "PlayerAimPreLabel", "#GameUI_Haptics_Aiming" ); + m_pPlayerBoxAimSlider = new CCvarSlider( this, "PlayerAimSlider", "#GameUI_Haptics_Aiming", + 0.0f, 2.0f, "hap_PlayerAimScale", true ); + + + //Vehicle Scaling + m_pVehicleBoxPreLabel = new Label(this, "VehicleBoxPreLabel", "#GameUI_Haptics_VehicleBoxLabel" ); + m_pVehicleBoxScalePreLabel = new Label(this, "VehicleScalePreLabel", "#GameUI_Haptics_Scale" ); + m_pVehicleBoxScale = new CCvarSlider( this, "VehicleBoxScaleSlider", "#GameUI_Haptics_VehicleBoxScale", + 0.1f, 0.6f, "hap_VehicleBoxScale", true ); + m_pVehicleBoxVisual = new ControlBoxVisual(this, "VehicleBoxVisual", m_pVehicleBoxScale, m_pVehicleBoxScale, m_pVehicleBoxScale, m_pVehicleBoxScale, m_pVehicleBoxScale, m_pVehicleBoxScale); + m_pVehicleBoxStiffnessPreLabel = new Label(this, "VehicleStiffnessPreLabel", "#GameUI_Haptics_VehicleBoxStiffness" ); + m_pVehicleBoxStiffnessSlider = new CCvarSlider( this, "VehicleStiffnessSlider", "#GameUI_Haptics_VehicleBoxScale", + 0.0f, 3.0f, "hap_VehicleBoxStiffness", true ); + m_pVehicleBoxTurnPreLabel = new Label(this, "VehicleTurnPreLabel", "#GameUI_Haptics_Turning" ); + m_pVehicleBoxTurnSlider = new CCvarSlider( this, "VehicleTurnSlider", "#GameUI_Haptics_Turning", + 0.0f, 2.0f, "hap_VehicleTurnScale", true ); + m_pVehicleBoxAimPreLabel = new Label(this, "VehicleAimPreLabel", "#GameUI_Haptics_Aiming" ); + m_pVehicleBoxAimSlider = new CCvarSlider( this, "VehicleAimSlider", "#GameUI_Haptics_Aiming", + 0.0f, 2.0f, "hap_VehicleAimScale", true ); + + + vgui::Button *defaults = new vgui::Button( this, "Defaults", "Use Defaults" ); + defaults->SetCommand("DoDefaults"); + + LoadControlSettings("Resource\\OptionsSubHaptics.res"); + UpdateVehicleEnabled(); + +} + + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +COptionsSubHaptics::~COptionsSubHaptics() +{ +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void COptionsSubHaptics::OnResetData() +{ + m_pForceMasterSlider->Reset(); + m_pForceDamageSlider->Reset(); + m_pForceRecoilSlider->Reset(); + m_pForceMovementSlider->Reset(); + + m_pPlayerBoxScale->Reset(); + m_pPlayerBoxStiffnessSlider->Reset(); + m_pPlayerBoxTurnSlider->Reset(); + m_pPlayerBoxAimSlider->Reset(); + + m_pVehicleBoxScale->Reset(); + m_pVehicleBoxStiffnessSlider->Reset(); + m_pVehicleBoxTurnSlider->Reset(); + m_pVehicleBoxAimSlider->Reset(); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void COptionsSubHaptics::OnApplyChanges() +{ + m_pForceMasterSlider->ApplyChanges(); + m_pForceDamageSlider->ApplyChanges(); + m_pForceRecoilSlider->ApplyChanges(); + m_pForceMovementSlider->ApplyChanges(); + + m_pPlayerBoxScale->ApplyChanges(); + m_pPlayerBoxStiffnessSlider->ApplyChanges(); + m_pPlayerBoxTurnSlider->ApplyChanges(); + m_pPlayerBoxAimSlider->ApplyChanges(); + + m_pVehicleBoxScale->ApplyChanges(); + m_pVehicleBoxStiffnessSlider->ApplyChanges(); + m_pVehicleBoxTurnSlider->ApplyChanges(); + m_pVehicleBoxAimSlider->ApplyChanges(); + + + //Write out our config file + engine->ClientCmd_Unrestricted("writehapticconfig"); + engine->ClientCmd_Unrestricted("reloadhaptics"); +} + +//----------------------------------------------------------------------------- +// Purpose: sets background color & border +//----------------------------------------------------------------------------- +void COptionsSubHaptics::ApplySchemeSettings(IScheme *pScheme) +{ + BaseClass::ApplySchemeSettings(pScheme); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void COptionsSubHaptics::OnControlModified(Panel *panel) +{ + PostActionSignal(new KeyValues("ApplyButtonEnable")); +} + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void COptionsSubHaptics::OnTextChanged(Panel *panel) +{ +} + +void COptionsSubHaptics::UpdateVehicleEnabled() +{ + ConVarRef checkVehicle("hap_ui_vehicles"); + checkVehicle.Init("hap_ui_vehicles",true); + bool bEnabled = checkVehicle.GetBool(); + + m_pVehicleBoxPreLabel->SetEnabled( bEnabled ); + m_pVehicleBoxScalePreLabel->SetEnabled( bEnabled ); + m_pVehicleBoxScale->SetEnabled( bEnabled ); + m_pVehicleBoxStiffnessPreLabel->SetEnabled( bEnabled ); + m_pVehicleBoxStiffnessSlider->SetEnabled( bEnabled ); + m_pVehicleBoxTurnPreLabel->SetEnabled( bEnabled ); + m_pVehicleBoxTurnSlider->SetEnabled( bEnabled ); + m_pVehicleBoxAimPreLabel ->SetEnabled( bEnabled ); + m_pVehicleBoxAimSlider ->SetEnabled( bEnabled ); +} |