1 /* help.c Larn is copyrighted 1986 by Noah Morgan. */
2 /* $FreeBSD: src/games/larn/help.c,v 1.4 1999/11/16 02:57:21 billf Exp $ */
3 /* $DragonFly: src/games/larn/help.c,v 1.4 2006/08/26 17:05:05 pavalos Exp $ */
6 static void retcont(void);
7 static int openhelp(void);
9 * help function to display the help info
11 * format of the .larn.help file
13 * 1st character of file: # of pages of help available (ascii digit)
14 * page (23 lines) for the introductory message (not counted in above)
15 * pages of help text (23 lines per page)
22 char tmbuf
[128]; /* intermediate translation buffer when not a VT100 */
24 if ((j
=openhelp()) < 0) return; /* open the help file and get # pages */
25 for (i
=0; i
<23; i
++) lgetl(); /* skip over intro message */
31 lprcat(lgetl()); /* print out each line that we read in */
33 { tmcapcnv(tmbuf
,lgetl()); lprcat(tmbuf
); } /* intercept \33's */
37 lprcat(" ---- Press "); standout("return");
38 lprcat(" to exit, "); standout("space");
39 lprcat(" for more help ---- ");
40 i
=0; while ((i
!=' ') && (i
!='\n') && (i
!='\33')) i
=getchr();
41 if ((i
=='\n') || (i
=='\33'))
43 lrclose(); setscroll(); drawscreen(); return;
47 lrclose(); retcont(); drawscreen();
51 * function to display the welcome message and background
58 char tmbuf
[128]; /* intermediate translation buffer when not a VT100 */
60 if (openhelp() < 0) return; /* open the help file */
64 lprcat(lgetl()); /* print out each line that we read in */
66 { tmcapcnv(tmbuf
,lgetl()); lprcat(tmbuf
); } /* intercept \33's */
68 lrclose(); retcont(); /* press return to continue */
72 * function to say press return to continue and reset scroll when done
77 cursor(1,24); lprcat("Press "); standout("return");
78 lprcat(" to continue: "); while (getchr() != '\n');
83 * routine to open the help file and return the first character - '0'
88 if (lopen(helpfile
)<0)
90 lprintf("Can't open help file \"%s\" ",helpfile
);
91 lflush(); sleep(4); drawscreen(); setscroll(); return(-1);
93 resetscroll(); return(lgetc() - '0');