]> git.cameronkatri.com Git - bsdgames-darwin.git/blob - larn/help.c
NULL => 0 (Arne Juul; PR#3629)
[bsdgames-darwin.git] / larn / help.c
1 #ifndef lint
2 static char rcsid[] = "$NetBSD: help.c,v 1.3 1995/03/23 08:33:33 cgd Exp $";
3 #endif /* not lint */
4
5 /* help.c Larn is copyrighted 1986 by Noah Morgan. */
6 #include "header.h"
7 /*
8 * help function to display the help info
9 *
10 * format of the .larn.help file
11 *
12 * 1st character of file: # of pages of help available (ascii digit)
13 * page (23 lines) for the introductory message (not counted in above)
14 * pages of help text (23 lines per page)
15 */
16 extern char helpfile[];
17 help()
18 {
19 register int i,j;
20 #ifndef VT100
21 char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
22 #endif VT100
23 if ((j=openhelp()) < 0) return; /* open the help file and get # pages */
24 for (i=0; i<23; i++) lgetl(); /* skip over intro message */
25 for (; j>0; j--)
26 {
27 clear();
28 for (i=0; i<23; i++)
29 #ifdef VT100
30 lprcat(lgetl()); /* print out each line that we read in */
31 #else VT100
32 { tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
33 #endif VT100
34 if (j>1)
35 {
36 lprcat(" ---- Press "); standout("return");
37 lprcat(" to exit, "); standout("space");
38 lprcat(" for more help ---- ");
39 i=0; while ((i!=' ') && (i!='\n') && (i!='\33')) i=getchar();
40 if ((i=='\n') || (i=='\33'))
41 {
42 lrclose(); setscroll(); drawscreen(); return;
43 }
44 }
45 }
46 lrclose(); retcont(); drawscreen();
47 }
48
49 /*
50 * function to display the welcome message and background
51 */
52 welcome()
53 {
54 register int i;
55 #ifndef VT100
56 char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
57 #endif VT100
58 if (openhelp() < 0) return; /* open the help file */
59 clear();
60 for(i=0; i<23; i++)
61 #ifdef VT100
62 lprcat(lgetl()); /* print out each line that we read in */
63 #else VT100
64 { tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
65 #endif VT100
66 lrclose(); retcont(); /* press return to continue */
67 }
68
69 /*
70 * function to say press return to continue and reset scroll when done
71 */
72 retcont()
73 {
74 cursor(1,24); lprcat("Press "); standout("return");
75 lprcat(" to continue: "); while (getchar() != '\n');
76 setscroll();
77 }
78
79 /*
80 * routine to open the help file and return the first character - '0'
81 */
82 openhelp()
83 {
84 if (lopen(helpfile)<0)
85 {
86 lprintf("Can't open help file \"%s\" ",helpfile);
87 lflush(); sleep(4); drawscreen(); setscroll(); return(-1);
88 }
89 resetscroll(); return(lgetc() - '0');
90 }
91