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 $ */
5 * help function to display the help info
7 * format of the .larn.help file
9 * 1st character of file: # of pages of help available (ascii digit)
10 * page (23 lines) for the introductory message (not counted in above)
11 * pages of help text (23 lines per page)
13 extern char helpfile[];
18 char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
20 if ((j=openhelp()) < 0) return; /* open the help file and get # pages */
21 for (i=0; i<23; i++) lgetl(); /* skip over intro message */
27 lprcat(lgetl()); /* print out each line that we read in */
29 { tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
33 lprcat(" ---- Press "); standout("return");
34 lprcat(" to exit, "); standout("space");
35 lprcat(" for more help ---- ");
36 i=0; while ((i!=' ') && (i!='\n') && (i!='\33')) i=getchar();
37 if ((i=='\n') || (i=='\33'))
39 lrclose(); setscroll(); drawscreen(); return;
43 lrclose(); retcont(); drawscreen();
47 * function to display the welcome message and background
53 char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
55 if (openhelp() < 0) return; /* open the help file */
59 lprcat(lgetl()); /* print out each line that we read in */
61 { tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
63 lrclose(); retcont(); /* press return to continue */
67 * function to say press return to continue and reset scroll when done
71 cursor(1,24); lprcat("Press "); standout("return");
72 lprcat(" to continue: "); while (getchar() != '\n');
77 * routine to open the help file and return the first character - '0'
81 if (lopen(helpfile)<0)
83 lprintf("Can't open help file \"%s\" ",helpfile);
84 lflush(); sleep(4); drawscreen(); setscroll(); return(-1);
86 resetscroll(); return(lgetc() - '0');