comparison arogue7/rooms.c @ 225:4f6e056438eb

Merge the GCC5 and build fix branches.
author John "Elwin" Edwards
date Wed, 02 Mar 2016 21:28:34 -0500
parents f9ef86cf22b2
children
comparison
equal deleted inserted replaced
224:4d0f53998e8a 225:4f6e056438eb
19 19
20 #include <stdlib.h> 20 #include <stdlib.h>
21 #include "curses.h" 21 #include "curses.h"
22 #include "rogue.h" 22 #include "rogue.h"
23 23
24 do_rooms() 24 void horiz(int cnt);
25 void vert(int cnt);
26
27 void
28 do_rooms(void)
25 { 29 {
26 register int i; 30 register int i;
27 register struct room *rp; 31 register struct room *rp;
28 register struct linked_list *item; 32 register struct linked_list *item;
29 register struct thing *tp; 33 register struct thing *tp;
106 register struct object *cur; 110 register struct object *cur;
107 coord tp; 111 coord tp;
108 112
109 has_gold = TRUE; /* This room has gold in it */ 113 has_gold = TRUE; /* This room has gold in it */
110 114
111 item = spec_item(GOLD, NULL, NULL, NULL); 115 item = spec_item(GOLD, 0, 0, 0);
112 cur = OBJPTR(item); 116 cur = OBJPTR(item);
113 117
114 /* Put the gold into the level list of items */ 118 /* Put the gold into the level list of items */
115 attach(lvl_obj, item); 119 attach(lvl_obj, item);
116 120
176 * Given a room pointer and a pointer to a door, supposedly in that room, 180 * Given a room pointer and a pointer to a door, supposedly in that room,
177 * return the coordinates of the entrance to the doorway. 181 * return the coordinates of the entrance to the doorway.
178 */ 182 */
179 183
180 coord * 184 coord *
181 doorway(rp, door) 185 doorway(struct room *rp, coord *door)
182 register struct room *rp;
183 register coord *door;
184 { 186 {
185 register int misses = 0; 187 register int misses = 0;
186 static coord answer; 188 static coord answer;
187 189
188 /* Do we have decent parameters? */ 190 /* Do we have decent parameters? */
207 209
208 /* 210 /*
209 * Draw a box around a room 211 * Draw a box around a room
210 */ 212 */
211 213
212 draw_room(rp) 214 void
213 register struct room *rp; 215 draw_room(struct room *rp)
214 { 216 {
215 register int j, k; 217 register int j, k;
216 218
217 move(rp->r_pos.y, rp->r_pos.x+1); 219 move(rp->r_pos.y, rp->r_pos.x+1);
218 vert(rp->r_max.y-2); /* Draw left side */ 220 vert(rp->r_max.y-2); /* Draw left side */
235 /* 237 /*
236 * horiz: 238 * horiz:
237 * draw a horizontal line 239 * draw a horizontal line
238 */ 240 */
239 241
240 horiz(cnt) 242 void
241 register int cnt; 243 horiz(int cnt)
242 { 244 {
243 while (cnt--) 245 while (cnt--)
244 addch('-'); 246 addch('-');
245 } 247 }
246 248
247 /* 249 /*
248 * rnd_pos: 250 * rnd_pos:
249 * pick a random spot in a room 251 * pick a random spot in a room
250 */ 252 */
251 253
252 rnd_pos(rp, cp) 254 void
253 register struct room *rp; 255 rnd_pos(struct room *rp, coord *cp)
254 register coord *cp;
255 { 256 {
256 cp->x = rp->r_pos.x + rnd(rp->r_max.x-2) + 1; 257 cp->x = rp->r_pos.x + rnd(rp->r_max.x-2) + 1;
257 cp->y = rp->r_pos.y + rnd(rp->r_max.y-2) + 1; 258 cp->y = rp->r_pos.y + rnd(rp->r_max.y-2) + 1;
258 } 259 }
259 260
264 * Find what room some coordinates are in. NULL means they aren't 265 * Find what room some coordinates are in. NULL means they aren't
265 * in any room. 266 * in any room.
266 */ 267 */
267 268
268 struct room * 269 struct room *
269 roomin(cp) 270 roomin(coord *cp)
270 register coord *cp;
271 { 271 {
272 register struct room *rp; 272 register struct room *rp;
273 273
274 for (rp = rooms; rp < &rooms[MAXROOMS]; rp++) 274 for (rp = rooms; rp < &rooms[MAXROOMS]; rp++)
275 if (inroom(rp, cp)) 275 if (inroom(rp, cp))
280 /* 280 /*
281 * vert: 281 * vert:
282 * draw a vertical line 282 * draw a vertical line
283 */ 283 */
284 284
285 vert(cnt) 285 void
286 register int cnt; 286 vert(int cnt)
287 { 287 {
288 register int x, y; 288 register int x, y;
289 289
290 getyx(stdscr, y, x); 290 getyx(stdscr, y, x);
291 x--; 291 x--;