From 0bd0bab14018806a9fafe8db624323ce4699fe9b Mon Sep 17 00:00:00 2001 From: Bardur Arantsson Date: Sat, 9 Jun 2012 16:34:40 +0200 Subject: Lua: Move "subrace" help to C --- lib/mods/theme/scpt/help.lua | 28 ---------------------------- lib/scpt/help.lua | 12 ------------ src/birth.c | 5 ++++- src/externs.h | 1 + src/help.c | 41 +++++++++++++++++++++++++++++++++++++++++ 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 @@ -105,6 +105,42 @@ context_help_type race_table[] = { NULL, NULL, 0 }, }; +/** + * 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 */ @@ -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)); +} -- cgit v1.2.3