summaryrefslogtreecommitdiff
path: root/games/ularn/patches/patch-an
blob: 29124a89e9c78fcea356953adfeb8897e200f3a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
$NetBSD: patch-an,v 1.1.1.1 2001/04/27 15:27:32 agc Exp $

--- main.c.orig	Fri Jun 19 13:55:33 1992
+++ main.c	Sat Jan 13 21:53:56 2001
@@ -1,5 +1,8 @@
 /*	main.c		*/
 /* This game is bad for you. It is evil. It will rot your brain. */
+#include <sys/types.h>
+#include <stdlib.h>
+#include <unistd.h>
 #include "header.h"
 #include "player.h"
 #include "itm.h"
@@ -40,7 +43,7 @@
 	************
  */
 
-main (argc, argv)
+int main (argc, argv)
 int argc;
 char *argv[];
 {
@@ -55,14 +58,21 @@
 /*
  *	first task is to identify the player
  */
-	if ((ptr = getlogin()) == (char *)NULL) {
-	  	if (pwe=getpwuid(geteuid()))
+	ptr = getlogin();
+	if (ptr == (char *)NULL) {
+	  	pwe = getpwuid(geteuid());
+	  	if (pwe) {
 			ptr = pwe->pw_name;
-	  	else if ((ptr = getenv("LOGNAME")) == (char *)NULL)
-	  	if ((ptr = getenv("USER")) == (char *)NULL) {
-noone:		    	fprintf(stderr,"Who *are* you?\n");
-			exit(1);
-		 }
+	  	} else {
+			ptr = getenv("LOGNAME");
+			if (ptr == (char *)NULL) {
+	  			ptr = getenv("USER");
+	  			if (ptr == (char *)NULL) {
+noone:				    	fprintf(stderr,"Who *are* you?\n");
+					exit(1);
+				}
+			}
+		}
 	}
 	if (ptr==(char *)NULL)
 		goto noone;
@@ -109,6 +119,9 @@
 
 	init_cells();	/* initialize dungeon storage */
 
+	memset(potionknown, 0, sizeof(potionknown));
+	memset(scrollknown, 0, sizeof(scrollknown));
+
 	lcreat((char*)0);	
 	newgame();		/*	set the initial clock  */
 	hard= -1;
@@ -277,6 +290,7 @@
 		  	}
 	}	/* end main loop */
 	/* NOTREACHED */
+	exit(0);
 }	/* end main */
 
 
@@ -285,7 +299,7 @@
  *
  *	get and execute a command
  */
-parse ()
+void parse (void)
 {
 	int i,j;
 	int k,flag;
@@ -393,7 +407,7 @@
 					nomove=1;
 					return;	/*give the help screen*/
 
-			case 'S':	clear();
+			case 'S':	ularn_clear();
 					lprcat("Saving . . .");
 					lflush();
 					if (savegame(savefilename) == -1 && compress) {
@@ -533,18 +547,18 @@
 					for (i=0; i<SPNUM; i++)	
 						spelknow[i]=1;
 					for (i=0; i<MAXSCROLL; i++)
-						scrollname[i][0]=' ';
+						scrollknown[i] = 1;
 					for (i=0; i<MAXPOTION; i++)
-						potionname[i][0]=' ';
+						potionknown[i] = 1;
 				}
 				for (i=0; i<MAXSCROLL; i++)
-				  if (strlen(scrollname[i])>2) {
+				  if (strlen(scrollname[i])>1) {
 					item[i][0]=OSCROLL;
 					iarg[i][0]=i;
 				  }
 				for (i=MAXX-1; i>MAXX-1-MAXPOTION; i--)
 					/* no null items */
-				  if (strlen(potionname[i-MAXX+MAXPOTION])>2) {
+				  if (strlen(potionname[i-MAXX+MAXPOTION])>1) {
 					item[i][0]=OPOTION;
 					iarg[i][0]=i-MAXX+MAXPOTION;
 				  }
@@ -619,7 +633,7 @@
 	}
 }
 
-parse2 ()
+void parse2 (void)
 {
 	if (c[HASTEMONST])
 		movemonst();