summaryrefslogtreecommitdiff
path: root/apps/plugins/puzzles/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/puzzles/help.c')
-rw-r--r--apps/plugins/puzzles/help.c47
1 files changed, 4 insertions, 43 deletions
diff --git a/apps/plugins/puzzles/help.c b/apps/plugins/puzzles/help.c
index 4a2560e..c45f50e 100644
--- a/apps/plugins/puzzles/help.c
+++ b/apps/plugins/puzzles/help.c
@@ -3,51 +3,12 @@
void full_help(const char *name)
{
- int ch_num = -1;
-
- /* dirty hack */
- if(!strcmp(name, "Train Tracks"))
- name = "Tracks";
-
- /* search the help text for a chapter with this name */
- for(int ch = 0; ch < help_numchapters; ++ch)
- {
- char *str = help_text + help_chapteroffsets[ch];
- char *ptr = strchr(str, ':') + 1;
- const char *namep = name;
- if(*ptr++ != ' ')
- continue;
-
- while(*ptr == *namep && *ptr && *namep)
- {
- ptr++;
- namep++;
- }
- if(*namep == '\0' && (*ptr == '\n' || *ptr == ' ')) /* full match */
- {
- ch_num = ch;
- break;
- }
- }
- if(ch_num < 0)
- {
- rb->splashf(HZ * 2, "No topic found for `%s' (REPORT ME!)", name);
- return;
- }
- char *buf = smalloc(help_maxlen + 1);
- rb->memset(buf, 0, help_maxlen + 1);
- if(ch_num < help_numchapters - 1)
- {
- /* safe to look ahead */
- memcpy(buf, help_text + help_chapteroffsets[ch_num], help_chapteroffsets[ch_num + 1] - help_chapteroffsets[ch_num]);
- }
- else
- rb->strlcpy(buf, help_text + help_chapteroffsets[ch_num], help_maxlen + 1);
+ unsigned old_bg = rb->lcd_get_background();
rb->lcd_set_foreground(LCD_WHITE);
- unsigned old_bg = rb->lcd_get_background();
rb->lcd_set_background(LCD_BLACK);
- view_text(name, buf);
+
+ view_text(name, help_text);
+
rb->lcd_set_background(old_bg);
- sfree(buf);
}