{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Recharge rods on the ground. No messages. */
if ((o_ptr->tval == TV_ROD) && (o_ptr->timeout))
/* Hack -- Memorize lit grids if allowed */
if (view_perma_grids) g_ptr->info |= (CAVE_MARK);
- /* Hack -- Notice spot */
note_spot(y, x);
}
}
/* Forget the normal floor grid */
g_ptr->info &= ~(CAVE_MARK);
- /* Hack -- Notice spot */
note_spot(y, x);
}
}
}
- /* Glow deep lava and building entrances */
glow_deep_lava_and_bldg();
}
}
object_kind *k_ptr = &k_info[o_ptr->k_idx];
int delta = 0;
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip known objects */
if (object_is_known(o_ptr))
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Memorize location of the artifact */
if (object_is_fixed_artifact(o_ptr))
{
object_type *o_ptr = &p_ptr->inventory_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Delete old memorized location of the artifact */
if (object_is_fixed_artifact(o_ptr))
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Ignore non-artifact */
if (!object_is_fixed_artifact(o_ptr)) continue;
*/
#define object_is_known(T) (((T)->ident & (IDENT_KNOWN)) || (k_info[(T)->k_idx].easy_know && k_info[(T)->k_idx].aware))
+#define OBJECT_IS_VALID(T) ((T)->k_idx != 0)
+
/*
* Artifacts use the "name1" field
*/
{
o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Hack -- High level objects start out "immune" */
if (k_info[o_ptr->k_idx].level > cur_lev) continue;
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Mega-Hack -- preserve artifacts */
if (!current_world_ptr->character_dungeon || preserve_mode)
#include "player-effects.h"
#include "feature.h"
#include "view-mainwindow.h"
+#include "object-hook.h"
/*
* Light up the dungeon using "clairvoyance"
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip held objects */
if (o_ptr->held_m_idx) continue;
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip held objects */
if (o_ptr->held_m_idx) continue;
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip held objects */
if (o_ptr->held_m_idx) continue;
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip held objects */
if (o_ptr->held_m_idx) continue;
{
object_type *o_ptr = ¤t_floor_ptr->o_list[i];
- /* Skip dead objects */
- if (!o_ptr->k_idx) continue;
+ if (!OBJECT_IS_VALID(o_ptr)) continue;
/* Skip held objects */
if (o_ptr->held_m_idx) continue;