comparison srogue/io.c @ 217:94a0d9dd5ce1

Super-Rogue: convert to ANSI-style function declarations. This fixes most of the build warnings.
author John "Elwin" Edwards
date Sun, 31 Jan 2016 13:45:07 -0500
parents 458df24e973d
children 70aa5808c782
comparison
equal deleted inserted replaced
216:b24545357d2e 217:94a0d9dd5ce1
18 #include <ctype.h> 18 #include <ctype.h>
19 #include <string.h> 19 #include <string.h>
20 #include "rogue.h" 20 #include "rogue.h"
21 #include "rogue.ext" 21 #include "rogue.ext"
22 22
23 int md_readchar(WINDOW *win); 23 void doadd(char *fmt, va_list ap);
24 24
25 /* 25 /*
26 * msg: 26 * msg:
27 * Display a message at the top of the screen. 27 * Display a message at the top of the screen.
28 */ 28 */
29 static char msgbuf[BUFSIZ]; 29 static char msgbuf[BUFSIZ];
30 static int newpos = 0; 30 static int newpos = 0;
31 31
32 void
32 msg(char *fmt, ...) 33 msg(char *fmt, ...)
33 { 34 {
34 va_list ap; 35 va_list ap;
35 /* 36 /*
36 * if the string is "", just clear the line 37 * if the string is "", just clear the line
52 53
53 /* 54 /*
54 * addmsg: 55 * addmsg:
55 * Add things to the current message 56 * Add things to the current message
56 */ 57 */
58 void
57 addmsg(char *fmt, ...) 59 addmsg(char *fmt, ...)
58 { 60 {
59 va_list ap; 61 va_list ap;
60 62
61 va_start(ap, fmt); 63 va_start(ap, fmt);
66 /* 68 /*
67 * endmsg: 69 * endmsg:
68 * Display a new msg, giving him a chance to see the 70 * Display a new msg, giving him a chance to see the
69 * previous one if it is up there with the --More-- 71 * previous one if it is up there with the --More--
70 */ 72 */
71 endmsg() 73 void
74 endmsg(void)
72 { 75 {
73 strcpy(huh, msgbuf); 76 strcpy(huh, msgbuf);
74 if (mpos > 0) { 77 if (mpos > 0) {
75 wmove(cw, 0, mpos); 78 wmove(cw, 0, mpos);
76 waddstr(cw, morestr); 79 waddstr(cw, morestr);
86 89
87 /* 90 /*
88 * doadd: 91 * doadd:
89 * Perform a printf into a buffer 92 * Perform a printf into a buffer
90 */ 93 */
94 void
91 doadd(char *fmt, va_list ap) 95 doadd(char *fmt, va_list ap)
92 { 96 {
93 vsprintf(&msgbuf[newpos], fmt, ap); 97 vsprintf(&msgbuf[newpos], fmt, ap);
94 newpos = strlen(msgbuf); 98 newpos = strlen(msgbuf);
95 } 99 }
96 100
97 /* 101 /*
98 * step_ok: 102 * step_ok:
99 * Returns TRUE if it is ok to step on ch 103 * Returns TRUE if it is ok to step on ch
100 */ 104 */
101 step_ok(ch) 105 bool
102 unsigned char ch; 106 step_ok(unsigned char ch)
103 { 107 {
104 if (dead_end(ch)) 108 if (dead_end(ch))
105 return FALSE; 109 return FALSE;
106 else if (ch >= 32 && ch <= 127 && !isalpha(ch)) 110 else if (ch >= 32 && ch <= 127 && !isalpha(ch))
107 return TRUE; 111 return TRUE;
111 115
112 /* 116 /*
113 * dead_end: 117 * dead_end:
114 * Returns TRUE if you cant walk through that character 118 * Returns TRUE if you cant walk through that character
115 */ 119 */
116 dead_end(ch) 120 bool
117 char ch; 121 dead_end(char ch)
118 { 122 {
119 if (ch == '-' || ch == '|' || ch == ' ' || ch == SECRETDOOR) 123 if (ch == '-' || ch == '|' || ch == ' ' || ch == SECRETDOOR)
120 return TRUE; 124 return TRUE;
121 else 125 else
122 return FALSE; 126 return FALSE;
127 * readchar: 131 * readchar:
128 * flushes stdout so that screen is up to date and then returns 132 * flushes stdout so that screen is up to date and then returns
129 * getchar. 133 * getchar.
130 */ 134 */
131 135
132 readchar() 136 int
137 readchar(void)
133 { 138 {
134 char c; 139 char c;
135 140
136 fflush(stdout); 141 fflush(stdout);
137 return( md_readchar(cw) ); 142 return( md_readchar(cw) );
146 151
147 /* 152 /*
148 * status: 153 * status:
149 * Display the important stats line. Keep the cursor where it was. 154 * Display the important stats line. Keep the cursor where it was.
150 */ 155 */
151 status(fromfuse) 156 void
152 int fromfuse; 157 status(int fromfuse)
153 { 158 {
154 reg int totwght, carwght; 159 reg int totwght, carwght;
155 reg struct real *stef, *stre, *stmx; 160 reg struct real *stef, *stre, *stmx;
156 reg char *pb; 161 reg char *pb;
157 int oy, ox, ch; 162 int oy, ox, ch;
218 223
219 /* 224 /*
220 * dispmax: 225 * dispmax:
221 * Display the hero's maximum status 226 * Display the hero's maximum status
222 */ 227 */
223 dispmax() 228 void
229 dispmax(void)
224 { 230 {
225 reg struct real *hmax; 231 reg struct real *hmax;
226 232
227 hmax = &max_stats.s_re; 233 hmax = &max_stats.s_re;
228 msg("Maximums: Str = %d Dex = %d Wis = %d Con = %d", 234 msg("Maximums: Str = %d Dex = %d Wis = %d Con = %d",
231 237
232 /* 238 /*
233 * illeg_ch: 239 * illeg_ch:
234 * Returns TRUE if a char shouldn't show on the screen 240 * Returns TRUE if a char shouldn't show on the screen
235 */ 241 */
236 illeg_ch(ch) 242 bool
237 unsigned char ch; 243 illeg_ch(unsigned char ch)
238 { 244 {
239 if (ch < 32 || ch > 127) 245 if (ch < 32 || ch > 127)
240 return TRUE; 246 return TRUE;
241 if (ch >= '0' && ch <= '9') 247 if (ch >= '0' && ch <= '9')
242 return TRUE; 248 return TRUE;
245 251
246 /* 252 /*
247 * wait_for: 253 * wait_for:
248 * Sit around until the guy types the right key 254 * Sit around until the guy types the right key
249 */ 255 */
250 wait_for(win,ch) 256 void
251 WINDOW *win; 257 wait_for(WINDOW *win, char ch)
252 char ch;
253 { 258 {
254 register char c; 259 register char c;
255 260
256 if (ch == '\n') 261 if (ch == '\n')
257 while ((c = wgetch(win)) != '\n' && c != '\r') 262 while ((c = wgetch(win)) != '\n' && c != '\r')
291 296
292 /* 297 /*
293 * dbotline: 298 * dbotline:
294 * Displays message on bottom line and waits for a space to return 299 * Displays message on bottom line and waits for a space to return
295 */ 300 */
296 dbotline(scr,message) 301 void
297 WINDOW *scr; 302 dbotline(WINDOW *scr, char *message)
298 char *message;
299 { 303 {
300 mvwaddstr(scr,LINES-1,0,message); 304 mvwaddstr(scr,LINES-1,0,message);
301 draw(scr); 305 draw(scr);
302 wait_for(scr,' '); 306 wait_for(scr,' ');
303 } 307 }
305 309
306 /* 310 /*
307 * restscr: 311 * restscr:
308 * Restores the screen to the terminal 312 * Restores the screen to the terminal
309 */ 313 */
310 restscr(scr) 314 void
311 WINDOW *scr; 315 restscr(WINDOW *scr)
312 { 316 {
313 clearok(scr,TRUE); 317 clearok(scr,TRUE);
314 touchwin(scr); 318 touchwin(scr);
315 } 319 }
316 320
317 /* 321 /*
318 * npch: 322 * npch:
319 * Get the next char in line for inventories 323 * Get the next char in line for inventories
320 */ 324 */
321 npch(ch) 325 char
322 char ch; 326 npch(char ch)
323 { 327 {
324 reg char nch; 328 reg char nch;
325 if (ch >= 'z') 329 if (ch >= 'z')
326 nch = 'A'; 330 nch = 'A';
327 else 331 else