diff options
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking.Defs.inc | 26 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc | 36 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc | 9 | ||||
-rw-r--r-- | src/plugins/HPMHooking/HPMHooking_map.Hooks.inc | 189 |
4 files changed, 180 insertions, 80 deletions
diff --git a/src/plugins/HPMHooking/HPMHooking.Defs.inc b/src/plugins/HPMHooking/HPMHooking.Defs.inc index 920f81ca5..b59d80b9c 100644 --- a/src/plugins/HPMHooking/HPMHooking.Defs.inc +++ b/src/plugins/HPMHooking/HPMHooking.Defs.inc @@ -1300,8 +1300,10 @@ typedef void (*HPMHOOK_pre_clif_update_rankingpoint) (struct map_session_data ** typedef void (*HPMHOOK_post_clif_update_rankingpoint) (struct map_session_data *sd, enum fame_list_type type, int points); typedef void (*HPMHOOK_pre_clif_pRanklist) (int *fd, struct map_session_data **sd); typedef void (*HPMHOOK_post_clif_pRanklist) (int fd, struct map_session_data *sd); -typedef void (*HPMHOOK_pre_clif_hotkeys) (struct map_session_data **sd); -typedef void (*HPMHOOK_post_clif_hotkeys) (struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_hotkeys) (struct map_session_data **sd, int *tab); +typedef void (*HPMHOOK_post_clif_hotkeys) (struct map_session_data *sd, int tab); +typedef void (*HPMHOOK_pre_clif_hotkeysAll) (struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_hotkeysAll) (struct map_session_data *sd); typedef int (*HPMHOOK_pre_clif_insight) (struct block_list **bl, va_list ap); typedef int (*HPMHOOK_post_clif_insight) (int retVal___, struct block_list *bl, va_list ap); typedef int (*HPMHOOK_pre_clif_outsight) (struct block_list **bl, va_list ap); @@ -2086,8 +2088,10 @@ typedef void (*HPMHOOK_pre_clif_pLoadEndAck) (int *fd, struct map_session_data * typedef void (*HPMHOOK_post_clif_pLoadEndAck) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pTickSend) (int *fd, struct map_session_data **sd); typedef void (*HPMHOOK_post_clif_pTickSend) (int fd, struct map_session_data *sd); -typedef void (*HPMHOOK_pre_clif_pHotkey) (int *fd, struct map_session_data **sd); -typedef void (*HPMHOOK_post_clif_pHotkey) (int fd, struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_pHotkey1) (int *fd, struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_pHotkey1) (int fd, struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_pHotkey2) (int *fd, struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_pHotkey2) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pProgressbar) (int *fd, struct map_session_data **sd); typedef void (*HPMHOOK_post_clif_pProgressbar) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_pWalkToXY) (int *fd, struct map_session_data **sd); @@ -2546,8 +2550,10 @@ typedef void (*HPMHOOK_pre_clif_pNPCMarketPurchase) (int *fd, struct map_session typedef void (*HPMHOOK_post_clif_pNPCMarketPurchase) (int fd, struct map_session_data *sd); typedef int (*HPMHOOK_pre_clif_add_item_options) (struct ItemOptions **buf, const struct item **it); typedef int (*HPMHOOK_post_clif_add_item_options) (int retVal___, struct ItemOptions *buf, const struct item *it); -typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift) (int *fd, struct map_session_data **sd); -typedef void (*HPMHOOK_post_clif_pHotkeyRowShift) (int fd, struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift1) (int *fd, struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_pHotkeyRowShift1) (int fd, struct map_session_data *sd); +typedef void (*HPMHOOK_pre_clif_pHotkeyRowShift2) (int *fd, struct map_session_data **sd); +typedef void (*HPMHOOK_post_clif_pHotkeyRowShift2) (int fd, struct map_session_data *sd); typedef void (*HPMHOOK_pre_clif_dressroom_open) (struct map_session_data **sd, int *view); typedef void (*HPMHOOK_post_clif_dressroom_open) (struct map_session_data *sd, int view); typedef void (*HPMHOOK_pre_clif_pOneClick_ItemIdentify) (int *fd, struct map_session_data **sd); @@ -4816,8 +4822,8 @@ typedef void (*HPMHOOK_pre_map_update_cell_bl) (struct block_list **bl, bool *in typedef void (*HPMHOOK_post_map_update_cell_bl) (struct block_list *bl, bool increase); typedef int (*HPMHOOK_pre_map_get_new_bonus_id) (void); typedef int (*HPMHOOK_post_map_get_new_bonus_id) (int retVal___); -typedef void (*HPMHOOK_pre_map_add_questinfo) (int *m, struct questinfo **qi); -typedef void (*HPMHOOK_post_map_add_questinfo) (int m, struct questinfo *qi); +typedef bool (*HPMHOOK_pre_map_add_questinfo) (int *m, struct npc_data **nd); +typedef bool (*HPMHOOK_post_map_add_questinfo) (bool retVal___, int m, struct npc_data *nd); typedef bool (*HPMHOOK_pre_map_remove_questinfo) (int *m, struct npc_data **nd); typedef bool (*HPMHOOK_post_map_remove_questinfo) (bool retVal___, int m, struct npc_data *nd); typedef struct map_zone_data* (*HPMHOOK_pre_map_merge_zone) (struct map_zone_data **main, struct map_zone_data **other); @@ -5794,6 +5800,8 @@ typedef bool (*HPMHOOK_pre_npc_db_checkid) (const int *id); typedef bool (*HPMHOOK_post_npc_db_checkid) (bool retVal___, const int id); typedef void (*HPMHOOK_pre_npc_refresh) (struct npc_data **nd); typedef void (*HPMHOOK_post_npc_refresh) (struct npc_data *nd); +typedef void (*HPMHOOK_pre_npc_questinfo_clear) (struct npc_data **nd); +typedef void (*HPMHOOK_post_npc_questinfo_clear) (struct npc_data *nd); typedef int (*HPMHOOK_pre_npc_secure_timeout_timer) (int *tid, int64 *tick, int *id, intptr_t *data); typedef int (*HPMHOOK_post_npc_secure_timeout_timer) (int retVal___, int tid, int64 tick, int id, intptr_t data); #endif // MAP_NPC_H @@ -6626,8 +6634,6 @@ typedef bool (*HPMHOOK_pre_quest_questinfo_validate_quests) (struct map_session_ typedef bool (*HPMHOOK_post_quest_questinfo_validate_quests) (bool retVal___, struct map_session_data *sd, struct questinfo *qi); typedef bool (*HPMHOOK_pre_quest_questinfo_validate_mercenary_class) (struct map_session_data **sd, struct questinfo **qi); typedef bool (*HPMHOOK_post_quest_questinfo_validate_mercenary_class) (bool retVal___, struct map_session_data *sd, struct questinfo *qi); -typedef void (*HPMHOOK_pre_quest_questinfo_vector_clear) (int *m); -typedef void (*HPMHOOK_post_quest_questinfo_vector_clear) (int m); #endif // MAP_QUEST_H #ifdef MAP_REFINE_H /* refine */ typedef int (*HPMHOOK_pre_refine_init) (bool *minimal); diff --git a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc index 9c0b1905e..454a5229c 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc @@ -892,6 +892,8 @@ struct { struct HPMHookPoint *HP_clif_pRanklist_post; struct HPMHookPoint *HP_clif_hotkeys_pre; struct HPMHookPoint *HP_clif_hotkeys_post; + struct HPMHookPoint *HP_clif_hotkeysAll_pre; + struct HPMHookPoint *HP_clif_hotkeysAll_post; struct HPMHookPoint *HP_clif_insight_pre; struct HPMHookPoint *HP_clif_insight_post; struct HPMHookPoint *HP_clif_outsight_pre; @@ -1676,8 +1678,10 @@ struct { struct HPMHookPoint *HP_clif_pLoadEndAck_post; struct HPMHookPoint *HP_clif_pTickSend_pre; struct HPMHookPoint *HP_clif_pTickSend_post; - struct HPMHookPoint *HP_clif_pHotkey_pre; - struct HPMHookPoint *HP_clif_pHotkey_post; + struct HPMHookPoint *HP_clif_pHotkey1_pre; + struct HPMHookPoint *HP_clif_pHotkey1_post; + struct HPMHookPoint *HP_clif_pHotkey2_pre; + struct HPMHookPoint *HP_clif_pHotkey2_post; struct HPMHookPoint *HP_clif_pProgressbar_pre; struct HPMHookPoint *HP_clif_pProgressbar_post; struct HPMHookPoint *HP_clif_pWalkToXY_pre; @@ -2136,8 +2140,10 @@ struct { struct HPMHookPoint *HP_clif_pNPCMarketPurchase_post; struct HPMHookPoint *HP_clif_add_item_options_pre; struct HPMHookPoint *HP_clif_add_item_options_post; - struct HPMHookPoint *HP_clif_pHotkeyRowShift_pre; - struct HPMHookPoint *HP_clif_pHotkeyRowShift_post; + struct HPMHookPoint *HP_clif_pHotkeyRowShift1_pre; + struct HPMHookPoint *HP_clif_pHotkeyRowShift1_post; + struct HPMHookPoint *HP_clif_pHotkeyRowShift2_pre; + struct HPMHookPoint *HP_clif_pHotkeyRowShift2_post; struct HPMHookPoint *HP_clif_dressroom_open_pre; struct HPMHookPoint *HP_clif_dressroom_open_post; struct HPMHookPoint *HP_clif_pOneClick_ItemIdentify_pre; @@ -4356,6 +4362,8 @@ struct { struct HPMHookPoint *HP_npc_db_checkid_post; struct HPMHookPoint *HP_npc_refresh_pre; struct HPMHookPoint *HP_npc_refresh_post; + struct HPMHookPoint *HP_npc_questinfo_clear_pre; + struct HPMHookPoint *HP_npc_questinfo_clear_post; struct HPMHookPoint *HP_npc_secure_timeout_timer_pre; struct HPMHookPoint *HP_npc_secure_timeout_timer_post; struct HPMHookPoint *HP_nullpo_assert_report_pre; @@ -5136,8 +5144,6 @@ struct { struct HPMHookPoint *HP_quest_questinfo_validate_quests_post; struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_pre; struct HPMHookPoint *HP_quest_questinfo_validate_mercenary_class_post; - struct HPMHookPoint *HP_quest_questinfo_vector_clear_pre; - struct HPMHookPoint *HP_quest_questinfo_vector_clear_post; struct HPMHookPoint *HP_refine_init_pre; struct HPMHookPoint *HP_refine_init_post; struct HPMHookPoint *HP_refine_final_pre; @@ -7673,6 +7679,8 @@ struct { int HP_clif_pRanklist_post; int HP_clif_hotkeys_pre; int HP_clif_hotkeys_post; + int HP_clif_hotkeysAll_pre; + int HP_clif_hotkeysAll_post; int HP_clif_insight_pre; int HP_clif_insight_post; int HP_clif_outsight_pre; @@ -8457,8 +8465,10 @@ struct { int HP_clif_pLoadEndAck_post; int HP_clif_pTickSend_pre; int HP_clif_pTickSend_post; - int HP_clif_pHotkey_pre; - int HP_clif_pHotkey_post; + int HP_clif_pHotkey1_pre; + int HP_clif_pHotkey1_post; + int HP_clif_pHotkey2_pre; + int HP_clif_pHotkey2_post; int HP_clif_pProgressbar_pre; int HP_clif_pProgressbar_post; int HP_clif_pWalkToXY_pre; @@ -8917,8 +8927,10 @@ struct { int HP_clif_pNPCMarketPurchase_post; int HP_clif_add_item_options_pre; int HP_clif_add_item_options_post; - int HP_clif_pHotkeyRowShift_pre; - int HP_clif_pHotkeyRowShift_post; + int HP_clif_pHotkeyRowShift1_pre; + int HP_clif_pHotkeyRowShift1_post; + int HP_clif_pHotkeyRowShift2_pre; + int HP_clif_pHotkeyRowShift2_post; int HP_clif_dressroom_open_pre; int HP_clif_dressroom_open_post; int HP_clif_pOneClick_ItemIdentify_pre; @@ -11137,6 +11149,8 @@ struct { int HP_npc_db_checkid_post; int HP_npc_refresh_pre; int HP_npc_refresh_post; + int HP_npc_questinfo_clear_pre; + int HP_npc_questinfo_clear_post; int HP_npc_secure_timeout_timer_pre; int HP_npc_secure_timeout_timer_post; int HP_nullpo_assert_report_pre; @@ -11917,8 +11931,6 @@ struct { int HP_quest_questinfo_validate_quests_post; int HP_quest_questinfo_validate_mercenary_class_pre; int HP_quest_questinfo_validate_mercenary_class_post; - int HP_quest_questinfo_vector_clear_pre; - int HP_quest_questinfo_vector_clear_post; int HP_refine_init_pre; int HP_refine_init_post; int HP_refine_final_pre; diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc index 6c0b6db36..da2f81541 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc @@ -470,6 +470,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->update_rankingpoint, HP_clif_update_rankingpoint) }, { HP_POP(clif->pRanklist, HP_clif_pRanklist) }, { HP_POP(clif->hotkeys, HP_clif_hotkeys) }, + { HP_POP(clif->hotkeysAll, HP_clif_hotkeysAll) }, { HP_POP(clif->insight, HP_clif_insight) }, { HP_POP(clif->outsight, HP_clif_outsight) }, { HP_POP(clif->skillcastcancel, HP_clif_skillcastcancel) }, @@ -862,7 +863,8 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->pWantToConnection, HP_clif_pWantToConnection) }, { HP_POP(clif->pLoadEndAck, HP_clif_pLoadEndAck) }, { HP_POP(clif->pTickSend, HP_clif_pTickSend) }, - { HP_POP(clif->pHotkey, HP_clif_pHotkey) }, + { HP_POP(clif->pHotkey1, HP_clif_pHotkey1) }, + { HP_POP(clif->pHotkey2, HP_clif_pHotkey2) }, { HP_POP(clif->pProgressbar, HP_clif_pProgressbar) }, { HP_POP(clif->pWalkToXY, HP_clif_pWalkToXY) }, { HP_POP(clif->pQuitGame, HP_clif_pQuitGame) }, @@ -1092,7 +1094,8 @@ struct HookingPointData HookingPoints[] = { { HP_POP(clif->pNPCMarketClosed, HP_clif_pNPCMarketClosed) }, { HP_POP(clif->pNPCMarketPurchase, HP_clif_pNPCMarketPurchase) }, { HP_POP(clif->add_item_options, HP_clif_add_item_options) }, - { HP_POP(clif->pHotkeyRowShift, HP_clif_pHotkeyRowShift) }, + { HP_POP(clif->pHotkeyRowShift1, HP_clif_pHotkeyRowShift1) }, + { HP_POP(clif->pHotkeyRowShift2, HP_clif_pHotkeyRowShift2) }, { HP_POP(clif->dressroom_open, HP_clif_dressroom_open) }, { HP_POP(clif->pOneClick_ItemIdentify, HP_clif_pOneClick_ItemIdentify) }, { HP_POP(clif->selectcart, HP_clif_selectcart) }, @@ -2230,6 +2233,7 @@ struct HookingPointData HookingPoints[] = { { HP_POP(npc->barter_delfromsql_sub, HP_npc_barter_delfromsql_sub) }, { HP_POP(npc->db_checkid, HP_npc_db_checkid) }, { HP_POP(npc->refresh, HP_npc_refresh) }, + { HP_POP(npc->questinfo_clear, HP_npc_questinfo_clear) }, { HP_POP(npc->secure_timeout_timer, HP_npc_secure_timeout_timer) }, /* nullpo_interface */ { HP_POP(nullpo->assert_report, HP_nullpo_assert_report) }, @@ -2629,7 +2633,6 @@ struct HookingPointData HookingPoints[] = { { HP_POP(quest->questinfo_validate_homunculus_type, HP_quest_questinfo_validate_homunculus_type) }, { HP_POP(quest->questinfo_validate_quests, HP_quest_questinfo_validate_quests) }, { HP_POP(quest->questinfo_validate_mercenary_class, HP_quest_questinfo_validate_mercenary_class) }, - { HP_POP(quest->questinfo_vector_clear, HP_quest_questinfo_vector_clear) }, /* refine_interface */ { HP_POP(refine->init, HP_refine_init) }, { HP_POP(refine->final, HP_refine_final) }, diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc index 9cc986922..b31959ff4 100644 --- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc +++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc @@ -11591,14 +11591,14 @@ void HP_clif_pRanklist(int fd, struct map_session_data *sd) { } return; } -void HP_clif_hotkeys(struct map_session_data *sd) { +void HP_clif_hotkeys(struct map_session_data *sd, int tab) { int hIndex = 0; if (HPMHooks.count.HP_clif_hotkeys_pre > 0) { - void (*preHookFunc) (struct map_session_data **sd); + void (*preHookFunc) (struct map_session_data **sd, int *tab); *HPMforce_return = false; for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeys_pre; hIndex++) { preHookFunc = HPMHooks.list.HP_clif_hotkeys_pre[hIndex].func; - preHookFunc(&sd); + preHookFunc(&sd, &tab); } if (*HPMforce_return) { *HPMforce_return = false; @@ -11606,12 +11606,38 @@ void HP_clif_hotkeys(struct map_session_data *sd) { } } { - HPMHooks.source.clif.hotkeys(sd); + HPMHooks.source.clif.hotkeys(sd, tab); } if (HPMHooks.count.HP_clif_hotkeys_post > 0) { - void (*postHookFunc) (struct map_session_data *sd); + void (*postHookFunc) (struct map_session_data *sd, int tab); for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeys_post; hIndex++) { postHookFunc = HPMHooks.list.HP_clif_hotkeys_post[hIndex].func; + postHookFunc(sd, tab); + } + } + return; +} +void HP_clif_hotkeysAll(struct map_session_data *sd) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_hotkeysAll_pre > 0) { + void (*preHookFunc) (struct map_session_data **sd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeysAll_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_hotkeysAll_pre[hIndex].func; + preHookFunc(&sd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.hotkeysAll(sd); + } + if (HPMHooks.count.HP_clif_hotkeysAll_post > 0) { + void (*postHookFunc) (struct map_session_data *sd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_hotkeysAll_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_hotkeysAll_post[hIndex].func; postHookFunc(sd); } } @@ -21858,13 +21884,13 @@ void HP_clif_pTickSend(int fd, struct map_session_data *sd) { } return; } -void HP_clif_pHotkey(int fd, struct map_session_data *sd) { +void HP_clif_pHotkey1(int fd, struct map_session_data *sd) { int hIndex = 0; - if (HPMHooks.count.HP_clif_pHotkey_pre > 0) { + if (HPMHooks.count.HP_clif_pHotkey1_pre > 0) { void (*preHookFunc) (int *fd, struct map_session_data **sd); *HPMforce_return = false; - for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey_pre; hIndex++) { - preHookFunc = HPMHooks.list.HP_clif_pHotkey_pre[hIndex].func; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey1_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_pHotkey1_pre[hIndex].func; preHookFunc(&fd, &sd); } if (*HPMforce_return) { @@ -21873,12 +21899,38 @@ void HP_clif_pHotkey(int fd, struct map_session_data *sd) { } } { - HPMHooks.source.clif.pHotkey(fd, sd); + HPMHooks.source.clif.pHotkey1(fd, sd); } - if (HPMHooks.count.HP_clif_pHotkey_post > 0) { + if (HPMHooks.count.HP_clif_pHotkey1_post > 0) { void (*postHookFunc) (int fd, struct map_session_data *sd); - for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey_post; hIndex++) { - postHookFunc = HPMHooks.list.HP_clif_pHotkey_post[hIndex].func; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey1_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_pHotkey1_post[hIndex].func; + postHookFunc(fd, sd); + } + } + return; +} +void HP_clif_pHotkey2(int fd, struct map_session_data *sd) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_pHotkey2_pre > 0) { + void (*preHookFunc) (int *fd, struct map_session_data **sd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey2_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_pHotkey2_pre[hIndex].func; + preHookFunc(&fd, &sd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pHotkey2(fd, sd); + } + if (HPMHooks.count.HP_clif_pHotkey2_post > 0) { + void (*postHookFunc) (int fd, struct map_session_data *sd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkey2_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_pHotkey2_post[hIndex].func; postHookFunc(fd, sd); } } @@ -27839,13 +27891,13 @@ int HP_clif_add_item_options(struct ItemOptions *buf, const struct item *it) { } return retVal___; } -void HP_clif_pHotkeyRowShift(int fd, struct map_session_data *sd) { +void HP_clif_pHotkeyRowShift1(int fd, struct map_session_data *sd) { int hIndex = 0; - if (HPMHooks.count.HP_clif_pHotkeyRowShift_pre > 0) { + if (HPMHooks.count.HP_clif_pHotkeyRowShift1_pre > 0) { void (*preHookFunc) (int *fd, struct map_session_data **sd); *HPMforce_return = false; - for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift_pre; hIndex++) { - preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift_pre[hIndex].func; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift1_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift1_pre[hIndex].func; preHookFunc(&fd, &sd); } if (*HPMforce_return) { @@ -27854,12 +27906,38 @@ void HP_clif_pHotkeyRowShift(int fd, struct map_session_data *sd) { } } { - HPMHooks.source.clif.pHotkeyRowShift(fd, sd); + HPMHooks.source.clif.pHotkeyRowShift1(fd, sd); } - if (HPMHooks.count.HP_clif_pHotkeyRowShift_post > 0) { + if (HPMHooks.count.HP_clif_pHotkeyRowShift1_post > 0) { void (*postHookFunc) (int fd, struct map_session_data *sd); - for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift_post; hIndex++) { - postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift_post[hIndex].func; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift1_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift1_post[hIndex].func; + postHookFunc(fd, sd); + } + } + return; +} +void HP_clif_pHotkeyRowShift2(int fd, struct map_session_data *sd) { + int hIndex = 0; + if (HPMHooks.count.HP_clif_pHotkeyRowShift2_pre > 0) { + void (*preHookFunc) (int *fd, struct map_session_data **sd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift2_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift2_pre[hIndex].func; + preHookFunc(&fd, &sd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.clif.pHotkeyRowShift2(fd, sd); + } + if (HPMHooks.count.HP_clif_pHotkeyRowShift2_post > 0) { + void (*postHookFunc) (int fd, struct map_session_data *sd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_clif_pHotkeyRowShift2_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_clif_pHotkeyRowShift2_post[hIndex].func; postHookFunc(fd, sd); } } @@ -49379,31 +49457,32 @@ int HP_map_get_new_bonus_id(void) { } return retVal___; } -void HP_map_add_questinfo(int m, struct questinfo *qi) { +bool HP_map_add_questinfo(int m, struct npc_data *nd) { int hIndex = 0; + bool retVal___ = false; if (HPMHooks.count.HP_map_add_questinfo_pre > 0) { - void (*preHookFunc) (int *m, struct questinfo **qi); + bool (*preHookFunc) (int *m, struct npc_data **nd); *HPMforce_return = false; for (hIndex = 0; hIndex < HPMHooks.count.HP_map_add_questinfo_pre; hIndex++) { preHookFunc = HPMHooks.list.HP_map_add_questinfo_pre[hIndex].func; - preHookFunc(&m, &qi); + retVal___ = preHookFunc(&m, &nd); } if (*HPMforce_return) { *HPMforce_return = false; - return; + return retVal___; } } { - HPMHooks.source.map.add_questinfo(m, qi); + retVal___ = HPMHooks.source.map.add_questinfo(m, nd); } if (HPMHooks.count.HP_map_add_questinfo_post > 0) { - void (*postHookFunc) (int m, struct questinfo *qi); + bool (*postHookFunc) (bool retVal___, int m, struct npc_data *nd); for (hIndex = 0; hIndex < HPMHooks.count.HP_map_add_questinfo_post; hIndex++) { postHookFunc = HPMHooks.list.HP_map_add_questinfo_post[hIndex].func; - postHookFunc(m, qi); + retVal___ = postHookFunc(retVal___, m, nd); } } - return; + return retVal___; } bool HP_map_remove_questinfo(int m, struct npc_data *nd) { int hIndex = 0; @@ -57872,6 +57951,32 @@ void HP_npc_refresh(struct npc_data *nd) { } return; } +void HP_npc_questinfo_clear(struct npc_data *nd) { + int hIndex = 0; + if (HPMHooks.count.HP_npc_questinfo_clear_pre > 0) { + void (*preHookFunc) (struct npc_data **nd); + *HPMforce_return = false; + for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_questinfo_clear_pre; hIndex++) { + preHookFunc = HPMHooks.list.HP_npc_questinfo_clear_pre[hIndex].func; + preHookFunc(&nd); + } + if (*HPMforce_return) { + *HPMforce_return = false; + return; + } + } + { + HPMHooks.source.npc.questinfo_clear(nd); + } + if (HPMHooks.count.HP_npc_questinfo_clear_post > 0) { + void (*postHookFunc) (struct npc_data *nd); + for (hIndex = 0; hIndex < HPMHooks.count.HP_npc_questinfo_clear_post; hIndex++) { + postHookFunc = HPMHooks.list.HP_npc_questinfo_clear_post[hIndex].func; + postHookFunc(nd); + } + } + return; +} int HP_npc_secure_timeout_timer(int tid, int64 tick, int id, intptr_t data) { int hIndex = 0; int retVal___ = 0; @@ -68395,32 +68500,6 @@ bool HP_quest_questinfo_validate_mercenary_class(struct map_session_data *sd, st } return retVal___; } -void HP_quest_questinfo_vector_clear(int m) { - int hIndex = 0; - if (HPMHooks.count.HP_quest_questinfo_vector_clear_pre > 0) { - void (*preHookFunc) (int *m); - *HPMforce_return = false; - for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_vector_clear_pre; hIndex++) { - preHookFunc = HPMHooks.list.HP_quest_questinfo_vector_clear_pre[hIndex].func; - preHookFunc(&m); - } - if (*HPMforce_return) { - *HPMforce_return = false; - return; - } - } - { - HPMHooks.source.quest.questinfo_vector_clear(m); - } - if (HPMHooks.count.HP_quest_questinfo_vector_clear_post > 0) { - void (*postHookFunc) (int m); - for (hIndex = 0; hIndex < HPMHooks.count.HP_quest_questinfo_vector_clear_post; hIndex++) { - postHookFunc = HPMHooks.list.HP_quest_questinfo_vector_clear_post[hIndex].func; - postHookFunc(m); - } - } - return; -} /* refine_interface */ int HP_refine_init(bool minimal) { int hIndex = 0; |