Mercurial > hg > early-roguelike
annotate xrogue/rip.c @ 160:2d221d574280
arogue7, xrogue: set CFLAGS empty by default in the Makefiles.
| author | John "Elwin" Edwards | 
|---|---|
| date | Fri, 05 Jun 2015 14:06:11 -0400 | 
| parents | 5a77931393f4 | 
| children | f54901b9c39b | 
| rev | line source | 
|---|---|
| 133 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 1 /* | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 2 rip.c - File for the fun ends Death or a total win | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 3 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 4 XRogue: Expeditions into the Dungeons of Doom | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 5 Copyright (C) 1991 Robert Pietkivitch | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 6 All rights reserved. | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 7 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 8 Based on "Advanced Rogue" | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 9 Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 10 All rights reserved. | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 11 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 12 Based on "Rogue: Exploring the Dungeons of Doom" | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 13 Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 14 All rights reserved. | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 15 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 16 See the file LICENSE.TXT for full copyright and licensing information. | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 17 */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 18 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 19 #define REALLIFE 1 /* Print out machine and logname */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 20 #define EDITSCORE 2 /* Edit the current score file */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 21 #define ADDSCORE 3 /* Add a new score */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 22 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 23 #include <curses.h> | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 24 #include <time.h> | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 25 #include <signal.h> | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 26 #include <ctype.h> | 
| 135 | 27 #include <string.h> | 
| 133 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 28 #include <sys/types.h> | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 29 #include <fcntl.h> | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 30 #include "mach_dep.h" | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 31 #include "network.h" | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 32 #include "rogue.h" | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 33 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 34 /* Network machines (for mutual score keeping) */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 35 struct network Network[] = { | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 36 { "", "" }, | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 37 }; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 38 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 39 static char *rip[] = { | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 40 " ___________", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 41 " / \\", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 42 " / \\", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 43 " / R. I. P. \\", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 44 " / \\", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 45 " / \\", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 46 " | |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 47 " | |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 48 " | killed by |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 49 " | |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 50 " | |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 51 " | |", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 52 " *| * * * |*", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 53 " _________)|//\\\\///\\///\\//\\//\\/|(_________", | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 54 NULL | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 55 }; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 56 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 57 char *killname(); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 58 | 
| 143 
7faf4568c295
Advanced Rogue family: overhaul privilege handling.
 John "Elwin" Edwards parents: 
138diff
changeset | 59 extern FILE *scorefi, *logfile; | 
| 
7faf4568c295
Advanced Rogue family: overhaul privilege handling.
 John "Elwin" Edwards parents: 
138diff
changeset | 60 | 
| 133 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 61 /*UNUSED*/ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 62 void | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 63 byebye(sig) | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 64 int sig; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 65 { | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 66 NOOP(sig); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 67 exit_game(EXIT_ENDWIN); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 68 } | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 69 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 70 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 71 /* | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 72 * death: | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 73 * Do something really fun when he dies | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 74 */ | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 75 | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 76 death(monst) | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 77 register short monst; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 78 { | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 79 register char **dp = rip, *killer; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 80 register struct tm *lt; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 81 time_t date; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 82 char buf[LINELEN]; | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 83 struct tm *localtime(); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 84 | 
| 138 
dd137c35c3b1
xrogue: record the result of each game in a logfile.
 John "Elwin" Edwards parents: 
135diff
changeset | 85 writelog(pstats.s_exp, KILLED, monst); | 
| 133 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 86 time(&date); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 87 lt = localtime(&date); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 88 clear(); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 89 move(8, 0); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 90 while (*dp) | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 91 printw("%s\n", *dp++); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 92 mvaddstr(14, 28-((strlen(whoami)+1)/2), whoami); | 
| 
e6179860cb76
Import XRogue 8.0 from the Roguelike Restoration Project (r1490)
 John "Elwin" Edwards parents: diff
changeset | 93 sprintf(buf, "%lu Points", pstats.s_exp ); | 
