mirror of
https://github.com/celisej567/source-sdk-2013.git
synced 2026-09-23 20:09:45 +03:00
Mapbase v4.3
- Fixed a crash with multiple trigger_look targets - Fixed an issue where some zombie submodel server ragdolls are not solid to the world - Fixed a crash with certain instance classes being loaded in a savegame before the class is registered - Added some of Tony Sergi's missing Source 2007 fixes (contributed by Kris) - Added "ClientCommand" hook for VScript to allow handling of unknown console commands - Added "PlayerRunCommand" hook for VScript to control player movement - Added new button-related script functions for players (GetButtons, DisableButtons, etc.) - Added CUserCmd accessor in VScript for the "PlayerRunCommand" hook - Added "GetWaterLevel" function for VScript - Exposed "Ignite" to VScript for controlling how a fire starts - Fixed NPCs being unable to unholster weapons - Fixed Mapbase crashing when Steam isn't running - Fixed issues with angled/updating sky_camera save/restore - Added VBSP "-skyboxcubemap" parameter to enable skybox default cubemaps + "-defaultcubemapres" to control their resolution - Added ability to disable VScript in a map (and fixed a few potential complications from disabling VScript) - Made clientside VScript only initialize after world is spawned in order to receive serverside script language in time - Added tons of VScript functions to CBaseAnimating related to bodygroups, sequences, etc. - Added VScript functions to players for getting user ID and player name, similar to logic_playerinfo - Added a few L4D2 script functions missing from the ASW SDK - Added "Localize" singleton with a single "GetTokenAsUTF8" function for getting localization strings - Disabled r_hunkalloclightmaps by the request of various users (apparently this completely removes the "Engine hunk overflow" error and allows for really high-res lightmaps) - Fixed npc_antlionguard NPC_TranslateActivity not hooking into base class (allows for VScript manipulation) - Added various unused antlion guard activities to npc_antlionguard AI, allowing for usage as registered activities - Added keyvalue to set LOS mask on combine_mine - Added +USE bounding box limiter to prop_interactable
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
#include "baseentity.h"
|
||||
#include "entityoutput.h"
|
||||
#include "convar.h"
|
||||
|
||||
#include "player.h" //Tony; need player.h so we can trigger inputs on the player, from our inputs!
|
||||
|
||||
// memdbgon must be the last include file in a .cpp file!!!
|
||||
#include "tier0/memdbgon.h"
|
||||
|
||||
@@ -122,6 +125,22 @@ int CEnvTonemapController::UpdateTransmitState()
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputSetTonemapScale( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputSetTonemapScale\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputSetTonemapScale( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
float flRemapped = inputdata.value.Float();
|
||||
mat_hdr_tonemapscale.SetValue( flRemapped );
|
||||
}
|
||||
@@ -131,6 +150,10 @@ void CEnvTonemapController::InputSetTonemapScale( inputdata_t &inputdata )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputBlendTonemapScale( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; TODO!!! -- tonemap scale blending does _not_ work properly in multiplayer..
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
return;
|
||||
|
||||
char parseString[255];
|
||||
Q_strncpy(parseString, inputdata.value.String(), sizeof(parseString));
|
||||
|
||||
@@ -181,6 +204,22 @@ void CEnvTonemapController::InputSetBloomScaleRange( inputdata_t &inputdata )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputSetTonemapRate( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputSetTonemapRate\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputSetTonemapRate( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: There should be a better way to do this.
|
||||
ConVarRef mat_hdr_manual_tonemap_rate( "mat_hdr_manual_tonemap_rate" );
|
||||
if ( mat_hdr_manual_tonemap_rate.IsValid() )
|
||||
@@ -212,6 +251,22 @@ void CEnvTonemapController::UpdateTonemapScaleBlend( void )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputSetAutoExposureMin( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputSetAutoExposureMin\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputSetAutoExposureMin( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_flCustomAutoExposureMin = inputdata.value.Float();
|
||||
m_bUseCustomAutoExposureMin = true;
|
||||
}
|
||||
@@ -221,6 +276,22 @@ void CEnvTonemapController::InputSetAutoExposureMin( inputdata_t &inputdata )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputSetAutoExposureMax( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputSetAutoExposureMax\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputSetAutoExposureMax( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_flCustomAutoExposureMax = inputdata.value.Float();
|
||||
m_bUseCustomAutoExposureMax = true;
|
||||
}
|
||||
@@ -230,6 +301,22 @@ void CEnvTonemapController::InputSetAutoExposureMax( inputdata_t &inputdata )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputUseDefaultAutoExposure( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputUseDefaultAutoExposure\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputUseDefaultAutoExposure( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_bUseCustomAutoExposureMin = false;
|
||||
m_bUseCustomAutoExposureMax = false;
|
||||
}
|
||||
@@ -239,6 +326,22 @@ void CEnvTonemapController::InputUseDefaultAutoExposure( inputdata_t &inputdata
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputSetBloomScale( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputSetBloomScale\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputSetBloomScale( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_flCustomBloomScale = inputdata.value.Float();
|
||||
m_flCustomBloomScaleMinimum = m_flCustomBloomScale;
|
||||
m_bUseCustomBloomScale = true;
|
||||
@@ -249,5 +352,21 @@ void CEnvTonemapController::InputSetBloomScale( inputdata_t &inputdata )
|
||||
//-----------------------------------------------------------------------------
|
||||
void CEnvTonemapController::InputUseDefaultBloomScale( inputdata_t &inputdata )
|
||||
{
|
||||
//Tony; in multiplayer, we check to see if the activator is a player, if they are, we trigger an input on them, and then get out.
|
||||
//if there is no activator, or the activator is not a player; ie: LogicAuto, we set the 'global' values.
|
||||
if ( ( gpGlobals->maxClients > 1 ) )
|
||||
{
|
||||
if ( inputdata.pActivator != NULL && inputdata.pActivator->IsPlayer() )
|
||||
{
|
||||
// DevMsg("activator is a player: InputUseDefaultBloomScale\n");
|
||||
CBasePlayer *pPlayer = ToBasePlayer(inputdata.pActivator);
|
||||
if (pPlayer)
|
||||
{
|
||||
pPlayer->InputUseDefaultBloomScale( inputdata );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
m_bUseCustomBloomScale = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user