forked from ivailosp/l4dtoolz
-
Notifications
You must be signed in to change notification settings - Fork 0
/
l4dtoolz_mm.h
65 lines (52 loc) · 1.96 KB
/
l4dtoolz_mm.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef _INCLUDE_METAMOD_SOURCE_STUB_PLUGIN_H_
#define _INCLUDE_METAMOD_SOURCE_STUB_PLUGIN_H_
#include <ISmmPlugin.h>
class l4dtoolz : public ISmmPlugin, public IMetamodListener
{
public:
bool Load(PluginId id, ISmmAPI *ismm, char *error, size_t maxlen, bool late);
bool Unload(char *error, size_t maxlen);
bool Pause(char *error, size_t maxlen);
bool Unpause(char *error, size_t maxlen);
void OnVSPListening(IServerPluginCallbacks *iface);
public:
const char *GetAuthor();
const char *GetName();
const char *GetDescription();
const char *GetURL();
const char *GetLicense();
const char *GetVersion();
const char *GetDate();
const char *GetLogTag();
public:
static void OnChangeMaxplayers ( IConVar *var, const char *pOldValue, float flOldValue );
static void OnChangeRemovehumanlimit ( IConVar *var, const char *pOldValue, float flOldValue );
static void OnChangeUnreserved ( IConVar *var, const char *pOldValue, float flOldValue );
static void OnChangeIvailosp ( IConVar *var, const char *pOldValue, float flOldValue );
static char* max_players_friend_lobby;
static char* max_players_connect;
static char* max_players_server_browser;
static char* lobby_sux_ptr;
static char* chuman_limit;
static char* tmp_player;
static char* tmp_player2;
static char* unreserved_ptr;
static char* lobby_match_ptr;
public:
static bool find_base(const char* name, char*& base_addr, size_t& base_len);
static void* FindSignature(const char* mask, const char* base_addr, size_t base_len, bool pure_sign = false);
static void get_org_sig(const char* offset, const char* new_sig, char*& org_sig);
static void WriteSignature(char* addr, const char* signature);
static void ReadSignature(const char* addr, char* signature);
private:
#if !defined METAMOD_PLAPI_VERSION
SourceHook::CallClass<IVEngineServer> *m_EngineCC;
#endif
#ifdef WIN32
private:
static HANDLE hProcess;
#endif
};
extern l4dtoolz g_l4dtoolz;
PLUGIN_GLOBALVARS();
#endif //_INCLUDE_METAMOD_SOURCE_STUB_PLUGIN_H_