Mercurial > hg > early-roguelike
comparison srogue/chase.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 | 2128c7dc8a40 |
children | e52a8a7ad4c5 |
comparison
equal
deleted
inserted
replaced
216:b24545357d2e | 217:94a0d9dd5ce1 |
---|---|
12 * All rights reserved. | 12 * All rights reserved. |
13 * | 13 * |
14 * See the file LICENSE.TXT for full copyright and licensing information. | 14 * See the file LICENSE.TXT for full copyright and licensing information. |
15 */ | 15 */ |
16 | 16 |
17 #include <stdlib.h> | |
17 #include "rogue.h" | 18 #include "rogue.h" |
18 #include "rogue.ext" | 19 #include "rogue.ext" |
19 | 20 |
20 #define FARAWAY 32767 | 21 #define FARAWAY 32767 |
21 #define RDIST(a, b) (DISTANCE((a)->y, (a)->x, (b).y, (b).x)) | 22 #define RDIST(a, b) (DISTANCE((a)->y, (a)->x, (b).y, (b).x)) |
22 | 23 |
24 int do_chase(struct linked_list *mon); | |
25 int chase(struct thing *tp, struct coord *ee, bool runaway, bool dofight); | |
26 | |
23 struct coord ch_ret; /* Where chasing takes you */ | 27 struct coord ch_ret; /* Where chasing takes you */ |
24 | 28 |
25 /* | 29 /* |
26 * runners: | 30 * runners: |
27 * Make all the running monsters move. | 31 * Make all the running monsters move. |
28 */ | 32 */ |
29 runners() | 33 void |
34 runners(void) | |
30 { | 35 { |
31 reg struct thing *tp; | 36 reg struct thing *tp; |
32 reg struct linked_list *mon,*nextmon; | 37 reg struct linked_list *mon,*nextmon; |
33 | 38 |
34 for (mon = mlist; mon != NULL; mon = nextmon) { | 39 for (mon = mlist; mon != NULL; mon = nextmon) { |
52 | 57 |
53 /* | 58 /* |
54 * do_chase: | 59 * do_chase: |
55 * Make one thing chase another. | 60 * Make one thing chase another. |
56 */ | 61 */ |
57 do_chase(mon) | 62 int |
58 struct linked_list *mon; | 63 do_chase(struct linked_list *mon) |
59 { | 64 { |
60 reg struct thing *th; | 65 reg struct thing *th; |
61 reg struct room *rer, *ree, *rxx; | 66 reg struct room *rer, *ree, *rxx; |
62 reg int mindist, i, dist; | 67 reg int mindist, i, dist; |
63 struct stats *st; | 68 struct stats *st; |
239 * chase: | 244 * chase: |
240 * Find the spot for the chaser to move closer to the | 245 * Find the spot for the chaser to move closer to the |
241 * chasee. Returns TRUE if we want to keep on chasing | 246 * chasee. Returns TRUE if we want to keep on chasing |
242 * later FALSE if we reach the goal. | 247 * later FALSE if we reach the goal. |
243 */ | 248 */ |
244 chase(tp, ee, runaway, dofight) | 249 int |
245 struct thing *tp; | 250 chase(struct thing *tp, struct coord *ee, bool runaway, bool dofight) |
246 struct coord *ee; | |
247 bool runaway, dofight; | |
248 { | 251 { |
249 reg int x, y, ch; | 252 reg int x, y, ch; |
250 reg int dist, thisdist, closest; | 253 reg int dist, thisdist, closest; |
251 reg struct coord *er = &tp->t_pos; | 254 reg struct coord *er = &tp->t_pos; |
252 struct coord try, closecoord; | 255 struct coord try, closecoord; |
383 | 386 |
384 /* | 387 /* |
385 * runto: | 388 * runto: |
386 * Set a monster running after something | 389 * Set a monster running after something |
387 */ | 390 */ |
388 runto(runner, spot) | 391 void |
389 struct coord *runner; | 392 runto(struct coord *runner, struct coord *spot) |
390 struct coord *spot; | |
391 { | 393 { |
392 reg struct linked_list *item; | 394 reg struct linked_list *item; |
393 reg struct thing *tp; | 395 reg struct thing *tp; |
394 | 396 |
395 if ((item = find_mons(runner->y, runner->x)) == NULL) | 397 if ((item = find_mons(runner->y, runner->x)) == NULL) |
407 * roomin: | 409 * roomin: |
408 * Find what room some coordinates are in. | 410 * Find what room some coordinates are in. |
409 * NULL means they aren't in any room. | 411 * NULL means they aren't in any room. |
410 */ | 412 */ |
411 struct room * | 413 struct room * |
412 roomin(cp) | 414 roomin(struct coord *cp) |
413 struct coord *cp; | |
414 { | 415 { |
415 reg struct room *rp; | 416 reg struct room *rp; |
416 | 417 |
417 if (cordok(cp->y, cp->x)) { | 418 if (cordok(cp->y, cp->x)) { |
418 for (rp = rooms; rp < &rooms[MAXROOMS]; rp += 1) | 419 for (rp = rooms; rp < &rooms[MAXROOMS]; rp += 1) |
426 /* | 427 /* |
427 * find_mons: | 428 * find_mons: |
428 * Find the monster from his coordinates | 429 * Find the monster from his coordinates |
429 */ | 430 */ |
430 struct linked_list * | 431 struct linked_list * |
431 find_mons(y, x) | 432 find_mons(int y, int x) |
432 int y, x; | |
433 { | 433 { |
434 reg struct linked_list *item; | 434 reg struct linked_list *item; |
435 reg struct thing *th; | 435 reg struct thing *th; |
436 | 436 |
437 for (item = mlist; item != NULL; item = next(item)) { | 437 for (item = mlist; item != NULL; item = next(item)) { |
445 | 445 |
446 /* | 446 /* |
447 * diag_ok: | 447 * diag_ok: |
448 * Check to see if the move is legal if it is diagonal | 448 * Check to see if the move is legal if it is diagonal |
449 */ | 449 */ |
450 diag_ok(sp, ep) | 450 bool |
451 struct coord *sp, *ep; | 451 diag_ok(struct coord *sp, struct coord *ep) |
452 { | 452 { |
453 if (ep->x == sp->x || ep->y == sp->y) | 453 if (ep->x == sp->x || ep->y == sp->y) |
454 return TRUE; | 454 return TRUE; |
455 if (step_ok(mvinch(ep->y,sp->x)) && step_ok(mvinch(sp->y,ep->x))) | 455 if (step_ok(mvinch(ep->y,sp->x)) && step_ok(mvinch(sp->y,ep->x))) |
456 return TRUE; | 456 return TRUE; |
460 | 460 |
461 /* | 461 /* |
462 * cansee: | 462 * cansee: |
463 * returns true if the hero can see a certain coordinate. | 463 * returns true if the hero can see a certain coordinate. |
464 */ | 464 */ |
465 cansee(y, x) | 465 bool |
466 int y, x; | 466 cansee(int y, int x) |
467 { | 467 { |
468 reg struct room *rer; | 468 reg struct room *rer; |
469 struct coord tp; | 469 struct coord tp; |
470 | 470 |
471 if (pl_on(ISBLIND)) | 471 if (pl_on(ISBLIND)) |