Mercurial > hg > early-roguelike
comparison arogue7/move.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 | e52a8a7ad4c5 |
comparison
equal
deleted
inserted
replaced
218:56e748983fa8 | 219:f9ef86cf22b2 |
---|---|
17 * | 17 * |
18 */ | 18 */ |
19 | 19 |
20 #include "curses.h" | 20 #include "curses.h" |
21 #include <ctype.h> | 21 #include <ctype.h> |
22 #include <string.h> | |
22 #include "rogue.h" | 23 #include "rogue.h" |
23 #ifdef PC7300 | 24 #ifdef PC7300 |
24 #include "menu.h" | 25 #include "menu.h" |
25 #endif | 26 #endif |
26 | 27 |
39 /* | 40 /* |
40 * be_trapped: | 41 * be_trapped: |
41 * The guy stepped on a trap.... Make him pay. | 42 * The guy stepped on a trap.... Make him pay. |
42 */ | 43 */ |
43 | 44 |
44 be_trapped(th, tc) | 45 char |
45 register struct thing *th; | 46 be_trapped(struct thing *th, coord *tc) |
46 register coord *tc; | |
47 { | 47 { |
48 register struct trap *tp; | 48 register struct trap *tp; |
49 register char ch, *mname = ""; | 49 register char ch, *mname = ""; |
50 register bool is_player = (th == &player), | 50 register bool is_player = (th == &player), |
51 can_see; | 51 can_see; |
424 * blue_light: | 424 * blue_light: |
425 * magically light up a room (or level or make it dark) | 425 * magically light up a room (or level or make it dark) |
426 */ | 426 */ |
427 | 427 |
428 bool | 428 bool |
429 blue_light(blessed, cursed) | 429 blue_light(bool blessed, bool cursed) |
430 bool blessed, cursed; | |
431 { | 430 { |
432 register struct room *rp; | 431 register struct room *rp; |
433 bool ret_val=FALSE; /* Whether or not affect is known */ | 432 bool ret_val=FALSE; /* Whether or not affect is known */ |
434 | 433 |
435 rp = roomin(&hero); /* What room is hero in? */ | 434 rp = roomin(&hero); /* What room is hero in? */ |
484 * corr_move: | 483 * corr_move: |
485 * Check to see that a move is legal. If so, return correct character. | 484 * Check to see that a move is legal. If so, return correct character. |
486 * If not, if player came from a legal place, then try to turn him. | 485 * If not, if player came from a legal place, then try to turn him. |
487 */ | 486 */ |
488 | 487 |
489 corr_move(dy, dx) | 488 void |
490 int dy, dx; | 489 corr_move(int dy, int dx) |
491 { | 490 { |
492 int legal=0; /* Number of legal alternatives */ | 491 int legal=0; /* Number of legal alternatives */ |
493 register int y, x, /* Indexes though possible positions */ | 492 register int y, x, /* Indexes though possible positions */ |
494 locy, locx; /* Hold delta of chosen location */ | 493 locy, locx; /* Hold delta of chosen location */ |
495 | 494 |
562 | 561 |
563 /* | 562 /* |
564 * dip_it: | 563 * dip_it: |
565 * Dip an object into a magic pool | 564 * Dip an object into a magic pool |
566 */ | 565 */ |
567 dip_it() | 566 void |
567 dip_it(void) | |
568 { | 568 { |
569 reg struct linked_list *what; | 569 reg struct linked_list *what; |
570 reg struct object *ob; | 570 reg struct object *ob; |
571 reg struct trap *tp; | 571 reg struct trap *tp; |
572 reg int wh, i; | 572 reg int wh, i; |
756 * do_move: | 756 * do_move: |
757 * Check to see that a move is legal. If it is handle the | 757 * Check to see that a move is legal. If it is handle the |
758 * consequences (fighting, picking up, etc.) | 758 * consequences (fighting, picking up, etc.) |
759 */ | 759 */ |
760 | 760 |
761 do_move(dy, dx) | 761 void |
762 int dy, dx; | 762 do_move(int dy, int dx) |
763 { | 763 { |
764 register struct room *rp, *orp; | 764 register struct room *rp, *orp; |
765 register char ch; | 765 register char ch; |
766 struct linked_list *item; | 766 struct linked_list *item; |
767 register struct thing *tp = NULL; | 767 register struct thing *tp = NULL; |
1101 /* | 1101 /* |
1102 * do_run: | 1102 * do_run: |
1103 * Start the hero running | 1103 * Start the hero running |
1104 */ | 1104 */ |
1105 | 1105 |
1106 do_run(ch) | 1106 void |
1107 char ch; | 1107 do_run(char ch) |
1108 { | 1108 { |
1109 firstmove = TRUE; | 1109 firstmove = TRUE; |
1110 running = TRUE; | 1110 running = TRUE; |
1111 after = FALSE; | 1111 after = FALSE; |
1112 runch = ch; | 1112 runch = ch; |
1117 * Takes a movement character (eg. h, j, k, l) and returns the | 1117 * Takes a movement character (eg. h, j, k, l) and returns the |
1118 * y and x delta corresponding to it in the remaining arguments. | 1118 * y and x delta corresponding to it in the remaining arguments. |
1119 * Returns TRUE if it could find it, FALSE otherwise. | 1119 * Returns TRUE if it could find it, FALSE otherwise. |
1120 */ | 1120 */ |
1121 bool | 1121 bool |
1122 getdelta(match, dy, dx) | 1122 getdelta(char match, int *dy, int *dx) |
1123 char match; | |
1124 int *dy, *dx; | |
1125 { | 1123 { |
1126 register y, x; | 1124 int y, x; |
1127 | 1125 |
1128 for (y = 0; y < 3; y++) | 1126 for (y = 0; y < 3; y++) |
1129 for (x = 0; x < 3; x++) | 1127 for (x = 0; x < 3; x++) |
1130 if (Moves[y][x] == match) { | 1128 if (Moves[y][x] == match) { |
1131 *dy = y - 1; | 1129 *dy = y - 1; |
1138 | 1136 |
1139 /* | 1137 /* |
1140 * isatrap: | 1138 * isatrap: |
1141 * Returns TRUE if this character is some kind of trap | 1139 * Returns TRUE if this character is some kind of trap |
1142 */ | 1140 */ |
1143 isatrap(ch) | 1141 bool |
1144 reg char ch; | 1142 isatrap(char ch) |
1145 { | 1143 { |
1146 switch(ch) { | 1144 switch(ch) { |
1147 case DARTTRAP: | 1145 case DARTTRAP: |
1148 case TELTRAP: | 1146 case TELTRAP: |
1149 case TRAPDOOR: | 1147 case TRAPDOOR: |
1159 /* | 1157 /* |
1160 * Called to illuminate a room. | 1158 * Called to illuminate a room. |
1161 * If it is dark, remove anything that might move. | 1159 * If it is dark, remove anything that might move. |
1162 */ | 1160 */ |
1163 | 1161 |
1164 light(cp) | 1162 void |
1165 coord *cp; | 1163 light(coord *cp) |
1166 { | 1164 { |
1167 register struct room *rp; | 1165 register struct room *rp; |
1168 register int j, k, x, y; | 1166 register int j, k, x, y; |
1169 register char ch, rch, sch; | 1167 register char ch, rch, sch; |
1170 register struct linked_list *item; | 1168 register struct linked_list *item; |
1336 * lit_room: | 1334 * lit_room: |
1337 * Called to see if the specified room is lit up or not. | 1335 * Called to see if the specified room is lit up or not. |
1338 */ | 1336 */ |
1339 | 1337 |
1340 bool | 1338 bool |
1341 lit_room(rp) | 1339 lit_room(struct room *rp) |
1342 register struct room *rp; | |
1343 { | 1340 { |
1344 register struct linked_list *fire_item; | 1341 register struct linked_list *fire_item; |
1345 register struct thing *fire_creature; | 1342 register struct thing *fire_creature; |
1346 | 1343 |
1347 if (!(rp->r_flags & ISDARK)) return(TRUE); /* A definitely lit room */ | 1344 if (!(rp->r_flags & ISDARK)) return(TRUE); /* A definitely lit room */ |
1374 * Given a pointer to a player/monster structure, calculate the | 1371 * Given a pointer to a player/monster structure, calculate the |
1375 * movement rate for that character. | 1372 * movement rate for that character. |
1376 */ | 1373 */ |
1377 | 1374 |
1378 short | 1375 short |
1379 movement(tp) | 1376 movement(struct thing *tp) |
1380 register struct thing *tp; | |
1381 { | 1377 { |
1382 register int result; | 1378 register int result; |
1383 register int carry; /* Percentage carried */ | 1379 register int carry; /* Percentage carried */ |
1384 | 1380 |
1385 result = 0; | 1381 result = 0; |
1439 * rndmove: | 1435 * rndmove: |
1440 * move in a random direction if the monster/person is confused | 1436 * move in a random direction if the monster/person is confused |
1441 */ | 1437 */ |
1442 | 1438 |
1443 coord * | 1439 coord * |
1444 rndmove(who) | 1440 rndmove(struct thing *who) |
1445 struct thing *who; | |
1446 { | 1441 { |
1447 register int x, y; | 1442 register int x, y; |
1448 register int ex, ey, nopen = 0; | 1443 register int ex, ey, nopen = 0; |
1449 static coord ret; /* what we will be returning */ | 1444 static coord ret; /* what we will be returning */ |
1450 static coord dest; | 1445 static coord dest; |
1504 /* | 1499 /* |
1505 * set_trap: | 1500 * set_trap: |
1506 * set a trap at (y, x) on screen. | 1501 * set a trap at (y, x) on screen. |
1507 */ | 1502 */ |
1508 | 1503 |
1509 set_trap(tp, y, x) | 1504 void |
1510 register struct thing *tp; | 1505 set_trap(struct thing *tp, int y, int x) |
1511 register int y, x; | |
1512 { | 1506 { |
1513 register bool is_player = (tp == &player); | 1507 register bool is_player = (tp == &player); |
1514 register int selection = rnd(TRAPTYPES-WIZARDTRAPS) + '1'; | 1508 register int selection = rnd(TRAPTYPES-WIZARDTRAPS) + '1'; |
1515 register int i, num_traps; | 1509 register int i, num_traps; |
1516 register char ch, och; | 1510 register char ch, och; |
1611 if (menu_overlay) | 1605 if (menu_overlay) |
1612 /* | 1606 /* |
1613 * Put out the selection. The longest line is | 1607 * Put out the selection. The longest line is |
1614 * the prompt line (39 characters long). | 1608 * the prompt line (39 characters long). |
1615 */ | 1609 */ |
1616 over_win(cw, hw, num_traps + 3, 41, 0, 39, NULL); | 1610 over_win(cw, hw, num_traps + 3, 41, 0, 39, '\0'); |
1617 else | 1611 else |
1618 draw(hw); | 1612 draw(hw); |
1619 state = 1; /* Now in prompt window */ | 1613 state = 1; /* Now in prompt window */ |
1620 } | 1614 } |
1621 break; | 1615 break; |
1671 if (menu_overlay) | 1665 if (menu_overlay) |
1672 /* | 1666 /* |
1673 * Put out the selection. The longest line is | 1667 * Put out the selection. The longest line is |
1674 * the prompt line (43 characters long). | 1668 * the prompt line (43 characters long). |
1675 */ | 1669 */ |
1676 over_win(cw, hw, num_traps+3, 45, 0, 43, NULL); | 1670 over_win(cw, hw, num_traps+3, 45, 0, 43, '\0'); |
1677 else | 1671 else |
1678 draw(hw); | 1672 draw(hw); |
1679 } | 1673 } |
1680 else { /* Normal window */ | 1674 else { /* Normal window */ |
1681 mpos = 0; | 1675 mpos = 0; |
1741 /* | 1735 /* |
1742 * show: | 1736 * show: |
1743 * returns what a certain thing will display as to the un-initiated | 1737 * returns what a certain thing will display as to the un-initiated |
1744 */ | 1738 */ |
1745 | 1739 |
1746 show(y, x) | 1740 char |
1747 register int y, x; | 1741 show(int y, int x) |
1748 { | 1742 { |
1749 register char ch = CCHAR( winat(y, x) ); | 1743 register char ch = CCHAR( winat(y, x) ); |
1750 register struct linked_list *it; | 1744 register struct linked_list *it; |
1751 register struct thing *tp; | 1745 register struct thing *tp; |
1752 | 1746 |
1782 * trap_at: | 1776 * trap_at: |
1783 * find the trap at (y,x) on screen. | 1777 * find the trap at (y,x) on screen. |
1784 */ | 1778 */ |
1785 | 1779 |
1786 struct trap * | 1780 struct trap * |
1787 trap_at(y, x) | 1781 trap_at(int y, int x) |
1788 register int y, x; | |
1789 { | 1782 { |
1790 register struct trap *tp, *ep; | 1783 register struct trap *tp, *ep; |
1791 | 1784 |
1792 ep = &traps[ntraps]; | 1785 ep = &traps[ntraps]; |
1793 for (tp = traps; tp < ep; tp++) | 1786 for (tp = traps; tp < ep; tp++) |
1801 /* | 1794 /* |
1802 * weap_move: | 1795 * weap_move: |
1803 * Calculate how many segments it will take to swing the given | 1796 * Calculate how many segments it will take to swing the given |
1804 * weapon (note that the weapon may actually be a stick or | 1797 * weapon (note that the weapon may actually be a stick or |
1805 * even something else). | 1798 * even something else). |
1799 * wielder: Who's wielding the weapon | |
1800 * weap: The weapon | |
1806 */ | 1801 */ |
1807 | 1802 |
1808 weap_move(wielder, weap) | 1803 int |
1809 register struct thing *wielder; /* Who's wielding the weapon */ | 1804 weap_move(struct thing *wielder, struct object *weap) |
1810 register struct object *weap; /* The weapon */ | |
1811 { | 1805 { |
1812 register int weap_rate; | 1806 register int weap_rate; |
1813 int dexterity; | 1807 int dexterity; |
1814 int strength; | 1808 int strength; |
1815 | 1809 |