[rec.games.hack] Patch to make font switching on UNIXpc optional.

darren@bacchus.UUCP (Darren Friedlein) (01/10/88)

What follows is a fix to go allong with the dual-font patches I posted
recently.  They allow the user of a version compiled with UNIXPC defined
to turn the font switching on and off by adding "twofonts" to his/her
HACKOPTIONS variable.  The default is off.

One other problem I am aware of yet have not been able to fix yet is a
bug (if you can call it that) with zapping wands and breathing fire.
The problem is that the zapping routines use the characters '/','\','-'
and '|'.  Right now these are defined as all sorts of funky things, so
it doesn't quite look right.  If anyone can point me to the area of
code that deals with this, I would be grateful.

Keep on Hacking!

-Darren

/******                      /*****       {edo}             Darren G. Friedlein
 *     *      /******        *            {mcnc}  Rt 4 Box 416, Durham NC 27703
 *     *      *              *            {ethos}    data(bacchus):919/596-7746
 *     *urham \*****\        *     ompany {gladys}           voice:919/596-9492
\******             *oftware \*****       {bakerst}!bacchus!darren
              ******/

"I got up the other day and everything in my apartment had been stolen and
replaced with an exact replica."               -Steven Wright

-------
The following are context diffs.  Cut at the line and apply with the command:
                 patch <filename
where filename is the name of the file you put the diffs into.  You must be
in the NH source directory for the patches to take effect.

----- Cut Here -----
*** orig/flag.h	Sat Jan  9 21:49:23 1988
--- new/flag.h	Sat Jan  9 22:00:39 1988
***************
*** 55,60
  	unsigned extra1;
  	unsigned extra2;
  #endif
  };
  
  extern struct flag flags;

--- 55,63 -----
  	unsigned extra1;
  	unsigned extra2;
  #endif
+ #ifdef UNIXPC
+ 	unsigned twofonts;	/* Use 2nd font for drawing level */
+ #endif
  };
  
  extern struct flag flags;
diff -c orig/options.c new/options.c
*** orig/options.c	Sat Jan  9 21:34:55 1988
--- new/options.c	Sat Jan  9 22:42:57 1988
***************
*** 33,38
  	flags.IBMBIOS = flags.DECRainbow = flags.rawio = FALSE;
  	read_config_file();
  #endif
  #ifdef HACKOPTIONS
  	if(opts = getenv("HACKOPTIONS"))
  		parseoptions(opts,TRUE);

--- 33,41 -----
  	flags.IBMBIOS = flags.DECRainbow = flags.rawio = FALSE;
  	read_config_file();
  #endif
+ #ifdef UNIXPC
+ 	flags.twofonts = FALSE;
+ #endif
  #ifdef HACKOPTIONS
  	if(opts = getenv("HACKOPTIONS"))
  		parseoptions(opts,TRUE);
***************
*** 119,124
  
  	if (!strncmp(opts, "DECR", 4)) {
  		flags.DECRainbow = !negated;
  		return;
  	}
  #endif

--- 122,134 -----
  
  	if (!strncmp(opts, "DECR", 4)) {
  		flags.DECRainbow = !negated;
+ 		return;
+ 	}
+ #endif
+ 
+ #ifdef UNIXPC
+ 	if (!strncmp(opts, "twof", 4)) {
+ 		flags.twofonts = !negated;
  		return;
  	}
  #endif
diff -c orig/pri.c new/pri.c
*** orig/pri.c	Sat Jan  9 21:57:39 1988
--- new/pri.c	Sat Jan  9 22:00:20 1988
***************
*** 100,106
  		hilite(ch);
  #else
  #ifdef	UNIXPC
! 		(void) putchar(14);
  #endif
  		(void) putchar(ch);
  #ifdef	UNIXPC

--- 100,107 -----
  		hilite(ch);
  #else
  #ifdef	UNIXPC
! 		if (flags.twofonts)
! 			(void) putchar(14);
  #endif
  		(void) putchar(ch);
  #ifdef	UNIXPC
***************
*** 104,110
  #endif
  		(void) putchar(ch);
  #ifdef	UNIXPC
! 		(void) putchar(15);
  #endif
  #endif
  	curx++;

--- 105,112 -----
  #endif
  		(void) putchar(ch);
  #ifdef	UNIXPC
! 		if (flags.twofonts)
! 			(void) putchar(15);
  #endif
  #endif
  	curx++;