Home | History | Annotate | Line # | Download | only in larn
help.c revision 1.1
      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 
     88