summaryrefslogtreecommitdiff
path: root/src/plugins/HPMHooking
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/HPMHooking')
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc4
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc1
-rw-r--r--src/plugins/HPMHooking/HPMHooking_map.Hooks.inc26
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 e538f53a2..40023d490 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -2935,6 +2935,8 @@ struct {
struct HPMHookPoint *HP_map_remove_questinfo_post;
struct HPMHookPoint *HP_map_merge_zone_pre;
struct HPMHookPoint *HP_map_merge_zone_post;
+ struct HPMHookPoint *HP_map_zone_clear_single_pre;
+ struct HPMHookPoint *HP_map_zone_clear_single_post;
struct HPMHookPoint *HP_mapit_alloc_pre;
struct HPMHookPoint *HP_mapit_alloc_post;
struct HPMHookPoint *HP_mapit_free_pre;
@@ -8110,6 +8112,8 @@ struct {
int HP_map_remove_questinfo_post;
int HP_map_merge_zone_pre;
int HP_map_merge_zone_post;
+ int HP_map_zone_clear_single_pre;
+ int HP_map_zone_clear_single_post;
int HP_mapit_alloc_pre;
int HP_mapit_alloc_post;
int HP_mapit_free_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index f3ea65b93..e127caeae 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -1490,6 +1490,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(map->add_questinfo, HP_map_add_questinfo) },
{ HP_POP(map->remove_questinfo, HP_map_remove_questinfo) },
{ HP_POP(map->merge_zone, HP_map_merge_zone) },
+ { HP_POP(map->zone_clear_single, HP_map_zone_clear_single) },
/* mapit */
{ HP_POP(mapit->alloc, HP_mapit_alloc) },
{ HP_POP(mapit->free, HP_mapit_free) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index 97d2838b4..c479fe435 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -39051,6 +39051,32 @@ struct map_zone_data* HP_map_merge_zone(struct map_zone_data *main, struct map_z
}
return retVal___;
}
+void HP_map_zone_clear_single(struct map_zone_data *zone) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_map_zone_clear_single_pre ) {
+ void (*preHookFunc) (struct map_zone_data *zone);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_clear_single_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_map_zone_clear_single_pre[hIndex].func;
+ preHookFunc(zone);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.map.zone_clear_single(zone);
+ }
+ if( HPMHooks.count.HP_map_zone_clear_single_post ) {
+ void (*postHookFunc) (struct map_zone_data *zone);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_map_zone_clear_single_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_map_zone_clear_single_post[hIndex].func;
+ postHookFunc(zone);
+ }
+ }
+ return;
+}
/* mapit */
struct s_mapiterator* HP_mapit_alloc(enum e_mapitflags flags, enum bl_type types) {
int hIndex = 0;