summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBardur Arantsson <bardur@scientician.net>2012-06-09 16:34:40 +0200
committerBardur Arantsson <bardur@scientician.net>2012-06-09 16:55:01 +0200
commit0bd0bab14018806a9fafe8db624323ce4699fe9b (patch)
tree23c656d8dca1d7d5991b694cf728080769557d5b /src
parentcd9c9db64bff40addbbbf5834f8839e93717cfba (diff)
Lua: Move "subrace" help to C
Diffstat (limited to 'src')
-rw-r--r--src/birth.c5
-rw-r--r--src/externs.h1
-rw-r--r--src/help.c41
3 files changed, 46 insertions, 1 deletions
diff --git a/src/birth.c b/src/birth.c
index 0192abc3..595a8dfa 100644
--- a/src/birth.c
+++ b/src/birth.c
@@ -2050,7 +2050,10 @@ static bool_ player_birth_aux_ask()
while (!(BIT(racem[k]) & rmp_ptr->choice[racem[k] / 32]));
break;
}
- else if (c == '?') exec_lua(format("ingame_help('select_context', 'subrace', '%s')", race_mod_info[racem[sel]].title + rmp_name));
+ else if (c == '?')
+ {
+ help_subrace(race_mod_info[racem[sel]].title + rmp_name);
+ }
k = (islower(c) ? A2I(c) : -1);
if ((k >= 0) && (k < max_racem) &&
diff --git a/src/externs.h b/src/externs.h
index 87489bcc..6be9776b 100644
--- a/src/externs.h
+++ b/src/externs.h
@@ -619,6 +619,7 @@ extern void initialize_bookable_spells();
/* help.c */
extern void init_hooks_help();
extern void help_race(cptr race);
+extern void help_subrace(cptr subrace);
/* birth.c */
extern void print_desc_aux(cptr txt, int y, int x);
diff --git a/src/help.c b/src/help.c
index 689e1d1b..b924017d 100644
--- a/src/help.c
+++ b/src/help.c
@@ -106,6 +106,42 @@ context_help_type race_table[] =
};
/**
+ * Subrace help files.
+ */
+context_help_type subrace_table[] =
+{
+ /* ToME */
+ { "Barbarian", "rm_barb.txt", 0 },
+ { "Classical", "rm_class.txt", 0 },
+ { "Corrupted", "rm_corru.txt", 0 },
+ { "Hermit", "rm_herm.txt", 0 },
+ { "LostSoul", "rm_lsoul.txt", 0 },
+ { "Skeleton", "rm_skel.txt", 0 },
+ { "Spectre", "rm_spec.txt", 0 },
+ { "Vampire", "rm_vamp.txt", 0 },
+ { "Zombie", "rm_zomb.txt", 0 },
+ /* Theme */
+ { "Red", "rm_red.txt", 0 },
+ { "Black", "rm_black.txt", 0 },
+ { "Green", "rm_green.txt", 0 },
+ { "Blue", "rm_blue.txt", 0 },
+ { "White", "rm_white.txt", 0 },
+ { "Ethereal", "rm_ether.txt", 0 },
+ { "(Narrog)", "rm_narrog.txt", 0 },
+ { "(Aewrog)", "rm_aewrog.txt", 0 },
+ { "(Hurog)", "rm_hurog.txt", 0 },
+ { "(Sarnrog)", "rm_sarnrog.txt", 0 },
+ { "(Caborrog)", "rm_cabrog.txt", 0 },
+ { "(Draugrog)", "rm_drarog.txt", 0 },
+ { "(Lygrog)", "rm_lygrog.txt", 0 },
+ { "(Limrog)", "rm_limrog.txt", 0 },
+ { "(Rawrog)", "rm_rawrog.txt", 0 },
+ { "(Adanrog)", "rm_adanrog.txt", 0 },
+ /* End of list */
+ { NULL, NULL, 0 },
+};
+
+/**
* Trigger functions
*/
static bool_ trigger_void_jumpgate(void *in, void *out) {
@@ -505,3 +541,8 @@ void help_race(cptr race)
{
show_context_help(find_context_help(race_table, race));
}
+
+void help_subrace(cptr subrace)
+{
+ show_context_help(find_context_help(subrace_table, subrace));
+}