if ((c_ptr->feat <= FEAT_INVIS) || (c_ptr->feat == FEAT_DIRT) || (c_ptr->feat == FEAT_GRASS))
{
/* Option -- memorize all torch-lit floors */
- if (view_torch_grids && (c_ptr->info & (CAVE_LITE)))
+ if (view_torch_grids && (c_ptr->info & (CAVE_LITE | CAVE_MNLT)))
{
/* Memorize */
c_ptr->info |= (CAVE_MARK);
}
/* Memorize torch-lit walls */
- else if (c_ptr->info & (CAVE_LITE))
+ else if (c_ptr->info & (CAVE_LITE | CAVE_MNLT))
{
/* Memorize */
c_ptr->info |= (CAVE_MARK);
p_ptr->update |= (PU_VIEW | PU_LITE | PU_MON_LITE | PU_TORCH);
/* Update monsters */
- p_ptr->update |= (PU_MONSTERS);
-
- /* Update stuff */
- p_ptr->update |= (PU_FLOW | PU_DISTANCE);
+ p_ptr->update |= (PU_MONSTERS | PU_DISTANCE | PU_FLOW);
/* Update stuff */
update_stuff();
update_flow();
}
- if (p_ptr->update & (PU_MON_LITE))
- {
- p_ptr->update &= ~(PU_MON_LITE);
- update_mon_lite();
- }
-
if (p_ptr->update & (PU_DISTANCE))
{
p_ptr->update &= ~(PU_DISTANCE);
- p_ptr->update &= ~(PU_MONSTERS);
+
+ /* Still need to call update_monsters(FALSE) after update_mon_lite() */
+ /* p_ptr->update &= ~(PU_MONSTERS); */
+
update_monsters(TRUE);
}
+ if (p_ptr->update & (PU_MON_LITE))
+ {
+ p_ptr->update &= ~(PU_MON_LITE);
+ update_mon_lite();
+ }
+
if (p_ptr->update & (PU_MONSTERS))
{
p_ptr->update &= ~(PU_MONSTERS);