Merge branch 'master' of https://github.com/ValveSoftware/source-sdk-2013 into mapbase-mp-2025

# Conflicts:
#	CONTRIBUTING
#	src/game/server/SkyCamera.cpp
#	src/game/server/player.cpp
This commit is contained in:
ALLEN-PC\acj30 2025-03-02 14:34:53 -06:00
commit c88468ff16
14 changed files with 30 additions and 30 deletions

View File

@ -6052,7 +6052,7 @@ void C_TFPlayer::ClientThink()
// //
// Passtime ask for ball button // Passtime ask for ball button
// //
if ( m_nButtons & IN_ATTACK3 ) if ( m_afButtonPressed & IN_ATTACK3 )
{ {
engine->ClientCmd("voicemenu 1 8"); engine->ClientCmd("voicemenu 1 8");
} }

View File

@ -218,6 +218,12 @@ void CSkyCamera::Activate( )
} }
#endif #endif
// matches the behavior of fog controller
if ( GameRules()->IsOfficialMap() )
{
m_skyboxData.fog.radial = true;
}
#ifdef MAPBASE #ifdef MAPBASE
if (HasSpawnFlags( SF_SKY_MASTER )) if (HasSpawnFlags( SF_SKY_MASTER ))
g_hActiveSkybox = this; g_hActiveSkybox = this;

View File

@ -8982,11 +8982,10 @@ void CLogicPlayerInfo::GetPlayerInfo( CBasePlayer *pPlayer )
} }
#endif #endif
void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp* pProp, const void* pStruct, const void* pVarData, DVariant* pOut, int iElement, int objectID )
void SendProxy_CropFlagsToPlayerFlagBitsLength( const SendProp *pProp, const void *pStruct, const void *pVarData, DVariant *pOut, int iElement, int objectID)
{ {
int mask = (1<<PLAYER_FLAG_BITS) - 1; int mask = ( 1 << PLAYER_FLAG_BITS ) - 1;
int data = *(int *)pVarData; int data = *( int* )pVarData;
pOut->m_Int = ( data & mask ); pOut->m_Int = ( data & mask );
} }

View File

@ -2626,7 +2626,7 @@ void CPopulationManager::AllocateBots()
Warning( "%d bots were already allocated some how before CPopulationManager::AllocateBots was called\n", botVector.Count() ); Warning( "%d bots were already allocated some how before CPopulationManager::AllocateBots was called\n", botVector.Count() );
} }
for ( int i = nNumEnemyBots; i < MVM_INVADERS_TEAM_SIZE; ++i ) for ( int i = nNumEnemyBots; i < tf_mvm_max_invaders.GetInt(); ++i )
{ {
CTFBot* newBot = NextBotCreatePlayerBot< CTFBot >( "TFBot", false ); CTFBot* newBot = NextBotCreatePlayerBot< CTFBot >( "TFBot", false );
if ( newBot ) if ( newBot )

View File

@ -137,8 +137,6 @@ public:
bool IsBonusRound() const { return m_bBonusRound; } bool IsBonusRound() const { return m_bBonusRound; }
CBaseCombatCharacter* GetBonusBoss() const { return m_hBonusBoss; } CBaseCombatCharacter* GetBonusBoss() const { return m_hBonusBoss; }
enum { MVM_INVADERS_TEAM_SIZE = 22 };
static bool GetWavesUseReadyBetween() { return true; } static bool GetWavesUseReadyBetween() { return true; }
void SetDefaultEventChangeAttributesName( const char* pszDefaultEventChangeAttributesName ) { m_defaultEventChangeAttributesName = pszDefaultEventChangeAttributesName; } void SetDefaultEventChangeAttributesName( const char* pszDefaultEventChangeAttributesName ) { m_defaultEventChangeAttributesName = pszDefaultEventChangeAttributesName; }

View File

@ -1014,7 +1014,7 @@ bool CTFBotSpawner::Spawn( const Vector &rawHere, EntityHandleVector_t *result )
nNumEnemyBots = botVector.Count(); nNumEnemyBots = botVector.Count();
if ( nNumEnemyBots >= CPopulationManager::MVM_INVADERS_TEAM_SIZE ) if ( nNumEnemyBots >= tf_mvm_max_invaders.GetInt() )
{ {
// no room for more // no room for more
if ( tf_populator_debug.GetBool() ) if ( tf_populator_debug.GetBool() )
@ -1023,10 +1023,10 @@ bool CTFBotSpawner::Spawn( const Vector &rawHere, EntityHandleVector_t *result )
} }
// extra guard if we're over full on bots // extra guard if we're over full on bots
if ( nNumEnemyBots > CPopulationManager::MVM_INVADERS_TEAM_SIZE ) if ( nNumEnemyBots > tf_mvm_max_invaders.GetInt() )
{ {
// Kick bots until we are at the proper number starting with spectator bots // Kick bots until we are at the proper number starting with spectator bots
int iNumberToKick = nNumEnemyBots - CPopulationManager::MVM_INVADERS_TEAM_SIZE; int iNumberToKick = nNumEnemyBots - tf_mvm_max_invaders.GetInt();
int iKickedBots = 0; int iKickedBots = 0;
// loop through spectators and invaders in that order // loop through spectators and invaders in that order

View File

@ -741,7 +741,7 @@ bool CMissionPopulator::UpdateMission( CTFBot::MissionType mission )
// are there enough free slots? // are there enough free slots?
int currentEnemyCount = GetGlobalTeam( TF_TEAM_PVE_INVADERS )->GetNumPlayers(); int currentEnemyCount = GetGlobalTeam( TF_TEAM_PVE_INVADERS )->GetNumPlayers();
if ( currentEnemyCount + m_desiredCount > CPopulationManager::MVM_INVADERS_TEAM_SIZE ) if ( currentEnemyCount + m_desiredCount > tf_mvm_max_invaders.GetInt() )
{ {
// not enough slots yet // not enough slots yet
if ( tf_populator_debug.GetBool() ) if ( tf_populator_debug.GetBool() )
@ -1578,7 +1578,7 @@ void CWaveSpawnPopulator::Update( void )
int currentEnemyCount = GetGlobalTeam( TF_TEAM_PVE_INVADERS )->GetNumPlayers(); int currentEnemyCount = GetGlobalTeam( TF_TEAM_PVE_INVADERS )->GetNumPlayers();
if ( currentEnemyCount + m_spawnCount + m_reservedPlayerSlotCount > CPopulationManager::MVM_INVADERS_TEAM_SIZE ) if ( currentEnemyCount + m_spawnCount + m_reservedPlayerSlotCount > tf_mvm_max_invaders.GetInt() )
{ {
// no space right now // no space right now
return; return;

View File

@ -875,6 +875,7 @@ ConVar tf_raid_allow_overtime( "tf_raid_allow_overtime", "0"/*, FCVAR_CHEAT*/ );
ConVar tf_mvm_defenders_team_size( "tf_mvm_defenders_team_size", "6", FCVAR_REPLICATED | FCVAR_NOTIFY, "Maximum number of defenders in MvM" ); ConVar tf_mvm_defenders_team_size( "tf_mvm_defenders_team_size", "6", FCVAR_REPLICATED | FCVAR_NOTIFY, "Maximum number of defenders in MvM" );
ConVar tf_mvm_max_connected_players( "tf_mvm_max_connected_players", "10", FCVAR_GAMEDLL, "Maximum number of connected real players in MvM" ); ConVar tf_mvm_max_connected_players( "tf_mvm_max_connected_players", "10", FCVAR_GAMEDLL, "Maximum number of connected real players in MvM" );
ConVar tf_mvm_max_invaders( "tf_mvm_max_invaders", "22", FCVAR_GAMEDLL, "Maximum number of invaders in MvM" );
ConVar tf_mvm_min_players_to_start( "tf_mvm_min_players_to_start", "3", FCVAR_REPLICATED | FCVAR_NOTIFY, "Minimum number of players connected to start a countdown timer" ); ConVar tf_mvm_min_players_to_start( "tf_mvm_min_players_to_start", "3", FCVAR_REPLICATED | FCVAR_NOTIFY, "Minimum number of players connected to start a countdown timer" );
ConVar tf_mvm_respec_enabled( "tf_mvm_respec_enabled", "1", FCVAR_CHEAT | FCVAR_REPLICATED, "Allow players to refund credits spent on player and item upgrades." ); ConVar tf_mvm_respec_enabled( "tf_mvm_respec_enabled", "1", FCVAR_CHEAT | FCVAR_REPLICATED, "Allow players to refund credits spent on player and item upgrades." );

View File

@ -97,6 +97,7 @@ class CMannVsMachineUpgrades;
//extern ConVar tf_populator_damage_multiplier; //extern ConVar tf_populator_damage_multiplier;
extern ConVar tf_mvm_defenders_team_size; extern ConVar tf_mvm_defenders_team_size;
extern ConVar tf_mvm_max_invaders;
const int kLadder_TeamSize_6v6 = 6; const int kLadder_TeamSize_6v6 = 6;
const int kLadder_TeamSize_9v9 = 9; const int kLadder_TeamSize_9v9 = 9;

View File

@ -12110,6 +12110,13 @@ bool CTFPlayer::CanJump() const
if ( m_Shared.InCond( TF_COND_TAUNTING ) ) if ( m_Shared.InCond( TF_COND_TAUNTING ) )
return false; return false;
CTFWeaponBase *pActiveWeapon = m_Shared.GetActiveTFWeapon();
if ( pActiveWeapon )
{
if ( !pActiveWeapon->OwnerCanJump() )
return false;
}
int iNoJump = 0; int iNoJump = 0;
CALL_ATTRIB_HOOK_INT( iNoJump, no_jump ); CALL_ATTRIB_HOOK_INT( iNoJump, no_jump );

View File

@ -654,19 +654,7 @@ void CTFCompoundBow::SetArrowAlight( bool bAlight )
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: // Purpose:
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void CTFCompoundBow::SetInternalChargeBeginTime( float flChargeBeginTime ) bool CTFCompoundBow::OwnerCanJump( void )
{ {
#ifdef GAME_DLL return GetInternalChargeBeginTime() == 0.f;
float flCurrentChargeBeginTime = GetInternalChargeBeginTime();
if ( flCurrentChargeBeginTime == 0.f && flChargeBeginTime > 0.f )
{
DisableJump();
}
else if ( flCurrentChargeBeginTime > 0.f && flChargeBeginTime == 0.f )
{
EnableJump();
}
#endif // GAME_DLL
BaseClass::SetInternalChargeBeginTime( flChargeBeginTime );
} }

View File

@ -89,8 +89,7 @@ public:
void SetArrowAlight( bool bAlight ); void SetArrowAlight( bool bAlight );
protected: bool OwnerCanJump( void );
virtual void SetInternalChargeBeginTime( float flChargeBeginTime ) OVERRIDE;
private: private:
#ifdef CLIENT_DLL #ifdef CLIENT_DLL

View File

@ -335,6 +335,7 @@ class CTFWeaponBase : public CBaseCombatWeapon, public IHasOwner, public IHasGen
void EnableDuck(); void EnableDuck();
void DisableDuck(); void DisableDuck();
virtual bool OwnerCanJump( void ) { return true; }
virtual bool OwnerCanTaunt( void ) { return true; } virtual bool OwnerCanTaunt( void ) { return true; }
virtual bool CanBeCritBoosted( void ); virtual bool CanBeCritBoosted( void );
bool CanHaveRevengeCrits( void ); bool CanHaveRevengeCrits( void );

View File

@ -163,7 +163,7 @@
#define FL_INWATER (1<<10) // In water #define FL_INWATER (1<<10) // In water
// NOTE if you move things up, make sure to change this value // NOTE if you move things up, make sure to change this value
#define PLAYER_FLAG_BITS 11 #define PLAYER_FLAG_BITS 32
#define FL_FLY (1<<11) // Changes the SV_Movestep() behavior to not need to be on ground #define FL_FLY (1<<11) // Changes the SV_Movestep() behavior to not need to be on ground
#define FL_SWIM (1<<12) // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water) #define FL_SWIM (1<<12) // Changes the SV_Movestep() behavior to not need to be on ground (but stay in water)