mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-14 12:46:58 +00:00
add hl1,portal,dod source code
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef DOD_CONTROL_POINT_H
|
||||
#define DOD_CONTROL_POINT_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "dod_player.h"
|
||||
|
||||
#define CAP_ICON_ALLIES_FLAG 1
|
||||
#define CAP_ICON_BRIT_FLAG 27 //from dod_objectives.cpp
|
||||
|
||||
#define CAP_POINT_HIDEFLAG (1<<0)
|
||||
#define CAP_POINT_HIDE_MODEL (1<<1)
|
||||
#define CAP_POINT_TICK_FOR_BOMBS_REMAINING (1<<2)
|
||||
|
||||
#define PLAYER_POINTS_FOR_CAP 1
|
||||
#define PLAYER_POINTS_FOR_BLOCK 1
|
||||
#define PLAYER_POINTS_FOR_BOMB_PLANT 1
|
||||
#define PLAYER_POINTS_FOR_BOMB_EXPLODED 3
|
||||
|
||||
|
||||
class CControlPoint : public CBaseAnimating
|
||||
{
|
||||
|
||||
public:
|
||||
DECLARE_CLASS( CControlPoint, CBaseAnimating );
|
||||
DECLARE_DATADESC();
|
||||
|
||||
CControlPoint();
|
||||
|
||||
virtual void Spawn( void );
|
||||
virtual bool KeyValue( const char *szKeyName, const char *szValue );
|
||||
virtual void Precache( void );
|
||||
|
||||
void Reset( void );
|
||||
|
||||
//Inputs
|
||||
inline void Enable( inputdata_t &input ) { SetActive( false ); }
|
||||
inline void Disable( inputdata_t &input ) { SetActive( true ); }
|
||||
void InputReset( inputdata_t &input );
|
||||
void InputSetOwner( inputdata_t &input );
|
||||
|
||||
void InputShowModel( inputdata_t &input );
|
||||
void InputHideModel( inputdata_t &input );
|
||||
|
||||
int PointValue( void );
|
||||
|
||||
void RoundRespawn( void ); //Mugsy - resetting
|
||||
void TriggerTargets( void );
|
||||
|
||||
void SetActive( bool active );
|
||||
|
||||
bool PointIsVisible( void ) { return !( FBitSet( m_spawnflags, CAP_POINT_HIDEFLAG ) ); }
|
||||
|
||||
void SendCapString( int team, int iNumCappers, int *pCappingPlayers );
|
||||
|
||||
void SetOwner( int team, bool bMakeSound = true, int iNumCappers = 0, int *iCappingPlayers = NULL );
|
||||
int GetOwner( void ) const;
|
||||
|
||||
int GetDefaultOwner( void ) const;
|
||||
|
||||
inline const char *GetName( void ) { return STRING(m_iszPrintName); }
|
||||
int GetCPGroup( void );
|
||||
int GetPointIndex( void ) { return m_iPointIndex; } //the mapper set index
|
||||
void SetPointIndex( int index ) { m_iPointIndex = index; }
|
||||
int GetAlliesIcon( void ) { return m_iAlliesIcon; }
|
||||
int GetAxisIcon( void ) { return m_iAxisIcon; }
|
||||
int GetNeutralIcon( void ) { return m_iNeutralIcon; }
|
||||
|
||||
int GetCurrentHudIconIndex( void );
|
||||
int GetHudIconIndexForTeam( int team );
|
||||
int GetTimerCapHudIcon( void );
|
||||
int GetBombedHudIcon( void );
|
||||
|
||||
inline bool IsActive( void ) { return m_bActive; }
|
||||
|
||||
void SetNumCappersRequired( int alliesRequired, int axisRequired );
|
||||
|
||||
void CaptureBlocked( CDODPlayer *pPlayer );
|
||||
|
||||
// Bomb interface
|
||||
void BombPlanted( float flTimerLength, CDODPlayer *pPlantingPlayer );
|
||||
void BombExploded( CDODPlayer *pPlantingPlayer = NULL, int iPlantingTeam = TEAM_UNASSIGNED );
|
||||
void BombDisarmed( CDODPlayer *pDisarmingPlayer );
|
||||
void CancelBombPlanted( void );
|
||||
|
||||
int GetBombsRemaining( void ) { return m_iBombsRemaining; } // total bombs required
|
||||
int GetBombsRequired( void ) { return m_iBombsRequired; } // number of bombs remaining
|
||||
|
||||
private:
|
||||
void InternalSetOwner( int team, bool bMakeSound = true, int iNumCappers = 0, int *iCappingPlayers = NULL );
|
||||
|
||||
int m_iTeam; //0 - clear, 2 - allies, 3 - axis
|
||||
int m_iDefaultOwner; //team that initially owns the cap point
|
||||
int m_iIndex; //the index of this point in the controlpointArray
|
||||
|
||||
string_t m_iszPrintName;
|
||||
|
||||
string_t m_iszAlliesCapSound; //the sound to play on cap
|
||||
string_t m_iszAxisCapSound;
|
||||
string_t m_iszResetSound;
|
||||
|
||||
string_t m_iszAlliesModel; //models to set the ent to on capture
|
||||
string_t m_iszAxisModel;
|
||||
string_t m_iszResetModel;
|
||||
|
||||
int m_iAlliesModelBodygroup;//which bodygroup to use in the model
|
||||
int m_iAxisModelBodygroup;
|
||||
int m_iResetModelBodygroup;
|
||||
|
||||
COutputEvent m_AlliesCapOutput; //outputs to fire when capped
|
||||
COutputEvent m_AxisCapOutput;
|
||||
COutputEvent m_PointResetOutput;
|
||||
|
||||
COutputEvent m_OwnerChangedToAllies;
|
||||
COutputEvent m_OwnerChangedToAxis;
|
||||
|
||||
int m_iAlliesIcon; //custom hud sprites for cap point
|
||||
int m_iAxisIcon;
|
||||
int m_iNeutralIcon;
|
||||
int m_iTimerCapIcon;
|
||||
int m_iBombedIcon;
|
||||
|
||||
string_t m_iszAlliesIcon;
|
||||
string_t m_iszAxisIcon;
|
||||
string_t m_iszNeutralIcon;
|
||||
string_t m_iszTimerCapIcon;
|
||||
string_t m_iszBombedIcon;
|
||||
|
||||
int m_bPointVisible; //should this capture point be visible on the hud?
|
||||
int m_iPointIndex; //the mapper set index value of this control point
|
||||
|
||||
int m_iCPGroup; //the group that this control point belongs to
|
||||
bool m_bActive; //
|
||||
|
||||
string_t m_iszName; //Name used in cap messages
|
||||
|
||||
bool m_bStartDisabled;
|
||||
|
||||
int m_iAlliesRequired; // if we're controlled by an area cap,
|
||||
int m_iAxisRequired; // these hold the number of cappers required. Used to calc point value
|
||||
|
||||
int m_iTimedPointsAllies; // timed points value of this flag, per team
|
||||
int m_iTimedPointsAxis;
|
||||
|
||||
bool m_bBombPlanted;
|
||||
float m_flBombExplodeTime;
|
||||
|
||||
int m_iBombsRemaining;
|
||||
int m_iBombsRequired; // number of bombs required to flip this control point
|
||||
|
||||
bool m_bSetOwnerIsBombPlant; // temp flag to indicate if the set owner we're doing is the result of a bomb
|
||||
|
||||
private:
|
||||
CControlPoint( const CControlPoint & );
|
||||
};
|
||||
|
||||
#endif //DOD_CONTROL_POINT_H
|
||||
Reference in New Issue
Block a user