added OptionsSubModification

This commit is contained in:
IOleg-sus 2025-01-13 14:43:53 +02:00
parent 29985681a1
commit 13dc30a464
18 changed files with 432 additions and 254 deletions

View File

@ -12,8 +12,8 @@
#include "hl1_clientscoreboard.h" #include "hl1_clientscoreboard.h"
// default FOV for HL1 // default FOV for HL1
ConVar default_fov( "default_fov", "90", FCVAR_CHEAT ); ConVar default_fov( "default_fov", "110", FCVAR_CHEAT );
ConVar fov_desired( "fov_desired", "90", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 110.0 ); ConVar fov_desired( "fov_desired", "90", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 130.0 );
// The current client mode. Always ClientModeNormal in HL. // The current client mode. Always ClientModeNormal in HL.
IClientMode *g_pClientMode = NULL; IClientMode *g_pClientMode = NULL;
@ -32,13 +32,9 @@ public:
virtual void LevelShutdown( void ); virtual void LevelShutdown( void );
}; };
CHLModeManager::CHLModeManager( void ) CHLModeManager::CHLModeManager( void ) = default;
{
}
CHLModeManager::~CHLModeManager( void ) CHLModeManager::~CHLModeManager( void ) = default;
{
}
void CHLModeManager::Init( void ) void CHLModeManager::Init( void )
{ {

View File

@ -19,7 +19,7 @@
extern bool g_bRollingCredits; extern bool g_bRollingCredits;
ConVar fov_desired( "fov_desired", "75", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 110.0 ); ConVar fov_desired( "fov_desired", "75", FCVAR_ARCHIVE | FCVAR_USERINFO, "Sets the base field-of-view.", true, 75.0, true, 150.0 );
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Globals // Globals
@ -70,9 +70,7 @@ ClientModeHLNormal::ClientModeHLNormal()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
ClientModeHLNormal::~ClientModeHLNormal() ClientModeHLNormal::~ClientModeHLNormal() = default;
{
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -18,10 +18,10 @@
// Armor given by a battery // Armor given by a battery
#define MAX_NORMAL_BATTERY 100 #define MAX_NORMAL_BATTERY 200
// Ammo counts given by ammo items // Ammo counts given by ammo items
#define SIZE_AMMO_PISTOL 20 #define SIZE_AMMO_PISTOL 18
#define SIZE_AMMO_PISTOL_LARGE 100 #define SIZE_AMMO_PISTOL_LARGE 100
#define SIZE_AMMO_SMG1 45 #define SIZE_AMMO_SMG1 45
#define SIZE_AMMO_SMG1_LARGE 225 #define SIZE_AMMO_SMG1_LARGE 225
@ -31,7 +31,7 @@
#define SIZE_AMMO_SMG1_GRENADE 1 #define SIZE_AMMO_SMG1_GRENADE 1
#define SIZE_AMMO_BUCKSHOT 20 #define SIZE_AMMO_BUCKSHOT 20
#define SIZE_AMMO_357 6 #define SIZE_AMMO_357 6
#define SIZE_AMMO_357_LARGE 20 #define SIZE_AMMO_357_LARGE 80
#define SIZE_AMMO_CROSSBOW 6 #define SIZE_AMMO_CROSSBOW 6
#define SIZE_AMMO_AR2_ALTFIRE 1 #define SIZE_AMMO_AR2_ALTFIRE 1

View File

@ -14,73 +14,73 @@
#include "tier0/memdbgon.h" #include "tier0/memdbgon.h"
#define LIGHTGLOW_MAXDIST_BITS 16 #define LIGHTGLOW_MAXDIST_BITS 16
#define LIGHTGLOW_MAXDIST_MAX_VALUE ((1 << LIGHTGLOW_MAXDIST_BITS)-1) #define LIGHTGLOW_MAXDIST_MAX_VALUE ((1 << LIGHTGLOW_MAXDIST_BITS) - 1)
#define LIGHTGLOW_OUTERMAXDIST_BITS 16 #define LIGHTGLOW_OUTERMAXDIST_BITS 16
#define LIGHTGLOW_OUTERMAXDIST_MAX_VALUE ((1 << LIGHTGLOW_OUTERMAXDIST_BITS)-1) #define LIGHTGLOW_OUTERMAXDIST_MAX_VALUE ((1 << LIGHTGLOW_OUTERMAXDIST_BITS) - 1)
class CLightGlow : public CBaseEntity class CLightGlow : public CBaseEntity
{ {
public: public:
DECLARE_CLASS( CLightGlow, CBaseEntity ); DECLARE_CLASS(CLightGlow, CBaseEntity);
DECLARE_SERVERCLASS(); DECLARE_SERVERCLASS();
DECLARE_DATADESC(); DECLARE_DATADESC();
CLightGlow(); CLightGlow();
virtual void Spawn( void ); virtual void Spawn(void);
virtual void Activate( void ); virtual void Activate(void);
virtual int UpdateTransmitState( void ); virtual int UpdateTransmitState(void);
void InputColor(inputdata_t &data); void InputColor(inputdata_t &data);
public: public:
CNetworkVar( int, m_nHorizontalSize ); CNetworkVar(int, m_nHorizontalSize);
CNetworkVar( int, m_nVerticalSize ); CNetworkVar(int, m_nVerticalSize);
CNetworkVar( int, m_nMinDist ); CNetworkVar(int, m_nMinDist);
CNetworkVar( int, m_nMaxDist ); CNetworkVar(int, m_nMaxDist);
CNetworkVar( int, m_nOuterMaxDist ); CNetworkVar(int, m_nOuterMaxDist);
CNetworkVar( float, m_flGlowProxySize ); CNetworkVar(float, m_flGlowProxySize);
CNetworkVar( float, m_flHDRColorScale ); CNetworkVar(float, m_flHDRColorScale);
}; };
extern void SendProxy_Angles( const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID ); extern void SendProxy_Angles(const SendProp *pProp, const void *pStruct, const void *pData, DVariant *pOut, int iElement, int objectID);
IMPLEMENT_SERVERCLASS_ST_NOBASE( CLightGlow, DT_LightGlow ) IMPLEMENT_SERVERCLASS_ST_NOBASE(CLightGlow, DT_LightGlow)
SendPropInt( SENDINFO(m_clrRender), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt ), SendPropInt(SENDINFO(m_clrRender), 32, SPROP_UNSIGNED, SendProxy_Color32ToInt),
SendPropInt( SENDINFO(m_nHorizontalSize), 16, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_nHorizontalSize), 16, SPROP_UNSIGNED),
SendPropInt( SENDINFO(m_nVerticalSize), 16, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_nVerticalSize), 16, SPROP_UNSIGNED),
SendPropInt( SENDINFO(m_nMinDist), 16, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_nMinDist), 16, SPROP_UNSIGNED),
SendPropInt( SENDINFO(m_nMaxDist), LIGHTGLOW_MAXDIST_BITS, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_nMaxDist), LIGHTGLOW_MAXDIST_BITS, SPROP_UNSIGNED),
SendPropInt( SENDINFO(m_nOuterMaxDist), LIGHTGLOW_OUTERMAXDIST_BITS, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_nOuterMaxDist), LIGHTGLOW_OUTERMAXDIST_BITS, SPROP_UNSIGNED),
SendPropInt( SENDINFO(m_spawnflags), 8, SPROP_UNSIGNED ), SendPropInt(SENDINFO(m_spawnflags), 8, SPROP_UNSIGNED),
SendPropVector(SENDINFO(m_vecOrigin), -1, SPROP_COORD ), SendPropVector(SENDINFO(m_vecOrigin), -1, SPROP_COORD),
SendPropQAngles (SENDINFO(m_angRotation), 13, 0, SendProxy_Angles ), SendPropQAngles(SENDINFO(m_angRotation), 13, 0, SendProxy_Angles),
SendPropEHandle (SENDINFO_NAME(m_hMoveParent, moveparent)), SendPropEHandle(SENDINFO_NAME(m_hMoveParent, moveparent)),
SendPropFloat( SENDINFO(m_flGlowProxySize ), 6, SPROP_ROUNDUP, 0.0f, 64.0f ), SendPropFloat(SENDINFO(m_flGlowProxySize), 6, SPROP_ROUNDUP, 0.0f, 64.0f),
SendPropFloat( SENDINFO_NAME( m_flHDRColorScale, HDRColorScale ), 0, SPROP_NOSCALE, 0.0f, 100.0f ), SendPropFloat(SENDINFO_NAME(m_flHDRColorScale, HDRColorScale), 0, SPROP_NOSCALE, 0.0f, 100.0f),
END_SEND_TABLE() END_SEND_TABLE()
LINK_ENTITY_TO_CLASS( env_lightglow, CLightGlow ); LINK_ENTITY_TO_CLASS(env_lightglow, CLightGlow);
BEGIN_DATADESC( CLightGlow ) BEGIN_DATADESC(CLightGlow)
DEFINE_KEYFIELD( m_nVerticalSize, FIELD_INTEGER, "VerticalGlowSize" ), DEFINE_KEYFIELD(m_nVerticalSize, FIELD_INTEGER, "VerticalGlowSize"),
DEFINE_KEYFIELD( m_nHorizontalSize, FIELD_INTEGER, "HorizontalGlowSize" ), DEFINE_KEYFIELD(m_nHorizontalSize, FIELD_INTEGER, "HorizontalGlowSize"),
DEFINE_KEYFIELD( m_nMinDist, FIELD_INTEGER, "MinDist" ), DEFINE_KEYFIELD(m_nMinDist, FIELD_INTEGER, "MinDist"),
DEFINE_KEYFIELD( m_nMaxDist, FIELD_INTEGER, "MaxDist" ), DEFINE_KEYFIELD(m_nMaxDist, FIELD_INTEGER, "MaxDist"),
DEFINE_KEYFIELD( m_nOuterMaxDist, FIELD_INTEGER, "OuterMaxDist" ), DEFINE_KEYFIELD(m_nOuterMaxDist, FIELD_INTEGER, "OuterMaxDist"),
DEFINE_KEYFIELD( m_flGlowProxySize, FIELD_FLOAT, "GlowProxySize" ), DEFINE_KEYFIELD(m_flGlowProxySize, FIELD_FLOAT, "GlowProxySize"),
DEFINE_KEYFIELD( m_flHDRColorScale, FIELD_FLOAT, "HDRColorScale" ), DEFINE_KEYFIELD(m_flHDRColorScale, FIELD_FLOAT, "HDRColorScale"),
DEFINE_INPUTFUNC( FIELD_COLOR32, "Color", InputColor ), DEFINE_INPUTFUNC(FIELD_COLOR32, "Color", InputColor),
END_DATADESC() END_DATADESC()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Constructor // Constructor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
CLightGlow::CLightGlow( void ) CLightGlow::CLightGlow(void)
{ {
m_nHorizontalSize = 0.0f; m_nHorizontalSize = 0.0f;
m_nVerticalSize = 0.0f; m_nVerticalSize = 0.0f;
@ -93,21 +93,21 @@ CLightGlow::CLightGlow( void )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CLightGlow::Spawn( void ) void CLightGlow::Spawn(void)
{ {
BaseClass::Spawn(); BaseClass::Spawn();
// No model but we still need to force this! // No model but we still need to force this!
AddEFlags( EFL_FORCE_CHECK_TRANSMIT ); AddEFlags(EFL_FORCE_CHECK_TRANSMIT);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Always transmit light glows to clients to avoid spikes as we enter // Purpose: Always transmit light glows to clients to avoid spikes as we enter
// or leave PVS. Done because we often have many glows in an area. // or leave PVS. Done because we often have many glows in an area.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
int CLightGlow::UpdateTransmitState( void ) int CLightGlow::UpdateTransmitState(void)
{ {
return SetTransmitState( FL_EDICT_ALWAYS ); return SetTransmitState(FL_EDICT_ALWAYS);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -117,15 +117,15 @@ void CLightGlow::Activate()
{ {
BaseClass::Activate(); BaseClass::Activate();
if ( m_nMaxDist > LIGHTGLOW_MAXDIST_MAX_VALUE ) if (m_nMaxDist > LIGHTGLOW_MAXDIST_MAX_VALUE)
{ {
Warning( "env_lightglow maxdist too large (%d should be %d).\n", m_nMaxDist.Get(), LIGHTGLOW_MAXDIST_MAX_VALUE ); Warning("env_lightglow maxdist too large (%d should be %d).\n", m_nMaxDist.Get(), LIGHTGLOW_MAXDIST_MAX_VALUE);
m_nMaxDist = LIGHTGLOW_MAXDIST_MAX_VALUE; m_nMaxDist = LIGHTGLOW_MAXDIST_MAX_VALUE;
} }
if ( m_nOuterMaxDist > LIGHTGLOW_OUTERMAXDIST_MAX_VALUE ) if (m_nOuterMaxDist > LIGHTGLOW_OUTERMAXDIST_MAX_VALUE)
{ {
Warning( "env_lightglow outermaxdist too large (%d should be %d).\n", m_nOuterMaxDist.Get(), LIGHTGLOW_OUTERMAXDIST_MAX_VALUE ); Warning("env_lightglow outermaxdist too large (%d should be %d).\n", m_nOuterMaxDist.Get(), LIGHTGLOW_OUTERMAXDIST_MAX_VALUE);
m_nOuterMaxDist = LIGHTGLOW_OUTERMAXDIST_MAX_VALUE; m_nOuterMaxDist = LIGHTGLOW_OUTERMAXDIST_MAX_VALUE;
} }
} }

View File

@ -232,7 +232,7 @@ enum CastVote
#define MAX_PLACE_NAME_LENGTH 18 #define MAX_PLACE_NAME_LENGTH 18
#define MAX_FOV 110 #define MAX_FOV 150
//=================================================================================================================== //===================================================================================================================
// Team Defines // Team Defines

View File

@ -29,6 +29,7 @@
#include "OptionsSubMultiplayer.h" #include "OptionsSubMultiplayer.h"
#include "OptionsSubDifficulty.h" #include "OptionsSubDifficulty.h"
#include "OptionsSubPortal.h" #include "OptionsSubPortal.h"
#include "OptionsSubModification.h"
#ifdef WIN32 #ifdef WIN32
// NVNT haptic configuration dialog // NVNT haptic configuration dialog
#include "OptionsSubHaptics.h" #include "OptionsSubHaptics.h"
@ -94,7 +95,10 @@ COptionsDialog::COptionsDialog(vgui::Panel *parent) : PropertyDialog(parent, "Op
m_pOptionsSubAudio = new COptionsSubAudio(this); m_pOptionsSubAudio = new COptionsSubAudio(this);
AddPage(m_pOptionsSubAudio, "#GameUI_Audio"); AddPage(m_pOptionsSubAudio, "#GameUI_Audio");
m_pOptionsSubVideo = new COptionsSubVideo(this); m_pOptionsSubVideo = new COptionsSubVideo(this);
AddPage(m_pOptionsSubVideo, "#GameUI_Video"); AddPage(m_pOptionsSubVideo, "#GameUI_Video");
AddPage(new COptionsSubModification(this), "ModInfo");
AddPage(new COptionsSubPortal(this), "#GameUI_Portal");
if ( !ModInfo().IsSinglePlayerOnly() ) if ( !ModInfo().IsSinglePlayerOnly() )
{ {
@ -119,9 +123,7 @@ COptionsDialog::COptionsDialog(vgui::Panel *parent) : PropertyDialog(parent, "Op
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Destructor // Purpose: Destructor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
COptionsDialog::~COptionsDialog() COptionsDialog::~COptionsDialog() = default;
{
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Brings the dialog to the fore // Purpose: Brings the dialog to the fore

View File

@ -7,6 +7,7 @@
#ifndef OPTIONSDIALOG_H #ifndef OPTIONSDIALOG_H
#define OPTIONSDIALOG_H #define OPTIONSDIALOG_H
#include "OptionsSubModification.h"
#ifdef _WIN32 #ifdef _WIN32
#pragma once #pragma once
#endif #endif
@ -37,6 +38,7 @@ public:
private: private:
class COptionsSubAudio *m_pOptionsSubAudio; class COptionsSubAudio *m_pOptionsSubAudio;
class COptionsSubVideo *m_pOptionsSubVideo; class COptionsSubVideo *m_pOptionsSubVideo;
class COptionsSubModification *m_pOptionsSubModification;
vgui::PropertyPage *m_pOptionsSubMultiplayer; vgui::PropertyPage *m_pOptionsSubMultiplayer;
}; };

View File

@ -22,9 +22,7 @@ COptionsSubGame::COptionsSubGame( vgui::Panel *parent, const char *name ) : Base
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Destructor // Purpose: Destructor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
COptionsSubGame::~COptionsSubGame() COptionsSubGame::~COptionsSubGame() = default;
{
}
void COptionsSubGame::OnClose( void ) void COptionsSubGame::OnClose( void )
{ {

View File

@ -0,0 +1,110 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
//
// Purpose:
//
// $NoKeywords: $
//
//=============================================================================//
#include "OptionsSubModification.h"
#include "CvarSlider.h"
#include "EngineInterface.h"
#include <KeyValues.h>
#include <vgui/IScheme.h>
#include "tier1/convar.h"
#include <vgui_controls/TextEntry.h>
// memdbgon must be the last include file in a .cpp file!!!
#include <tier0/memdbgon.h>
using namespace vgui;
COptionsSubModification::COptionsSubModification(vgui::Panel *parent) : PropertyPage(parent, nullptr)
{
// Create the slider for aspect ratio adjustments
m_pEnableModificationsCheckBox = new CCvarSlider(
this,
"AspectRatioSlider",
"Aspect Ratio",
0.1f, 3.0f, // Slider range: 0.1 to 3.0
"r_aspectratio",
true // Allow fractional values
);
m_aspectRatioLabel = new TextEntry(this, "AspectRatioLabel");
m_aspectRatioLabel->AddActionSignalTarget(this);
// Load settings from the associated resource file
LoadControlSettings("Resource\\OptionsSubModification.res");
UpdateLabel(m_pEnableModificationsCheckBox, m_aspectRatioLabel);
}
COptionsSubModification::~COptionsSubModification() = default;
void COptionsSubModification::OnTextChanged(Panel *panel)
{
if (panel == m_aspectRatioLabel)
{
char buf[64];
m_aspectRatioLabel->GetText(buf, 64);
float fValue;
int numParsed = sscanf(buf, "%f", &fValue);
if ((numParsed == 1) && (fValue >= 0.0f))
{
m_pEnableModificationsCheckBox->SetSliderValue(fValue);
PostActionSignal(new KeyValues("ApplyButtonEnable"));
}
}
}
//-----------------------------------------------------------------------------
// Purpose: Resets the data to the initial state
//-----------------------------------------------------------------------------
void COptionsSubModification::OnResetData()
{
m_pEnableModificationsCheckBox->Reset();
// m_aspectRatioLabel->Reset();
}
//-----------------------------------------------------------------------------
// Purpose: Applies changes made by the user
//-----------------------------------------------------------------------------
void COptionsSubModification::OnApplyChanges()
{
m_pEnableModificationsCheckBox->ApplyChanges();
// m_aspectRatioLabel->ApplyChanges();
}
//-----------------------------------------------------------------------------
// Purpose: Handles slider modifications
//-----------------------------------------------------------------------------
void COptionsSubModification::OnControlModified(Panel *panel)
{
PostActionSignal(new KeyValues("ApplyButtonEnable"));
// Update the label based on slider changes
if (panel == m_pEnableModificationsCheckBox && m_pEnableModificationsCheckBox->HasBeenModified())
{
UpdateLabel(m_pEnableModificationsCheckBox, m_aspectRatioLabel);
}
}
//-----------------------------------------------------------------------------
// Purpose: Sets scheme-specific properties
//-----------------------------------------------------------------------------
void COptionsSubModification::ApplySchemeSettings(IScheme *pScheme)
{
BaseClass::ApplySchemeSettings(pScheme);
}
//-----------------------------------------------------------------------------
// Purpose: Updates the label text based on slider value
//-----------------------------------------------------------------------------
void COptionsSubModification::UpdateLabel(CCvarSlider *slider, vgui::TextEntry *label)
{
char buf[64];
Q_snprintf(buf, sizeof(buf), "%.2f", slider->GetSliderValue());
label->SetText(buf);
}

View File

@ -0,0 +1,81 @@
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef OPTIONS_SUB_MODIFICATION_H
#define OPTIONS_SUB_MODIFICATION_H
#ifdef _WIN32
#pragma once
#endif
#include <vgui_controls/PropertyPage.h>
class CCvarNegateCheckButton;
class CKeyToggleCheckButton;
class CCvarToggleCheckButton;
class CCvarSlider;
namespace vgui
{
class Label;
class Panel;
}
//-----------------------------------------------------------------------------
// Purpose: Touch Details, Part of OptionsDialog
//-----------------------------------------------------------------------------
class COptionsSubModification : public vgui::PropertyPage
{
DECLARE_CLASS_SIMPLE(COptionsSubModification, vgui::PropertyPage);
public:
COptionsSubModification(vgui::Panel *parent);
~COptionsSubModification();
virtual void OnResetData();
virtual void OnApplyChanges();
protected:
virtual void ApplySchemeSettings(vgui::IScheme *pScheme);
MESSAGE_FUNC_PTR(OnControlModified, "ControlModified", panel);
MESSAGE_FUNC_PTR(OnTextChanged, "TextChanged", panel);
MESSAGE_FUNC_PTR(OnCheckButtonChecked, "CheckButtonChecked", panel)
{
OnControlModified(panel);
}
void UpdateLabel(CCvarSlider *slider, vgui::TextEntry *label);
private:
CCvarToggleCheckButton *m_pReverseTouchCheckBox;
CCvarToggleCheckButton *m_pTouchFilterCheckBox;
CCvarToggleCheckButton *m_pTouchRawCheckBox;
CCvarToggleCheckButton *m_pTouchAccelerationCheckBox;
CCvarToggleCheckButton *m_pTouchCheckBox;
CCvarToggleCheckButton *m_pTouchSouthpawCheckBox;
CCvarToggleCheckButton *m_pQuickInfoCheckBox;
CCvarToggleCheckButton *m_pTouchEnableCheckBox;
CCvarToggleCheckButton *m_pTouchDrawCheckBox;
CCvarSlider *m_pTouchSensitivitySlider;
vgui::TextEntry *m_pTouchSensitivityLabel;
CCvarSlider *m_pTouchAccelExponentSlider;
vgui::TextEntry *m_pTouchAccelExponentLabel;
CCvarSlider *m_pTouchYawSensitivitySlider;
vgui::Label *m_pTouchYawSensitivityPreLabel;
CCvarSlider *m_pTouchPitchSensitivitySlider;
vgui::Label *m_pTouchPitchSensitivityPreLabel;
vgui::TextEntry *m_pTouchYawSensitivityLabel;
vgui::TextEntry *m_pTouchPitchSensitivityLabel;
vgui::TextEntry *m_aspectRatioLabel;
CCvarSlider *m_pEnableModificationsCheckBox;
};
#endif // OPTIONS_SUB_MODIFICATION_H

View File

@ -6,7 +6,7 @@
// //
//=============================================================================// //=============================================================================//
#include "OptionsSubMouse.h" #include "OptionsSubMouse.h"
//#include "CommandCheckButton.h" // #include "CommandCheckButton.h"
#include "KeyToggleCheckButton.h" #include "KeyToggleCheckButton.h"
#include "CvarNegateCheckButton.h" #include "CvarNegateCheckButton.h"
#include "CvarToggleCheckButton.h" #include "CvarToggleCheckButton.h"
@ -30,69 +30,68 @@ COptionsSubMouse::COptionsSubMouse(vgui::Panel *parent) : PropertyPage(parent, N
this, this,
"ReverseMouse", "ReverseMouse",
"#GameUI_ReverseMouse", "#GameUI_ReverseMouse",
"m_pitch" ); "m_pitch");
m_pMouseFilterCheckBox = new CCvarToggleCheckButton( m_pMouseFilterCheckBox = new CCvarToggleCheckButton(
this, this,
"MouseFilter", "MouseFilter",
"#GameUI_MouseFilter", "#GameUI_MouseFilter",
"m_filter" ); "m_filter");
m_pMouseRawCheckBox = new CCvarToggleCheckButton( m_pMouseRawCheckBox = new CCvarToggleCheckButton(
this, this,
"MouseRaw", "MouseRaw",
"#GameUI_MouseRaw", "#GameUI_MouseRaw",
"m_rawinput" ); "m_rawinput");
m_pMouseAccelerationCheckBox = new CheckButton( m_pMouseAccelerationCheckBox = new CheckButton(
this, this,
"MouseAccelerationCheckbox", "MouseAccelerationCheckbox",
"#GameUI_MouseCustomAccel" ); "#GameUI_MouseCustomAccel");
m_pJoystickCheckBox = new CCvarToggleCheckButton( m_pJoystickCheckBox = new CCvarToggleCheckButton(
this, this,
"Joystick", "Joystick",
"#GameUI_Joystick", "#GameUI_Joystick",
"joystick" ); "joystick");
m_pJoystickSouthpawCheckBox = new CCvarToggleCheckButton( m_pJoystickSouthpawCheckBox = new CCvarToggleCheckButton(
this, this,
"JoystickSouthpaw", "JoystickSouthpaw",
"#GameUI_JoystickSouthpaw", "#GameUI_JoystickSouthpaw",
"joy_movement_stick" ); "joy_movement_stick");
m_pReverseJoystickCheckBox = new CCvarToggleCheckButton( m_pReverseJoystickCheckBox = new CCvarToggleCheckButton(
this, this,
"ReverseJoystick", "ReverseJoystick",
"#GameUI_ReverseJoystick", "#GameUI_ReverseJoystick",
"joy_inverty" ); "joy_inverty");
m_pQuickInfoCheckBox = new CCvarToggleCheckButton( m_pQuickInfoCheckBox = new CCvarToggleCheckButton(
this, this,
"HudQuickInfo", "HudQuickInfo",
"#GameUI_HudQuickInfo", "#GameUI_HudQuickInfo",
"hud_quickinfo" ); "hud_quickinfo");
m_pMouseSensitivitySlider = new CCvarSlider( this, "Slider", "#GameUI_MouseSensitivity", m_pMouseSensitivitySlider = new CCvarSlider(this, "Slider", "#GameUI_MouseSensitivity",
0.1f, 6.0f, "sensitivity", true ); 0.1f, 6.0f, "sensitivity", true);
m_pMouseSensitivityLabel = new TextEntry(this, "SensitivityLabel"); m_pMouseSensitivityLabel = new TextEntry(this, "SensitivityLabel");
m_pMouseSensitivityLabel->AddActionSignalTarget(this); m_pMouseSensitivityLabel->AddActionSignalTarget(this);
m_pMouseAccelExponentSlider = new CCvarSlider( this, "MouseAccelerationSlider", "#GameUI_MouseAcceleration", m_pMouseAccelExponentSlider = new CCvarSlider(this, "MouseAccelerationSlider", "#GameUI_MouseAcceleration",
1.0f, 1.4f, "m_customaccel_exponent", true ); 1.0f, 1.4f, "m_customaccel_exponent", true);
m_pMouseAccelExponentLabel = new TextEntry(this, "MouseAccelerationLabel"); m_pMouseAccelExponentLabel = new TextEntry(this, "MouseAccelerationLabel");
m_pMouseAccelExponentLabel->AddActionSignalTarget(this); m_pMouseAccelExponentLabel->AddActionSignalTarget(this);
m_pJoyYawSensitivitySlider = new CCvarSlider( this, "JoystickYawSlider", "#GameUI_JoystickYawSensitivity", m_pJoyYawSensitivitySlider = new CCvarSlider(this, "JoystickYawSlider", "#GameUI_JoystickYawSensitivity",
-0.5f, -7.0f, "joy_yawsensitivity", true ); -0.5f, -7.0f, "joy_yawsensitivity", true);
m_pJoyYawSensitivityPreLabel = new Label(this, "JoystickYawSensitivityPreLabel", "#GameUI_JoystickLookSpeedYaw" ); m_pJoyYawSensitivityPreLabel = new Label(this, "JoystickYawSensitivityPreLabel", "#GameUI_JoystickLookSpeedYaw");
m_pJoyPitchSensitivitySlider = new CCvarSlider( this, "JoystickPitchSlider", "#GameUI_JoystickPitchSensitivity", m_pJoyPitchSensitivitySlider = new CCvarSlider(this, "JoystickPitchSlider", "#GameUI_JoystickPitchSensitivity",
0.5f, 7.0f, "joy_pitchsensitivity", true ); 0.5f, 7.0f, "joy_pitchsensitivity", true);
m_pJoyPitchSensitivityPreLabel = new Label(this, "JoystickPitchSensitivityPreLabel", "#GameUI_JoystickLookSpeedPitch" ); m_pJoyPitchSensitivityPreLabel = new Label(this, "JoystickPitchSensitivityPreLabel", "#GameUI_JoystickLookSpeedPitch");
LoadControlSettings("Resource\\OptionsSubMouse.res"); LoadControlSettings("Resource\\OptionsSubMouse.res");
@ -105,9 +104,7 @@ COptionsSubMouse::COptionsSubMouse(vgui::Panel *parent) : PropertyPage(parent, N
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
COptionsSubMouse::~COptionsSubMouse() COptionsSubMouse::~COptionsSubMouse() = default;
{
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
@ -127,8 +124,8 @@ void COptionsSubMouse::OnResetData()
m_pJoyPitchSensitivitySlider->Reset(); m_pJoyPitchSensitivitySlider->Reset();
ConVarRef m_customacel("m_customaccel"); ConVarRef m_customacel("m_customaccel");
if ( m_customacel.IsValid() ) if (m_customacel.IsValid())
m_pMouseAccelerationCheckBox->SetSelected( m_customacel.GetBool() ); m_pMouseAccelerationCheckBox->SetSelected(m_customacel.GetBool());
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -148,10 +145,10 @@ void COptionsSubMouse::OnApplyChanges()
m_pJoyYawSensitivitySlider->ApplyChanges(); m_pJoyYawSensitivitySlider->ApplyChanges();
m_pJoyPitchSensitivitySlider->ApplyChanges(); m_pJoyPitchSensitivitySlider->ApplyChanges();
engine->ClientCmd_Unrestricted( "joyadvancedupdate" ); engine->ClientCmd_Unrestricted("joyadvancedupdate");
ConVarRef m_customacel("m_customaccel"); ConVarRef m_customacel("m_customaccel");
if ( m_customacel.IsValid() ) if (m_customacel.IsValid())
m_customacel.SetValue(m_pMouseAccelerationCheckBox->IsSelected() ? 3 : 0); m_customacel.SetValue(m_pMouseAccelerationCheckBox->IsSelected() ? 3 : 0);
} }
@ -197,14 +194,14 @@ void COptionsSubMouse::OnControlModified(Panel *panel)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void COptionsSubMouse::OnTextChanged(Panel *panel) void COptionsSubMouse::OnTextChanged(Panel *panel)
{ {
if ( panel == m_pMouseSensitivityLabel ) if (panel == m_pMouseSensitivityLabel)
{ {
char buf[64]; char buf[64];
m_pMouseSensitivityLabel->GetText(buf, 64); m_pMouseSensitivityLabel->GetText(buf, 64);
float fValue; float fValue;
int numParsed = sscanf(buf, "%f", &fValue); int numParsed = sscanf(buf, "%f", &fValue);
if ( ( numParsed == 1 ) && ( fValue >= 0.0f ) ) if ((numParsed == 1) && (fValue >= 0.0f))
{ {
m_pMouseSensitivitySlider->SetSliderValue(fValue); m_pMouseSensitivitySlider->SetSliderValue(fValue);
PostActionSignal(new KeyValues("ApplyButtonEnable")); PostActionSignal(new KeyValues("ApplyButtonEnable"));
@ -212,12 +209,12 @@ void COptionsSubMouse::OnTextChanged(Panel *panel)
return; return;
} }
if ( panel == m_pMouseAccelExponentLabel ) if (panel == m_pMouseAccelExponentLabel)
{ {
char buf[64]; char buf[64];
m_pMouseAccelExponentLabel->GetText(buf, 64); m_pMouseAccelExponentLabel->GetText(buf, 64);
float fValue = (float) atof(buf); float fValue = atof(buf);
if (fValue >= 1.0) if (fValue >= 1.0)
{ {
m_pMouseAccelExponentSlider->SetSliderValue(fValue); m_pMouseAccelExponentSlider->SetSliderValue(fValue);
@ -232,19 +229,17 @@ void COptionsSubMouse::OnTextChanged(Panel *panel)
void COptionsSubMouse::UpdateSensitivityLabel() void COptionsSubMouse::UpdateSensitivityLabel()
{ {
char buf[64]; char buf[64];
Q_snprintf(buf, sizeof( buf ), " %.2f", m_pMouseSensitivitySlider->GetSliderValue()); Q_snprintf(buf, sizeof(buf), " %.2f", m_pMouseSensitivitySlider->GetSliderValue());
m_pMouseSensitivityLabel->SetText(buf); m_pMouseSensitivityLabel->SetText(buf);
} }
void COptionsSubMouse::UpdateAccelerationLabel() void COptionsSubMouse::UpdateAccelerationLabel()
{ {
char buf[64]; char buf[64];
Q_snprintf(buf, sizeof( buf ), " %.2f", m_pMouseAccelExponentSlider->GetSliderValue()); Q_snprintf(buf, sizeof(buf), " %.2f", m_pMouseAccelExponentSlider->GetSliderValue());
m_pMouseAccelExponentLabel->SetText(buf); m_pMouseAccelExponentLabel->SetText(buf);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -252,10 +247,10 @@ void COptionsSubMouse::UpdateJoystickPanels()
{ {
bool bEnabled = m_pJoystickCheckBox->IsSelected(); bool bEnabled = m_pJoystickCheckBox->IsSelected();
m_pReverseJoystickCheckBox->SetEnabled( bEnabled ); m_pReverseJoystickCheckBox->SetEnabled(bEnabled);
m_pJoystickSouthpawCheckBox->SetEnabled( bEnabled ); m_pJoystickSouthpawCheckBox->SetEnabled(bEnabled);
m_pJoyYawSensitivitySlider->SetEnabled( bEnabled ); m_pJoyYawSensitivitySlider->SetEnabled(bEnabled);
m_pJoyYawSensitivityPreLabel->SetEnabled( bEnabled ); m_pJoyYawSensitivityPreLabel->SetEnabled(bEnabled);
m_pJoyPitchSensitivitySlider->SetEnabled( bEnabled ); m_pJoyPitchSensitivitySlider->SetEnabled(bEnabled);
m_pJoyPitchSensitivityPreLabel->SetEnabled( bEnabled ); m_pJoyPitchSensitivityPreLabel->SetEnabled(bEnabled);
} }

View File

@ -6,7 +6,7 @@
// //
//=============================================================================// //=============================================================================//
#include "OptionsSubTouch.h" #include "OptionsSubTouch.h"
//#include "CommandCheckButton.h" // #include "CommandCheckButton.h"
#include "KeyToggleCheckButton.h" #include "KeyToggleCheckButton.h"
#include "CvarNegateCheckButton.h" #include "CvarNegateCheckButton.h"
#include "CvarToggleCheckButton.h" #include "CvarToggleCheckButton.h"
@ -40,41 +40,41 @@ COptionsSubTouch::COptionsSubTouch(vgui::Panel *parent) : PropertyPage(parent, N
this, this,
"ReverseTouch", "ReverseTouch",
"Reverse touch", "Reverse touch",
"touch_reverse" ); "touch_reverse");
m_pTouchFilterCheckBox = new CCvarToggleCheckButton( m_pTouchFilterCheckBox = new CCvarToggleCheckButton(
this, this,
"TouchFilter", "TouchFilter",
"Touch filter", "Touch filter",
"touch_filter" ); "touch_filter");
m_pTouchAccelerationCheckBox = new CCvarToggleCheckButton( m_pTouchAccelerationCheckBox = new CCvarToggleCheckButton(
this, this,
"TouchAccelerationCheckbox", "TouchAccelerationCheckbox",
"Touch acceleration", "Touch acceleration",
"touch_enable_accel" ); "touch_enable_accel");
m_pTouchSensitivitySlider = new CCvarSlider( this, "Slider", "Touch sensitivity", m_pTouchSensitivitySlider = new CCvarSlider(this, "Slider", "Touch sensitivity",
0.1f, 6.0f, "touch_sensitivity", true ); 0.1f, 6.0f, "touch_sensitivity", true);
m_pTouchSensitivityLabel = new TextEntry(this, "SensitivityLabel"); m_pTouchSensitivityLabel = new TextEntry(this, "SensitivityLabel");
m_pTouchSensitivityLabel->AddActionSignalTarget(this); m_pTouchSensitivityLabel->AddActionSignalTarget(this);
m_pTouchAccelExponentSlider = new CCvarSlider( this, "TouchAccelerationSlider", "Touch acceleration", m_pTouchAccelExponentSlider = new CCvarSlider(this, "TouchAccelerationSlider", "Touch acceleration",
1.0f, 1.5f, "touch_accel", true ); 1.0f, 1.5f, "touch_accel", true);
m_pTouchAccelExponentLabel = new TextEntry(this, "TouchAccelerationLabel"); m_pTouchAccelExponentLabel = new TextEntry(this, "TouchAccelerationLabel");
m_pTouchAccelExponentLabel->AddActionSignalTarget(this); m_pTouchAccelExponentLabel->AddActionSignalTarget(this);
m_pTouchYawSensitivitySlider = new CCvarSlider( this, "TouchYawSlider", "#GameUI_JoystickYawSensitivity", m_pTouchYawSensitivitySlider = new CCvarSlider(this, "TouchYawSlider", "#GameUI_JoystickYawSensitivity",
50.f, 300.f, "touch_yaw", true ); 50.f, 300.f, "touch_yaw", true);
m_pTouchYawSensitivityPreLabel = new Label(this, "TouchYawSensitivityPreLabel", "#GameUI_JoystickLookSpeedYaw" ); m_pTouchYawSensitivityPreLabel = new Label(this, "TouchYawSensitivityPreLabel", "#GameUI_JoystickLookSpeedYaw");
m_pTouchYawSensitivityLabel = new TextEntry(this, "TouchYawSensitivityLabel"); m_pTouchYawSensitivityLabel = new TextEntry(this, "TouchYawSensitivityLabel");
m_pTouchYawSensitivityLabel->AddActionSignalTarget(this); m_pTouchYawSensitivityLabel->AddActionSignalTarget(this);
m_pTouchPitchSensitivitySlider = new CCvarSlider( this, "TouchPitchSlider", "#GameUI_JoystickPitchSensitivity", m_pTouchPitchSensitivitySlider = new CCvarSlider(this, "TouchPitchSlider", "#GameUI_JoystickPitchSensitivity",
50.f, 300.f, "touch_pitch", true ); 50.f, 300.f, "touch_pitch", true);
m_pTouchPitchSensitivityPreLabel = new Label(this, "TouchPitchSensitivityPreLabel", "#GameUI_JoystickLookSpeedPitch" ); m_pTouchPitchSensitivityPreLabel = new Label(this, "TouchPitchSensitivityPreLabel", "#GameUI_JoystickLookSpeedPitch");
m_pTouchPitchSensitivityLabel = new TextEntry(this, "TouchPitchSensitivityLabel"); m_pTouchPitchSensitivityLabel = new TextEntry(this, "TouchPitchSensitivityLabel");
m_pTouchPitchSensitivityLabel->AddActionSignalTarget(this); m_pTouchPitchSensitivityLabel->AddActionSignalTarget(this);
@ -89,9 +89,7 @@ COptionsSubTouch::COptionsSubTouch(vgui::Panel *parent) : PropertyPage(parent, N
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
COptionsSubTouch::~COptionsSubTouch() COptionsSubTouch::~COptionsSubTouch() = default;
{
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
@ -142,13 +140,13 @@ void COptionsSubTouch::OnControlModified(Panel *panel)
// slider, it won't use the slider to determine the display value but leave the // slider, it won't use the slider to determine the display value but leave the
// real value that we determined in the constructor // real value that we determined in the constructor
if (panel == m_pTouchSensitivitySlider && m_pTouchSensitivitySlider->HasBeenModified()) if (panel == m_pTouchSensitivitySlider && m_pTouchSensitivitySlider->HasBeenModified())
UpdateLabel( m_pTouchSensitivitySlider, m_pTouchSensitivityLabel ); UpdateLabel(m_pTouchSensitivitySlider, m_pTouchSensitivityLabel);
else if (panel == m_pTouchAccelExponentSlider && m_pTouchAccelExponentSlider->HasBeenModified()) else if (panel == m_pTouchAccelExponentSlider && m_pTouchAccelExponentSlider->HasBeenModified())
UpdateLabel( m_pTouchAccelExponentSlider, m_pTouchAccelExponentLabel ); UpdateLabel(m_pTouchAccelExponentSlider, m_pTouchAccelExponentLabel);
else if (panel == m_pTouchYawSensitivitySlider && m_pTouchYawSensitivitySlider->HasBeenModified()) else if (panel == m_pTouchYawSensitivitySlider && m_pTouchYawSensitivitySlider->HasBeenModified())
UpdateLabel( m_pTouchYawSensitivitySlider, m_pTouchYawSensitivityLabel ); UpdateLabel(m_pTouchYawSensitivitySlider, m_pTouchYawSensitivityLabel);
else if (panel == m_pTouchPitchSensitivitySlider && m_pTouchPitchSensitivitySlider->HasBeenModified()) else if (panel == m_pTouchPitchSensitivitySlider && m_pTouchPitchSensitivitySlider->HasBeenModified())
UpdateLabel( m_pTouchPitchSensitivitySlider, m_pTouchPitchSensitivityLabel ); UpdateLabel(m_pTouchPitchSensitivitySlider, m_pTouchPitchSensitivityLabel);
else if (panel == m_pTouchAccelerationCheckBox) else if (panel == m_pTouchAccelerationCheckBox)
{ {
m_pTouchAccelExponentSlider->SetEnabled(m_pTouchAccelerationCheckBox->IsSelected()); m_pTouchAccelExponentSlider->SetEnabled(m_pTouchAccelerationCheckBox->IsSelected());
@ -161,49 +159,49 @@ void COptionsSubTouch::OnControlModified(Panel *panel)
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void COptionsSubTouch::OnTextChanged(Panel *panel) void COptionsSubTouch::OnTextChanged(Panel *panel)
{ {
if ( panel == m_pTouchSensitivityLabel ) if (panel == m_pTouchSensitivityLabel)
{ {
char buf[64]; char buf[64];
m_pTouchSensitivityLabel->GetText(buf, 64); m_pTouchSensitivityLabel->GetText(buf, 64);
float fValue; float fValue;
int numParsed = sscanf(buf, "%f", &fValue); int numParsed = sscanf(buf, "%f", &fValue);
if ( ( numParsed == 1 ) && ( fValue >= 0.0f ) ) if ((numParsed == 1) && (fValue >= 0.0f))
{ {
m_pTouchSensitivitySlider->SetSliderValue(fValue); m_pTouchSensitivitySlider->SetSliderValue(fValue);
PostActionSignal(new KeyValues("ApplyButtonEnable")); PostActionSignal(new KeyValues("ApplyButtonEnable"));
} }
} }
else if ( panel == m_pTouchAccelExponentLabel ) else if (panel == m_pTouchAccelExponentLabel)
{ {
char buf[64]; char buf[64];
m_pTouchAccelExponentLabel->GetText(buf, 64); m_pTouchAccelExponentLabel->GetText(buf, 64);
float fValue = (float) atof(buf); float fValue = (float)atof(buf);
if (fValue >= 1.0) if (fValue >= 1.0)
{ {
m_pTouchAccelExponentSlider->SetSliderValue(fValue); m_pTouchAccelExponentSlider->SetSliderValue(fValue);
PostActionSignal(new KeyValues("ApplyButtonEnable")); PostActionSignal(new KeyValues("ApplyButtonEnable"));
} }
} }
else if( panel == m_pTouchPitchSensitivityLabel ) else if (panel == m_pTouchPitchSensitivityLabel)
{ {
char buf[64]; char buf[64];
m_pTouchPitchSensitivityLabel->GetText(buf, 64); m_pTouchPitchSensitivityLabel->GetText(buf, 64);
float fValue = (float) atof(buf); float fValue = (float)atof(buf);
if (fValue >= 1.0) if (fValue >= 1.0)
{ {
m_pTouchPitchSensitivitySlider->SetSliderValue(fValue); m_pTouchPitchSensitivitySlider->SetSliderValue(fValue);
PostActionSignal(new KeyValues("ApplyButtonEnable")); PostActionSignal(new KeyValues("ApplyButtonEnable"));
} }
} }
else if( panel == m_pTouchYawSensitivityLabel ) else if (panel == m_pTouchYawSensitivityLabel)
{ {
char buf[64]; char buf[64];
m_pTouchYawSensitivityLabel->GetText(buf, 64); m_pTouchYawSensitivityLabel->GetText(buf, 64);
float fValue = (float) atof(buf); float fValue = (float)atof(buf);
if (fValue >= 1.0) if (fValue >= 1.0)
{ {
m_pTouchYawSensitivitySlider->SetSliderValue(fValue); m_pTouchYawSensitivitySlider->SetSliderValue(fValue);
@ -215,6 +213,6 @@ void COptionsSubTouch::OnTextChanged(Panel *panel)
void COptionsSubTouch::UpdateLabel(CCvarSlider *slider, vgui::TextEntry *label) void COptionsSubTouch::UpdateLabel(CCvarSlider *slider, vgui::TextEntry *label)
{ {
char buf[64]; char buf[64];
Q_snprintf(buf, sizeof( buf ), " %.2f", slider->GetSliderValue()); Q_snprintf(buf, sizeof(buf), " %.2f", slider->GetSliderValue());
label->SetText(buf); label->SetText(buf);
} }

View File

@ -37,12 +37,12 @@ CSaveGameDialog::CSaveGameDialog(vgui::Panel *parent) : BaseClass(parent, "SaveG
{ {
SetDeleteSelfOnClose(true); SetDeleteSelfOnClose(true);
SetBounds(0, 0, 512, 384); SetBounds(0, 0, 512, 384);
SetSizeable( true ); SetSizeable(true);
SetTitle("#GameUI_SaveGame", true); SetTitle("#GameUI_SaveGame", true);
vgui::Button *cancel = new vgui::Button( this, "Cancel", "#GameUI_Cancel" ); vgui::Button *cancel = new vgui::Button(this, "Cancel", "#GameUI_Cancel");
cancel->SetCommand( "Close" ); cancel->SetCommand("Close");
LoadControlSettings("Resource\\SaveGameDialog.res"); LoadControlSettings("Resource\\SaveGameDialog.res");
} }
@ -53,27 +53,26 @@ CSaveGameDialog::CSaveGameDialog(vgui::Panel *parent) : BaseClass(parent, "SaveG
CSaveGameDialog::~CSaveGameDialog() CSaveGameDialog::~CSaveGameDialog()
{ {
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Saves game // Purpose: Saves game
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CSaveGameDialog::OnCommand( const char *command ) void CSaveGameDialog::OnCommand(const char *command)
{ {
if ( !stricmp( command, "loadsave" ) ) if (!stricmp(command, "loadsave"))
{ {
int saveIndex = GetSelectedItemSaveIndex(); int saveIndex = GetSelectedItemSaveIndex();
if ( m_SaveGames.IsValidIndex(saveIndex) ) if (m_SaveGames.IsValidIndex(saveIndex))
{ {
// see if we're overwriting // see if we're overwriting
if ( m_SaveGames[saveIndex].iTimestamp == NEW_SAVE_GAME_TIMESTAMP ) if (m_SaveGames[saveIndex].iTimestamp == NEW_SAVE_GAME_TIMESTAMP)
{ {
// new save game, proceed // new save game, proceed
OnCommand( "SaveOverwriteConfirmed" ); OnCommand("SaveOverwriteConfirmed");
} }
else else
{ {
// open confirmation dialog // open confirmation dialog
QueryBox *box = new QueryBox( "#GameUI_ConfirmOverwriteSaveGame_Title", "#GameUI_ConfirmOverwriteSaveGame_Info" ); QueryBox *box = new QueryBox("#GameUI_ConfirmOverwriteSaveGame_Title", "#GameUI_ConfirmOverwriteSaveGame_Info");
box->AddActionSignalTarget(this); box->AddActionSignalTarget(this);
box->SetOKButtonText("#GameUI_ConfirmOverwriteSaveGame_OK"); box->SetOKButtonText("#GameUI_ConfirmOverwriteSaveGame_OK");
box->SetOKCommand(new KeyValues("Command", "command", "SaveOverwriteConfirmed")); box->SetOKCommand(new KeyValues("Command", "command", "SaveOverwriteConfirmed"));
@ -81,24 +80,24 @@ void CSaveGameDialog::OnCommand( const char *command )
} }
} }
} }
else if ( !stricmp( command, "SaveOverwriteConfirmed" ) ) else if (!stricmp(command, "SaveOverwriteConfirmed"))
{ {
int saveIndex = GetSelectedItemSaveIndex(); int saveIndex = GetSelectedItemSaveIndex();
if ( m_SaveGames.IsValidIndex(saveIndex) ) if (m_SaveGames.IsValidIndex(saveIndex))
{ {
// delete any existing save // delete any existing save
DeleteSaveGame( m_SaveGames[saveIndex].szFileName ); DeleteSaveGame(m_SaveGames[saveIndex].szFileName);
// save to a new name // save to a new name
char saveName[128]; char saveName[128];
FindSaveSlot( saveName, sizeof(saveName) ); FindSaveSlot(saveName, sizeof(saveName));
if ( saveName[ 0 ] ) if (saveName[0])
{ {
// Load the game, return to top and switch to engine // Load the game, return to top and switch to engine
char sz[ 256 ]; char sz[256];
Q_snprintf(sz, sizeof( sz ), "save %s\n", saveName ); Q_snprintf(sz, sizeof(sz), "save %s\n", saveName);
engine->ClientCmd_Unrestricted( sz ); engine->ClientCmd_Unrestricted(sz);
// Close this dialog // Close this dialog
Close(); Close();
@ -110,7 +109,7 @@ void CSaveGameDialog::OnCommand( const char *command )
} }
else else
{ {
BaseClass::OnCommand( command ); BaseClass::OnCommand(command);
} }
} }
@ -129,28 +128,28 @@ void CSaveGameDialog::Activate()
void CSaveGameDialog::OnScanningSaveGames() void CSaveGameDialog::OnScanningSaveGames()
{ {
// create dummy item for current saved game // create dummy item for current saved game
SaveGameDescription_t save = { "NewSavedGame", "", "", "#GameUI_NewSaveGame", "", "", "Current", NEW_SAVE_GAME_TIMESTAMP }; SaveGameDescription_t save = {"NewSavedGame", "", "", "#GameUI_NewSaveGame", "", "", "Current", NEW_SAVE_GAME_TIMESTAMP};
m_SaveGames.AddToTail(save); m_SaveGames.AddToTail(save);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: generates a new save game name // Purpose: generates a new save game name
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CSaveGameDialog::FindSaveSlot( char *buffer, int bufsize ) void CSaveGameDialog::FindSaveSlot(char *buffer, int bufsize)
{ {
buffer[0] = 0; buffer[0] = 0;
char szFileName[512]; char szFileName[512];
for (int i = 0; i < 1000; i++) for (int i = 0; i < 1000; i++)
{ {
Q_snprintf(szFileName, sizeof( szFileName ), "save/half-life-%03i.sav", i ); Q_snprintf(szFileName, sizeof(szFileName), "save/half-life-%03i.sav", i);
FileHandle_t fp = g_pFullFileSystem->Open( szFileName, "rb" ); FileHandle_t fp = g_pFullFileSystem->Open(szFileName, "rb");
if (!fp) if (!fp)
{ {
// clean up name // clean up name
Q_strncpy( buffer, szFileName + 5, bufsize ); Q_strncpy(buffer, szFileName + 5, bufsize);
char *ext = strstr( buffer, ".sav" ); char *ext = strstr(buffer, ".sav");
if ( ext ) if (ext)
{ {
*ext = 0; *ext = 0;
} }

View File

@ -57,9 +57,7 @@ CVGuiSystemModuleLoader::CVGuiSystemModuleLoader()
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Destructor // Purpose: Destructor
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
CVGuiSystemModuleLoader::~CVGuiSystemModuleLoader() CVGuiSystemModuleLoader::~CVGuiSystemModuleLoader() = default;
{
}
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: returns true if the module loader has acquired the platform mutex and loaded the modules // Purpose: returns true if the module loader has acquired the platform mutex and loaded the modules

View File

@ -93,6 +93,7 @@ def build(bld):
'OptionsSubPortal.cpp', 'OptionsSubPortal.cpp',
'OptionsSubVideo.cpp', 'OptionsSubVideo.cpp',
'OptionsSubVoice.cpp', 'OptionsSubVoice.cpp',
'OptionsSubModification.cpp', #added new page
'../public/tier0/memoverride.cpp', '../public/tier0/memoverride.cpp',
] ]

View File

@ -1739,7 +1739,7 @@ jpeg_fdct_13x13 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)
MULTIPLY(tmp1 - tmp5, FIX(0.239678205)); /* (c8-c12)/2 */ MULTIPLY(tmp1 - tmp5, FIX(0.239678205)); /* (c8-c12)/2 */
z2 = MULTIPLY(tmp0 + tmp2, FIX(0.073342435)) - /* (c4-c6)/2 */ z2 = MULTIPLY(tmp0 + tmp2, FIX(0.073342435)) - /* (c4-c6)/2 */
MULTIPLY(tmp3 + tmp4, FIX(0.709910013)) + /* (c2+c10)/2 */ MULTIPLY(tmp3 + tmp4, FIX(0.709910013)) + /* (c2+c10)/2 */
MULTIPLY(tmp1 + tmp5, FIX(0.368787494)); /* (c8+c12)/2 */ MULTIPLY(tmp1 + t, FIX(0.368787494)); /* (c8+c12)/2 */
dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS+1); dataptr[DCTSIZE*4] = (DCTELEM) DESCALE(z1 + z2, CONST_BITS+1);
dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 - z2, CONST_BITS+1); dataptr[DCTSIZE*6] = (DCTELEM) DESCALE(z1 - z2, CONST_BITS+1);

View File

@ -24,6 +24,7 @@
#include "pixelwriter.h" #include "pixelwriter.h"
#include "tier2/tier2.h" #include "tier2/tier2.h"
#include "platform.h" #include "platform.h"
#include <iostream>
#if defined ( WIN32 ) #if defined ( WIN32 )
@ -340,8 +341,8 @@ VideoResult_t CQuickTimeVideoSubSystem::PlayVideoFileFullScreen( const char *fil
// what size do we set the output rect to? // what size do we set the output rect to?
// Integral scaling is much faster, so always scale the video as such // Integral scaling is much faster, so always scale the video as such
int nNewWidth = (int) theQTMovieRect.right; int nNewWidth = static_cast<int>theQTMovieRect.right;
int nNewHeight = (int) theQTMovieRect.bottom; int nNewHeight = static_cast<int>theQTMovieRect.bottom;
// Determine the window we are rendering video into // Determine the window we are rendering video into
int displayWidth = windowWidth; int displayWidth = windowWidth;

View File

@ -538,7 +538,7 @@ def configure(conf):
else: else:
cflags += [ cflags += [
'/I'+os.path.abspath('.')+'/thirdparty/SDL', '/I'+os.path.abspath('.')+'/thirdparty/SDL',
'/arch:SSE' if conf.env.DEST_CPU == 'x86' else '/arch:AVX', #'/arch:SSE' if conf.env.DEST_CPU == 'x86' else '/arch:AVX', (no AVX Support)
'/GF', '/GF',
'/Gy', '/Gy',
'/fp:fast', '/fp:fast',
@ -548,7 +548,6 @@ def configure(conf):
'/TP', '/TP',
'/EHsc' '/EHsc'
] ]
if conf.options.BUILD_TYPE == 'debug': if conf.options.BUILD_TYPE == 'debug':
linkflags += [ linkflags += [
'/FORCE:MULTIPLE', '/FORCE:MULTIPLE',