diff options
author | Haruna <haru@dotalux.com> | 2015-01-19 20:05:10 +0100 |
---|---|---|
committer | Haruna <haru@dotalux.com> | 2015-01-19 20:05:10 +0100 |
commit | 03709c136ad300be631adfd38dc36c2433bda718 (patch) | |
tree | b690163936b99640f78141f36320fb2921556747 /src/plugins/HPMHooking | |
parent | e3426296a6add20845bd08013355fd3d5f975556 (diff) | |
parent | def25b0d1ef77cfbd4ce09656c1cef9ec0a33269 (diff) | |
download | hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.gz hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.bz2 hercules-03709c136ad300be631adfd38dc36c2433bda718.tar.xz hercules-03709c136ad300be631adfd38dc36c2433bda718.zip |
Merge pull request #443 from 4144/pcext
Extract exp table validation into separate function.
Diffstat (limited to 'src/plugins/HPMHooking')
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc | 4 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc | 1 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.Hooks.inc | 26 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc index c79d9db75..0433cc54c 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc @@ -3945,6 +3945,8 @@ struct { struct HPMHookPoint *HP_pc_expire_check_post; struct HPMHookPoint *HP_pc_db_checkid_pre; struct HPMHookPoint *HP_pc_db_checkid_post; + struct HPMHookPoint *HP_pc_validate_levels_pre; + struct HPMHookPoint *HP_pc_validate_levels_post; struct HPMHookPoint *HP_pc_autotrade_load_pre; struct HPMHookPoint *HP_pc_autotrade_load_post; struct HPMHookPoint *HP_pc_autotrade_update_pre; @@ -9098,6 +9100,8 @@ struct { int HP_pc_expire_check_post; int HP_pc_db_checkid_pre; int HP_pc_db_checkid_post; + int HP_pc_validate_levels_pre; + int HP_pc_validate_levels_post; int HP_pc_autotrade_load_pre; int HP_pc_autotrade_load_post; int HP_pc_autotrade_update_pre; diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc index cab2f169c..a8437c10a 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc @@ -2003,6 +2003,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(pc->global_expiration_timer, HP_pc_global_expiration_timer) }, { HP_POP(pc->expire_check, HP_pc_expire_check) }, { HP_POP(pc->db_checkid, HP_pc_db_checkid) }, + { HP_POP(pc->validate_levels, HP_pc_validate_levels) }, { HP_POP(pc->autotrade_load, HP_pc_autotrade_load) }, { HP_POP(pc->autotrade_update, HP_pc_autotrade_update) }, { HP_POP(pc->autotrade_start, HP_pc_autotrade_start) }, diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc index 3feaa780a..f8056c9cb 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc @@ -52802,6 +52802,32 @@ bool HP_pc_db_checkid(unsigned int class_) { } return retVal___; } +void HP_pc_validate_levels(void) { + int hIndex = 0; + if( HPMHooks.count.HP_pc_validate_levels_pre ) { + void (*preHookFunc) (void); + *HPMforce_return = false; + for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_validate_levels_pre; hIndex++ ) { + preHookFunc = HPMHooks.list.HP_pc_validate_levels_pre[hIndex].func; + preHookFunc(); + } + if( *HPMforce_return ) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.pc.validate_levels(); + } + if( HPMHooks.count.HP_pc_validate_levels_post ) { + void (*postHookFunc) (void); + for(hIndex = 0; hIndex < HPMHooks.count.HP_pc_validate_levels_post; hIndex++ ) { + postHookFunc = HPMHooks.list.HP_pc_validate_levels_post[hIndex].func; + postHookFunc(); + } + } + return; +} void HP_pc_autotrade_load(void) { int hIndex = 0; if( HPMHooks.count.HP_pc_autotrade_load_pre ) { |