From c7dd6ee04b115fdd4309fd0484e61ed3a89317af Mon Sep 17 00:00:00 2001 From: mittorn Date: Sun, 8 Jan 2017 19:06:39 +0000 Subject: [PATCH] Forgot bot_exports.h --- dlls/bot_exports.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 dlls/bot_exports.h diff --git a/dlls/bot_exports.h b/dlls/bot_exports.h new file mode 100644 index 00000000..ca58c319 --- /dev/null +++ b/dlls/bot_exports.h @@ -0,0 +1,44 @@ +void InstallBotControl(); +void Bot_ServerCommand(); +void Bot_RegisterCvars(); + +class CBotManager +{ +public: + CBotManager(); + virtual ~CBotManager(){} + + virtual void ClientDisconnect(CBasePlayer *pPlayer) = 0; + virtual BOOL ClientCommand(CBasePlayer *pPlayer, const char *pcmd) = 0; + + virtual void ServerActivate() = 0; + virtual void ServerDeactivate() = 0; + + virtual void ServerCommand(const char *pcmd) = 0; + virtual void AddServerCommand(const char *cmd) = 0; + virtual void AddServerCommands() = 0; + + virtual void RestartRound(); + virtual void StartFrame(); + + // Events are propogated to all bots. +// virtual void OnEvent(GameEventType event, CBaseEntity *entity = NULL, CBaseEntity *other = NULL); // Invoked when event occurs in the game (some events have NULL entity). + virtual unsigned int GetPlayerPriority(CBasePlayer *player) const = 0; // return priority of player (0 = max pri) + +public: + const char *GetNavMapFilename() const; // return the filename for this map's "nav" file + +// void AddGrenade(int type, CGrenade *grenade); // add an active grenade to the bot's awareness + //void RemoveGrenade(CGrenade *grenade); // the grenade entity in the world is going away + void ValidateActiveGrenades(); // destroy any invalid active grenades + void DestroyAllGrenades(); + + bool IsLineBlockedBySmoke(const Vector *from, const Vector *to); // return true if line intersects smoke volume + bool IsInsideSmokeCloud(const Vector *pos); // return true if position is inside a smoke cloud + +private: + // the list of active grenades the bots are aware of +// ActiveGrenadeList m_activeGrenadeList; +}; + +extern CBotManager *TheBots; \ No newline at end of file