aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Linskey2026-06-08 17:20:59 -0400
committerBenjamin Linskey2026-06-08 17:20:59 -0400
commit183ffb9729ab3c119407c41940804a2c7ab9636b (patch)
tree4f6bd086b81e386f58a2f2c62cbad6ddb5d1f5c3
parentd5f3c8baf4c4b80db672ffb7d56a81d33ccc725a (diff)
downloadrogue-183ffb9729ab3c119407c41940804a2c7ab9636b.tar.gz

Properly extract char values from chtypes

This fixes warnings about implicit conversions from chtype to char.

-rw-r--r--hit.c3
-rw-r--r--inventory.c5
-rw-r--r--message.c3
-rw-r--r--monster.c7
-rw-r--r--object.c3
-rw-r--r--room.c5
-rw-r--r--save.c3
-rw-r--r--score.c3
-rw-r--r--throw.c3
-rw-r--r--use.c5
-rw-r--r--zap.c7
11 files changed, 29 insertions, 18 deletions
diff --git a/hit.c b/hit.c
index 9d27c1f..c5c691c 100644
--- a/hit.c
+++ b/hit.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: hit.c,v 1.10 2008/01/14 03:50:01 dholland Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
static int damage_for_strength(void);
@@ -353,7 +354,7 @@ fight(boolean to_the_death)
row = rogue.row; col = rogue.col;
get_dir_rc(d, &row, &col, 0);
- c = mvinch(row, col);
+ c = mvinch(row, col) & A_CHARTEXT;
if (((c < 'A') || (c > 'Z')) ||
(!can_move(rogue.row, rogue.col, row, col))) {
messagef(0, "I see no monster there");
diff --git a/inventory.c b/inventory.c
index 83d69a5..8726d41 100644
--- a/inventory.c
+++ b/inventory.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: inventory.c,v 1.15 2011/08/26 06:18:17 dholland Exp $");
*
*/
+#include <curses.h>
#include <stdarg.h>
#include "rogue.h"
@@ -258,7 +259,7 @@ inventory(const object *pack, unsigned short mask)
for (row = 0; ((row <= i) && (row < DROWS)); row++) {
for (j = col; j < DCOLS; j++) {
- descs[row].savebuf[j-col] = mvinch(row, j);
+ descs[row].savebuf[j-col] = mvinch(row, j) & A_CHARTEXT;
}
descs[row].savebuf[j-col] = 0;
if (row < i) {
@@ -310,7 +311,7 @@ id_com(void)
for (i = 0; i < rows; i++) {
for (j = 0; j < DCOLS; j++) {
- save[i][j] = mvinch(i, j);
+ save[i][j] = mvinch(i, j) & A_CHARTEXT;
}
}
MORE:
diff --git a/message.c b/message.c
index d18851e..002bdbb 100644
--- a/message.c
+++ b/message.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: message.c,v 1.16 2023/08/01 07:55:57 mrg Exp $");
*
*/
+#include <curses.h>
#include <signal.h>
#include <termios.h>
#include <stdarg.h>
@@ -328,7 +329,7 @@ save_screen(void)
if ((fp = fopen(_PATH_SCREENDUMP, "w")) != NULL) {
for (i = 0; i < DROWS; i++) {
for (j=0; j<DCOLS; j++) {
- buf[j] = mvinch(i, j);
+ buf[j] = mvinch(i, j) & A_CHARTEXT;
}
/*buf[DCOLS] = 0; -- redundant */
for (j=DCOLS; j>0 && buf[j-1]==' '; j--);
diff --git a/monster.c b/monster.c
index 76c48b6..438dc0b 100644
--- a/monster.c
+++ b/monster.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: monster.c,v 1.18 2025/04/07 14:36:28 hgutch Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
object level_monsters;
@@ -476,7 +477,7 @@ move_mon_to(object *monster, short row, short col)
dungeon[mrow][mcol] &= ~MONSTER;
dungeon[row][col] |= MONSTER;
- c = mvinch(mrow, mcol);
+ c = mvinch(mrow, mcol) & A_CHARTEXT;
if ((c >= 'A') && (c <= 'Z')) {
if (!detect_monster) {
@@ -492,7 +493,7 @@ move_mon_to(object *monster, short row, short col)
}
}
}
- monster->trail_char = mvinch(row, col);
+ monster->trail_char = mvinch(row, col) & A_CHARTEXT;
if (!blind && (detect_monster || rogue_can_see(row, col))) {
if ((!(monster->m_flags & INVISIBLE) ||
(detect_monster || see_invisible || r_see_invisible))) {
@@ -721,7 +722,7 @@ put_m_at(short row, short col, object *monster)
monster->row = row;
monster->col = col;
dungeon[row][col] |= MONSTER;
- monster->trail_char = mvinch(row, col);
+ monster->trail_char = mvinch(row, col) & A_CHARTEXT;
(void)add_to_pack(monster, &level_monsters, 0);
aim_monster(monster);
}
diff --git a/object.c b/object.c
index c5e4b7e..1898298 100644
--- a/object.c
+++ b/object.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: object.c,v 1.15 2025/04/07 14:36:28 hgutch Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
object level_objects;
@@ -691,7 +692,7 @@ show_objects(void)
monster->trail_char = rc;
}
}
- mc = mvinch(row, col);
+ mc = mvinch(row, col) & A_CHARTEXT;
if (((mc < 'A') || (mc > 'Z')) &&
((row != rogue.row) || (col != rogue.col))) {
mvaddch(row, col, rc);
diff --git a/room.c b/room.c
index 7a75499..ae1f9d1 100644
--- a/room.c
+++ b/room.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: room.c,v 1.14 2019/02/03 03:19:25 mrg Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
room rooms[MAXROOMS];
@@ -380,7 +381,7 @@ draw_magic_map(void)
for (j = 0; j < DCOLS; j++) {
s = dungeon[i][j];
if (s & mask) {
- if (((ch = mvinch(i, j)) == ' ') ||
+ if (((ch = mvinch(i, j) & A_CHARTEXT) == ' ') ||
((ch >= 'A') && (ch <= 'Z')) || (s & (TRAP | HIDDEN))) {
och = ch;
dungeon[i][j] &= (~HIDDEN);
@@ -525,7 +526,7 @@ edit_opts(void)
for (i = 0; i < NOPTS+1; i++) {
for (j = 0; j < DCOLS; j++) {
- save[i][j] = mvinch(i, j);
+ save[i][j] = mvinch(i, j) & A_CHARTEXT;
}
if (i < NOPTS) {
opt_show(i);
diff --git a/save.c b/save.c
index b6bb340..7f0ed95 100644
--- a/save.c
+++ b/save.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: save.c,v 1.15 2025/04/07 14:36:28 hgutch Exp $");
*
*/
+#include <curses.h>
#include <stdio.h>
#include "rogue.h"
@@ -309,7 +310,7 @@ rw_dungeon(FILE *fp, boolean rw)
if (rw) {
r_write(fp, dungeon[i], (DCOLS * sizeof(dungeon[0][0])));
for (j = 0; j < DCOLS; j++) {
- buf[j] = mvinch(i, j);
+ buf[j] = mvinch(i, j) & A_CHARTEXT;
}
r_write(fp, buf, DCOLS);
} else {
diff --git a/score.c b/score.c
index 1427941..2cbef73 100644
--- a/score.c
+++ b/score.c
@@ -55,6 +55,7 @@ __RCSID("$NetBSD: score.c,v 1.16 2011/08/26 06:18:17 dholland Exp $");
*/
#include <stdio.h>
+#include <curses.h>
#include "rogue.h"
#include "pathnames.h"
@@ -179,7 +180,7 @@ quit(boolean from_intrpt)
mc = msg_cleared;
for (i = 0; i < DCOLS; i++) {
- buf[i] = mvinch(0, i);
+ buf[i] = mvinch(0, i) & A_CHARTEXT;
}
}
check_message();
diff --git a/throw.c b/throw.c
index 93c88c5..33df870 100644
--- a/throw.c
+++ b/throw.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: throw.c,v 1.12 2011/05/23 23:01:17 joerg Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
static void flop_weapon(object *, short, short);
@@ -236,7 +237,7 @@ flop_weapon(object *weapon, short row, short col)
dungeon[row][col] &= (~MONSTER);
dch = get_dungeon_char(row, col);
if (mon) {
- mch = mvinch(row, col);
+ mch = mvinch(row, col) & A_CHARTEXT;
if ((monster = object_at(&level_monsters,
row, col)) != NULL) {
monster->trail_char = dch;
diff --git a/use.c b/use.c
index db90eb7..d1439d5 100644
--- a/use.c
+++ b/use.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: use.c,v 1.11 2021/05/02 12:50:46 rillig Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
short halluc = 0;
@@ -488,7 +489,7 @@ hallucinate(void)
obj = level_objects.next_object;
while (obj) {
- ch = mvinch(obj->row, obj->col);
+ ch = mvinch(obj->row, obj->col) & A_CHARTEXT;
if (((ch < 'A') || (ch > 'Z')) &&
((obj->row != rogue.row) || (obj->col != rogue.col)))
if ((ch != ' ') && (ch != '.') && (ch != '#') && (ch != '+')) {
@@ -499,7 +500,7 @@ hallucinate(void)
monster = level_monsters.next_monster;
while (monster) {
- ch = mvinch(monster->row, monster->col);
+ ch = mvinch(monster->row, monster->col) & A_CHARTEXT;
if ((ch >= 'A') && (ch <= 'Z')) {
addch(get_rand('A', 'Z'));
}
diff --git a/zap.c b/zap.c
index 3e9134f..a37513b 100644
--- a/zap.c
+++ b/zap.c
@@ -53,6 +53,7 @@ __RCSID("$NetBSD: zap.c,v 1.9 2008/01/14 03:50:03 dholland Exp $");
*
*/
+#include <curses.h>
#include "rogue.h"
static object *get_zapped_monster(short, short *, short *);
@@ -217,7 +218,7 @@ tele_away(object *monster)
dungeon[monster->row][monster->col] &= ~MONSTER;
monster->row = row; monster->col = col;
dungeon[row][col] |= MONSTER;
- monster->trail_char = mvinch(row, col);
+ monster->trail_char = mvinch(row, col) & A_CHARTEXT;
if (detect_monster || rogue_can_see(row, col)) {
mvaddch(row, col, gmc(monster));
}
@@ -301,7 +302,7 @@ bounce(short ball, short dir, short row, short col, short r)
orow = row;
ocol = col;
do {
- ch = mvinch(orow, ocol);
+ ch = mvinch(orow, ocol) & A_CHARTEXT;
standout();
mvaddch(orow, ocol, ch);
get_dir_rc(dir, &orow, &ocol, 1);
@@ -316,7 +317,7 @@ bounce(short ball, short dir, short row, short col, short r)
do {
orow = row;
ocol = col;
- ch = mvinch(row, col);
+ ch = mvinch(row, col) & A_CHARTEXT;
mvaddch(row, col, ch);
get_dir_rc(dir, &row, &col, 1);
} while (!( (col <= 0) ||