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 e394711d1..651b8efc3 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HPMHooksCore.inc
@@ -297,6 +297,8 @@ struct {
struct HPMHookPoint *HP_channel_guild_leave_alliance_post;
struct HPMHookPoint *HP_channel_quit_guild_pre;
struct HPMHookPoint *HP_channel_quit_guild_post;
+ struct HPMHookPoint *HP_channel_irc_join_pre;
+ struct HPMHookPoint *HP_channel_irc_join_post;
struct HPMHookPoint *HP_channel_config_read_pre;
struct HPMHookPoint *HP_channel_config_read_post;
struct HPMHookPoint *HP_chat_create_pc_chat_pre;
@@ -5502,6 +5504,8 @@ struct {
int HP_channel_guild_leave_alliance_post;
int HP_channel_quit_guild_pre;
int HP_channel_quit_guild_post;
+ int HP_channel_irc_join_pre;
+ int HP_channel_irc_join_post;
int HP_channel_config_read_pre;
int HP_channel_config_read_post;
int HP_chat_create_pc_chat_pre;
diff --git a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
index 0b9804a1c..5cbc20541 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.HookingPoints.inc
@@ -156,6 +156,7 @@ struct HookingPointData HookingPoints[] = {
{ HP_POP(channel->guild_join_alliance, HP_channel_guild_join_alliance) },
{ HP_POP(channel->guild_leave_alliance, HP_channel_guild_leave_alliance) },
{ HP_POP(channel->quit_guild, HP_channel_quit_guild) },
+ { HP_POP(channel->irc_join, HP_channel_irc_join) },
{ HP_POP(channel->config_read, HP_channel_config_read) },
/* chat */
{ HP_POP(chat->create_pc_chat, HP_chat_create_pc_chat) },
diff --git a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
index aadf7a6f5..3b2c3f08f 100644
--- a/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
+++ b/src/plugins/HPMHooking/HPMHooking_map.Hooks.inc
@@ -3981,6 +3981,32 @@ void HP_channel_quit_guild(struct map_session_data *sd) {
}
return;
}
+void HP_channel_irc_join(struct map_session_data *sd) {
+ int hIndex = 0;
+ if( HPMHooks.count.HP_channel_irc_join_pre ) {
+ void (*preHookFunc) (struct map_session_data *sd);
+ *HPMforce_return = false;
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_channel_irc_join_pre; hIndex++ ) {
+ preHookFunc = HPMHooks.list.HP_channel_irc_join_pre[hIndex].func;
+ preHookFunc(sd);
+ }
+ if( *HPMforce_return ) {
+ *HPMforce_return = false;
+ return;
+ }
+ }
+ {
+ HPMHooks.source.channel.irc_join(sd);
+ }
+ if( HPMHooks.count.HP_channel_irc_join_post ) {
+ void (*postHookFunc) (struct map_session_data *sd);
+ for(hIndex = 0; hIndex < HPMHooks.count.HP_channel_irc_join_post; hIndex++ ) {
+ postHookFunc = HPMHooks.list.HP_channel_irc_join_post[hIndex].func;
+ postHookFunc(sd);
+ }
+ }
+ return;
+}
void HP_channel_config_read(void) {
int hIndex = 0;
if( HPMHooks.count.HP_channel_config_read_pre ) {