summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2014-11-28 15:05:43 +0300
committerAndrei Karas <akaras@inbox.ru>2014-12-06 16:16:07 +0300
commit95e00b5f0180131bf035bd9f52c83c2788ad10d9 (patch)
tree20e56937059531d49900fa6d8ab323b04a6e31d8
parent7925f0bab99662bde537d6745102c25955d054cb (diff)
downloadhercules-95e00b5f0180131bf035bd9f52c83c2788ad10d9.tar.gz
hercules-95e00b5f0180131bf035bd9f52c83c2788ad10d9.tar.bz2
hercules-95e00b5f0180131bf035bd9f52c83c2788ad10d9.tar.xz
hercules-95e00b5f0180131bf035bd9f52c83c2788ad10d9.zip
update HPM hooks.
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc8
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc2
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc53
3 files changed, 63 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index 5448186d0..74e765cee 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -423,6 +423,8 @@ struct {
struct HPMHookPoint *HP_clif_send_post;
struct HPMHookPoint *HP_clif_send_sub_pre;
struct HPMHookPoint *HP_clif_send_sub_post;
+ struct HPMHookPoint *HP_clif_send_actual_pre;
+ struct HPMHookPoint *HP_clif_send_actual_post;
struct HPMHookPoint *HP_clif_parse_pre;
struct HPMHookPoint *HP_clif_parse_post;
struct HPMHookPoint *HP_clif_parse_cmd_pre;
@@ -505,6 +507,8 @@ struct {
struct HPMHookPoint *HP_clif_changetraplook_post;
struct HPMHookPoint *HP_clif_refreshlook_pre;
struct HPMHookPoint *HP_clif_refreshlook_post;
+ struct HPMHookPoint *HP_clif_sendlook_pre;
+ struct HPMHookPoint *HP_clif_sendlook_post;
struct HPMHookPoint *HP_clif_class_change_pre;
struct HPMHookPoint *HP_clif_class_change_post;
struct HPMHookPoint *HP_clif_skill_delunit_pre;
@@ -5490,6 +5494,8 @@ struct {
int HP_clif_send_post;
int HP_clif_send_sub_pre;
int HP_clif_send_sub_post;
+ int HP_clif_send_actual_pre;
+ int HP_clif_send_actual_post;
int HP_clif_parse_pre;
int HP_clif_parse_post;
int HP_clif_parse_cmd_pre;
@@ -5572,6 +5578,8 @@ struct {
int HP_clif_changetraplook_post;
int HP_clif_refreshlook_pre;
int HP_clif_refreshlook_post;
+ int HP_clif_sendlook_pre;
+ int HP_clif_sendlook_post;
int HP_clif_class_change_pre;
int HP_clif_class_change_post;
int HP_clif_skill_delunit_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index af376fe05..5d0545f82 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -221,6 +221,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->refresh_ip, HP_clif_refresh_ip) },
{ HP_POP(clif->send, HP_clif_send) },
{ HP_POP(clif->send_sub, HP_clif_send_sub) },
+ { HP_POP(clif->send_actual, HP_clif_send_actual) },
{ HP_POP(clif->parse, HP_clif_parse) },
{ HP_POP(clif->parse_cmd, HP_clif_parse_cmd) },
{ HP_POP(clif->decrypt_cmd, HP_clif_decrypt_cmd) },
@@ -262,6 +263,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(clif->changelook, HP_clif_changelook) },
{ HP_POP(clif->changetraplook, HP_clif_changetraplook) },
{ HP_POP(clif->refreshlook, HP_clif_refreshlook) },
+ { HP_POP(clif->sendlook, HP_clif_sendlook) },
{ HP_POP(clif->class_change, HP_clif_class_change) },
{ HP_POP(clif->skill_delunit, HP_clif_skill_delunit) },
{ HP_POP(clif->skillunit_update, HP_clif_skillunit_update) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 954436e94..6531492a3 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -5688,6 +5688,33 @@ int HP_clif_send_sub(struct block_list *bl, va_list ap) {
}
return retVal___;
}
+int HP_clif_send_actual(int fd, void *buf, int len) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if( HPMHooks.count.HP_clif_send_actual_pre ) {
+ int (*preHookFunc) (int *fd, void *buf, int *len);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_actual_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_clif_send_actual_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, buf, &len);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.clif.send_actual(fd, buf, len);
+ }
+ if( HPMHooks.count.HP_clif_send_actual_post ) {
+ int (*postHookFunc) (int retVal___, int *fd, void *buf, int *len);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_send_actual_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_clif_send_actual_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, &fd, buf, &len);
+ }
+ }
+ return retVal___;
+}
int HP_clif_parse(int fd) {
int hIndex = 0;
int retVal___ = 0;
@@ -6757,6 +6784,32 @@ void HP_clif_refreshlook(struct block_list *bl, int id, int type, int val, enum
}
return;
}
+void HP_clif_sendlook(struct block_list *bl, int id, int type, int val, int val2, enum send_target target) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_clif_sendlook_pre ) {
+ void (*preHookFunc) (struct block_list *bl, int *id, int *type, int *val, int *val2, enum send_target *target);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_sendlook_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_clif_sendlook_pre[hIndex].func;
+ preHookFunc(bl, &id, &type, &val, &val2, &target);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.clif.sendlook(bl, id, type, val, val2, target);
+ }
+ if( HPMHooks.count.HP_clif_sendlook_post ) {
+ void (*postHookFunc) (struct block_list *bl, int *id, int *type, int *val, int *val2, enum send_target *target);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_clif_sendlook_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_clif_sendlook_post[hIndex].func;
+ postHookFunc(bl, &id, &type, &val, &val2, &target);
+ }
+ }
+ return;
+}
void HP_clif_class_change(struct block_list *bl, int class_, int type) {
int hIndex = 0;
if( HPMHooks.count.HP_clif_class_change_pre ) {