summaryrefslogtreecommitdiff
path: root/src/elogin/init.c
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-05-02 19:06:39 +0300
committerAndrei Karas <akaras@inbox.ru>2016-05-02 19:06:39 +0300
commit1fc6228436311da0d70f14176fe47f3e37f6faa6 (patch)
tree9434c90ab44ac55200daa199f524fa11f3168678 /src/elogin/init.c
parent00d1b8bf9fc3648730904b6f86696417f4445037 (diff)
downloadevol-hercules-1fc6228436311da0d70f14176fe47f3e37f6faa6.tar.gz
evol-hercules-1fc6228436311da0d70f14176fe47f3e37f6faa6.tar.bz2
evol-hercules-1fc6228436311da0d70f14176fe47f3e37f6faa6.tar.xz
evol-hercules-1fc6228436311da0d70f14176fe47f3e37f6faa6.zip
Update function hook prototypes for support new hercules.
Diffstat (limited to 'src/elogin/init.c')
-rw-r--r--src/elogin/init.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/elogin/init.c b/src/elogin/init.c
index 4246ffd..d420cba 100644
--- a/src/elogin/init.c
+++ b/src/elogin/init.c
@@ -15,6 +15,7 @@
#include "common/timer.h"
#include "common/mapindex.h"
#include "login/lclif.h"
+#include "login/lclif.p.h"
#include "login/login.h"
#include "ecommon/init.h"
@@ -33,6 +34,11 @@ HPExport struct hplugin_info pinfo =
HPM_VERSION
};
+#define addHookPrePriv(ifname, type, funcname, hook) ( \
+ (void)((HPMHOOK_pre_ ## type ## _ ## funcname)0 == (hook)), \
+ HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->" #funcname, (hook), HPMi->pid) \
+ )
+
HPExport void plugin_init (void)
{
interfaces_init_common();
@@ -40,10 +46,12 @@ HPExport void plugin_init (void)
addPacket(0x7530, 22, login_parse_version, hpParse_Login);
addPacket(0x027c, 91, elogin_parse_client_login2, hpParse_Login);
addPacket(0x5000, 54, elogin_parse_change_paassword, hpParse_FromChar);
- addHookPre("login->client_login", elogin_client_login_pre);
- addHookPre("login->check_password", elogin_check_password);
- addHookPre("lclif->p->parse_CA_CONNECT_INFO_CHANGED", elogin_parse_ping);
- addHookPost("login->client_login", elogin_client_login_post);
+
+ addHookPre(login, client_login, elogin_client_login_pre);
+ addHookPre(login, check_password, elogin_check_password_pre);
+ addHookPrePriv(lclif->p, PRIV__lclif, parse_CA_CONNECT_INFO_CHANGED, elogin_parse_ping_pre);
+
+ addHookPost(login, client_login, elogin_client_login_post);
}
HPExport void server_preinit (void)