Mercurial > hg > early-roguelike
annotate arogue5/rip.c @ 237:2236ef808bcb
XRogue: fix some uses of entire structs instead of their members.
Some calls to runto() were given a pointer to the player struct instead
of to the player's coordinates.  A call to death() was passed a pointer
to a monster instead of the monster's type number.
| author | John "Elwin" Edwards | 
|---|---|
| date | Tue, 08 Mar 2016 20:47:57 -0500 | 
| parents | 56e748983fa8 | 
| children | d3968e9cb98d | 
| rev | line source | 
|---|---|
| 
63
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
2 * File for the fun ends | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
3 * Death or a total win | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
4 * | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
5 * Advanced Rogue | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
6 * Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
7 * All rights reserved. | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
8 * | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
9 * Based on "Rogue: Exploring the Dungeons of Doom" | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
10 * Copyright (C) 1980, 1981 Michael Toy, Ken Arnold and Glenn Wichman | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
11 * All rights reserved. | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
12 * | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
13 * See the file LICENSE.TXT for full copyright and licensing information. | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
14 */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
15 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
16 /* Print flags for scoring */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
17 #define REALLIFE 1 /* Print out machine and logname */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
18 #define EDITSCORE 2 /* Edit the current score file */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
19 #define ADDSCORE 3 /* Add a new score */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
20 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
21 #include <fcntl.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
22 #include <stdio.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
23 #include <stdlib.h> | 
| 67 | 24 #include <string.h> | 
| 
63
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
25 #include "curses.h" | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
26 #include <time.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
27 #include <signal.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
28 #include <ctype.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
29 #include <sys/types.h> | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
30 #include "network.h" | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
31 #include "rogue.h" | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
32 #include "mach_dep.h" | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
33 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
34 /* | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
35 * If you change this structure, change the compatibility routines | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
36 * scoreout() and scorein() to reflect the change. Also update SCORELEN. | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
37 */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
38 | 
| 
143
 
7faf4568c295
Advanced Rogue family: overhaul privilege handling.
 
John "Elwin" Edwards 
parents: 
112 
diff
changeset
 | 
39 extern int scorefd; | 
| 
 
7faf4568c295
Advanced Rogue family: overhaul privilege handling.
 
John "Elwin" Edwards 
parents: 
112 
diff
changeset
 | 
40 extern FILE *logfile; | 
| 
 
7faf4568c295
Advanced Rogue family: overhaul privilege handling.
 
John "Elwin" Edwards 
parents: 
112 
diff
changeset
 | 
41 | 
| 
63
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
42 struct sc_ent { | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
43 unsigned long sc_score; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
44 char sc_name[LINELEN]; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
45 char sc_system[SYSLEN]; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
46 char sc_login[LOGLEN]; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
47 short sc_flgs; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
48 short sc_level; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
49 short sc_ctype; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
50 short sc_monster; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
51 short sc_quest; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
52 }; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
53 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
54 #define SCORELEN \ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
55 (sizeof(unsigned long) + LINELEN + SYSLEN + LOGLEN + 5*sizeof(short)) | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
56 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
57 static char *rip[] = { | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
58 " __________", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
59 " / \\", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
60 " / REST \\", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
61 " / IN \\", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
62 " / PEACE \\", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
63 " / \\", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
64 " | |", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
65 " | |", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
66 " | killed by |", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
67 " | |", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
68 " | 1984 |", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
69 " *| * * * | *", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
70 " ________)/\\\\_//(\\/(/\\)/\\//\\/|_)_______", | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
71 0 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
72 }; | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
73 | 
| 
218
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
74 char *killname(short monst); | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
75 void scorein(struct sc_ent scores[], int fd); | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
76 void scoreout(struct sc_ent scores[], FILE *outf); | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
77 void showpack(char *howso); | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
78 int update(struct sc_ent top_ten[], unsigned long amount, short quest, | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
79 char *whoami, short flags, short level, short monst, short ctype, | 
| 
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
80 char *system, char *login); | 
| 
63
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
81 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
82 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
83 void | 
| 
218
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
84 byebye(int sig) | 
| 
63
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
85 { | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
86 NOOP(sig); | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
87 if (!isendwin()) { | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
88 clear(); | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
89 endwin(); | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
90 } | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
91 printf("\n"); | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
92 exit(0); | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
93 } | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
94 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
95 | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
96 /* | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
97 * death: | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
98 * Do something really fun when he dies | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
99 */ | 
| 
 
0ed67132cf10
Import Advanced Rogue 5.8 from the Roguelike Restoration Project (r1490)
 
elwin 
parents:  
diff
changeset
 | 
100 | 
| 
218
 
56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
 
John "Elwin" Edwards 
parents: 
196 
diff
changeset
 | 
101 void | 
