#include "window/main-window-util.h"
#include "world/world-turn-processor.h"
#include "world/world.h"
+#include <target\target-types.h>
/*!
* todo ここにplayer_type を追加するとz-termに影響が行くので保留
{
if (!player_ptr->window)
return;
-
- if (!need_term_fresh(player_ptr))
- return;
-
+
BIT_FLAGS mask = 0L;
for (int j = 0; j < 8; j++) {
if (angband_term[j])
if (!player_ptr->window)
return;
- if (player_ptr->window & (PW_INVEN)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_INVEN)) {
player_ptr->window &= ~(PW_INVEN);
fix_inventory(player_ptr, 0); // TODO:2.2.2 まともなtval参照手段を確保
}
- if (player_ptr->window & (PW_EQUIP)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_EQUIP)) {
player_ptr->window &= ~(PW_EQUIP);
fix_equip(player_ptr, 0); // TODO:2.2.2 まともなtval参照手段を確保
}
- if (player_ptr->window & (PW_SPELL)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_SPELL)) {
player_ptr->window &= ~(PW_SPELL);
fix_spell(player_ptr);
}
- if (player_ptr->window & (PW_PLAYER)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_PLAYER)) {
player_ptr->window &= ~(PW_PLAYER);
fix_player(player_ptr);
}
if (player_ptr->window & (PW_MONSTER_LIST)) {
- player_ptr->window &= ~(PW_MONSTER_LIST);
- fix_monster_list(player_ptr);
+ if (need_term_fresh)
+ player_ptr->window &= ~(PW_MONSTER_LIST);
+ fix_monster_list(player_ptr); //need this side-effect for work targetting collect
}
- if (player_ptr->window & (PW_MESSAGE)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_MESSAGE)) {
player_ptr->window &= ~(PW_MESSAGE);
fix_message();
}
- if (player_ptr->window & (PW_OVERHEAD)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_OVERHEAD)) {
player_ptr->window &= ~(PW_OVERHEAD);
fix_overhead(player_ptr);
}
- if (player_ptr->window & (PW_DUNGEON)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_DUNGEON)) {
player_ptr->window &= ~(PW_DUNGEON);
fix_dungeon(player_ptr);
}
- if (player_ptr->window & (PW_MONSTER)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_MONSTER)) {
player_ptr->window &= ~(PW_MONSTER);
fix_monster(player_ptr);
}
- if (player_ptr->window & (PW_OBJECT)) {
+ if (need_term_fresh(player_ptr) && player_ptr->window & (PW_OBJECT)) {
player_ptr->window &= ~(PW_OBJECT);
fix_object(player_ptr);
}