summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/mods/theme/scpt/help.lua28
-rw-r--r--lib/scpt/help.lua12
-rw-r--r--src/birth.c5
-rw-r--r--src/externs.h1
-rw-r--r--src/help.c41
5 files changed, 46 insertions, 41 deletions
diff --git a/lib/mods/theme/scpt/help.lua b/lib/mods/theme/scpt/help.lua
index 3d4450b5..4f9c1521 100644
--- a/lib/mods/theme/scpt/help.lua
+++ b/lib/mods/theme/scpt/help.lua
@@ -24,34 +24,6 @@ ingame_help
-- list of files for classes, { filename, anchor }
local t =
{
- ["subrace"] =
- {
- ["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 },
- ["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 },
- },
["class"] =
{
["Archer"] = { "c_archer.txt", 0 },
diff --git a/lib/scpt/help.lua b/lib/scpt/help.lua
index 694fefeb..daff0ed6 100644
--- a/lib/scpt/help.lua
+++ b/lib/scpt/help.lua
@@ -24,18 +24,6 @@ ingame_help
-- list of files for classes, { filename, anchor }
local t =
{
- ["subrace"] =
- {
- ["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 },
- },
["class"] =
{
["Alchemist"] = { "c_alchem.txt", 0 },
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));
+}