diff options
author | Bardur Arantsson <bardur@scientician.net> | 2014-12-21 14:54:02 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2014-12-23 12:07:55 +0100 |
commit | f1df04c14389adb371279ba5b494dc843758fd8b (patch) | |
tree | f7a0f6a79280d5d6562f5a5795f6748a78165313 | |
parent | f2b09902812117053035d61b43c3baaa880bc8e4 (diff) |
Update HOOK_ENTER_DUNGEON to new-style hook
-rw-r--r-- | src/cmd2.cc | 9 | ||||
-rw-r--r-- | src/q_god.cc | 8 | ||||
-rw-r--r-- | src/types.h | 5 |
3 files changed, 15 insertions, 7 deletions
diff --git a/src/cmd2.cc b/src/cmd2.cc index 6e1b2245..38f7ac1d 100644 --- a/src/cmd2.cc +++ b/src/cmd2.cc @@ -478,10 +478,13 @@ void do_cmd_go_down(void) dungeon_info_type *d_ptr = &d_info[c_ptr->special]; /* Do the lua scripts refuse ? ;) */ - if (process_hooks(HOOK_ENTER_DUNGEON, "(d)", c_ptr->special)) { - dun_level = old_dun; - return; + struct hook_enter_dungeon_in in = { c_ptr->special }; + if (process_hooks_new(HOOK_ENTER_DUNGEON, &in, NULL)) + { + dun_level = old_dun; + return; + } } /* Ok go in the new dungeon */ diff --git a/src/q_god.cc b/src/q_god.cc index a0156006..c7e52bd8 100644 --- a/src/q_god.cc +++ b/src/q_god.cc @@ -1139,10 +1139,10 @@ static void quest_god_dungeon_setup(int d_idx) set_god_dungeon_attributes(); } -static bool_ quest_god_enter_dungeon_hook(const char *fmt) +static bool_ quest_god_enter_dungeon_hook(void *, void *in_, void *) { - s32b d_idx = get_next_arg(fmt); - quest_god_dungeon_setup(d_idx); + struct hook_enter_dungeon_in *in = static_cast<struct hook_enter_dungeon_in *>(in_); + quest_god_dungeon_setup(in->d_idx); return FALSE; } @@ -1178,7 +1178,7 @@ bool_ quest_god_init_hook(int q) (cquest.status < QUEST_STATUS_FINISHED)) { add_hook_new(HOOK_LEVEL_END_GEN, quest_god_level_end_gen_hook, "q_god_level_end_gen", NULL); - add_hook (HOOK_ENTER_DUNGEON, quest_god_enter_dungeon_hook, "q_god_enter_dungeon"); + add_hook_new(HOOK_ENTER_DUNGEON, quest_god_enter_dungeon_hook, "q_god_enter_dungeon", NULL); add_hook (HOOK_GEN_LEVEL_BEGIN, quest_god_gen_level_begin_hook, "q_god_gen_level_begin"); add_hook_new(HOOK_STAIR, quest_god_stair_hook, "q_god_hook_stair", NULL); add_hook_new(HOOK_GET, quest_god_get_hook, "q_god_get", NULL); diff --git a/src/types.h b/src/types.h index de38baca..2f566776 100644 --- a/src/types.h +++ b/src/types.h @@ -2254,6 +2254,11 @@ struct hook_chat_in { s32b m_idx; }; +typedef struct hook_enter_dungeon_in hook_enter_dungeon_in; +struct hook_enter_dungeon_in { + s32b d_idx; +}; + typedef struct hook_wild_gen_in hook_wild_gen_in; struct hook_wild_gen_in { bool_ small; |