diff options
author | Bardur Arantsson <bardur@scientician.net> | 2014-12-18 21:56:53 +0100 |
---|---|---|
committer | Bardur Arantsson <bardur@scientician.net> | 2014-12-23 12:07:54 +0100 |
commit | 132e99238140b1628a2f0175a6edc85358fe8101 (patch) | |
tree | 5d9634281e95d71a28451c78a50b59cec702b003 /src | |
parent | e190564a0791cef0ac7a8393d23643af7d1be3cb (diff) |
Update HOOK_WILD_GEN to new-style hook
Diffstat (limited to 'src')
-rw-r--r-- | src/q_hobbit.cc | 23 | ||||
-rw-r--r-- | src/q_nazgul.cc | 13 | ||||
-rw-r--r-- | src/q_poison.cc | 8 | ||||
-rw-r--r-- | src/q_shroom.cc | 15 | ||||
-rw-r--r-- | src/types.h | 5 | ||||
-rw-r--r-- | src/wild.cc | 6 |
6 files changed, 37 insertions, 33 deletions
diff --git a/src/q_hobbit.cc b/src/q_hobbit.cc index c479eb84..143e7599 100644 --- a/src/q_hobbit.cc +++ b/src/q_hobbit.cc @@ -4,12 +4,11 @@ #define cquest (quest[QUEST_HOBBIT]) -static bool_ quest_hobbit_town_gen_hook(const char *fmt) +static bool_ quest_hobbit_town_gen_hook(void *, void *in_, void *) { + struct hook_wild_gen_in *in = static_cast<struct hook_wild_gen_in *>(in_); int x = 1, y = 1, tries = 10000; - s32b small; - - small = get_next_arg(fmt); + bool_ small = in->small; if ((turn < (cquest.data[1] + (DAY * 10L))) || (cquest.status > QUEST_STATUS_COMPLETED) || (small) || (p_ptr->town_num != 1)) return (FALSE); @@ -185,17 +184,17 @@ bool_ quest_hobbit_init_hook(int q_idx) if ((cquest.status >= QUEST_STATUS_TAKEN) && (cquest.status < QUEST_STATUS_FINISHED)) { - add_hook_new(HOOK_GIVE, quest_hobbit_give_hook, "hobbit_give", NULL); - add_hook_new(HOOK_GEN_LEVEL, quest_hobbit_gen_hook, "hobbit_gen", NULL); - add_hook (HOOK_WILD_GEN, quest_hobbit_town_gen_hook, "hobbit_town_gen"); - add_hook_new(HOOK_CHAT, quest_hobbit_chat_hook, "hobbit_chat", NULL); - add_hook_new(HOOK_MON_SPEAK, quest_hobbit_speak_hook, "hobbit_speak", NULL); + add_hook_new(HOOK_GIVE, quest_hobbit_give_hook, "hobbit_give", NULL); + add_hook_new(HOOK_GEN_LEVEL, quest_hobbit_gen_hook, "hobbit_gen", NULL); + add_hook_new(HOOK_WILD_GEN, quest_hobbit_town_gen_hook, "hobbit_town_gen", NULL); + add_hook_new(HOOK_CHAT, quest_hobbit_chat_hook, "hobbit_chat", NULL); + add_hook_new(HOOK_MON_SPEAK, quest_hobbit_speak_hook, "hobbit_speak", NULL); } if (cquest.status == QUEST_STATUS_UNTAKEN) { - add_hook_new(HOOK_MON_SPEAK, quest_hobbit_speak_hook, "hobbit_speak", NULL); - add_hook (HOOK_WILD_GEN, quest_hobbit_town_gen_hook, "hobbit_town_gen"); - add_hook_new(HOOK_CHAT, quest_hobbit_chat_hook, "hobbit_chat", NULL); + add_hook_new(HOOK_MON_SPEAK, quest_hobbit_speak_hook, "hobbit_speak", NULL); + add_hook_new(HOOK_WILD_GEN, quest_hobbit_town_gen_hook, "hobbit_town_gen", NULL); + add_hook_new(HOOK_CHAT, quest_hobbit_chat_hook, "hobbit_chat", NULL); } add_hook(HOOK_CHAR_DUMP, quest_hobbit_dump_hook, "hobbit_dump"); return (FALSE); diff --git a/src/q_nazgul.cc b/src/q_nazgul.cc index 5573b40b..ebc7f3b6 100644 --- a/src/q_nazgul.cc +++ b/src/q_nazgul.cc @@ -3,12 +3,11 @@ #define cquest (quest[QUEST_NAZGUL]) -static bool_ quest_nazgul_gen_hook(const char *fmt) +static bool_ quest_nazgul_gen_hook(void *, void *in_, void *) { + struct hook_wild_gen_in *in = static_cast<struct hook_wild_gen_in *>(in_); int m_idx, x = 1, y = 1, tries = 10000; - s32b small; - - small = get_next_arg(fmt); + bool_ small = in->small; if ((cquest.status != QUEST_STATUS_TAKEN) || (small) || (p_ptr->town_num != 1)) return (FALSE); @@ -113,9 +112,9 @@ bool_ quest_nazgul_init_hook(int q_idx) { if ((cquest.status >= QUEST_STATUS_TAKEN) && (cquest.status < QUEST_STATUS_FINISHED)) { - add_hook(HOOK_MONSTER_DEATH, quest_nazgul_death_hook, "nazgul_death"); - add_hook(HOOK_WILD_GEN, quest_nazgul_gen_hook, "nazgul_gen"); - add_hook(HOOK_QUEST_FINISH, quest_nazgul_finish_hook, "nazgul_finish"); + add_hook (HOOK_MONSTER_DEATH, quest_nazgul_death_hook, "nazgul_death"); + add_hook_new(HOOK_WILD_GEN, quest_nazgul_gen_hook, "nazgul_gen", NULL); + add_hook (HOOK_QUEST_FINISH, quest_nazgul_finish_hook, "nazgul_finish"); } add_hook(HOOK_CHAR_DUMP, quest_nazgul_dump_hook, "nazgul_dump"); add_hook(HOOK_INIT_QUEST, quest_nazgul_forbid_hook, "nazgul_forbid"); diff --git a/src/q_poison.cc b/src/q_poison.cc index a63dca96..d65b8802 100644 --- a/src/q_poison.cc +++ b/src/q_poison.cc @@ -25,7 +25,7 @@ static bool_ create_molds_hook(int r_idx) else return FALSE; } -static bool_ quest_poison_gen_hook(const char *fmt) +static bool_ quest_poison_gen_hook(void *, void *, void *) { int cy = 1, cx = 1, x, y, tries = 10000, r_idx; bool_ (*old_get_mon_num_hook)(int r_idx); @@ -234,9 +234,9 @@ bool_ quest_poison_init_hook(int q_idx) if ((cquest.status >= QUEST_STATUS_TAKEN) && (cquest.status < QUEST_STATUS_FINISHED)) { - add_hook(HOOK_DROP, quest_poison_drop_hook, "poison_drop"); - add_hook(HOOK_WILD_GEN, quest_poison_gen_hook, "poison_gen"); - add_hook(HOOK_QUEST_FINISH, quest_poison_finish_hook, "poison_finish"); + add_hook (HOOK_DROP, quest_poison_drop_hook, "poison_drop"); + add_hook_new(HOOK_WILD_GEN, quest_poison_gen_hook, "poison_gen", NULL); + add_hook (HOOK_QUEST_FINISH, quest_poison_finish_hook, "poison_finish"); } if (cquest.status < QUEST_STATUS_COMPLETED) { diff --git a/src/q_shroom.cc b/src/q_shroom.cc index 3d476324..f36b7d50 100644 --- a/src/q_shroom.cc +++ b/src/q_shroom.cc @@ -7,12 +7,11 @@ static bool_ quest_shroom_speak_hook(void *, void *, void *); static bool_ quest_shroom_chat_hook(void *, void *, void *); -static bool_ quest_shroom_town_gen_hook(const char *fmt) +static bool_ quest_shroom_town_gen_hook(void *, void *in_, void *) { + struct hook_wild_gen_in *in = static_cast<struct hook_wild_gen_in *>(in_); int m_idx, x = 1, y = 1, tries = 10000; - s32b small; - - small = get_next_arg(fmt); + bool_ small = in->small; /* Generate the shrooms field */ if ((!small) && (p_ptr->wilderness_y == 21) && (p_ptr->wilderness_x == 33)) @@ -131,7 +130,7 @@ static bool_ quest_shroom_give_hook(void *, void *in_, void *) del_hook_new(HOOK_GIVE, quest_shroom_give_hook); del_hook_new(HOOK_CHAT, quest_shroom_speak_hook); - del_hook (HOOK_WILD_GEN, quest_shroom_town_gen_hook); + del_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook); process_hooks_restart = TRUE; return TRUE; } @@ -204,7 +203,7 @@ static void check_dogs_alive(s32b m_idx) del_hook_new(HOOK_GIVE, quest_shroom_give_hook); del_hook_new(HOOK_MON_SPEAK, quest_shroom_speak_hook); del_hook_new(HOOK_CHAT, quest_shroom_chat_hook); - del_hook (HOOK_WILD_GEN, quest_shroom_town_gen_hook); + del_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook); process_hooks_restart = TRUE; } else @@ -276,14 +275,14 @@ bool_ quest_shroom_init_hook(int q_idx) { add_hook (HOOK_MONSTER_DEATH, quest_shroom_death_hook, "shroom_death"); add_hook_new(HOOK_GIVE, quest_shroom_give_hook, "shroom_give", NULL); - add_hook (HOOK_WILD_GEN, quest_shroom_town_gen_hook, "shroom_town_gen"); + add_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook, "shroom_town_gen", NULL); add_hook_new(HOOK_CHAT, quest_shroom_chat_hook, "shroom_chat", NULL); add_hook_new(HOOK_MON_SPEAK, quest_shroom_speak_hook, "shroom_speak", NULL); } if (cquest.status == QUEST_STATUS_UNTAKEN) { add_hook_new(HOOK_MON_SPEAK, quest_shroom_speak_hook, "shroom_speak", NULL); - add_hook (HOOK_WILD_GEN, quest_shroom_town_gen_hook, "shroom_town_gen"); + add_hook_new(HOOK_WILD_GEN, quest_shroom_town_gen_hook, "shroom_town_gen", NULL); add_hook_new(HOOK_CHAT, quest_shroom_chat_hook, "shroom_chat", NULL); } return (FALSE); diff --git a/src/types.h b/src/types.h index 71db3da1..9efd9d13 100644 --- a/src/types.h +++ b/src/types.h @@ -2227,6 +2227,11 @@ struct hook_chat_in { s32b m_idx; }; +typedef struct hook_wild_gen_in hook_wild_gen_in; +struct hook_wild_gen_in { + bool_ small; +}; + typedef struct hook_eat_in hook_eat_in; struct hook_eat_in { object_type *o_ptr; diff --git a/src/wild.cc b/src/wild.cc index 8719a53a..a44fa4d5 100644 --- a/src/wild.cc +++ b/src/wild.cc @@ -535,7 +535,8 @@ void wilderness_gen(int refresh) } } - process_hooks(HOOK_WILD_GEN, "(d)", FALSE); + struct hook_wild_gen_in in = { FALSE }; + process_hooks_new(HOOK_WILD_GEN, &in, NULL); } /* @@ -603,7 +604,8 @@ void wilderness_gen_small() } } - process_hooks(HOOK_WILD_GEN, "(d)", TRUE); + struct hook_wild_gen_in in = { TRUE }; + process_hooks_new(HOOK_WILD_GEN, &in, NULL); } /* Show a small radius of wilderness around the player */ |