Mercurial > hg > early-roguelike
comparison arogue7/util.c @ 219:f9ef86cf22b2
Advanced Rogue 7: convert to ANSI-style function declarations.
Almost 1500 lines of compiler warnings remain, and the GCC developers
are already working on a new version with even more warnings turned on
by default.
author | John "Elwin" Edwards |
---|---|
date | Fri, 19 Feb 2016 21:02:28 -0500 |
parents | 1cd604c827a3 |
children | e1cd27c5464f |
comparison
equal
deleted
inserted
replaced
218:56e748983fa8 | 219:f9ef86cf22b2 |
---|---|
33 | 33 |
34 /* | 34 /* |
35 * this routine computes the players current AC without dex bonus's | 35 * this routine computes the players current AC without dex bonus's |
36 */ | 36 */ |
37 int | 37 int |
38 ac_compute(ignoremetal) | 38 ac_compute(bool ignoremetal) |
39 bool ignoremetal; | |
40 { | 39 { |
41 register int ac; | 40 register int ac; |
42 | 41 |
43 ac = pstats.s_arm; /* base armor of "skin" */ | 42 ac = pstats.s_arm; /* base armor of "skin" */ |
44 if (cur_armor) { | 43 if (cur_armor) { |
67 /* | 66 /* |
68 * aggravate: | 67 * aggravate: |
69 * aggravate all the monsters on this level | 68 * aggravate all the monsters on this level |
70 */ | 69 */ |
71 | 70 |
72 aggravate(do_uniques, do_good) | 71 void |
73 bool do_uniques, do_good; | 72 aggravate(bool do_uniques, bool do_good) |
74 { | 73 { |
75 register struct linked_list *mi; | 74 register struct linked_list *mi; |
76 register struct thing *thingptr; | 75 register struct thing *thingptr; |
77 | 76 |
78 for (mi = mlist; mi != NULL; mi = next(mi)) { | 77 for (mi = mlist; mi != NULL; mi = next(mi)) { |
85 /* | 84 /* |
86 * cansee: | 85 * cansee: |
87 * returns true if the hero can see a certain coordinate. | 86 * returns true if the hero can see a certain coordinate. |
88 */ | 87 */ |
89 | 88 |
90 cansee(y, x) | 89 bool |
91 register int y, x; | 90 cansee(int y, int x) |
92 { | 91 { |
93 register struct room *rer; | 92 register struct room *rer; |
94 register int radius; | 93 register int radius; |
95 coord tp; | 94 coord tp; |
96 | 95 |
132 * All further experience levels are computed by muliplying by 2 | 131 * All further experience levels are computed by muliplying by 2 |
133 * up through MAXDOUBLE. Then the cap is added in to compute | 132 * up through MAXDOUBLE. Then the cap is added in to compute |
134 * further levels | 133 * further levels |
135 */ | 134 */ |
136 long | 135 long |
137 check_level() | 136 check_level(void) |
138 { | 137 { |
139 register int i, j, add = 0; | 138 register int i, j, add = 0; |
140 register unsigned long exp; | 139 register unsigned long exp; |
141 long retval; /* Return value */ | 140 long retval; /* Return value */ |
142 int nsides; | 141 int nsides; |
176 /* | 175 /* |
177 * Used to modify the players strength | 176 * Used to modify the players strength |
178 * it keeps track of the highest it has been, just in case | 177 * it keeps track of the highest it has been, just in case |
179 */ | 178 */ |
180 | 179 |
181 chg_str(amt) | 180 void |
182 register int amt; | 181 chg_str(int amt) |
183 { | 182 { |
184 register int ring_str; /* ring strengths */ | 183 register int ring_str; /* ring strengths */ |
185 register struct stats *ptr; /* for speed */ | 184 register struct stats *ptr; /* for speed */ |
186 | 185 |
187 ptr = &pstats; | 186 ptr = &pstats; |
199 } | 198 } |
200 | 199 |
201 /* | 200 /* |
202 * let's confuse the player | 201 * let's confuse the player |
203 */ | 202 */ |
204 confus_player() | 203 void |
204 confus_player(void) | |
205 { | 205 { |
206 if (off(player, ISCLEAR)) | 206 if (off(player, ISCLEAR)) |
207 { | 207 { |
208 msg("Wait, what's going on here. Huh? What? Who?"); | 208 msg("Wait, what's going on here. Huh? What? Who?"); |
209 if (find_slot(unconfuse)) | 209 if (find_slot(unconfuse)) |
216 } | 216 } |
217 | 217 |
218 /* | 218 /* |
219 * this routine computes the players current dexterity | 219 * this routine computes the players current dexterity |
220 */ | 220 */ |
221 dex_compute() | 221 int |
222 dex_compute(void) | |
222 { | 223 { |
223 if (cur_misc[WEAR_GAUNTLET] != NULL && | 224 if (cur_misc[WEAR_GAUNTLET] != NULL && |
224 cur_misc[WEAR_GAUNTLET]->o_which == MM_G_DEXTERITY) { | 225 cur_misc[WEAR_GAUNTLET]->o_which == MM_G_DEXTERITY) { |
225 if (cur_misc[WEAR_GAUNTLET]->o_flags & ISCURSED) | 226 if (cur_misc[WEAR_GAUNTLET]->o_flags & ISCURSED) |
226 return (3); | 227 return (3); |
234 /* | 235 /* |
235 * diag_ok: | 236 * diag_ok: |
236 * Check to see if the move is legal if it is diagonal | 237 * Check to see if the move is legal if it is diagonal |
237 */ | 238 */ |
238 | 239 |
239 diag_ok(sp, ep, flgptr) | 240 bool |
240 register coord *sp, *ep; | 241 diag_ok(coord *sp, coord *ep, struct thing *flgptr) |
241 struct thing *flgptr; | |
242 { | 242 { |
243 register int numpaths = 0; | 243 register int numpaths = 0; |
244 | 244 |
245 /* Horizontal and vertical moves are always ok */ | 245 /* Horizontal and vertical moves are always ok */ |
246 if (ep->x == sp->x || ep->y == sp->y) | 246 if (ep->x == sp->x || ep->y == sp->y) |
256 | 256 |
257 /* | 257 /* |
258 * pick a random position around the give (y, x) coordinates | 258 * pick a random position around the give (y, x) coordinates |
259 */ | 259 */ |
260 coord * | 260 coord * |
261 fallpos(pos, be_clear, range) | 261 fallpos(coord *pos, bool be_clear, int range) |
262 register coord *pos; | |
263 bool be_clear; | |
264 int range; | |
265 { | 262 { |
266 register int tried, i, j; | 263 register int tried, i, j; |
267 register char ch; | 264 register char ch; |
268 static coord ret; | 265 static coord ret; |
269 static short masks[] = { | 266 static short masks[] = { |
337 /* | 334 /* |
338 * findmindex: | 335 * findmindex: |
339 * Find the index into the monster table of a monster given its name. | 336 * Find the index into the monster table of a monster given its name. |
340 */ | 337 */ |
341 | 338 |
342 findmindex(name) | 339 int |
343 char *name; | 340 findmindex(char *name) |
344 { | 341 { |
345 int which; | 342 int which; |
346 | 343 |
347 for (which=1; which<NUMMONST; which++) { | 344 for (which=1; which<NUMMONST; which++) { |
348 if (strcmp(name, monsters[which].m_name) == 0) | 345 if (strcmp(name, monsters[which].m_name) == 0) |
359 * find_mons: | 356 * find_mons: |
360 * Find the monster from his coordinates | 357 * Find the monster from his coordinates |
361 */ | 358 */ |
362 | 359 |
363 struct linked_list * | 360 struct linked_list * |
364 find_mons(y, x) | 361 find_mons(int y, int x) |
365 register int y; | |
366 register int x; | |
367 { | 362 { |
368 register struct linked_list *item; | 363 register struct linked_list *item; |
369 register struct thing *th; | 364 register struct thing *th; |
370 | 365 |
371 for (item = mlist; item != NULL; item = next(item)) | 366 for (item = mlist; item != NULL; item = next(item)) |
381 * find_obj: | 376 * find_obj: |
382 * find the unclaimed object at y, x | 377 * find the unclaimed object at y, x |
383 */ | 378 */ |
384 | 379 |
385 struct linked_list * | 380 struct linked_list * |
386 find_obj(y, x) | 381 find_obj(int y, int x) |
387 register int y; | |
388 register int x; | |
389 { | 382 { |
390 register struct linked_list *obj; | 383 register struct linked_list *obj; |
391 register struct object *op; | 384 register struct object *op; |
392 | 385 |
393 for (obj = lvl_obj; obj != NULL; obj = next(obj)) | 386 for (obj = lvl_obj; obj != NULL; obj = next(obj)) |
401 | 394 |
402 /* | 395 /* |
403 * get coordinates from the player using the cursor keys (or mouse) | 396 * get coordinates from the player using the cursor keys (or mouse) |
404 */ | 397 */ |
405 coord | 398 coord |
406 get_coordinates() | 399 get_coordinates(void) |
407 { | 400 { |
408 register int which; | 401 register int which; |
409 coord c; | 402 coord c; |
410 #ifdef PC7300 | 403 #ifdef PC7300 |
411 struct umdata startmouse, listenmouse; /* Mouse parameters */ | 404 struct umdata startmouse, listenmouse; /* Mouse parameters */ |
548 | 541 |
549 /* | 542 /* |
550 * set up the direction co_ordinate for use in various "prefix" commands | 543 * set up the direction co_ordinate for use in various "prefix" commands |
551 */ | 544 */ |
552 bool | 545 bool |
553 get_dir(direction) | 546 get_dir(coord *direction) |
554 coord *direction; | |
555 { | 547 { |
556 register char *prompt; | 548 register char *prompt; |
557 register bool gotit; | 549 register bool gotit; |
558 int x,y; | 550 int x,y; |
559 | 551 |
608 } | 600 } |
609 | 601 |
610 /* | 602 /* |
611 * see if the object is one of the currently used items | 603 * see if the object is one of the currently used items |
612 */ | 604 */ |
613 is_current(obj) | 605 bool |
614 register struct object *obj; | 606 is_current(struct object *obj) |
615 { | 607 { |
616 if (obj == NULL) | 608 if (obj == NULL) |
617 return FALSE; | 609 return FALSE; |
618 if (obj == cur_armor || obj == cur_weapon || | 610 if (obj == cur_armor || obj == cur_weapon || |
619 obj == cur_ring[LEFT_1] || obj == cur_ring[LEFT_2] || | 611 obj == cur_ring[LEFT_1] || obj == cur_ring[LEFT_2] || |
648 | 640 |
649 | 641 |
650 /* | 642 /* |
651 * Look: | 643 * Look: |
652 * A quick glance all around the player | 644 * A quick glance all around the player |
653 */ | 645 * wakeup: Should we wake up monsters |
654 | 646 * runend: At end of a run -- for mazes |
655 look(wakeup, runend) | 647 */ |
656 bool wakeup; /* Should we wake up monsters */ | 648 |
657 bool runend; /* At end of a run -- for mazes */ | 649 void |
650 look(bool wakeup, bool runend) | |
658 { | 651 { |
659 register int x, y, radius; | 652 register int x, y, radius; |
660 register char ch, och; | 653 register char ch, och; |
661 register int oldx, oldy; | 654 register int oldx, oldy; |
662 register bool inpass, horiz, vert, do_light = FALSE, do_blank = FALSE; | 655 register bool inpass, horiz, vert, do_light = FALSE, do_blank = FALSE; |
936 | 929 |
937 /* | 930 /* |
938 * Lower a level of experience | 931 * Lower a level of experience |
939 */ | 932 */ |
940 | 933 |
941 lower_level(who) | 934 void |
942 short who; | 935 lower_level(short who) |
943 { | 936 { |
944 int fewer, nsides; | 937 int fewer, nsides; |
945 unsigned int exp; | 938 unsigned int exp; |
946 | 939 |
947 msg("You suddenly feel less skillful."); | 940 msg("You suddenly feel less skillful."); |
969 | 962 |
970 /* | 963 /* |
971 * print out the name of a monster | 964 * print out the name of a monster |
972 */ | 965 */ |
973 char * | 966 char * |
974 monster_name(tp) | 967 monster_name(struct thing *tp) |
975 register struct thing *tp; | |
976 { | 968 { |
977 prbuf[0] = '\0'; | 969 prbuf[0] = '\0'; |
978 if (on(*tp, ISFLEE) || on(*tp, WASTURNED)) | 970 if (on(*tp, ISFLEE) || on(*tp, WASTURNED)) |
979 strcat(prbuf, "terrified "); | 971 strcat(prbuf, "terrified "); |
980 if (on(*tp, ISHUH)) | 972 if (on(*tp, ISHUH)) |
1001 * Try to move the hero somplace besides next to where he is. We ask him | 993 * Try to move the hero somplace besides next to where he is. We ask him |
1002 * where. There can be restrictions based on why he is moving. | 994 * where. There can be restrictions based on why he is moving. |
1003 */ | 995 */ |
1004 | 996 |
1005 bool | 997 bool |
1006 move_hero(why) | 998 move_hero(int why) |
1007 int why; | |
1008 { | 999 { |
1009 char *action = ""; | 1000 char *action = ""; |
1010 char which; | 1001 char which; |
1011 coord c; | 1002 coord c; |
1012 | 1003 |
1047 /* | 1038 /* |
1048 * raise_level: | 1039 * raise_level: |
1049 * The guy just magically went up a level. | 1040 * The guy just magically went up a level. |
1050 */ | 1041 */ |
1051 | 1042 |
1052 raise_level() | 1043 void |
1044 raise_level(void) | |
1053 { | 1045 { |
1054 unsigned long test; /* Next level -- be sure it is not an overflow */ | 1046 unsigned long test; /* Next level -- be sure it is not an overflow */ |
1055 | 1047 |
1056 test = check_level(); /* Get next boundary */ | 1048 test = check_level(); /* Get next boundary */ |
1057 | 1049 |
1079 }; | 1071 }; |
1080 | 1072 |
1081 /* | 1073 /* |
1082 * save: | 1074 * save: |
1083 * See if a creature saves against something | 1075 * See if a creature saves against something |
1084 */ | 1076 * which: which type of save |
1085 save(which, who, adj) | 1077 * who: who is saving |
1086 int which; /* which type of save */ | 1078 * adj: saving throw adjustment |
1087 struct thing *who; /* who is saving */ | 1079 */ |
1088 int adj; /* saving throw adjustment */ | 1080 bool |
1081 save(int which, struct thing *who, int adj) | |
1089 { | 1082 { |
1090 register int need, level, protect; | 1083 register int need, level, protect; |
1091 | 1084 |
1092 protect = 0; | 1085 protect = 0; |
1093 level = who->t_stats.s_lvl; | 1086 level = who->t_stats.s_lvl; |
1142 /* | 1135 /* |
1143 * secret_door: | 1136 * secret_door: |
1144 * Figure out what a secret door looks like. | 1137 * Figure out what a secret door looks like. |
1145 */ | 1138 */ |
1146 | 1139 |
1147 secretdoor(y, x) | 1140 char |
1148 register int y, x; | 1141 secretdoor(int y, int x) |
1149 { | 1142 { |
1150 register int i; | 1143 register int i; |
1151 register struct room *rp; | 1144 register struct room *rp; |
1152 register coord *cpp; | 1145 register coord *cpp; |
1153 static coord cp; | 1146 static coord cp; |
1166 } | 1159 } |
1167 | 1160 |
1168 /* | 1161 /* |
1169 * this routine computes the players current strength | 1162 * this routine computes the players current strength |
1170 */ | 1163 */ |
1171 str_compute() | 1164 int |
1165 str_compute(void) | |
1172 { | 1166 { |
1173 if (cur_misc[WEAR_GAUNTLET] != NULL && | 1167 if (cur_misc[WEAR_GAUNTLET] != NULL && |
1174 cur_misc[WEAR_GAUNTLET]->o_which == MM_G_OGRE) { | 1168 cur_misc[WEAR_GAUNTLET]->o_which == MM_G_OGRE) { |
1175 if (cur_misc[WEAR_GAUNTLET]->o_flags & ISCURSED) | 1169 if (cur_misc[WEAR_GAUNTLET]->o_flags & ISCURSED) |
1176 return (3); | 1170 return (3); |
1182 } | 1176 } |
1183 | 1177 |
1184 /* | 1178 /* |
1185 * copy string using unctrl for things | 1179 * copy string using unctrl for things |
1186 */ | 1180 */ |
1187 strucpy(s1, s2, len) | 1181 void |
1188 register char *s1, *s2; | 1182 strucpy(char *s1, char *s2, int len) |
1189 register int len; | |
1190 { | 1183 { |
1191 register char *sp; | 1184 register char *sp; |
1192 | 1185 |
1193 while (len--) | 1186 while (len--) |
1194 { | 1187 { |
1202 * tr_name: | 1195 * tr_name: |
1203 * print the name of a trap | 1196 * print the name of a trap |
1204 */ | 1197 */ |
1205 | 1198 |
1206 char * | 1199 char * |
1207 tr_name(ch) | 1200 tr_name(char ch) |
1208 char ch; | |
1209 { | 1201 { |
1210 register char *s = ""; | 1202 register char *s = ""; |
1211 | 1203 |
1212 switch (ch) | 1204 switch (ch) |
1213 { | 1205 { |
1233 | 1225 |
1234 /* | 1226 /* |
1235 * for printfs: if string starts with a vowel, return "n" for an "an" | 1227 * for printfs: if string starts with a vowel, return "n" for an "an" |
1236 */ | 1228 */ |
1237 char * | 1229 char * |
1238 vowelstr(str) | 1230 vowelstr(char *str) |
1239 register char *str; | |
1240 { | 1231 { |
1241 switch (*str) | 1232 switch (*str) |
1242 { | 1233 { |
1243 case 'a': | 1234 case 'a': |
1244 case 'e': | 1235 case 'e': |
1252 } |