Mercurial > hg > early-roguelike
comparison arogue5/chase.c @ 218:56e748983fa8
Advanced Rogue 5: convert to ANSI function declarations.
This still leaves over a thousand lines of warning messages, mostly
related to the return types of daemons and fuses.
author | John "Elwin" Edwards |
---|---|
date | Sun, 07 Feb 2016 14:39:21 -0500 |
parents | 0ed67132cf10 |
children | e52a8a7ad4c5 |
comparison
equal
deleted
inserted
replaced
217:94a0d9dd5ce1 | 218:56e748983fa8 |
---|---|
10 * All rights reserved. | 10 * All rights reserved. |
11 * | 11 * |
12 * See the file LICENSE.TXT for full copyright and licensing information. | 12 * See the file LICENSE.TXT for full copyright and licensing information. |
13 */ | 13 */ |
14 | 14 |
15 #include <stdlib.h> | |
15 #include <ctype.h> | 16 #include <ctype.h> |
16 #include <limits.h> | 17 #include <limits.h> |
17 #include "curses.h" | 18 #include "curses.h" |
18 #include "rogue.h" | 19 #include "rogue.h" |
19 #define MAXINT INT_MAX | 20 #define MAXINT INT_MAX |
20 #define MININT INT_MIN | 21 #define MININT INT_MIN |
21 | 22 |
22 coord ch_ret; /* Where chasing takes you */ | 23 coord ch_ret; /* Where chasing takes you */ |
23 | 24 |
24 | 25 struct linked_list *get_hurl(struct thing *tp); |
25 | 26 bool straight_shot(int ery, int erx, int eey, int eex, coord *shooting); |
26 | 27 |
27 | 28 |
28 /* | 29 /* |
29 * Canblink checks if the monster can teleport (blink). If so, it will | 30 * Canblink checks if the monster can teleport (blink). If so, it will |
30 * try to blink the monster next to the player. | 31 * try to blink the monster next to the player. |
31 */ | 32 */ |
32 | 33 |
33 bool | 34 bool |
34 can_blink(tp) | 35 can_blink(struct thing *tp) |
35 register struct thing *tp; | |
36 { | 36 { |
37 register int y, x, index=9; | 37 register int y, x, index=9; |
38 coord tryp; /* To hold the coordinates for use in diag_ok */ | 38 coord tryp; /* To hold the coordinates for use in diag_ok */ |
39 bool spots[9], found_one=FALSE; | 39 bool spots[9], found_one=FALSE; |
40 | 40 |
126 * Can_shoot determines if the monster (er) has a direct line of shot | 126 * Can_shoot determines if the monster (er) has a direct line of shot |
127 * at the player (ee). If so, it returns the direction in which to shoot. | 127 * at the player (ee). If so, it returns the direction in which to shoot. |
128 */ | 128 */ |
129 | 129 |
130 coord * | 130 coord * |
131 can_shoot(er, ee) | 131 can_shoot(coord *er, coord *ee) |
132 register coord *er, *ee; | |
133 { | 132 { |
134 static coord shoot_dir; | 133 static coord shoot_dir; |
135 | 134 |
136 /* Make sure we are chasing the player */ | 135 /* Make sure we are chasing the player */ |
137 if (!ce((*ee), hero)) return(NULL); | 136 if (!ce((*ee), hero)) return(NULL); |
152 * Find the spot for the chaser(er) to move closer to the | 151 * Find the spot for the chaser(er) to move closer to the |
153 * chasee(ee). Returns TRUE if we want to keep on chasing later | 152 * chasee(ee). Returns TRUE if we want to keep on chasing later |
154 * FALSE if we reach the goal. | 153 * FALSE if we reach the goal. |
155 */ | 154 */ |
156 | 155 |
157 chase(tp, ee, flee, mdead) | 156 /* flee: True if destination (ee) is player and monster is running |
158 register struct thing *tp; | 157 * away or the player is in a wall and the monster can't get to it |
159 register coord *ee; | 158 */ |
160 bool flee; /* True if destination (ee) is player and monster is running away | 159 bool |
161 * or the player is in a wall and the monster can't get to it | 160 chase(struct thing *tp, coord *ee, bool flee, bool *mdead) |
162 */ | |
163 bool *mdead; | |
164 { | 161 { |
165 int damage, dist, thisdist, monst_dist = MAXINT; | 162 int damage, dist, thisdist, monst_dist = MAXINT; |
166 struct linked_list *weapon; | 163 struct linked_list *weapon; |
167 register coord *er = &tp->t_pos; | 164 register coord *er = &tp->t_pos; |
168 coord *shoot_dir; | 165 coord *shoot_dir; |
528 | 525 |
529 /* | 526 /* |
530 * do_chase: | 527 * do_chase: |
531 * Make one thing chase another. | 528 * Make one thing chase another. |
532 */ | 529 */ |
533 | 530 /* flee: True if running away or player is inaccessible in wall */ |
534 do_chase(th, flee) | 531 |
535 register struct thing *th; | 532 void |
536 register bool flee; /* True if running away or player is inaccessible in wall */ | 533 do_chase(struct thing *th, bool flee) |
537 { | 534 { |
538 register struct room *rer, *ree, /* room of chaser, room of chasee */ | 535 register struct room *rer, *ree, /* room of chaser, room of chasee */ |
539 *orig_rer, /* Original room of chaser */ | 536 *orig_rer, /* Original room of chaser */ |
540 *new_room; /* new room of monster */ | 537 *new_room; /* new room of monster */ |
541 int dist = MININT; | 538 int dist = MININT; |
828 /* | 825 /* |
829 * Get_hurl returns the weapon that the monster will "throw" if he has one | 826 * Get_hurl returns the weapon that the monster will "throw" if he has one |
830 */ | 827 */ |
831 | 828 |
832 struct linked_list * | 829 struct linked_list * |
833 get_hurl(tp) | 830 get_hurl(struct thing *tp) |
834 register struct thing *tp; | |
835 { | 831 { |
836 struct linked_list *arrow, *bolt, *rock; | 832 struct linked_list *arrow, *bolt, *rock; |
837 register struct linked_list *pitem; | 833 register struct linked_list *pitem; |
838 bool bow=FALSE, crossbow=FALSE, sling=FALSE; | 834 bool bow=FALSE, crossbow=FALSE, sling=FALSE; |
839 | 835 |
859 /* | 855 /* |
860 * runners: | 856 * runners: |
861 * Make all the running monsters move. | 857 * Make all the running monsters move. |
862 */ | 858 */ |
863 | 859 |
864 runners() | 860 void |
861 runners(void) | |
865 { | 862 { |
866 register struct linked_list *item; | 863 register struct linked_list *item; |
867 register struct thing *tp = NULL; | 864 register struct thing *tp = NULL; |
868 | 865 |
869 /* | 866 /* |
933 /* | 930 /* |
934 * runto: | 931 * runto: |
935 * Set a monster running after something | 932 * Set a monster running after something |
936 */ | 933 */ |
937 | 934 |
938 runto(runner, spot) | 935 void |
939 register struct thing *runner; | 936 runto(struct thing *runner, coord *spot) |
940 coord *spot; | |
941 { | 937 { |
942 /* | 938 /* |
943 * Start the beastie running | 939 * Start the beastie running |
944 */ | 940 */ |
945 runner->t_dest = spot; | 941 runner->t_dest = spot; |
957 * to shoot (if there is a line of sight). If shooting, monsters | 953 * to shoot (if there is a line of sight). If shooting, monsters |
958 * get in the way. Otherwise, they do not. | 954 * get in the way. Otherwise, they do not. |
959 */ | 955 */ |
960 | 956 |
961 bool | 957 bool |
962 straight_shot(ery, erx, eey, eex, shooting) | 958 straight_shot(int ery, int erx, int eey, int eex, coord *shooting) |
963 register int ery, erx, eey, eex; | |
964 register coord *shooting; | |
965 { | 959 { |
966 register int dy, dx; /* Deltas */ | 960 register int dy, dx; /* Deltas */ |
967 char ch; | 961 char ch; |
968 | 962 |
969 /* Does the monster have a straight shot at player */ | 963 /* Does the monster have a straight shot at player */ |