summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2012-06-09 17:02:58 +0200
committerBardur Arantsson <bardur@scientician.net>2012-06-09 17:05:32 +0200
commit76085d3681e4c42b75fddad7be88006c3d97d0d8 (patch)
tree17fb46910e80c530472ec7b94a5651768dddd107 /src
parent5ccc3347038709ba87f5b04d19d800aca459158e (diff)
Lua: Move "god" help to C
Diffstat (limited to 'src')
-rw-r--r--src/birth.c5
-rw-r--r--src/externs.h1
-rw-r--r--src/help.c31
3 files changed, 36 insertions, 1 deletions
diff --git a/src/birth.c b/src/birth.c
index 58debca0..14c0b44f 100644
--- a/src/birth.c
+++ b/src/birth.c
@@ -2398,7 +2398,10 @@ static bool_ player_birth_aux_ask()
k = choice[k];
break;
}
- if (c == '?') exec_lua(format("ingame_help('select_context', 'god', '%s')", deity_info[choice[sel]].name));
+ if (c == '?')
+ {
+ help_god(deity_info[choice[sel]].name);
+ }
else if (c == '=')
{
screen_save();
diff --git a/src/externs.h b/src/externs.h
index 3ea6d2d6..d2ff11c2 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -621,6 +621,7 @@ extern void init_hooks_help();
extern void help_race(cptr race);
extern void help_subrace(cptr subrace);
extern void help_class(cptr klass);
+extern void help_god(cptr god);
/* birth.c */
extern void print_desc_aux(cptr txt, int y, int x);
diff --git a/src/help.c b/src/help.c
index 4d894044..874f0f45 100644
--- a/src/help.c
+++ b/src/help.c
@@ -199,6 +199,26 @@ context_help_type class_table[] =
};
/**
+ * God help files
+ */
+context_help_type god_table[] =
+{
+ /* ToME */
+ { "Eru Iluvatar", "g_eru.txt", 0 },
+ { "Manwe Sulimo", "g_manwe.txt", 0 },
+ { "Tulkas", "g_tulkas.txt", 0 },
+ { "Melkor Bauglir", "g_melkor.txt", 0 },
+ { "Yavanna Kementari", "g_yavann.txt", 0 },
+ /* Theme */
+ { "Aule the Smith", "g_aule.txt", 0 },
+ { "Mandos", "g_mandos.txt", 0 },
+ { "Ulmo", "g_ulmo.txt", 0 },
+ { "Varda Elentari", "g_varda.txt", 0 },
+ /* End of list */
+ { NULL, NULL, 0 },
+};
+
+/**
* Trigger functions
*/
static bool_ trigger_void_jumpgate(void *in, void *out) {
@@ -608,3 +628,14 @@ void help_class(cptr klass)
{
show_context_help(find_context_help(class_table, klass));
}
+
+void help_god(cptr god)
+{
+ context_help_type *context_help =
+ find_context_help(god_table, god);
+
+ if (context_help != NULL)
+ {
+ show_context_help(context_help);
+ }
+}