Mercurial > hg > early-roguelike
comparison xrogue/util.c @ 304:e52a8a7ad4c5
Fix many compiler warnings.
There should only be two changes in behavior:
arogue7/fight.c, arogue7/fight.c: a to-hit bonus is now correctly
applied to characters who are not monks instead of monks who are not
empty-handed.
urogue/fight.c: fixed an interaction with the "debug" macro that could
cause the wrong message to be displayed.
author | John "Elwin" Edwards |
---|---|
date | Wed, 14 Apr 2021 18:55:33 -0400 |
parents | d71e5e1f49cf |
children |
comparison
equal
deleted
inserted
replaced
303:e06ebc407615 | 304:e52a8a7ad4c5 |
---|---|
295 | 295 |
296 if (ret.x < 0 || ret.x > cols - 1 || | 296 if (ret.x < 0 || ret.x > cols - 1 || |
297 ret.y < 1 || ret.y > lines - 3) | 297 ret.y < 1 || ret.y > lines - 3) |
298 continue; /* off the screen? */ | 298 continue; /* off the screen? */ |
299 | 299 |
300 ch = winat(ret.y, ret.x); | 300 ch = winat(ret.y, ret.x) & A_CHARTEXT; |
301 | 301 |
302 /* | 302 /* |
303 * Check to make certain the spot is valid | 303 * Check to make certain the spot is valid |
304 */ | 304 */ |
305 switch( ch ) { | 305 switch( ch ) { |
690 bool in_room; /* Are we in a room? */ | 690 bool in_room; /* Are we in a room? */ |
691 | 691 |
692 if (y < 1 || y > lines - 3) continue; | 692 if (y < 1 || y > lines - 3) continue; |
693 | 693 |
694 /* See what's there -- ignore monsters, just see what they're on */ | 694 /* See what's there -- ignore monsters, just see what they're on */ |
695 savech = mvwinch(mw, y, x); | 695 savech = mvwinch(mw, y, x) & A_CHARTEXT; |
696 waddch(mw, ' '); | 696 waddch(mw, ' '); |
697 ch = show(y, x); | 697 ch = show(y, x); |
698 mvwaddch(mw, y, x, savech); /* Restore monster */ | 698 mvwaddch(mw, y, x, savech); /* Restore monster */ |
699 | 699 |
700 /* | 700 /* |
748 case FOREST: | 748 case FOREST: |
749 default: | 749 default: |
750 mvwaddch(cw, y, x, in_room ? ' ' : PASSAGE); | 750 mvwaddch(cw, y, x, in_room ? ' ' : PASSAGE); |
751 | 751 |
752 /* If we found a monster, set it to darkness! */ | 752 /* If we found a monster, set it to darkness! */ |
753 if (it) (THINGPTR(it))->t_oldch = mvwinch(cw, y, x); | 753 if (it) (THINGPTR(it))->t_oldch = mvwinch(cw, y, x) & |
754 A_CHARTEXT; | |
754 } | 755 } |
755 | 756 |
756 /* Moving out of a corridor? */ | 757 /* Moving out of a corridor? */ |
757 if (levtype == MAZELEV && !ce(hero, player.t_oldpos) && | 758 if (levtype == MAZELEV && !ce(hero, player.t_oldpos) && |
758 !running && !isrock(ch) && /* Not running and not a wall */ | 759 !running && !isrock(ch) && /* Not running and not a wall */ |
792 else | 793 else |
793 it = find_mons(y, x); | 794 it = find_mons(y, x); |
794 | 795 |
795 if (it) { | 796 if (it) { |
796 tp = THINGPTR(it); | 797 tp = THINGPTR(it); |
797 tp->t_oldch = mvinch(y, x); | 798 tp->t_oldch = mvinch(y, x) & A_CHARTEXT; |
798 if (isatrap(tp->t_oldch)) { | 799 if (isatrap(tp->t_oldch)) { |
799 register struct trap *trp = trap_at(y, x); | 800 register struct trap *trp = trap_at(y, x); |
800 | 801 |
801 tp->t_oldch = (trp->tr_flags & ISFOUND) ? tp->t_oldch | 802 tp->t_oldch = (trp->tr_flags & ISFOUND) ? tp->t_oldch |
802 : trp->tr_show; | 803 : trp->tr_show; |
816 * Don't show room walls if he is in a passage and | 817 * Don't show room walls if he is in a passage and |
817 * check for maze turns | 818 * check for maze turns |
818 */ | 819 */ |
819 if (off(player, ISBLIND)) | 820 if (off(player, ISBLIND)) |
820 { | 821 { |
821 if (y == hero.y && x == hero.x | 822 if ((y == hero.y && x == hero.x) |
822 || (inpass && (ch == HORZWALL || ch == VERTWALL))) | 823 || (inpass && (ch == HORZWALL || ch == VERTWALL))) |
823 continue; | 824 continue; |
824 | 825 |
825 /* Did we come to a crossroads in a maze? */ | 826 /* Did we come to a crossroads in a maze? */ |
826 if (levtype == MAZELEV && | 827 if (levtype == MAZELEV && |
1009 } | 1010 } |
1010 | 1011 |
1011 msg("Where do you wish to %s to? (* for help) ", action); | 1012 msg("Where do you wish to %s to? (* for help) ", action); |
1012 c = get_coordinates(); | 1013 c = get_coordinates(); |
1013 mpos = 0; | 1014 mpos = 0; |
1014 which = winat(c.y, c.x); | 1015 which = winat(c.y, c.x) & A_CHARTEXT; |
1015 switch (which) { | 1016 switch (which) { |
1016 default: | 1017 default: |
1017 if (!isrock(which) || off(player, CANINWALL)) break; | 1018 if (!isrock(which) || off(player, CANINWALL)) break; |
1018 | 1019 |
1019 case FLOOR: | 1020 case FLOOR: |
1167 static coord cp; | 1168 static coord cp; |
1168 | 1169 |
1169 cp.y = y; | 1170 cp.y = y; |
1170 cp.x = x; | 1171 cp.x = x; |
1171 cpp = &cp; | 1172 cpp = &cp; |
1172 for (rp = rooms, i = 0; i < MAXROOMS; rp++, i++) | 1173 for (rp = rooms, i = 0; i < MAXROOMS; rp++, i++) { |
1173 if (inroom(rp, cpp)) | 1174 if (inroom(rp, cpp)) { |
1174 if (y == rp->r_pos.y || y == rp->r_pos.y + rp->r_max.y - 1) | 1175 if (y == rp->r_pos.y || y == rp->r_pos.y + rp->r_max.y - 1) |
1175 return(HORZWALL); | 1176 return(HORZWALL); |
1176 else | 1177 else |
1177 return(VERTWALL); | 1178 return(VERTWALL); |
1179 } | |
1180 } | |
1178 | 1181 |
1179 return('p'); | 1182 return('p'); |
1180 } | 1183 } |
1181 | 1184 |
1182 /* | 1185 /* |