mirror of
https://github.com/celisej567/source-sdk-2013.git
synced 2026-09-23 20:09:45 +03:00
Added prototype Response System library port from the Alien Swarm SDK
This commit is contained in:
@@ -20,6 +20,10 @@
|
||||
#include "ServerNetworkProperty.h"
|
||||
#include "shareddefs.h"
|
||||
#include "engine/ivmodelinfo.h"
|
||||
#ifdef NEW_RESPONSE_SYSTEM
|
||||
#include "AI_Criteria.h"
|
||||
#include "AI_ResponseSystem.h"
|
||||
#endif
|
||||
|
||||
#include "vscript/ivscript.h"
|
||||
#include "vscript_server.h"
|
||||
@@ -29,8 +33,10 @@ class CDmgAccumulator;
|
||||
|
||||
struct CSoundParameters;
|
||||
|
||||
#ifndef NEW_RESPONSE_SYSTEM
|
||||
class AI_CriteriaSet;
|
||||
class IResponseSystem;
|
||||
#endif
|
||||
class IEntitySaveUtils;
|
||||
class CRecipientFilter;
|
||||
class CStudioHdr;
|
||||
@@ -39,6 +45,11 @@ class CStudioHdr;
|
||||
// FIXME: Could do this in the script file by making it required and bumping up weighting there instead...
|
||||
#define CONCEPT_WEIGHT 5.0f
|
||||
|
||||
#ifdef NEW_RESPONSE_SYSTEM
|
||||
// Relax the namespace standard a bit so that less code has to be changed
|
||||
#define IResponseSystem ResponseRules::IResponseSystem
|
||||
#endif
|
||||
|
||||
typedef CHandle<CBaseEntity> EHANDLE;
|
||||
|
||||
#define MANUALMODE_GETSET_PROP(type, accessorName, varName) \
|
||||
@@ -1001,10 +1012,10 @@ public:
|
||||
const char *GetContextValue( const char *contextName ) const;
|
||||
float GetContextExpireTime( const char *name );
|
||||
void RemoveContext( const char *nameandvalue );
|
||||
void AddContext( const char *name, const char *value, float duration = 0.0f );
|
||||
#endif
|
||||
|
||||
void AddContext( const char *nameandvalue );
|
||||
void AddContext( const char *name, const char *value, float duration = 0.0f );
|
||||
|
||||
protected:
|
||||
CUtlVector< ResponseContext_t > m_ResponseContexts;
|
||||
@@ -1294,6 +1305,12 @@ public:
|
||||
|
||||
#endif
|
||||
virtual void ModifyOrAppendCriteria( AI_CriteriaSet& set );
|
||||
#ifdef NEW_RESPONSE_SYSTEM
|
||||
// this computes criteria that depend on the other criteria having been set.
|
||||
// needs to be done in a second pass because we may have multiple overrids for
|
||||
// a context before it all settles out.
|
||||
virtual void ModifyOrAppendDerivedCriteria( AI_CriteriaSet& set ) {};
|
||||
#endif
|
||||
void AppendContextToCriteria( AI_CriteriaSet& set, const char *prefix = "" );
|
||||
#ifdef MAPBASE
|
||||
void ReAppendContextCriteria( AI_CriteriaSet& set );
|
||||
|
||||
Reference in New Issue
Block a user