mirror of
https://github.com/nillerusr/source-engine.git
synced 2025-04-20 09:57:48 +00:00
added OptionsSubModification
This commit is contained in:
parent
29985681a1
commit
13dc30a464
@ -12,8 +12,8 @@
|
||||
#include "hl1_clientscoreboard.h"
|
||||
|
||||
// default FOV for HL1
|
||||
ConVar default_fov( "default_fov", "90", 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 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, 130.0 );
|
||||
|
||||
// The current client mode. Always ClientModeNormal in HL.
|
||||
IClientMode *g_pClientMode = NULL;
|
||||
@ -32,13 +32,9 @@ public:
|
||||
virtual void LevelShutdown( void );
|
||||
};
|
||||
|
||||
CHLModeManager::CHLModeManager( void )
|
||||
{
|
||||
}
|
||||
CHLModeManager::CHLModeManager( void ) = default;
|
||||
|
||||
CHLModeManager::~CHLModeManager( void )
|
||||
{
|
||||
}
|
||||
CHLModeManager::~CHLModeManager( void ) = default;
|
||||
|
||||
void CHLModeManager::Init( void )
|
||||
{
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
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
|
||||
@ -70,9 +70,7 @@ ClientModeHLNormal::ClientModeHLNormal()
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
ClientModeHLNormal::~ClientModeHLNormal()
|
||||
{
|
||||
}
|
||||
ClientModeHLNormal::~ClientModeHLNormal() = default;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -18,10 +18,10 @@
|
||||
|
||||
|
||||
// Armor given by a battery
|
||||
#define MAX_NORMAL_BATTERY 100
|
||||
#define MAX_NORMAL_BATTERY 200
|
||||
|
||||
// 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_SMG1 45
|
||||
#define SIZE_AMMO_SMG1_LARGE 225
|
||||
@ -31,7 +31,7 @@
|
||||
#define SIZE_AMMO_SMG1_GRENADE 1
|
||||
#define SIZE_AMMO_BUCKSHOT 20
|
||||
#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_AR2_ALTFIRE 1
|
||||
|
||||
|
@ -232,7 +232,7 @@ enum CastVote
|
||||
|
||||
#define MAX_PLACE_NAME_LENGTH 18
|
||||
|
||||
#define MAX_FOV 110
|
||||
#define MAX_FOV 150
|
||||
|
||||
//===================================================================================================================
|
||||
// Team Defines
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "OptionsSubMultiplayer.h"
|
||||
#include "OptionsSubDifficulty.h"
|
||||
#include "OptionsSubPortal.h"
|
||||
#include "OptionsSubModification.h"
|
||||
#ifdef WIN32
|
||||
// NVNT haptic configuration dialog
|
||||
#include "OptionsSubHaptics.h"
|
||||
@ -94,7 +95,10 @@ COptionsDialog::COptionsDialog(vgui::Panel *parent) : PropertyDialog(parent, "Op
|
||||
m_pOptionsSubAudio = new COptionsSubAudio(this);
|
||||
AddPage(m_pOptionsSubAudio, "#GameUI_Audio");
|
||||
m_pOptionsSubVideo = new COptionsSubVideo(this);
|
||||
|
||||
AddPage(m_pOptionsSubVideo, "#GameUI_Video");
|
||||
AddPage(new COptionsSubModification(this), "ModInfo");
|
||||
AddPage(new COptionsSubPortal(this), "#GameUI_Portal");
|
||||
|
||||
if ( !ModInfo().IsSinglePlayerOnly() )
|
||||
{
|
||||
@ -119,9 +123,7 @@ COptionsDialog::COptionsDialog(vgui::Panel *parent) : PropertyDialog(parent, "Op
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Destructor
|
||||
//-----------------------------------------------------------------------------
|
||||
COptionsDialog::~COptionsDialog()
|
||||
{
|
||||
}
|
||||
COptionsDialog::~COptionsDialog() = default;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Brings the dialog to the fore
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#ifndef OPTIONSDIALOG_H
|
||||
#define OPTIONSDIALOG_H
|
||||
#include "OptionsSubModification.h"
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
@ -37,6 +38,7 @@ public:
|
||||
private:
|
||||
class COptionsSubAudio *m_pOptionsSubAudio;
|
||||
class COptionsSubVideo *m_pOptionsSubVideo;
|
||||
class COptionsSubModification *m_pOptionsSubModification;
|
||||
vgui::PropertyPage *m_pOptionsSubMultiplayer;
|
||||
};
|
||||
|
||||
|
@ -22,9 +22,7 @@ COptionsSubGame::COptionsSubGame( vgui::Panel *parent, const char *name ) : Base
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Destructor
|
||||
//-----------------------------------------------------------------------------
|
||||
COptionsSubGame::~COptionsSubGame()
|
||||
{
|
||||
}
|
||||
COptionsSubGame::~COptionsSubGame() = default;
|
||||
|
||||
void COptionsSubGame::OnClose( void )
|
||||
{
|
||||
|
110
gameui/OptionsSubModification.cpp
Normal file
110
gameui/OptionsSubModification.cpp
Normal 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);
|
||||
}
|
81
gameui/OptionsSubModification.h
Normal file
81
gameui/OptionsSubModification.h
Normal 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
|
@ -49,7 +49,6 @@ COptionsSubMouse::COptionsSubMouse(vgui::Panel *parent) : PropertyPage(parent, N
|
||||
"MouseAccelerationCheckbox",
|
||||
"#GameUI_MouseCustomAccel");
|
||||
|
||||
|
||||
m_pJoystickCheckBox = new CCvarToggleCheckButton(
|
||||
this,
|
||||
"Joystick",
|
||||
@ -105,9 +104,7 @@ COptionsSubMouse::COptionsSubMouse(vgui::Panel *parent) : PropertyPage(parent, N
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
COptionsSubMouse::~COptionsSubMouse()
|
||||
{
|
||||
}
|
||||
COptionsSubMouse::~COptionsSubMouse() = default;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
@ -217,7 +214,7 @@ void COptionsSubMouse::OnTextChanged(Panel *panel)
|
||||
char buf[64];
|
||||
m_pMouseAccelExponentLabel->GetText(buf, 64);
|
||||
|
||||
float fValue = (float) atof(buf);
|
||||
float fValue = atof(buf);
|
||||
if (fValue >= 1.0)
|
||||
{
|
||||
m_pMouseAccelExponentSlider->SetSliderValue(fValue);
|
||||
@ -236,7 +233,6 @@ void COptionsSubMouse::UpdateSensitivityLabel()
|
||||
m_pMouseSensitivityLabel->SetText(buf);
|
||||
}
|
||||
|
||||
|
||||
void COptionsSubMouse::UpdateAccelerationLabel()
|
||||
{
|
||||
char buf[64];
|
||||
@ -244,7 +240,6 @@ void COptionsSubMouse::UpdateAccelerationLabel()
|
||||
m_pMouseAccelExponentLabel->SetText(buf);
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -89,9 +89,7 @@ COptionsSubTouch::COptionsSubTouch(vgui::Panel *parent) : PropertyPage(parent, N
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
//-----------------------------------------------------------------------------
|
||||
COptionsSubTouch::~COptionsSubTouch()
|
||||
{
|
||||
}
|
||||
COptionsSubTouch::~COptionsSubTouch() = default;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose:
|
||||
|
@ -53,7 +53,6 @@ CSaveGameDialog::CSaveGameDialog(vgui::Panel *parent) : BaseClass(parent, "SaveG
|
||||
CSaveGameDialog::~CSaveGameDialog()
|
||||
{
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Saves game
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -57,9 +57,7 @@ CVGuiSystemModuleLoader::CVGuiSystemModuleLoader()
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: Destructor
|
||||
//-----------------------------------------------------------------------------
|
||||
CVGuiSystemModuleLoader::~CVGuiSystemModuleLoader()
|
||||
{
|
||||
}
|
||||
CVGuiSystemModuleLoader::~CVGuiSystemModuleLoader() = default;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Purpose: returns true if the module loader has acquired the platform mutex and loaded the modules
|
||||
|
@ -93,6 +93,7 @@ def build(bld):
|
||||
'OptionsSubPortal.cpp',
|
||||
'OptionsSubVideo.cpp',
|
||||
'OptionsSubVoice.cpp',
|
||||
'OptionsSubModification.cpp', #added new page
|
||||
'../public/tier0/memoverride.cpp',
|
||||
]
|
||||
|
||||
|
@ -1739,7 +1739,7 @@ jpeg_fdct_13x13 (DCTELEM * data, JSAMPARRAY sample_data, JDIMENSION start_col)
|
||||
MULTIPLY(tmp1 - tmp5, FIX(0.239678205)); /* (c8-c12)/2 */
|
||||
z2 = MULTIPLY(tmp0 + tmp2, FIX(0.073342435)) - /* (c4-c6)/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*6] = (DCTELEM) DESCALE(z1 - z2, CONST_BITS+1);
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "pixelwriter.h"
|
||||
#include "tier2/tier2.h"
|
||||
#include "platform.h"
|
||||
#include <iostream>
|
||||
|
||||
|
||||
#if defined ( WIN32 )
|
||||
@ -340,8 +341,8 @@ VideoResult_t CQuickTimeVideoSubSystem::PlayVideoFileFullScreen( const char *fil
|
||||
|
||||
// what size do we set the output rect to?
|
||||
// Integral scaling is much faster, so always scale the video as such
|
||||
int nNewWidth = (int) theQTMovieRect.right;
|
||||
int nNewHeight = (int) theQTMovieRect.bottom;
|
||||
int nNewWidth = static_cast<int>theQTMovieRect.right;
|
||||
int nNewHeight = static_cast<int>theQTMovieRect.bottom;
|
||||
|
||||
// Determine the window we are rendering video into
|
||||
int displayWidth = windowWidth;
|
||||
|
3
wscript
3
wscript
@ -538,7 +538,7 @@ def configure(conf):
|
||||
else:
|
||||
cflags += [
|
||||
'/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',
|
||||
'/Gy',
|
||||
'/fp:fast',
|
||||
@ -548,7 +548,6 @@ def configure(conf):
|
||||
'/TP',
|
||||
'/EHsc'
|
||||
]
|
||||
|
||||
if conf.options.BUILD_TYPE == 'debug':
|
||||
linkflags += [
|
||||
'/FORCE:MULTIPLE',
|
||||
|
Loading…
Reference in New Issue
Block a user