From f56bb35301836e56582a575a75864392a0177875 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B8rgen=20P=2E=20Tjern=C3=B8?= Date: Mon, 2 Dec 2013 19:31:46 -0800 Subject: Fix line endings. WHAMMY. --- mp/src/game/server/logic_achievement.cpp | 362 +++++++++++++++---------------- 1 file changed, 181 insertions(+), 181 deletions(-) (limited to 'mp/src/game/server/logic_achievement.cpp') diff --git a/mp/src/game/server/logic_achievement.cpp b/mp/src/game/server/logic_achievement.cpp index 1dfd2ea1..5dcea15a 100644 --- a/mp/src/game/server/logic_achievement.cpp +++ b/mp/src/game/server/logic_achievement.cpp @@ -1,182 +1,182 @@ -//========= Copyright Valve Corporation, All rights reserved. ============// -// -// Defines a logical entity which passes achievement related events to the gamerules system. - -#include "cbase.h" -#include "gamerules.h" -#include "entityinput.h" -#include "entityoutput.h" - -// memdbgon must be the last include file in a .cpp file!!! -#include "tier0/memdbgon.h" - -/* - These are the string choices in the FGD: - - ACHIEVEMENT_EVENT_HL2_HIT_CANCOP_WITHCAN - ACHIEVEMENT_EVENT_HL2_ESCAPE_APARTMENTRAID - ACHIEVEMENT_EVENT_HL2_FIND_ONEGMAN - ACHIEVEMENT_EVENT_HL2_BREAK_MINITELEPORTER - ACHIEVEMENT_EVENT_HL2_GET_PISTOL - ACHIEVEMENT_EVENT_HL2_GET_AIRBOAT - ACHIEVEMENT_EVENT_HL2_GET_AIRBOATGUN - ACHIEVEMENT_EVENT_HL2_FIND_VORTIGAUNTCAVE - ACHIEVEMENT_EVENT_HL2_KILL_CHOPPER - ACHIEVEMENT_EVENT_HL2_FIND_HEVFACEPLATE - ACHIEVEMENT_EVENT_HL2_GET_GRAVITYGUN - ACHIEVEMENT_EVENT_HL2_MAKEABASKET - ACHIEVEMENT_EVENT_HL2_BEAT_RAVENHOLM_NOWEAPONS_START - ACHIEVEMENT_EVENT_HL2_BEAT_RAVENHOLM_NOWEAPONS_END - ACHIEVEMENT_EVENT_HL2_BEAT_CEMETERY - ACHIEVEMENT_EVENT_HL2_KILL_ENEMIES_WITHCRANE - ACHIEVEMENT_EVENT_HL2_PIN_SOLDIER_TOBILLBOARD - ACHIEVEMENT_EVENT_HL2_KILL_ODESSAGUNSHIP - ACHIEVEMENT_EVENT_HL2_BEAT_DONTTOUCHSAND - ACHIEVEMENT_EVENT_HL2_ENTER_NOVAPROSPEKT, - ACHIEVEMENT_EVENT_HL2_BEAT_TURRETSTANDOFF2 - ACHIEVEMENT_EVENT_HL2_BEAT_NOVAPROSPEKT - ACHIEVEMENT_EVENT_HL2_BEAT_TOXICTUNNEL - ACHIEVEMENT_EVENT_HL2_BEAT_PLAZASTANDOFF - ACHIEVEMENT_EVENT_HL2_KILL_ALLC17SNIPERS - ACHIEVEMENT_EVENT_HL2_BEAT_SUPRESSIONDEVICE - ACHIEVEMENT_EVENT_HL2_BEAT_C17STRIDERSTANDOFF - ACHIEVEMENT_EVENT_HL2_REACH_BREENSOFFICE - ACHIEVEMENT_EVENT_HL2_FIND_LAMDACACHE - - // EP1 - ACHIEVEMENT_EVENT_EP1_BEAT_MAINELEVATOR - ACHIEVEMENT_EVENT_EP1_BEAT_CITADELCORE - ACHIEVEMENT_EVENT_EP1_BEAT_CITADELCORE_NOSTALKERKILLS - ACHIEVEMENT_EVENT_EP1_BEAT_GARAGEELEVATORSTANDOFF - ACHIEVEMENT_EVENT_EP1_KILL_ENEMIES_WITHSNIPERALYX - ACHIEVEMENT_EVENT_EP1_BEAT_HOSPITALATTICGUNSHIP - ACHIEVEMENT_EVENT_EP1_BEAT_CITIZENESCORT_NOCITIZENDEATHS - - // EP2 - ACHIEVEMENT_EVENT_EP2_BREAK_ALLWEBS - ACHIEVEMENT_EVENT_EP2_BEAT_ANTLIONINVASION - ACHIEVEMENT_EVENT_EP2_BEAT_ANTLIONGUARDS - ACHIEVEMENT_EVENT_EP2_BEAT_HUNTERAMBUSH - ACHIEVEMENT_EVENT_EP2_KILL_COMBINECANNON - ACHIEVEMENT_EVENT_EP2_FIND_RADAR_CACHE - ACHIEVEMENT_EVENT_EP2_BEAT_RACEWITHDOG - ACHIEVEMENT_EVENT_EP2_BEAT_ROCKETCACHEPUZZLE - ACHIEVEMENT_EVENT_EP2_BEAT_WHITEFORESTINN - ACHIEVEMENT_EVENT_EP2_PUT_ITEMINROCKET - ACHIEVEMENT_EVENT_EP2_BEAT_MISSILESILO2 - ACHIEVEMENT_EVENT_EP2_BEAT_OUTLAND12_NOBUILDINGSDESTROYED - - // PORTAL - ACHIEVEMENT_EVENT_PORTAL_GET_PORTALGUNS - ACHIEVEMENT_EVENT_PORTAL_KILL_COMPANIONCUBE - ACHIEVEMENT_EVENT_PORTAL_ESCAPE_TESTCHAMBERS - ACHIEVEMENT_EVENT_PORTAL_BEAT_GAME -*/ - - -// Allows map logic to send achievement related events to the achievement system. -class CLogicAchievement : public CLogicalEntity -{ -public: - DECLARE_CLASS( CLogicAchievement, CLogicalEntity ); - - CLogicAchievement(); - -protected: - - // Inputs - void InputFireEvent( inputdata_t &inputdata ); - void InputEnable( inputdata_t &inputdata ); - void InputDisable( inputdata_t &inputdata ); - void InputToggle( inputdata_t &inputdata ); - - bool m_bDisabled; - string_t m_iszAchievementEventID; // Which achievement event this entity marks - - COutputEvent m_OnFired; - - DECLARE_DATADESC(); -}; - - -LINK_ENTITY_TO_CLASS( logic_achievement, CLogicAchievement ); - - -BEGIN_DATADESC( CLogicAchievement ) - - DEFINE_KEYFIELD( m_bDisabled, FIELD_BOOLEAN, "StartDisabled" ), - DEFINE_KEYFIELD( m_iszAchievementEventID, FIELD_STRING, "AchievementEvent" ), - - // Inputs - DEFINE_INPUTFUNC( FIELD_VOID, "FireEvent", InputFireEvent ), - DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), - DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), - DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), - - // Outputs - DEFINE_OUTPUT( m_OnFired, "OnFired" ), - -END_DATADESC() - - - -//----------------------------------------------------------------------------- -// Purpose: Constructor. -//----------------------------------------------------------------------------- -CLogicAchievement::CLogicAchievement(void) -{ - m_iszAchievementEventID = NULL_STRING; -} - -#define ACHIEVEMENT_PREFIX "ACHIEVEMENT_EVENT_" - -//----------------------------------------------------------------------------- -// Purpose: Sends the achievement event to the achievement marking system. -//----------------------------------------------------------------------------- -void CLogicAchievement::InputFireEvent( inputdata_t &inputdata ) -{ - // If we're active, and our string matched a valid achievement ID - if ( !m_bDisabled && m_iszAchievementEventID != NULL_STRING) - { - m_OnFired.FireOutput( inputdata.pActivator, this ); - - char const *pchName = STRING( m_iszAchievementEventID ); - - int nPrefixLen = Q_strlen( ACHIEVEMENT_PREFIX ); - if ( !Q_strnicmp( pchName, ACHIEVEMENT_PREFIX, nPrefixLen ) ) - { - // Skip the prefix - pchName += nPrefixLen; - if ( pchName && *pchName ) - { - CBroadcastRecipientFilter filter; - g_pGameRules->MarkAchievement( filter, pchName ); - } - } - } -} - -//------------------------------------------------------------------------------ -// Purpose: Turns on the relay, allowing it to fire outputs. -//------------------------------------------------------------------------------ -void CLogicAchievement::InputEnable( inputdata_t &inputdata ) -{ - m_bDisabled = false; -} - -//------------------------------------------------------------------------------ -// Purpose: Turns off the relay, preventing it from firing outputs. -//------------------------------------------------------------------------------ -void CLogicAchievement::InputDisable( inputdata_t &inputdata ) -{ - m_bDisabled = true; -} - - -//------------------------------------------------------------------------------ -// Purpose: Toggles the enabled/disabled state of the relay. -//------------------------------------------------------------------------------ -void CLogicAchievement::InputToggle( inputdata_t &inputdata ) -{ - m_bDisabled = !m_bDisabled; +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Defines a logical entity which passes achievement related events to the gamerules system. + +#include "cbase.h" +#include "gamerules.h" +#include "entityinput.h" +#include "entityoutput.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include "tier0/memdbgon.h" + +/* + These are the string choices in the FGD: + + ACHIEVEMENT_EVENT_HL2_HIT_CANCOP_WITHCAN + ACHIEVEMENT_EVENT_HL2_ESCAPE_APARTMENTRAID + ACHIEVEMENT_EVENT_HL2_FIND_ONEGMAN + ACHIEVEMENT_EVENT_HL2_BREAK_MINITELEPORTER + ACHIEVEMENT_EVENT_HL2_GET_PISTOL + ACHIEVEMENT_EVENT_HL2_GET_AIRBOAT + ACHIEVEMENT_EVENT_HL2_GET_AIRBOATGUN + ACHIEVEMENT_EVENT_HL2_FIND_VORTIGAUNTCAVE + ACHIEVEMENT_EVENT_HL2_KILL_CHOPPER + ACHIEVEMENT_EVENT_HL2_FIND_HEVFACEPLATE + ACHIEVEMENT_EVENT_HL2_GET_GRAVITYGUN + ACHIEVEMENT_EVENT_HL2_MAKEABASKET + ACHIEVEMENT_EVENT_HL2_BEAT_RAVENHOLM_NOWEAPONS_START + ACHIEVEMENT_EVENT_HL2_BEAT_RAVENHOLM_NOWEAPONS_END + ACHIEVEMENT_EVENT_HL2_BEAT_CEMETERY + ACHIEVEMENT_EVENT_HL2_KILL_ENEMIES_WITHCRANE + ACHIEVEMENT_EVENT_HL2_PIN_SOLDIER_TOBILLBOARD + ACHIEVEMENT_EVENT_HL2_KILL_ODESSAGUNSHIP + ACHIEVEMENT_EVENT_HL2_BEAT_DONTTOUCHSAND + ACHIEVEMENT_EVENT_HL2_ENTER_NOVAPROSPEKT, + ACHIEVEMENT_EVENT_HL2_BEAT_TURRETSTANDOFF2 + ACHIEVEMENT_EVENT_HL2_BEAT_NOVAPROSPEKT + ACHIEVEMENT_EVENT_HL2_BEAT_TOXICTUNNEL + ACHIEVEMENT_EVENT_HL2_BEAT_PLAZASTANDOFF + ACHIEVEMENT_EVENT_HL2_KILL_ALLC17SNIPERS + ACHIEVEMENT_EVENT_HL2_BEAT_SUPRESSIONDEVICE + ACHIEVEMENT_EVENT_HL2_BEAT_C17STRIDERSTANDOFF + ACHIEVEMENT_EVENT_HL2_REACH_BREENSOFFICE + ACHIEVEMENT_EVENT_HL2_FIND_LAMDACACHE + + // EP1 + ACHIEVEMENT_EVENT_EP1_BEAT_MAINELEVATOR + ACHIEVEMENT_EVENT_EP1_BEAT_CITADELCORE + ACHIEVEMENT_EVENT_EP1_BEAT_CITADELCORE_NOSTALKERKILLS + ACHIEVEMENT_EVENT_EP1_BEAT_GARAGEELEVATORSTANDOFF + ACHIEVEMENT_EVENT_EP1_KILL_ENEMIES_WITHSNIPERALYX + ACHIEVEMENT_EVENT_EP1_BEAT_HOSPITALATTICGUNSHIP + ACHIEVEMENT_EVENT_EP1_BEAT_CITIZENESCORT_NOCITIZENDEATHS + + // EP2 + ACHIEVEMENT_EVENT_EP2_BREAK_ALLWEBS + ACHIEVEMENT_EVENT_EP2_BEAT_ANTLIONINVASION + ACHIEVEMENT_EVENT_EP2_BEAT_ANTLIONGUARDS + ACHIEVEMENT_EVENT_EP2_BEAT_HUNTERAMBUSH + ACHIEVEMENT_EVENT_EP2_KILL_COMBINECANNON + ACHIEVEMENT_EVENT_EP2_FIND_RADAR_CACHE + ACHIEVEMENT_EVENT_EP2_BEAT_RACEWITHDOG + ACHIEVEMENT_EVENT_EP2_BEAT_ROCKETCACHEPUZZLE + ACHIEVEMENT_EVENT_EP2_BEAT_WHITEFORESTINN + ACHIEVEMENT_EVENT_EP2_PUT_ITEMINROCKET + ACHIEVEMENT_EVENT_EP2_BEAT_MISSILESILO2 + ACHIEVEMENT_EVENT_EP2_BEAT_OUTLAND12_NOBUILDINGSDESTROYED + + // PORTAL + ACHIEVEMENT_EVENT_PORTAL_GET_PORTALGUNS + ACHIEVEMENT_EVENT_PORTAL_KILL_COMPANIONCUBE + ACHIEVEMENT_EVENT_PORTAL_ESCAPE_TESTCHAMBERS + ACHIEVEMENT_EVENT_PORTAL_BEAT_GAME +*/ + + +// Allows map logic to send achievement related events to the achievement system. +class CLogicAchievement : public CLogicalEntity +{ +public: + DECLARE_CLASS( CLogicAchievement, CLogicalEntity ); + + CLogicAchievement(); + +protected: + + // Inputs + void InputFireEvent( inputdata_t &inputdata ); + void InputEnable( inputdata_t &inputdata ); + void InputDisable( inputdata_t &inputdata ); + void InputToggle( inputdata_t &inputdata ); + + bool m_bDisabled; + string_t m_iszAchievementEventID; // Which achievement event this entity marks + + COutputEvent m_OnFired; + + DECLARE_DATADESC(); +}; + + +LINK_ENTITY_TO_CLASS( logic_achievement, CLogicAchievement ); + + +BEGIN_DATADESC( CLogicAchievement ) + + DEFINE_KEYFIELD( m_bDisabled, FIELD_BOOLEAN, "StartDisabled" ), + DEFINE_KEYFIELD( m_iszAchievementEventID, FIELD_STRING, "AchievementEvent" ), + + // Inputs + DEFINE_INPUTFUNC( FIELD_VOID, "FireEvent", InputFireEvent ), + DEFINE_INPUTFUNC( FIELD_VOID, "Enable", InputEnable ), + DEFINE_INPUTFUNC( FIELD_VOID, "Disable", InputDisable ), + DEFINE_INPUTFUNC( FIELD_VOID, "Toggle", InputToggle ), + + // Outputs + DEFINE_OUTPUT( m_OnFired, "OnFired" ), + +END_DATADESC() + + + +//----------------------------------------------------------------------------- +// Purpose: Constructor. +//----------------------------------------------------------------------------- +CLogicAchievement::CLogicAchievement(void) +{ + m_iszAchievementEventID = NULL_STRING; +} + +#define ACHIEVEMENT_PREFIX "ACHIEVEMENT_EVENT_" + +//----------------------------------------------------------------------------- +// Purpose: Sends the achievement event to the achievement marking system. +//----------------------------------------------------------------------------- +void CLogicAchievement::InputFireEvent( inputdata_t &inputdata ) +{ + // If we're active, and our string matched a valid achievement ID + if ( !m_bDisabled && m_iszAchievementEventID != NULL_STRING) + { + m_OnFired.FireOutput( inputdata.pActivator, this ); + + char const *pchName = STRING( m_iszAchievementEventID ); + + int nPrefixLen = Q_strlen( ACHIEVEMENT_PREFIX ); + if ( !Q_strnicmp( pchName, ACHIEVEMENT_PREFIX, nPrefixLen ) ) + { + // Skip the prefix + pchName += nPrefixLen; + if ( pchName && *pchName ) + { + CBroadcastRecipientFilter filter; + g_pGameRules->MarkAchievement( filter, pchName ); + } + } + } +} + +//------------------------------------------------------------------------------ +// Purpose: Turns on the relay, allowing it to fire outputs. +//------------------------------------------------------------------------------ +void CLogicAchievement::InputEnable( inputdata_t &inputdata ) +{ + m_bDisabled = false; +} + +//------------------------------------------------------------------------------ +// Purpose: Turns off the relay, preventing it from firing outputs. +//------------------------------------------------------------------------------ +void CLogicAchievement::InputDisable( inputdata_t &inputdata ) +{ + m_bDisabled = true; +} + + +//------------------------------------------------------------------------------ +// Purpose: Toggles the enabled/disabled state of the relay. +//------------------------------------------------------------------------------ +void CLogicAchievement::InputToggle( inputdata_t &inputdata ) +{ + m_bDisabled = !m_bDisabled; } \ No newline at end of file -- cgit v1.2.3