summaryrefslogtreecommitdiff
path: root/src/plugins/HPMHooking
diff options
context:
space:
mode:
authorHercules.ws <Hercules@efficiently.awesome>2016-02-21 21:25:47 +0100
committerHerculesWSAPI <Hercules@efficiently.awesome>2016-02-21 21:25:47 +0100
commitdd6b3997c6469e4b16d41701416ee70d95225371 (patch)
tree2d708b0a8c61c7b31b9c698f8d6e42c14a94f200 /src/plugins/HPMHooking
parent78686377e8eb1510944da9cd7c90dab7f10316f3 (diff)
downloadhercules-dd6b3997c6469e4b16d41701416ee70d95225371.tar.gz
hercules-dd6b3997c6469e4b16d41701416ee70d95225371.tar.bz2
hercules-dd6b3997c6469e4b16d41701416ee70d95225371.tar.xz
hercules-dd6b3997c6469e4b16d41701416ee70d95225371.zip
HPM Hooks Update
Signed-off-by: HerculesWSAPI <Hercules@efficiently.awesome>
Diffstat (limited to 'src/plugins/HPMHooking')
-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.inc64
3 files changed, 68 insertions, 6 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
index d3210cbe7..c6e55bfe3 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -2670,6 +2670,8 @@ struct {
struct HPMHookPoint *HP_itemdb_searchrandomid_post;
struct HPMHookPoint *HP_itemdb_typename_pre;
struct HPMHookPoint *HP_itemdb_typename_post;
+ struct HPMHookPoint *HP_itemdb_jobmask2mapid_pre;
+ struct HPMHookPoint *HP_itemdb_jobmask2mapid_post;
struct HPMHookPoint *HP_itemdb_jobid2mapid_pre;
struct HPMHookPoint *HP_itemdb_jobid2mapid_post;
struct HPMHookPoint *HP_itemdb_create_dummy_data_pre;
@@ -2718,6 +2720,8 @@ struct {
struct HPMHookPoint *HP_itemdb_validate_entry_post;
struct HPMHookPoint *HP_itemdb_readdb_additional_fields_pre;
struct HPMHookPoint *HP_itemdb_readdb_additional_fields_post;
+ struct HPMHookPoint *HP_itemdb_readdb_job_sub_pre;
+ struct HPMHookPoint *HP_itemdb_readdb_job_sub_post;
struct HPMHookPoint *HP_itemdb_readdb_libconfig_sub_pre;
struct HPMHookPoint *HP_itemdb_readdb_libconfig_sub_post;
struct HPMHookPoint *HP_itemdb_readdb_libconfig_pre;
@@ -8541,6 +8545,8 @@ struct {
int HP_itemdb_searchrandomid_post;
int HP_itemdb_typename_pre;
int HP_itemdb_typename_post;
+ int HP_itemdb_jobmask2mapid_pre;
+ int HP_itemdb_jobmask2mapid_post;
int HP_itemdb_jobid2mapid_pre;
int HP_itemdb_jobid2mapid_post;
int HP_itemdb_create_dummy_data_pre;
@@ -8589,6 +8595,8 @@ struct {
int HP_itemdb_validate_entry_post;
int HP_itemdb_readdb_additional_fields_pre;
int HP_itemdb_readdb_additional_fields_post;
+ int HP_itemdb_readdb_job_sub_pre;
+ int HP_itemdb_readdb_job_sub_post;
int HP_itemdb_readdb_libconfig_sub_pre;
int HP_itemdb_readdb_libconfig_sub_post;
int HP_itemdb_readdb_libconfig_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 4ccb217a1..c2d104cda 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -1368,6 +1368,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->searchname_array_sub, HP_itemdb_searchname_array_sub) },
{ HP_POP(itemdb->searchrandomid, HP_itemdb_searchrandomid) },
{ HP_POP(itemdb->typename, HP_itemdb_typename) },
+ { HP_POP(itemdb->jobmask2mapid, HP_itemdb_jobmask2mapid) },
{ HP_POP(itemdb->jobid2mapid, HP_itemdb_jobid2mapid) },
{ HP_POP(itemdb->create_dummy_data, HP_itemdb_create_dummy_data) },
{ HP_POP(itemdb->create_item_data, HP_itemdb_create_item_data) },
@@ -1392,6 +1393,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(itemdb->gendercheck, HP_itemdb_gendercheck) },
{ HP_POP(itemdb->validate_entry, HP_itemdb_validate_entry) },
{ HP_POP(itemdb->readdb_additional_fields, HP_itemdb_readdb_additional_fields) },
+ { HP_POP(itemdb->readdb_job_sub, HP_itemdb_readdb_job_sub) },
{ HP_POP(itemdb->readdb_libconfig_sub, HP_itemdb_readdb_libconfig_sub) },
{ HP_POP(itemdb->readdb_libconfig, HP_itemdb_readdb_libconfig) },
{ HP_POP(itemdb->unique_id, HP_itemdb_unique_id) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index fac51d0bf..fb761919b 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -35136,14 +35136,40 @@ const char* HP_itemdb_typename(int type) {
}
return retVal___;
}
-void HP_itemdb_jobid2mapid(unsigned int *bclass, unsigned int jobmask) {
+void HP_itemdb_jobmask2mapid(uint64 *bclass, int64 jobmask) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_itemdb_jobmask2mapid_pre ) {
+ void (*preHookFunc) (uint64 *bclass, int64 *jobmask);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_jobmask2mapid_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_itemdb_jobmask2mapid_pre[hIndex].func;
+ preHookFunc(bclass, &jobmask);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.itemdb.jobmask2mapid(bclass, jobmask);
+ }
+ if( HPMHooks.count.HP_itemdb_jobmask2mapid_post ) {
+ void (*postHookFunc) (uint64 *bclass, int64 *jobmask);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_jobmask2mapid_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_itemdb_jobmask2mapid_post[hIndex].func;
+ postHookFunc(bclass, &jobmask);
+ }
+ }
+ return;
+}
+void HP_itemdb_jobid2mapid(uint64 *bclass, int job_id, bool enable) {
int hIndex = 0;
if( HPMHooks.count.HP_itemdb_jobid2mapid_pre ) {
- void (*preHookFunc) (unsigned int *bclass, unsigned int *jobmask);
+ void (*preHookFunc) (uint64 *bclass, int *job_id, bool *enable);
*HPMforce_return = false;
for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_jobid2mapid_pre; hIndex++ ) {
preHookFunc = HPMHooks.list.HP_itemdb_jobid2mapid_pre[hIndex].func;
- preHookFunc(bclass, &jobmask);
+ preHookFunc(bclass, &job_id, &enable);
}
if( *HPMforce_return ) {
*HPMforce_return = false;
@@ -35151,13 +35177,13 @@ void HP_itemdb_jobid2mapid(unsigned int *bclass, unsigned int jobmask) {
}
}
{
- HPMHooks.source.itemdb.jobid2mapid(bclass, jobmask);
+ HPMHooks.source.itemdb.jobid2mapid(bclass, job_id, enable);
}
if( HPMHooks.count.HP_itemdb_jobid2mapid_post ) {
- void (*postHookFunc) (unsigned int *bclass, unsigned int *jobmask);
+ void (*postHookFunc) (uint64 *bclass, int *job_id, bool *enable);
for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_jobid2mapid_post; hIndex++ ) {
postHookFunc = HPMHooks.list.HP_itemdb_jobid2mapid_post[hIndex].func;
- postHookFunc(bclass, &jobmask);
+ postHookFunc(bclass, &job_id, &enable);
}
}
return;
@@ -35780,6 +35806,32 @@ void HP_itemdb_readdb_additional_fields(int itemid, struct config_setting_t *it,
}
return;
}
+void HP_itemdb_readdb_job_sub(struct item_data *id, struct config_setting_t *t) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_itemdb_readdb_job_sub_pre ) {
+ void (*preHookFunc) (struct item_data *id, struct config_setting_t *t);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_readdb_job_sub_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_itemdb_readdb_job_sub_pre[hIndex].func;
+ preHookFunc(id, t);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.itemdb.readdb_job_sub(id, t);
+ }
+ if( HPMHooks.count.HP_itemdb_readdb_job_sub_post ) {
+ void (*postHookFunc) (struct item_data *id, struct config_setting_t *t);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_itemdb_readdb_job_sub_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_itemdb_readdb_job_sub_post[hIndex].func;
+ postHookFunc(id, t);
+ }
+ }
+ return;
+}
int HP_itemdb_readdb_libconfig_sub(struct config_setting_t *it, int n, const char *source) {
int hIndex = 0;
int retVal___ = 0;