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