Minor code reorg in gather locs
This commit is contained in:
@@ -8,6 +8,7 @@ STATIC_DCL char *NDECL(nextmbuf);
|
|||||||
STATIC_DCL void FDECL(getpos_help, (BOOLEAN_P, const char *));
|
STATIC_DCL void FDECL(getpos_help, (BOOLEAN_P, const char *));
|
||||||
STATIC_DCL int FDECL(CFDECLSPEC cmp_coord_distu, (const void *,
|
STATIC_DCL int FDECL(CFDECLSPEC cmp_coord_distu, (const void *,
|
||||||
const void *));
|
const void *));
|
||||||
|
STATIC_DCL boolean FDECL(gather_locs_interesting, (int, int, int));
|
||||||
STATIC_DCL void FDECL(gather_locs, (coord **, int *, int));
|
STATIC_DCL void FDECL(gather_locs, (coord **, int *, int));
|
||||||
STATIC_DCL void FDECL(auto_describe, (int, int));
|
STATIC_DCL void FDECL(auto_describe, (int, int));
|
||||||
STATIC_DCL void NDECL(do_mname);
|
STATIC_DCL void NDECL(do_mname);
|
||||||
@@ -126,10 +127,15 @@ const void *b;
|
|||||||
#define GLOC_OBJS 1
|
#define GLOC_OBJS 1
|
||||||
#define GLOC_DOOR 2
|
#define GLOC_DOOR 2
|
||||||
|
|
||||||
boolean
|
STATIC_OVL boolean
|
||||||
gather_locs_glyphmatch(glyph, gloc)
|
gather_locs_interesting(x,y, gloc)
|
||||||
int glyph, gloc;
|
int x,y, gloc;
|
||||||
{
|
{
|
||||||
|
/* TODO: if glyph is a pile glyph, convert to ordinary one
|
||||||
|
* in order to keep tail/boulder/rock check simple.
|
||||||
|
*/
|
||||||
|
int glyph = glyph_at(x, y);
|
||||||
|
|
||||||
switch (gloc) {
|
switch (gloc) {
|
||||||
default:
|
default:
|
||||||
case GLOC_MONS: return (glyph_is_monster(glyph)
|
case GLOC_MONS: return (glyph_is_monster(glyph)
|
||||||
@@ -151,7 +157,7 @@ coord **arr_p;
|
|||||||
int *cnt_p;
|
int *cnt_p;
|
||||||
int gloc;
|
int gloc;
|
||||||
{
|
{
|
||||||
int x, y, pass, glyph, idx;
|
int x, y, pass, idx;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We always include the hero's location even if there is no monster
|
* We always include the hero's location even if there is no monster
|
||||||
@@ -168,14 +174,10 @@ int gloc;
|
|||||||
for (pass = 0; pass < 2; pass++) {
|
for (pass = 0; pass < 2; pass++) {
|
||||||
for (x = 1; x < COLNO; x++)
|
for (x = 1; x < COLNO; x++)
|
||||||
for (y = 0; y < ROWNO; y++) {
|
for (y = 0; y < ROWNO; y++) {
|
||||||
/* TODO: if glyph is a pile glyph, convert to ordinary one
|
|
||||||
* in order to keep tail/boulder/rock check simple.
|
|
||||||
*/
|
|
||||||
glyph = glyph_at(x, y);
|
|
||||||
/* unlike '/M', this skips monsters revealed by
|
/* unlike '/M', this skips monsters revealed by
|
||||||
warning glyphs and remembered invisible ones */
|
warning glyphs and remembered invisible ones */
|
||||||
if ((x == u.ux && y == u.uy)
|
if ((x == u.ux && y == u.uy)
|
||||||
|| gather_locs_glyphmatch(glyph, gloc)) {
|
|| gather_locs_interesting(x,y, gloc)) {
|
||||||
if (!pass) {
|
if (!pass) {
|
||||||
++*cnt_p;
|
++*cnt_p;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user