Commit | Line | Data |
---|---|---|
12458000 WJ |
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 |