summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2014-12-21 14:54:02 +0100
committerBardur Arantsson <bardur@scientician.net>2014-12-23 12:07:55 +0100
commitf1df04c14389adb371279ba5b494dc843758fd8b (patch)
treef7a0f6a79280d5d6562f5a5795f6748a78165313
parentf2b09902812117053035d61b43c3baaa880bc8e4 (diff)
Update HOOK_ENTER_DUNGEON to new-style hook
-rw-r--r--src/cmd2.cc9
-rw-r--r--src/q_god.cc8
-rw-r--r--src/types.h5
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;