#include "system/item-entity.h"
#include "system/monster-entity.h"
#include "system/player-type-definition.h"
+#include "system/redrawing-flags-updater.h"
#include "system/terrain-type-definition.h"
#include "target/target-checker.h"
#include "timed-effect/player-blindness.h"
auto *f_ptr = &terrains_info[g_ptr->feat];
TerrainType *of_ptr = &terrains_info[oc_ptr->feat];
+ auto &rfu = RedrawingFlagsUpdater::get_instance();
if (!(mpe_mode & MPE_STAYING)) {
MONSTER_IDX om_idx = oc_ptr->m_idx;
MONSTER_IDX nm_idx = g_ptr->m_idx;
verify_panel(player_ptr);
if (mpe_mode & MPE_FORGET_FLOW) {
forget_flow(floor_ptr);
- player_ptr->update |= PU_UN_VIEW;
+ rfu.set_flag(StatusRedrawingFlag::UN_VIEW);
player_ptr->redraw |= PR_MAP;
}
- player_ptr->update |= PU_VIEW | PU_LITE | PU_FLOW | PU_MONSTER_LITE | PU_DISTANCE;
+ const auto flags_srf = {
+ StatusRedrawingFlag::VIEW,
+ StatusRedrawingFlag::LITE,
+ StatusRedrawingFlag::FLOW,
+ StatusRedrawingFlag::MONSTER_LITE,
+ StatusRedrawingFlag::DISTANCE,
+ };
+ rfu.set_flags(flags_srf);
player_ptr->window_flags |= PW_OVERHEAD | PW_DUNGEON;
if ((!player_ptr->effects()->blindness()->is_blind() && !no_lite(player_ptr)) || !is_trap(player_ptr, g_ptr->feat)) {
g_ptr->info &= ~(CAVE_UNSAFE);
if (PlayerRace(player_ptr).equals(PlayerRaceType::MERFOLK)) {
if (f_ptr->flags.has(Tc::WATER) ^ of_ptr->flags.has(Tc::WATER)) {
- player_ptr->update |= PU_BONUS;
+ rfu.set_flag(StatusRedrawingFlag::BONUS);
update_creature(player_ptr);
}
}