summaryrefslogtreecommitdiff
path: root/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
diff options
context:
space:
mode:
authorsmokexyz <sagunkho@hotmail.com>2017-05-22 20:51:25 +0800
committersmokexyz <sagunkho@hotmail.com>2017-05-22 20:51:25 +0800
commitd966a8e6860d418bb3a235e57928436127eba555 (patch)
treee63429ebb90c705fc5c6a823969cd07f0b85e1b8 /src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
parente8affc41f106503b530abaa7faa20d6e63b727b8 (diff)
downloadhercules-d966a8e6860d418bb3a235e57928436127eba555.tar.gz
hercules-d966a8e6860d418bb3a235e57928436127eba555.tar.bz2
hercules-d966a8e6860d418bb3a235e57928436127eba555.tar.xz
hercules-d966a8e6860d418bb3a235e57928436127eba555.zip
HPM Hook Update follow-up e8affc41f106503b530abaa7faa20d6e63b727b8
Diffstat (limited to 'src/plugins/HPMHooking/HPMHooking_char.Hooks.inc')
-rw-r--r--src/plugins/HPMHooking/HPMHooking_char.Hooks.inc185
1 files changed, 179 insertions, 6 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
index d2853fcdc..656fd8e07 100644
--- a/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_char.Hooks.inc
@@ -8032,15 +8032,81 @@ int HP_inter_quest_parse_frommap(int fd) {
return retVal___;
}
/* inter_storage_interface */
-int HP_inter_storage_tosql(int account_id, struct storage_data *p) {
+struct DBData HP_inter_storage_ensure_account_storage(union DBKey key, va_list args) {
+ int hIndex = 0;
+ struct DBData retVal___ = { 0 };
+ if (HPMHooks.count.HP_inter_storage_ensure_account_storage_pre > 0) {
+ struct DBData (*preHookFunc) (union DBKey *key, va_list args);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_ensure_account_storage_pre; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ preHookFunc = HPMHooks.list.HP_inter_storage_ensure_account_storage_pre[hIndex].func;
+ retVal___ = preHookFunc(&key, args___copy);
+ va_end(args___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list args___copy; va_copy(args___copy, args);
+ retVal___ = HPMHooks.source.inter_storage.ensure_account_storage(key, args___copy);
+ va_end(args___copy);
+ }
+ if (HPMHooks.count.HP_inter_storage_ensure_account_storage_post > 0) {
+ struct DBData (*postHookFunc) (struct DBData retVal___, union DBKey key, va_list args);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_ensure_account_storage_post; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ postHookFunc = HPMHooks.list.HP_inter_storage_ensure_account_storage_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, key, args___copy);
+ va_end(args___copy);
+ }
+ }
+ return retVal___;
+}
+int HP_inter_storage_clear_account_storage(union DBKey key, struct DBData *data, va_list args) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_inter_storage_clear_account_storage_pre > 0) {
+ int (*preHookFunc) (union DBKey *key, struct DBData **data, va_list args);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_clear_account_storage_pre; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ preHookFunc = HPMHooks.list.HP_inter_storage_clear_account_storage_pre[hIndex].func;
+ retVal___ = preHookFunc(&key, &data, args___copy);
+ va_end(args___copy);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ va_list args___copy; va_copy(args___copy, args);
+ retVal___ = HPMHooks.source.inter_storage.clear_account_storage(key, data, args___copy);
+ va_end(args___copy);
+ }
+ if (HPMHooks.count.HP_inter_storage_clear_account_storage_post > 0) {
+ int (*postHookFunc) (int retVal___, union DBKey key, struct DBData *data, va_list args);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_clear_account_storage_post; hIndex++) {
+ va_list args___copy; va_copy(args___copy, args);
+ postHookFunc = HPMHooks.list.HP_inter_storage_clear_account_storage_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, key, data, args___copy);
+ va_end(args___copy);
+ }
+ }
+ return retVal___;
+}
+int HP_inter_storage_tosql(int account_id, struct storage_data *cp, const struct storage_data *p) {
int hIndex = 0;
int retVal___ = 0;
if (HPMHooks.count.HP_inter_storage_tosql_pre > 0) {
- int (*preHookFunc) (int *account_id, struct storage_data **p);
+ int (*preHookFunc) (int *account_id, struct storage_data **cp, const struct storage_data **p);
*HPMforce_return = false;
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_tosql_pre; hIndex++) {
preHookFunc = HPMHooks.list.HP_inter_storage_tosql_pre[hIndex].func;
- retVal___ = preHookFunc(&account_id, &p);
+ retVal___ = preHookFunc(&account_id, &cp, &p);
}
if (*HPMforce_return) {
*HPMforce_return = false;
@@ -8048,13 +8114,13 @@ int HP_inter_storage_tosql(int account_id, struct storage_data *p) {
}
}
{
- retVal___ = HPMHooks.source.inter_storage.tosql(account_id, p);
+ retVal___ = HPMHooks.source.inter_storage.tosql(account_id, cp, p);
}
if (HPMHooks.count.HP_inter_storage_tosql_post > 0) {
- int (*postHookFunc) (int retVal___, int account_id, struct storage_data *p);
+ int (*postHookFunc) (int retVal___, int account_id, struct storage_data *cp, const struct storage_data *p);
for (hIndex = 0; hIndex < HPMHooks.count.HP_inter_storage_tosql_post; hIndex++) {
postHookFunc = HPMHooks.list.HP_inter_storage_tosql_post[hIndex].func;
- retVal___ = postHookFunc(retVal___, account_id, p);
+ retVal___ = postHookFunc(retVal___, account_id, cp, p);
}
}
return retVal___;
@@ -14430,6 +14496,113 @@ int HP_mapif_parse_SaveGuildStorage(int fd) {
}
return retVal___;
}
+int HP_mapif_account_storage_load(int fd, int account_id) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_account_storage_load_pre > 0) {
+ int (*preHookFunc) (int *fd, int *account_id);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_account_storage_load_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_account_storage_load_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd, &account_id);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.account_storage_load(fd, account_id);
+ }
+ if (HPMHooks.count.HP_mapif_account_storage_load_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd, int account_id);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_account_storage_load_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_account_storage_load_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd, account_id);
+ }
+ }
+ return retVal___;
+}
+int HP_mapif_pAccountStorageLoad(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_pAccountStorageLoad_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_pAccountStorageLoad_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_pAccountStorageLoad_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.pAccountStorageLoad(fd);
+ }
+ if (HPMHooks.count.HP_mapif_pAccountStorageLoad_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_pAccountStorageLoad_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_pAccountStorageLoad_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+int HP_mapif_pAccountStorageSave(int fd) {
+ int hIndex = 0;
+ int retVal___ = 0;
+ if (HPMHooks.count.HP_mapif_pAccountStorageSave_pre > 0) {
+ int (*preHookFunc) (int *fd);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_pAccountStorageSave_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_pAccountStorageSave_pre[hIndex].func;
+ retVal___ = preHookFunc(&fd);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return retVal___;
+ }
+ }
+ {
+ retVal___ = HPMHooks.source.mapif.pAccountStorageSave(fd);
+ }
+ if (HPMHooks.count.HP_mapif_pAccountStorageSave_post > 0) {
+ int (*postHookFunc) (int retVal___, int fd);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_pAccountStorageSave_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_pAccountStorageSave_post[hIndex].func;
+ retVal___ = postHookFunc(retVal___, fd);
+ }
+ }
+ return retVal___;
+}
+void HP_mapif_sAccountStorageSaveAck(int fd, int account_id, bool save) {
+ int hIndex = 0;
+ if (HPMHooks.count.HP_mapif_sAccountStorageSaveAck_pre > 0) {
+ void (*preHookFunc) (int *fd, int *account_id, bool *save);
+ *HPMforce_return = false;
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_sAccountStorageSaveAck_pre; hIndex++) {
+ preHookFunc = HPMHooks.list.HP_mapif_sAccountStorageSaveAck_pre[hIndex].func;
+ preHookFunc(&fd, &account_id, &save);
+ }
+ if (*HPMforce_return) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.mapif.sAccountStorageSaveAck(fd, account_id, save);
+ }
+ if (HPMHooks.count.HP_mapif_sAccountStorageSaveAck_post > 0) {
+ void (*postHookFunc) (int fd, int account_id, bool save);
+ for (hIndex = 0; hIndex < HPMHooks.count.HP_mapif_sAccountStorageSaveAck_post; hIndex++) {
+ postHookFunc = HPMHooks.list.HP_mapif_sAccountStorageSaveAck_post[hIndex].func;
+ postHookFunc(fd, account_id, save);
+ }
+ }
+ return;
+}
int HP_mapif_itembound_ack(int fd, int aid, int guild_id) {
int hIndex = 0;
int retVal___ = 0;