Home | History | Annotate | Line # | Download | only in hack
hack.rip.c revision 1.1
      1  1.1  cgd /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
      2  1.1  cgd /* hack.rip.c - version 1.0.2 */
      3  1.1  cgd 
      4  1.1  cgd #include <stdio.h>
      5  1.1  cgd #include "hack.h"
      6  1.1  cgd 
      7  1.1  cgd extern char plname[];
      8  1.1  cgd 
      9  1.1  cgd static char *rip[] = {
     10  1.1  cgd "                       ----------",
     11  1.1  cgd "                      /          \\",
     12  1.1  cgd "                     /    REST    \\",
     13  1.1  cgd "                    /      IN      \\",
     14  1.1  cgd "                   /     PEACE      \\",
     15  1.1  cgd "                  /                  \\",
     16  1.1  cgd "                  |                  |",
     17  1.1  cgd "                  |                  |",
     18  1.1  cgd "                  |                  |",
     19  1.1  cgd "                  |                  |",
     20  1.1  cgd "                  |                  |",
     21  1.1  cgd "                  |       1001       |",
     22  1.1  cgd "                 *|     *  *  *      | *",
     23  1.1  cgd "        _________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______\n",
     24  1.1  cgd 0
     25  1.1  cgd };
     26  1.1  cgd 
     27  1.1  cgd outrip(){
     28  1.1  cgd 	register char **dp = rip;
     29  1.1  cgd 	register char *dpx;
     30  1.1  cgd 	char buf[BUFSZ];
     31  1.1  cgd 	register x,y;
     32  1.1  cgd 
     33  1.1  cgd 	cls();
     34  1.1  cgd 	(void) strcpy(buf, plname);
     35  1.1  cgd 	buf[16] = 0;
     36  1.1  cgd 	center(6, buf);
     37  1.1  cgd 	(void) sprintf(buf, "%ld AU", u.ugold);
     38  1.1  cgd 	center(7, buf);
     39  1.1  cgd 	(void) sprintf(buf, "killed by%s",
     40  1.1  cgd 		!strncmp(killer, "the ", 4) ? "" :
     41  1.1  cgd 		!strcmp(killer, "starvation") ? "" :
     42  1.1  cgd 		index(vowels, *killer) ? " an" : " a");
     43  1.1  cgd 	center(8, buf);
     44  1.1  cgd 	(void) strcpy(buf, killer);
     45  1.1  cgd 	if(strlen(buf) > 16) {
     46  1.1  cgd 	    register int i,i0,i1;
     47  1.1  cgd 		i0 = i1 = 0;
     48  1.1  cgd 		for(i = 0; i <= 16; i++)
     49  1.1  cgd 			if(buf[i] == ' ') i0 = i, i1 = i+1;
     50  1.1  cgd 		if(!i0) i0 = i1 = 16;
     51  1.1  cgd 		buf[i1 + 16] = 0;
     52  1.1  cgd 		center(10, buf+i1);
     53  1.1  cgd 		buf[i0] = 0;
     54  1.1  cgd 	}
     55  1.1  cgd 	center(9, buf);
     56  1.1  cgd 	(void) sprintf(buf, "%4d", getyear());
     57  1.1  cgd 	center(11, buf);
     58  1.1  cgd 	for(y=8; *dp; y++,dp++){
     59  1.1  cgd 		x = 0;
     60  1.1  cgd 		dpx = *dp;
     61  1.1  cgd 		while(dpx[x]) {
     62  1.1  cgd 			while(dpx[x] == ' ') x++;
     63  1.1  cgd 			curs(x,y);
     64  1.1  cgd 			while(dpx[x] && dpx[x] != ' '){
     65  1.1  cgd 				extern int done_stopprint;
     66  1.1  cgd 				if(done_stopprint)
     67  1.1  cgd 					return;
     68  1.1  cgd 				curx++;
     69  1.1  cgd 				(void) putchar(dpx[x++]);
     70  1.1  cgd 			}
     71  1.1  cgd 		}
     72  1.1  cgd 	}
     73  1.1  cgd 	getret();
     74  1.1  cgd }
     75  1.1  cgd 
     76  1.1  cgd center(line, text) int line; char *text; {
     77  1.1  cgd register char *ip,*op;
     78  1.1  cgd 	ip = text;
     79  1.1  cgd 	op = &rip[line][28 - ((strlen(text)+1)/2)];
     80  1.1  cgd 	while(*ip) *op++ = *ip++;
     81  1.1  cgd }
     82