3 * ===============================================================
4 * SourceMod (C)2004-2007 AlliedModders LLC. All rights reserved.
5 * ===============================================================
7 * This file is not open source and may not be copied without explicit
8 * written permission of AlliedModders LLC. This file may not be redistributed
9 * in whole or significant part.
10 * For information, see LICENSE.txt or http://www.sourcemod.net/license.php
15 #ifndef _INCLUDE_SOURCEMOD_CHALFLIFE2_H_
16 #define _INCLUDE_SOURCEMOD_CHALFLIFE2_H_
19 #include <sh_tinyhash.h>
21 #include "sm_globals.h"
22 #include <IGameHelpers.h>
24 using namespace SourceHook;
25 using namespace SourceMod;
27 #define HUD_PRINTTALK 3
28 #define HUD_PRINTCENTER 4
38 DataMapTrie() : trie(NULL) {}
50 void OnSourceModStartup(bool late);
51 void OnSourceModAllInitialized();
52 /*void OnSourceModAllShutdown();*/
53 public: //IGameHelpers
54 SendProp *FindInSendTable(const char *classname, const char *offset);
55 datamap_t *GetDataMap(CBaseEntity *pEntity);
56 ServerClass *FindServerClass(const char *classname);
57 typedescription_t *FindInDataMap(datamap_t *pMap, const char *offset);
58 void SetEdictStateChanged(edict_t *pEdict, unsigned short offset);
59 void TextMsg(int client, int dest, const char *msg);
61 DataTableInfo *_FindServerClass(const char *classname);
64 List<DataTableInfo *> m_Tables;
65 THash<datamap_t *, DataMapTrie> m_Maps;
69 extern CHalfLife2 g_HL2;
70 extern bool g_IsOriginalEngine;
72 #endif //_INCLUDE_SOURCEMOD_CHALFLIFE2_H_